From d5aceb6d95779b19d13eef9f2427c79233166a63 Mon Sep 17 00:00:00 2001 From: CasperW Date: Tue, 24 Nov 2009 23:33:12 +0100 Subject: Append a prefix to the god avatar names appearing in chat whilst in god mode (disabled by default, config entry admin_prefix) --- bin/OpenSim.ini.example | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 116a8fd..f9d9ca6 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -454,6 +454,9 @@ ; Distance in meters that shouts should travel. Default is 100m shout_distance = 100 + + ; Append a prefix to the god avatar names appearing in chat whilst in god mode + ; admin_prefix = "@" [Messaging] -- cgit v1.1 From d092977f4a933baa990cb239d91c1bec860698e9 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Dec 2009 01:53:41 +0100 Subject: Windlight configuration option in ini, and migration --- bin/OpenSim.ini.example | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 62aceb1..b7f7c3c 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -825,6 +825,12 @@ ; default is 1000 cloud_update_rate = 1000 +[Meta7Windlight] + + ; This enables the transmission of Windlight scenes to supporting clients, such as the Meta7 viewer. + ; It has no ill effect on viewers which do not support server-side windlight settings. + ; Currently we only have support for MySQL databases. + enable_windlight = false; [Trees] ; Enable this to allow the tree module to manage your sim trees, including growing, reproducing and dying -- cgit v1.1 From a6a6bf007a2fb0e33daefc0ea7c4ad968a85d08e Mon Sep 17 00:00:00 2001 From: CasperW Date: Wed, 9 Dec 2009 22:57:35 +0100 Subject: Move osFunctions into a new Careminster script interface --- bin/OpenSim.ini.example | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index b7f7c3c..04cf8e8 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -980,6 +980,9 @@ ; Allow the use of os* functions (some are dangerous) AllowOSFunctions = false + + ; Allow the user of Careminster functions + AllowCareminsterFunctions = false ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe OSFunctionThreatLevel = VeryLow -- cgit v1.1 From 24056dc98ba94b32ac98cc0a3b1b85d5f8ef3de6 Mon Sep 17 00:00:00 2001 From: Careminster Staff Date: Mon, 18 Jan 2010 16:23:13 -0600 Subject: Adds example to OpenSim.ini.example for Admin Default Parcel settings --- bin/OpenSim.ini.example | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index c96e938..23004a4 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1351,6 +1351,9 @@ ; For example- http://127.0.0.1:9000/SStats/ ; enabled=false +[LandManagement] +; DefaultAdministratorGroupUUID = ""; +; DefaultAdministratorParcelName = ""; ;; ;; These are defaults that are overwritten below in [Architecture]. -- cgit v1.1 From 5caae0293ab0f69cced21923c36db230698c7970 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 3 Mar 2010 22:14:06 +0000 Subject: Fix bug where approximately half the time, attachments would rez only their root prim until right clicked (or otherwise updated). The root cause of this problem was that multiple ObjectUpdates were being sent on attachment which differed enough to confuse the client. Sometimes these would eliminate each other and sometimes not, depending on whether the scheduler looked at the queued updates. The solution here is to only schedule the ObjectUpdate once the attachment code has done all it needs to do. Backport from head. --- bin/OpenSim.exe.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.exe.config b/bin/OpenSim.exe.config index 3c7adf5..4e7ef51 100755 --- a/bin/OpenSim.exe.config +++ b/bin/OpenSim.exe.config @@ -12,7 +12,7 @@ - + -- cgit v1.1 From 4423630f1e77d7bb5a2b01f7ba9ed539d0825de8 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 9 Mar 2010 18:56:32 +0000 Subject: remove milliseconds from console log again --- bin/OpenSim.exe.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.exe.config b/bin/OpenSim.exe.config index 4e7ef51..3c7adf5 100755 --- a/bin/OpenSim.exe.config +++ b/bin/OpenSim.exe.config @@ -12,7 +12,7 @@ - + -- cgit v1.1 From 7d917e7c5c599549d2a87451fe3d6ca2bf6e62a4 Mon Sep 17 00:00:00 2001 From: Melanie Date: Tue, 30 Mar 2010 23:29:03 +0100 Subject: Rename Meta7Windlight to LightShare --- bin/OpenSim.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index d660f36..9b0c09b 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -771,7 +771,7 @@ ; default is 1000 cloud_update_rate = 1000 -[Meta7Windlight] +[LightShare] ; This enables the transmission of Windlight scenes to supporting clients, such as the Meta7 viewer. ; It has no ill effect on viewers which do not support server-side windlight settings. -- cgit v1.1 From b7457a0a5d70667d741c03483ef00955f604c16f Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Sun, 18 Apr 2010 19:16:41 +0100 Subject: Update OpenMetaverse libraries to those used in master as of commit 9a781e7 This removes Mono.Security.dll which might help with Mono 2.6.3 compatability issues (notwithstanding the sqlite problem) --- bin/Mono.Security.dll | Bin 289792 -> 0 bytes bin/OpenMetaverse.Http.dll | Bin 36864 -> 0 bytes bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 102400 bytes bin/OpenMetaverse.dll | Bin 1650688 -> 1691648 bytes bin/OpenMetaverseTypes.dll | Bin 102400 -> 106496 bytes 5 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bin/Mono.Security.dll delete mode 100644 bin/OpenMetaverse.Http.dll (limited to 'bin') diff --git a/bin/Mono.Security.dll b/bin/Mono.Security.dll deleted file mode 100644 index c027c19..0000000 Binary files a/bin/Mono.Security.dll and /dev/null differ diff --git a/bin/OpenMetaverse.Http.dll b/bin/OpenMetaverse.Http.dll deleted file mode 100644 index dbbe4d3..0000000 Binary files a/bin/OpenMetaverse.Http.dll and /dev/null differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index f3244f6..f4992a2 100644 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index edbf3ce..8751bfc 100644 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 95d6021..6c6440e 100644 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 8a69070b513f821bf295c32ad771d5f5009bec61 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 8 Apr 2010 16:14:02 -0700 Subject: back port groups changes --- bin/OpenSim.ini.example | 14 +++++++++++--- bin/config-include/GridCommon.ini.example | 6 ++++++ 2 files changed, 17 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 5214718..4a8629f 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1302,10 +1302,18 @@ ;MessagingModule = GroupsMessagingModule ;MessagingEnabled = true - ; Service connector to Groups Service [Select One] - ; XmlRpc Service Connector to the Flotsam XmlRpc Groups Service Implementation + ; Service connector to Groups Service [Select One] ServicesConnectorModule + + + ; Simian Grid Service for Groups + ;ServicesConnectorModule = SimianGroupsServicesConnector + ;GroupsServerURI = http://mygridserver.com:82/Grid/ + + ; XmlRpc Service Connector to the Flotsam XmlRpc Groups Service settings ;ServicesConnectorModule = XmlRpcGroupsServicesConnector - ;XmlRpcServiceURL = http://yourxmlrpcserver.com/xmlrpc.php + ;GroupsServerURI = http://yourxmlrpcserver.com/xmlrpc.php + + ; XmlRpc Service Settings ;XmlRpcServiceReadKey = 1234 ;XmlRpcServiceWriteKey = 1234 diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index 6da0f1e..8fc2425 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -20,6 +20,12 @@ ; change this to your grid-wide grid server ; GridServerURI = "http://mygridserver.com:8003" +[Groups] + ; + ; change this to your grid-wide groups server + ; + GroupsServerURI = "http://mygridserver.com:82/Grid/" + [Modules] ;; Choose 0 or 1 cache modules, and the corresponding config file, if it exists. -- cgit v1.1 From 91cfce3758a7021f483bb653371693cc3d64580a Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 8 Apr 2010 16:14:02 -0700 Subject: back port groups changes Signed-off-by: Melanie --- bin/OpenSim.ini.example | 5 ----- 1 file changed, 5 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 4a8629f..0df122d 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1304,11 +1304,6 @@ ; Service connector to Groups Service [Select One] ServicesConnectorModule - - ; Simian Grid Service for Groups - ;ServicesConnectorModule = SimianGroupsServicesConnector - ;GroupsServerURI = http://mygridserver.com:82/Grid/ - ; XmlRpc Service Connector to the Flotsam XmlRpc Groups Service settings ;ServicesConnectorModule = XmlRpcGroupsServicesConnector ;GroupsServerURI = http://yourxmlrpcserver.com/xmlrpc.php -- cgit v1.1 From 65775b87e5000a07634240ab8ce39aaecd30d1e6 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Wed, 5 May 2010 23:06:36 +0200 Subject: Add a XMLRPC method to remotely set the login level for the LLLoginService. This requires a special XMLRPC call, which has to supply the credentials of a god user (User level >= 200). Disabled by default. Also Adds a configuration option to set the initial permitted login level. --- bin/Robust.ini.example | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index cfc08bc..2679523 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -126,6 +126,7 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003 FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" WelcomeMessage = "Welcome, Avatar!" + AllowRemoteSetLoginLevel = "false"; [GridInfoService] -- cgit v1.1 From 55f124745ffe743a2d93c2ef93cb5c2f4fe06178 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Tue, 18 May 2010 19:25:40 +0200 Subject: Allow remote admin to be used on a different port from the main region port --- bin/OpenSim.ini.example | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 6d5ee14..f318a2d 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -594,6 +594,10 @@ [RemoteAdmin] enabled = false + + ; Set this to a nonzero value to have remote admin use a different port + port = 0 + access_password = unknown ; set this variable to true if you want the create_region XmlRpc -- cgit v1.1 From 9e3b5a558718bc7a0b919fa083811f6a02322409 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Wed, 26 May 2010 19:29:56 +0200 Subject: Remove orphaned .dll.config files from tests --- ...enSim.Framework.Communications.Tests.dll.config | 33 ---------------------- bin/OpenSim.Framework.Servers.Tests.dll.config | 33 ---------------------- bin/OpenSim.Framework.Tests.dll.config | 33 ---------------------- bin/OpenSim.Region.CoreModules.Tests.dll.config | 33 ---------------------- bin/OpenSim.Region.Framework.Tests.dll.config | 33 ---------------------- bin/OpenSim.Region.ScriptEngine.Tests.dll.config | 33 ---------------------- 6 files changed, 198 deletions(-) delete mode 100644 bin/OpenSim.Framework.Communications.Tests.dll.config delete mode 100644 bin/OpenSim.Framework.Servers.Tests.dll.config delete mode 100644 bin/OpenSim.Framework.Tests.dll.config delete mode 100644 bin/OpenSim.Region.CoreModules.Tests.dll.config delete mode 100644 bin/OpenSim.Region.Framework.Tests.dll.config delete mode 100644 bin/OpenSim.Region.ScriptEngine.Tests.dll.config (limited to 'bin') diff --git a/bin/OpenSim.Framework.Communications.Tests.dll.config b/bin/OpenSim.Framework.Communications.Tests.dll.config deleted file mode 100644 index a3f681d..0000000 --- a/bin/OpenSim.Framework.Communications.Tests.dll.config +++ /dev/null @@ -1,33 +0,0 @@ - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/OpenSim.Framework.Servers.Tests.dll.config b/bin/OpenSim.Framework.Servers.Tests.dll.config deleted file mode 100644 index a3f681d..0000000 --- a/bin/OpenSim.Framework.Servers.Tests.dll.config +++ /dev/null @@ -1,33 +0,0 @@ - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/OpenSim.Framework.Tests.dll.config b/bin/OpenSim.Framework.Tests.dll.config deleted file mode 100644 index a3f681d..0000000 --- a/bin/OpenSim.Framework.Tests.dll.config +++ /dev/null @@ -1,33 +0,0 @@ - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/OpenSim.Region.CoreModules.Tests.dll.config b/bin/OpenSim.Region.CoreModules.Tests.dll.config deleted file mode 100644 index a3f681d..0000000 --- a/bin/OpenSim.Region.CoreModules.Tests.dll.config +++ /dev/null @@ -1,33 +0,0 @@ - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/OpenSim.Region.Framework.Tests.dll.config b/bin/OpenSim.Region.Framework.Tests.dll.config deleted file mode 100644 index a3f681d..0000000 --- a/bin/OpenSim.Region.Framework.Tests.dll.config +++ /dev/null @@ -1,33 +0,0 @@ - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/OpenSim.Region.ScriptEngine.Tests.dll.config b/bin/OpenSim.Region.ScriptEngine.Tests.dll.config deleted file mode 100644 index a3f681d..0000000 --- a/bin/OpenSim.Region.ScriptEngine.Tests.dll.config +++ /dev/null @@ -1,33 +0,0 @@ - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- cgit v1.1 From 890f3cc54cc57883a110b372530bf2a7d5b37fff Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Sun, 30 May 2010 15:46:54 +0200 Subject: Changes osFunction permissions again. Allow_ with a list of UUIDs now again refers to prim OWNERS. A new option set, Creators_, is added to allow selection by script creator. For existing installs, this means no functional change. The warning from my prior commit doesn't apply anymore. --- bin/OpenSim.ini.example | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index e67c8bd..0142a0d 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -985,6 +985,12 @@ ; Comma separated list of UUIDS allows the function for that list of UUIDS ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb + ; You can also use script creators as the uuid + ; Creators_osSetRegionWaterHeight = , ... + + ; If both Allow_ and Creators_ are given, effective permissions + ; are the union of the two. + ; Allow for llCreateLink and llBreakLink to work without asking for permission ; only enable this in a trusted environment otherwise you may be subject to hijacking ; AutomaticLinkPermission = false -- cgit v1.1 From 8a084cb7e1998250c45781ed0cf04ca106ed0ada Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 11 Jun 2010 17:52:29 +0100 Subject: Remove a company name referecne from the example --- bin/OpenSim.ini.example | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 36937e4..a6ba72b 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -939,8 +939,8 @@ ; Allow the use of os* functions (some are dangerous) AllowOSFunctions = false - ; Allow the user of Careminster functions - AllowCareminsterFunctions = false + ; Allow the user of LightShare functions + AllowLightShareFunctions = false ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe OSFunctionThreatLevel = VeryLow -- cgit v1.1 From 94ece2789d87d0c836bdaaddb825020968f737e6 Mon Sep 17 00:00:00 2001 From: Tom Grimshaw Date: Fri, 25 Jun 2010 12:21:24 -0700 Subject: Add some libraries for XGitminster --- bin/DiffieHellman.dll | Bin 0 -> 53248 bytes bin/GitSharp.Core.dll | Bin 0 -> 558080 bytes bin/GitSharp.Core.pdb | Bin 0 -> 1906176 bytes bin/GitSharp.dll | Bin 0 -> 219648 bytes bin/GitSharp.pdb | Bin 0 -> 347648 bytes bin/ICSharpCode.SharpZipLib.dll | Bin 0 -> 188416 bytes bin/ICSharpCode.SharpZipLib.xml | 9055 +++++++++++++++++++++++++++++++++++++++ bin/Org.Mentalis.Security.dll | Bin 0 -> 184320 bytes bin/Tamir.SharpSSH.dll | Bin 0 -> 212992 bytes bin/Winterdom.IO.FileMap.dll | Bin 0 -> 9728 bytes bin/Winterdom.IO.FileMap.pdb | Bin 0 -> 24064 bytes 11 files changed, 9055 insertions(+) create mode 100644 bin/DiffieHellman.dll create mode 100644 bin/GitSharp.Core.dll create mode 100644 bin/GitSharp.Core.pdb create mode 100644 bin/GitSharp.dll create mode 100644 bin/GitSharp.pdb create mode 100644 bin/ICSharpCode.SharpZipLib.dll create mode 100644 bin/ICSharpCode.SharpZipLib.xml create mode 100644 bin/Org.Mentalis.Security.dll create mode 100644 bin/Tamir.SharpSSH.dll create mode 100644 bin/Winterdom.IO.FileMap.dll create mode 100644 bin/Winterdom.IO.FileMap.pdb (limited to 'bin') diff --git a/bin/DiffieHellman.dll b/bin/DiffieHellman.dll new file mode 100644 index 0000000..aa31051 Binary files /dev/null and b/bin/DiffieHellman.dll differ diff --git a/bin/GitSharp.Core.dll b/bin/GitSharp.Core.dll new file mode 100644 index 0000000..5aad773 Binary files /dev/null and b/bin/GitSharp.Core.dll differ diff --git a/bin/GitSharp.Core.pdb b/bin/GitSharp.Core.pdb new file mode 100644 index 0000000..32ad5bb Binary files /dev/null and b/bin/GitSharp.Core.pdb differ diff --git a/bin/GitSharp.dll b/bin/GitSharp.dll new file mode 100644 index 0000000..99a91a7 Binary files /dev/null and b/bin/GitSharp.dll differ diff --git a/bin/GitSharp.pdb b/bin/GitSharp.pdb new file mode 100644 index 0000000..4c65b1f Binary files /dev/null and b/bin/GitSharp.pdb differ diff --git a/bin/ICSharpCode.SharpZipLib.dll b/bin/ICSharpCode.SharpZipLib.dll new file mode 100644 index 0000000..e565e3a Binary files /dev/null and b/bin/ICSharpCode.SharpZipLib.dll differ diff --git a/bin/ICSharpCode.SharpZipLib.xml b/bin/ICSharpCode.SharpZipLib.xml new file mode 100644 index 0000000..98cb51e --- /dev/null +++ b/bin/ICSharpCode.SharpZipLib.xml @@ -0,0 +1,9055 @@ + + + + ICSharpCode.SharpZipLib + + + + + FastZipEvents supports all events applicable to FastZip operations. + + + + + Delegate to invoke when processing directories. + + + + + Delegate to invoke when processing files. + + + + + Delegate to invoke during processing of files. + + + + + Delegate to invoke when processing for a file has been completed. + + + + + Delegate to invoke when processing directory failures. + + + + + Delegate to invoke when processing file failures. + + + + + Raise the directory failure event. + + The directory causing the failure. + The exception for this event. + A boolean indicating if execution should continue or not. + + + + Raises the file failure delegate. + + The file causing the failure. + The exception for this failure. + A boolean indicating if execution should continue or not. + + + + Fires the Process File delegate. + + The file being processed. + A boolean indicating if execution should continue or not. + + + + Fires the CompletedFile delegate + + The file whose processing has been completed. + A boolean indicating if execution should continue or not. + + + + Fires the process directory delegate. + + The directory being processed. + Flag indicating if the directory has matching files as determined by the current filter. + A of true if the operation should continue; false otherwise. + + + + The minimum timespan between events. + + The minimum period of time between events. + + + + + FastZip provides facilities for creating and extracting zip files. + + + + + Initialise a default instance of . + + + + + Initialise a new instance of + + The events to use during operations. + + + + Create a zip file. + + The name of the zip file to create. + The directory to source files from. + True to recurse directories, false for no recursion. + The file filter to apply. + The directory filter to apply. + + + + Create a zip file/archive. + + The name of the zip file to create. + The directory to obtain files and directories from. + True to recurse directories, false for no recursion. + The file filter to apply. + + + + Create a zip archive sending output to the passed. + + The stream to write archive data to. + The directory to source files from. + True to recurse directories, false for no recursion. + The file filter to apply. + The directory filter to apply. + + + + Extract the contents of a zip file. + + The zip file to extract from. + The directory to save extracted information in. + A filter to apply to files. + + + + Extract the contents of a zip file. + + The zip file to extract from. + The directory to save extracted information in. + The style of overwriting to apply. + A delegate to invoke when confirming overwriting. + A filter to apply to files. + A filter to apply to directories. + Flag indicating wether to restore the date and time for extracted files. + + + + Get/set a value indicating wether empty directories should be created. + + + + + Get / set the password value. + + + + + Get or set the active when creating Zip files. + + + + + + Get or set the active when creating Zip files. + + + + + Get/set a value indicating wether file dates and times should + be restored when extracting files from an archive. + + The default value is false. + + + + Get/set a value indicating wether file attributes should + be restored during extract operations + + + + + Defines the desired handling when overwriting files during extraction. + + + + + Prompt the user to confirm overwriting + + + + + Never overwrite files. + + + + + Always overwrite files. + + + + + Delegate called when confirming overwriting of files. + + + + + NameFilter is a string matching class which allows for both positive and negative + matching. + A filter is a sequence of independant regular expressions separated by semi-colons ';' + Each expression can be prefixed by a plus '+' sign or a minus '-' sign to denote the expression + is intended to include or exclude names. If neither a plus or minus sign is found include is the default + A given name is tested for inclusion before checking exclusions. Only names matching an include spec + and not matching an exclude spec are deemed to match the filter. + An empty filter matches any name. + + The following expression includes all name ending in '.dat' with the exception of 'dummy.dat' + "+\.dat$;-^dummy\.dat$" + + + + + Scanning filters support filtering of names. + + + + + Test a name to see if it 'matches' the filter. + + The name to test. + Returns true if the name matches the filter, false if it does not match. + + + + Construct an instance based on the filter expression passed + + The filter expression. + + + + Test a string to see if it is a valid regular expression. + + The expression to test. + True if expression is a valid false otherwise. + + + + Test an expression to see if it is valid as a filter. + + The filter expression to test. + True if the expression is valid, false otherwise. + + + + Convert this filter to its string equivalent. + + The string equivalent for this filter. + + + + Test a value to see if it is included by the filter. + + The value to test. + True if the value is included, false otherwise. + + + + Test a value to see if it is excluded by the filter. + + The value to test. + True if the value is excluded, false otherwise. + + + + Test a value to see if it matches the filter. + + The value to test. + True if the value matches, false otherwise. + + + + Compile this filter. + + + + + Huffman tree used for inflation + + + + + Literal length tree + + + + + Distance tree + + + + + Constructs a Huffman tree from the array of code lengths. + + + the array of code lengths + + + + + Reads the next symbol from input. The symbol is encoded using the + huffman tree. + + + input the input source. + + + the next symbol, or -1 if not enough input is available. + + + + + This class is general purpose class for writing data to a buffer. + + It allows you to write bits as well as bytes + Based on DeflaterPending.java + + author of the original java version : Jochen Hoenicke + + + + + Internal work buffer + + + + + construct instance using default buffer size of 4096 + + + + + construct instance using specified buffer size + + + size to use for internal buffer + + + + + Clear internal state/buffers + + + + + Write a byte to buffer + + + The value to write + + + + + Write a short value to buffer LSB first + + + The value to write. + + + + + write an integer LSB first + + The value to write. + + + + Write a block of data to buffer + + data to write + offset of first byte to write + number of bytes to write + + + + Align internal buffer on a byte boundary + + + + + Write bits to internal buffer + + source of bits + number of bits to write + + + + Write a short value to internal buffer most significant byte first + + value to write + + + + Flushes the pending buffer into the given output array. If the + output array is to small, only a partial flush is done. + + The output array. + The offset into output array. + The maximum number of bytes to store. + The number of bytes flushed. + + + + Convert internal buffer to byte array. + Buffer is empty on completion + + + The internal buffer contents converted to a byte array. + + + + + The number of bits written to the buffer + + + + + Indicates if buffer has been flushed + + + + + Used to advise clients of 'events' while processing archives + + + + + The TarArchive class implements the concept of a + 'Tape Archive'. A tar archive is a series of entries, each of + which represents a file system object. Each entry in + the archive consists of a header block followed by 0 or more data blocks. + Directory entries consist only of the header block, and are followed by entries + for the directory's contents. File entries consist of a + header followed by the number of blocks needed to + contain the file's contents. All entries are written on + block boundaries. Blocks are 512 bytes long. + + TarArchives are instantiated in either read or write mode, + based upon whether they are instantiated with an InputStream + or an OutputStream. Once instantiated TarArchives read/write + mode can not be changed. + + There is currently no support for random access to tar archives. + However, it seems that subclassing TarArchive, and using the + TarBuffer.CurrentRecord and TarBuffer.CurrentBlock + properties, this would be rather trivial. + + + + + Raises the ProgressMessage event + + The TarEntry for this event + message for this event. Null is no message + + + + Constructor for a default . + + + + + Initalise a TarArchive for input. + + The to use for input. + + + + Initialise a TarArchive for output. + + The to use for output. + + + + The InputStream based constructors create a TarArchive for the + purposes of extracting or listing a tar archive. Thus, use + these constructors when you wish to extract files from or list + the contents of an existing tar archive. + + The stream to retrieve archive data from. + Returns a new suitable for reading from. + + + + Create TarArchive for reading setting block factor + + Stream for tar archive contents + The blocking factor to apply + Returns a suitable for reading. + + + + Create a TarArchive for writing to, using the default blocking factor + + The to write to + Returns a suitable for writing. + + + + Create a TarArchive for writing to + + The stream to write to + The blocking factor to use for buffering. + Returns a suitable for writing. + + + + Set the flag that determines whether existing files are + kept, or overwritten during extraction. + + + If true, do not overwrite existing files. + + + + + Set the ascii file translation flag. + + + If true, translate ascii text files. + + + + + Set user and group information that will be used to fill in the + tar archive's entry headers. This information based on that available + for the linux operating system, which is not always available on other + operating systems. TarArchive allows the programmer to specify values + to be used in their place. + is set to true by this call. + + + The user id to use in the headers. + + + The user name to use in the headers. + + + The group id to use in the headers. + + + The group name to use in the headers. + + + + + Close the archive. + + + + + Perform the "list" command for the archive contents. + + NOTE That this method uses the progress event to actually list + the contents. If the progress display event is not set, nothing will be listed! + + + + + Perform the "extract" command and extract the contents of the archive. + + + The destination directory into which to extract. + + + + + Extract an entry from the archive. This method assumes that the + tarIn stream has been properly set with a call to GetNextEntry(). + + + The destination directory into which to extract. + + + The TarEntry returned by tarIn.GetNextEntry(). + + + + + Write an entry to the archive. This method will call the putNextEntry + and then write the contents of the entry, and finally call closeEntry() + for entries that are files. For directories, it will call putNextEntry(), + and then, if the recurse flag is true, process each entry that is a + child of the directory. + + + The TarEntry representing the entry to write to the archive. + + + If true, process the children of directory entries. + + + + + Write an entry to the archive. This method will call the putNextEntry + and then write the contents of the entry, and finally call closeEntry() + for entries that are files. For directories, it will call putNextEntry(), + and then, if the recurse flag is true, process each entry that is a + child of the directory. + + + The TarEntry representing the entry to write to the archive. + + + If true, process the children of directory entries. + + + + + Releases the unmanaged resources used by the FileStream and optionally releases the managed resources. + + true to release both managed and unmanaged resources; + false to release only unmanaged resources. + + + + Closes the archive and releases any associated resources. + + + + + Ensures that resources are freed and other cleanup operations are performed + when the garbage collector reclaims the . + + + + + Client hook allowing detailed information to be reported during processing + + + + + Get/set the ascii file translation flag. If ascii file translation + is true, then the file is checked to see if it a binary file or not. + If the flag is true and the test indicates it is ascii text + file, it will be translated. The translation converts the local + operating system's concept of line ends into the UNIX line end, + '\n', which is the defacto standard for a TAR archive. This makes + text files compatible with UNIX. + + + + + PathPrefix is added to entry names as they are written if the value is not null. + A slash character is appended after PathPrefix + + + + + RootPath is removed from entry names if it is found at the + beginning of the name. + + + + + Get or set a value indicating if overrides defined by SetUserInfo should be applied. + + If overrides are not applied then the values as set in each header will be used. + + + + Get the archive user id. + See ApplyUserInfoOverrides for detail + on how to allow setting values on a per entry basis. + + + The current user id. + + + + + Get the archive user name. + See ApplyUserInfoOverrides for detail + on how to allow setting values on a per entry basis. + + + The current user name. + + + + + Get the archive group id. + See ApplyUserInfoOverrides for detail + on how to allow setting values on a per entry basis. + + + The current group id. + + + + + Get the archive group name. + See ApplyUserInfoOverrides for detail + on how to allow setting values on a per entry basis. + + + The current group name. + + + + + Get the archive's record size. Tar archives are composed of + a series of RECORDS each containing a number of BLOCKS. + This allowed tar archives to match the IO characteristics of + the physical device being used. Archives are expected + to be properly "blocked". + + + The record size this archive is using. + + + + + An output stream that compresses into the BZip2 format + including file header chars into another stream. + + + + + Construct a default output stream with maximum block size + + The stream to write BZip data onto. + + + + Initialise a new instance of the + for the specified stream, using the given blocksize. + + The stream to write compressed data to. + The block size to use. + + Valid block sizes are in the range 1..9, with 1 giving + the lowest compression and 9 the highest. + + + + + Ensures that resources are freed and other cleanup operations + are performed when the garbage collector reclaims the BZip2OutputStream. + + + + + Sets the current position of this stream to the given value. + + The point relative to the offset from which to being seeking. + The reference point from which to begin seeking. + The new position in the stream. + + + + Sets the length of this stream to the given value. + + The new stream length. + + + + Read a byte from the stream advancing the position. + + The byte read cast to an int; -1 if end of stream. + + + + Read a block of bytes + + The buffer to read into. + The offset in the buffer to start storing data at. + The maximum number of bytes to read. + The total number of bytes read. This might be less than the number of bytes + requested if that number of bytes are not currently available, or zero + if the end of the stream is reached. + + + + Write a block of bytes to the stream + + The buffer containing data to write. + The offset of the first byte to write. + The number of bytes to write. + + + + Write a byte to the stream. + + The byte to write to the stream. + + + + End the current block and end compression. + Close the stream and free any resources + + + + + Get the number of bytes written to output. + + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Flush output buffers + + + + + Get/set flag indicating ownership of underlying stream. + When the flag is true will close the underlying stream also. + + + + + Gets a value indicating whether the current stream supports reading + + + + + Gets a value indicating whether the current stream supports seeking + + + + + Gets a value indicating whether the current stream supports writing + + + + + Gets the length in bytes of the stream + + + + + Gets or sets the current position of this stream. + + + + + Get the number of bytes written to the output. + + + + + Represents exception conditions specific to Zip archive handling + + + + + SharpZipBaseException is the base exception class for the SharpZipLibrary. + All library exceptions are derived from this. + + NOTE: Not all exceptions thrown will be derived from this class. + A variety of other exceptions are possible for example + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initializes a new instance of the SharpZipBaseException class. + + + + + Initializes a new instance of the SharpZipBaseException class with a specified error message. + + A message describing the exception. + + + + Initializes a new instance of the SharpZipBaseException class with a specified + error message and a reference to the inner exception that is the cause of this exception. + + A message describing the exception. + The inner exception + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initializes a new instance of the ZipException class. + + + + + Initializes a new instance of the ZipException class with a specified error message. + + The error message that explains the reason for the exception. + + + + Initialise a new instance of ZipException. + + A message describing the error. + The exception that is the cause of the current exception. + + + + A helper class to simplify compressing and decompressing streams. + + + + + Decompress input writing + decompressed data to the output stream + + The stream containing data to decompress. + The stream to write decompressed data to. + Both streams are closed on completion + + + + Compress input stream sending + result to output stream + + The stream to compress. + The stream to write compressed data to. + The block size to use. + Both streams are closed on completion + + + + Initialise a default instance of this class. + + + + + Determines how entries are tested to see if they should use Zip64 extensions or not. + + + + + Zip64 will not be forced on entries during processing. + + An entry can have this overridden if required + + + + Zip64 should always be used. + + + + + #ZipLib will determine use based on entry values when added to archive. + + + + + The kind of compression used for an entry in an archive + + + + + A direct copy of the file contents is held in the archive + + + + + Common Zip compression method using a sliding dictionary + of up to 32KB and secondary compression from Huffman/Shannon-Fano trees + + + + + An extension to deflate with a 64KB window. Not supported by #Zip currently + + + + + Not supported by #Zip currently + + + + + WinZip special for AES encryption, Not supported by #Zip + + + + + Identifies the encryption algorithm used for an entry + + + + + No encryption has been used. + + + + + Encrypted using PKZIP 2.0 or 'classic' encryption. + + + + + DES encryption has been used. + + + + + RCS encryption has been used for encryption. + + + + + Triple DES encryption with 168 bit keys has been used for this entry. + + + + + Triple DES with 112 bit keys has been used for this entry. + + + + + AES 128 has been used for encryption. + + + + + AES 192 has been used for encryption. + + + + + AES 256 has been used for encryption. + + + + + RC2 corrected has been used for encryption. + + + + + Blowfish has been used for encryption. + + + + + Twofish has been used for encryption. + + + + + RCS has been used for encryption. + + + + + An unknown algorithm has been used for encryption. + + + + + Defines the contents of the general bit flags field for an archive entry. + + + + + Bit 0 if set indicates that the file is encrypted + + + + + Bits 1 and 2 - Two bits defining the compression method (only for Method 6 Imploding and 8,9 Deflating) + + + + + Bit 3 if set indicates a trailing data desciptor is appended to the entry data + + + + + Bit 4 is reserved for use with method 8 for enhanced deflation + + + + + Bit 5 if set indicates the file contains Pkzip compressed patched data. + Requires version 2.7 or greater. + + + + + Bit 6 if set strong encryption has been used for this entry. + + + + + Bit 7 is currently unused + + + + + Bit 8 is currently unused + + + + + Bit 9 is currently unused + + + + + Bit 10 is currently unused + + + + + Bit 11 if set indicates the filename and + comment fields for this file must be encoded using UTF-8. + + + + + Bit 12 is documented as being reserved by PKware for enhanced compression. + + + + + Bit 13 if set indicates that values in the local header are masked to hide + their actual values, and the central directory is encrypted. + + + Used when encrypting the central directory contents. + + + + + Bit 14 is documented as being reserved for use by PKware + + + + + Bit 15 is documented as being reserved for use by PKware + + + + + This class contains constants used for Zip format files + + + + + The version made by field for entries in the central header when created by this library + + + This is also the Zip version for the library when comparing against the version required to extract + for an entry. See . + + + + + The version made by field for entries in the central header when created by this library + + + This is also the Zip version for the library when comparing against the version required to extract + for an entry. See ZipInputStream.CanDecompressEntry. + + + + + The minimum version required to support strong encryption + + + + + The minimum version required to support strong encryption + + + + + The version required for Zip64 extensions + + + + + Size of local entry header (excluding variable length fields at end) + + + + + Size of local entry header (excluding variable length fields at end) + + + + + Size of Zip64 data descriptor + + + + + Size of data descriptor + + + + + Size of data descriptor + + + + + Size of central header entry (excluding variable fields) + + + + + Size of central header entry + + + + + Size of end of central record (excluding variable fields) + + + + + Size of end of central record (excluding variable fields) + + + + + Size of 'classic' cryptographic header stored before any entry data + + + + + Size of cryptographic header stored before entry data + + + + + Signature for local entry header + + + + + Signature for local entry header + + + + + Signature for spanning entry + + + + + Signature for spanning entry + + + + + Signature for temporary spanning entry + + + + + Signature for temporary spanning entry + + + + + Signature for data descriptor + + + This is only used where the length, Crc, or compressed size isnt known when the + entry is created and the output stream doesnt support seeking. + The local entry cannot be 'patched' with the correct values in this case + so the values are recorded after the data prefixed by this header, as well as in the central directory. + + + + + Signature for data descriptor + + + This is only used where the length, Crc, or compressed size isnt known when the + entry is created and the output stream doesnt support seeking. + The local entry cannot be 'patched' with the correct values in this case + so the values are recorded after the data prefixed by this header, as well as in the central directory. + + + + + Signature for central header + + + + + Signature for central header + + + + + Signature for Zip64 central file header + + + + + Signature for Zip64 central file header + + + + + Signature for Zip64 central directory locator + + + + + Signature for archive extra data signature (were headers are encrypted). + + + + + Central header digitial signature + + + + + Central header digitial signature + + + + + End of central directory record signature + + + + + End of central directory record signature + + + + + Convert a portion of a byte array to a string. + + + Data to convert to string + + + Number of bytes to convert starting from index 0 + + + data[0]..data[length - 1] converted to a string + + + + + Convert a byte array to string + + + Byte array to convert + + + dataconverted to a string + + + + + Convert a byte array to string + + The applicable general purpose bits flags + + Byte array to convert + + The number of bytes to convert. + + dataconverted to a string + + + + + Convert a byte array to string + + + Byte array to convert + + The applicable general purpose bits flags + + dataconverted to a string + + + + + Convert a string to a byte array + + + String to convert to an array + + Converted array + + + + Convert a string to a byte array + + The applicable general purpose bits flags + + String to convert to an array + + Converted array + + + + Initialise default instance of ZipConstants + + + Private to prevent instances being created. + + + + + Default encoding used for string conversion. 0 gives the default system OEM code page. + Dont use unicode encodings if you want to be Zip compatible! + Using the default code page isnt the full solution neccessarily + there are many variable factors, codepage 850 is often a good choice for + European users, however be careful about compatability. + + + + + This is a DeflaterOutputStream that writes the files into a zip + archive one after another. It has a special method to start a new + zip entry. The zip entries contains information about the file name + size, compressed size, CRC, etc. + + It includes support for Stored and Deflated entries. + This class is not thread safe. +
+
Author of the original java version : Jochen Hoenicke +
+ This sample shows how to create a zip file + + using System; + using System.IO; + + using ICSharpCode.SharpZipLib.Core; + using ICSharpCode.SharpZipLib.Zip; + + class MainClass + { + public static void Main(string[] args) + { + string[] filenames = Directory.GetFiles(args[0]); + byte[] buffer = new byte[4096]; + + using ( ZipOutputStream s = new ZipOutputStream(File.Create(args[1])) ) { + + s.SetLevel(9); // 0 - store only to 9 - means best compression + + foreach (string file in filenames) { + ZipEntry entry = new ZipEntry(file); + s.PutNextEntry(entry); + + using (FileStream fs = File.OpenRead(file)) { + StreamUtils.Copy(fs, s, buffer); + } + } + } + } + } + + +
+ + + A special stream deflating or compressing the bytes that are + written to it. It uses a Deflater to perform actual deflating.
+ Authors of the original java version : Tom Tromey, Jochen Hoenicke +
+
+ + + Creates a new DeflaterOutputStream with a default Deflater and default buffer size. + + + the output stream where deflated output should be written. + + + + + Creates a new DeflaterOutputStream with the given Deflater and + default buffer size. + + + the output stream where deflated output should be written. + + + the underlying deflater. + + + + + Creates a new DeflaterOutputStream with the given Deflater and + buffer size. + + + The output stream where deflated output is written. + + + The underlying deflater to use + + + The buffer size to use when deflating + + + bufsize is less than or equal to zero. + + + baseOutputStream does not support writing + + + deflater instance is null + + + + + Finishes the stream by calling finish() on the deflater. + + + Not all input is deflated + + + + + Encrypt a block of data + + + Data to encrypt. NOTE the original contents of the buffer are lost + + + Offset of first byte in buffer to encrypt + + + Number of bytes in buffer to encrypt + + + + + Initializes encryption keys based on given password + + The password. + + + + Deflates everything in the input buffers. This will call + def.deflate() until all bytes from the input buffers + are processed. + + + + + Sets the current position of this stream to the given value. Not supported by this class! + + The offset relative to the to seek. + The to seek from. + The new position in the stream. + Any access + + + + Sets the length of this stream to the given value. Not supported by this class! + + The new stream length. + Any access + + + + Read a byte from stream advancing position by one + + The byte read cast to an int. THe value is -1 if at the end of the stream. + Any access + + + + Read a block of bytes from stream + + The buffer to store read data in. + The offset to start storing at. + The maximum number of bytes to read. + The actual number of bytes read. Zero if end of stream is detected. + Any access + + + + Asynchronous reads are not supported a NotSupportedException is always thrown + + The buffer to read into. + The offset to start storing data at. + The number of bytes to read + The async callback to use. + The state to use. + Returns an + Any access + + + + Asynchronous writes arent supported, a NotSupportedException is always thrown + + The buffer to write. + The offset to begin writing at. + The number of bytes to write. + The to use. + The state object. + Returns an IAsyncResult. + Any access + + + + Flushes the stream by calling Flush on the deflater and then + on the underlying stream. This ensures that all bytes are flushed. + + + + + Calls and closes the underlying + stream when is true. + + + + + Writes a single byte to the compressed output stream. + + + The byte value. + + + + + Writes bytes from an array to the compressed stream. + + + The byte array + + + The offset into the byte array where to start. + + + The number of bytes to write. + + + + + This buffer is used temporarily to retrieve the bytes from the + deflater and write them to the underlying output stream. + + + + + The deflater which is used to deflate the stream. + + + + + Base stream the deflater depends on. + + + + + Get/set flag indicating ownership of the underlying stream. + When the flag is true will close the underlying stream also. + + + + + Allows client to determine if an entry can be patched after its added + + + + + Get/set the password used for encryption. + + When set to null or if the password is empty no encryption is performed + + + + Gets value indicating stream can be read from + + + + + Gets a value indicating if seeking is supported for this stream + This property always returns false + + + + + Get value indicating if this stream supports writing + + + + + Get current length of stream + + + + + Gets the current position within the stream. + + Any attempt to set position + + + + Creates a new Zip output stream, writing a zip archive. + + + The output stream to which the archive contents are written. + + + + + Set the zip file comment. + + + The comment text for the entire archive. + + + The converted comment is longer than 0xffff bytes. + + + + + Sets the compression level. The new level will be activated + immediately. + + The new compression level (1 to 9). + + Level specified is not supported. + + + + + + Get the current deflater compression level + + The current compression level + + + + Write an unsigned short in little endian byte order. + + + + + Write an int in little endian byte order. + + + + + Write an int in little endian byte order. + + + + + Starts a new Zip entry. It automatically closes the previous + entry if present. + All entry elements bar name are optional, but must be correct if present. + If the compression method is stored and the output is not patchable + the compression for that entry is automatically changed to deflate level 0 + + + the entry. + + + if entry passed is null. + + + if an I/O error occured. + + + if stream was finished + + + Too many entries in the Zip file
+ Entry name is too long
+ Finish has already been called
+
+
+ + + Closes the current entry, updating header and footer information as required + + + An I/O error occurs. + + + No entry is active. + + + + + Writes the given buffer to the current entry. + + The buffer containing data to write. + The offset of the first byte to write. + The number of bytes to write. + Archive size is invalid + No entry is active. + + + + Finishes the stream. This will write the central directory at the + end of the zip file and flush the stream. + + + This is automatically called when the stream is closed. + + + An I/O error occurs. + + + Comment exceeds the maximum length
+ Entry name exceeds the maximum length +
+
+ + + The entries for the archive. + + + + + Used to track the crc of data added to entries. + + + + + The current entry being added. + + + + + Used to track the size of data for an entry during writing. + + + + + Offset to be recorded for each entry in the central header. + + + + + Comment for the entire archive recorded in central header. + + + + + Flag indicating that header patching is required for the current entry. + + + + + Position to patch crc + + + + + Position to patch size. + + + + + Gets a flag value of true if the central header has been added for this archive; false if it has not been added. + + No further entries can be added once this has been done. + + + + Get / set a value indicating how Zip64 Extension usage is determined when adding entries. + + Older archivers may not understand Zip64 extensions. + If backwards compatability is an issue be careful when adding entries to an archive. + Setting this property to off is workable but less desirable as in those circumstances adding a file + larger then 4GB will fail. + + + + INameTransform defines how file system names are transformed for use with archives. + + + + + Given a file name determine the transformed value. + + The name to transform. + The transformed file name. + + + + Given a directory name determine the transformed value. + + The name to transform. + The transformed directory name + + + + This class contains constants used for deflation. + + + + + Set to true to enable debugging + + + + + Written to Zip file to identify a stored block + + + + + Identifies static tree in Zip file + + + + + Identifies dynamic tree in Zip file + + + + + Header flag indicating a preset dictionary for deflation + + + + + Sets internal buffer sizes for Huffman encoding + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + This class stores the pending output of the Deflater. + + author of the original java version : Jochen Hoenicke + + + + + Construct instance with default buffer size + + + + + PathFilter filters directories and files using a form of regular expressions + by full path name. + See NameFilter for more detail on filtering. + + + + + Initialise a new instance of . + + The filter expression to apply. + + + + Test a name to see if it matches the filter. + + The name to test. + True if the name matches, false otherwise. + + + + ExtendedPathFilter filters based on name, file size, and the last write time of the file. + + Provides an example of how to customise filtering. + + + + Initialise a new instance of ExtendedPathFilter. + + The filter to apply. + The minimum file size to include. + The maximum file size to include. + + + + Initialise a new instance of ExtendedPathFilter. + + The filter to apply. + The minimum to include. + The maximum to include. + + + + Initialise a new instance of ExtendedPathFilter. + + The filter to apply. + The minimum file size to include. + The maximum file size to include. + The minimum to include. + The maximum to include. + + + + Test a filename to see if it matches the filter. + + The filename to test. + True if the filter matches, false otherwise. + + + + Get/set the minimum size for a file that will match this filter. + + + + + Get/set the maximum size for a file that will match this filter. + + + + + Get/set the minimum value that will match for this filter. + + Files with a LastWrite time less than this value are excluded by the filter. + + + + Get/set the maximum value that will match for this filter. + + Files with a LastWrite time greater than this value are excluded by the filter. + + + + NameAndSizeFilter filters based on name and file size. + + A sample showing how filters might be extended. + + + + Initialise a new instance of NameAndSizeFilter. + + The filter to apply. + The minimum file size to include. + The maximum file size to include. + + + + Test a filename to see if it matches the filter. + + The filename to test. + True if the filter matches, false otherwise. + + + + Get/set the minimum size for a file that will match this filter. + + + + + Get/set the maximum size for a file that will match this filter. + + + + + BZip2Exception represents exceptions specific to Bzip2 algorithm + + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initialise a new instance of BZip2Exception. + + + + + Initialise a new instance of BZip2Exception with its message set to message. + + The message describing the error. + + + + Initialise an instance of BZip2Exception + + A message describing the error. + The exception that is the cause of the current exception. + + + + GZipException represents a Gzip specific exception + + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initialise a new instance of GZipException + + + + + Initialise a new instance of GZipException with its message string. + + A that describes the error. + + + + Initialise a new instance of . + + A that describes the error. + The that caused this exception. + + + + Contains the output from the Inflation process. + We need to have a window so that we can refer backwards into the output stream + to repeat stuff.
+ Author of the original java version : John Leuner +
+
+ + + Write a byte to this output window + + value to write + + if window is full + + + + + Append a byte pattern already in the window itself + + length of pattern to copy + distance from end of window pattern occurs + + If the repeated data overflows the window + + + + + Copy from input manipulator to internal window + + source of data + length of data to copy + the number of bytes copied + + + + Copy dictionary to window + + source dictionary + offset of start in source dictionary + length of dictionary + + If window isnt empty + + + + + Get remaining unfilled space in window + + Number of bytes left in window + + + + Get bytes available for output in window + + Number of bytes filled + + + + Copy contents of window to output + + buffer to copy to + offset to start at + number of bytes to count + The number of bytes copied + + If a window underflow occurs + + + + + Reset by clearing window so GetAvailable returns 0 + + + + + Defines internal values for both compression and decompression + + + + + When multiplied by compression parameter (1-9) gives the block size for compression + 9 gives the best compresssion but uses the most memory. + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Random numbers used to randomise repetitive blocks + + + + + This filter stream is used to compress a stream into a "GZIP" stream. + The "GZIP" format is described in RFC 1952. + + author of the original java version : John Leuner + + This sample shows how to gzip a file + + using System; + using System.IO; + + using ICSharpCode.SharpZipLib.GZip; + using ICSharpCode.SharpZipLib.Core; + + class MainClass + { + public static void Main(string[] args) + { + using (Stream s = new GZipOutputStream(File.Create(args[0] + ".gz"))) + using (FileStream fs = File.OpenRead(args[0])) { + byte[] writeData = new byte[4096]; + Streamutils.Copy(s, fs, writeData); + } + } + } + } + + + + + + CRC-32 value for uncompressed data + + + + + Creates a GzipOutputStream with the default buffer size + + + The stream to read data (to be compressed) from + + + + + Creates a GZipOutputStream with the specified buffer size + + + The stream to read data (to be compressed) from + + + Size of the buffer to use + + + + + Sets the active compression level (1-9). The new level will be activated + immediately. + + The compression level to set. + + Level specified is not supported. + + + + + + Get the current compression level. + + The current compression level. + + + + Write given buffer to output updating crc + + Buffer to write + Offset of first byte in buf to write + Number of bytes to write + + + + Writes remaining compressed output data to the output stream + and closes it. + + + + + Finish compression and write any footer information required to stream + + + + + Arguments used with KeysRequiredEvent + + + + + Initialise a new instance of + + The name of the file for which keys are required. + + + + Initialise a new instance of + + The name of the file for which keys are required. + The current key value. + + + + Get the name of the file for which keys are required. + + + + + Get/set the key value + + + + + The strategy to apply to testing. + + + + + Find the first error only. + + + + + Find all possible errors. + + + + + The operation in progress reported by a during testing. + + TestArchive + + + + Setting up testing. + + + + + Testing an individual entries header + + + + + Testing an individual entries data + + + + + Testing an individual entry has completed. + + + + + Running miscellaneous tests + + + + + Testing is complete + + + + + Status returned returned by during testing. + + TestArchive + + + + Initialise a new instance of + + The this status applies to. + + + + Get the current in progress. + + + + + Get the this status is applicable to. + + + + + Get the current/last entry tested. + + + + + Get the number of errors detected so far. + + + + + Get the number of bytes tested so far for the current entry. + + + + + Get a value indicating wether the last entry test was valid. + + + + + Delegate invoked during testing if supplied indicating current progress and status. + + If the message is non-null an error has occured. If the message is null + the operation as found in status has started. + + + + The possible ways of applying updates to an archive. + + + + + Perform all updates on temporary files ensuring that the original file is saved. + + + + + Update the archive directly, which is faster but less safe. + + + + + This class represents a Zip archive. You can ask for the contained + entries, or get an input stream for a file entry. The entry is + automatically decompressed. + + You can also update the archive adding or deleting entries. + + This class is thread safe for input: You can open input streams for arbitrary + entries in different threads. +
+
Author of the original java version : Jochen Hoenicke +
+ + + using System; + using System.Text; + using System.Collections; + using System.IO; + + using ICSharpCode.SharpZipLib.Zip; + + class MainClass + { + static public void Main(string[] args) + { + using (ZipFile zFile = new ZipFile(args[0])) { + Console.WriteLine("Listing of : " + zFile.Name); + Console.WriteLine(""); + Console.WriteLine("Raw Size Size Date Time Name"); + Console.WriteLine("-------- -------- -------- ------ ---------"); + foreach (ZipEntry e in zFile) { + if ( e.IsFile ) { + DateTime d = e.DateTime; + Console.WriteLine("{0, -10}{1, -10}{2} {3} {4}", e.Size, e.CompressedSize, + d.ToString("dd-MM-yy"), d.ToString("HH:mm"), + e.Name); + } + } + } + } + } + + +
+ + + Event handler for handling encryption keys. + + + + + Handles getting of encryption keys when required. + + The file for which encryption keys are required. + + + + Opens a Zip file with the given name for reading. + + The name of the file to open. + + An i/o error occurs + + + The file doesn't contain a valid zip archive. + + + + + Opens a Zip file reading the given . + + The to read archive data from. + + An i/o error occurs. + + + The file doesn't contain a valid zip archive. + + + + + Opens a Zip file reading the given . + + The to read archive data from. + + An i/o error occurs + + + The file doesn't contain a valid zip archive.
+ The stream provided cannot seek +
+
+ + + Initialises a default instance with no entries and no file storage. + + + + + Finalize this instance. + + + + + Closes the ZipFile. If the stream is owned then this also closes the underlying input stream. + Once closed, no further instance methods should be called. + + + An i/o error occurs. + + + + + Create a new whose data will be stored in a file. + + The name of the archive to create. + Returns the newly created + + + + Create a new whose data will be stored on a stream. + + The stream providing data storage. + Returns the newly created + + + + Gets an enumerator for the Zip entries in this Zip file. + + Returns an for this archive. + + The Zip file has been closed. + + + + + Return the index of the entry with a matching name + + Entry name to find + If true the comparison is case insensitive + The index position of the matching entry or -1 if not found + + The Zip file has been closed. + + + + + Searches for a zip entry in this archive with the given name. + String comparisons are case insensitive + + + The name to find. May contain directory components separated by slashes ('/'). + + + A clone of the zip entry, or null if no entry with that name exists. + + + The Zip file has been closed. + + + + + Gets an input stream for reading the given zip entry data in an uncompressed form. + Normally the should be an entry returned by GetEntry(). + + The to obtain a data for + An input containing data for this + + The ZipFile has already been closed + + + The compression method for the entry is unknown + + + The entry is not found in the ZipFile + + + + + Creates an input stream reading a zip entry + + The index of the entry to obtain an input stream for. + + An input containing data for this + + + The ZipFile has already been closed + + + The compression method for the entry is unknown + + + The entry is not found in the ZipFile + + + + + Test an archive for integrity/validity + + Perform low level data Crc check + true if all tests pass, false otherwise + Testing will terminate on the first error found. + + + + Test an archive for integrity/validity + + Perform low level data Crc check + The to apply. + The handler to call during testing. + true if all tests pass, false otherwise + + + + Test a local header against that provided from the central directory + + + The entry to test against + + The type of tests to carry out. + The offset of the entries data in the file + + + + Begin updating this archive. + + The archive storage for use during the update. + The data source to utilise during updating. + + + + Begin updating to this archive. + + The storage to use during the update. + + + + Begin updating this archive. + + + + + + + + Commit current updates, updating this archive. + + + + + + + Abort updating leaving the archive unchanged. + + + + + + + Set the file comment to be recorded when the current update is commited. + + The comment to record. + + + + Add a new entry to the archive. + + The name of the file to add. + The compression method to use. + Ensure Unicode text is used for name and comment for this entry. + + + + Add a new entry to the archive. + + The name of the file to add. + The compression method to use. + + + + Add a file to the archive. + + The name of the file to add. + + + + Add a file entry with data. + + The source of the data for this entry. + The name to give to the entry. + + + + Add a file entry with data. + + The source of the data for this entry. + The name to give to the entry. + The compression method to use. + + + + Add a file entry with data. + + The source of the data for this entry. + The name to give to the entry. + The compression method to use. + Ensure Unicode text is used for name and comments for this entry. + + + + Add a that contains no data. + + The entry to add. + This can be used to add directories, volume labels, or empty file entries. + + + + Add a directory entry to the archive. + + The directory to add. + + + + Delete an entry by name + + The filename to delete + True if the entry was found and deleted; false otherwise. + + + + Delete a from the archive. + + The entry to delete. + + + + Write an unsigned short in little endian byte order. + + + + + Write an int in little endian byte order. + + + + + Write an unsigned int in little endian byte order. + + + + + Write a long in little endian byte order. + + + + + Get a raw memory buffer. + + Returns a raw memory buffer. + + + + Get the size of the source descriptor for a . + + The update to get the size for. + The descriptor size, zero if there isnt one. + + + + Get an output stream for the specified + + The entry to get an output stream for. + The output stream obtained for the entry. + + + + Releases the unmanaged resources used by the this instance and optionally releases the managed resources. + + true to release both managed and unmanaged resources; + false to release only unmanaged resources. + + + + Read an unsigned short in little endian byte order. + + Returns the value read. + + The stream ends prematurely + + + + + Read a uint in little endian byte order. + + Returns the value read. + + An i/o error occurs. + + + The file ends prematurely + + + + + Search for and read the central directory of a zip file filling the entries array. + + + An i/o error occurs. + + + The central directory is malformed or cannot be found + + + + + Locate the data for a given entry. + + + The start offset of the data. + + + The stream ends prematurely + + + The local header signature is invalid, the entry and central header file name lengths are different + or the local and entry compression methods dont match + + + + + Get/set the encryption key value. + + + + + Password to be used for encrypting/decrypting files. + + Set to null if no password is required. + + + + Get a value indicating wether encryption keys are currently available. + + + + + Get/set a flag indicating if the underlying stream is owned by the ZipFile instance. + If the flag is true then the stream will be closed when Close is called. + + + The default value is true in all cases. + + + + + Get a value indicating wether + this archive is embedded in another file or not. + + + + + Get a value indicating that this archive is a new one. + + + + + Gets the comment for the zip file. + + + + + Gets the name of this zip file. + + + + + Gets the number of entries in this zip file. + + + The Zip file has been closed. + + + + + Get the number of entries contained in this . + + + + + Indexer property for ZipEntries + + + + + Get / set the to apply to names when updating. + + + + + Get/set the used to generate values + during updates. + + + + + Get /set the buffer size to be used when updating this zip file. + + + + + Get a value indicating an update has been started. + + + + + Get / set a value indicating how Zip64 Extension usage is determined when adding entries. + + + + + Delegate for handling keys/password setting during compresion/decompression. + + + + + The kind of update to apply. + + + + + Class used to sort updates. + + + + + Compares two objects and returns a value indicating whether one is + less than, equal to or greater than the other. + + First object to compare + Second object to compare. + Compare result. + + + + Represents a pending update to a Zip file. + + + + + Copy an existing entry. + + The existing entry to copy. + + + + Get the for this update. + + This is the source or original entry. + + + + Get the that will be written to the updated/new file. + + + + + Get the command for this update. + + + + + Get the filename if any for this update. Null if none exists. + + + + + Get/set the location of the size patch for this update. + + + + + Get /set the location of the crc patch for this update. + + + + + Represents a string from a which is stored as an array of bytes. + + + + + Initialise a with a string. + + The textual string form. + + + + Initialise a using a string in its binary 'raw' form. + + + + + + Reset the comment to its initial state. + + + + + Implicit conversion of comment to a string. + + The to convert to a string. + The textual equivalent for the input value. + + + + Get a value indicating the original source of data for this instance. + True if the source was a string; false if the source was binary data. + + + + + Get the length of the comment when represented as raw bytes. + + + + + Get the comment in its 'raw' form as plain bytes. + + + + + An enumerator for Zip entries + + + + + An is a stream that you can write uncompressed data + to and flush, but cannot read, seek or do anything else to. + + + + + Close this stream instance. + + + + + Write any buffered data to underlying storage. + + + + + Gets a value indicating whether the current stream supports reading. + + + + + Gets a value indicating whether the current stream supports writing. + + + + + Gets a value indicating whether the current stream supports seeking. + + + + + Get the length in bytes of the stream. + + + + + Gets or sets the position within the current stream. + + + + + A is an + whose data is only a part or subsection of a file. + + + + + This filter stream is used to decompress data compressed using the "deflate" + format. The "deflate" format is described in RFC 1951. + + This stream may form the basis for other decompression filters, such + as the GZipInputStream. + + Author of the original java version : John Leuner. + + + + + Create an InflaterInputStream with the default decompressor + and a default buffer size of 4KB. + + + The InputStream to read bytes from + + + + + Create an InflaterInputStream with the specified decompressor + and a default buffer size of 4KB. + + + The source of input data + + + The decompressor used to decompress data read from baseInputStream + + + + + Create an InflaterInputStream with the specified decompressor + and the specified buffer size. + + + The InputStream to read bytes from + + + The decompressor to use + + + Size of the buffer to use + + + + + Skip specified number of bytes of uncompressed data + + + Number of bytes to skip + + + The number of bytes skipped, zero if the end of + stream has been reached + + + Number of bytes to skip is less than zero + + + + + Clear any cryptographic state. + + + + + Fills the buffer with more data to decompress. + + + Stream ends early + + + + + Flushes the baseInputStream + + + + + Sets the position within the current stream + Always throws a NotSupportedException + + The relative offset to seek to. + The defining where to seek from. + The new position in the stream. + Any access + + + + Set the length of the current stream + Always throws a NotSupportedException + + The new length value for the stream. + Any access + + + + Writes a sequence of bytes to stream and advances the current position + This method always throws a NotSupportedException + + Thew buffer containing data to write. + The offset of the first byte to write. + The number of bytes to write. + Any access + + + + Writes one byte to the current stream and advances the current position + Always throws a NotSupportedException + + The byte to write. + Any access + + + + Entry point to begin an asynchronous write. Always throws a NotSupportedException. + + The buffer to write data from + Offset of first byte to write + The maximum number of bytes to write + The method to be called when the asynchronous write operation is completed + A user-provided object that distinguishes this particular asynchronous write request from other requests + An IAsyncResult that references the asynchronous write + Any access + + + + Closes the input stream. When + is true the underlying stream is also closed. + + + + + Reads decompressed data into the provided buffer byte array + + + The array to read and decompress data into + + + The offset indicating where the data should be placed + + + The number of bytes to decompress + + The number of bytes read. Zero signals the end of stream + + Inflater needs a dictionary + + + + + Decompressor for this stream + + + + + Input buffer for this stream. + + + + + Base stream the inflater reads from. + + + + + The compressed size + + + + + Flag indicating wether this instance has been closed or not. + + + + + Flag indicating wether this instance is designated the stream owner. + When closing if this flag is true the underlying stream is closed. + + + + + Get/set flag indicating ownership of underlying stream. + When the flag is true will close the underlying stream also. + + + The default value is true. + + + + + Returns 0 once the end of the stream (EOF) has been reached. + Otherwise returns 1. + + + + + Gets a value indicating whether the current stream supports reading + + + + + Gets a value of false indicating seeking is not supported for this stream. + + + + + Gets a value of false indicating that this stream is not writeable. + + + + + A value representing the length of the stream in bytes. + + + + + The current position within the stream. + Throws a NotSupportedException when attempting to set the position + + Attempting to set the position + + + + Initialise a new instance of the class. + + The underlying stream to use for IO. + The start of the partial data. + The length of the partial data. + + + + Skip the specified number of input bytes. + + The maximum number of input bytes to skip. + The actuial number of input bytes skipped. + + + + Read a byte from this stream. + + Returns the byte read or -1 on end of stream. + + + + Close this partial input stream. + + + The underlying stream is not closed. Close the parent ZipFile class to do that. + + + + + Provides a static way to obtain a source of data for an entry. + + + + + Get a source of data by creating a new stream. + + Returns a to use for compression input. + Ideally a new stream is created and opened to achieve this, to avoid locking problems. + + + + Represents a source of data that can dynamically provide + multiple data sources based on the parameters passed. + + + + + Get a data source. + + The to get a source for. + The name for data if known. + Returns a to use for compression input. + Ideally a new stream is created and opened to achieve this, to avoid locking problems. + + + + Default implementation of a for use with files stored on disk. + + + + + Initialise a new instnace of + + The name of the file to obtain data from. + + + + Get a providing data. + + Returns a provising data. + + + + Default implementation of for files stored on disk. + + + + + Initialise a default instance of . + + + + + Get a providing data for an entry. + + The entry to provide data for. + The file name for data if known. + Returns a stream providing data; or null if not available + + + + Defines facilities for data storage when updating Zip Archives. + + + + + Get an empty that can be used for temporary output. + + Returns a temporary output + + + + + Convert a temporary output stream to a final stream. + + The resulting final + + + + + Make a temporary copy of the original stream. + + The to copy. + Returns a temporary output that is a copy of the input. + + + + Return a stream suitable for performing direct updates on the original source. + + The current stream. + Returns a stream suitable for direct updating. + This may be the current stream passed. + + + + Dispose of this instance. + + + + + Get the to apply during updates. + + + + + An abstract suitable for extension by inheritance. + + + + + Initializes a new instance of the class. + + The update mode. + + + + Gets a temporary output + + Returns the temporary output stream. + + + + + Converts the temporary to its final form. + + Returns a that can be used to read + the final storage for the archive. + + + + + Make a temporary copy of a . + + The to make a copy of. + Returns a temporary output that is a copy of the input. + + + + Return a stream suitable for performing direct updates on the original source. + + The to open for direct update. + Returns a stream suitable for direct updating. + + + + Disposes this instance. + + + + + Gets the update mode applicable. + + The update mode. + + + + An implementation suitable for hard disks. + + + + + Initializes a new instance of the class. + + The file. + The update mode. + + + + Initializes a new instance of the class. + + The file. + + + + Gets a temporary output for performing updates on. + + Returns the temporary output stream. + + + + Converts a temporary to its final form. + + Returns a that can be used to read + the final storage for the archive. + + + + Make a temporary copy of a stream. + + The to copy. + Returns a temporary output that is a copy of the input. + + + + Return a stream suitable for performing direct updates on the original source. + + The current stream. + Returns a stream suitable for direct updating. + If the stream is not null this is used as is. + + + + Disposes this instance. + + + + + An implementation suitable for in memory streams. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The to use + This constructor is for testing as memory streams dont really require safe mode. + + + + Gets the temporary output + + Returns the temporary output stream. + + + + Converts the temporary to its final form. + + Returns a that can be used to read + the final storage for the archive. + + + + Make a temporary copy of the original stream. + + The to copy. + Returns a temporary output that is a copy of the input. + + + + Return a stream suitable for performing direct updates on the original source. + + The original source stream + Returns a stream suitable for direct updating. + If the passed is not null this is used; + otherwise a new is returned. + + + + Disposes this instance. + + + + + Get the stream returned by if this was in fact called. + + + + + Generate a table for a byte-wise 32-bit CRC calculation on the polynomial: + x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1. + + Polynomials over GF(2) are represented in binary, one bit per coefficient, + with the lowest powers in the most significant bit. Then adding polynomials + is just exclusive-or, and multiplying a polynomial by x is a right shift by + one. If we call the above polynomial p, and represent a byte as the + polynomial q, also with the lowest power in the most significant bit (so the + byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p, + where a mod b means the remainder after dividing a by b. + + This calculation is done using the shift-register method of multiplying and + taking the remainder. The register is initialized to zero, and for each + incoming bit, x^32 is added mod p to the register if the bit is a one (where + x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by + x (which is shifting right by one and adding x^32 mod p if the bit shifted + out is a one). We start with the highest power (least significant bit) of + q and repeat for all eight bits of q. + + The table is simply the CRC of all possible eight bit values. This is all + the information needed to generate CRC's on data a byte at a time for all + combinations of CRC register values and incoming bytes. + + + + + Interface to compute a data checksum used by checked input/output streams. + A data checksum can be updated by one byte or with a byte array. After each + update the value of the current checksum can be returned by calling + getValue. The complete checksum object can also be reset + so it can be used again with new data. + + + + + Resets the data checksum as if no update was ever called. + + + + + Adds one byte to the data checksum. + + + the data value to add. The high byte of the int is ignored. + + + + + Updates the data checksum with the bytes taken from the array. + + + buffer an array of bytes + + + + + Adds the byte array to the data checksum. + + + The buffer which contains the data + + + The offset in the buffer where the data starts + + + the number of data bytes to add. + + + + + Returns the data checksum computed so far. + + + + + The crc data checksum so far. + + + + + Resets the CRC32 data checksum as if no update was ever called. + + + + + Updates the checksum with the int bval. + + + the byte is taken as the lower 8 bits of value + + + + + Updates the checksum with the bytes taken from the array. + + + buffer an array of bytes + + + + + Adds the byte array to the data checksum. + + + The buffer which contains the data + + + The offset in the buffer where the data starts + + + The number of data bytes to update the CRC with. + + + + + Returns the CRC32 data checksum computed so far. + + + + + Basic implementation of + + + + + Defines factory methods for creating new values. + + + + + Create a for a file given its name + + The name of the file to create an entry for. + Returns a file entry based on the passed. + + + + Create a for a file given its name + + The name of the file to create an entry for. + If true get details from the file system if the file exists. + Returns a file entry based on the passed. + + + + Create a for a directory given its name + + The name of the directory to create an entry for. + Returns a directory entry based on the passed. + + + + Create a for a directory given its name + + The name of the directory to create an entry for. + If true get details from the file system for this directory if it exists. + Returns a directory entry based on the passed. + + + + Get/set the applicable. + + + + + Initialise a new instance of the class. + + A default , and the LastWriteTime for files is used. + + + + Initialise a new instance of using the specified + + The time setting to use when creating Zip entries. + + + + Initialise a new instance of using the specified + + The time to set all values to. + + + + Make a new for a file. + + The name of the file to create a new entry for. + Returns a new based on the . + + + + Make a new from a name. + + The name of the file to create a new entry for. + If true entry detail is retrieved from the file system if the file exists. + Returns a new based on the . + + + + Make a new for a directory. + + The raw untransformed name for the new directory + Returns a new representing a directory. + + + + Make a new for a directory. + + The raw untransformed name for the new directory + If true entry detail is retrieved from the file system if the file exists. + Returns a new representing a directory. + + + + Get / set the to be used when creating new values. + + + Setting this property to null will cause a default name transform to be used. + + + + + Get / set the in use. + + + + + Get / set the value to use when is set to + + + + + A bitmask defining the attributes to be retrieved from the actual file. + + The default is to get all possible attributes from the actual file. + + + + A bitmask defining which attributes are to be set on. + + By default no attributes are set on. + + + + Get set a value indicating wether unidoce text should be set on. + + + + + Defines the possible values to be used for the . + + + + + Use the recorded LastWriteTime value for the file. + + + + + Use the recorded LastWriteTimeUtc value for the file + + + + + Use the recorded CreateTime value for the file. + + + + + Use the recorded CreateTimeUtc value for the file. + + + + + Use the recorded LastAccessTime value for the file. + + + + + Use the recorded LastAccessTimeUtc value for the file. + + + + + Use a fixed value. + + The actual value used can be + specified via the constructor or + using the with the setting set + to which will use the when this class was constructed. + The property can also be used to set this value. + + + + PkzipClassic embodies the classic or original encryption facilities used in Pkzip archives. + While it has been superceded by more recent and more powerful algorithms, its still in use and + is viable for preventing casual snooping + + + + + Generates new encryption keys based on given seed + + The seed value to initialise keys with. + A new key value. + + + + PkzipClassicCryptoBase provides the low level facilities for encryption + and decryption using the PkzipClassic algorithm. + + + + + Transform a single byte + + + The transformed value + + + + + Set the key schedule for encryption/decryption. + + The data use to set the keys from. + + + + Update encryption keys + + + + + Reset the internal state. + + + + + PkzipClassic CryptoTransform for encryption. + + + + + Initialise a new instance of + + The key block to use. + + + + Transforms the specified region of the specified byte array. + + The input for which to compute the transform. + The offset into the byte array from which to begin using data. + The number of bytes in the byte array to use as data. + The computed transform. + + + + Transforms the specified region of the input byte array and copies + the resulting transform to the specified region of the output byte array. + + The input for which to compute the transform. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write the transform. + The offset into the output byte array from which to begin writing data. + The number of bytes written. + + + + Cleanup internal state. + + + + + Gets a value indicating whether the current transform can be reused. + + + + + Gets the size of the input data blocks in bytes. + + + + + Gets the size of the output data blocks in bytes. + + + + + Gets a value indicating whether multiple blocks can be transformed. + + + + + PkzipClassic CryptoTransform for decryption. + + + + + Initialise a new instance of . + + The key block to decrypt with. + + + + Transforms the specified region of the specified byte array. + + The input for which to compute the transform. + The offset into the byte array from which to begin using data. + The number of bytes in the byte array to use as data. + The computed transform. + + + + Transforms the specified region of the input byte array and copies + the resulting transform to the specified region of the output byte array. + + The input for which to compute the transform. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write the transform. + The offset into the output byte array from which to begin writing data. + The number of bytes written. + + + + Cleanup internal state. + + + + + Gets a value indicating whether the current transform can be reused. + + + + + Gets the size of the input data blocks in bytes. + + + + + Gets the size of the output data blocks in bytes. + + + + + Gets a value indicating whether multiple blocks can be transformed. + + + + + Defines a wrapper object to access the Pkzip algorithm. + This class cannot be inherited. + + + + + Generate an initial vector. + + + + + Generate a new random key. + + + + + Create an encryptor. + + The key to use for this encryptor. + Initialisation vector for the new encryptor. + Returns a new PkzipClassic encryptor + + + + Create a decryptor. + + Keys to use for this new decryptor. + Initialisation vector for the new decryptor. + Returns a new decryptor. + + + + Get / set the applicable block size in bits. + + The only valid block size is 8. + + + + Get an array of legal key sizes. + + + + + Get an array of legal block sizes. + + + + + Get / set the key value applicable. + + + + + This class represents an entry in a Tar archive. It consists + of the entry's header, as well as the entry's File. Entries + can be instantiated in one of three ways, depending on how + they are to be used. +

+ TarEntries that are created from the header bytes read from + an archive are instantiated with the TarEntry( byte[] ) + constructor. These entries will be used when extracting from + or listing the contents of an archive. These entries have their + header filled in using the header bytes. They also set the File + to null, since they reference an archive entry not a file.

+

+ TarEntries that are created from files that are to be written + into an archive are instantiated with the CreateEntryFromFile(string) + pseudo constructor. These entries have their header filled in using + the File's information. They also keep a reference to the File + for convenience when writing entries.

+

+ Finally, TarEntries can be constructed from nothing but a name. + This allows the programmer to construct the entry by hand, for + instance when only an InputStream is available for writing to + the archive, and the header information is constructed from + other information. In this case the header fields are set to + defaults and the File is set to null.

+ +
+
+ + + Initialise a default instance of . + + + + + Construct an entry from an archive's header bytes. File is set + to null. + + + The header bytes from a tar archive entry. + + + + + Construct a TarEntry using the header provided + + Header details for entry + + + + Clone this tar entry. + + Returns a clone of this entry. + + + + Construct an entry with only a name. + This allows the programmer to construct the entry's header "by hand". + + The name to use for the entry + Returns the newly created + + + + Construct an entry for a file. File is set to file, and the + header is constructed from information from the file. + + The file name that the entry represents. + Returns the newly created + + + + Determine if the two entries are equal. Equality is determined + by the header names being equal. + + The to compare with the current Object. + + True if the entries are equal; false if not. + + + + + Derive a Hash value for the current + + A Hash code for the current + + + + Determine if the given entry is a descendant of this entry. + Descendancy is determined by the name of the descendant + starting with this entry's name. + + + Entry to be checked as a descendent of this. + + + True if entry is a descendant of this. + + + + + Convenience method to set this entry's group and user ids. + + + This entry's new user id. + + + This entry's new group id. + + + + + Convenience method to set this entry's group and user names. + + + This entry's new user name. + + + This entry's new group name. + + + + + Fill in a TarHeader with information from a File. + + + The TarHeader to fill in. + + + The file from which to get the header information. + + + + + Get entries for all files present in this entries directory. + If this entry doesnt represent a directory zero entries are returned. + + + An array of TarEntry's for this entry's children. + + + + + Write an entry's header information to a header buffer. + + + The tar entry header buffer to fill in. + + + + + Convenience method that will modify an entry's name directly + in place in an entry header buffer byte array. + + + The buffer containing the entry header to modify. + + + The new name to place into the header buffer. + + + + + Fill in a TarHeader given only the entry's name. + + + The TarHeader to fill in. + + + The tar entry name. + + + + + The name of the file this entry represents or null if the entry is not based on a file. + + + + + The entry's header information. + + + + + Get this entry's header. + + + This entry's TarHeader. + + + + + Get/Set this entry's name. + + + + + Get/set this entry's user id. + + + + + Get/set this entry's group id. + + + + + Get/set this entry's user name. + + + + + Get/set this entry's group name. + + + + + Get/Set the modification time for this entry + + + + + Get this entry's file. + + + This entry's file. + + + + + Get/set this entry's recorded file size. + + + + + Return true if this entry represents a directory, false otherwise + + + True if this entry is a directory. + + + + + This filter stream is used to decompress a "GZIP" format stream. + The "GZIP" format is described baseInputStream RFC 1952. + + author of the original java version : John Leuner + + This sample shows how to unzip a gzipped file + + using System; + using System.IO; + + using ICSharpCode.SharpZipLib.Core; + using ICSharpCode.SharpZipLib.GZip; + + class MainClass + { + public static void Main(string[] args) + { + using (Stream inStream = new GZipInputStream(File.OpenRead(args[0]))) + using (FileStream outStream = File.Create(Path.GetFileNameWithoutExtension(args[0]))) { + byte[] buffer = new byte[4096]; + StreamUtils.Copy(inStream, outStream, buffer); + } + } + } + + + + + + CRC-32 value for uncompressed data + + + + + Indicates end of stream + + + + + Creates a GZipInputStream with the default buffer size + + + The stream to read compressed data from (baseInputStream GZIP format) + + + + + Creates a GZIPInputStream with the specified buffer size + + + The stream to read compressed data from (baseInputStream GZIP format) + + + Size of the buffer to use + + + + + Reads uncompressed data into an array of bytes + + + The buffer to read uncompressed data into + + + The offset indicating where the data should be placed + + + The number of uncompressed bytes to be read + + Returns the number of bytes actually read. + + + + Provides simple " utilities. + + + + + Read from a ensuring all the required data is read. + + The stream to read. + The buffer to fill. + + + + Read from a " ensuring all the required data is read. + + The stream to read data from. + The buffer to store data in. + The offset at which to begin storing data. + The number of bytes of data to store. + + + + Copy the contents of one to another. + + The stream to source data from. + The stream to write data to. + The buffer to use during copying. + The progress handler delegate to use. + The minimum between progress updates. + The source for this event. + The name to use with the event. + + + + Copy the contents of one to another. + + The stream to source data from. + The stream to write data to. + The buffer to use during copying. + + + + Initialise an instance of + + + + + This is the DeflaterHuffman class. + + This class is not thread safe. This is inherent in the API, due + to the split of Deflate and SetInput. + + author of the original java version : Jochen Hoenicke + + + + + Pending buffer to use + + + + + Construct instance with pending buffer + + Pending buffer to use + + + + Reset internal state + + + + + Write all trees to pending buffer + + The number/rank of treecodes to send. + + + + Compress current buffer writing data to pending buffer + + + + + Flush block to output with no compression + + Data to write + Index of first byte to write + Count of bytes to write + True if this is the last block + + + + Flush block to output with compression + + Data to flush + Index of first byte to flush + Count of bytes to flush + True if this is the last block + + + + Get value indicating if internal buffer is full + + true if buffer is full + + + + Add literal to buffer + + Literal value to add to buffer. + Value indicating internal buffer is full + + + + Add distance code and length to literal and distance trees + + Distance code + Length + Value indicating if internal buffer is full + + + + Reverse the bits of a 16 bit value. + + Value to reverse bits + Value with bits reversed + + + + Resets the internal state of the tree + + + + + Check that all frequencies are zero + + + At least one frequency is non-zero + + + + + Set static codes and length + + new codes + length for new codes + + + + Build dynamic codes and lengths + + + + + Get encoded length + + Encoded length, the sum of frequencies * lengths + + + + Scan a literal or distance tree to determine the frequencies of the codes + in the bit length tree. + + + + + Write tree values + + Tree to write + + + + This class contains constants used for gzip. + + + + + Magic number found at start of GZIP header + + + + + Flag bit mask for text + + + + + Flag bitmask for Crc + + + + + Flag bit mask for extra + + + + + flag bitmask for name + + + + + flag bit mask indicating comment is present + + + + + Initialise default instance. + + Constructor is private to prevent instances being created. + + + + TarExceptions are used for exceptions specific to tar classes and code. + + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initialises a new instance of the TarException class. + + + + + Initialises a new instance of the TarException class with a specified message. + + The message that describes the error. + + + + + + A message describing the error. + The exception that is the cause of the current exception. + + + + Bzip2 checksum algorithm + + + + + Initialise a default instance of + + + + + Reset the state of Crc. + + + + + Update the Crc value. + + data update is based on + + + + Update Crc based on a block of data + + The buffer containing data to update the crc with. + + + + Update Crc based on a portion of a block of data + + block of data + index of first byte to use + number of bytes to use + + + + Get the current Crc value. + + + + + This is an InflaterInputStream that reads the files baseInputStream an zip archive + one after another. It has a special method to get the zip entry of + the next file. The zip entry contains information about the file name + size, compressed size, Crc, etc. + It includes support for Stored and Deflated entries. +
+
Author of the original java version : Jochen Hoenicke +
+ + This sample shows how to read a zip file + + using System; + using System.Text; + using System.IO; + + using ICSharpCode.SharpZipLib.Zip; + + class MainClass + { + public static void Main(string[] args) + { + using ( ZipInputStream s = new ZipInputStream(File.OpenRead(args[0]))) { + + ZipEntry theEntry; + while ((theEntry = s.GetNextEntry()) != null) { + int size = 2048; + byte[] data = new byte[2048]; + + Console.Write("Show contents (y/n) ?"); + if (Console.ReadLine() == "y") { + while (true) { + size = s.Read(data, 0, data.Length); + if (size > 0) { + Console.Write(new ASCIIEncoding().GetString(data, 0, size)); + } else { + break; + } + } + } + } + } + } + } + + +
+ + + The current reader this instance. + + + + + Creates a new Zip input stream, for reading a zip archive. + + The underlying providing data. + + + + Advances to the next entry in the archive + + + The next entry in the archive or null if there are no more entries. + + + If the previous entry is still open CloseEntry is called. + + + Input stream is closed + + + Password is not set, password is invalid, compression method is invalid, + version required to extract is not supported + + + + + Read data descriptor at the end of compressed data. + + + + + Complete cleanup as the final part of closing. + + True if the crc value should be tested + + + + Closes the current zip entry and moves to the next one. + + + The stream is closed + + + The Zip stream ends early + + + + + Reads a byte from the current zip entry. + + + The byte or -1 if end of stream is reached. + + + + + Handle attempts to read by throwing an . + + The destination array to store data in. + The offset at which data read should be stored. + The maximum number of bytes to read. + Returns the number of bytes actually read. + + + + Handle attempts to read from this entry by throwing an exception + + + + + Perform the initial read on an entry which may include + reading encryption headers and setting up inflation. + + The destination to fill with data read. + The offset to start reading at. + The maximum number of bytes to read. + The actual number of bytes read. + + + + Read a block of bytes from the stream. + + The destination for the bytes. + The index to start storing data. + The number of bytes to attempt to read. + Returns the number of bytes read. + Zero bytes read means end of stream. + + + + Reads a block of bytes from the current zip entry. + + + The number of bytes read (this may be less than the length requested, even before the end of stream), or 0 on end of stream. + + + An i/o error occured. + + + The deflated stream is corrupted. + + + The stream is not open. + + + + + Closes the zip input stream + + + + + Optional password used for encryption when non-null + + A password for all encrypted entries in this + + + + Gets a value indicating if there is a current entry and it can be decompressed + + + The entry can only be decompressed if the library supports the zip features required to extract it. + See the ZipEntry Version property for more details. + + + + + Returns 1 if there is an entry available + Otherwise returns 0. + + + + + Returns the current size that can be read from the current entry if available + + Thrown if the entry size is not known. + Thrown if no entry is currently available. + + + + ZipNameTransform transforms names as per the Zip file naming convention. + + The use of absolute names is supported although its use is not valid + according to Zip naming conventions, and should not be used if maximum compatability is desired. + + + + Initialize a new instance of + + + + + Initialize a new instance of + + The string to trim from front of paths if found. + + + + Static constructor. + + + + + Transform a directory name according to the Zip file naming conventions. + + The directory name to transform. + The transformed name. + + + + Transform a windows file name according to the Zip file naming conventions. + + The file name to transform. + The transformed name. + + + + Force a name to be valid by replacing invalid characters with a fixed value + + The name to force valid + The replacement character to use. + Returns a valid name + + + + Test a name to see if it is a valid name for a zip entry. + + The name to test. + If true checking is relaxed about windows file names and absolute paths. + Returns true if the name is a valid zip name; false otherwise. + Zip path names are actually in Unix format, and should only contain relative paths. + This means that any path stored should not contain a drive or + device letter, or a leading slash. All slashes should forward slashes '/'. + An empty name is valid for a file where the input comes from standard input. + A null name is not considered valid. + + + + + Test a name to see if it is a valid name for a zip entry. + + The name to test. + Returns true if the name is a valid zip name; false otherwise. + Zip path names are actually in unix format, + and should only contain relative paths if a path is present. + This means that the path stored should not contain a drive or + device letter, or a leading slash. All slashes should forward slashes '/'. + An empty name is valid where the input comes from standard input. + A null name is not considered valid. + + + + + Get/set the path prefix to be trimmed from paths if present. + + The prefix is trimmed before any conversion from + a windows path is done. + + + + This exception is used to indicate that there is a problem + with a TAR archive header. + + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initialise a new instance of the InvalidHeaderException class. + + + + + Initialises a new instance of the InvalidHeaderException class with a specified message. + + Message describing the exception cause. + + + + Initialise a new instance of InvalidHeaderException + + Message describing the problem. + The exception that is the cause of the current exception. + + + + This class allows us to retrieve a specified number of bits from + the input buffer, as well as copy big byte blocks. + + It uses an int buffer to store up to 31 bits for direct + manipulation. This guarantees that we can get at least 16 bits, + but we only need at most 15, so this is all safe. + + There are some optimizations in this class, for example, you must + never peek more than 8 bits more than needed, and you must first + peek bits before you may drop them. This is not a general purpose + class but optimized for the behaviour of the Inflater. + + authors of the original java version : John Leuner, Jochen Hoenicke + + + + + Constructs a default StreamManipulator with all buffers empty + + + + + Get the next sequence of bits but don't increase input pointer. bitCount must be + less or equal 16 and if this call succeeds, you must drop + at least n - 8 bits in the next call. + + The number of bits to peek. + + the value of the bits, or -1 if not enough bits available. */ + + + + + Drops the next n bits from the input. You should have called PeekBits + with a bigger or equal n before, to make sure that enough bits are in + the bit buffer. + + The number of bits to drop. + + + + Gets the next n bits and increases input pointer. This is equivalent + to followed by , except for correct error handling. + + The number of bits to retrieve. + + the value of the bits, or -1 if not enough bits available. + + + + + Skips to the next byte boundary. + + + + + Copies bytes from input buffer to output buffer starting + at output[offset]. You have to make sure, that the buffer is + byte aligned. If not enough bytes are available, copies fewer + bytes. + + + The buffer to copy bytes to. + + + The offset in the buffer at which copying starts + + + The length to copy, 0 is allowed. + + + The number of bytes copied, 0 if no bytes were available. + + + Length is less than zero + + + Bit buffer isnt byte aligned + + + + + Resets state and empties internal buffers + + + + + Add more input for consumption. + Only call when IsNeedingInput returns true + + data to be input + offset of first byte of input + number of bytes of input to add. + + + + Gets the number of bits available in the bit buffer. This must be + only called when a previous PeekBits() returned -1. + + + the number of bits available. + + + + + Gets the number of bytes available. + + + The number of bytes available. + + + + + Returns true when SetInput can be called + + + + + Strategies for deflater + + + + + The default strategy + + + + + This strategy will only allow longer string repetitions. It is + useful for random data with a small character set. + + + + + This strategy will not look for string repetitions at all. It + only encodes with Huffman trees (which means, that more common + characters get a smaller encoding. + + + + + Low level compression engine for deflate algorithm which uses a 32K sliding window + with secondary compression from Huffman/Shannon-Fano codes. + + + + + Construct instance with pending buffer + + + Pending buffer to use + > + + + + Deflate drives actual compression of data + + True to flush input buffers + Finish deflation with the current input. + Returns true if progress has been made. + + + + Sets input data to be deflated. Should only be called when NeedsInput() + returns true + + The buffer containing input data. + The offset of the first byte of data. + The number of bytes of data to use as input. + + + + Determines if more input is needed. + + Return true if input is needed via SetInput + + + + Set compression dictionary + + The buffer containing the dictionary data + The offset in the buffer for the first byte of data + The length of the dictionary data. + + + + Reset internal state + + + + + Reset Adler checksum + + + + + Set the deflate level (0-9) + + The value to set the level to. + + + + Fill the window + + + + + Inserts the current string in the head hash and returns the previous + value for this hash. + + The previous hash value + + + + Find the best (longest) string in the window matching the + string starting at strstart. + + Preconditions: + + strstart + MAX_MATCH <= window.length. + + + True if a match greater than the minimum length is found + + + + Hashtable, hashing three characters to an index for window, so + that window[index]..window[index+2] have this hash code. + Note that the array should really be unsigned short, so you need + to and the values with 0xffff. + + + + + prev[index & WMASK] points to the previous index that has the + same hash code as the string starting at index. This way + entries with the same hash code are in a linked list. + Note that the array should really be unsigned short, so you need + to and the values with 0xffff. + + + + + Points to the current character in the window. + + + + + lookahead is the number of characters starting at strstart in + window that are valid. + So window[strstart] until window[strstart+lookahead-1] are valid + characters. + + + + + This array contains the part of the uncompressed stream that + is of relevance. The current character is indexed by strstart. + + + + + The current compression function. + + + + + The input data for compression. + + + + + The total bytes of input read. + + + + + The offset into inputBuf, where input data starts. + + + + + The end offset of the input data. + + + + + The adler checksum + + + + + Get current value of Adler checksum + + + + + Total data processed + + + + + Get/set the deflate strategy + + + + + The TarBuffer class implements the tar archive concept + of a buffered input stream. This concept goes back to the + days of blocked tape drives and special io devices. In the + C# universe, the only real function that this class + performs is to ensure that files have the correct "record" + size, or other tars will complain. +

+ You should never have a need to access this class directly. + TarBuffers are created by Tar IO Streams. +

+
+
+ + + The size of a block in a tar archive in bytes. + + This is 512 bytes. + + + + The number of blocks in a default record. + + + The default value is 20 blocks per record. + + + + + The size in bytes of a default record. + + + The default size is 10KB. + + + + + Get the TAR Buffer's record size. + + The record size in bytes. + This is equal to the multiplied by the + + + + Get the TAR Buffer's block factor + + The block factor; the number of blocks per record. + + + + Construct a default TarBuffer + + + + + Create TarBuffer for reading with default BlockFactor + + Stream to buffer + A new suitable for input. + + + + Construct TarBuffer for reading inputStream setting BlockFactor + + Stream to buffer + Blocking factor to apply + A new suitable for input. + + + + Construct TarBuffer for writing with default BlockFactor + + output stream for buffer + A new suitable for output. + + + + Construct TarBuffer for writing Tar output to streams. + + Output stream to write to. + Blocking factor to apply + A new suitable for output. + + + + Initialization common to all constructors. + + + + + Determine if an archive block indicates End of Archive. End of + archive is indicated by a block that consists entirely of null bytes. + All remaining blocks for the record should also be null's + However some older tars only do a couple of null blocks (Old GNU tar for one) + and also partial records + + The data block to check. + Returns true if the block is an EOF block; false otherwise. + + + + Skip over a block on the input stream. + + + + + Read a block from the input stream. + + + The block of data read. + + + + + Read a record from data stream. + + + false if End-Of-File, else true. + + + + + Get the current block number, within the current record, zero based. + + + The current zero based block number. + + + The absolute block number = (record number * block factor) + block number. + + + + + Get the current record number. + + + The current zero based record number. + + + + + Write a block of data to the archive. + + + The data to write to the archive. + + + + + Write an archive record to the archive, where the record may be + inside of a larger array buffer. The buffer must be "offset plus + record size" long. + + + The buffer containing the record data to write. + + + The offset of the record data within buffer. + + + + + Write a TarBuffer record to the archive. + + + + + Flush the current record if it has any data in it. + + + + + Close the TarBuffer. If this is an output buffer, also flush the + current block before closing. + + + + + Get the record size for this buffer + + The record size in bytes. + This is equal to the multiplied by the + + + + Get the Blocking factor for the buffer + + This is the number of block in each record. + + + + Get the current block number, within the current record, zero based. + + + + + Get the current record number. + + + The current zero based record number. + + + + + This class encapsulates the Tar Entry Header used in Tar Archives. + The class also holds a number of tar constants, used mostly in headers. + + + + + The length of the name field in a header buffer. + + + + + The length of the mode field in a header buffer. + + + + + The length of the user id field in a header buffer. + + + + + The length of the group id field in a header buffer. + + + + + The length of the checksum field in a header buffer. + + + + + Offset of checksum in a header buffer. + + + + + The length of the size field in a header buffer. + + + + + The length of the magic field in a header buffer. + + + + + The length of the version field in a header buffer. + + + + + The length of the modification time field in a header buffer. + + + + + The length of the user name field in a header buffer. + + + + + The length of the group name field in a header buffer. + + + + + The length of the devices field in a header buffer. + + + + + The "old way" of indicating a normal file. + + + + + Normal file type. + + + + + Link file type. + + + + + Symbolic link file type. + + + + + Character device file type. + + + + + Block device file type. + + + + + Directory file type. + + + + + FIFO (pipe) file type. + + + + + Contiguous file type. + + + + + Posix.1 2001 global extended header + + + + + Posix.1 2001 extended header + + + + + Solaris access control list file type + + + + + GNU dir dump file type + This is a dir entry that contains the names of files that were in the + dir at the time the dump was made + + + + + Solaris Extended Attribute File + + + + + Inode (metadata only) no file content + + + + + Identifies the next file on the tape as having a long link name + + + + + Identifies the next file on the tape as having a long name + + + + + Continuation of a file that began on another volume + + + + + For storing filenames that dont fit in the main header (old GNU) + + + + + GNU Sparse file + + + + + GNU Tape/volume header ignore on extraction + + + + + The magic tag representing a POSIX tar archive. (includes trailing NULL) + + + + + The magic tag representing an old GNU tar archive where version is included in magic and overwrites it + + + + + Initialise a default TarHeader instance + + + + + Get the name of this entry. + + The entry's name. + + + + Create a new that is a copy of the current instance. + + A new that is a copy of the current instance. + + + + Parse TarHeader information from a header buffer. + + + The tar entry header buffer to get information from. + + + + + 'Write' header information to buffer provided, updating the check sum. + + output buffer for header information + + + + Get a hash code for the current object. + + A hash code for the current object. + + + + Determines if this instance is equal to the specified object. + + The object to compare with. + true if the objects are equal, false otherwise. + + + + Set defaults for values used when constructing a TarHeader instance. + + Value to apply as a default for userId. + Value to apply as a default for userName. + Value to apply as a default for groupId. + Value to apply as a default for groupName. + + + + Parse an octal string from a header buffer. + + The header buffer from which to parse. + The offset into the buffer from which to parse. + The number of header bytes to parse. + The long equivalent of the octal string. + + + + Parse a name from a header buffer. + + + The header buffer from which to parse. + + + The offset into the buffer from which to parse. + + + The number of header bytes to parse. + + + The name parsed. + + + + + Add name to the buffer as a collection of bytes + + The name to add + The offset of the first character + The buffer to add to + The index of the first byte to add + The number of characters/bytes to add + The next free index in the buffer + + + + Add name to the buffer as a collection of bytes + + The name to add + The offset of the first character + The buffer to add to + The index of the first byte to add + The number of characters/bytes to add + The next free index in the buffer + + + + Add an entry name to the buffer + + + The name to add + + + The buffer to add to + + + The offset into the buffer from which to start adding + + + The number of header bytes to add + + + The index of the next free byte in the buffer + + + + + Add an entry name to the buffer + + The name to add + The buffer to add to + The offset into the buffer from which to start adding + The number of header bytes to add + The index of the next free byte in the buffer + + + + Add a string to a buffer as a collection of ascii bytes. + + The string to add + The offset of the first character to add. + The buffer to add to. + The offset to start adding at. + The number of ascii characters to add. + The next free index in the buffer. + + + + Put an octal representation of a value into a buffer + + + the value to be converted to octal + + + buffer to store the octal string + + + The offset into the buffer where the value starts + + + The length of the octal string to create + + + The offset of the character next byte after the octal string + + + + + Put an octal representation of a value into a buffer + + Value to be convert to octal + The buffer to update + The offset into the buffer to store the value + The length of the octal string + Index of next byte + + + + Add the checksum integer to header buffer. + + + The header buffer to set the checksum for + The offset into the buffer for the checksum + The number of header bytes to update. + It's formatted differently from the other fields: it has 6 digits, a + null, then a space -- rather than digits, a space, then a null. + The final space is already there, from checksumming + + The modified buffer offset + + + + Compute the checksum for a tar entry header. + The checksum field must be all spaces prior to this happening + + The tar entry's header buffer. + The computed checksum. + + + + Make a checksum for a tar entry ignoring the checksum contents. + + The tar entry's header buffer. + The checksum for the buffer + + + + Get/set the name for this tar entry. + + Thrown when attempting to set the property to null. + + + + Get/set the entry's Unix style permission mode. + + + + + The entry's user id. + + + This is only directly relevant to unix systems. + The default is zero. + + + + + Get/set the entry's group id. + + + This is only directly relevant to linux/unix systems. + The default value is zero. + + + + + Get/set the entry's size. + + Thrown when setting the size to less than zero. + + + + Get/set the entry's modification time. + + + The modification time is only accurate to within a second. + + Thrown when setting the date time to less than 1/1/1970. + + + + Get the entry's checksum. This is only valid/updated after writing or reading an entry. + + + + + Get value of true if the header checksum is valid, false otherwise. + + + + + Get/set the entry's type flag. + + + + + The entry's link name. + + Thrown when attempting to set LinkName to null. + + + + Get/set the entry's magic tag. + + Thrown when attempting to set Magic to null. + + + + The entry's version. + + Thrown when attempting to set Version to null. + + + + The entry's user name. + + + + + Get/set the entry's group name. + + + This is only directly relevant to unix systems. + + + + + Get/set the entry's major device number. + + + + + Get/set the entry's minor device number. + + + + + Event arguments for scanning. + + + + + Initialise a new instance of + + The file or directory name. + + + + The fie or directory name for this event. + + + + + Get set a value indicating if scanning should continue or not. + + + + + Event arguments during processing of a single file or directory. + + + + + Initialise a new instance of + + The file or directory name if known. + The number of bytes processed so far + The total number of bytes to process, 0 if not known + + + + The name for this event if known. + + + + + Get set a value indicating wether scanning should continue or not. + + + + + Get a percentage representing how much of the has been processed + + 0.0 to 100.0 percent; 0 if target is not known. + + + + The number of bytes processed so far + + + + + The number of bytes to process. + + Target may be 0 or negative if the value isnt known. + + + + Event arguments for directories. + + + + + Initialize an instance of . + + The name for this directory. + Flag value indicating if any matching files are contained in this directory. + + + + Get a value indicating if the directory contains any matching files or not. + + + + + Arguments passed when scan failures are detected. + + + + + Initialise a new instance of + + The name to apply. + The exception to use. + + + + The applicable name. + + + + + The applicable exception. + + + + + Get / set a value indicating wether scanning should continue. + + + + + Delegate invoked before starting to process a directory. + + + + + Delegate invoked before starting to process a file. + + The source of the event + The event arguments. + + + + Delegate invoked during processing of a file or directory + + The source of the event + The event arguments. + + + + Delegate invoked when a file has been completely processed. + + The source of the event + The event arguments. + + + + Delegate invoked when a directory failure is detected. + + The source of the event + The event arguments. + + + + Delegate invoked when a file failure is detected. + + The source of the event + The event arguments. + + + + FileSystemScanner provides facilities scanning of files and directories. + + + + + Initialise a new instance of + + The file filter to apply when scanning. + + + + Initialise a new instance of + + The file filter to apply. + The directory filter to apply. + + + + Initialise a new instance of + + The file filter to apply. + + + + Initialise a new instance of + + The file filter to apply. + The directory filter to apply. + + + + Delegate to invoke when a directory is processed. + + + + + Delegate to invoke when a file is processed. + + + + + Delegate to invoke when processing for a file has finished. + + + + + Delegate to invoke when a directory failure is detected. + + + + + Delegate to invoke when a file failure is detected. + + + + + Raise the DirectoryFailure event. + + The directory name. + The exception detected. + + + + Raise the FileFailure event. + + The file name. + The exception detected. + + + + Raise the ProcessFile event. + + The file name. + + + + Raise the complete file event + + The file name + + + + Raise the ProcessDirectory event. + + The directory name. + Flag indicating if the directory has matching files. + + + + Scan a directory. + + The base directory to scan. + True to recurse subdirectories, false to scan a single directory. + + + + The file filter currently in use. + + + + + The directory filter currently in use. + + + + + Flag indicating if scanning should continue running. + + + + + An input buffer customised for use by + + + The buffer supports decryption of incoming data. + + + + + Initialise a new instance of with a default buffer size + + The stream to buffer. + + + + Initialise a new instance of + + The stream to buffer. + The size to use for the buffer + A minimum buffer size of 1KB is permitted. Lower sizes are treated as 1KB. + + + + Call passing the current clear text buffer contents. + + The inflater to set input for. + + + + Fill the buffer from the underlying input stream. + + + + + Read a buffer directly from the input stream + + The buffer to fill + Returns the number of bytes read. + + + + Read a buffer directly from the input stream + + The buffer to read into + The offset to start reading data into. + The number of bytes to read. + Returns the number of bytes read. + + + + Read clear text data from the input stream. + + The buffer to add data to. + The offset to start adding data at. + The number of bytes to read. + Returns the number of bytes actually read. + + + + Read a from the input stream. + + Returns the byte read. + + + + Read an in little endian byte order. + + The short value read case to an int. + + + + Read an in little endian byte order. + + The int value read. + + + + Read a in little endian byte order. + + The long value read. + + + + Get the length of bytes bytes in the + + + + + Get the contents of the raw data buffer. + + This may contain encrypted data. + + + + Get the number of useable bytes in + + + + + Get the contents of the clear text buffer. + + + + + Get/set the number of bytes available + + + + + Get/set the to apply to any data. + + Set this value to null to have no transform applied. + + + + The TarOutputStream writes a UNIX tar archive as an OutputStream. + Methods are provided to put entries, and then write their contents + by writing to this stream using write(). + + public + + + + Construct TarOutputStream using default block factor + + stream to write to + + + + Construct TarOutputStream with user specified block factor + + stream to write to + blocking factor + + + + set the position within the current stream + + The offset relative to the to seek to + The to seek from. + The new position in the stream. + + + + Set the length of the current stream + + The new stream length. + + + + Read a byte from the stream and advance the position within the stream + by one byte or returns -1 if at the end of the stream. + + The byte value or -1 if at end of stream + + + + read bytes from the current stream and advance the position within the + stream by the number of bytes read. + + The buffer to store read bytes in. + The index into the buffer to being storing bytes at. + The desired number of bytes to read. + The total number of bytes read, or zero if at the end of the stream. + The number of bytes may be less than the count + requested if data is not avialable. + + + + All buffered data is written to destination + + + + + Ends the TAR archive without closing the underlying OutputStream. + The result is that the EOF block of nulls is written. + + + + + Ends the TAR archive and closes the underlying OutputStream. + + This means that Finish() is called followed by calling the + TarBuffer's Close(). + + + + Get the record size being used by this stream's TarBuffer. + + + The TarBuffer record size. + + + + + Put an entry on the output stream. This writes the entry's + header and positions the output stream for writing + the contents of the entry. Once this method is called, the + stream is ready for calls to write() to write the entry's + contents. Once the contents are written, closeEntry() + MUST be called to ensure that all buffered data + is completely written to the output stream. + + + The TarEntry to be written to the archive. + + + + + Close an entry. This method MUST be called for all file + entries that contain data. The reason is that we must + buffer data written to the stream in order to satisfy + the buffer's block based writes. Thus, there may be + data fragments still being assembled that must be written + to the output stream before this entry is closed and the + next entry written. + + + + + Writes a byte to the current tar archive entry. + This method simply calls Write(byte[], int, int). + + + The byte to be written. + + + + + Writes bytes to the current tar archive entry. This method + is aware of the current entry and will throw an exception if + you attempt to write bytes past the length specified for the + current entry. The method is also (painfully) aware of the + record buffering required by TarBuffer, and manages buffers + that are not a multiple of recordsize in length, including + assembling records from small buffers. + + + The buffer to write to the archive. + + + The offset in the buffer from which to get bytes. + + + The number of bytes to write. + + + + + Write an EOF (end of archive) block to the tar archive. + An EOF block consists of all zeros. + + + + + bytes written for this entry so far + + + + + current 'Assembly' buffer length + + + + + Flag indicating wether this instance has been closed or not. + + + + + Size for the current entry + + + + + single block working buffer + + + + + 'Assembly' buffer used to assemble data before writing + + + + + TarBuffer used to provide correct blocking factor + + + + + the destination stream for the archive contents + + + + + true if the stream supports reading; otherwise, false. + + + + + true if the stream supports seeking; otherwise, false. + + + + + true if stream supports writing; otherwise, false. + + + + + length of stream in bytes + + + + + gets or sets the position within the current stream. + + + + + Get the record size being used by this stream's TarBuffer. + + + + + Get a value indicating wether an entry is open, requiring more data to be written. + + + + + This is the Deflater class. The deflater class compresses input + with the deflate algorithm described in RFC 1951. It has several + compression levels and three different strategies described below. + + This class is not thread safe. This is inherent in the API, due + to the split of deflate and setInput. + + author of the original java version : Jochen Hoenicke + + + + + The best and slowest compression level. This tries to find very + long and distant string repetitions. + + + + + The worst but fastest compression level. + + + + + The default compression level. + + + + + This level won't compress at all but output uncompressed blocks. + + + + + The compression method. This is the only method supported so far. + There is no need to use this constant at all. + + + + + Creates a new deflater with default compression level. + + + + + Creates a new deflater with given compression level. + + + the compression level, a value between NO_COMPRESSION + and BEST_COMPRESSION, or DEFAULT_COMPRESSION. + + if lvl is out of range. + + + + Creates a new deflater with given compression level. + + + the compression level, a value between NO_COMPRESSION + and BEST_COMPRESSION. + + + true, if we should suppress the Zlib/RFC1950 header at the + beginning and the adler checksum at the end of the output. This is + useful for the GZIP/PKZIP formats. + + if lvl is out of range. + + + + Resets the deflater. The deflater acts afterwards as if it was + just created with the same compression level and strategy as it + had before. + + + + + Flushes the current input block. Further calls to deflate() will + produce enough output to inflate everything in the current input + block. This is not part of Sun's JDK so I have made it package + private. It is used by DeflaterOutputStream to implement + flush(). + + + + + Finishes the deflater with the current input block. It is an error + to give more input after this method was called. This method must + be called to force all bytes to be flushed. + + + + + Sets the data which should be compressed next. This should be only + called when needsInput indicates that more input is needed. + If you call setInput when needsInput() returns false, the + previous input that is still pending will be thrown away. + The given byte array should not be changed, before needsInput() returns + true again. + This call is equivalent to setInput(input, 0, input.length). + + + the buffer containing the input data. + + + if the buffer was finished() or ended(). + + + + + Sets the data which should be compressed next. This should be + only called when needsInput indicates that more input is needed. + The given byte array should not be changed, before needsInput() returns + true again. + + + the buffer containing the input data. + + + the start of the data. + + + the number of data bytes of input. + + + if the buffer was Finish()ed or if previous input is still pending. + + + + + Sets the compression level. There is no guarantee of the exact + position of the change, but if you call this when needsInput is + true the change of compression level will occur somewhere near + before the end of the so far given input. + + + the new compression level. + + + + + Get current compression level + + Returns the current compression level + + + + Sets the compression strategy. Strategy is one of + DEFAULT_STRATEGY, HUFFMAN_ONLY and FILTERED. For the exact + position where the strategy is changed, the same as for + SetLevel() applies. + + + The new compression strategy. + + + + + Deflates the current input block with to the given array. + + + The buffer where compressed data is stored + + + The number of compressed bytes added to the output, or 0 if either + IsNeedingInput() or IsFinished returns true or length is zero. + + + + + Deflates the current input block to the given array. + + + Buffer to store the compressed data. + + + Offset into the output array. + + + The maximum number of bytes that may be stored. + + + The number of compressed bytes added to the output, or 0 if either + needsInput() or finished() returns true or length is zero. + + + If Finish() was previously called. + + + If offset or length don't match the array length. + + + + + Sets the dictionary which should be used in the deflate process. + This call is equivalent to setDictionary(dict, 0, dict.Length). + + + the dictionary. + + + if SetInput () or Deflate () were already called or another dictionary was already set. + + + + + Sets the dictionary which should be used in the deflate process. + The dictionary is a byte array containing strings that are + likely to occur in the data which should be compressed. The + dictionary is not stored in the compressed output, only a + checksum. To decompress the output you need to supply the same + dictionary again. + + + The dictionary data + + + The index where dictionary information commences. + + + The number of bytes in the dictionary. + + + If SetInput () or Deflate() were already called or another dictionary was already set. + + + + + Compression level. + + + + + If true no Zlib/RFC1950 headers or footers are generated + + + + + The current state. + + + + + The total bytes of output written. + + + + + The pending output. + + + + + The deflater engine. + + + + + Gets the current adler checksum of the data that was processed so far. + + + + + Gets the number of input bytes processed so far. + + + + + Gets the number of output bytes so far. + + + + + Returns true if the stream was finished and no more output bytes + are available. + + + + + Returns true, if the input buffer is empty. + You should then call setInput(). + NOTE: This method can also return true when the stream + was finished. + + + + + The TarInputStream reads a UNIX tar archive as an InputStream. + methods are provided to position at each successive entry in + the archive, and the read each entry as a normal input stream + using read(). + + + + + Construct a TarInputStream with default block factor + + stream to source data from + + + + Construct a TarInputStream with user specified block factor + + stream to source data from + block factor to apply to archive + + + + Flushes the baseInputStream + + + + + Set the streams position. This operation is not supported and will throw a NotSupportedException + + The offset relative to the origin to seek to. + The to start seeking from. + The new position in the stream. + Any access + + + + Sets the length of the stream + This operation is not supported and will throw a NotSupportedException + + The new stream length. + Any access + + + + Writes a block of bytes to this stream using data from a buffer. + This operation is not supported and will throw a NotSupportedException + + The buffer containing bytes to write. + The offset in the buffer of the frist byte to write. + The number of bytes to write. + Any access + + + + Writes a byte to the current position in the file stream. + This operation is not supported and will throw a NotSupportedException + + The byte value to write. + Any access + + + + Reads a byte from the current tar archive entry. + + A byte cast to an int; -1 if the at the end of the stream. + + + + Reads bytes from the current tar archive entry. + + This method is aware of the boundaries of the current + entry in the archive and will deal with them appropriately + + + The buffer into which to place bytes read. + + + The offset at which to place bytes read. + + + The number of bytes to read. + + + The number of bytes read, or 0 at end of stream/EOF. + + + + + Closes this stream. Calls the TarBuffer's close() method. + The underlying stream is closed by the TarBuffer. + + + + + Set the entry factory for this instance. + + The factory for creating new entries + + + + Get the record size being used by this stream's TarBuffer. + + + TarBuffer record size. + + + + + Skip bytes in the input buffer. This skips bytes in the + current entry's data, not the entire archive, and will + stop at the end of the current entry's data if the number + to skip extends beyond that point. + + + The number of bytes to skip. + + + + + Since we do not support marking just yet, we do nothing. + + + The limit to mark. + + + + + Since we do not support marking just yet, we do nothing. + + + + + Get the next entry in this tar archive. This will skip + over any remaining data in the current entry, if there + is one, and place the input stream at the header of the + next entry, and read the header and instantiate a new + TarEntry from the header bytes and return that entry. + If there are no more entries in the archive, null will + be returned to indicate that the end of the archive has + been reached. + + + The next TarEntry in the archive, or null. + + + + + Copies the contents of the current tar archive entry directly into + an output stream. + + + The OutputStream into which to write the entry's data. + + + + + Flag set when last block has been read + + + + + Size of this entry as recorded in header + + + + + Number of bytes read for this entry so far + + + + + Buffer used with calls to Read() + + + + + Working buffer + + + + + Current entry being read + + + + + Factory used to create TarEntry or descendant class instance + + + + + Stream used as the source of input data. + + + + + Gets a value indicating whether the current stream supports reading + + + + + Gets a value indicating whether the current stream supports seeking + This property always returns false. + + + + + Gets a value indicating if the stream supports writing. + This property always returns false. + + + + + The length in bytes of the stream + + + + + Gets or sets the position within the stream. + Setting the Position is not supported and throws a NotSupportedExceptionNotSupportedException + + Any attempt to set position + + + + Get the record size being used by this stream's TarBuffer. + + + + + Get the available data that can be read from the current + entry in the archive. This does not indicate how much data + is left in the entire archive, only in the current entry. + This value is determined from the entry's size header field + and the amount of data already read from the current entry. + + + The number of available bytes for the current entry. + + + + + Return a value of true if marking is supported; false otherwise. + + Currently marking is not supported, the return value is always false. + + + + This interface is provided, along with the method , to allow + the programmer to have their own subclass instantiated for the + entries return from . + + + + + Create an entry based on name alone + + + Name of the new EntryPointNotFoundException to create + + created TarEntry or descendant class + + + + Create an instance based on an actual file + + + Name of file to represent in the entry + + + Created TarEntry or descendant class + + + + + Create a tar entry based on the header information passed + + + Buffer containing header information to base entry on + + + Created TarEntry or descendant class + + + + + Standard entry factory class creating instances of the class TarEntry + + + + + Create a based on named + + The name to use for the entry + A new + + + + Create a tar entry with details obtained from file + + The name of the file to retrieve details from. + A new + + + + Create an entry based on details in header + + The buffer containing entry details. + A new + + + + Defines known values for the property. + + + + + Host system = MSDOS + + + + + Host system = Amiga + + + + + Host system = Open VMS + + + + + Host system = Unix + + + + + Host system = VMCms + + + + + Host system = Atari ST + + + + + Host system = OS2 + + + + + Host system = Macintosh + + + + + Host system = ZSystem + + + + + Host system = Cpm + + + + + Host system = Windows NT + + + + + Host system = MVS + + + + + Host system = VSE + + + + + Host system = Acorn RISC + + + + + Host system = VFAT + + + + + Host system = Alternate MVS + + + + + Host system = BEOS + + + + + Host system = Tandem + + + + + Host system = OS400 + + + + + Host system = OSX + + + + + Host system = WinZIP AES + + + + + This class represents an entry in a zip archive. This can be a file + or a directory + ZipFile and ZipInputStream will give you instances of this class as + information about the members in an archive. ZipOutputStream + uses an instance of this class when creating an entry in a Zip file. +
+
Author of the original java version : Jochen Hoenicke +
+
+ + + Creates a zip entry with the given name. + + + The name for this entry. Can include directory components. + The convention for names is 'unix' style paths with relative names only. + There are with no device names and path elements are separated by '/' characters. + + + The name passed is null + + + + + Creates a zip entry with the given name and version required to extract + + + The name for this entry. Can include directory components. + The convention for names is 'unix' style paths with no device names and + path elements separated by '/' characters. This is not enforced see CleanName + on how to ensure names are valid if this is desired. + + + The minimum 'feature version' required this entry + + + The name passed is null + + + + + Initializes an entry with the given name and made by information + + Name for this entry + Version and HostSystem Information + Minimum required zip feature version required to extract this entry + Compression method for this entry. + + The name passed is null + + + versionRequiredToExtract should be 0 (auto-calculate) or > 10 + + + This constructor is used by the ZipFile class when reading from the central header + It is not generally useful, use the constructor specifying the name only. + + + + + Creates a deep copy of the given zip entry. + + + The entry to copy. + + + + + Test the external attributes for this to + see if the external attributes are Dos based (including WINNT and variants) + and match the values + + The attributes to test. + Returns true if the external attributes are known to be DOS/Windows + based and have the same attributes set as the value passed. + + + + Force this entry to be recorded using Zip64 extensions. + + + + + Get a value indicating wether Zip64 extensions were forced. + + A value of true if Zip64 extensions have been forced on; false if not. + + + + Process extra data fields updating the entry based on the contents. + + True if the extra data fields should be handled + for a local header, rather than for a central header. + + + + + Test entry to see if data can be extracted. + + Returns true if data can be extracted for this entry; false otherwise. + + + + Creates a copy of this zip entry. + + An that is a copy of the current instance. + + + + Gets a string representation of this ZipEntry. + + A readable textual representation of this + + + + Test a compression method to see if this library + supports extracting data compressed with that method + + The compression method to test. + Returns true if the compression method is supported; false otherwise + + + + Cleans a name making it conform to Zip file conventions. + Devices names ('c:\') and UNC share names ('\\server\share') are removed + and forward slashes ('\') are converted to back slashes ('/'). + Names are made relative by trimming leading slashes which is compatible + with the ZIP naming convention. + + The name to clean + The 'cleaned' name. + + The Zip name transform class is more flexible. + + + + + Get a value indicating wether the entry has a CRC value available. + + + + + Get/Set flag indicating if entry is encrypted. + A simple helper routine to aid interpretation of flags + + This is an assistant that interprets the flags property. + + + + Get / set a flag indicating wether entry name and comment text are + encoded in unicode UTF8. + + This is an assistant that interprets the flags property. + + + + Value used during password checking for PKZIP 2.0 / 'classic' encryption. + + + + + Get/Set general purpose bit flag for entry + + + General purpose bit flag
+
+ Bit 0: If set, indicates the file is encrypted
+ Bit 1-2 Only used for compression type 6 Imploding, and 8, 9 deflating
+ Imploding:
+ Bit 1 if set indicates an 8K sliding dictionary was used. If clear a 4k dictionary was used
+ Bit 2 if set indicates 3 Shannon-Fanno trees were used to encode the sliding dictionary, 2 otherwise
+
+ Deflating:
+ Bit 2 Bit 1
+ 0 0 Normal compression was used
+ 0 1 Maximum compression was used
+ 1 0 Fast compression was used
+ 1 1 Super fast compression was used
+
+ Bit 3: If set, the fields crc-32, compressed size + and uncompressed size are were not able to be written during zip file creation + The correct values are held in a data descriptor immediately following the compressed data.
+ Bit 4: Reserved for use by PKZIP for enhanced deflating
+ Bit 5: If set indicates the file contains compressed patch data
+ Bit 6: If set indicates strong encryption was used.
+ Bit 7-10: Unused or reserved
+ Bit 11: If set the name and comments for this entry are in unicode.
+ Bit 12-15: Unused or reserved
+
+ + +
+ + + Get/Set index of this entry in Zip file + + This is only valid when the entry is part of a + + + + Get/set offset for use in central header + + + + + Get/Set external file attributes as an integer. + The values of this are operating system dependant see + HostSystem for details + + + + + Get the version made by for this entry or zero if unknown. + The value / 10 indicates the major version number, and + the value mod 10 is the minor version number + + + + + Get a value indicating this entry is for a DOS/Windows system. + + + + + Gets the compatability information for the external file attribute + If the external file attributes are compatible with MS-DOS and can be read + by PKZIP for DOS version 2.04g then this value will be zero. Otherwise the value + will be non-zero and identify the host system on which the attributes are compatible. + + + + The values for this as defined in the Zip File format and by others are shown below. The values are somewhat + misleading in some cases as they are not all used as shown. You should consult the relevant documentation + to obtain up to date and correct information. The modified appnote by the infozip group is + particularly helpful as it documents a lot of peculiarities. The document is however a little dated. + + 0 - MS-DOS and OS/2 (FAT / VFAT / FAT32 file systems) + 1 - Amiga + 2 - OpenVMS + 3 - Unix + 4 - VM/CMS + 5 - Atari ST + 6 - OS/2 HPFS + 7 - Macintosh + 8 - Z-System + 9 - CP/M + 10 - Windows NTFS + 11 - MVS (OS/390 - Z/OS) + 12 - VSE + 13 - Acorn Risc + 14 - VFAT + 15 - Alternate MVS + 16 - BeOS + 17 - Tandem + 18 - OS/400 + 19 - OS/X (Darwin) + 99 - WinZip AES + remainder - unused + + + + + + Get minimum Zip feature version required to extract this entry + + + Minimum features are defined as:
+ 1.0 - Default value
+ 1.1 - File is a volume label
+ 2.0 - File is a folder/directory
+ 2.0 - File is compressed using Deflate compression
+ 2.0 - File is encrypted using traditional encryption
+ 2.1 - File is compressed using Deflate64
+ 2.5 - File is compressed using PKWARE DCL Implode
+ 2.7 - File is a patch data set
+ 4.5 - File uses Zip64 format extensions
+ 4.6 - File is compressed using BZIP2 compression
+ 5.0 - File is encrypted using DES
+ 5.0 - File is encrypted using 3DES
+ 5.0 - File is encrypted using original RC2 encryption
+ 5.0 - File is encrypted using RC4 encryption
+ 5.1 - File is encrypted using AES encryption
+ 5.1 - File is encrypted using corrected RC2 encryption
+ 5.1 - File is encrypted using corrected RC2-64 encryption
+ 6.1 - File is encrypted using non-OAEP key wrapping
+ 6.2 - Central directory encryption (not confirmed yet)
+ 6.3 - File is compressed using LZMA
+ 6.3 - File is compressed using PPMD+
+ 6.3 - File is encrypted using Blowfish
+ 6.3 - File is encrypted using Twofish
+
+ +
+ + + Get a value indicating wether this entry can be decompressed by the library. + + This is based on the and + wether the compression method is supported. + + + + Gets a value indicating if the entry requires Zip64 extensions + to store the full entry values. + + A value of true if a local header requires Zip64 extensions; false if not. + + + + Get a value indicating wether the central directory entry requires Zip64 extensions to be stored. + + + + + Get/Set DosTime value. + + + The MS-DOS date format can only represent dates between 1/1/1980 and 12/31/2107. + + + + + Gets/Sets the time of last modification of the entry. + + + The property is updated to match this as far as possible. + + + + + Returns the entry name. + + + The unix naming convention is followed. + Path components in the entry should always separated by forward slashes ('/'). + Dos device names like C: should also be removed. + See the class, or + + + + + Gets/Sets the size of the uncompressed data. + + + The size or -1 if unknown. + + Setting the size before adding an entry to an archive can help + avoid compatability problems with some archivers which dont understand Zip64 extensions. + + + + Gets/Sets the size of the compressed data. + + + The compressed entry size or -1 if unknown. + + + + + Gets/Sets the crc of the uncompressed data. + + + Crc is not in the range 0..0xffffffffL + + + The crc value or -1 if unknown. + + + + + Gets/Sets the compression method. Only Deflated and Stored are supported. + + + The compression method for this entry + + + + + + + Gets/Sets the extra data. + + + Extra data is longer than 64KB (0xffff) bytes. + + + Extra data or null if not set. + + + + + Gets/Sets the entry comment. + + + If comment is longer than 0xffff. + + + The comment or null if not set. + + + A comment is only available for entries when read via the class. + The class doesnt have the comment data available. + + + + + Gets a value indicating if the entry is a directory. + however. + + + A directory is determined by an entry name with a trailing slash '/'. + The external file attributes can also indicate an entry is for a directory. + Currently only dos/windows attributes are tested in this manner. + The trailing slash convention should always be followed. + + + + + Get a value of true if the entry appears to be a file; false otherwise + + + This only takes account of DOS/Windows attributes. Other operating systems are ignored. + For linux and others the result may be incorrect. + + + + + ExtraData tagged value interface. + + + + + Set the contents of this instance from the data passed. + + The data to extract contents from. + The offset to begin extracting data from. + The number of bytes to extract. + + + + Get the data representing this instance. + + Returns the data for this instance. + + + + Get the ID for this tagged data value. + + + + + A raw binary tagged value + + + + + Initialise a new instance. + + The tag ID. + + + + Set the data from the raw values provided. + + The raw data to extract values from. + The index to start extracting values from. + The number of bytes available. + + + + Get the binary data representing this instance. + + The raw binary data representing this instance. + + + + The tag ID for this instance. + + + + + Get the ID for this tagged data value. + + + + + Get /set the binary data representing this instance. + + The raw binary data representing this instance. + + + + Class representing extended unix date time values. + + + + + Set the data from the raw values provided. + + The raw data to extract values from. + The index to start extracting values from. + The number of bytes available. + + + + Get the binary data representing this instance. + + The raw binary data representing this instance. + + + + Test a value to see if is valid and can be represented here. + + The value to test. + Returns true if the value is valid and can be represented; false if not. + The standard Unix time is a signed integer data type, directly encoding the Unix time number, + which is the number of seconds since 1970-01-01. + Being 32 bits means the values here cover a range of about 136 years. + The minimum representable time is 1901-12-13 20:45:52, + and the maximum representable time is 2038-01-19 03:14:07. + + + + + Get the ID + + + + + Get /set the Modification Time + + + + + + + Get / set the Access Time + + + + + + + Get / Set the Create Time + + + + + + + Get/set the values to include. + + + + + Flags indicate which values are included in this instance. + + + + + The modification time is included + + + + + The access time is included + + + + + The create time is included. + + + + + Class handling NT date time values. + + + + + Set the data from the raw values provided. + + The raw data to extract values from. + The index to start extracting values from. + The number of bytes available. + + + + Get the binary data representing this instance. + + The raw binary data representing this instance. + + + + Test a valuie to see if is valid and can be represented here. + + The value to test. + Returns true if the value is valid and can be represented; false if not. + + NTFS filetimes are 64-bit unsigned integers, stored in Intel + (least significant byte first) byte order. They determine the + number of 1.0E-07 seconds (1/10th microseconds!) past WinNT "epoch", + which is "01-Jan-1601 00:00:00 UTC". 28 May 60056 is the upper limit + + + + + Get the ID for this tagged data value. + + + + + Get/set the last modification time. + + + + + Get /set the create time + + + + + Get /set the last access time. + + + + + A factory that creates tagged data instances. + + + + + Get data for a specific tag value. + + The tag ID to find. + The data to search. + The offset to begin extracting data from. + The number of bytes to extract. + The located value found, or null if not found. + + + + + A class to handle the extra data field for Zip entries + + + Extra data contains 0 or more values each prefixed by a header tag and length. + They contain zero or more bytes of actual data. + The data is held internally using a copy on write strategy. This is more efficient but + means that for extra data created by passing in data can have the values modified by the caller + in some circumstances. + + + + + Initialise a default instance. + + + + + Initialise with known extra data. + + The extra data. + + + + Get the raw extra data value + + Returns the raw byte[] extra data this instance represents. + + + + Clear the stored data. + + + + + Get a read-only for the associated tag. + + The tag to locate data for. + Returns a containing tag data or null if no tag was found. + + + + Get the tagged data for a tag. + + The tag to search for. + Returns a tagged value or null if none found. + + + + Find an extra data value + + The identifier for the value to find. + Returns true if the value was found; false otherwise. + + + + Add a new entry to extra data. + + The value to add. + + + + Add a new entry to extra data + + The ID for this entry. + The data to add. + If the ID already exists its contents are replaced. + + + + Start adding a new entry. + + Add data using , , , or . + The new entry is completed and actually added by calling + + + + + Add entry data added since using the ID passed. + + The identifier to use for this entry. + + + + Add a byte of data to the pending new entry. + + The byte to add. + + + + + Add data to a pending new entry. + + The data to add. + + + + + Add a short value in little endian order to the pending new entry. + + The data to add. + + + + + Add an integer value in little endian order to the pending new entry. + + The data to add. + + + + + Add a long value in little endian order to the pending new entry. + + The data to add. + + + + + Delete an extra data field. + + The identifier of the field to delete. + Returns true if the field was found and deleted. + + + + Read a long in little endian form from the last found data value + + Returns the long value read. + + + + Read an integer in little endian form from the last found data value. + + Returns the integer read. + + + + Read a short value in little endian form from the last found data value. + + Returns the short value read. + + + + Read a byte from an extra data + + The byte value read or -1 if the end of data has been reached. + + + + Skip data during reading. + + The number of bytes to skip. + + + + Internal form of that reads data at any location. + + Returns the short value read. + + + + Dispose of this instance. + + + + + Gets the current extra data length. + + + + + Get the length of the last value found by + + This is only value if has previsouly returned true. + + + + Get the index for the current read value. + + This is only valid if has previously returned true. + Initially it will be the index of the first byte of actual data. The value is updated after calls to + , and . + + + + Get the number of bytes remaining to be read for the current value; + + + + + Holds data pertinent to a data descriptor. + + + + + Get /set the compressed size of data. + + + + + Get / set the uncompressed size of data + + + + + Get /set the crc value. + + + + + This class assists with writing/reading from Zip files. + + + + + Initialise an instance of this class. + + The name of the file to open. + + + + Initialise a new instance of . + + The stream to use. + + + + Close the stream. + + + The underlying stream is closed only if is true. + + + + + Locates a block with the desired . + + The signature to find. + Location, marking the end of block. + Minimum size of the block. + The maximum variable data. + Eeturns the offset of the first byte after the signature; -1 if not found + + + + Write Zip64 end of central directory records (File header and locator). + + The number of entries in the central directory. + The size of entries in the central directory. + The offset of the dentral directory. + + + + Write the required records to end the central directory. + + The number of entries in the directory. + The size of the entries in the directory. + The start of the central directory. + The archive comment. (This can be null). + + + + Read an unsigned short in little endian byte order. + + Returns the value read. + + An i/o error occurs. + + + The file ends prematurely + + + + + Read an int in little endian byte order. + + Returns the value read. + + An i/o error occurs. + + + The file ends prematurely + + + + + Read a long in little endian byte order. + + The value read. + + + + Write an unsigned short in little endian byte order. + + The value to write. + + + + Write a ushort in little endian byte order. + + The value to write. + + + + Write an int in little endian byte order. + + The value to write. + + + + Write a uint in little endian byte order. + + The value to write. + + + + Write a long in little endian byte order. + + The value to write. + + + + Write a ulong in little endian byte order. + + The value to write. + + + + Write a data descriptor. + + The entry to write a descriptor for. + Returns the number of descriptor bytes written. + + + + Read data descriptor at the end of compressed data. + + if set to true [zip64]. + The data to fill in. + Returns the number of bytes read in the descriptor. + + + + Get / set a value indicating wether the the underlying stream is owned or not. + + If the stream is owned it is closed when this instance is closed. + + + + Inflater is used to decompress data that has been compressed according + to the "deflate" standard described in rfc1951. + + By default Zlib (rfc1950) headers and footers are expected in the input. + You can use constructor public Inflater(bool noHeader) passing true + if there is no Zlib header information + + The usage is as following. First you have to set some input with + SetInput(), then Inflate() it. If inflate doesn't + inflate any bytes there may be three reasons: +
    +
  • IsNeedingInput() returns true because the input buffer is empty. + You have to provide more input with SetInput(). + NOTE: IsNeedingInput() also returns true when, the stream is finished. +
  • +
  • IsNeedingDictionary() returns true, you have to provide a preset + dictionary with SetDictionary().
  • +
  • IsFinished returns true, the inflater has finished.
  • +
+ Once the first output byte is produced, a dictionary will not be + needed at a later stage. + + author of the original java version : John Leuner, Jochen Hoenicke +
+
+ + + These are the possible states for an inflater + + + + + Copy lengths for literal codes 257..285 + + + + + Extra bits for literal codes 257..285 + + + + + Copy offsets for distance codes 0..29 + + + + + Extra bits for distance codes + + + + + This variable contains the current state. + + + + + The adler checksum of the dictionary or of the decompressed + stream, as it is written in the header resp. footer of the + compressed stream. + Only valid if mode is DECODE_DICT or DECODE_CHKSUM. + + + + + The number of bits needed to complete the current state. This + is valid, if mode is DECODE_DICT, DECODE_CHKSUM, + DECODE_HUFFMAN_LENBITS or DECODE_HUFFMAN_DISTBITS. + + + + + True, if the last block flag was set in the last block of the + inflated stream. This means that the stream ends after the + current block. + + + + + The total number of inflated bytes. + + + + + The total number of bytes set with setInput(). This is not the + value returned by the TotalIn property, since this also includes the + unprocessed input. + + + + + This variable stores the noHeader flag that was given to the constructor. + True means, that the inflated stream doesn't contain a Zlib header or + footer. + + + + + Creates a new inflater or RFC1951 decompressor + RFC1950/Zlib headers and footers will be expected in the input data + + + + + Creates a new inflater. + + + True if no RFC1950/Zlib header and footer fields are expected in the input data + + This is used for GZIPed/Zipped input. + + For compatibility with + Sun JDK you should provide one byte of input more than needed in + this case. + + + + + Resets the inflater so that a new stream can be decompressed. All + pending input and output will be discarded. + + + + + Decodes a zlib/RFC1950 header. + + + False if more input is needed. + + + The header is invalid. + + + + + Decodes the dictionary checksum after the deflate header. + + + False if more input is needed. + + + + + Decodes the huffman encoded symbols in the input stream. + + + false if more input is needed, true if output window is + full or the current block ends. + + + if deflated stream is invalid. + + + + + Decodes the adler checksum after the deflate stream. + + + false if more input is needed. + + + If checksum doesn't match. + + + + + Decodes the deflated stream. + + + false if more input is needed, or if finished. + + + if deflated stream is invalid. + + + + + Sets the preset dictionary. This should only be called, if + needsDictionary() returns true and it should set the same + dictionary, that was used for deflating. The getAdler() + function returns the checksum of the dictionary needed. + + + The dictionary. + + + + + Sets the preset dictionary. This should only be called, if + needsDictionary() returns true and it should set the same + dictionary, that was used for deflating. The getAdler() + function returns the checksum of the dictionary needed. + + + The dictionary. + + + The index into buffer where the dictionary starts. + + + The number of bytes in the dictionary. + + + No dictionary is needed. + + + The adler checksum for the buffer is invalid + + + + + Sets the input. This should only be called, if needsInput() + returns true. + + + the input. + + + + + Sets the input. This should only be called, if needsInput() + returns true. + + + The source of input data + + + The index into buffer where the input starts. + + + The number of bytes of input to use. + + + No input is needed. + + + The index and/or count are wrong. + + + + + Inflates the compressed stream to the output buffer. If this + returns 0, you should check, whether IsNeedingDictionary(), + IsNeedingInput() or IsFinished() returns true, to determine why no + further output is produced. + + + the output buffer. + + + The number of bytes written to the buffer, 0 if no further + output can be produced. + + + if buffer has length 0. + + + if deflated stream is invalid. + + + + + Inflates the compressed stream to the output buffer. If this + returns 0, you should check, whether needsDictionary(), + needsInput() or finished() returns true, to determine why no + further output is produced. + + + the output buffer. + + + the offset in buffer where storing starts. + + + the maximum number of bytes to output. + + + the number of bytes written to the buffer, 0 if no further output can be produced. + + + if count is less than 0. + + + if the index and / or count are wrong. + + + if deflated stream is invalid. + + + + + Returns true, if the input buffer is empty. + You should then call setInput(). + NOTE: This method also returns true when the stream is finished. + + + + + Returns true, if a preset dictionary is needed to inflate the input. + + + + + Returns true, if the inflater has finished. This means, that no + input is needed and no output can be produced. + + + + + Gets the adler checksum. This is either the checksum of all + uncompressed bytes returned by inflate(), or if needsDictionary() + returns true (and thus no output was yet produced) this is the + adler checksum of the expected dictionary. + + + the adler checksum. + + + + + Gets the total number of output bytes returned by Inflate(). + + + the total number of output bytes. + + + + + Gets the total number of processed compressed input bytes. + + + The total number of bytes of processed input bytes. + + + + + Gets the number of unprocessed input bytes. Useful, if the end of the + stream is reached and you want to further process the bytes after + the deflate stream. + + + The number of bytes of the input which have not been processed. + + + + + An input stream that decompresses files in the BZip2 format + + + + + Construct instance for reading from stream + + Data source + + + + Flushes the stream. + + + + + Set the streams position. This operation is not supported and will throw a NotSupportedException + + A byte offset relative to the parameter. + A value of type indicating the reference point used to obtain the new position. + The new position of the stream. + Any access + + + + Sets the length of this stream to the given value. + This operation is not supported and will throw a NotSupportedExceptionortedException + + The new length for the stream. + Any access + + + + Writes a block of bytes to this stream using data from a buffer. + This operation is not supported and will throw a NotSupportedException + + The buffer to source data from. + The offset to start obtaining data from. + The number of bytes of data to write. + Any access + + + + Writes a byte to the current position in the file stream. + This operation is not supported and will throw a NotSupportedException + + The value to write. + Any access + + + + Read a sequence of bytes and advances the read position by one byte. + + Array of bytes to store values in + Offset in array to begin storing data + The maximum number of bytes to read + The total number of bytes read into the buffer. This might be less + than the number of bytes requested if that number of bytes are not + currently available or zero if the end of the stream is reached. + + + + + Closes the stream, releasing any associated resources. + + + + + Read a byte from stream advancing position + + byte read or -1 on end of stream + + + + Get/set flag indicating ownership of underlying stream. + When the flag is true will close the underlying stream also. + + + + + Gets a value indicating if the stream supports reading + + + + + Gets a value indicating whether the current stream supports seeking. + + + + + Gets a value indicating whether the current stream supports writing. + This property always returns false + + + + + Gets the length in bytes of the stream. + + + + + Gets or sets the streams position. + Setting the position is not supported and will throw a NotSupportException + + Any attempt to set the position + + + + Computes Adler32 checksum for a stream of data. An Adler32 + checksum is not as reliable as a CRC32 checksum, but a lot faster to + compute. + + The specification for Adler32 may be found in RFC 1950. + ZLIB Compressed Data Format Specification version 3.3) + + + From that document: + + "ADLER32 (Adler-32 checksum) + This contains a checksum value of the uncompressed data + (excluding any dictionary data) computed according to Adler-32 + algorithm. This algorithm is a 32-bit extension and improvement + of the Fletcher algorithm, used in the ITU-T X.224 / ISO 8073 + standard. + + Adler-32 is composed of two sums accumulated per byte: s1 is + the sum of all bytes, s2 is the sum of all s1 values. Both sums + are done modulo 65521. s1 is initialized to 1, s2 to zero. The + Adler-32 checksum is stored as s2*65536 + s1 in most- + significant-byte first (network) order." + + "8.2. The Adler-32 algorithm + + The Adler-32 algorithm is much faster than the CRC32 algorithm yet + still provides an extremely low probability of undetected errors. + + The modulo on unsigned long accumulators can be delayed for 5552 + bytes, so the modulo operation time is negligible. If the bytes + are a, b, c, the second sum is 3a + 2b + c + 3, and so is position + and order sensitive, unlike the first sum, which is just a + checksum. That 65521 is prime is important to avoid a possible + large class of two-byte errors that leave the check unchanged. + (The Fletcher checksum uses 255, which is not prime and which also + makes the Fletcher check insensitive to single byte changes 0 - + 255.) + + The sum s1 is initialized to 1 instead of zero to make the length + of the sequence part of s2, so that the length does not have to be + checked separately. (Any sequence of zeroes has a Fletcher + checksum of zero.)" + + + + + + + largest prime smaller than 65536 + + + + + Creates a new instance of the Adler32 class. + The checksum starts off with a value of 1. + + + + + Resets the Adler32 checksum to the initial value. + + + + + Updates the checksum with a byte value. + + + The data value to add. The high byte of the int is ignored. + + + + + Updates the checksum with an array of bytes. + + + The source of the data to update with. + + + + + Updates the checksum with the bytes taken from the array. + + + an array of bytes + + + the start of the data used for this update + + + the number of bytes to use for this update + + + + + Returns the Adler32 data checksum computed so far. + + +
+
diff --git a/bin/Org.Mentalis.Security.dll b/bin/Org.Mentalis.Security.dll new file mode 100644 index 0000000..bac39dd Binary files /dev/null and b/bin/Org.Mentalis.Security.dll differ diff --git a/bin/Tamir.SharpSSH.dll b/bin/Tamir.SharpSSH.dll new file mode 100644 index 0000000..c2f67a8 Binary files /dev/null and b/bin/Tamir.SharpSSH.dll differ diff --git a/bin/Winterdom.IO.FileMap.dll b/bin/Winterdom.IO.FileMap.dll new file mode 100644 index 0000000..f3965d6 Binary files /dev/null and b/bin/Winterdom.IO.FileMap.dll differ diff --git a/bin/Winterdom.IO.FileMap.pdb b/bin/Winterdom.IO.FileMap.pdb new file mode 100644 index 0000000..8368cfc Binary files /dev/null and b/bin/Winterdom.IO.FileMap.pdb differ -- cgit v1.1 From e0d533dc4ea95f88ed647fa9243325499e122e45 Mon Sep 17 00:00:00 2001 From: Tom Grimshaw Date: Fri, 25 Jun 2010 12:55:02 -0700 Subject: Add [Git] section to OpenSim.ini.example for Gitminster --- bin/OpenSim.ini.example | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index c21dc98..d08cf1d 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -883,6 +883,9 @@ PriceObjectScaleFactor = 10 PriceParcelRent = 1 +[Git] +Enabled = 1 +RepoPath = "/git" [SVN] Enabled = false -- cgit v1.1 From 3ef70b55e9e8a69afc6dc27e01a294193e03e6d6 Mon Sep 17 00:00:00 2001 From: Tom Grimshaw Date: Fri, 25 Jun 2010 12:58:13 -0700 Subject: Whoops, enabled = true not enabled = 1 --- bin/OpenSim.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index d08cf1d..180c100 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -884,7 +884,7 @@ PriceParcelRent = 1 [Git] -Enabled = 1 +Enabled = true RepoPath = "/git" [SVN] -- cgit v1.1 From 8daa149c367d6d3f51d41663d6e518af3354addd Mon Sep 17 00:00:00 2001 From: Tom Grimshaw Date: Fri, 25 Jun 2010 13:03:00 -0700 Subject: Remove the prepending slash from the default git repo name --- bin/OpenSim.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 180c100..6fdfcf2 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -885,7 +885,7 @@ [Git] Enabled = true -RepoPath = "/git" +RepoPath = "git" [SVN] Enabled = false -- cgit v1.1 From d3d63fe553e335adc6d3a0dbd7907ea6733cb428 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Sat, 26 Jun 2010 06:21:38 +0200 Subject: remove conflicting pdb debug files --- bin/GitSharp.Core.pdb | Bin 1906176 -> 0 bytes bin/GitSharp.pdb | Bin 347648 -> 0 bytes bin/Winterdom.IO.FileMap.pdb | Bin 24064 -> 0 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bin/GitSharp.Core.pdb delete mode 100644 bin/GitSharp.pdb delete mode 100644 bin/Winterdom.IO.FileMap.pdb (limited to 'bin') diff --git a/bin/GitSharp.Core.pdb b/bin/GitSharp.Core.pdb deleted file mode 100644 index 32ad5bb..0000000 Binary files a/bin/GitSharp.Core.pdb and /dev/null differ diff --git a/bin/GitSharp.pdb b/bin/GitSharp.pdb deleted file mode 100644 index 4c65b1f..0000000 Binary files a/bin/GitSharp.pdb and /dev/null differ diff --git a/bin/Winterdom.IO.FileMap.pdb b/bin/Winterdom.IO.FileMap.pdb deleted file mode 100644 index 8368cfc..0000000 Binary files a/bin/Winterdom.IO.FileMap.pdb and /dev/null differ -- cgit v1.1 From 6c6c7b09273a465993b7893b235f8ebfd5b0dcf5 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Sat, 26 Jun 2010 06:25:03 +0200 Subject: Remove libs from main tree --- bin/DiffieHellman.dll | Bin 53248 -> 0 bytes bin/GitSharp.Core.dll | Bin 558080 -> 0 bytes bin/GitSharp.dll | Bin 219648 -> 0 bytes bin/ICSharpCode.SharpZipLib.dll | Bin 188416 -> 0 bytes bin/ICSharpCode.SharpZipLib.xml | 9055 --------------------------------------- bin/Org.Mentalis.Security.dll | Bin 184320 -> 0 bytes bin/Tamir.SharpSSH.dll | Bin 212992 -> 0 bytes bin/Winterdom.IO.FileMap.dll | Bin 9728 -> 0 bytes 8 files changed, 9055 deletions(-) delete mode 100644 bin/DiffieHellman.dll delete mode 100644 bin/GitSharp.Core.dll delete mode 100644 bin/GitSharp.dll delete mode 100644 bin/ICSharpCode.SharpZipLib.dll delete mode 100644 bin/ICSharpCode.SharpZipLib.xml delete mode 100644 bin/Org.Mentalis.Security.dll delete mode 100644 bin/Tamir.SharpSSH.dll delete mode 100644 bin/Winterdom.IO.FileMap.dll (limited to 'bin') diff --git a/bin/DiffieHellman.dll b/bin/DiffieHellman.dll deleted file mode 100644 index aa31051..0000000 Binary files a/bin/DiffieHellman.dll and /dev/null differ diff --git a/bin/GitSharp.Core.dll b/bin/GitSharp.Core.dll deleted file mode 100644 index 5aad773..0000000 Binary files a/bin/GitSharp.Core.dll and /dev/null differ diff --git a/bin/GitSharp.dll b/bin/GitSharp.dll deleted file mode 100644 index 99a91a7..0000000 Binary files a/bin/GitSharp.dll and /dev/null differ diff --git a/bin/ICSharpCode.SharpZipLib.dll b/bin/ICSharpCode.SharpZipLib.dll deleted file mode 100644 index e565e3a..0000000 Binary files a/bin/ICSharpCode.SharpZipLib.dll and /dev/null differ diff --git a/bin/ICSharpCode.SharpZipLib.xml b/bin/ICSharpCode.SharpZipLib.xml deleted file mode 100644 index 98cb51e..0000000 --- a/bin/ICSharpCode.SharpZipLib.xml +++ /dev/null @@ -1,9055 +0,0 @@ - - - - ICSharpCode.SharpZipLib - - - - - FastZipEvents supports all events applicable to FastZip operations. - - - - - Delegate to invoke when processing directories. - - - - - Delegate to invoke when processing files. - - - - - Delegate to invoke during processing of files. - - - - - Delegate to invoke when processing for a file has been completed. - - - - - Delegate to invoke when processing directory failures. - - - - - Delegate to invoke when processing file failures. - - - - - Raise the directory failure event. - - The directory causing the failure. - The exception for this event. - A boolean indicating if execution should continue or not. - - - - Raises the file failure delegate. - - The file causing the failure. - The exception for this failure. - A boolean indicating if execution should continue or not. - - - - Fires the Process File delegate. - - The file being processed. - A boolean indicating if execution should continue or not. - - - - Fires the CompletedFile delegate - - The file whose processing has been completed. - A boolean indicating if execution should continue or not. - - - - Fires the process directory delegate. - - The directory being processed. - Flag indicating if the directory has matching files as determined by the current filter. - A of true if the operation should continue; false otherwise. - - - - The minimum timespan between events. - - The minimum period of time between events. - - - - - FastZip provides facilities for creating and extracting zip files. - - - - - Initialise a default instance of . - - - - - Initialise a new instance of - - The events to use during operations. - - - - Create a zip file. - - The name of the zip file to create. - The directory to source files from. - True to recurse directories, false for no recursion. - The file filter to apply. - The directory filter to apply. - - - - Create a zip file/archive. - - The name of the zip file to create. - The directory to obtain files and directories from. - True to recurse directories, false for no recursion. - The file filter to apply. - - - - Create a zip archive sending output to the passed. - - The stream to write archive data to. - The directory to source files from. - True to recurse directories, false for no recursion. - The file filter to apply. - The directory filter to apply. - - - - Extract the contents of a zip file. - - The zip file to extract from. - The directory to save extracted information in. - A filter to apply to files. - - - - Extract the contents of a zip file. - - The zip file to extract from. - The directory to save extracted information in. - The style of overwriting to apply. - A delegate to invoke when confirming overwriting. - A filter to apply to files. - A filter to apply to directories. - Flag indicating wether to restore the date and time for extracted files. - - - - Get/set a value indicating wether empty directories should be created. - - - - - Get / set the password value. - - - - - Get or set the active when creating Zip files. - - - - - - Get or set the active when creating Zip files. - - - - - Get/set a value indicating wether file dates and times should - be restored when extracting files from an archive. - - The default value is false. - - - - Get/set a value indicating wether file attributes should - be restored during extract operations - - - - - Defines the desired handling when overwriting files during extraction. - - - - - Prompt the user to confirm overwriting - - - - - Never overwrite files. - - - - - Always overwrite files. - - - - - Delegate called when confirming overwriting of files. - - - - - NameFilter is a string matching class which allows for both positive and negative - matching. - A filter is a sequence of independant regular expressions separated by semi-colons ';' - Each expression can be prefixed by a plus '+' sign or a minus '-' sign to denote the expression - is intended to include or exclude names. If neither a plus or minus sign is found include is the default - A given name is tested for inclusion before checking exclusions. Only names matching an include spec - and not matching an exclude spec are deemed to match the filter. - An empty filter matches any name. - - The following expression includes all name ending in '.dat' with the exception of 'dummy.dat' - "+\.dat$;-^dummy\.dat$" - - - - - Scanning filters support filtering of names. - - - - - Test a name to see if it 'matches' the filter. - - The name to test. - Returns true if the name matches the filter, false if it does not match. - - - - Construct an instance based on the filter expression passed - - The filter expression. - - - - Test a string to see if it is a valid regular expression. - - The expression to test. - True if expression is a valid false otherwise. - - - - Test an expression to see if it is valid as a filter. - - The filter expression to test. - True if the expression is valid, false otherwise. - - - - Convert this filter to its string equivalent. - - The string equivalent for this filter. - - - - Test a value to see if it is included by the filter. - - The value to test. - True if the value is included, false otherwise. - - - - Test a value to see if it is excluded by the filter. - - The value to test. - True if the value is excluded, false otherwise. - - - - Test a value to see if it matches the filter. - - The value to test. - True if the value matches, false otherwise. - - - - Compile this filter. - - - - - Huffman tree used for inflation - - - - - Literal length tree - - - - - Distance tree - - - - - Constructs a Huffman tree from the array of code lengths. - - - the array of code lengths - - - - - Reads the next symbol from input. The symbol is encoded using the - huffman tree. - - - input the input source. - - - the next symbol, or -1 if not enough input is available. - - - - - This class is general purpose class for writing data to a buffer. - - It allows you to write bits as well as bytes - Based on DeflaterPending.java - - author of the original java version : Jochen Hoenicke - - - - - Internal work buffer - - - - - construct instance using default buffer size of 4096 - - - - - construct instance using specified buffer size - - - size to use for internal buffer - - - - - Clear internal state/buffers - - - - - Write a byte to buffer - - - The value to write - - - - - Write a short value to buffer LSB first - - - The value to write. - - - - - write an integer LSB first - - The value to write. - - - - Write a block of data to buffer - - data to write - offset of first byte to write - number of bytes to write - - - - Align internal buffer on a byte boundary - - - - - Write bits to internal buffer - - source of bits - number of bits to write - - - - Write a short value to internal buffer most significant byte first - - value to write - - - - Flushes the pending buffer into the given output array. If the - output array is to small, only a partial flush is done. - - The output array. - The offset into output array. - The maximum number of bytes to store. - The number of bytes flushed. - - - - Convert internal buffer to byte array. - Buffer is empty on completion - - - The internal buffer contents converted to a byte array. - - - - - The number of bits written to the buffer - - - - - Indicates if buffer has been flushed - - - - - Used to advise clients of 'events' while processing archives - - - - - The TarArchive class implements the concept of a - 'Tape Archive'. A tar archive is a series of entries, each of - which represents a file system object. Each entry in - the archive consists of a header block followed by 0 or more data blocks. - Directory entries consist only of the header block, and are followed by entries - for the directory's contents. File entries consist of a - header followed by the number of blocks needed to - contain the file's contents. All entries are written on - block boundaries. Blocks are 512 bytes long. - - TarArchives are instantiated in either read or write mode, - based upon whether they are instantiated with an InputStream - or an OutputStream. Once instantiated TarArchives read/write - mode can not be changed. - - There is currently no support for random access to tar archives. - However, it seems that subclassing TarArchive, and using the - TarBuffer.CurrentRecord and TarBuffer.CurrentBlock - properties, this would be rather trivial. - - - - - Raises the ProgressMessage event - - The TarEntry for this event - message for this event. Null is no message - - - - Constructor for a default . - - - - - Initalise a TarArchive for input. - - The to use for input. - - - - Initialise a TarArchive for output. - - The to use for output. - - - - The InputStream based constructors create a TarArchive for the - purposes of extracting or listing a tar archive. Thus, use - these constructors when you wish to extract files from or list - the contents of an existing tar archive. - - The stream to retrieve archive data from. - Returns a new suitable for reading from. - - - - Create TarArchive for reading setting block factor - - Stream for tar archive contents - The blocking factor to apply - Returns a suitable for reading. - - - - Create a TarArchive for writing to, using the default blocking factor - - The to write to - Returns a suitable for writing. - - - - Create a TarArchive for writing to - - The stream to write to - The blocking factor to use for buffering. - Returns a suitable for writing. - - - - Set the flag that determines whether existing files are - kept, or overwritten during extraction. - - - If true, do not overwrite existing files. - - - - - Set the ascii file translation flag. - - - If true, translate ascii text files. - - - - - Set user and group information that will be used to fill in the - tar archive's entry headers. This information based on that available - for the linux operating system, which is not always available on other - operating systems. TarArchive allows the programmer to specify values - to be used in their place. - is set to true by this call. - - - The user id to use in the headers. - - - The user name to use in the headers. - - - The group id to use in the headers. - - - The group name to use in the headers. - - - - - Close the archive. - - - - - Perform the "list" command for the archive contents. - - NOTE That this method uses the progress event to actually list - the contents. If the progress display event is not set, nothing will be listed! - - - - - Perform the "extract" command and extract the contents of the archive. - - - The destination directory into which to extract. - - - - - Extract an entry from the archive. This method assumes that the - tarIn stream has been properly set with a call to GetNextEntry(). - - - The destination directory into which to extract. - - - The TarEntry returned by tarIn.GetNextEntry(). - - - - - Write an entry to the archive. This method will call the putNextEntry - and then write the contents of the entry, and finally call closeEntry() - for entries that are files. For directories, it will call putNextEntry(), - and then, if the recurse flag is true, process each entry that is a - child of the directory. - - - The TarEntry representing the entry to write to the archive. - - - If true, process the children of directory entries. - - - - - Write an entry to the archive. This method will call the putNextEntry - and then write the contents of the entry, and finally call closeEntry() - for entries that are files. For directories, it will call putNextEntry(), - and then, if the recurse flag is true, process each entry that is a - child of the directory. - - - The TarEntry representing the entry to write to the archive. - - - If true, process the children of directory entries. - - - - - Releases the unmanaged resources used by the FileStream and optionally releases the managed resources. - - true to release both managed and unmanaged resources; - false to release only unmanaged resources. - - - - Closes the archive and releases any associated resources. - - - - - Ensures that resources are freed and other cleanup operations are performed - when the garbage collector reclaims the . - - - - - Client hook allowing detailed information to be reported during processing - - - - - Get/set the ascii file translation flag. If ascii file translation - is true, then the file is checked to see if it a binary file or not. - If the flag is true and the test indicates it is ascii text - file, it will be translated. The translation converts the local - operating system's concept of line ends into the UNIX line end, - '\n', which is the defacto standard for a TAR archive. This makes - text files compatible with UNIX. - - - - - PathPrefix is added to entry names as they are written if the value is not null. - A slash character is appended after PathPrefix - - - - - RootPath is removed from entry names if it is found at the - beginning of the name. - - - - - Get or set a value indicating if overrides defined by SetUserInfo should be applied. - - If overrides are not applied then the values as set in each header will be used. - - - - Get the archive user id. - See ApplyUserInfoOverrides for detail - on how to allow setting values on a per entry basis. - - - The current user id. - - - - - Get the archive user name. - See ApplyUserInfoOverrides for detail - on how to allow setting values on a per entry basis. - - - The current user name. - - - - - Get the archive group id. - See ApplyUserInfoOverrides for detail - on how to allow setting values on a per entry basis. - - - The current group id. - - - - - Get the archive group name. - See ApplyUserInfoOverrides for detail - on how to allow setting values on a per entry basis. - - - The current group name. - - - - - Get the archive's record size. Tar archives are composed of - a series of RECORDS each containing a number of BLOCKS. - This allowed tar archives to match the IO characteristics of - the physical device being used. Archives are expected - to be properly "blocked". - - - The record size this archive is using. - - - - - An output stream that compresses into the BZip2 format - including file header chars into another stream. - - - - - Construct a default output stream with maximum block size - - The stream to write BZip data onto. - - - - Initialise a new instance of the - for the specified stream, using the given blocksize. - - The stream to write compressed data to. - The block size to use. - - Valid block sizes are in the range 1..9, with 1 giving - the lowest compression and 9 the highest. - - - - - Ensures that resources are freed and other cleanup operations - are performed when the garbage collector reclaims the BZip2OutputStream. - - - - - Sets the current position of this stream to the given value. - - The point relative to the offset from which to being seeking. - The reference point from which to begin seeking. - The new position in the stream. - - - - Sets the length of this stream to the given value. - - The new stream length. - - - - Read a byte from the stream advancing the position. - - The byte read cast to an int; -1 if end of stream. - - - - Read a block of bytes - - The buffer to read into. - The offset in the buffer to start storing data at. - The maximum number of bytes to read. - The total number of bytes read. This might be less than the number of bytes - requested if that number of bytes are not currently available, or zero - if the end of the stream is reached. - - - - Write a block of bytes to the stream - - The buffer containing data to write. - The offset of the first byte to write. - The number of bytes to write. - - - - Write a byte to the stream. - - The byte to write to the stream. - - - - End the current block and end compression. - Close the stream and free any resources - - - - - Get the number of bytes written to output. - - - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Flush output buffers - - - - - Get/set flag indicating ownership of underlying stream. - When the flag is true will close the underlying stream also. - - - - - Gets a value indicating whether the current stream supports reading - - - - - Gets a value indicating whether the current stream supports seeking - - - - - Gets a value indicating whether the current stream supports writing - - - - - Gets the length in bytes of the stream - - - - - Gets or sets the current position of this stream. - - - - - Get the number of bytes written to the output. - - - - - Represents exception conditions specific to Zip archive handling - - - - - SharpZipBaseException is the base exception class for the SharpZipLibrary. - All library exceptions are derived from this. - - NOTE: Not all exceptions thrown will be derived from this class. - A variety of other exceptions are possible for example - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initializes a new instance of the SharpZipBaseException class. - - - - - Initializes a new instance of the SharpZipBaseException class with a specified error message. - - A message describing the exception. - - - - Initializes a new instance of the SharpZipBaseException class with a specified - error message and a reference to the inner exception that is the cause of this exception. - - A message describing the exception. - The inner exception - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initializes a new instance of the ZipException class. - - - - - Initializes a new instance of the ZipException class with a specified error message. - - The error message that explains the reason for the exception. - - - - Initialise a new instance of ZipException. - - A message describing the error. - The exception that is the cause of the current exception. - - - - A helper class to simplify compressing and decompressing streams. - - - - - Decompress input writing - decompressed data to the output stream - - The stream containing data to decompress. - The stream to write decompressed data to. - Both streams are closed on completion - - - - Compress input stream sending - result to output stream - - The stream to compress. - The stream to write compressed data to. - The block size to use. - Both streams are closed on completion - - - - Initialise a default instance of this class. - - - - - Determines how entries are tested to see if they should use Zip64 extensions or not. - - - - - Zip64 will not be forced on entries during processing. - - An entry can have this overridden if required - - - - Zip64 should always be used. - - - - - #ZipLib will determine use based on entry values when added to archive. - - - - - The kind of compression used for an entry in an archive - - - - - A direct copy of the file contents is held in the archive - - - - - Common Zip compression method using a sliding dictionary - of up to 32KB and secondary compression from Huffman/Shannon-Fano trees - - - - - An extension to deflate with a 64KB window. Not supported by #Zip currently - - - - - Not supported by #Zip currently - - - - - WinZip special for AES encryption, Not supported by #Zip - - - - - Identifies the encryption algorithm used for an entry - - - - - No encryption has been used. - - - - - Encrypted using PKZIP 2.0 or 'classic' encryption. - - - - - DES encryption has been used. - - - - - RCS encryption has been used for encryption. - - - - - Triple DES encryption with 168 bit keys has been used for this entry. - - - - - Triple DES with 112 bit keys has been used for this entry. - - - - - AES 128 has been used for encryption. - - - - - AES 192 has been used for encryption. - - - - - AES 256 has been used for encryption. - - - - - RC2 corrected has been used for encryption. - - - - - Blowfish has been used for encryption. - - - - - Twofish has been used for encryption. - - - - - RCS has been used for encryption. - - - - - An unknown algorithm has been used for encryption. - - - - - Defines the contents of the general bit flags field for an archive entry. - - - - - Bit 0 if set indicates that the file is encrypted - - - - - Bits 1 and 2 - Two bits defining the compression method (only for Method 6 Imploding and 8,9 Deflating) - - - - - Bit 3 if set indicates a trailing data desciptor is appended to the entry data - - - - - Bit 4 is reserved for use with method 8 for enhanced deflation - - - - - Bit 5 if set indicates the file contains Pkzip compressed patched data. - Requires version 2.7 or greater. - - - - - Bit 6 if set strong encryption has been used for this entry. - - - - - Bit 7 is currently unused - - - - - Bit 8 is currently unused - - - - - Bit 9 is currently unused - - - - - Bit 10 is currently unused - - - - - Bit 11 if set indicates the filename and - comment fields for this file must be encoded using UTF-8. - - - - - Bit 12 is documented as being reserved by PKware for enhanced compression. - - - - - Bit 13 if set indicates that values in the local header are masked to hide - their actual values, and the central directory is encrypted. - - - Used when encrypting the central directory contents. - - - - - Bit 14 is documented as being reserved for use by PKware - - - - - Bit 15 is documented as being reserved for use by PKware - - - - - This class contains constants used for Zip format files - - - - - The version made by field for entries in the central header when created by this library - - - This is also the Zip version for the library when comparing against the version required to extract - for an entry. See . - - - - - The version made by field for entries in the central header when created by this library - - - This is also the Zip version for the library when comparing against the version required to extract - for an entry. See ZipInputStream.CanDecompressEntry. - - - - - The minimum version required to support strong encryption - - - - - The minimum version required to support strong encryption - - - - - The version required for Zip64 extensions - - - - - Size of local entry header (excluding variable length fields at end) - - - - - Size of local entry header (excluding variable length fields at end) - - - - - Size of Zip64 data descriptor - - - - - Size of data descriptor - - - - - Size of data descriptor - - - - - Size of central header entry (excluding variable fields) - - - - - Size of central header entry - - - - - Size of end of central record (excluding variable fields) - - - - - Size of end of central record (excluding variable fields) - - - - - Size of 'classic' cryptographic header stored before any entry data - - - - - Size of cryptographic header stored before entry data - - - - - Signature for local entry header - - - - - Signature for local entry header - - - - - Signature for spanning entry - - - - - Signature for spanning entry - - - - - Signature for temporary spanning entry - - - - - Signature for temporary spanning entry - - - - - Signature for data descriptor - - - This is only used where the length, Crc, or compressed size isnt known when the - entry is created and the output stream doesnt support seeking. - The local entry cannot be 'patched' with the correct values in this case - so the values are recorded after the data prefixed by this header, as well as in the central directory. - - - - - Signature for data descriptor - - - This is only used where the length, Crc, or compressed size isnt known when the - entry is created and the output stream doesnt support seeking. - The local entry cannot be 'patched' with the correct values in this case - so the values are recorded after the data prefixed by this header, as well as in the central directory. - - - - - Signature for central header - - - - - Signature for central header - - - - - Signature for Zip64 central file header - - - - - Signature for Zip64 central file header - - - - - Signature for Zip64 central directory locator - - - - - Signature for archive extra data signature (were headers are encrypted). - - - - - Central header digitial signature - - - - - Central header digitial signature - - - - - End of central directory record signature - - - - - End of central directory record signature - - - - - Convert a portion of a byte array to a string. - - - Data to convert to string - - - Number of bytes to convert starting from index 0 - - - data[0]..data[length - 1] converted to a string - - - - - Convert a byte array to string - - - Byte array to convert - - - dataconverted to a string - - - - - Convert a byte array to string - - The applicable general purpose bits flags - - Byte array to convert - - The number of bytes to convert. - - dataconverted to a string - - - - - Convert a byte array to string - - - Byte array to convert - - The applicable general purpose bits flags - - dataconverted to a string - - - - - Convert a string to a byte array - - - String to convert to an array - - Converted array - - - - Convert a string to a byte array - - The applicable general purpose bits flags - - String to convert to an array - - Converted array - - - - Initialise default instance of ZipConstants - - - Private to prevent instances being created. - - - - - Default encoding used for string conversion. 0 gives the default system OEM code page. - Dont use unicode encodings if you want to be Zip compatible! - Using the default code page isnt the full solution neccessarily - there are many variable factors, codepage 850 is often a good choice for - European users, however be careful about compatability. - - - - - This is a DeflaterOutputStream that writes the files into a zip - archive one after another. It has a special method to start a new - zip entry. The zip entries contains information about the file name - size, compressed size, CRC, etc. - - It includes support for Stored and Deflated entries. - This class is not thread safe. -
-
Author of the original java version : Jochen Hoenicke -
- This sample shows how to create a zip file - - using System; - using System.IO; - - using ICSharpCode.SharpZipLib.Core; - using ICSharpCode.SharpZipLib.Zip; - - class MainClass - { - public static void Main(string[] args) - { - string[] filenames = Directory.GetFiles(args[0]); - byte[] buffer = new byte[4096]; - - using ( ZipOutputStream s = new ZipOutputStream(File.Create(args[1])) ) { - - s.SetLevel(9); // 0 - store only to 9 - means best compression - - foreach (string file in filenames) { - ZipEntry entry = new ZipEntry(file); - s.PutNextEntry(entry); - - using (FileStream fs = File.OpenRead(file)) { - StreamUtils.Copy(fs, s, buffer); - } - } - } - } - } - - -
- - - A special stream deflating or compressing the bytes that are - written to it. It uses a Deflater to perform actual deflating.
- Authors of the original java version : Tom Tromey, Jochen Hoenicke -
-
- - - Creates a new DeflaterOutputStream with a default Deflater and default buffer size. - - - the output stream where deflated output should be written. - - - - - Creates a new DeflaterOutputStream with the given Deflater and - default buffer size. - - - the output stream where deflated output should be written. - - - the underlying deflater. - - - - - Creates a new DeflaterOutputStream with the given Deflater and - buffer size. - - - The output stream where deflated output is written. - - - The underlying deflater to use - - - The buffer size to use when deflating - - - bufsize is less than or equal to zero. - - - baseOutputStream does not support writing - - - deflater instance is null - - - - - Finishes the stream by calling finish() on the deflater. - - - Not all input is deflated - - - - - Encrypt a block of data - - - Data to encrypt. NOTE the original contents of the buffer are lost - - - Offset of first byte in buffer to encrypt - - - Number of bytes in buffer to encrypt - - - - - Initializes encryption keys based on given password - - The password. - - - - Deflates everything in the input buffers. This will call - def.deflate() until all bytes from the input buffers - are processed. - - - - - Sets the current position of this stream to the given value. Not supported by this class! - - The offset relative to the to seek. - The to seek from. - The new position in the stream. - Any access - - - - Sets the length of this stream to the given value. Not supported by this class! - - The new stream length. - Any access - - - - Read a byte from stream advancing position by one - - The byte read cast to an int. THe value is -1 if at the end of the stream. - Any access - - - - Read a block of bytes from stream - - The buffer to store read data in. - The offset to start storing at. - The maximum number of bytes to read. - The actual number of bytes read. Zero if end of stream is detected. - Any access - - - - Asynchronous reads are not supported a NotSupportedException is always thrown - - The buffer to read into. - The offset to start storing data at. - The number of bytes to read - The async callback to use. - The state to use. - Returns an - Any access - - - - Asynchronous writes arent supported, a NotSupportedException is always thrown - - The buffer to write. - The offset to begin writing at. - The number of bytes to write. - The to use. - The state object. - Returns an IAsyncResult. - Any access - - - - Flushes the stream by calling Flush on the deflater and then - on the underlying stream. This ensures that all bytes are flushed. - - - - - Calls and closes the underlying - stream when is true. - - - - - Writes a single byte to the compressed output stream. - - - The byte value. - - - - - Writes bytes from an array to the compressed stream. - - - The byte array - - - The offset into the byte array where to start. - - - The number of bytes to write. - - - - - This buffer is used temporarily to retrieve the bytes from the - deflater and write them to the underlying output stream. - - - - - The deflater which is used to deflate the stream. - - - - - Base stream the deflater depends on. - - - - - Get/set flag indicating ownership of the underlying stream. - When the flag is true will close the underlying stream also. - - - - - Allows client to determine if an entry can be patched after its added - - - - - Get/set the password used for encryption. - - When set to null or if the password is empty no encryption is performed - - - - Gets value indicating stream can be read from - - - - - Gets a value indicating if seeking is supported for this stream - This property always returns false - - - - - Get value indicating if this stream supports writing - - - - - Get current length of stream - - - - - Gets the current position within the stream. - - Any attempt to set position - - - - Creates a new Zip output stream, writing a zip archive. - - - The output stream to which the archive contents are written. - - - - - Set the zip file comment. - - - The comment text for the entire archive. - - - The converted comment is longer than 0xffff bytes. - - - - - Sets the compression level. The new level will be activated - immediately. - - The new compression level (1 to 9). - - Level specified is not supported. - - - - - - Get the current deflater compression level - - The current compression level - - - - Write an unsigned short in little endian byte order. - - - - - Write an int in little endian byte order. - - - - - Write an int in little endian byte order. - - - - - Starts a new Zip entry. It automatically closes the previous - entry if present. - All entry elements bar name are optional, but must be correct if present. - If the compression method is stored and the output is not patchable - the compression for that entry is automatically changed to deflate level 0 - - - the entry. - - - if entry passed is null. - - - if an I/O error occured. - - - if stream was finished - - - Too many entries in the Zip file
- Entry name is too long
- Finish has already been called
-
-
- - - Closes the current entry, updating header and footer information as required - - - An I/O error occurs. - - - No entry is active. - - - - - Writes the given buffer to the current entry. - - The buffer containing data to write. - The offset of the first byte to write. - The number of bytes to write. - Archive size is invalid - No entry is active. - - - - Finishes the stream. This will write the central directory at the - end of the zip file and flush the stream. - - - This is automatically called when the stream is closed. - - - An I/O error occurs. - - - Comment exceeds the maximum length
- Entry name exceeds the maximum length -
-
- - - The entries for the archive. - - - - - Used to track the crc of data added to entries. - - - - - The current entry being added. - - - - - Used to track the size of data for an entry during writing. - - - - - Offset to be recorded for each entry in the central header. - - - - - Comment for the entire archive recorded in central header. - - - - - Flag indicating that header patching is required for the current entry. - - - - - Position to patch crc - - - - - Position to patch size. - - - - - Gets a flag value of true if the central header has been added for this archive; false if it has not been added. - - No further entries can be added once this has been done. - - - - Get / set a value indicating how Zip64 Extension usage is determined when adding entries. - - Older archivers may not understand Zip64 extensions. - If backwards compatability is an issue be careful when adding entries to an archive. - Setting this property to off is workable but less desirable as in those circumstances adding a file - larger then 4GB will fail. - - - - INameTransform defines how file system names are transformed for use with archives. - - - - - Given a file name determine the transformed value. - - The name to transform. - The transformed file name. - - - - Given a directory name determine the transformed value. - - The name to transform. - The transformed directory name - - - - This class contains constants used for deflation. - - - - - Set to true to enable debugging - - - - - Written to Zip file to identify a stored block - - - - - Identifies static tree in Zip file - - - - - Identifies dynamic tree in Zip file - - - - - Header flag indicating a preset dictionary for deflation - - - - - Sets internal buffer sizes for Huffman encoding - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - This class stores the pending output of the Deflater. - - author of the original java version : Jochen Hoenicke - - - - - Construct instance with default buffer size - - - - - PathFilter filters directories and files using a form of regular expressions - by full path name. - See NameFilter for more detail on filtering. - - - - - Initialise a new instance of . - - The filter expression to apply. - - - - Test a name to see if it matches the filter. - - The name to test. - True if the name matches, false otherwise. - - - - ExtendedPathFilter filters based on name, file size, and the last write time of the file. - - Provides an example of how to customise filtering. - - - - Initialise a new instance of ExtendedPathFilter. - - The filter to apply. - The minimum file size to include. - The maximum file size to include. - - - - Initialise a new instance of ExtendedPathFilter. - - The filter to apply. - The minimum to include. - The maximum to include. - - - - Initialise a new instance of ExtendedPathFilter. - - The filter to apply. - The minimum file size to include. - The maximum file size to include. - The minimum to include. - The maximum to include. - - - - Test a filename to see if it matches the filter. - - The filename to test. - True if the filter matches, false otherwise. - - - - Get/set the minimum size for a file that will match this filter. - - - - - Get/set the maximum size for a file that will match this filter. - - - - - Get/set the minimum value that will match for this filter. - - Files with a LastWrite time less than this value are excluded by the filter. - - - - Get/set the maximum value that will match for this filter. - - Files with a LastWrite time greater than this value are excluded by the filter. - - - - NameAndSizeFilter filters based on name and file size. - - A sample showing how filters might be extended. - - - - Initialise a new instance of NameAndSizeFilter. - - The filter to apply. - The minimum file size to include. - The maximum file size to include. - - - - Test a filename to see if it matches the filter. - - The filename to test. - True if the filter matches, false otherwise. - - - - Get/set the minimum size for a file that will match this filter. - - - - - Get/set the maximum size for a file that will match this filter. - - - - - BZip2Exception represents exceptions specific to Bzip2 algorithm - - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initialise a new instance of BZip2Exception. - - - - - Initialise a new instance of BZip2Exception with its message set to message. - - The message describing the error. - - - - Initialise an instance of BZip2Exception - - A message describing the error. - The exception that is the cause of the current exception. - - - - GZipException represents a Gzip specific exception - - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initialise a new instance of GZipException - - - - - Initialise a new instance of GZipException with its message string. - - A that describes the error. - - - - Initialise a new instance of . - - A that describes the error. - The that caused this exception. - - - - Contains the output from the Inflation process. - We need to have a window so that we can refer backwards into the output stream - to repeat stuff.
- Author of the original java version : John Leuner -
-
- - - Write a byte to this output window - - value to write - - if window is full - - - - - Append a byte pattern already in the window itself - - length of pattern to copy - distance from end of window pattern occurs - - If the repeated data overflows the window - - - - - Copy from input manipulator to internal window - - source of data - length of data to copy - the number of bytes copied - - - - Copy dictionary to window - - source dictionary - offset of start in source dictionary - length of dictionary - - If window isnt empty - - - - - Get remaining unfilled space in window - - Number of bytes left in window - - - - Get bytes available for output in window - - Number of bytes filled - - - - Copy contents of window to output - - buffer to copy to - offset to start at - number of bytes to count - The number of bytes copied - - If a window underflow occurs - - - - - Reset by clearing window so GetAvailable returns 0 - - - - - Defines internal values for both compression and decompression - - - - - When multiplied by compression parameter (1-9) gives the block size for compression - 9 gives the best compresssion but uses the most memory. - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Random numbers used to randomise repetitive blocks - - - - - This filter stream is used to compress a stream into a "GZIP" stream. - The "GZIP" format is described in RFC 1952. - - author of the original java version : John Leuner - - This sample shows how to gzip a file - - using System; - using System.IO; - - using ICSharpCode.SharpZipLib.GZip; - using ICSharpCode.SharpZipLib.Core; - - class MainClass - { - public static void Main(string[] args) - { - using (Stream s = new GZipOutputStream(File.Create(args[0] + ".gz"))) - using (FileStream fs = File.OpenRead(args[0])) { - byte[] writeData = new byte[4096]; - Streamutils.Copy(s, fs, writeData); - } - } - } - } - - - - - - CRC-32 value for uncompressed data - - - - - Creates a GzipOutputStream with the default buffer size - - - The stream to read data (to be compressed) from - - - - - Creates a GZipOutputStream with the specified buffer size - - - The stream to read data (to be compressed) from - - - Size of the buffer to use - - - - - Sets the active compression level (1-9). The new level will be activated - immediately. - - The compression level to set. - - Level specified is not supported. - - - - - - Get the current compression level. - - The current compression level. - - - - Write given buffer to output updating crc - - Buffer to write - Offset of first byte in buf to write - Number of bytes to write - - - - Writes remaining compressed output data to the output stream - and closes it. - - - - - Finish compression and write any footer information required to stream - - - - - Arguments used with KeysRequiredEvent - - - - - Initialise a new instance of - - The name of the file for which keys are required. - - - - Initialise a new instance of - - The name of the file for which keys are required. - The current key value. - - - - Get the name of the file for which keys are required. - - - - - Get/set the key value - - - - - The strategy to apply to testing. - - - - - Find the first error only. - - - - - Find all possible errors. - - - - - The operation in progress reported by a during testing. - - TestArchive - - - - Setting up testing. - - - - - Testing an individual entries header - - - - - Testing an individual entries data - - - - - Testing an individual entry has completed. - - - - - Running miscellaneous tests - - - - - Testing is complete - - - - - Status returned returned by during testing. - - TestArchive - - - - Initialise a new instance of - - The this status applies to. - - - - Get the current in progress. - - - - - Get the this status is applicable to. - - - - - Get the current/last entry tested. - - - - - Get the number of errors detected so far. - - - - - Get the number of bytes tested so far for the current entry. - - - - - Get a value indicating wether the last entry test was valid. - - - - - Delegate invoked during testing if supplied indicating current progress and status. - - If the message is non-null an error has occured. If the message is null - the operation as found in status has started. - - - - The possible ways of applying updates to an archive. - - - - - Perform all updates on temporary files ensuring that the original file is saved. - - - - - Update the archive directly, which is faster but less safe. - - - - - This class represents a Zip archive. You can ask for the contained - entries, or get an input stream for a file entry. The entry is - automatically decompressed. - - You can also update the archive adding or deleting entries. - - This class is thread safe for input: You can open input streams for arbitrary - entries in different threads. -
-
Author of the original java version : Jochen Hoenicke -
- - - using System; - using System.Text; - using System.Collections; - using System.IO; - - using ICSharpCode.SharpZipLib.Zip; - - class MainClass - { - static public void Main(string[] args) - { - using (ZipFile zFile = new ZipFile(args[0])) { - Console.WriteLine("Listing of : " + zFile.Name); - Console.WriteLine(""); - Console.WriteLine("Raw Size Size Date Time Name"); - Console.WriteLine("-------- -------- -------- ------ ---------"); - foreach (ZipEntry e in zFile) { - if ( e.IsFile ) { - DateTime d = e.DateTime; - Console.WriteLine("{0, -10}{1, -10}{2} {3} {4}", e.Size, e.CompressedSize, - d.ToString("dd-MM-yy"), d.ToString("HH:mm"), - e.Name); - } - } - } - } - } - - -
- - - Event handler for handling encryption keys. - - - - - Handles getting of encryption keys when required. - - The file for which encryption keys are required. - - - - Opens a Zip file with the given name for reading. - - The name of the file to open. - - An i/o error occurs - - - The file doesn't contain a valid zip archive. - - - - - Opens a Zip file reading the given . - - The to read archive data from. - - An i/o error occurs. - - - The file doesn't contain a valid zip archive. - - - - - Opens a Zip file reading the given . - - The to read archive data from. - - An i/o error occurs - - - The file doesn't contain a valid zip archive.
- The stream provided cannot seek -
-
- - - Initialises a default instance with no entries and no file storage. - - - - - Finalize this instance. - - - - - Closes the ZipFile. If the stream is owned then this also closes the underlying input stream. - Once closed, no further instance methods should be called. - - - An i/o error occurs. - - - - - Create a new whose data will be stored in a file. - - The name of the archive to create. - Returns the newly created - - - - Create a new whose data will be stored on a stream. - - The stream providing data storage. - Returns the newly created - - - - Gets an enumerator for the Zip entries in this Zip file. - - Returns an for this archive. - - The Zip file has been closed. - - - - - Return the index of the entry with a matching name - - Entry name to find - If true the comparison is case insensitive - The index position of the matching entry or -1 if not found - - The Zip file has been closed. - - - - - Searches for a zip entry in this archive with the given name. - String comparisons are case insensitive - - - The name to find. May contain directory components separated by slashes ('/'). - - - A clone of the zip entry, or null if no entry with that name exists. - - - The Zip file has been closed. - - - - - Gets an input stream for reading the given zip entry data in an uncompressed form. - Normally the should be an entry returned by GetEntry(). - - The to obtain a data for - An input containing data for this - - The ZipFile has already been closed - - - The compression method for the entry is unknown - - - The entry is not found in the ZipFile - - - - - Creates an input stream reading a zip entry - - The index of the entry to obtain an input stream for. - - An input containing data for this - - - The ZipFile has already been closed - - - The compression method for the entry is unknown - - - The entry is not found in the ZipFile - - - - - Test an archive for integrity/validity - - Perform low level data Crc check - true if all tests pass, false otherwise - Testing will terminate on the first error found. - - - - Test an archive for integrity/validity - - Perform low level data Crc check - The to apply. - The handler to call during testing. - true if all tests pass, false otherwise - - - - Test a local header against that provided from the central directory - - - The entry to test against - - The type of tests to carry out. - The offset of the entries data in the file - - - - Begin updating this archive. - - The archive storage for use during the update. - The data source to utilise during updating. - - - - Begin updating to this archive. - - The storage to use during the update. - - - - Begin updating this archive. - - - - - - - - Commit current updates, updating this archive. - - - - - - - Abort updating leaving the archive unchanged. - - - - - - - Set the file comment to be recorded when the current update is commited. - - The comment to record. - - - - Add a new entry to the archive. - - The name of the file to add. - The compression method to use. - Ensure Unicode text is used for name and comment for this entry. - - - - Add a new entry to the archive. - - The name of the file to add. - The compression method to use. - - - - Add a file to the archive. - - The name of the file to add. - - - - Add a file entry with data. - - The source of the data for this entry. - The name to give to the entry. - - - - Add a file entry with data. - - The source of the data for this entry. - The name to give to the entry. - The compression method to use. - - - - Add a file entry with data. - - The source of the data for this entry. - The name to give to the entry. - The compression method to use. - Ensure Unicode text is used for name and comments for this entry. - - - - Add a that contains no data. - - The entry to add. - This can be used to add directories, volume labels, or empty file entries. - - - - Add a directory entry to the archive. - - The directory to add. - - - - Delete an entry by name - - The filename to delete - True if the entry was found and deleted; false otherwise. - - - - Delete a from the archive. - - The entry to delete. - - - - Write an unsigned short in little endian byte order. - - - - - Write an int in little endian byte order. - - - - - Write an unsigned int in little endian byte order. - - - - - Write a long in little endian byte order. - - - - - Get a raw memory buffer. - - Returns a raw memory buffer. - - - - Get the size of the source descriptor for a . - - The update to get the size for. - The descriptor size, zero if there isnt one. - - - - Get an output stream for the specified - - The entry to get an output stream for. - The output stream obtained for the entry. - - - - Releases the unmanaged resources used by the this instance and optionally releases the managed resources. - - true to release both managed and unmanaged resources; - false to release only unmanaged resources. - - - - Read an unsigned short in little endian byte order. - - Returns the value read. - - The stream ends prematurely - - - - - Read a uint in little endian byte order. - - Returns the value read. - - An i/o error occurs. - - - The file ends prematurely - - - - - Search for and read the central directory of a zip file filling the entries array. - - - An i/o error occurs. - - - The central directory is malformed or cannot be found - - - - - Locate the data for a given entry. - - - The start offset of the data. - - - The stream ends prematurely - - - The local header signature is invalid, the entry and central header file name lengths are different - or the local and entry compression methods dont match - - - - - Get/set the encryption key value. - - - - - Password to be used for encrypting/decrypting files. - - Set to null if no password is required. - - - - Get a value indicating wether encryption keys are currently available. - - - - - Get/set a flag indicating if the underlying stream is owned by the ZipFile instance. - If the flag is true then the stream will be closed when Close is called. - - - The default value is true in all cases. - - - - - Get a value indicating wether - this archive is embedded in another file or not. - - - - - Get a value indicating that this archive is a new one. - - - - - Gets the comment for the zip file. - - - - - Gets the name of this zip file. - - - - - Gets the number of entries in this zip file. - - - The Zip file has been closed. - - - - - Get the number of entries contained in this . - - - - - Indexer property for ZipEntries - - - - - Get / set the to apply to names when updating. - - - - - Get/set the used to generate values - during updates. - - - - - Get /set the buffer size to be used when updating this zip file. - - - - - Get a value indicating an update has been started. - - - - - Get / set a value indicating how Zip64 Extension usage is determined when adding entries. - - - - - Delegate for handling keys/password setting during compresion/decompression. - - - - - The kind of update to apply. - - - - - Class used to sort updates. - - - - - Compares two objects and returns a value indicating whether one is - less than, equal to or greater than the other. - - First object to compare - Second object to compare. - Compare result. - - - - Represents a pending update to a Zip file. - - - - - Copy an existing entry. - - The existing entry to copy. - - - - Get the for this update. - - This is the source or original entry. - - - - Get the that will be written to the updated/new file. - - - - - Get the command for this update. - - - - - Get the filename if any for this update. Null if none exists. - - - - - Get/set the location of the size patch for this update. - - - - - Get /set the location of the crc patch for this update. - - - - - Represents a string from a which is stored as an array of bytes. - - - - - Initialise a with a string. - - The textual string form. - - - - Initialise a using a string in its binary 'raw' form. - - - - - - Reset the comment to its initial state. - - - - - Implicit conversion of comment to a string. - - The to convert to a string. - The textual equivalent for the input value. - - - - Get a value indicating the original source of data for this instance. - True if the source was a string; false if the source was binary data. - - - - - Get the length of the comment when represented as raw bytes. - - - - - Get the comment in its 'raw' form as plain bytes. - - - - - An enumerator for Zip entries - - - - - An is a stream that you can write uncompressed data - to and flush, but cannot read, seek or do anything else to. - - - - - Close this stream instance. - - - - - Write any buffered data to underlying storage. - - - - - Gets a value indicating whether the current stream supports reading. - - - - - Gets a value indicating whether the current stream supports writing. - - - - - Gets a value indicating whether the current stream supports seeking. - - - - - Get the length in bytes of the stream. - - - - - Gets or sets the position within the current stream. - - - - - A is an - whose data is only a part or subsection of a file. - - - - - This filter stream is used to decompress data compressed using the "deflate" - format. The "deflate" format is described in RFC 1951. - - This stream may form the basis for other decompression filters, such - as the GZipInputStream. - - Author of the original java version : John Leuner. - - - - - Create an InflaterInputStream with the default decompressor - and a default buffer size of 4KB. - - - The InputStream to read bytes from - - - - - Create an InflaterInputStream with the specified decompressor - and a default buffer size of 4KB. - - - The source of input data - - - The decompressor used to decompress data read from baseInputStream - - - - - Create an InflaterInputStream with the specified decompressor - and the specified buffer size. - - - The InputStream to read bytes from - - - The decompressor to use - - - Size of the buffer to use - - - - - Skip specified number of bytes of uncompressed data - - - Number of bytes to skip - - - The number of bytes skipped, zero if the end of - stream has been reached - - - Number of bytes to skip is less than zero - - - - - Clear any cryptographic state. - - - - - Fills the buffer with more data to decompress. - - - Stream ends early - - - - - Flushes the baseInputStream - - - - - Sets the position within the current stream - Always throws a NotSupportedException - - The relative offset to seek to. - The defining where to seek from. - The new position in the stream. - Any access - - - - Set the length of the current stream - Always throws a NotSupportedException - - The new length value for the stream. - Any access - - - - Writes a sequence of bytes to stream and advances the current position - This method always throws a NotSupportedException - - Thew buffer containing data to write. - The offset of the first byte to write. - The number of bytes to write. - Any access - - - - Writes one byte to the current stream and advances the current position - Always throws a NotSupportedException - - The byte to write. - Any access - - - - Entry point to begin an asynchronous write. Always throws a NotSupportedException. - - The buffer to write data from - Offset of first byte to write - The maximum number of bytes to write - The method to be called when the asynchronous write operation is completed - A user-provided object that distinguishes this particular asynchronous write request from other requests - An IAsyncResult that references the asynchronous write - Any access - - - - Closes the input stream. When - is true the underlying stream is also closed. - - - - - Reads decompressed data into the provided buffer byte array - - - The array to read and decompress data into - - - The offset indicating where the data should be placed - - - The number of bytes to decompress - - The number of bytes read. Zero signals the end of stream - - Inflater needs a dictionary - - - - - Decompressor for this stream - - - - - Input buffer for this stream. - - - - - Base stream the inflater reads from. - - - - - The compressed size - - - - - Flag indicating wether this instance has been closed or not. - - - - - Flag indicating wether this instance is designated the stream owner. - When closing if this flag is true the underlying stream is closed. - - - - - Get/set flag indicating ownership of underlying stream. - When the flag is true will close the underlying stream also. - - - The default value is true. - - - - - Returns 0 once the end of the stream (EOF) has been reached. - Otherwise returns 1. - - - - - Gets a value indicating whether the current stream supports reading - - - - - Gets a value of false indicating seeking is not supported for this stream. - - - - - Gets a value of false indicating that this stream is not writeable. - - - - - A value representing the length of the stream in bytes. - - - - - The current position within the stream. - Throws a NotSupportedException when attempting to set the position - - Attempting to set the position - - - - Initialise a new instance of the class. - - The underlying stream to use for IO. - The start of the partial data. - The length of the partial data. - - - - Skip the specified number of input bytes. - - The maximum number of input bytes to skip. - The actuial number of input bytes skipped. - - - - Read a byte from this stream. - - Returns the byte read or -1 on end of stream. - - - - Close this partial input stream. - - - The underlying stream is not closed. Close the parent ZipFile class to do that. - - - - - Provides a static way to obtain a source of data for an entry. - - - - - Get a source of data by creating a new stream. - - Returns a to use for compression input. - Ideally a new stream is created and opened to achieve this, to avoid locking problems. - - - - Represents a source of data that can dynamically provide - multiple data sources based on the parameters passed. - - - - - Get a data source. - - The to get a source for. - The name for data if known. - Returns a to use for compression input. - Ideally a new stream is created and opened to achieve this, to avoid locking problems. - - - - Default implementation of a for use with files stored on disk. - - - - - Initialise a new instnace of - - The name of the file to obtain data from. - - - - Get a providing data. - - Returns a provising data. - - - - Default implementation of for files stored on disk. - - - - - Initialise a default instance of . - - - - - Get a providing data for an entry. - - The entry to provide data for. - The file name for data if known. - Returns a stream providing data; or null if not available - - - - Defines facilities for data storage when updating Zip Archives. - - - - - Get an empty that can be used for temporary output. - - Returns a temporary output - - - - - Convert a temporary output stream to a final stream. - - The resulting final - - - - - Make a temporary copy of the original stream. - - The to copy. - Returns a temporary output that is a copy of the input. - - - - Return a stream suitable for performing direct updates on the original source. - - The current stream. - Returns a stream suitable for direct updating. - This may be the current stream passed. - - - - Dispose of this instance. - - - - - Get the to apply during updates. - - - - - An abstract suitable for extension by inheritance. - - - - - Initializes a new instance of the class. - - The update mode. - - - - Gets a temporary output - - Returns the temporary output stream. - - - - - Converts the temporary to its final form. - - Returns a that can be used to read - the final storage for the archive. - - - - - Make a temporary copy of a . - - The to make a copy of. - Returns a temporary output that is a copy of the input. - - - - Return a stream suitable for performing direct updates on the original source. - - The to open for direct update. - Returns a stream suitable for direct updating. - - - - Disposes this instance. - - - - - Gets the update mode applicable. - - The update mode. - - - - An implementation suitable for hard disks. - - - - - Initializes a new instance of the class. - - The file. - The update mode. - - - - Initializes a new instance of the class. - - The file. - - - - Gets a temporary output for performing updates on. - - Returns the temporary output stream. - - - - Converts a temporary to its final form. - - Returns a that can be used to read - the final storage for the archive. - - - - Make a temporary copy of a stream. - - The to copy. - Returns a temporary output that is a copy of the input. - - - - Return a stream suitable for performing direct updates on the original source. - - The current stream. - Returns a stream suitable for direct updating. - If the stream is not null this is used as is. - - - - Disposes this instance. - - - - - An implementation suitable for in memory streams. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The to use - This constructor is for testing as memory streams dont really require safe mode. - - - - Gets the temporary output - - Returns the temporary output stream. - - - - Converts the temporary to its final form. - - Returns a that can be used to read - the final storage for the archive. - - - - Make a temporary copy of the original stream. - - The to copy. - Returns a temporary output that is a copy of the input. - - - - Return a stream suitable for performing direct updates on the original source. - - The original source stream - Returns a stream suitable for direct updating. - If the passed is not null this is used; - otherwise a new is returned. - - - - Disposes this instance. - - - - - Get the stream returned by if this was in fact called. - - - - - Generate a table for a byte-wise 32-bit CRC calculation on the polynomial: - x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1. - - Polynomials over GF(2) are represented in binary, one bit per coefficient, - with the lowest powers in the most significant bit. Then adding polynomials - is just exclusive-or, and multiplying a polynomial by x is a right shift by - one. If we call the above polynomial p, and represent a byte as the - polynomial q, also with the lowest power in the most significant bit (so the - byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p, - where a mod b means the remainder after dividing a by b. - - This calculation is done using the shift-register method of multiplying and - taking the remainder. The register is initialized to zero, and for each - incoming bit, x^32 is added mod p to the register if the bit is a one (where - x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by - x (which is shifting right by one and adding x^32 mod p if the bit shifted - out is a one). We start with the highest power (least significant bit) of - q and repeat for all eight bits of q. - - The table is simply the CRC of all possible eight bit values. This is all - the information needed to generate CRC's on data a byte at a time for all - combinations of CRC register values and incoming bytes. - - - - - Interface to compute a data checksum used by checked input/output streams. - A data checksum can be updated by one byte or with a byte array. After each - update the value of the current checksum can be returned by calling - getValue. The complete checksum object can also be reset - so it can be used again with new data. - - - - - Resets the data checksum as if no update was ever called. - - - - - Adds one byte to the data checksum. - - - the data value to add. The high byte of the int is ignored. - - - - - Updates the data checksum with the bytes taken from the array. - - - buffer an array of bytes - - - - - Adds the byte array to the data checksum. - - - The buffer which contains the data - - - The offset in the buffer where the data starts - - - the number of data bytes to add. - - - - - Returns the data checksum computed so far. - - - - - The crc data checksum so far. - - - - - Resets the CRC32 data checksum as if no update was ever called. - - - - - Updates the checksum with the int bval. - - - the byte is taken as the lower 8 bits of value - - - - - Updates the checksum with the bytes taken from the array. - - - buffer an array of bytes - - - - - Adds the byte array to the data checksum. - - - The buffer which contains the data - - - The offset in the buffer where the data starts - - - The number of data bytes to update the CRC with. - - - - - Returns the CRC32 data checksum computed so far. - - - - - Basic implementation of - - - - - Defines factory methods for creating new values. - - - - - Create a for a file given its name - - The name of the file to create an entry for. - Returns a file entry based on the passed. - - - - Create a for a file given its name - - The name of the file to create an entry for. - If true get details from the file system if the file exists. - Returns a file entry based on the passed. - - - - Create a for a directory given its name - - The name of the directory to create an entry for. - Returns a directory entry based on the passed. - - - - Create a for a directory given its name - - The name of the directory to create an entry for. - If true get details from the file system for this directory if it exists. - Returns a directory entry based on the passed. - - - - Get/set the applicable. - - - - - Initialise a new instance of the class. - - A default , and the LastWriteTime for files is used. - - - - Initialise a new instance of using the specified - - The time setting to use when creating Zip entries. - - - - Initialise a new instance of using the specified - - The time to set all values to. - - - - Make a new for a file. - - The name of the file to create a new entry for. - Returns a new based on the . - - - - Make a new from a name. - - The name of the file to create a new entry for. - If true entry detail is retrieved from the file system if the file exists. - Returns a new based on the . - - - - Make a new for a directory. - - The raw untransformed name for the new directory - Returns a new representing a directory. - - - - Make a new for a directory. - - The raw untransformed name for the new directory - If true entry detail is retrieved from the file system if the file exists. - Returns a new representing a directory. - - - - Get / set the to be used when creating new values. - - - Setting this property to null will cause a default name transform to be used. - - - - - Get / set the in use. - - - - - Get / set the value to use when is set to - - - - - A bitmask defining the attributes to be retrieved from the actual file. - - The default is to get all possible attributes from the actual file. - - - - A bitmask defining which attributes are to be set on. - - By default no attributes are set on. - - - - Get set a value indicating wether unidoce text should be set on. - - - - - Defines the possible values to be used for the . - - - - - Use the recorded LastWriteTime value for the file. - - - - - Use the recorded LastWriteTimeUtc value for the file - - - - - Use the recorded CreateTime value for the file. - - - - - Use the recorded CreateTimeUtc value for the file. - - - - - Use the recorded LastAccessTime value for the file. - - - - - Use the recorded LastAccessTimeUtc value for the file. - - - - - Use a fixed value. - - The actual value used can be - specified via the constructor or - using the with the setting set - to which will use the when this class was constructed. - The property can also be used to set this value. - - - - PkzipClassic embodies the classic or original encryption facilities used in Pkzip archives. - While it has been superceded by more recent and more powerful algorithms, its still in use and - is viable for preventing casual snooping - - - - - Generates new encryption keys based on given seed - - The seed value to initialise keys with. - A new key value. - - - - PkzipClassicCryptoBase provides the low level facilities for encryption - and decryption using the PkzipClassic algorithm. - - - - - Transform a single byte - - - The transformed value - - - - - Set the key schedule for encryption/decryption. - - The data use to set the keys from. - - - - Update encryption keys - - - - - Reset the internal state. - - - - - PkzipClassic CryptoTransform for encryption. - - - - - Initialise a new instance of - - The key block to use. - - - - Transforms the specified region of the specified byte array. - - The input for which to compute the transform. - The offset into the byte array from which to begin using data. - The number of bytes in the byte array to use as data. - The computed transform. - - - - Transforms the specified region of the input byte array and copies - the resulting transform to the specified region of the output byte array. - - The input for which to compute the transform. - The offset into the input byte array from which to begin using data. - The number of bytes in the input byte array to use as data. - The output to which to write the transform. - The offset into the output byte array from which to begin writing data. - The number of bytes written. - - - - Cleanup internal state. - - - - - Gets a value indicating whether the current transform can be reused. - - - - - Gets the size of the input data blocks in bytes. - - - - - Gets the size of the output data blocks in bytes. - - - - - Gets a value indicating whether multiple blocks can be transformed. - - - - - PkzipClassic CryptoTransform for decryption. - - - - - Initialise a new instance of . - - The key block to decrypt with. - - - - Transforms the specified region of the specified byte array. - - The input for which to compute the transform. - The offset into the byte array from which to begin using data. - The number of bytes in the byte array to use as data. - The computed transform. - - - - Transforms the specified region of the input byte array and copies - the resulting transform to the specified region of the output byte array. - - The input for which to compute the transform. - The offset into the input byte array from which to begin using data. - The number of bytes in the input byte array to use as data. - The output to which to write the transform. - The offset into the output byte array from which to begin writing data. - The number of bytes written. - - - - Cleanup internal state. - - - - - Gets a value indicating whether the current transform can be reused. - - - - - Gets the size of the input data blocks in bytes. - - - - - Gets the size of the output data blocks in bytes. - - - - - Gets a value indicating whether multiple blocks can be transformed. - - - - - Defines a wrapper object to access the Pkzip algorithm. - This class cannot be inherited. - - - - - Generate an initial vector. - - - - - Generate a new random key. - - - - - Create an encryptor. - - The key to use for this encryptor. - Initialisation vector for the new encryptor. - Returns a new PkzipClassic encryptor - - - - Create a decryptor. - - Keys to use for this new decryptor. - Initialisation vector for the new decryptor. - Returns a new decryptor. - - - - Get / set the applicable block size in bits. - - The only valid block size is 8. - - - - Get an array of legal key sizes. - - - - - Get an array of legal block sizes. - - - - - Get / set the key value applicable. - - - - - This class represents an entry in a Tar archive. It consists - of the entry's header, as well as the entry's File. Entries - can be instantiated in one of three ways, depending on how - they are to be used. -

- TarEntries that are created from the header bytes read from - an archive are instantiated with the TarEntry( byte[] ) - constructor. These entries will be used when extracting from - or listing the contents of an archive. These entries have their - header filled in using the header bytes. They also set the File - to null, since they reference an archive entry not a file.

-

- TarEntries that are created from files that are to be written - into an archive are instantiated with the CreateEntryFromFile(string) - pseudo constructor. These entries have their header filled in using - the File's information. They also keep a reference to the File - for convenience when writing entries.

-

- Finally, TarEntries can be constructed from nothing but a name. - This allows the programmer to construct the entry by hand, for - instance when only an InputStream is available for writing to - the archive, and the header information is constructed from - other information. In this case the header fields are set to - defaults and the File is set to null.

- -
-
- - - Initialise a default instance of . - - - - - Construct an entry from an archive's header bytes. File is set - to null. - - - The header bytes from a tar archive entry. - - - - - Construct a TarEntry using the header provided - - Header details for entry - - - - Clone this tar entry. - - Returns a clone of this entry. - - - - Construct an entry with only a name. - This allows the programmer to construct the entry's header "by hand". - - The name to use for the entry - Returns the newly created - - - - Construct an entry for a file. File is set to file, and the - header is constructed from information from the file. - - The file name that the entry represents. - Returns the newly created - - - - Determine if the two entries are equal. Equality is determined - by the header names being equal. - - The to compare with the current Object. - - True if the entries are equal; false if not. - - - - - Derive a Hash value for the current - - A Hash code for the current - - - - Determine if the given entry is a descendant of this entry. - Descendancy is determined by the name of the descendant - starting with this entry's name. - - - Entry to be checked as a descendent of this. - - - True if entry is a descendant of this. - - - - - Convenience method to set this entry's group and user ids. - - - This entry's new user id. - - - This entry's new group id. - - - - - Convenience method to set this entry's group and user names. - - - This entry's new user name. - - - This entry's new group name. - - - - - Fill in a TarHeader with information from a File. - - - The TarHeader to fill in. - - - The file from which to get the header information. - - - - - Get entries for all files present in this entries directory. - If this entry doesnt represent a directory zero entries are returned. - - - An array of TarEntry's for this entry's children. - - - - - Write an entry's header information to a header buffer. - - - The tar entry header buffer to fill in. - - - - - Convenience method that will modify an entry's name directly - in place in an entry header buffer byte array. - - - The buffer containing the entry header to modify. - - - The new name to place into the header buffer. - - - - - Fill in a TarHeader given only the entry's name. - - - The TarHeader to fill in. - - - The tar entry name. - - - - - The name of the file this entry represents or null if the entry is not based on a file. - - - - - The entry's header information. - - - - - Get this entry's header. - - - This entry's TarHeader. - - - - - Get/Set this entry's name. - - - - - Get/set this entry's user id. - - - - - Get/set this entry's group id. - - - - - Get/set this entry's user name. - - - - - Get/set this entry's group name. - - - - - Get/Set the modification time for this entry - - - - - Get this entry's file. - - - This entry's file. - - - - - Get/set this entry's recorded file size. - - - - - Return true if this entry represents a directory, false otherwise - - - True if this entry is a directory. - - - - - This filter stream is used to decompress a "GZIP" format stream. - The "GZIP" format is described baseInputStream RFC 1952. - - author of the original java version : John Leuner - - This sample shows how to unzip a gzipped file - - using System; - using System.IO; - - using ICSharpCode.SharpZipLib.Core; - using ICSharpCode.SharpZipLib.GZip; - - class MainClass - { - public static void Main(string[] args) - { - using (Stream inStream = new GZipInputStream(File.OpenRead(args[0]))) - using (FileStream outStream = File.Create(Path.GetFileNameWithoutExtension(args[0]))) { - byte[] buffer = new byte[4096]; - StreamUtils.Copy(inStream, outStream, buffer); - } - } - } - - - - - - CRC-32 value for uncompressed data - - - - - Indicates end of stream - - - - - Creates a GZipInputStream with the default buffer size - - - The stream to read compressed data from (baseInputStream GZIP format) - - - - - Creates a GZIPInputStream with the specified buffer size - - - The stream to read compressed data from (baseInputStream GZIP format) - - - Size of the buffer to use - - - - - Reads uncompressed data into an array of bytes - - - The buffer to read uncompressed data into - - - The offset indicating where the data should be placed - - - The number of uncompressed bytes to be read - - Returns the number of bytes actually read. - - - - Provides simple " utilities. - - - - - Read from a ensuring all the required data is read. - - The stream to read. - The buffer to fill. - - - - Read from a " ensuring all the required data is read. - - The stream to read data from. - The buffer to store data in. - The offset at which to begin storing data. - The number of bytes of data to store. - - - - Copy the contents of one to another. - - The stream to source data from. - The stream to write data to. - The buffer to use during copying. - The progress handler delegate to use. - The minimum between progress updates. - The source for this event. - The name to use with the event. - - - - Copy the contents of one to another. - - The stream to source data from. - The stream to write data to. - The buffer to use during copying. - - - - Initialise an instance of - - - - - This is the DeflaterHuffman class. - - This class is not thread safe. This is inherent in the API, due - to the split of Deflate and SetInput. - - author of the original java version : Jochen Hoenicke - - - - - Pending buffer to use - - - - - Construct instance with pending buffer - - Pending buffer to use - - - - Reset internal state - - - - - Write all trees to pending buffer - - The number/rank of treecodes to send. - - - - Compress current buffer writing data to pending buffer - - - - - Flush block to output with no compression - - Data to write - Index of first byte to write - Count of bytes to write - True if this is the last block - - - - Flush block to output with compression - - Data to flush - Index of first byte to flush - Count of bytes to flush - True if this is the last block - - - - Get value indicating if internal buffer is full - - true if buffer is full - - - - Add literal to buffer - - Literal value to add to buffer. - Value indicating internal buffer is full - - - - Add distance code and length to literal and distance trees - - Distance code - Length - Value indicating if internal buffer is full - - - - Reverse the bits of a 16 bit value. - - Value to reverse bits - Value with bits reversed - - - - Resets the internal state of the tree - - - - - Check that all frequencies are zero - - - At least one frequency is non-zero - - - - - Set static codes and length - - new codes - length for new codes - - - - Build dynamic codes and lengths - - - - - Get encoded length - - Encoded length, the sum of frequencies * lengths - - - - Scan a literal or distance tree to determine the frequencies of the codes - in the bit length tree. - - - - - Write tree values - - Tree to write - - - - This class contains constants used for gzip. - - - - - Magic number found at start of GZIP header - - - - - Flag bit mask for text - - - - - Flag bitmask for Crc - - - - - Flag bit mask for extra - - - - - flag bitmask for name - - - - - flag bit mask indicating comment is present - - - - - Initialise default instance. - - Constructor is private to prevent instances being created. - - - - TarExceptions are used for exceptions specific to tar classes and code. - - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initialises a new instance of the TarException class. - - - - - Initialises a new instance of the TarException class with a specified message. - - The message that describes the error. - - - - - - A message describing the error. - The exception that is the cause of the current exception. - - - - Bzip2 checksum algorithm - - - - - Initialise a default instance of - - - - - Reset the state of Crc. - - - - - Update the Crc value. - - data update is based on - - - - Update Crc based on a block of data - - The buffer containing data to update the crc with. - - - - Update Crc based on a portion of a block of data - - block of data - index of first byte to use - number of bytes to use - - - - Get the current Crc value. - - - - - This is an InflaterInputStream that reads the files baseInputStream an zip archive - one after another. It has a special method to get the zip entry of - the next file. The zip entry contains information about the file name - size, compressed size, Crc, etc. - It includes support for Stored and Deflated entries. -
-
Author of the original java version : Jochen Hoenicke -
- - This sample shows how to read a zip file - - using System; - using System.Text; - using System.IO; - - using ICSharpCode.SharpZipLib.Zip; - - class MainClass - { - public static void Main(string[] args) - { - using ( ZipInputStream s = new ZipInputStream(File.OpenRead(args[0]))) { - - ZipEntry theEntry; - while ((theEntry = s.GetNextEntry()) != null) { - int size = 2048; - byte[] data = new byte[2048]; - - Console.Write("Show contents (y/n) ?"); - if (Console.ReadLine() == "y") { - while (true) { - size = s.Read(data, 0, data.Length); - if (size > 0) { - Console.Write(new ASCIIEncoding().GetString(data, 0, size)); - } else { - break; - } - } - } - } - } - } - } - - -
- - - The current reader this instance. - - - - - Creates a new Zip input stream, for reading a zip archive. - - The underlying providing data. - - - - Advances to the next entry in the archive - - - The next entry in the archive or null if there are no more entries. - - - If the previous entry is still open CloseEntry is called. - - - Input stream is closed - - - Password is not set, password is invalid, compression method is invalid, - version required to extract is not supported - - - - - Read data descriptor at the end of compressed data. - - - - - Complete cleanup as the final part of closing. - - True if the crc value should be tested - - - - Closes the current zip entry and moves to the next one. - - - The stream is closed - - - The Zip stream ends early - - - - - Reads a byte from the current zip entry. - - - The byte or -1 if end of stream is reached. - - - - - Handle attempts to read by throwing an . - - The destination array to store data in. - The offset at which data read should be stored. - The maximum number of bytes to read. - Returns the number of bytes actually read. - - - - Handle attempts to read from this entry by throwing an exception - - - - - Perform the initial read on an entry which may include - reading encryption headers and setting up inflation. - - The destination to fill with data read. - The offset to start reading at. - The maximum number of bytes to read. - The actual number of bytes read. - - - - Read a block of bytes from the stream. - - The destination for the bytes. - The index to start storing data. - The number of bytes to attempt to read. - Returns the number of bytes read. - Zero bytes read means end of stream. - - - - Reads a block of bytes from the current zip entry. - - - The number of bytes read (this may be less than the length requested, even before the end of stream), or 0 on end of stream. - - - An i/o error occured. - - - The deflated stream is corrupted. - - - The stream is not open. - - - - - Closes the zip input stream - - - - - Optional password used for encryption when non-null - - A password for all encrypted entries in this - - - - Gets a value indicating if there is a current entry and it can be decompressed - - - The entry can only be decompressed if the library supports the zip features required to extract it. - See the ZipEntry Version property for more details. - - - - - Returns 1 if there is an entry available - Otherwise returns 0. - - - - - Returns the current size that can be read from the current entry if available - - Thrown if the entry size is not known. - Thrown if no entry is currently available. - - - - ZipNameTransform transforms names as per the Zip file naming convention. - - The use of absolute names is supported although its use is not valid - according to Zip naming conventions, and should not be used if maximum compatability is desired. - - - - Initialize a new instance of - - - - - Initialize a new instance of - - The string to trim from front of paths if found. - - - - Static constructor. - - - - - Transform a directory name according to the Zip file naming conventions. - - The directory name to transform. - The transformed name. - - - - Transform a windows file name according to the Zip file naming conventions. - - The file name to transform. - The transformed name. - - - - Force a name to be valid by replacing invalid characters with a fixed value - - The name to force valid - The replacement character to use. - Returns a valid name - - - - Test a name to see if it is a valid name for a zip entry. - - The name to test. - If true checking is relaxed about windows file names and absolute paths. - Returns true if the name is a valid zip name; false otherwise. - Zip path names are actually in Unix format, and should only contain relative paths. - This means that any path stored should not contain a drive or - device letter, or a leading slash. All slashes should forward slashes '/'. - An empty name is valid for a file where the input comes from standard input. - A null name is not considered valid. - - - - - Test a name to see if it is a valid name for a zip entry. - - The name to test. - Returns true if the name is a valid zip name; false otherwise. - Zip path names are actually in unix format, - and should only contain relative paths if a path is present. - This means that the path stored should not contain a drive or - device letter, or a leading slash. All slashes should forward slashes '/'. - An empty name is valid where the input comes from standard input. - A null name is not considered valid. - - - - - Get/set the path prefix to be trimmed from paths if present. - - The prefix is trimmed before any conversion from - a windows path is done. - - - - This exception is used to indicate that there is a problem - with a TAR archive header. - - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initialise a new instance of the InvalidHeaderException class. - - - - - Initialises a new instance of the InvalidHeaderException class with a specified message. - - Message describing the exception cause. - - - - Initialise a new instance of InvalidHeaderException - - Message describing the problem. - The exception that is the cause of the current exception. - - - - This class allows us to retrieve a specified number of bits from - the input buffer, as well as copy big byte blocks. - - It uses an int buffer to store up to 31 bits for direct - manipulation. This guarantees that we can get at least 16 bits, - but we only need at most 15, so this is all safe. - - There are some optimizations in this class, for example, you must - never peek more than 8 bits more than needed, and you must first - peek bits before you may drop them. This is not a general purpose - class but optimized for the behaviour of the Inflater. - - authors of the original java version : John Leuner, Jochen Hoenicke - - - - - Constructs a default StreamManipulator with all buffers empty - - - - - Get the next sequence of bits but don't increase input pointer. bitCount must be - less or equal 16 and if this call succeeds, you must drop - at least n - 8 bits in the next call. - - The number of bits to peek. - - the value of the bits, or -1 if not enough bits available. */ - - - - - Drops the next n bits from the input. You should have called PeekBits - with a bigger or equal n before, to make sure that enough bits are in - the bit buffer. - - The number of bits to drop. - - - - Gets the next n bits and increases input pointer. This is equivalent - to followed by , except for correct error handling. - - The number of bits to retrieve. - - the value of the bits, or -1 if not enough bits available. - - - - - Skips to the next byte boundary. - - - - - Copies bytes from input buffer to output buffer starting - at output[offset]. You have to make sure, that the buffer is - byte aligned. If not enough bytes are available, copies fewer - bytes. - - - The buffer to copy bytes to. - - - The offset in the buffer at which copying starts - - - The length to copy, 0 is allowed. - - - The number of bytes copied, 0 if no bytes were available. - - - Length is less than zero - - - Bit buffer isnt byte aligned - - - - - Resets state and empties internal buffers - - - - - Add more input for consumption. - Only call when IsNeedingInput returns true - - data to be input - offset of first byte of input - number of bytes of input to add. - - - - Gets the number of bits available in the bit buffer. This must be - only called when a previous PeekBits() returned -1. - - - the number of bits available. - - - - - Gets the number of bytes available. - - - The number of bytes available. - - - - - Returns true when SetInput can be called - - - - - Strategies for deflater - - - - - The default strategy - - - - - This strategy will only allow longer string repetitions. It is - useful for random data with a small character set. - - - - - This strategy will not look for string repetitions at all. It - only encodes with Huffman trees (which means, that more common - characters get a smaller encoding. - - - - - Low level compression engine for deflate algorithm which uses a 32K sliding window - with secondary compression from Huffman/Shannon-Fano codes. - - - - - Construct instance with pending buffer - - - Pending buffer to use - > - - - - Deflate drives actual compression of data - - True to flush input buffers - Finish deflation with the current input. - Returns true if progress has been made. - - - - Sets input data to be deflated. Should only be called when NeedsInput() - returns true - - The buffer containing input data. - The offset of the first byte of data. - The number of bytes of data to use as input. - - - - Determines if more input is needed. - - Return true if input is needed via SetInput - - - - Set compression dictionary - - The buffer containing the dictionary data - The offset in the buffer for the first byte of data - The length of the dictionary data. - - - - Reset internal state - - - - - Reset Adler checksum - - - - - Set the deflate level (0-9) - - The value to set the level to. - - - - Fill the window - - - - - Inserts the current string in the head hash and returns the previous - value for this hash. - - The previous hash value - - - - Find the best (longest) string in the window matching the - string starting at strstart. - - Preconditions: - - strstart + MAX_MATCH <= window.length. - - - True if a match greater than the minimum length is found - - - - Hashtable, hashing three characters to an index for window, so - that window[index]..window[index+2] have this hash code. - Note that the array should really be unsigned short, so you need - to and the values with 0xffff. - - - - - prev[index & WMASK] points to the previous index that has the - same hash code as the string starting at index. This way - entries with the same hash code are in a linked list. - Note that the array should really be unsigned short, so you need - to and the values with 0xffff. - - - - - Points to the current character in the window. - - - - - lookahead is the number of characters starting at strstart in - window that are valid. - So window[strstart] until window[strstart+lookahead-1] are valid - characters. - - - - - This array contains the part of the uncompressed stream that - is of relevance. The current character is indexed by strstart. - - - - - The current compression function. - - - - - The input data for compression. - - - - - The total bytes of input read. - - - - - The offset into inputBuf, where input data starts. - - - - - The end offset of the input data. - - - - - The adler checksum - - - - - Get current value of Adler checksum - - - - - Total data processed - - - - - Get/set the deflate strategy - - - - - The TarBuffer class implements the tar archive concept - of a buffered input stream. This concept goes back to the - days of blocked tape drives and special io devices. In the - C# universe, the only real function that this class - performs is to ensure that files have the correct "record" - size, or other tars will complain. -

- You should never have a need to access this class directly. - TarBuffers are created by Tar IO Streams. -

-
-
- - - The size of a block in a tar archive in bytes. - - This is 512 bytes. - - - - The number of blocks in a default record. - - - The default value is 20 blocks per record. - - - - - The size in bytes of a default record. - - - The default size is 10KB. - - - - - Get the TAR Buffer's record size. - - The record size in bytes. - This is equal to the multiplied by the - - - - Get the TAR Buffer's block factor - - The block factor; the number of blocks per record. - - - - Construct a default TarBuffer - - - - - Create TarBuffer for reading with default BlockFactor - - Stream to buffer - A new suitable for input. - - - - Construct TarBuffer for reading inputStream setting BlockFactor - - Stream to buffer - Blocking factor to apply - A new suitable for input. - - - - Construct TarBuffer for writing with default BlockFactor - - output stream for buffer - A new suitable for output. - - - - Construct TarBuffer for writing Tar output to streams. - - Output stream to write to. - Blocking factor to apply - A new suitable for output. - - - - Initialization common to all constructors. - - - - - Determine if an archive block indicates End of Archive. End of - archive is indicated by a block that consists entirely of null bytes. - All remaining blocks for the record should also be null's - However some older tars only do a couple of null blocks (Old GNU tar for one) - and also partial records - - The data block to check. - Returns true if the block is an EOF block; false otherwise. - - - - Skip over a block on the input stream. - - - - - Read a block from the input stream. - - - The block of data read. - - - - - Read a record from data stream. - - - false if End-Of-File, else true. - - - - - Get the current block number, within the current record, zero based. - - - The current zero based block number. - - - The absolute block number = (record number * block factor) + block number. - - - - - Get the current record number. - - - The current zero based record number. - - - - - Write a block of data to the archive. - - - The data to write to the archive. - - - - - Write an archive record to the archive, where the record may be - inside of a larger array buffer. The buffer must be "offset plus - record size" long. - - - The buffer containing the record data to write. - - - The offset of the record data within buffer. - - - - - Write a TarBuffer record to the archive. - - - - - Flush the current record if it has any data in it. - - - - - Close the TarBuffer. If this is an output buffer, also flush the - current block before closing. - - - - - Get the record size for this buffer - - The record size in bytes. - This is equal to the multiplied by the - - - - Get the Blocking factor for the buffer - - This is the number of block in each record. - - - - Get the current block number, within the current record, zero based. - - - - - Get the current record number. - - - The current zero based record number. - - - - - This class encapsulates the Tar Entry Header used in Tar Archives. - The class also holds a number of tar constants, used mostly in headers. - - - - - The length of the name field in a header buffer. - - - - - The length of the mode field in a header buffer. - - - - - The length of the user id field in a header buffer. - - - - - The length of the group id field in a header buffer. - - - - - The length of the checksum field in a header buffer. - - - - - Offset of checksum in a header buffer. - - - - - The length of the size field in a header buffer. - - - - - The length of the magic field in a header buffer. - - - - - The length of the version field in a header buffer. - - - - - The length of the modification time field in a header buffer. - - - - - The length of the user name field in a header buffer. - - - - - The length of the group name field in a header buffer. - - - - - The length of the devices field in a header buffer. - - - - - The "old way" of indicating a normal file. - - - - - Normal file type. - - - - - Link file type. - - - - - Symbolic link file type. - - - - - Character device file type. - - - - - Block device file type. - - - - - Directory file type. - - - - - FIFO (pipe) file type. - - - - - Contiguous file type. - - - - - Posix.1 2001 global extended header - - - - - Posix.1 2001 extended header - - - - - Solaris access control list file type - - - - - GNU dir dump file type - This is a dir entry that contains the names of files that were in the - dir at the time the dump was made - - - - - Solaris Extended Attribute File - - - - - Inode (metadata only) no file content - - - - - Identifies the next file on the tape as having a long link name - - - - - Identifies the next file on the tape as having a long name - - - - - Continuation of a file that began on another volume - - - - - For storing filenames that dont fit in the main header (old GNU) - - - - - GNU Sparse file - - - - - GNU Tape/volume header ignore on extraction - - - - - The magic tag representing a POSIX tar archive. (includes trailing NULL) - - - - - The magic tag representing an old GNU tar archive where version is included in magic and overwrites it - - - - - Initialise a default TarHeader instance - - - - - Get the name of this entry. - - The entry's name. - - - - Create a new that is a copy of the current instance. - - A new that is a copy of the current instance. - - - - Parse TarHeader information from a header buffer. - - - The tar entry header buffer to get information from. - - - - - 'Write' header information to buffer provided, updating the check sum. - - output buffer for header information - - - - Get a hash code for the current object. - - A hash code for the current object. - - - - Determines if this instance is equal to the specified object. - - The object to compare with. - true if the objects are equal, false otherwise. - - - - Set defaults for values used when constructing a TarHeader instance. - - Value to apply as a default for userId. - Value to apply as a default for userName. - Value to apply as a default for groupId. - Value to apply as a default for groupName. - - - - Parse an octal string from a header buffer. - - The header buffer from which to parse. - The offset into the buffer from which to parse. - The number of header bytes to parse. - The long equivalent of the octal string. - - - - Parse a name from a header buffer. - - - The header buffer from which to parse. - - - The offset into the buffer from which to parse. - - - The number of header bytes to parse. - - - The name parsed. - - - - - Add name to the buffer as a collection of bytes - - The name to add - The offset of the first character - The buffer to add to - The index of the first byte to add - The number of characters/bytes to add - The next free index in the buffer - - - - Add name to the buffer as a collection of bytes - - The name to add - The offset of the first character - The buffer to add to - The index of the first byte to add - The number of characters/bytes to add - The next free index in the buffer - - - - Add an entry name to the buffer - - - The name to add - - - The buffer to add to - - - The offset into the buffer from which to start adding - - - The number of header bytes to add - - - The index of the next free byte in the buffer - - - - - Add an entry name to the buffer - - The name to add - The buffer to add to - The offset into the buffer from which to start adding - The number of header bytes to add - The index of the next free byte in the buffer - - - - Add a string to a buffer as a collection of ascii bytes. - - The string to add - The offset of the first character to add. - The buffer to add to. - The offset to start adding at. - The number of ascii characters to add. - The next free index in the buffer. - - - - Put an octal representation of a value into a buffer - - - the value to be converted to octal - - - buffer to store the octal string - - - The offset into the buffer where the value starts - - - The length of the octal string to create - - - The offset of the character next byte after the octal string - - - - - Put an octal representation of a value into a buffer - - Value to be convert to octal - The buffer to update - The offset into the buffer to store the value - The length of the octal string - Index of next byte - - - - Add the checksum integer to header buffer. - - - The header buffer to set the checksum for - The offset into the buffer for the checksum - The number of header bytes to update. - It's formatted differently from the other fields: it has 6 digits, a - null, then a space -- rather than digits, a space, then a null. - The final space is already there, from checksumming - - The modified buffer offset - - - - Compute the checksum for a tar entry header. - The checksum field must be all spaces prior to this happening - - The tar entry's header buffer. - The computed checksum. - - - - Make a checksum for a tar entry ignoring the checksum contents. - - The tar entry's header buffer. - The checksum for the buffer - - - - Get/set the name for this tar entry. - - Thrown when attempting to set the property to null. - - - - Get/set the entry's Unix style permission mode. - - - - - The entry's user id. - - - This is only directly relevant to unix systems. - The default is zero. - - - - - Get/set the entry's group id. - - - This is only directly relevant to linux/unix systems. - The default value is zero. - - - - - Get/set the entry's size. - - Thrown when setting the size to less than zero. - - - - Get/set the entry's modification time. - - - The modification time is only accurate to within a second. - - Thrown when setting the date time to less than 1/1/1970. - - - - Get the entry's checksum. This is only valid/updated after writing or reading an entry. - - - - - Get value of true if the header checksum is valid, false otherwise. - - - - - Get/set the entry's type flag. - - - - - The entry's link name. - - Thrown when attempting to set LinkName to null. - - - - Get/set the entry's magic tag. - - Thrown when attempting to set Magic to null. - - - - The entry's version. - - Thrown when attempting to set Version to null. - - - - The entry's user name. - - - - - Get/set the entry's group name. - - - This is only directly relevant to unix systems. - - - - - Get/set the entry's major device number. - - - - - Get/set the entry's minor device number. - - - - - Event arguments for scanning. - - - - - Initialise a new instance of - - The file or directory name. - - - - The fie or directory name for this event. - - - - - Get set a value indicating if scanning should continue or not. - - - - - Event arguments during processing of a single file or directory. - - - - - Initialise a new instance of - - The file or directory name if known. - The number of bytes processed so far - The total number of bytes to process, 0 if not known - - - - The name for this event if known. - - - - - Get set a value indicating wether scanning should continue or not. - - - - - Get a percentage representing how much of the has been processed - - 0.0 to 100.0 percent; 0 if target is not known. - - - - The number of bytes processed so far - - - - - The number of bytes to process. - - Target may be 0 or negative if the value isnt known. - - - - Event arguments for directories. - - - - - Initialize an instance of . - - The name for this directory. - Flag value indicating if any matching files are contained in this directory. - - - - Get a value indicating if the directory contains any matching files or not. - - - - - Arguments passed when scan failures are detected. - - - - - Initialise a new instance of - - The name to apply. - The exception to use. - - - - The applicable name. - - - - - The applicable exception. - - - - - Get / set a value indicating wether scanning should continue. - - - - - Delegate invoked before starting to process a directory. - - - - - Delegate invoked before starting to process a file. - - The source of the event - The event arguments. - - - - Delegate invoked during processing of a file or directory - - The source of the event - The event arguments. - - - - Delegate invoked when a file has been completely processed. - - The source of the event - The event arguments. - - - - Delegate invoked when a directory failure is detected. - - The source of the event - The event arguments. - - - - Delegate invoked when a file failure is detected. - - The source of the event - The event arguments. - - - - FileSystemScanner provides facilities scanning of files and directories. - - - - - Initialise a new instance of - - The file filter to apply when scanning. - - - - Initialise a new instance of - - The file filter to apply. - The directory filter to apply. - - - - Initialise a new instance of - - The file filter to apply. - - - - Initialise a new instance of - - The file filter to apply. - The directory filter to apply. - - - - Delegate to invoke when a directory is processed. - - - - - Delegate to invoke when a file is processed. - - - - - Delegate to invoke when processing for a file has finished. - - - - - Delegate to invoke when a directory failure is detected. - - - - - Delegate to invoke when a file failure is detected. - - - - - Raise the DirectoryFailure event. - - The directory name. - The exception detected. - - - - Raise the FileFailure event. - - The file name. - The exception detected. - - - - Raise the ProcessFile event. - - The file name. - - - - Raise the complete file event - - The file name - - - - Raise the ProcessDirectory event. - - The directory name. - Flag indicating if the directory has matching files. - - - - Scan a directory. - - The base directory to scan. - True to recurse subdirectories, false to scan a single directory. - - - - The file filter currently in use. - - - - - The directory filter currently in use. - - - - - Flag indicating if scanning should continue running. - - - - - An input buffer customised for use by - - - The buffer supports decryption of incoming data. - - - - - Initialise a new instance of with a default buffer size - - The stream to buffer. - - - - Initialise a new instance of - - The stream to buffer. - The size to use for the buffer - A minimum buffer size of 1KB is permitted. Lower sizes are treated as 1KB. - - - - Call passing the current clear text buffer contents. - - The inflater to set input for. - - - - Fill the buffer from the underlying input stream. - - - - - Read a buffer directly from the input stream - - The buffer to fill - Returns the number of bytes read. - - - - Read a buffer directly from the input stream - - The buffer to read into - The offset to start reading data into. - The number of bytes to read. - Returns the number of bytes read. - - - - Read clear text data from the input stream. - - The buffer to add data to. - The offset to start adding data at. - The number of bytes to read. - Returns the number of bytes actually read. - - - - Read a from the input stream. - - Returns the byte read. - - - - Read an in little endian byte order. - - The short value read case to an int. - - - - Read an in little endian byte order. - - The int value read. - - - - Read a in little endian byte order. - - The long value read. - - - - Get the length of bytes bytes in the - - - - - Get the contents of the raw data buffer. - - This may contain encrypted data. - - - - Get the number of useable bytes in - - - - - Get the contents of the clear text buffer. - - - - - Get/set the number of bytes available - - - - - Get/set the to apply to any data. - - Set this value to null to have no transform applied. - - - - The TarOutputStream writes a UNIX tar archive as an OutputStream. - Methods are provided to put entries, and then write their contents - by writing to this stream using write(). - - public - - - - Construct TarOutputStream using default block factor - - stream to write to - - - - Construct TarOutputStream with user specified block factor - - stream to write to - blocking factor - - - - set the position within the current stream - - The offset relative to the to seek to - The to seek from. - The new position in the stream. - - - - Set the length of the current stream - - The new stream length. - - - - Read a byte from the stream and advance the position within the stream - by one byte or returns -1 if at the end of the stream. - - The byte value or -1 if at end of stream - - - - read bytes from the current stream and advance the position within the - stream by the number of bytes read. - - The buffer to store read bytes in. - The index into the buffer to being storing bytes at. - The desired number of bytes to read. - The total number of bytes read, or zero if at the end of the stream. - The number of bytes may be less than the count - requested if data is not avialable. - - - - All buffered data is written to destination - - - - - Ends the TAR archive without closing the underlying OutputStream. - The result is that the EOF block of nulls is written. - - - - - Ends the TAR archive and closes the underlying OutputStream. - - This means that Finish() is called followed by calling the - TarBuffer's Close(). - - - - Get the record size being used by this stream's TarBuffer. - - - The TarBuffer record size. - - - - - Put an entry on the output stream. This writes the entry's - header and positions the output stream for writing - the contents of the entry. Once this method is called, the - stream is ready for calls to write() to write the entry's - contents. Once the contents are written, closeEntry() - MUST be called to ensure that all buffered data - is completely written to the output stream. - - - The TarEntry to be written to the archive. - - - - - Close an entry. This method MUST be called for all file - entries that contain data. The reason is that we must - buffer data written to the stream in order to satisfy - the buffer's block based writes. Thus, there may be - data fragments still being assembled that must be written - to the output stream before this entry is closed and the - next entry written. - - - - - Writes a byte to the current tar archive entry. - This method simply calls Write(byte[], int, int). - - - The byte to be written. - - - - - Writes bytes to the current tar archive entry. This method - is aware of the current entry and will throw an exception if - you attempt to write bytes past the length specified for the - current entry. The method is also (painfully) aware of the - record buffering required by TarBuffer, and manages buffers - that are not a multiple of recordsize in length, including - assembling records from small buffers. - - - The buffer to write to the archive. - - - The offset in the buffer from which to get bytes. - - - The number of bytes to write. - - - - - Write an EOF (end of archive) block to the tar archive. - An EOF block consists of all zeros. - - - - - bytes written for this entry so far - - - - - current 'Assembly' buffer length - - - - - Flag indicating wether this instance has been closed or not. - - - - - Size for the current entry - - - - - single block working buffer - - - - - 'Assembly' buffer used to assemble data before writing - - - - - TarBuffer used to provide correct blocking factor - - - - - the destination stream for the archive contents - - - - - true if the stream supports reading; otherwise, false. - - - - - true if the stream supports seeking; otherwise, false. - - - - - true if stream supports writing; otherwise, false. - - - - - length of stream in bytes - - - - - gets or sets the position within the current stream. - - - - - Get the record size being used by this stream's TarBuffer. - - - - - Get a value indicating wether an entry is open, requiring more data to be written. - - - - - This is the Deflater class. The deflater class compresses input - with the deflate algorithm described in RFC 1951. It has several - compression levels and three different strategies described below. - - This class is not thread safe. This is inherent in the API, due - to the split of deflate and setInput. - - author of the original java version : Jochen Hoenicke - - - - - The best and slowest compression level. This tries to find very - long and distant string repetitions. - - - - - The worst but fastest compression level. - - - - - The default compression level. - - - - - This level won't compress at all but output uncompressed blocks. - - - - - The compression method. This is the only method supported so far. - There is no need to use this constant at all. - - - - - Creates a new deflater with default compression level. - - - - - Creates a new deflater with given compression level. - - - the compression level, a value between NO_COMPRESSION - and BEST_COMPRESSION, or DEFAULT_COMPRESSION. - - if lvl is out of range. - - - - Creates a new deflater with given compression level. - - - the compression level, a value between NO_COMPRESSION - and BEST_COMPRESSION. - - - true, if we should suppress the Zlib/RFC1950 header at the - beginning and the adler checksum at the end of the output. This is - useful for the GZIP/PKZIP formats. - - if lvl is out of range. - - - - Resets the deflater. The deflater acts afterwards as if it was - just created with the same compression level and strategy as it - had before. - - - - - Flushes the current input block. Further calls to deflate() will - produce enough output to inflate everything in the current input - block. This is not part of Sun's JDK so I have made it package - private. It is used by DeflaterOutputStream to implement - flush(). - - - - - Finishes the deflater with the current input block. It is an error - to give more input after this method was called. This method must - be called to force all bytes to be flushed. - - - - - Sets the data which should be compressed next. This should be only - called when needsInput indicates that more input is needed. - If you call setInput when needsInput() returns false, the - previous input that is still pending will be thrown away. - The given byte array should not be changed, before needsInput() returns - true again. - This call is equivalent to setInput(input, 0, input.length). - - - the buffer containing the input data. - - - if the buffer was finished() or ended(). - - - - - Sets the data which should be compressed next. This should be - only called when needsInput indicates that more input is needed. - The given byte array should not be changed, before needsInput() returns - true again. - - - the buffer containing the input data. - - - the start of the data. - - - the number of data bytes of input. - - - if the buffer was Finish()ed or if previous input is still pending. - - - - - Sets the compression level. There is no guarantee of the exact - position of the change, but if you call this when needsInput is - true the change of compression level will occur somewhere near - before the end of the so far given input. - - - the new compression level. - - - - - Get current compression level - - Returns the current compression level - - - - Sets the compression strategy. Strategy is one of - DEFAULT_STRATEGY, HUFFMAN_ONLY and FILTERED. For the exact - position where the strategy is changed, the same as for - SetLevel() applies. - - - The new compression strategy. - - - - - Deflates the current input block with to the given array. - - - The buffer where compressed data is stored - - - The number of compressed bytes added to the output, or 0 if either - IsNeedingInput() or IsFinished returns true or length is zero. - - - - - Deflates the current input block to the given array. - - - Buffer to store the compressed data. - - - Offset into the output array. - - - The maximum number of bytes that may be stored. - - - The number of compressed bytes added to the output, or 0 if either - needsInput() or finished() returns true or length is zero. - - - If Finish() was previously called. - - - If offset or length don't match the array length. - - - - - Sets the dictionary which should be used in the deflate process. - This call is equivalent to setDictionary(dict, 0, dict.Length). - - - the dictionary. - - - if SetInput () or Deflate () were already called or another dictionary was already set. - - - - - Sets the dictionary which should be used in the deflate process. - The dictionary is a byte array containing strings that are - likely to occur in the data which should be compressed. The - dictionary is not stored in the compressed output, only a - checksum. To decompress the output you need to supply the same - dictionary again. - - - The dictionary data - - - The index where dictionary information commences. - - - The number of bytes in the dictionary. - - - If SetInput () or Deflate() were already called or another dictionary was already set. - - - - - Compression level. - - - - - If true no Zlib/RFC1950 headers or footers are generated - - - - - The current state. - - - - - The total bytes of output written. - - - - - The pending output. - - - - - The deflater engine. - - - - - Gets the current adler checksum of the data that was processed so far. - - - - - Gets the number of input bytes processed so far. - - - - - Gets the number of output bytes so far. - - - - - Returns true if the stream was finished and no more output bytes - are available. - - - - - Returns true, if the input buffer is empty. - You should then call setInput(). - NOTE: This method can also return true when the stream - was finished. - - - - - The TarInputStream reads a UNIX tar archive as an InputStream. - methods are provided to position at each successive entry in - the archive, and the read each entry as a normal input stream - using read(). - - - - - Construct a TarInputStream with default block factor - - stream to source data from - - - - Construct a TarInputStream with user specified block factor - - stream to source data from - block factor to apply to archive - - - - Flushes the baseInputStream - - - - - Set the streams position. This operation is not supported and will throw a NotSupportedException - - The offset relative to the origin to seek to. - The to start seeking from. - The new position in the stream. - Any access - - - - Sets the length of the stream - This operation is not supported and will throw a NotSupportedException - - The new stream length. - Any access - - - - Writes a block of bytes to this stream using data from a buffer. - This operation is not supported and will throw a NotSupportedException - - The buffer containing bytes to write. - The offset in the buffer of the frist byte to write. - The number of bytes to write. - Any access - - - - Writes a byte to the current position in the file stream. - This operation is not supported and will throw a NotSupportedException - - The byte value to write. - Any access - - - - Reads a byte from the current tar archive entry. - - A byte cast to an int; -1 if the at the end of the stream. - - - - Reads bytes from the current tar archive entry. - - This method is aware of the boundaries of the current - entry in the archive and will deal with them appropriately - - - The buffer into which to place bytes read. - - - The offset at which to place bytes read. - - - The number of bytes to read. - - - The number of bytes read, or 0 at end of stream/EOF. - - - - - Closes this stream. Calls the TarBuffer's close() method. - The underlying stream is closed by the TarBuffer. - - - - - Set the entry factory for this instance. - - The factory for creating new entries - - - - Get the record size being used by this stream's TarBuffer. - - - TarBuffer record size. - - - - - Skip bytes in the input buffer. This skips bytes in the - current entry's data, not the entire archive, and will - stop at the end of the current entry's data if the number - to skip extends beyond that point. - - - The number of bytes to skip. - - - - - Since we do not support marking just yet, we do nothing. - - - The limit to mark. - - - - - Since we do not support marking just yet, we do nothing. - - - - - Get the next entry in this tar archive. This will skip - over any remaining data in the current entry, if there - is one, and place the input stream at the header of the - next entry, and read the header and instantiate a new - TarEntry from the header bytes and return that entry. - If there are no more entries in the archive, null will - be returned to indicate that the end of the archive has - been reached. - - - The next TarEntry in the archive, or null. - - - - - Copies the contents of the current tar archive entry directly into - an output stream. - - - The OutputStream into which to write the entry's data. - - - - - Flag set when last block has been read - - - - - Size of this entry as recorded in header - - - - - Number of bytes read for this entry so far - - - - - Buffer used with calls to Read() - - - - - Working buffer - - - - - Current entry being read - - - - - Factory used to create TarEntry or descendant class instance - - - - - Stream used as the source of input data. - - - - - Gets a value indicating whether the current stream supports reading - - - - - Gets a value indicating whether the current stream supports seeking - This property always returns false. - - - - - Gets a value indicating if the stream supports writing. - This property always returns false. - - - - - The length in bytes of the stream - - - - - Gets or sets the position within the stream. - Setting the Position is not supported and throws a NotSupportedExceptionNotSupportedException - - Any attempt to set position - - - - Get the record size being used by this stream's TarBuffer. - - - - - Get the available data that can be read from the current - entry in the archive. This does not indicate how much data - is left in the entire archive, only in the current entry. - This value is determined from the entry's size header field - and the amount of data already read from the current entry. - - - The number of available bytes for the current entry. - - - - - Return a value of true if marking is supported; false otherwise. - - Currently marking is not supported, the return value is always false. - - - - This interface is provided, along with the method , to allow - the programmer to have their own subclass instantiated for the - entries return from . - - - - - Create an entry based on name alone - - - Name of the new EntryPointNotFoundException to create - - created TarEntry or descendant class - - - - Create an instance based on an actual file - - - Name of file to represent in the entry - - - Created TarEntry or descendant class - - - - - Create a tar entry based on the header information passed - - - Buffer containing header information to base entry on - - - Created TarEntry or descendant class - - - - - Standard entry factory class creating instances of the class TarEntry - - - - - Create a based on named - - The name to use for the entry - A new - - - - Create a tar entry with details obtained from file - - The name of the file to retrieve details from. - A new - - - - Create an entry based on details in header - - The buffer containing entry details. - A new - - - - Defines known values for the property. - - - - - Host system = MSDOS - - - - - Host system = Amiga - - - - - Host system = Open VMS - - - - - Host system = Unix - - - - - Host system = VMCms - - - - - Host system = Atari ST - - - - - Host system = OS2 - - - - - Host system = Macintosh - - - - - Host system = ZSystem - - - - - Host system = Cpm - - - - - Host system = Windows NT - - - - - Host system = MVS - - - - - Host system = VSE - - - - - Host system = Acorn RISC - - - - - Host system = VFAT - - - - - Host system = Alternate MVS - - - - - Host system = BEOS - - - - - Host system = Tandem - - - - - Host system = OS400 - - - - - Host system = OSX - - - - - Host system = WinZIP AES - - - - - This class represents an entry in a zip archive. This can be a file - or a directory - ZipFile and ZipInputStream will give you instances of this class as - information about the members in an archive. ZipOutputStream - uses an instance of this class when creating an entry in a Zip file. -
-
Author of the original java version : Jochen Hoenicke -
-
- - - Creates a zip entry with the given name. - - - The name for this entry. Can include directory components. - The convention for names is 'unix' style paths with relative names only. - There are with no device names and path elements are separated by '/' characters. - - - The name passed is null - - - - - Creates a zip entry with the given name and version required to extract - - - The name for this entry. Can include directory components. - The convention for names is 'unix' style paths with no device names and - path elements separated by '/' characters. This is not enforced see CleanName - on how to ensure names are valid if this is desired. - - - The minimum 'feature version' required this entry - - - The name passed is null - - - - - Initializes an entry with the given name and made by information - - Name for this entry - Version and HostSystem Information - Minimum required zip feature version required to extract this entry - Compression method for this entry. - - The name passed is null - - - versionRequiredToExtract should be 0 (auto-calculate) or > 10 - - - This constructor is used by the ZipFile class when reading from the central header - It is not generally useful, use the constructor specifying the name only. - - - - - Creates a deep copy of the given zip entry. - - - The entry to copy. - - - - - Test the external attributes for this to - see if the external attributes are Dos based (including WINNT and variants) - and match the values - - The attributes to test. - Returns true if the external attributes are known to be DOS/Windows - based and have the same attributes set as the value passed. - - - - Force this entry to be recorded using Zip64 extensions. - - - - - Get a value indicating wether Zip64 extensions were forced. - - A value of true if Zip64 extensions have been forced on; false if not. - - - - Process extra data fields updating the entry based on the contents. - - True if the extra data fields should be handled - for a local header, rather than for a central header. - - - - - Test entry to see if data can be extracted. - - Returns true if data can be extracted for this entry; false otherwise. - - - - Creates a copy of this zip entry. - - An that is a copy of the current instance. - - - - Gets a string representation of this ZipEntry. - - A readable textual representation of this - - - - Test a compression method to see if this library - supports extracting data compressed with that method - - The compression method to test. - Returns true if the compression method is supported; false otherwise - - - - Cleans a name making it conform to Zip file conventions. - Devices names ('c:\') and UNC share names ('\\server\share') are removed - and forward slashes ('\') are converted to back slashes ('/'). - Names are made relative by trimming leading slashes which is compatible - with the ZIP naming convention. - - The name to clean - The 'cleaned' name. - - The Zip name transform class is more flexible. - - - - - Get a value indicating wether the entry has a CRC value available. - - - - - Get/Set flag indicating if entry is encrypted. - A simple helper routine to aid interpretation of flags - - This is an assistant that interprets the flags property. - - - - Get / set a flag indicating wether entry name and comment text are - encoded in unicode UTF8. - - This is an assistant that interprets the flags property. - - - - Value used during password checking for PKZIP 2.0 / 'classic' encryption. - - - - - Get/Set general purpose bit flag for entry - - - General purpose bit flag
-
- Bit 0: If set, indicates the file is encrypted
- Bit 1-2 Only used for compression type 6 Imploding, and 8, 9 deflating
- Imploding:
- Bit 1 if set indicates an 8K sliding dictionary was used. If clear a 4k dictionary was used
- Bit 2 if set indicates 3 Shannon-Fanno trees were used to encode the sliding dictionary, 2 otherwise
-
- Deflating:
- Bit 2 Bit 1
- 0 0 Normal compression was used
- 0 1 Maximum compression was used
- 1 0 Fast compression was used
- 1 1 Super fast compression was used
-
- Bit 3: If set, the fields crc-32, compressed size - and uncompressed size are were not able to be written during zip file creation - The correct values are held in a data descriptor immediately following the compressed data.
- Bit 4: Reserved for use by PKZIP for enhanced deflating
- Bit 5: If set indicates the file contains compressed patch data
- Bit 6: If set indicates strong encryption was used.
- Bit 7-10: Unused or reserved
- Bit 11: If set the name and comments for this entry are in unicode.
- Bit 12-15: Unused or reserved
-
- - -
- - - Get/Set index of this entry in Zip file - - This is only valid when the entry is part of a - - - - Get/set offset for use in central header - - - - - Get/Set external file attributes as an integer. - The values of this are operating system dependant see - HostSystem for details - - - - - Get the version made by for this entry or zero if unknown. - The value / 10 indicates the major version number, and - the value mod 10 is the minor version number - - - - - Get a value indicating this entry is for a DOS/Windows system. - - - - - Gets the compatability information for the external file attribute - If the external file attributes are compatible with MS-DOS and can be read - by PKZIP for DOS version 2.04g then this value will be zero. Otherwise the value - will be non-zero and identify the host system on which the attributes are compatible. - - - - The values for this as defined in the Zip File format and by others are shown below. The values are somewhat - misleading in some cases as they are not all used as shown. You should consult the relevant documentation - to obtain up to date and correct information. The modified appnote by the infozip group is - particularly helpful as it documents a lot of peculiarities. The document is however a little dated. - - 0 - MS-DOS and OS/2 (FAT / VFAT / FAT32 file systems) - 1 - Amiga - 2 - OpenVMS - 3 - Unix - 4 - VM/CMS - 5 - Atari ST - 6 - OS/2 HPFS - 7 - Macintosh - 8 - Z-System - 9 - CP/M - 10 - Windows NTFS - 11 - MVS (OS/390 - Z/OS) - 12 - VSE - 13 - Acorn Risc - 14 - VFAT - 15 - Alternate MVS - 16 - BeOS - 17 - Tandem - 18 - OS/400 - 19 - OS/X (Darwin) - 99 - WinZip AES - remainder - unused - - - - - - Get minimum Zip feature version required to extract this entry - - - Minimum features are defined as:
- 1.0 - Default value
- 1.1 - File is a volume label
- 2.0 - File is a folder/directory
- 2.0 - File is compressed using Deflate compression
- 2.0 - File is encrypted using traditional encryption
- 2.1 - File is compressed using Deflate64
- 2.5 - File is compressed using PKWARE DCL Implode
- 2.7 - File is a patch data set
- 4.5 - File uses Zip64 format extensions
- 4.6 - File is compressed using BZIP2 compression
- 5.0 - File is encrypted using DES
- 5.0 - File is encrypted using 3DES
- 5.0 - File is encrypted using original RC2 encryption
- 5.0 - File is encrypted using RC4 encryption
- 5.1 - File is encrypted using AES encryption
- 5.1 - File is encrypted using corrected RC2 encryption
- 5.1 - File is encrypted using corrected RC2-64 encryption
- 6.1 - File is encrypted using non-OAEP key wrapping
- 6.2 - Central directory encryption (not confirmed yet)
- 6.3 - File is compressed using LZMA
- 6.3 - File is compressed using PPMD+
- 6.3 - File is encrypted using Blowfish
- 6.3 - File is encrypted using Twofish
-
- -
- - - Get a value indicating wether this entry can be decompressed by the library. - - This is based on the and - wether the compression method is supported. - - - - Gets a value indicating if the entry requires Zip64 extensions - to store the full entry values. - - A value of true if a local header requires Zip64 extensions; false if not. - - - - Get a value indicating wether the central directory entry requires Zip64 extensions to be stored. - - - - - Get/Set DosTime value. - - - The MS-DOS date format can only represent dates between 1/1/1980 and 12/31/2107. - - - - - Gets/Sets the time of last modification of the entry. - - - The property is updated to match this as far as possible. - - - - - Returns the entry name. - - - The unix naming convention is followed. - Path components in the entry should always separated by forward slashes ('/'). - Dos device names like C: should also be removed. - See the class, or - - - - - Gets/Sets the size of the uncompressed data. - - - The size or -1 if unknown. - - Setting the size before adding an entry to an archive can help - avoid compatability problems with some archivers which dont understand Zip64 extensions. - - - - Gets/Sets the size of the compressed data. - - - The compressed entry size or -1 if unknown. - - - - - Gets/Sets the crc of the uncompressed data. - - - Crc is not in the range 0..0xffffffffL - - - The crc value or -1 if unknown. - - - - - Gets/Sets the compression method. Only Deflated and Stored are supported. - - - The compression method for this entry - - - - - - - Gets/Sets the extra data. - - - Extra data is longer than 64KB (0xffff) bytes. - - - Extra data or null if not set. - - - - - Gets/Sets the entry comment. - - - If comment is longer than 0xffff. - - - The comment or null if not set. - - - A comment is only available for entries when read via the class. - The class doesnt have the comment data available. - - - - - Gets a value indicating if the entry is a directory. - however. - - - A directory is determined by an entry name with a trailing slash '/'. - The external file attributes can also indicate an entry is for a directory. - Currently only dos/windows attributes are tested in this manner. - The trailing slash convention should always be followed. - - - - - Get a value of true if the entry appears to be a file; false otherwise - - - This only takes account of DOS/Windows attributes. Other operating systems are ignored. - For linux and others the result may be incorrect. - - - - - ExtraData tagged value interface. - - - - - Set the contents of this instance from the data passed. - - The data to extract contents from. - The offset to begin extracting data from. - The number of bytes to extract. - - - - Get the data representing this instance. - - Returns the data for this instance. - - - - Get the ID for this tagged data value. - - - - - A raw binary tagged value - - - - - Initialise a new instance. - - The tag ID. - - - - Set the data from the raw values provided. - - The raw data to extract values from. - The index to start extracting values from. - The number of bytes available. - - - - Get the binary data representing this instance. - - The raw binary data representing this instance. - - - - The tag ID for this instance. - - - - - Get the ID for this tagged data value. - - - - - Get /set the binary data representing this instance. - - The raw binary data representing this instance. - - - - Class representing extended unix date time values. - - - - - Set the data from the raw values provided. - - The raw data to extract values from. - The index to start extracting values from. - The number of bytes available. - - - - Get the binary data representing this instance. - - The raw binary data representing this instance. - - - - Test a value to see if is valid and can be represented here. - - The value to test. - Returns true if the value is valid and can be represented; false if not. - The standard Unix time is a signed integer data type, directly encoding the Unix time number, - which is the number of seconds since 1970-01-01. - Being 32 bits means the values here cover a range of about 136 years. - The minimum representable time is 1901-12-13 20:45:52, - and the maximum representable time is 2038-01-19 03:14:07. - - - - - Get the ID - - - - - Get /set the Modification Time - - - - - - - Get / set the Access Time - - - - - - - Get / Set the Create Time - - - - - - - Get/set the values to include. - - - - - Flags indicate which values are included in this instance. - - - - - The modification time is included - - - - - The access time is included - - - - - The create time is included. - - - - - Class handling NT date time values. - - - - - Set the data from the raw values provided. - - The raw data to extract values from. - The index to start extracting values from. - The number of bytes available. - - - - Get the binary data representing this instance. - - The raw binary data representing this instance. - - - - Test a valuie to see if is valid and can be represented here. - - The value to test. - Returns true if the value is valid and can be represented; false if not. - - NTFS filetimes are 64-bit unsigned integers, stored in Intel - (least significant byte first) byte order. They determine the - number of 1.0E-07 seconds (1/10th microseconds!) past WinNT "epoch", - which is "01-Jan-1601 00:00:00 UTC". 28 May 60056 is the upper limit - - - - - Get the ID for this tagged data value. - - - - - Get/set the last modification time. - - - - - Get /set the create time - - - - - Get /set the last access time. - - - - - A factory that creates tagged data instances. - - - - - Get data for a specific tag value. - - The tag ID to find. - The data to search. - The offset to begin extracting data from. - The number of bytes to extract. - The located value found, or null if not found. - - - - - A class to handle the extra data field for Zip entries - - - Extra data contains 0 or more values each prefixed by a header tag and length. - They contain zero or more bytes of actual data. - The data is held internally using a copy on write strategy. This is more efficient but - means that for extra data created by passing in data can have the values modified by the caller - in some circumstances. - - - - - Initialise a default instance. - - - - - Initialise with known extra data. - - The extra data. - - - - Get the raw extra data value - - Returns the raw byte[] extra data this instance represents. - - - - Clear the stored data. - - - - - Get a read-only for the associated tag. - - The tag to locate data for. - Returns a containing tag data or null if no tag was found. - - - - Get the tagged data for a tag. - - The tag to search for. - Returns a tagged value or null if none found. - - - - Find an extra data value - - The identifier for the value to find. - Returns true if the value was found; false otherwise. - - - - Add a new entry to extra data. - - The value to add. - - - - Add a new entry to extra data - - The ID for this entry. - The data to add. - If the ID already exists its contents are replaced. - - - - Start adding a new entry. - - Add data using , , , or . - The new entry is completed and actually added by calling - - - - - Add entry data added since using the ID passed. - - The identifier to use for this entry. - - - - Add a byte of data to the pending new entry. - - The byte to add. - - - - - Add data to a pending new entry. - - The data to add. - - - - - Add a short value in little endian order to the pending new entry. - - The data to add. - - - - - Add an integer value in little endian order to the pending new entry. - - The data to add. - - - - - Add a long value in little endian order to the pending new entry. - - The data to add. - - - - - Delete an extra data field. - - The identifier of the field to delete. - Returns true if the field was found and deleted. - - - - Read a long in little endian form from the last found data value - - Returns the long value read. - - - - Read an integer in little endian form from the last found data value. - - Returns the integer read. - - - - Read a short value in little endian form from the last found data value. - - Returns the short value read. - - - - Read a byte from an extra data - - The byte value read or -1 if the end of data has been reached. - - - - Skip data during reading. - - The number of bytes to skip. - - - - Internal form of that reads data at any location. - - Returns the short value read. - - - - Dispose of this instance. - - - - - Gets the current extra data length. - - - - - Get the length of the last value found by - - This is only value if has previsouly returned true. - - - - Get the index for the current read value. - - This is only valid if has previously returned true. - Initially it will be the index of the first byte of actual data. The value is updated after calls to - , and . - - - - Get the number of bytes remaining to be read for the current value; - - - - - Holds data pertinent to a data descriptor. - - - - - Get /set the compressed size of data. - - - - - Get / set the uncompressed size of data - - - - - Get /set the crc value. - - - - - This class assists with writing/reading from Zip files. - - - - - Initialise an instance of this class. - - The name of the file to open. - - - - Initialise a new instance of . - - The stream to use. - - - - Close the stream. - - - The underlying stream is closed only if is true. - - - - - Locates a block with the desired . - - The signature to find. - Location, marking the end of block. - Minimum size of the block. - The maximum variable data. - Eeturns the offset of the first byte after the signature; -1 if not found - - - - Write Zip64 end of central directory records (File header and locator). - - The number of entries in the central directory. - The size of entries in the central directory. - The offset of the dentral directory. - - - - Write the required records to end the central directory. - - The number of entries in the directory. - The size of the entries in the directory. - The start of the central directory. - The archive comment. (This can be null). - - - - Read an unsigned short in little endian byte order. - - Returns the value read. - - An i/o error occurs. - - - The file ends prematurely - - - - - Read an int in little endian byte order. - - Returns the value read. - - An i/o error occurs. - - - The file ends prematurely - - - - - Read a long in little endian byte order. - - The value read. - - - - Write an unsigned short in little endian byte order. - - The value to write. - - - - Write a ushort in little endian byte order. - - The value to write. - - - - Write an int in little endian byte order. - - The value to write. - - - - Write a uint in little endian byte order. - - The value to write. - - - - Write a long in little endian byte order. - - The value to write. - - - - Write a ulong in little endian byte order. - - The value to write. - - - - Write a data descriptor. - - The entry to write a descriptor for. - Returns the number of descriptor bytes written. - - - - Read data descriptor at the end of compressed data. - - if set to true [zip64]. - The data to fill in. - Returns the number of bytes read in the descriptor. - - - - Get / set a value indicating wether the the underlying stream is owned or not. - - If the stream is owned it is closed when this instance is closed. - - - - Inflater is used to decompress data that has been compressed according - to the "deflate" standard described in rfc1951. - - By default Zlib (rfc1950) headers and footers are expected in the input. - You can use constructor public Inflater(bool noHeader) passing true - if there is no Zlib header information - - The usage is as following. First you have to set some input with - SetInput(), then Inflate() it. If inflate doesn't - inflate any bytes there may be three reasons: -
    -
  • IsNeedingInput() returns true because the input buffer is empty. - You have to provide more input with SetInput(). - NOTE: IsNeedingInput() also returns true when, the stream is finished. -
  • -
  • IsNeedingDictionary() returns true, you have to provide a preset - dictionary with SetDictionary().
  • -
  • IsFinished returns true, the inflater has finished.
  • -
- Once the first output byte is produced, a dictionary will not be - needed at a later stage. - - author of the original java version : John Leuner, Jochen Hoenicke -
-
- - - These are the possible states for an inflater - - - - - Copy lengths for literal codes 257..285 - - - - - Extra bits for literal codes 257..285 - - - - - Copy offsets for distance codes 0..29 - - - - - Extra bits for distance codes - - - - - This variable contains the current state. - - - - - The adler checksum of the dictionary or of the decompressed - stream, as it is written in the header resp. footer of the - compressed stream. - Only valid if mode is DECODE_DICT or DECODE_CHKSUM. - - - - - The number of bits needed to complete the current state. This - is valid, if mode is DECODE_DICT, DECODE_CHKSUM, - DECODE_HUFFMAN_LENBITS or DECODE_HUFFMAN_DISTBITS. - - - - - True, if the last block flag was set in the last block of the - inflated stream. This means that the stream ends after the - current block. - - - - - The total number of inflated bytes. - - - - - The total number of bytes set with setInput(). This is not the - value returned by the TotalIn property, since this also includes the - unprocessed input. - - - - - This variable stores the noHeader flag that was given to the constructor. - True means, that the inflated stream doesn't contain a Zlib header or - footer. - - - - - Creates a new inflater or RFC1951 decompressor - RFC1950/Zlib headers and footers will be expected in the input data - - - - - Creates a new inflater. - - - True if no RFC1950/Zlib header and footer fields are expected in the input data - - This is used for GZIPed/Zipped input. - - For compatibility with - Sun JDK you should provide one byte of input more than needed in - this case. - - - - - Resets the inflater so that a new stream can be decompressed. All - pending input and output will be discarded. - - - - - Decodes a zlib/RFC1950 header. - - - False if more input is needed. - - - The header is invalid. - - - - - Decodes the dictionary checksum after the deflate header. - - - False if more input is needed. - - - - - Decodes the huffman encoded symbols in the input stream. - - - false if more input is needed, true if output window is - full or the current block ends. - - - if deflated stream is invalid. - - - - - Decodes the adler checksum after the deflate stream. - - - false if more input is needed. - - - If checksum doesn't match. - - - - - Decodes the deflated stream. - - - false if more input is needed, or if finished. - - - if deflated stream is invalid. - - - - - Sets the preset dictionary. This should only be called, if - needsDictionary() returns true and it should set the same - dictionary, that was used for deflating. The getAdler() - function returns the checksum of the dictionary needed. - - - The dictionary. - - - - - Sets the preset dictionary. This should only be called, if - needsDictionary() returns true and it should set the same - dictionary, that was used for deflating. The getAdler() - function returns the checksum of the dictionary needed. - - - The dictionary. - - - The index into buffer where the dictionary starts. - - - The number of bytes in the dictionary. - - - No dictionary is needed. - - - The adler checksum for the buffer is invalid - - - - - Sets the input. This should only be called, if needsInput() - returns true. - - - the input. - - - - - Sets the input. This should only be called, if needsInput() - returns true. - - - The source of input data - - - The index into buffer where the input starts. - - - The number of bytes of input to use. - - - No input is needed. - - - The index and/or count are wrong. - - - - - Inflates the compressed stream to the output buffer. If this - returns 0, you should check, whether IsNeedingDictionary(), - IsNeedingInput() or IsFinished() returns true, to determine why no - further output is produced. - - - the output buffer. - - - The number of bytes written to the buffer, 0 if no further - output can be produced. - - - if buffer has length 0. - - - if deflated stream is invalid. - - - - - Inflates the compressed stream to the output buffer. If this - returns 0, you should check, whether needsDictionary(), - needsInput() or finished() returns true, to determine why no - further output is produced. - - - the output buffer. - - - the offset in buffer where storing starts. - - - the maximum number of bytes to output. - - - the number of bytes written to the buffer, 0 if no further output can be produced. - - - if count is less than 0. - - - if the index and / or count are wrong. - - - if deflated stream is invalid. - - - - - Returns true, if the input buffer is empty. - You should then call setInput(). - NOTE: This method also returns true when the stream is finished. - - - - - Returns true, if a preset dictionary is needed to inflate the input. - - - - - Returns true, if the inflater has finished. This means, that no - input is needed and no output can be produced. - - - - - Gets the adler checksum. This is either the checksum of all - uncompressed bytes returned by inflate(), or if needsDictionary() - returns true (and thus no output was yet produced) this is the - adler checksum of the expected dictionary. - - - the adler checksum. - - - - - Gets the total number of output bytes returned by Inflate(). - - - the total number of output bytes. - - - - - Gets the total number of processed compressed input bytes. - - - The total number of bytes of processed input bytes. - - - - - Gets the number of unprocessed input bytes. Useful, if the end of the - stream is reached and you want to further process the bytes after - the deflate stream. - - - The number of bytes of the input which have not been processed. - - - - - An input stream that decompresses files in the BZip2 format - - - - - Construct instance for reading from stream - - Data source - - - - Flushes the stream. - - - - - Set the streams position. This operation is not supported and will throw a NotSupportedException - - A byte offset relative to the parameter. - A value of type indicating the reference point used to obtain the new position. - The new position of the stream. - Any access - - - - Sets the length of this stream to the given value. - This operation is not supported and will throw a NotSupportedExceptionortedException - - The new length for the stream. - Any access - - - - Writes a block of bytes to this stream using data from a buffer. - This operation is not supported and will throw a NotSupportedException - - The buffer to source data from. - The offset to start obtaining data from. - The number of bytes of data to write. - Any access - - - - Writes a byte to the current position in the file stream. - This operation is not supported and will throw a NotSupportedException - - The value to write. - Any access - - - - Read a sequence of bytes and advances the read position by one byte. - - Array of bytes to store values in - Offset in array to begin storing data - The maximum number of bytes to read - The total number of bytes read into the buffer. This might be less - than the number of bytes requested if that number of bytes are not - currently available or zero if the end of the stream is reached. - - - - - Closes the stream, releasing any associated resources. - - - - - Read a byte from stream advancing position - - byte read or -1 on end of stream - - - - Get/set flag indicating ownership of underlying stream. - When the flag is true will close the underlying stream also. - - - - - Gets a value indicating if the stream supports reading - - - - - Gets a value indicating whether the current stream supports seeking. - - - - - Gets a value indicating whether the current stream supports writing. - This property always returns false - - - - - Gets the length in bytes of the stream. - - - - - Gets or sets the streams position. - Setting the position is not supported and will throw a NotSupportException - - Any attempt to set the position - - - - Computes Adler32 checksum for a stream of data. An Adler32 - checksum is not as reliable as a CRC32 checksum, but a lot faster to - compute. - - The specification for Adler32 may be found in RFC 1950. - ZLIB Compressed Data Format Specification version 3.3) - - - From that document: - - "ADLER32 (Adler-32 checksum) - This contains a checksum value of the uncompressed data - (excluding any dictionary data) computed according to Adler-32 - algorithm. This algorithm is a 32-bit extension and improvement - of the Fletcher algorithm, used in the ITU-T X.224 / ISO 8073 - standard. - - Adler-32 is composed of two sums accumulated per byte: s1 is - the sum of all bytes, s2 is the sum of all s1 values. Both sums - are done modulo 65521. s1 is initialized to 1, s2 to zero. The - Adler-32 checksum is stored as s2*65536 + s1 in most- - significant-byte first (network) order." - - "8.2. The Adler-32 algorithm - - The Adler-32 algorithm is much faster than the CRC32 algorithm yet - still provides an extremely low probability of undetected errors. - - The modulo on unsigned long accumulators can be delayed for 5552 - bytes, so the modulo operation time is negligible. If the bytes - are a, b, c, the second sum is 3a + 2b + c + 3, and so is position - and order sensitive, unlike the first sum, which is just a - checksum. That 65521 is prime is important to avoid a possible - large class of two-byte errors that leave the check unchanged. - (The Fletcher checksum uses 255, which is not prime and which also - makes the Fletcher check insensitive to single byte changes 0 - - 255.) - - The sum s1 is initialized to 1 instead of zero to make the length - of the sequence part of s2, so that the length does not have to be - checked separately. (Any sequence of zeroes has a Fletcher - checksum of zero.)" - - - - - - - largest prime smaller than 65536 - - - - - Creates a new instance of the Adler32 class. - The checksum starts off with a value of 1. - - - - - Resets the Adler32 checksum to the initial value. - - - - - Updates the checksum with a byte value. - - - The data value to add. The high byte of the int is ignored. - - - - - Updates the checksum with an array of bytes. - - - The source of the data to update with. - - - - - Updates the checksum with the bytes taken from the array. - - - an array of bytes - - - the start of the data used for this update - - - the number of bytes to use for this update - - - - - Returns the Adler32 data checksum computed so far. - - -
-
diff --git a/bin/Org.Mentalis.Security.dll b/bin/Org.Mentalis.Security.dll deleted file mode 100644 index bac39dd..0000000 Binary files a/bin/Org.Mentalis.Security.dll and /dev/null differ diff --git a/bin/Tamir.SharpSSH.dll b/bin/Tamir.SharpSSH.dll deleted file mode 100644 index c2f67a8..0000000 Binary files a/bin/Tamir.SharpSSH.dll and /dev/null differ diff --git a/bin/Winterdom.IO.FileMap.dll b/bin/Winterdom.IO.FileMap.dll deleted file mode 100644 index f3965d6..0000000 Binary files a/bin/Winterdom.IO.FileMap.dll and /dev/null differ -- cgit v1.1 From 5b6485481bbabc2cbe37af00fe55656c12db4b9e Mon Sep 17 00:00:00 2001 From: Tom Grimshaw Date: Sat, 26 Jun 2010 11:02:09 -0700 Subject: Add extra Gitminster config options to ini.example --- bin/OpenSim.ini.example | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 6fdfcf2..a71fe72 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -887,6 +887,13 @@ Enabled = true RepoPath = "git" +;How many frames between the scheduled commits? +CommitFrameInterval = 360000 + +;Should we automatically commit when necessary to avoid objects never making it into the repo? +UseSafetyCommit = true + + [SVN] Enabled = false Directory = SVNmodule\repo -- cgit v1.1 From ef6565470f587a3b5b065c8278ddb9d9b1691250 Mon Sep 17 00:00:00 2001 From: Tom Grimshaw Date: Sat, 17 Jul 2010 06:54:46 -0700 Subject: XGitminster: Update config options; commitFrameInterval -> CommitInterval and a new option DisableNonEssentialCommits --- bin/OpenSim.ini.example | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 559a734..1527334 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -884,8 +884,11 @@ Enabled = true RepoPath = "git" -;How many frames between the scheduled commits? -CommitFrameInterval = 360000 +;How many seconds between the scheduled commits? +CommitInterval = 21600 + +;Disable all except the initial commit? +DisableNonEssentialCommits = false ;Should we automatically commit when necessary to avoid objects never making it into the repo? UseSafetyCommit = true -- cgit v1.1 From d5f497478a371107c568844321a4663bccfbf527 Mon Sep 17 00:00:00 2001 From: Tom Date: Sun, 1 Aug 2010 10:21:56 -0700 Subject: Add config option securePermissionsLoading which will stop the region from loading if the specified permissions modules fail to load. --- bin/OpenSim.ini.example | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 1527334..2c105bd 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -178,6 +178,9 @@ ;permissionmodules = "DefaultPermissionsModule" + ;If any of the specified permissions modules fail to load, quit? + SecurePermissionsLoading = true + ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy ; any item, etc. This may not yet be implemented uniformally. ; If set to true, then all permissions checks are carried out -- cgit v1.1 From cb3b124df9213bf12383a5625ac4e545fcc91b87 Mon Sep 17 00:00:00 2001 From: Kitto Flora Date: Wed, 4 Aug 2010 21:08:00 +0000 Subject: Fixes fresh hollowed prim collision shape. --- .../storage/SQLiteLegacyStandalone.ini | 16 -------------- bin/config-include/storage/SQLiteStandalone.ini | 25 ---------------------- 2 files changed, 41 deletions(-) delete mode 100644 bin/config-include/storage/SQLiteLegacyStandalone.ini delete mode 100644 bin/config-include/storage/SQLiteStandalone.ini (limited to 'bin') diff --git a/bin/config-include/storage/SQLiteLegacyStandalone.ini b/bin/config-include/storage/SQLiteLegacyStandalone.ini deleted file mode 100644 index 1d4dd29..0000000 --- a/bin/config-include/storage/SQLiteLegacyStandalone.ini +++ /dev/null @@ -1,16 +0,0 @@ -; These are the initialization settings for running OpenSim Standalone with an SQLite database - -[DatabaseService] - StorageProvider = "OpenSim.Data.SQLiteLegacy.dll" - -[AvatarService] - ConnectionString = "URI=file:avatars.db,version=3" - -[AuthenticationService] - ConnectionString = "URI=file:auth.db,version=3" - -[UserAccountService] - ConnectionString = "URI=file:userprofiles.db,version=3" - -[FriendsService] - ConnectionString = "URI=file:friends.db,version=3" diff --git a/bin/config-include/storage/SQLiteStandalone.ini b/bin/config-include/storage/SQLiteStandalone.ini deleted file mode 100644 index fe814d7..0000000 --- a/bin/config-include/storage/SQLiteStandalone.ini +++ /dev/null @@ -1,25 +0,0 @@ -; These are the initialization settings for running OpenSim Standalone with an SQLite database - -[DatabaseService] - StorageProvider = "OpenSim.Data.SQLite.dll" - -[InventoryService] - ;ConnectionString = "URI=file:inventory.db,version=3" - ; if you have a legacy inventory store use the connection string below - ConnectionString = "URI=file:inventory.db,version=3,UseUTF16Encoding=True" - -[AvatarService] - ConnectionString = "URI=file:avatars.db,version=3" - -[AuthenticationService] - ConnectionString = "URI=file:auth.db,version=3" - -[UserAccountService] - ConnectionString = "URI=file:userprofiles.db,version=3" - -[GridUserService] - ConnectionString = "URI=file:griduser.db,version=3" - -[FriendsService] - ConnectionString = "URI=file:friends.db,version=3" - -- cgit v1.1 From 047a4764f22340667ea8c3b11a56ed54011aded9 Mon Sep 17 00:00:00 2001 From: sacha Date: Sat, 7 Aug 2010 13:19:53 +0000 Subject: and another one... --- bin/ICSharpCode.SharpZipLib.xml | 9055 +++++++++++++++++++++++++++++++++++++++ bin/hdfsdll.dll.config | 3 + bin/hdfsdll.so | Bin 0 -> 6557 bytes bin/xmrhelpers.so | Bin 0 -> 18357 bytes 4 files changed, 9058 insertions(+) create mode 100644 bin/ICSharpCode.SharpZipLib.xml create mode 100644 bin/hdfsdll.dll.config create mode 100755 bin/hdfsdll.so create mode 100755 bin/xmrhelpers.so (limited to 'bin') diff --git a/bin/ICSharpCode.SharpZipLib.xml b/bin/ICSharpCode.SharpZipLib.xml new file mode 100644 index 0000000..98cb51e --- /dev/null +++ b/bin/ICSharpCode.SharpZipLib.xml @@ -0,0 +1,9055 @@ + + + + ICSharpCode.SharpZipLib + + + + + FastZipEvents supports all events applicable to FastZip operations. + + + + + Delegate to invoke when processing directories. + + + + + Delegate to invoke when processing files. + + + + + Delegate to invoke during processing of files. + + + + + Delegate to invoke when processing for a file has been completed. + + + + + Delegate to invoke when processing directory failures. + + + + + Delegate to invoke when processing file failures. + + + + + Raise the directory failure event. + + The directory causing the failure. + The exception for this event. + A boolean indicating if execution should continue or not. + + + + Raises the file failure delegate. + + The file causing the failure. + The exception for this failure. + A boolean indicating if execution should continue or not. + + + + Fires the Process File delegate. + + The file being processed. + A boolean indicating if execution should continue or not. + + + + Fires the CompletedFile delegate + + The file whose processing has been completed. + A boolean indicating if execution should continue or not. + + + + Fires the process directory delegate. + + The directory being processed. + Flag indicating if the directory has matching files as determined by the current filter. + A of true if the operation should continue; false otherwise. + + + + The minimum timespan between events. + + The minimum period of time between events. + + + + + FastZip provides facilities for creating and extracting zip files. + + + + + Initialise a default instance of . + + + + + Initialise a new instance of + + The events to use during operations. + + + + Create a zip file. + + The name of the zip file to create. + The directory to source files from. + True to recurse directories, false for no recursion. + The file filter to apply. + The directory filter to apply. + + + + Create a zip file/archive. + + The name of the zip file to create. + The directory to obtain files and directories from. + True to recurse directories, false for no recursion. + The file filter to apply. + + + + Create a zip archive sending output to the passed. + + The stream to write archive data to. + The directory to source files from. + True to recurse directories, false for no recursion. + The file filter to apply. + The directory filter to apply. + + + + Extract the contents of a zip file. + + The zip file to extract from. + The directory to save extracted information in. + A filter to apply to files. + + + + Extract the contents of a zip file. + + The zip file to extract from. + The directory to save extracted information in. + The style of overwriting to apply. + A delegate to invoke when confirming overwriting. + A filter to apply to files. + A filter to apply to directories. + Flag indicating wether to restore the date and time for extracted files. + + + + Get/set a value indicating wether empty directories should be created. + + + + + Get / set the password value. + + + + + Get or set the active when creating Zip files. + + + + + + Get or set the active when creating Zip files. + + + + + Get/set a value indicating wether file dates and times should + be restored when extracting files from an archive. + + The default value is false. + + + + Get/set a value indicating wether file attributes should + be restored during extract operations + + + + + Defines the desired handling when overwriting files during extraction. + + + + + Prompt the user to confirm overwriting + + + + + Never overwrite files. + + + + + Always overwrite files. + + + + + Delegate called when confirming overwriting of files. + + + + + NameFilter is a string matching class which allows for both positive and negative + matching. + A filter is a sequence of independant regular expressions separated by semi-colons ';' + Each expression can be prefixed by a plus '+' sign or a minus '-' sign to denote the expression + is intended to include or exclude names. If neither a plus or minus sign is found include is the default + A given name is tested for inclusion before checking exclusions. Only names matching an include spec + and not matching an exclude spec are deemed to match the filter. + An empty filter matches any name. + + The following expression includes all name ending in '.dat' with the exception of 'dummy.dat' + "+\.dat$;-^dummy\.dat$" + + + + + Scanning filters support filtering of names. + + + + + Test a name to see if it 'matches' the filter. + + The name to test. + Returns true if the name matches the filter, false if it does not match. + + + + Construct an instance based on the filter expression passed + + The filter expression. + + + + Test a string to see if it is a valid regular expression. + + The expression to test. + True if expression is a valid false otherwise. + + + + Test an expression to see if it is valid as a filter. + + The filter expression to test. + True if the expression is valid, false otherwise. + + + + Convert this filter to its string equivalent. + + The string equivalent for this filter. + + + + Test a value to see if it is included by the filter. + + The value to test. + True if the value is included, false otherwise. + + + + Test a value to see if it is excluded by the filter. + + The value to test. + True if the value is excluded, false otherwise. + + + + Test a value to see if it matches the filter. + + The value to test. + True if the value matches, false otherwise. + + + + Compile this filter. + + + + + Huffman tree used for inflation + + + + + Literal length tree + + + + + Distance tree + + + + + Constructs a Huffman tree from the array of code lengths. + + + the array of code lengths + + + + + Reads the next symbol from input. The symbol is encoded using the + huffman tree. + + + input the input source. + + + the next symbol, or -1 if not enough input is available. + + + + + This class is general purpose class for writing data to a buffer. + + It allows you to write bits as well as bytes + Based on DeflaterPending.java + + author of the original java version : Jochen Hoenicke + + + + + Internal work buffer + + + + + construct instance using default buffer size of 4096 + + + + + construct instance using specified buffer size + + + size to use for internal buffer + + + + + Clear internal state/buffers + + + + + Write a byte to buffer + + + The value to write + + + + + Write a short value to buffer LSB first + + + The value to write. + + + + + write an integer LSB first + + The value to write. + + + + Write a block of data to buffer + + data to write + offset of first byte to write + number of bytes to write + + + + Align internal buffer on a byte boundary + + + + + Write bits to internal buffer + + source of bits + number of bits to write + + + + Write a short value to internal buffer most significant byte first + + value to write + + + + Flushes the pending buffer into the given output array. If the + output array is to small, only a partial flush is done. + + The output array. + The offset into output array. + The maximum number of bytes to store. + The number of bytes flushed. + + + + Convert internal buffer to byte array. + Buffer is empty on completion + + + The internal buffer contents converted to a byte array. + + + + + The number of bits written to the buffer + + + + + Indicates if buffer has been flushed + + + + + Used to advise clients of 'events' while processing archives + + + + + The TarArchive class implements the concept of a + 'Tape Archive'. A tar archive is a series of entries, each of + which represents a file system object. Each entry in + the archive consists of a header block followed by 0 or more data blocks. + Directory entries consist only of the header block, and are followed by entries + for the directory's contents. File entries consist of a + header followed by the number of blocks needed to + contain the file's contents. All entries are written on + block boundaries. Blocks are 512 bytes long. + + TarArchives are instantiated in either read or write mode, + based upon whether they are instantiated with an InputStream + or an OutputStream. Once instantiated TarArchives read/write + mode can not be changed. + + There is currently no support for random access to tar archives. + However, it seems that subclassing TarArchive, and using the + TarBuffer.CurrentRecord and TarBuffer.CurrentBlock + properties, this would be rather trivial. + + + + + Raises the ProgressMessage event + + The TarEntry for this event + message for this event. Null is no message + + + + Constructor for a default . + + + + + Initalise a TarArchive for input. + + The to use for input. + + + + Initialise a TarArchive for output. + + The to use for output. + + + + The InputStream based constructors create a TarArchive for the + purposes of extracting or listing a tar archive. Thus, use + these constructors when you wish to extract files from or list + the contents of an existing tar archive. + + The stream to retrieve archive data from. + Returns a new suitable for reading from. + + + + Create TarArchive for reading setting block factor + + Stream for tar archive contents + The blocking factor to apply + Returns a suitable for reading. + + + + Create a TarArchive for writing to, using the default blocking factor + + The to write to + Returns a suitable for writing. + + + + Create a TarArchive for writing to + + The stream to write to + The blocking factor to use for buffering. + Returns a suitable for writing. + + + + Set the flag that determines whether existing files are + kept, or overwritten during extraction. + + + If true, do not overwrite existing files. + + + + + Set the ascii file translation flag. + + + If true, translate ascii text files. + + + + + Set user and group information that will be used to fill in the + tar archive's entry headers. This information based on that available + for the linux operating system, which is not always available on other + operating systems. TarArchive allows the programmer to specify values + to be used in their place. + is set to true by this call. + + + The user id to use in the headers. + + + The user name to use in the headers. + + + The group id to use in the headers. + + + The group name to use in the headers. + + + + + Close the archive. + + + + + Perform the "list" command for the archive contents. + + NOTE That this method uses the progress event to actually list + the contents. If the progress display event is not set, nothing will be listed! + + + + + Perform the "extract" command and extract the contents of the archive. + + + The destination directory into which to extract. + + + + + Extract an entry from the archive. This method assumes that the + tarIn stream has been properly set with a call to GetNextEntry(). + + + The destination directory into which to extract. + + + The TarEntry returned by tarIn.GetNextEntry(). + + + + + Write an entry to the archive. This method will call the putNextEntry + and then write the contents of the entry, and finally call closeEntry() + for entries that are files. For directories, it will call putNextEntry(), + and then, if the recurse flag is true, process each entry that is a + child of the directory. + + + The TarEntry representing the entry to write to the archive. + + + If true, process the children of directory entries. + + + + + Write an entry to the archive. This method will call the putNextEntry + and then write the contents of the entry, and finally call closeEntry() + for entries that are files. For directories, it will call putNextEntry(), + and then, if the recurse flag is true, process each entry that is a + child of the directory. + + + The TarEntry representing the entry to write to the archive. + + + If true, process the children of directory entries. + + + + + Releases the unmanaged resources used by the FileStream and optionally releases the managed resources. + + true to release both managed and unmanaged resources; + false to release only unmanaged resources. + + + + Closes the archive and releases any associated resources. + + + + + Ensures that resources are freed and other cleanup operations are performed + when the garbage collector reclaims the . + + + + + Client hook allowing detailed information to be reported during processing + + + + + Get/set the ascii file translation flag. If ascii file translation + is true, then the file is checked to see if it a binary file or not. + If the flag is true and the test indicates it is ascii text + file, it will be translated. The translation converts the local + operating system's concept of line ends into the UNIX line end, + '\n', which is the defacto standard for a TAR archive. This makes + text files compatible with UNIX. + + + + + PathPrefix is added to entry names as they are written if the value is not null. + A slash character is appended after PathPrefix + + + + + RootPath is removed from entry names if it is found at the + beginning of the name. + + + + + Get or set a value indicating if overrides defined by SetUserInfo should be applied. + + If overrides are not applied then the values as set in each header will be used. + + + + Get the archive user id. + See ApplyUserInfoOverrides for detail + on how to allow setting values on a per entry basis. + + + The current user id. + + + + + Get the archive user name. + See ApplyUserInfoOverrides for detail + on how to allow setting values on a per entry basis. + + + The current user name. + + + + + Get the archive group id. + See ApplyUserInfoOverrides for detail + on how to allow setting values on a per entry basis. + + + The current group id. + + + + + Get the archive group name. + See ApplyUserInfoOverrides for detail + on how to allow setting values on a per entry basis. + + + The current group name. + + + + + Get the archive's record size. Tar archives are composed of + a series of RECORDS each containing a number of BLOCKS. + This allowed tar archives to match the IO characteristics of + the physical device being used. Archives are expected + to be properly "blocked". + + + The record size this archive is using. + + + + + An output stream that compresses into the BZip2 format + including file header chars into another stream. + + + + + Construct a default output stream with maximum block size + + The stream to write BZip data onto. + + + + Initialise a new instance of the + for the specified stream, using the given blocksize. + + The stream to write compressed data to. + The block size to use. + + Valid block sizes are in the range 1..9, with 1 giving + the lowest compression and 9 the highest. + + + + + Ensures that resources are freed and other cleanup operations + are performed when the garbage collector reclaims the BZip2OutputStream. + + + + + Sets the current position of this stream to the given value. + + The point relative to the offset from which to being seeking. + The reference point from which to begin seeking. + The new position in the stream. + + + + Sets the length of this stream to the given value. + + The new stream length. + + + + Read a byte from the stream advancing the position. + + The byte read cast to an int; -1 if end of stream. + + + + Read a block of bytes + + The buffer to read into. + The offset in the buffer to start storing data at. + The maximum number of bytes to read. + The total number of bytes read. This might be less than the number of bytes + requested if that number of bytes are not currently available, or zero + if the end of the stream is reached. + + + + Write a block of bytes to the stream + + The buffer containing data to write. + The offset of the first byte to write. + The number of bytes to write. + + + + Write a byte to the stream. + + The byte to write to the stream. + + + + End the current block and end compression. + Close the stream and free any resources + + + + + Get the number of bytes written to output. + + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Flush output buffers + + + + + Get/set flag indicating ownership of underlying stream. + When the flag is true will close the underlying stream also. + + + + + Gets a value indicating whether the current stream supports reading + + + + + Gets a value indicating whether the current stream supports seeking + + + + + Gets a value indicating whether the current stream supports writing + + + + + Gets the length in bytes of the stream + + + + + Gets or sets the current position of this stream. + + + + + Get the number of bytes written to the output. + + + + + Represents exception conditions specific to Zip archive handling + + + + + SharpZipBaseException is the base exception class for the SharpZipLibrary. + All library exceptions are derived from this. + + NOTE: Not all exceptions thrown will be derived from this class. + A variety of other exceptions are possible for example + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initializes a new instance of the SharpZipBaseException class. + + + + + Initializes a new instance of the SharpZipBaseException class with a specified error message. + + A message describing the exception. + + + + Initializes a new instance of the SharpZipBaseException class with a specified + error message and a reference to the inner exception that is the cause of this exception. + + A message describing the exception. + The inner exception + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initializes a new instance of the ZipException class. + + + + + Initializes a new instance of the ZipException class with a specified error message. + + The error message that explains the reason for the exception. + + + + Initialise a new instance of ZipException. + + A message describing the error. + The exception that is the cause of the current exception. + + + + A helper class to simplify compressing and decompressing streams. + + + + + Decompress input writing + decompressed data to the output stream + + The stream containing data to decompress. + The stream to write decompressed data to. + Both streams are closed on completion + + + + Compress input stream sending + result to output stream + + The stream to compress. + The stream to write compressed data to. + The block size to use. + Both streams are closed on completion + + + + Initialise a default instance of this class. + + + + + Determines how entries are tested to see if they should use Zip64 extensions or not. + + + + + Zip64 will not be forced on entries during processing. + + An entry can have this overridden if required + + + + Zip64 should always be used. + + + + + #ZipLib will determine use based on entry values when added to archive. + + + + + The kind of compression used for an entry in an archive + + + + + A direct copy of the file contents is held in the archive + + + + + Common Zip compression method using a sliding dictionary + of up to 32KB and secondary compression from Huffman/Shannon-Fano trees + + + + + An extension to deflate with a 64KB window. Not supported by #Zip currently + + + + + Not supported by #Zip currently + + + + + WinZip special for AES encryption, Not supported by #Zip + + + + + Identifies the encryption algorithm used for an entry + + + + + No encryption has been used. + + + + + Encrypted using PKZIP 2.0 or 'classic' encryption. + + + + + DES encryption has been used. + + + + + RCS encryption has been used for encryption. + + + + + Triple DES encryption with 168 bit keys has been used for this entry. + + + + + Triple DES with 112 bit keys has been used for this entry. + + + + + AES 128 has been used for encryption. + + + + + AES 192 has been used for encryption. + + + + + AES 256 has been used for encryption. + + + + + RC2 corrected has been used for encryption. + + + + + Blowfish has been used for encryption. + + + + + Twofish has been used for encryption. + + + + + RCS has been used for encryption. + + + + + An unknown algorithm has been used for encryption. + + + + + Defines the contents of the general bit flags field for an archive entry. + + + + + Bit 0 if set indicates that the file is encrypted + + + + + Bits 1 and 2 - Two bits defining the compression method (only for Method 6 Imploding and 8,9 Deflating) + + + + + Bit 3 if set indicates a trailing data desciptor is appended to the entry data + + + + + Bit 4 is reserved for use with method 8 for enhanced deflation + + + + + Bit 5 if set indicates the file contains Pkzip compressed patched data. + Requires version 2.7 or greater. + + + + + Bit 6 if set strong encryption has been used for this entry. + + + + + Bit 7 is currently unused + + + + + Bit 8 is currently unused + + + + + Bit 9 is currently unused + + + + + Bit 10 is currently unused + + + + + Bit 11 if set indicates the filename and + comment fields for this file must be encoded using UTF-8. + + + + + Bit 12 is documented as being reserved by PKware for enhanced compression. + + + + + Bit 13 if set indicates that values in the local header are masked to hide + their actual values, and the central directory is encrypted. + + + Used when encrypting the central directory contents. + + + + + Bit 14 is documented as being reserved for use by PKware + + + + + Bit 15 is documented as being reserved for use by PKware + + + + + This class contains constants used for Zip format files + + + + + The version made by field for entries in the central header when created by this library + + + This is also the Zip version for the library when comparing against the version required to extract + for an entry. See . + + + + + The version made by field for entries in the central header when created by this library + + + This is also the Zip version for the library when comparing against the version required to extract + for an entry. See ZipInputStream.CanDecompressEntry. + + + + + The minimum version required to support strong encryption + + + + + The minimum version required to support strong encryption + + + + + The version required for Zip64 extensions + + + + + Size of local entry header (excluding variable length fields at end) + + + + + Size of local entry header (excluding variable length fields at end) + + + + + Size of Zip64 data descriptor + + + + + Size of data descriptor + + + + + Size of data descriptor + + + + + Size of central header entry (excluding variable fields) + + + + + Size of central header entry + + + + + Size of end of central record (excluding variable fields) + + + + + Size of end of central record (excluding variable fields) + + + + + Size of 'classic' cryptographic header stored before any entry data + + + + + Size of cryptographic header stored before entry data + + + + + Signature for local entry header + + + + + Signature for local entry header + + + + + Signature for spanning entry + + + + + Signature for spanning entry + + + + + Signature for temporary spanning entry + + + + + Signature for temporary spanning entry + + + + + Signature for data descriptor + + + This is only used where the length, Crc, or compressed size isnt known when the + entry is created and the output stream doesnt support seeking. + The local entry cannot be 'patched' with the correct values in this case + so the values are recorded after the data prefixed by this header, as well as in the central directory. + + + + + Signature for data descriptor + + + This is only used where the length, Crc, or compressed size isnt known when the + entry is created and the output stream doesnt support seeking. + The local entry cannot be 'patched' with the correct values in this case + so the values are recorded after the data prefixed by this header, as well as in the central directory. + + + + + Signature for central header + + + + + Signature for central header + + + + + Signature for Zip64 central file header + + + + + Signature for Zip64 central file header + + + + + Signature for Zip64 central directory locator + + + + + Signature for archive extra data signature (were headers are encrypted). + + + + + Central header digitial signature + + + + + Central header digitial signature + + + + + End of central directory record signature + + + + + End of central directory record signature + + + + + Convert a portion of a byte array to a string. + + + Data to convert to string + + + Number of bytes to convert starting from index 0 + + + data[0]..data[length - 1] converted to a string + + + + + Convert a byte array to string + + + Byte array to convert + + + dataconverted to a string + + + + + Convert a byte array to string + + The applicable general purpose bits flags + + Byte array to convert + + The number of bytes to convert. + + dataconverted to a string + + + + + Convert a byte array to string + + + Byte array to convert + + The applicable general purpose bits flags + + dataconverted to a string + + + + + Convert a string to a byte array + + + String to convert to an array + + Converted array + + + + Convert a string to a byte array + + The applicable general purpose bits flags + + String to convert to an array + + Converted array + + + + Initialise default instance of ZipConstants + + + Private to prevent instances being created. + + + + + Default encoding used for string conversion. 0 gives the default system OEM code page. + Dont use unicode encodings if you want to be Zip compatible! + Using the default code page isnt the full solution neccessarily + there are many variable factors, codepage 850 is often a good choice for + European users, however be careful about compatability. + + + + + This is a DeflaterOutputStream that writes the files into a zip + archive one after another. It has a special method to start a new + zip entry. The zip entries contains information about the file name + size, compressed size, CRC, etc. + + It includes support for Stored and Deflated entries. + This class is not thread safe. +
+
Author of the original java version : Jochen Hoenicke +
+ This sample shows how to create a zip file + + using System; + using System.IO; + + using ICSharpCode.SharpZipLib.Core; + using ICSharpCode.SharpZipLib.Zip; + + class MainClass + { + public static void Main(string[] args) + { + string[] filenames = Directory.GetFiles(args[0]); + byte[] buffer = new byte[4096]; + + using ( ZipOutputStream s = new ZipOutputStream(File.Create(args[1])) ) { + + s.SetLevel(9); // 0 - store only to 9 - means best compression + + foreach (string file in filenames) { + ZipEntry entry = new ZipEntry(file); + s.PutNextEntry(entry); + + using (FileStream fs = File.OpenRead(file)) { + StreamUtils.Copy(fs, s, buffer); + } + } + } + } + } + + +
+ + + A special stream deflating or compressing the bytes that are + written to it. It uses a Deflater to perform actual deflating.
+ Authors of the original java version : Tom Tromey, Jochen Hoenicke +
+
+ + + Creates a new DeflaterOutputStream with a default Deflater and default buffer size. + + + the output stream where deflated output should be written. + + + + + Creates a new DeflaterOutputStream with the given Deflater and + default buffer size. + + + the output stream where deflated output should be written. + + + the underlying deflater. + + + + + Creates a new DeflaterOutputStream with the given Deflater and + buffer size. + + + The output stream where deflated output is written. + + + The underlying deflater to use + + + The buffer size to use when deflating + + + bufsize is less than or equal to zero. + + + baseOutputStream does not support writing + + + deflater instance is null + + + + + Finishes the stream by calling finish() on the deflater. + + + Not all input is deflated + + + + + Encrypt a block of data + + + Data to encrypt. NOTE the original contents of the buffer are lost + + + Offset of first byte in buffer to encrypt + + + Number of bytes in buffer to encrypt + + + + + Initializes encryption keys based on given password + + The password. + + + + Deflates everything in the input buffers. This will call + def.deflate() until all bytes from the input buffers + are processed. + + + + + Sets the current position of this stream to the given value. Not supported by this class! + + The offset relative to the to seek. + The to seek from. + The new position in the stream. + Any access + + + + Sets the length of this stream to the given value. Not supported by this class! + + The new stream length. + Any access + + + + Read a byte from stream advancing position by one + + The byte read cast to an int. THe value is -1 if at the end of the stream. + Any access + + + + Read a block of bytes from stream + + The buffer to store read data in. + The offset to start storing at. + The maximum number of bytes to read. + The actual number of bytes read. Zero if end of stream is detected. + Any access + + + + Asynchronous reads are not supported a NotSupportedException is always thrown + + The buffer to read into. + The offset to start storing data at. + The number of bytes to read + The async callback to use. + The state to use. + Returns an + Any access + + + + Asynchronous writes arent supported, a NotSupportedException is always thrown + + The buffer to write. + The offset to begin writing at. + The number of bytes to write. + The to use. + The state object. + Returns an IAsyncResult. + Any access + + + + Flushes the stream by calling Flush on the deflater and then + on the underlying stream. This ensures that all bytes are flushed. + + + + + Calls and closes the underlying + stream when is true. + + + + + Writes a single byte to the compressed output stream. + + + The byte value. + + + + + Writes bytes from an array to the compressed stream. + + + The byte array + + + The offset into the byte array where to start. + + + The number of bytes to write. + + + + + This buffer is used temporarily to retrieve the bytes from the + deflater and write them to the underlying output stream. + + + + + The deflater which is used to deflate the stream. + + + + + Base stream the deflater depends on. + + + + + Get/set flag indicating ownership of the underlying stream. + When the flag is true will close the underlying stream also. + + + + + Allows client to determine if an entry can be patched after its added + + + + + Get/set the password used for encryption. + + When set to null or if the password is empty no encryption is performed + + + + Gets value indicating stream can be read from + + + + + Gets a value indicating if seeking is supported for this stream + This property always returns false + + + + + Get value indicating if this stream supports writing + + + + + Get current length of stream + + + + + Gets the current position within the stream. + + Any attempt to set position + + + + Creates a new Zip output stream, writing a zip archive. + + + The output stream to which the archive contents are written. + + + + + Set the zip file comment. + + + The comment text for the entire archive. + + + The converted comment is longer than 0xffff bytes. + + + + + Sets the compression level. The new level will be activated + immediately. + + The new compression level (1 to 9). + + Level specified is not supported. + + + + + + Get the current deflater compression level + + The current compression level + + + + Write an unsigned short in little endian byte order. + + + + + Write an int in little endian byte order. + + + + + Write an int in little endian byte order. + + + + + Starts a new Zip entry. It automatically closes the previous + entry if present. + All entry elements bar name are optional, but must be correct if present. + If the compression method is stored and the output is not patchable + the compression for that entry is automatically changed to deflate level 0 + + + the entry. + + + if entry passed is null. + + + if an I/O error occured. + + + if stream was finished + + + Too many entries in the Zip file
+ Entry name is too long
+ Finish has already been called
+
+
+ + + Closes the current entry, updating header and footer information as required + + + An I/O error occurs. + + + No entry is active. + + + + + Writes the given buffer to the current entry. + + The buffer containing data to write. + The offset of the first byte to write. + The number of bytes to write. + Archive size is invalid + No entry is active. + + + + Finishes the stream. This will write the central directory at the + end of the zip file and flush the stream. + + + This is automatically called when the stream is closed. + + + An I/O error occurs. + + + Comment exceeds the maximum length
+ Entry name exceeds the maximum length +
+
+ + + The entries for the archive. + + + + + Used to track the crc of data added to entries. + + + + + The current entry being added. + + + + + Used to track the size of data for an entry during writing. + + + + + Offset to be recorded for each entry in the central header. + + + + + Comment for the entire archive recorded in central header. + + + + + Flag indicating that header patching is required for the current entry. + + + + + Position to patch crc + + + + + Position to patch size. + + + + + Gets a flag value of true if the central header has been added for this archive; false if it has not been added. + + No further entries can be added once this has been done. + + + + Get / set a value indicating how Zip64 Extension usage is determined when adding entries. + + Older archivers may not understand Zip64 extensions. + If backwards compatability is an issue be careful when adding entries to an archive. + Setting this property to off is workable but less desirable as in those circumstances adding a file + larger then 4GB will fail. + + + + INameTransform defines how file system names are transformed for use with archives. + + + + + Given a file name determine the transformed value. + + The name to transform. + The transformed file name. + + + + Given a directory name determine the transformed value. + + The name to transform. + The transformed directory name + + + + This class contains constants used for deflation. + + + + + Set to true to enable debugging + + + + + Written to Zip file to identify a stored block + + + + + Identifies static tree in Zip file + + + + + Identifies dynamic tree in Zip file + + + + + Header flag indicating a preset dictionary for deflation + + + + + Sets internal buffer sizes for Huffman encoding + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + This class stores the pending output of the Deflater. + + author of the original java version : Jochen Hoenicke + + + + + Construct instance with default buffer size + + + + + PathFilter filters directories and files using a form of regular expressions + by full path name. + See NameFilter for more detail on filtering. + + + + + Initialise a new instance of . + + The filter expression to apply. + + + + Test a name to see if it matches the filter. + + The name to test. + True if the name matches, false otherwise. + + + + ExtendedPathFilter filters based on name, file size, and the last write time of the file. + + Provides an example of how to customise filtering. + + + + Initialise a new instance of ExtendedPathFilter. + + The filter to apply. + The minimum file size to include. + The maximum file size to include. + + + + Initialise a new instance of ExtendedPathFilter. + + The filter to apply. + The minimum to include. + The maximum to include. + + + + Initialise a new instance of ExtendedPathFilter. + + The filter to apply. + The minimum file size to include. + The maximum file size to include. + The minimum to include. + The maximum to include. + + + + Test a filename to see if it matches the filter. + + The filename to test. + True if the filter matches, false otherwise. + + + + Get/set the minimum size for a file that will match this filter. + + + + + Get/set the maximum size for a file that will match this filter. + + + + + Get/set the minimum value that will match for this filter. + + Files with a LastWrite time less than this value are excluded by the filter. + + + + Get/set the maximum value that will match for this filter. + + Files with a LastWrite time greater than this value are excluded by the filter. + + + + NameAndSizeFilter filters based on name and file size. + + A sample showing how filters might be extended. + + + + Initialise a new instance of NameAndSizeFilter. + + The filter to apply. + The minimum file size to include. + The maximum file size to include. + + + + Test a filename to see if it matches the filter. + + The filename to test. + True if the filter matches, false otherwise. + + + + Get/set the minimum size for a file that will match this filter. + + + + + Get/set the maximum size for a file that will match this filter. + + + + + BZip2Exception represents exceptions specific to Bzip2 algorithm + + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initialise a new instance of BZip2Exception. + + + + + Initialise a new instance of BZip2Exception with its message set to message. + + The message describing the error. + + + + Initialise an instance of BZip2Exception + + A message describing the error. + The exception that is the cause of the current exception. + + + + GZipException represents a Gzip specific exception + + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initialise a new instance of GZipException + + + + + Initialise a new instance of GZipException with its message string. + + A that describes the error. + + + + Initialise a new instance of . + + A that describes the error. + The that caused this exception. + + + + Contains the output from the Inflation process. + We need to have a window so that we can refer backwards into the output stream + to repeat stuff.
+ Author of the original java version : John Leuner +
+
+ + + Write a byte to this output window + + value to write + + if window is full + + + + + Append a byte pattern already in the window itself + + length of pattern to copy + distance from end of window pattern occurs + + If the repeated data overflows the window + + + + + Copy from input manipulator to internal window + + source of data + length of data to copy + the number of bytes copied + + + + Copy dictionary to window + + source dictionary + offset of start in source dictionary + length of dictionary + + If window isnt empty + + + + + Get remaining unfilled space in window + + Number of bytes left in window + + + + Get bytes available for output in window + + Number of bytes filled + + + + Copy contents of window to output + + buffer to copy to + offset to start at + number of bytes to count + The number of bytes copied + + If a window underflow occurs + + + + + Reset by clearing window so GetAvailable returns 0 + + + + + Defines internal values for both compression and decompression + + + + + When multiplied by compression parameter (1-9) gives the block size for compression + 9 gives the best compresssion but uses the most memory. + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Random numbers used to randomise repetitive blocks + + + + + This filter stream is used to compress a stream into a "GZIP" stream. + The "GZIP" format is described in RFC 1952. + + author of the original java version : John Leuner + + This sample shows how to gzip a file + + using System; + using System.IO; + + using ICSharpCode.SharpZipLib.GZip; + using ICSharpCode.SharpZipLib.Core; + + class MainClass + { + public static void Main(string[] args) + { + using (Stream s = new GZipOutputStream(File.Create(args[0] + ".gz"))) + using (FileStream fs = File.OpenRead(args[0])) { + byte[] writeData = new byte[4096]; + Streamutils.Copy(s, fs, writeData); + } + } + } + } + + + + + + CRC-32 value for uncompressed data + + + + + Creates a GzipOutputStream with the default buffer size + + + The stream to read data (to be compressed) from + + + + + Creates a GZipOutputStream with the specified buffer size + + + The stream to read data (to be compressed) from + + + Size of the buffer to use + + + + + Sets the active compression level (1-9). The new level will be activated + immediately. + + The compression level to set. + + Level specified is not supported. + + + + + + Get the current compression level. + + The current compression level. + + + + Write given buffer to output updating crc + + Buffer to write + Offset of first byte in buf to write + Number of bytes to write + + + + Writes remaining compressed output data to the output stream + and closes it. + + + + + Finish compression and write any footer information required to stream + + + + + Arguments used with KeysRequiredEvent + + + + + Initialise a new instance of + + The name of the file for which keys are required. + + + + Initialise a new instance of + + The name of the file for which keys are required. + The current key value. + + + + Get the name of the file for which keys are required. + + + + + Get/set the key value + + + + + The strategy to apply to testing. + + + + + Find the first error only. + + + + + Find all possible errors. + + + + + The operation in progress reported by a during testing. + + TestArchive + + + + Setting up testing. + + + + + Testing an individual entries header + + + + + Testing an individual entries data + + + + + Testing an individual entry has completed. + + + + + Running miscellaneous tests + + + + + Testing is complete + + + + + Status returned returned by during testing. + + TestArchive + + + + Initialise a new instance of + + The this status applies to. + + + + Get the current in progress. + + + + + Get the this status is applicable to. + + + + + Get the current/last entry tested. + + + + + Get the number of errors detected so far. + + + + + Get the number of bytes tested so far for the current entry. + + + + + Get a value indicating wether the last entry test was valid. + + + + + Delegate invoked during testing if supplied indicating current progress and status. + + If the message is non-null an error has occured. If the message is null + the operation as found in status has started. + + + + The possible ways of applying updates to an archive. + + + + + Perform all updates on temporary files ensuring that the original file is saved. + + + + + Update the archive directly, which is faster but less safe. + + + + + This class represents a Zip archive. You can ask for the contained + entries, or get an input stream for a file entry. The entry is + automatically decompressed. + + You can also update the archive adding or deleting entries. + + This class is thread safe for input: You can open input streams for arbitrary + entries in different threads. +
+
Author of the original java version : Jochen Hoenicke +
+ + + using System; + using System.Text; + using System.Collections; + using System.IO; + + using ICSharpCode.SharpZipLib.Zip; + + class MainClass + { + static public void Main(string[] args) + { + using (ZipFile zFile = new ZipFile(args[0])) { + Console.WriteLine("Listing of : " + zFile.Name); + Console.WriteLine(""); + Console.WriteLine("Raw Size Size Date Time Name"); + Console.WriteLine("-------- -------- -------- ------ ---------"); + foreach (ZipEntry e in zFile) { + if ( e.IsFile ) { + DateTime d = e.DateTime; + Console.WriteLine("{0, -10}{1, -10}{2} {3} {4}", e.Size, e.CompressedSize, + d.ToString("dd-MM-yy"), d.ToString("HH:mm"), + e.Name); + } + } + } + } + } + + +
+ + + Event handler for handling encryption keys. + + + + + Handles getting of encryption keys when required. + + The file for which encryption keys are required. + + + + Opens a Zip file with the given name for reading. + + The name of the file to open. + + An i/o error occurs + + + The file doesn't contain a valid zip archive. + + + + + Opens a Zip file reading the given . + + The to read archive data from. + + An i/o error occurs. + + + The file doesn't contain a valid zip archive. + + + + + Opens a Zip file reading the given . + + The to read archive data from. + + An i/o error occurs + + + The file doesn't contain a valid zip archive.
+ The stream provided cannot seek +
+
+ + + Initialises a default instance with no entries and no file storage. + + + + + Finalize this instance. + + + + + Closes the ZipFile. If the stream is owned then this also closes the underlying input stream. + Once closed, no further instance methods should be called. + + + An i/o error occurs. + + + + + Create a new whose data will be stored in a file. + + The name of the archive to create. + Returns the newly created + + + + Create a new whose data will be stored on a stream. + + The stream providing data storage. + Returns the newly created + + + + Gets an enumerator for the Zip entries in this Zip file. + + Returns an for this archive. + + The Zip file has been closed. + + + + + Return the index of the entry with a matching name + + Entry name to find + If true the comparison is case insensitive + The index position of the matching entry or -1 if not found + + The Zip file has been closed. + + + + + Searches for a zip entry in this archive with the given name. + String comparisons are case insensitive + + + The name to find. May contain directory components separated by slashes ('/'). + + + A clone of the zip entry, or null if no entry with that name exists. + + + The Zip file has been closed. + + + + + Gets an input stream for reading the given zip entry data in an uncompressed form. + Normally the should be an entry returned by GetEntry(). + + The to obtain a data for + An input containing data for this + + The ZipFile has already been closed + + + The compression method for the entry is unknown + + + The entry is not found in the ZipFile + + + + + Creates an input stream reading a zip entry + + The index of the entry to obtain an input stream for. + + An input containing data for this + + + The ZipFile has already been closed + + + The compression method for the entry is unknown + + + The entry is not found in the ZipFile + + + + + Test an archive for integrity/validity + + Perform low level data Crc check + true if all tests pass, false otherwise + Testing will terminate on the first error found. + + + + Test an archive for integrity/validity + + Perform low level data Crc check + The to apply. + The handler to call during testing. + true if all tests pass, false otherwise + + + + Test a local header against that provided from the central directory + + + The entry to test against + + The type of tests to carry out. + The offset of the entries data in the file + + + + Begin updating this archive. + + The archive storage for use during the update. + The data source to utilise during updating. + + + + Begin updating to this archive. + + The storage to use during the update. + + + + Begin updating this archive. + + + + + + + + Commit current updates, updating this archive. + + + + + + + Abort updating leaving the archive unchanged. + + + + + + + Set the file comment to be recorded when the current update is commited. + + The comment to record. + + + + Add a new entry to the archive. + + The name of the file to add. + The compression method to use. + Ensure Unicode text is used for name and comment for this entry. + + + + Add a new entry to the archive. + + The name of the file to add. + The compression method to use. + + + + Add a file to the archive. + + The name of the file to add. + + + + Add a file entry with data. + + The source of the data for this entry. + The name to give to the entry. + + + + Add a file entry with data. + + The source of the data for this entry. + The name to give to the entry. + The compression method to use. + + + + Add a file entry with data. + + The source of the data for this entry. + The name to give to the entry. + The compression method to use. + Ensure Unicode text is used for name and comments for this entry. + + + + Add a that contains no data. + + The entry to add. + This can be used to add directories, volume labels, or empty file entries. + + + + Add a directory entry to the archive. + + The directory to add. + + + + Delete an entry by name + + The filename to delete + True if the entry was found and deleted; false otherwise. + + + + Delete a from the archive. + + The entry to delete. + + + + Write an unsigned short in little endian byte order. + + + + + Write an int in little endian byte order. + + + + + Write an unsigned int in little endian byte order. + + + + + Write a long in little endian byte order. + + + + + Get a raw memory buffer. + + Returns a raw memory buffer. + + + + Get the size of the source descriptor for a . + + The update to get the size for. + The descriptor size, zero if there isnt one. + + + + Get an output stream for the specified + + The entry to get an output stream for. + The output stream obtained for the entry. + + + + Releases the unmanaged resources used by the this instance and optionally releases the managed resources. + + true to release both managed and unmanaged resources; + false to release only unmanaged resources. + + + + Read an unsigned short in little endian byte order. + + Returns the value read. + + The stream ends prematurely + + + + + Read a uint in little endian byte order. + + Returns the value read. + + An i/o error occurs. + + + The file ends prematurely + + + + + Search for and read the central directory of a zip file filling the entries array. + + + An i/o error occurs. + + + The central directory is malformed or cannot be found + + + + + Locate the data for a given entry. + + + The start offset of the data. + + + The stream ends prematurely + + + The local header signature is invalid, the entry and central header file name lengths are different + or the local and entry compression methods dont match + + + + + Get/set the encryption key value. + + + + + Password to be used for encrypting/decrypting files. + + Set to null if no password is required. + + + + Get a value indicating wether encryption keys are currently available. + + + + + Get/set a flag indicating if the underlying stream is owned by the ZipFile instance. + If the flag is true then the stream will be closed when Close is called. + + + The default value is true in all cases. + + + + + Get a value indicating wether + this archive is embedded in another file or not. + + + + + Get a value indicating that this archive is a new one. + + + + + Gets the comment for the zip file. + + + + + Gets the name of this zip file. + + + + + Gets the number of entries in this zip file. + + + The Zip file has been closed. + + + + + Get the number of entries contained in this . + + + + + Indexer property for ZipEntries + + + + + Get / set the to apply to names when updating. + + + + + Get/set the used to generate values + during updates. + + + + + Get /set the buffer size to be used when updating this zip file. + + + + + Get a value indicating an update has been started. + + + + + Get / set a value indicating how Zip64 Extension usage is determined when adding entries. + + + + + Delegate for handling keys/password setting during compresion/decompression. + + + + + The kind of update to apply. + + + + + Class used to sort updates. + + + + + Compares two objects and returns a value indicating whether one is + less than, equal to or greater than the other. + + First object to compare + Second object to compare. + Compare result. + + + + Represents a pending update to a Zip file. + + + + + Copy an existing entry. + + The existing entry to copy. + + + + Get the for this update. + + This is the source or original entry. + + + + Get the that will be written to the updated/new file. + + + + + Get the command for this update. + + + + + Get the filename if any for this update. Null if none exists. + + + + + Get/set the location of the size patch for this update. + + + + + Get /set the location of the crc patch for this update. + + + + + Represents a string from a which is stored as an array of bytes. + + + + + Initialise a with a string. + + The textual string form. + + + + Initialise a using a string in its binary 'raw' form. + + + + + + Reset the comment to its initial state. + + + + + Implicit conversion of comment to a string. + + The to convert to a string. + The textual equivalent for the input value. + + + + Get a value indicating the original source of data for this instance. + True if the source was a string; false if the source was binary data. + + + + + Get the length of the comment when represented as raw bytes. + + + + + Get the comment in its 'raw' form as plain bytes. + + + + + An enumerator for Zip entries + + + + + An is a stream that you can write uncompressed data + to and flush, but cannot read, seek or do anything else to. + + + + + Close this stream instance. + + + + + Write any buffered data to underlying storage. + + + + + Gets a value indicating whether the current stream supports reading. + + + + + Gets a value indicating whether the current stream supports writing. + + + + + Gets a value indicating whether the current stream supports seeking. + + + + + Get the length in bytes of the stream. + + + + + Gets or sets the position within the current stream. + + + + + A is an + whose data is only a part or subsection of a file. + + + + + This filter stream is used to decompress data compressed using the "deflate" + format. The "deflate" format is described in RFC 1951. + + This stream may form the basis for other decompression filters, such + as the GZipInputStream. + + Author of the original java version : John Leuner. + + + + + Create an InflaterInputStream with the default decompressor + and a default buffer size of 4KB. + + + The InputStream to read bytes from + + + + + Create an InflaterInputStream with the specified decompressor + and a default buffer size of 4KB. + + + The source of input data + + + The decompressor used to decompress data read from baseInputStream + + + + + Create an InflaterInputStream with the specified decompressor + and the specified buffer size. + + + The InputStream to read bytes from + + + The decompressor to use + + + Size of the buffer to use + + + + + Skip specified number of bytes of uncompressed data + + + Number of bytes to skip + + + The number of bytes skipped, zero if the end of + stream has been reached + + + Number of bytes to skip is less than zero + + + + + Clear any cryptographic state. + + + + + Fills the buffer with more data to decompress. + + + Stream ends early + + + + + Flushes the baseInputStream + + + + + Sets the position within the current stream + Always throws a NotSupportedException + + The relative offset to seek to. + The defining where to seek from. + The new position in the stream. + Any access + + + + Set the length of the current stream + Always throws a NotSupportedException + + The new length value for the stream. + Any access + + + + Writes a sequence of bytes to stream and advances the current position + This method always throws a NotSupportedException + + Thew buffer containing data to write. + The offset of the first byte to write. + The number of bytes to write. + Any access + + + + Writes one byte to the current stream and advances the current position + Always throws a NotSupportedException + + The byte to write. + Any access + + + + Entry point to begin an asynchronous write. Always throws a NotSupportedException. + + The buffer to write data from + Offset of first byte to write + The maximum number of bytes to write + The method to be called when the asynchronous write operation is completed + A user-provided object that distinguishes this particular asynchronous write request from other requests + An IAsyncResult that references the asynchronous write + Any access + + + + Closes the input stream. When + is true the underlying stream is also closed. + + + + + Reads decompressed data into the provided buffer byte array + + + The array to read and decompress data into + + + The offset indicating where the data should be placed + + + The number of bytes to decompress + + The number of bytes read. Zero signals the end of stream + + Inflater needs a dictionary + + + + + Decompressor for this stream + + + + + Input buffer for this stream. + + + + + Base stream the inflater reads from. + + + + + The compressed size + + + + + Flag indicating wether this instance has been closed or not. + + + + + Flag indicating wether this instance is designated the stream owner. + When closing if this flag is true the underlying stream is closed. + + + + + Get/set flag indicating ownership of underlying stream. + When the flag is true will close the underlying stream also. + + + The default value is true. + + + + + Returns 0 once the end of the stream (EOF) has been reached. + Otherwise returns 1. + + + + + Gets a value indicating whether the current stream supports reading + + + + + Gets a value of false indicating seeking is not supported for this stream. + + + + + Gets a value of false indicating that this stream is not writeable. + + + + + A value representing the length of the stream in bytes. + + + + + The current position within the stream. + Throws a NotSupportedException when attempting to set the position + + Attempting to set the position + + + + Initialise a new instance of the class. + + The underlying stream to use for IO. + The start of the partial data. + The length of the partial data. + + + + Skip the specified number of input bytes. + + The maximum number of input bytes to skip. + The actuial number of input bytes skipped. + + + + Read a byte from this stream. + + Returns the byte read or -1 on end of stream. + + + + Close this partial input stream. + + + The underlying stream is not closed. Close the parent ZipFile class to do that. + + + + + Provides a static way to obtain a source of data for an entry. + + + + + Get a source of data by creating a new stream. + + Returns a to use for compression input. + Ideally a new stream is created and opened to achieve this, to avoid locking problems. + + + + Represents a source of data that can dynamically provide + multiple data sources based on the parameters passed. + + + + + Get a data source. + + The to get a source for. + The name for data if known. + Returns a to use for compression input. + Ideally a new stream is created and opened to achieve this, to avoid locking problems. + + + + Default implementation of a for use with files stored on disk. + + + + + Initialise a new instnace of + + The name of the file to obtain data from. + + + + Get a providing data. + + Returns a provising data. + + + + Default implementation of for files stored on disk. + + + + + Initialise a default instance of . + + + + + Get a providing data for an entry. + + The entry to provide data for. + The file name for data if known. + Returns a stream providing data; or null if not available + + + + Defines facilities for data storage when updating Zip Archives. + + + + + Get an empty that can be used for temporary output. + + Returns a temporary output + + + + + Convert a temporary output stream to a final stream. + + The resulting final + + + + + Make a temporary copy of the original stream. + + The to copy. + Returns a temporary output that is a copy of the input. + + + + Return a stream suitable for performing direct updates on the original source. + + The current stream. + Returns a stream suitable for direct updating. + This may be the current stream passed. + + + + Dispose of this instance. + + + + + Get the to apply during updates. + + + + + An abstract suitable for extension by inheritance. + + + + + Initializes a new instance of the class. + + The update mode. + + + + Gets a temporary output + + Returns the temporary output stream. + + + + + Converts the temporary to its final form. + + Returns a that can be used to read + the final storage for the archive. + + + + + Make a temporary copy of a . + + The to make a copy of. + Returns a temporary output that is a copy of the input. + + + + Return a stream suitable for performing direct updates on the original source. + + The to open for direct update. + Returns a stream suitable for direct updating. + + + + Disposes this instance. + + + + + Gets the update mode applicable. + + The update mode. + + + + An implementation suitable for hard disks. + + + + + Initializes a new instance of the class. + + The file. + The update mode. + + + + Initializes a new instance of the class. + + The file. + + + + Gets a temporary output for performing updates on. + + Returns the temporary output stream. + + + + Converts a temporary to its final form. + + Returns a that can be used to read + the final storage for the archive. + + + + Make a temporary copy of a stream. + + The to copy. + Returns a temporary output that is a copy of the input. + + + + Return a stream suitable for performing direct updates on the original source. + + The current stream. + Returns a stream suitable for direct updating. + If the stream is not null this is used as is. + + + + Disposes this instance. + + + + + An implementation suitable for in memory streams. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The to use + This constructor is for testing as memory streams dont really require safe mode. + + + + Gets the temporary output + + Returns the temporary output stream. + + + + Converts the temporary to its final form. + + Returns a that can be used to read + the final storage for the archive. + + + + Make a temporary copy of the original stream. + + The to copy. + Returns a temporary output that is a copy of the input. + + + + Return a stream suitable for performing direct updates on the original source. + + The original source stream + Returns a stream suitable for direct updating. + If the passed is not null this is used; + otherwise a new is returned. + + + + Disposes this instance. + + + + + Get the stream returned by if this was in fact called. + + + + + Generate a table for a byte-wise 32-bit CRC calculation on the polynomial: + x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1. + + Polynomials over GF(2) are represented in binary, one bit per coefficient, + with the lowest powers in the most significant bit. Then adding polynomials + is just exclusive-or, and multiplying a polynomial by x is a right shift by + one. If we call the above polynomial p, and represent a byte as the + polynomial q, also with the lowest power in the most significant bit (so the + byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p, + where a mod b means the remainder after dividing a by b. + + This calculation is done using the shift-register method of multiplying and + taking the remainder. The register is initialized to zero, and for each + incoming bit, x^32 is added mod p to the register if the bit is a one (where + x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by + x (which is shifting right by one and adding x^32 mod p if the bit shifted + out is a one). We start with the highest power (least significant bit) of + q and repeat for all eight bits of q. + + The table is simply the CRC of all possible eight bit values. This is all + the information needed to generate CRC's on data a byte at a time for all + combinations of CRC register values and incoming bytes. + + + + + Interface to compute a data checksum used by checked input/output streams. + A data checksum can be updated by one byte or with a byte array. After each + update the value of the current checksum can be returned by calling + getValue. The complete checksum object can also be reset + so it can be used again with new data. + + + + + Resets the data checksum as if no update was ever called. + + + + + Adds one byte to the data checksum. + + + the data value to add. The high byte of the int is ignored. + + + + + Updates the data checksum with the bytes taken from the array. + + + buffer an array of bytes + + + + + Adds the byte array to the data checksum. + + + The buffer which contains the data + + + The offset in the buffer where the data starts + + + the number of data bytes to add. + + + + + Returns the data checksum computed so far. + + + + + The crc data checksum so far. + + + + + Resets the CRC32 data checksum as if no update was ever called. + + + + + Updates the checksum with the int bval. + + + the byte is taken as the lower 8 bits of value + + + + + Updates the checksum with the bytes taken from the array. + + + buffer an array of bytes + + + + + Adds the byte array to the data checksum. + + + The buffer which contains the data + + + The offset in the buffer where the data starts + + + The number of data bytes to update the CRC with. + + + + + Returns the CRC32 data checksum computed so far. + + + + + Basic implementation of + + + + + Defines factory methods for creating new values. + + + + + Create a for a file given its name + + The name of the file to create an entry for. + Returns a file entry based on the passed. + + + + Create a for a file given its name + + The name of the file to create an entry for. + If true get details from the file system if the file exists. + Returns a file entry based on the passed. + + + + Create a for a directory given its name + + The name of the directory to create an entry for. + Returns a directory entry based on the passed. + + + + Create a for a directory given its name + + The name of the directory to create an entry for. + If true get details from the file system for this directory if it exists. + Returns a directory entry based on the passed. + + + + Get/set the applicable. + + + + + Initialise a new instance of the class. + + A default , and the LastWriteTime for files is used. + + + + Initialise a new instance of using the specified + + The time setting to use when creating Zip entries. + + + + Initialise a new instance of using the specified + + The time to set all values to. + + + + Make a new for a file. + + The name of the file to create a new entry for. + Returns a new based on the . + + + + Make a new from a name. + + The name of the file to create a new entry for. + If true entry detail is retrieved from the file system if the file exists. + Returns a new based on the . + + + + Make a new for a directory. + + The raw untransformed name for the new directory + Returns a new representing a directory. + + + + Make a new for a directory. + + The raw untransformed name for the new directory + If true entry detail is retrieved from the file system if the file exists. + Returns a new representing a directory. + + + + Get / set the to be used when creating new values. + + + Setting this property to null will cause a default name transform to be used. + + + + + Get / set the in use. + + + + + Get / set the value to use when is set to + + + + + A bitmask defining the attributes to be retrieved from the actual file. + + The default is to get all possible attributes from the actual file. + + + + A bitmask defining which attributes are to be set on. + + By default no attributes are set on. + + + + Get set a value indicating wether unidoce text should be set on. + + + + + Defines the possible values to be used for the . + + + + + Use the recorded LastWriteTime value for the file. + + + + + Use the recorded LastWriteTimeUtc value for the file + + + + + Use the recorded CreateTime value for the file. + + + + + Use the recorded CreateTimeUtc value for the file. + + + + + Use the recorded LastAccessTime value for the file. + + + + + Use the recorded LastAccessTimeUtc value for the file. + + + + + Use a fixed value. + + The actual value used can be + specified via the constructor or + using the with the setting set + to which will use the when this class was constructed. + The property can also be used to set this value. + + + + PkzipClassic embodies the classic or original encryption facilities used in Pkzip archives. + While it has been superceded by more recent and more powerful algorithms, its still in use and + is viable for preventing casual snooping + + + + + Generates new encryption keys based on given seed + + The seed value to initialise keys with. + A new key value. + + + + PkzipClassicCryptoBase provides the low level facilities for encryption + and decryption using the PkzipClassic algorithm. + + + + + Transform a single byte + + + The transformed value + + + + + Set the key schedule for encryption/decryption. + + The data use to set the keys from. + + + + Update encryption keys + + + + + Reset the internal state. + + + + + PkzipClassic CryptoTransform for encryption. + + + + + Initialise a new instance of + + The key block to use. + + + + Transforms the specified region of the specified byte array. + + The input for which to compute the transform. + The offset into the byte array from which to begin using data. + The number of bytes in the byte array to use as data. + The computed transform. + + + + Transforms the specified region of the input byte array and copies + the resulting transform to the specified region of the output byte array. + + The input for which to compute the transform. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write the transform. + The offset into the output byte array from which to begin writing data. + The number of bytes written. + + + + Cleanup internal state. + + + + + Gets a value indicating whether the current transform can be reused. + + + + + Gets the size of the input data blocks in bytes. + + + + + Gets the size of the output data blocks in bytes. + + + + + Gets a value indicating whether multiple blocks can be transformed. + + + + + PkzipClassic CryptoTransform for decryption. + + + + + Initialise a new instance of . + + The key block to decrypt with. + + + + Transforms the specified region of the specified byte array. + + The input for which to compute the transform. + The offset into the byte array from which to begin using data. + The number of bytes in the byte array to use as data. + The computed transform. + + + + Transforms the specified region of the input byte array and copies + the resulting transform to the specified region of the output byte array. + + The input for which to compute the transform. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write the transform. + The offset into the output byte array from which to begin writing data. + The number of bytes written. + + + + Cleanup internal state. + + + + + Gets a value indicating whether the current transform can be reused. + + + + + Gets the size of the input data blocks in bytes. + + + + + Gets the size of the output data blocks in bytes. + + + + + Gets a value indicating whether multiple blocks can be transformed. + + + + + Defines a wrapper object to access the Pkzip algorithm. + This class cannot be inherited. + + + + + Generate an initial vector. + + + + + Generate a new random key. + + + + + Create an encryptor. + + The key to use for this encryptor. + Initialisation vector for the new encryptor. + Returns a new PkzipClassic encryptor + + + + Create a decryptor. + + Keys to use for this new decryptor. + Initialisation vector for the new decryptor. + Returns a new decryptor. + + + + Get / set the applicable block size in bits. + + The only valid block size is 8. + + + + Get an array of legal key sizes. + + + + + Get an array of legal block sizes. + + + + + Get / set the key value applicable. + + + + + This class represents an entry in a Tar archive. It consists + of the entry's header, as well as the entry's File. Entries + can be instantiated in one of three ways, depending on how + they are to be used. +

+ TarEntries that are created from the header bytes read from + an archive are instantiated with the TarEntry( byte[] ) + constructor. These entries will be used when extracting from + or listing the contents of an archive. These entries have their + header filled in using the header bytes. They also set the File + to null, since they reference an archive entry not a file.

+

+ TarEntries that are created from files that are to be written + into an archive are instantiated with the CreateEntryFromFile(string) + pseudo constructor. These entries have their header filled in using + the File's information. They also keep a reference to the File + for convenience when writing entries.

+

+ Finally, TarEntries can be constructed from nothing but a name. + This allows the programmer to construct the entry by hand, for + instance when only an InputStream is available for writing to + the archive, and the header information is constructed from + other information. In this case the header fields are set to + defaults and the File is set to null.

+ +
+
+ + + Initialise a default instance of . + + + + + Construct an entry from an archive's header bytes. File is set + to null. + + + The header bytes from a tar archive entry. + + + + + Construct a TarEntry using the header provided + + Header details for entry + + + + Clone this tar entry. + + Returns a clone of this entry. + + + + Construct an entry with only a name. + This allows the programmer to construct the entry's header "by hand". + + The name to use for the entry + Returns the newly created + + + + Construct an entry for a file. File is set to file, and the + header is constructed from information from the file. + + The file name that the entry represents. + Returns the newly created + + + + Determine if the two entries are equal. Equality is determined + by the header names being equal. + + The to compare with the current Object. + + True if the entries are equal; false if not. + + + + + Derive a Hash value for the current + + A Hash code for the current + + + + Determine if the given entry is a descendant of this entry. + Descendancy is determined by the name of the descendant + starting with this entry's name. + + + Entry to be checked as a descendent of this. + + + True if entry is a descendant of this. + + + + + Convenience method to set this entry's group and user ids. + + + This entry's new user id. + + + This entry's new group id. + + + + + Convenience method to set this entry's group and user names. + + + This entry's new user name. + + + This entry's new group name. + + + + + Fill in a TarHeader with information from a File. + + + The TarHeader to fill in. + + + The file from which to get the header information. + + + + + Get entries for all files present in this entries directory. + If this entry doesnt represent a directory zero entries are returned. + + + An array of TarEntry's for this entry's children. + + + + + Write an entry's header information to a header buffer. + + + The tar entry header buffer to fill in. + + + + + Convenience method that will modify an entry's name directly + in place in an entry header buffer byte array. + + + The buffer containing the entry header to modify. + + + The new name to place into the header buffer. + + + + + Fill in a TarHeader given only the entry's name. + + + The TarHeader to fill in. + + + The tar entry name. + + + + + The name of the file this entry represents or null if the entry is not based on a file. + + + + + The entry's header information. + + + + + Get this entry's header. + + + This entry's TarHeader. + + + + + Get/Set this entry's name. + + + + + Get/set this entry's user id. + + + + + Get/set this entry's group id. + + + + + Get/set this entry's user name. + + + + + Get/set this entry's group name. + + + + + Get/Set the modification time for this entry + + + + + Get this entry's file. + + + This entry's file. + + + + + Get/set this entry's recorded file size. + + + + + Return true if this entry represents a directory, false otherwise + + + True if this entry is a directory. + + + + + This filter stream is used to decompress a "GZIP" format stream. + The "GZIP" format is described baseInputStream RFC 1952. + + author of the original java version : John Leuner + + This sample shows how to unzip a gzipped file + + using System; + using System.IO; + + using ICSharpCode.SharpZipLib.Core; + using ICSharpCode.SharpZipLib.GZip; + + class MainClass + { + public static void Main(string[] args) + { + using (Stream inStream = new GZipInputStream(File.OpenRead(args[0]))) + using (FileStream outStream = File.Create(Path.GetFileNameWithoutExtension(args[0]))) { + byte[] buffer = new byte[4096]; + StreamUtils.Copy(inStream, outStream, buffer); + } + } + } + + + + + + CRC-32 value for uncompressed data + + + + + Indicates end of stream + + + + + Creates a GZipInputStream with the default buffer size + + + The stream to read compressed data from (baseInputStream GZIP format) + + + + + Creates a GZIPInputStream with the specified buffer size + + + The stream to read compressed data from (baseInputStream GZIP format) + + + Size of the buffer to use + + + + + Reads uncompressed data into an array of bytes + + + The buffer to read uncompressed data into + + + The offset indicating where the data should be placed + + + The number of uncompressed bytes to be read + + Returns the number of bytes actually read. + + + + Provides simple " utilities. + + + + + Read from a ensuring all the required data is read. + + The stream to read. + The buffer to fill. + + + + Read from a " ensuring all the required data is read. + + The stream to read data from. + The buffer to store data in. + The offset at which to begin storing data. + The number of bytes of data to store. + + + + Copy the contents of one to another. + + The stream to source data from. + The stream to write data to. + The buffer to use during copying. + The progress handler delegate to use. + The minimum between progress updates. + The source for this event. + The name to use with the event. + + + + Copy the contents of one to another. + + The stream to source data from. + The stream to write data to. + The buffer to use during copying. + + + + Initialise an instance of + + + + + This is the DeflaterHuffman class. + + This class is not thread safe. This is inherent in the API, due + to the split of Deflate and SetInput. + + author of the original java version : Jochen Hoenicke + + + + + Pending buffer to use + + + + + Construct instance with pending buffer + + Pending buffer to use + + + + Reset internal state + + + + + Write all trees to pending buffer + + The number/rank of treecodes to send. + + + + Compress current buffer writing data to pending buffer + + + + + Flush block to output with no compression + + Data to write + Index of first byte to write + Count of bytes to write + True if this is the last block + + + + Flush block to output with compression + + Data to flush + Index of first byte to flush + Count of bytes to flush + True if this is the last block + + + + Get value indicating if internal buffer is full + + true if buffer is full + + + + Add literal to buffer + + Literal value to add to buffer. + Value indicating internal buffer is full + + + + Add distance code and length to literal and distance trees + + Distance code + Length + Value indicating if internal buffer is full + + + + Reverse the bits of a 16 bit value. + + Value to reverse bits + Value with bits reversed + + + + Resets the internal state of the tree + + + + + Check that all frequencies are zero + + + At least one frequency is non-zero + + + + + Set static codes and length + + new codes + length for new codes + + + + Build dynamic codes and lengths + + + + + Get encoded length + + Encoded length, the sum of frequencies * lengths + + + + Scan a literal or distance tree to determine the frequencies of the codes + in the bit length tree. + + + + + Write tree values + + Tree to write + + + + This class contains constants used for gzip. + + + + + Magic number found at start of GZIP header + + + + + Flag bit mask for text + + + + + Flag bitmask for Crc + + + + + Flag bit mask for extra + + + + + flag bitmask for name + + + + + flag bit mask indicating comment is present + + + + + Initialise default instance. + + Constructor is private to prevent instances being created. + + + + TarExceptions are used for exceptions specific to tar classes and code. + + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initialises a new instance of the TarException class. + + + + + Initialises a new instance of the TarException class with a specified message. + + The message that describes the error. + + + + + + A message describing the error. + The exception that is the cause of the current exception. + + + + Bzip2 checksum algorithm + + + + + Initialise a default instance of + + + + + Reset the state of Crc. + + + + + Update the Crc value. + + data update is based on + + + + Update Crc based on a block of data + + The buffer containing data to update the crc with. + + + + Update Crc based on a portion of a block of data + + block of data + index of first byte to use + number of bytes to use + + + + Get the current Crc value. + + + + + This is an InflaterInputStream that reads the files baseInputStream an zip archive + one after another. It has a special method to get the zip entry of + the next file. The zip entry contains information about the file name + size, compressed size, Crc, etc. + It includes support for Stored and Deflated entries. +
+
Author of the original java version : Jochen Hoenicke +
+ + This sample shows how to read a zip file + + using System; + using System.Text; + using System.IO; + + using ICSharpCode.SharpZipLib.Zip; + + class MainClass + { + public static void Main(string[] args) + { + using ( ZipInputStream s = new ZipInputStream(File.OpenRead(args[0]))) { + + ZipEntry theEntry; + while ((theEntry = s.GetNextEntry()) != null) { + int size = 2048; + byte[] data = new byte[2048]; + + Console.Write("Show contents (y/n) ?"); + if (Console.ReadLine() == "y") { + while (true) { + size = s.Read(data, 0, data.Length); + if (size > 0) { + Console.Write(new ASCIIEncoding().GetString(data, 0, size)); + } else { + break; + } + } + } + } + } + } + } + + +
+ + + The current reader this instance. + + + + + Creates a new Zip input stream, for reading a zip archive. + + The underlying providing data. + + + + Advances to the next entry in the archive + + + The next entry in the archive or null if there are no more entries. + + + If the previous entry is still open CloseEntry is called. + + + Input stream is closed + + + Password is not set, password is invalid, compression method is invalid, + version required to extract is not supported + + + + + Read data descriptor at the end of compressed data. + + + + + Complete cleanup as the final part of closing. + + True if the crc value should be tested + + + + Closes the current zip entry and moves to the next one. + + + The stream is closed + + + The Zip stream ends early + + + + + Reads a byte from the current zip entry. + + + The byte or -1 if end of stream is reached. + + + + + Handle attempts to read by throwing an . + + The destination array to store data in. + The offset at which data read should be stored. + The maximum number of bytes to read. + Returns the number of bytes actually read. + + + + Handle attempts to read from this entry by throwing an exception + + + + + Perform the initial read on an entry which may include + reading encryption headers and setting up inflation. + + The destination to fill with data read. + The offset to start reading at. + The maximum number of bytes to read. + The actual number of bytes read. + + + + Read a block of bytes from the stream. + + The destination for the bytes. + The index to start storing data. + The number of bytes to attempt to read. + Returns the number of bytes read. + Zero bytes read means end of stream. + + + + Reads a block of bytes from the current zip entry. + + + The number of bytes read (this may be less than the length requested, even before the end of stream), or 0 on end of stream. + + + An i/o error occured. + + + The deflated stream is corrupted. + + + The stream is not open. + + + + + Closes the zip input stream + + + + + Optional password used for encryption when non-null + + A password for all encrypted entries in this + + + + Gets a value indicating if there is a current entry and it can be decompressed + + + The entry can only be decompressed if the library supports the zip features required to extract it. + See the ZipEntry Version property for more details. + + + + + Returns 1 if there is an entry available + Otherwise returns 0. + + + + + Returns the current size that can be read from the current entry if available + + Thrown if the entry size is not known. + Thrown if no entry is currently available. + + + + ZipNameTransform transforms names as per the Zip file naming convention. + + The use of absolute names is supported although its use is not valid + according to Zip naming conventions, and should not be used if maximum compatability is desired. + + + + Initialize a new instance of + + + + + Initialize a new instance of + + The string to trim from front of paths if found. + + + + Static constructor. + + + + + Transform a directory name according to the Zip file naming conventions. + + The directory name to transform. + The transformed name. + + + + Transform a windows file name according to the Zip file naming conventions. + + The file name to transform. + The transformed name. + + + + Force a name to be valid by replacing invalid characters with a fixed value + + The name to force valid + The replacement character to use. + Returns a valid name + + + + Test a name to see if it is a valid name for a zip entry. + + The name to test. + If true checking is relaxed about windows file names and absolute paths. + Returns true if the name is a valid zip name; false otherwise. + Zip path names are actually in Unix format, and should only contain relative paths. + This means that any path stored should not contain a drive or + device letter, or a leading slash. All slashes should forward slashes '/'. + An empty name is valid for a file where the input comes from standard input. + A null name is not considered valid. + + + + + Test a name to see if it is a valid name for a zip entry. + + The name to test. + Returns true if the name is a valid zip name; false otherwise. + Zip path names are actually in unix format, + and should only contain relative paths if a path is present. + This means that the path stored should not contain a drive or + device letter, or a leading slash. All slashes should forward slashes '/'. + An empty name is valid where the input comes from standard input. + A null name is not considered valid. + + + + + Get/set the path prefix to be trimmed from paths if present. + + The prefix is trimmed before any conversion from + a windows path is done. + + + + This exception is used to indicate that there is a problem + with a TAR archive header. + + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initialise a new instance of the InvalidHeaderException class. + + + + + Initialises a new instance of the InvalidHeaderException class with a specified message. + + Message describing the exception cause. + + + + Initialise a new instance of InvalidHeaderException + + Message describing the problem. + The exception that is the cause of the current exception. + + + + This class allows us to retrieve a specified number of bits from + the input buffer, as well as copy big byte blocks. + + It uses an int buffer to store up to 31 bits for direct + manipulation. This guarantees that we can get at least 16 bits, + but we only need at most 15, so this is all safe. + + There are some optimizations in this class, for example, you must + never peek more than 8 bits more than needed, and you must first + peek bits before you may drop them. This is not a general purpose + class but optimized for the behaviour of the Inflater. + + authors of the original java version : John Leuner, Jochen Hoenicke + + + + + Constructs a default StreamManipulator with all buffers empty + + + + + Get the next sequence of bits but don't increase input pointer. bitCount must be + less or equal 16 and if this call succeeds, you must drop + at least n - 8 bits in the next call. + + The number of bits to peek. + + the value of the bits, or -1 if not enough bits available. */ + + + + + Drops the next n bits from the input. You should have called PeekBits + with a bigger or equal n before, to make sure that enough bits are in + the bit buffer. + + The number of bits to drop. + + + + Gets the next n bits and increases input pointer. This is equivalent + to followed by , except for correct error handling. + + The number of bits to retrieve. + + the value of the bits, or -1 if not enough bits available. + + + + + Skips to the next byte boundary. + + + + + Copies bytes from input buffer to output buffer starting + at output[offset]. You have to make sure, that the buffer is + byte aligned. If not enough bytes are available, copies fewer + bytes. + + + The buffer to copy bytes to. + + + The offset in the buffer at which copying starts + + + The length to copy, 0 is allowed. + + + The number of bytes copied, 0 if no bytes were available. + + + Length is less than zero + + + Bit buffer isnt byte aligned + + + + + Resets state and empties internal buffers + + + + + Add more input for consumption. + Only call when IsNeedingInput returns true + + data to be input + offset of first byte of input + number of bytes of input to add. + + + + Gets the number of bits available in the bit buffer. This must be + only called when a previous PeekBits() returned -1. + + + the number of bits available. + + + + + Gets the number of bytes available. + + + The number of bytes available. + + + + + Returns true when SetInput can be called + + + + + Strategies for deflater + + + + + The default strategy + + + + + This strategy will only allow longer string repetitions. It is + useful for random data with a small character set. + + + + + This strategy will not look for string repetitions at all. It + only encodes with Huffman trees (which means, that more common + characters get a smaller encoding. + + + + + Low level compression engine for deflate algorithm which uses a 32K sliding window + with secondary compression from Huffman/Shannon-Fano codes. + + + + + Construct instance with pending buffer + + + Pending buffer to use + > + + + + Deflate drives actual compression of data + + True to flush input buffers + Finish deflation with the current input. + Returns true if progress has been made. + + + + Sets input data to be deflated. Should only be called when NeedsInput() + returns true + + The buffer containing input data. + The offset of the first byte of data. + The number of bytes of data to use as input. + + + + Determines if more input is needed. + + Return true if input is needed via SetInput + + + + Set compression dictionary + + The buffer containing the dictionary data + The offset in the buffer for the first byte of data + The length of the dictionary data. + + + + Reset internal state + + + + + Reset Adler checksum + + + + + Set the deflate level (0-9) + + The value to set the level to. + + + + Fill the window + + + + + Inserts the current string in the head hash and returns the previous + value for this hash. + + The previous hash value + + + + Find the best (longest) string in the window matching the + string starting at strstart. + + Preconditions: + + strstart + MAX_MATCH <= window.length. + + + True if a match greater than the minimum length is found + + + + Hashtable, hashing three characters to an index for window, so + that window[index]..window[index+2] have this hash code. + Note that the array should really be unsigned short, so you need + to and the values with 0xffff. + + + + + prev[index & WMASK] points to the previous index that has the + same hash code as the string starting at index. This way + entries with the same hash code are in a linked list. + Note that the array should really be unsigned short, so you need + to and the values with 0xffff. + + + + + Points to the current character in the window. + + + + + lookahead is the number of characters starting at strstart in + window that are valid. + So window[strstart] until window[strstart+lookahead-1] are valid + characters. + + + + + This array contains the part of the uncompressed stream that + is of relevance. The current character is indexed by strstart. + + + + + The current compression function. + + + + + The input data for compression. + + + + + The total bytes of input read. + + + + + The offset into inputBuf, where input data starts. + + + + + The end offset of the input data. + + + + + The adler checksum + + + + + Get current value of Adler checksum + + + + + Total data processed + + + + + Get/set the deflate strategy + + + + + The TarBuffer class implements the tar archive concept + of a buffered input stream. This concept goes back to the + days of blocked tape drives and special io devices. In the + C# universe, the only real function that this class + performs is to ensure that files have the correct "record" + size, or other tars will complain. +

+ You should never have a need to access this class directly. + TarBuffers are created by Tar IO Streams. +

+
+
+ + + The size of a block in a tar archive in bytes. + + This is 512 bytes. + + + + The number of blocks in a default record. + + + The default value is 20 blocks per record. + + + + + The size in bytes of a default record. + + + The default size is 10KB. + + + + + Get the TAR Buffer's record size. + + The record size in bytes. + This is equal to the multiplied by the + + + + Get the TAR Buffer's block factor + + The block factor; the number of blocks per record. + + + + Construct a default TarBuffer + + + + + Create TarBuffer for reading with default BlockFactor + + Stream to buffer + A new suitable for input. + + + + Construct TarBuffer for reading inputStream setting BlockFactor + + Stream to buffer + Blocking factor to apply + A new suitable for input. + + + + Construct TarBuffer for writing with default BlockFactor + + output stream for buffer + A new suitable for output. + + + + Construct TarBuffer for writing Tar output to streams. + + Output stream to write to. + Blocking factor to apply + A new suitable for output. + + + + Initialization common to all constructors. + + + + + Determine if an archive block indicates End of Archive. End of + archive is indicated by a block that consists entirely of null bytes. + All remaining blocks for the record should also be null's + However some older tars only do a couple of null blocks (Old GNU tar for one) + and also partial records + + The data block to check. + Returns true if the block is an EOF block; false otherwise. + + + + Skip over a block on the input stream. + + + + + Read a block from the input stream. + + + The block of data read. + + + + + Read a record from data stream. + + + false if End-Of-File, else true. + + + + + Get the current block number, within the current record, zero based. + + + The current zero based block number. + + + The absolute block number = (record number * block factor) + block number. + + + + + Get the current record number. + + + The current zero based record number. + + + + + Write a block of data to the archive. + + + The data to write to the archive. + + + + + Write an archive record to the archive, where the record may be + inside of a larger array buffer. The buffer must be "offset plus + record size" long. + + + The buffer containing the record data to write. + + + The offset of the record data within buffer. + + + + + Write a TarBuffer record to the archive. + + + + + Flush the current record if it has any data in it. + + + + + Close the TarBuffer. If this is an output buffer, also flush the + current block before closing. + + + + + Get the record size for this buffer + + The record size in bytes. + This is equal to the multiplied by the + + + + Get the Blocking factor for the buffer + + This is the number of block in each record. + + + + Get the current block number, within the current record, zero based. + + + + + Get the current record number. + + + The current zero based record number. + + + + + This class encapsulates the Tar Entry Header used in Tar Archives. + The class also holds a number of tar constants, used mostly in headers. + + + + + The length of the name field in a header buffer. + + + + + The length of the mode field in a header buffer. + + + + + The length of the user id field in a header buffer. + + + + + The length of the group id field in a header buffer. + + + + + The length of the checksum field in a header buffer. + + + + + Offset of checksum in a header buffer. + + + + + The length of the size field in a header buffer. + + + + + The length of the magic field in a header buffer. + + + + + The length of the version field in a header buffer. + + + + + The length of the modification time field in a header buffer. + + + + + The length of the user name field in a header buffer. + + + + + The length of the group name field in a header buffer. + + + + + The length of the devices field in a header buffer. + + + + + The "old way" of indicating a normal file. + + + + + Normal file type. + + + + + Link file type. + + + + + Symbolic link file type. + + + + + Character device file type. + + + + + Block device file type. + + + + + Directory file type. + + + + + FIFO (pipe) file type. + + + + + Contiguous file type. + + + + + Posix.1 2001 global extended header + + + + + Posix.1 2001 extended header + + + + + Solaris access control list file type + + + + + GNU dir dump file type + This is a dir entry that contains the names of files that were in the + dir at the time the dump was made + + + + + Solaris Extended Attribute File + + + + + Inode (metadata only) no file content + + + + + Identifies the next file on the tape as having a long link name + + + + + Identifies the next file on the tape as having a long name + + + + + Continuation of a file that began on another volume + + + + + For storing filenames that dont fit in the main header (old GNU) + + + + + GNU Sparse file + + + + + GNU Tape/volume header ignore on extraction + + + + + The magic tag representing a POSIX tar archive. (includes trailing NULL) + + + + + The magic tag representing an old GNU tar archive where version is included in magic and overwrites it + + + + + Initialise a default TarHeader instance + + + + + Get the name of this entry. + + The entry's name. + + + + Create a new that is a copy of the current instance. + + A new that is a copy of the current instance. + + + + Parse TarHeader information from a header buffer. + + + The tar entry header buffer to get information from. + + + + + 'Write' header information to buffer provided, updating the check sum. + + output buffer for header information + + + + Get a hash code for the current object. + + A hash code for the current object. + + + + Determines if this instance is equal to the specified object. + + The object to compare with. + true if the objects are equal, false otherwise. + + + + Set defaults for values used when constructing a TarHeader instance. + + Value to apply as a default for userId. + Value to apply as a default for userName. + Value to apply as a default for groupId. + Value to apply as a default for groupName. + + + + Parse an octal string from a header buffer. + + The header buffer from which to parse. + The offset into the buffer from which to parse. + The number of header bytes to parse. + The long equivalent of the octal string. + + + + Parse a name from a header buffer. + + + The header buffer from which to parse. + + + The offset into the buffer from which to parse. + + + The number of header bytes to parse. + + + The name parsed. + + + + + Add name to the buffer as a collection of bytes + + The name to add + The offset of the first character + The buffer to add to + The index of the first byte to add + The number of characters/bytes to add + The next free index in the buffer + + + + Add name to the buffer as a collection of bytes + + The name to add + The offset of the first character + The buffer to add to + The index of the first byte to add + The number of characters/bytes to add + The next free index in the buffer + + + + Add an entry name to the buffer + + + The name to add + + + The buffer to add to + + + The offset into the buffer from which to start adding + + + The number of header bytes to add + + + The index of the next free byte in the buffer + + + + + Add an entry name to the buffer + + The name to add + The buffer to add to + The offset into the buffer from which to start adding + The number of header bytes to add + The index of the next free byte in the buffer + + + + Add a string to a buffer as a collection of ascii bytes. + + The string to add + The offset of the first character to add. + The buffer to add to. + The offset to start adding at. + The number of ascii characters to add. + The next free index in the buffer. + + + + Put an octal representation of a value into a buffer + + + the value to be converted to octal + + + buffer to store the octal string + + + The offset into the buffer where the value starts + + + The length of the octal string to create + + + The offset of the character next byte after the octal string + + + + + Put an octal representation of a value into a buffer + + Value to be convert to octal + The buffer to update + The offset into the buffer to store the value + The length of the octal string + Index of next byte + + + + Add the checksum integer to header buffer. + + + The header buffer to set the checksum for + The offset into the buffer for the checksum + The number of header bytes to update. + It's formatted differently from the other fields: it has 6 digits, a + null, then a space -- rather than digits, a space, then a null. + The final space is already there, from checksumming + + The modified buffer offset + + + + Compute the checksum for a tar entry header. + The checksum field must be all spaces prior to this happening + + The tar entry's header buffer. + The computed checksum. + + + + Make a checksum for a tar entry ignoring the checksum contents. + + The tar entry's header buffer. + The checksum for the buffer + + + + Get/set the name for this tar entry. + + Thrown when attempting to set the property to null. + + + + Get/set the entry's Unix style permission mode. + + + + + The entry's user id. + + + This is only directly relevant to unix systems. + The default is zero. + + + + + Get/set the entry's group id. + + + This is only directly relevant to linux/unix systems. + The default value is zero. + + + + + Get/set the entry's size. + + Thrown when setting the size to less than zero. + + + + Get/set the entry's modification time. + + + The modification time is only accurate to within a second. + + Thrown when setting the date time to less than 1/1/1970. + + + + Get the entry's checksum. This is only valid/updated after writing or reading an entry. + + + + + Get value of true if the header checksum is valid, false otherwise. + + + + + Get/set the entry's type flag. + + + + + The entry's link name. + + Thrown when attempting to set LinkName to null. + + + + Get/set the entry's magic tag. + + Thrown when attempting to set Magic to null. + + + + The entry's version. + + Thrown when attempting to set Version to null. + + + + The entry's user name. + + + + + Get/set the entry's group name. + + + This is only directly relevant to unix systems. + + + + + Get/set the entry's major device number. + + + + + Get/set the entry's minor device number. + + + + + Event arguments for scanning. + + + + + Initialise a new instance of + + The file or directory name. + + + + The fie or directory name for this event. + + + + + Get set a value indicating if scanning should continue or not. + + + + + Event arguments during processing of a single file or directory. + + + + + Initialise a new instance of + + The file or directory name if known. + The number of bytes processed so far + The total number of bytes to process, 0 if not known + + + + The name for this event if known. + + + + + Get set a value indicating wether scanning should continue or not. + + + + + Get a percentage representing how much of the has been processed + + 0.0 to 100.0 percent; 0 if target is not known. + + + + The number of bytes processed so far + + + + + The number of bytes to process. + + Target may be 0 or negative if the value isnt known. + + + + Event arguments for directories. + + + + + Initialize an instance of . + + The name for this directory. + Flag value indicating if any matching files are contained in this directory. + + + + Get a value indicating if the directory contains any matching files or not. + + + + + Arguments passed when scan failures are detected. + + + + + Initialise a new instance of + + The name to apply. + The exception to use. + + + + The applicable name. + + + + + The applicable exception. + + + + + Get / set a value indicating wether scanning should continue. + + + + + Delegate invoked before starting to process a directory. + + + + + Delegate invoked before starting to process a file. + + The source of the event + The event arguments. + + + + Delegate invoked during processing of a file or directory + + The source of the event + The event arguments. + + + + Delegate invoked when a file has been completely processed. + + The source of the event + The event arguments. + + + + Delegate invoked when a directory failure is detected. + + The source of the event + The event arguments. + + + + Delegate invoked when a file failure is detected. + + The source of the event + The event arguments. + + + + FileSystemScanner provides facilities scanning of files and directories. + + + + + Initialise a new instance of + + The file filter to apply when scanning. + + + + Initialise a new instance of + + The file filter to apply. + The directory filter to apply. + + + + Initialise a new instance of + + The file filter to apply. + + + + Initialise a new instance of + + The file filter to apply. + The directory filter to apply. + + + + Delegate to invoke when a directory is processed. + + + + + Delegate to invoke when a file is processed. + + + + + Delegate to invoke when processing for a file has finished. + + + + + Delegate to invoke when a directory failure is detected. + + + + + Delegate to invoke when a file failure is detected. + + + + + Raise the DirectoryFailure event. + + The directory name. + The exception detected. + + + + Raise the FileFailure event. + + The file name. + The exception detected. + + + + Raise the ProcessFile event. + + The file name. + + + + Raise the complete file event + + The file name + + + + Raise the ProcessDirectory event. + + The directory name. + Flag indicating if the directory has matching files. + + + + Scan a directory. + + The base directory to scan. + True to recurse subdirectories, false to scan a single directory. + + + + The file filter currently in use. + + + + + The directory filter currently in use. + + + + + Flag indicating if scanning should continue running. + + + + + An input buffer customised for use by + + + The buffer supports decryption of incoming data. + + + + + Initialise a new instance of with a default buffer size + + The stream to buffer. + + + + Initialise a new instance of + + The stream to buffer. + The size to use for the buffer + A minimum buffer size of 1KB is permitted. Lower sizes are treated as 1KB. + + + + Call passing the current clear text buffer contents. + + The inflater to set input for. + + + + Fill the buffer from the underlying input stream. + + + + + Read a buffer directly from the input stream + + The buffer to fill + Returns the number of bytes read. + + + + Read a buffer directly from the input stream + + The buffer to read into + The offset to start reading data into. + The number of bytes to read. + Returns the number of bytes read. + + + + Read clear text data from the input stream. + + The buffer to add data to. + The offset to start adding data at. + The number of bytes to read. + Returns the number of bytes actually read. + + + + Read a from the input stream. + + Returns the byte read. + + + + Read an in little endian byte order. + + The short value read case to an int. + + + + Read an in little endian byte order. + + The int value read. + + + + Read a in little endian byte order. + + The long value read. + + + + Get the length of bytes bytes in the + + + + + Get the contents of the raw data buffer. + + This may contain encrypted data. + + + + Get the number of useable bytes in + + + + + Get the contents of the clear text buffer. + + + + + Get/set the number of bytes available + + + + + Get/set the to apply to any data. + + Set this value to null to have no transform applied. + + + + The TarOutputStream writes a UNIX tar archive as an OutputStream. + Methods are provided to put entries, and then write their contents + by writing to this stream using write(). + + public + + + + Construct TarOutputStream using default block factor + + stream to write to + + + + Construct TarOutputStream with user specified block factor + + stream to write to + blocking factor + + + + set the position within the current stream + + The offset relative to the to seek to + The to seek from. + The new position in the stream. + + + + Set the length of the current stream + + The new stream length. + + + + Read a byte from the stream and advance the position within the stream + by one byte or returns -1 if at the end of the stream. + + The byte value or -1 if at end of stream + + + + read bytes from the current stream and advance the position within the + stream by the number of bytes read. + + The buffer to store read bytes in. + The index into the buffer to being storing bytes at. + The desired number of bytes to read. + The total number of bytes read, or zero if at the end of the stream. + The number of bytes may be less than the count + requested if data is not avialable. + + + + All buffered data is written to destination + + + + + Ends the TAR archive without closing the underlying OutputStream. + The result is that the EOF block of nulls is written. + + + + + Ends the TAR archive and closes the underlying OutputStream. + + This means that Finish() is called followed by calling the + TarBuffer's Close(). + + + + Get the record size being used by this stream's TarBuffer. + + + The TarBuffer record size. + + + + + Put an entry on the output stream. This writes the entry's + header and positions the output stream for writing + the contents of the entry. Once this method is called, the + stream is ready for calls to write() to write the entry's + contents. Once the contents are written, closeEntry() + MUST be called to ensure that all buffered data + is completely written to the output stream. + + + The TarEntry to be written to the archive. + + + + + Close an entry. This method MUST be called for all file + entries that contain data. The reason is that we must + buffer data written to the stream in order to satisfy + the buffer's block based writes. Thus, there may be + data fragments still being assembled that must be written + to the output stream before this entry is closed and the + next entry written. + + + + + Writes a byte to the current tar archive entry. + This method simply calls Write(byte[], int, int). + + + The byte to be written. + + + + + Writes bytes to the current tar archive entry. This method + is aware of the current entry and will throw an exception if + you attempt to write bytes past the length specified for the + current entry. The method is also (painfully) aware of the + record buffering required by TarBuffer, and manages buffers + that are not a multiple of recordsize in length, including + assembling records from small buffers. + + + The buffer to write to the archive. + + + The offset in the buffer from which to get bytes. + + + The number of bytes to write. + + + + + Write an EOF (end of archive) block to the tar archive. + An EOF block consists of all zeros. + + + + + bytes written for this entry so far + + + + + current 'Assembly' buffer length + + + + + Flag indicating wether this instance has been closed or not. + + + + + Size for the current entry + + + + + single block working buffer + + + + + 'Assembly' buffer used to assemble data before writing + + + + + TarBuffer used to provide correct blocking factor + + + + + the destination stream for the archive contents + + + + + true if the stream supports reading; otherwise, false. + + + + + true if the stream supports seeking; otherwise, false. + + + + + true if stream supports writing; otherwise, false. + + + + + length of stream in bytes + + + + + gets or sets the position within the current stream. + + + + + Get the record size being used by this stream's TarBuffer. + + + + + Get a value indicating wether an entry is open, requiring more data to be written. + + + + + This is the Deflater class. The deflater class compresses input + with the deflate algorithm described in RFC 1951. It has several + compression levels and three different strategies described below. + + This class is not thread safe. This is inherent in the API, due + to the split of deflate and setInput. + + author of the original java version : Jochen Hoenicke + + + + + The best and slowest compression level. This tries to find very + long and distant string repetitions. + + + + + The worst but fastest compression level. + + + + + The default compression level. + + + + + This level won't compress at all but output uncompressed blocks. + + + + + The compression method. This is the only method supported so far. + There is no need to use this constant at all. + + + + + Creates a new deflater with default compression level. + + + + + Creates a new deflater with given compression level. + + + the compression level, a value between NO_COMPRESSION + and BEST_COMPRESSION, or DEFAULT_COMPRESSION. + + if lvl is out of range. + + + + Creates a new deflater with given compression level. + + + the compression level, a value between NO_COMPRESSION + and BEST_COMPRESSION. + + + true, if we should suppress the Zlib/RFC1950 header at the + beginning and the adler checksum at the end of the output. This is + useful for the GZIP/PKZIP formats. + + if lvl is out of range. + + + + Resets the deflater. The deflater acts afterwards as if it was + just created with the same compression level and strategy as it + had before. + + + + + Flushes the current input block. Further calls to deflate() will + produce enough output to inflate everything in the current input + block. This is not part of Sun's JDK so I have made it package + private. It is used by DeflaterOutputStream to implement + flush(). + + + + + Finishes the deflater with the current input block. It is an error + to give more input after this method was called. This method must + be called to force all bytes to be flushed. + + + + + Sets the data which should be compressed next. This should be only + called when needsInput indicates that more input is needed. + If you call setInput when needsInput() returns false, the + previous input that is still pending will be thrown away. + The given byte array should not be changed, before needsInput() returns + true again. + This call is equivalent to setInput(input, 0, input.length). + + + the buffer containing the input data. + + + if the buffer was finished() or ended(). + + + + + Sets the data which should be compressed next. This should be + only called when needsInput indicates that more input is needed. + The given byte array should not be changed, before needsInput() returns + true again. + + + the buffer containing the input data. + + + the start of the data. + + + the number of data bytes of input. + + + if the buffer was Finish()ed or if previous input is still pending. + + + + + Sets the compression level. There is no guarantee of the exact + position of the change, but if you call this when needsInput is + true the change of compression level will occur somewhere near + before the end of the so far given input. + + + the new compression level. + + + + + Get current compression level + + Returns the current compression level + + + + Sets the compression strategy. Strategy is one of + DEFAULT_STRATEGY, HUFFMAN_ONLY and FILTERED. For the exact + position where the strategy is changed, the same as for + SetLevel() applies. + + + The new compression strategy. + + + + + Deflates the current input block with to the given array. + + + The buffer where compressed data is stored + + + The number of compressed bytes added to the output, or 0 if either + IsNeedingInput() or IsFinished returns true or length is zero. + + + + + Deflates the current input block to the given array. + + + Buffer to store the compressed data. + + + Offset into the output array. + + + The maximum number of bytes that may be stored. + + + The number of compressed bytes added to the output, or 0 if either + needsInput() or finished() returns true or length is zero. + + + If Finish() was previously called. + + + If offset or length don't match the array length. + + + + + Sets the dictionary which should be used in the deflate process. + This call is equivalent to setDictionary(dict, 0, dict.Length). + + + the dictionary. + + + if SetInput () or Deflate () were already called or another dictionary was already set. + + + + + Sets the dictionary which should be used in the deflate process. + The dictionary is a byte array containing strings that are + likely to occur in the data which should be compressed. The + dictionary is not stored in the compressed output, only a + checksum. To decompress the output you need to supply the same + dictionary again. + + + The dictionary data + + + The index where dictionary information commences. + + + The number of bytes in the dictionary. + + + If SetInput () or Deflate() were already called or another dictionary was already set. + + + + + Compression level. + + + + + If true no Zlib/RFC1950 headers or footers are generated + + + + + The current state. + + + + + The total bytes of output written. + + + + + The pending output. + + + + + The deflater engine. + + + + + Gets the current adler checksum of the data that was processed so far. + + + + + Gets the number of input bytes processed so far. + + + + + Gets the number of output bytes so far. + + + + + Returns true if the stream was finished and no more output bytes + are available. + + + + + Returns true, if the input buffer is empty. + You should then call setInput(). + NOTE: This method can also return true when the stream + was finished. + + + + + The TarInputStream reads a UNIX tar archive as an InputStream. + methods are provided to position at each successive entry in + the archive, and the read each entry as a normal input stream + using read(). + + + + + Construct a TarInputStream with default block factor + + stream to source data from + + + + Construct a TarInputStream with user specified block factor + + stream to source data from + block factor to apply to archive + + + + Flushes the baseInputStream + + + + + Set the streams position. This operation is not supported and will throw a NotSupportedException + + The offset relative to the origin to seek to. + The to start seeking from. + The new position in the stream. + Any access + + + + Sets the length of the stream + This operation is not supported and will throw a NotSupportedException + + The new stream length. + Any access + + + + Writes a block of bytes to this stream using data from a buffer. + This operation is not supported and will throw a NotSupportedException + + The buffer containing bytes to write. + The offset in the buffer of the frist byte to write. + The number of bytes to write. + Any access + + + + Writes a byte to the current position in the file stream. + This operation is not supported and will throw a NotSupportedException + + The byte value to write. + Any access + + + + Reads a byte from the current tar archive entry. + + A byte cast to an int; -1 if the at the end of the stream. + + + + Reads bytes from the current tar archive entry. + + This method is aware of the boundaries of the current + entry in the archive and will deal with them appropriately + + + The buffer into which to place bytes read. + + + The offset at which to place bytes read. + + + The number of bytes to read. + + + The number of bytes read, or 0 at end of stream/EOF. + + + + + Closes this stream. Calls the TarBuffer's close() method. + The underlying stream is closed by the TarBuffer. + + + + + Set the entry factory for this instance. + + The factory for creating new entries + + + + Get the record size being used by this stream's TarBuffer. + + + TarBuffer record size. + + + + + Skip bytes in the input buffer. This skips bytes in the + current entry's data, not the entire archive, and will + stop at the end of the current entry's data if the number + to skip extends beyond that point. + + + The number of bytes to skip. + + + + + Since we do not support marking just yet, we do nothing. + + + The limit to mark. + + + + + Since we do not support marking just yet, we do nothing. + + + + + Get the next entry in this tar archive. This will skip + over any remaining data in the current entry, if there + is one, and place the input stream at the header of the + next entry, and read the header and instantiate a new + TarEntry from the header bytes and return that entry. + If there are no more entries in the archive, null will + be returned to indicate that the end of the archive has + been reached. + + + The next TarEntry in the archive, or null. + + + + + Copies the contents of the current tar archive entry directly into + an output stream. + + + The OutputStream into which to write the entry's data. + + + + + Flag set when last block has been read + + + + + Size of this entry as recorded in header + + + + + Number of bytes read for this entry so far + + + + + Buffer used with calls to Read() + + + + + Working buffer + + + + + Current entry being read + + + + + Factory used to create TarEntry or descendant class instance + + + + + Stream used as the source of input data. + + + + + Gets a value indicating whether the current stream supports reading + + + + + Gets a value indicating whether the current stream supports seeking + This property always returns false. + + + + + Gets a value indicating if the stream supports writing. + This property always returns false. + + + + + The length in bytes of the stream + + + + + Gets or sets the position within the stream. + Setting the Position is not supported and throws a NotSupportedExceptionNotSupportedException + + Any attempt to set position + + + + Get the record size being used by this stream's TarBuffer. + + + + + Get the available data that can be read from the current + entry in the archive. This does not indicate how much data + is left in the entire archive, only in the current entry. + This value is determined from the entry's size header field + and the amount of data already read from the current entry. + + + The number of available bytes for the current entry. + + + + + Return a value of true if marking is supported; false otherwise. + + Currently marking is not supported, the return value is always false. + + + + This interface is provided, along with the method , to allow + the programmer to have their own subclass instantiated for the + entries return from . + + + + + Create an entry based on name alone + + + Name of the new EntryPointNotFoundException to create + + created TarEntry or descendant class + + + + Create an instance based on an actual file + + + Name of file to represent in the entry + + + Created TarEntry or descendant class + + + + + Create a tar entry based on the header information passed + + + Buffer containing header information to base entry on + + + Created TarEntry or descendant class + + + + + Standard entry factory class creating instances of the class TarEntry + + + + + Create a based on named + + The name to use for the entry + A new + + + + Create a tar entry with details obtained from file + + The name of the file to retrieve details from. + A new + + + + Create an entry based on details in header + + The buffer containing entry details. + A new + + + + Defines known values for the property. + + + + + Host system = MSDOS + + + + + Host system = Amiga + + + + + Host system = Open VMS + + + + + Host system = Unix + + + + + Host system = VMCms + + + + + Host system = Atari ST + + + + + Host system = OS2 + + + + + Host system = Macintosh + + + + + Host system = ZSystem + + + + + Host system = Cpm + + + + + Host system = Windows NT + + + + + Host system = MVS + + + + + Host system = VSE + + + + + Host system = Acorn RISC + + + + + Host system = VFAT + + + + + Host system = Alternate MVS + + + + + Host system = BEOS + + + + + Host system = Tandem + + + + + Host system = OS400 + + + + + Host system = OSX + + + + + Host system = WinZIP AES + + + + + This class represents an entry in a zip archive. This can be a file + or a directory + ZipFile and ZipInputStream will give you instances of this class as + information about the members in an archive. ZipOutputStream + uses an instance of this class when creating an entry in a Zip file. +
+
Author of the original java version : Jochen Hoenicke +
+
+ + + Creates a zip entry with the given name. + + + The name for this entry. Can include directory components. + The convention for names is 'unix' style paths with relative names only. + There are with no device names and path elements are separated by '/' characters. + + + The name passed is null + + + + + Creates a zip entry with the given name and version required to extract + + + The name for this entry. Can include directory components. + The convention for names is 'unix' style paths with no device names and + path elements separated by '/' characters. This is not enforced see CleanName + on how to ensure names are valid if this is desired. + + + The minimum 'feature version' required this entry + + + The name passed is null + + + + + Initializes an entry with the given name and made by information + + Name for this entry + Version and HostSystem Information + Minimum required zip feature version required to extract this entry + Compression method for this entry. + + The name passed is null + + + versionRequiredToExtract should be 0 (auto-calculate) or > 10 + + + This constructor is used by the ZipFile class when reading from the central header + It is not generally useful, use the constructor specifying the name only. + + + + + Creates a deep copy of the given zip entry. + + + The entry to copy. + + + + + Test the external attributes for this to + see if the external attributes are Dos based (including WINNT and variants) + and match the values + + The attributes to test. + Returns true if the external attributes are known to be DOS/Windows + based and have the same attributes set as the value passed. + + + + Force this entry to be recorded using Zip64 extensions. + + + + + Get a value indicating wether Zip64 extensions were forced. + + A value of true if Zip64 extensions have been forced on; false if not. + + + + Process extra data fields updating the entry based on the contents. + + True if the extra data fields should be handled + for a local header, rather than for a central header. + + + + + Test entry to see if data can be extracted. + + Returns true if data can be extracted for this entry; false otherwise. + + + + Creates a copy of this zip entry. + + An that is a copy of the current instance. + + + + Gets a string representation of this ZipEntry. + + A readable textual representation of this + + + + Test a compression method to see if this library + supports extracting data compressed with that method + + The compression method to test. + Returns true if the compression method is supported; false otherwise + + + + Cleans a name making it conform to Zip file conventions. + Devices names ('c:\') and UNC share names ('\\server\share') are removed + and forward slashes ('\') are converted to back slashes ('/'). + Names are made relative by trimming leading slashes which is compatible + with the ZIP naming convention. + + The name to clean + The 'cleaned' name. + + The Zip name transform class is more flexible. + + + + + Get a value indicating wether the entry has a CRC value available. + + + + + Get/Set flag indicating if entry is encrypted. + A simple helper routine to aid interpretation of flags + + This is an assistant that interprets the flags property. + + + + Get / set a flag indicating wether entry name and comment text are + encoded in unicode UTF8. + + This is an assistant that interprets the flags property. + + + + Value used during password checking for PKZIP 2.0 / 'classic' encryption. + + + + + Get/Set general purpose bit flag for entry + + + General purpose bit flag
+
+ Bit 0: If set, indicates the file is encrypted
+ Bit 1-2 Only used for compression type 6 Imploding, and 8, 9 deflating
+ Imploding:
+ Bit 1 if set indicates an 8K sliding dictionary was used. If clear a 4k dictionary was used
+ Bit 2 if set indicates 3 Shannon-Fanno trees were used to encode the sliding dictionary, 2 otherwise
+
+ Deflating:
+ Bit 2 Bit 1
+ 0 0 Normal compression was used
+ 0 1 Maximum compression was used
+ 1 0 Fast compression was used
+ 1 1 Super fast compression was used
+
+ Bit 3: If set, the fields crc-32, compressed size + and uncompressed size are were not able to be written during zip file creation + The correct values are held in a data descriptor immediately following the compressed data.
+ Bit 4: Reserved for use by PKZIP for enhanced deflating
+ Bit 5: If set indicates the file contains compressed patch data
+ Bit 6: If set indicates strong encryption was used.
+ Bit 7-10: Unused or reserved
+ Bit 11: If set the name and comments for this entry are in unicode.
+ Bit 12-15: Unused or reserved
+
+ + +
+ + + Get/Set index of this entry in Zip file + + This is only valid when the entry is part of a + + + + Get/set offset for use in central header + + + + + Get/Set external file attributes as an integer. + The values of this are operating system dependant see + HostSystem for details + + + + + Get the version made by for this entry or zero if unknown. + The value / 10 indicates the major version number, and + the value mod 10 is the minor version number + + + + + Get a value indicating this entry is for a DOS/Windows system. + + + + + Gets the compatability information for the external file attribute + If the external file attributes are compatible with MS-DOS and can be read + by PKZIP for DOS version 2.04g then this value will be zero. Otherwise the value + will be non-zero and identify the host system on which the attributes are compatible. + + + + The values for this as defined in the Zip File format and by others are shown below. The values are somewhat + misleading in some cases as they are not all used as shown. You should consult the relevant documentation + to obtain up to date and correct information. The modified appnote by the infozip group is + particularly helpful as it documents a lot of peculiarities. The document is however a little dated. + + 0 - MS-DOS and OS/2 (FAT / VFAT / FAT32 file systems) + 1 - Amiga + 2 - OpenVMS + 3 - Unix + 4 - VM/CMS + 5 - Atari ST + 6 - OS/2 HPFS + 7 - Macintosh + 8 - Z-System + 9 - CP/M + 10 - Windows NTFS + 11 - MVS (OS/390 - Z/OS) + 12 - VSE + 13 - Acorn Risc + 14 - VFAT + 15 - Alternate MVS + 16 - BeOS + 17 - Tandem + 18 - OS/400 + 19 - OS/X (Darwin) + 99 - WinZip AES + remainder - unused + + + + + + Get minimum Zip feature version required to extract this entry + + + Minimum features are defined as:
+ 1.0 - Default value
+ 1.1 - File is a volume label
+ 2.0 - File is a folder/directory
+ 2.0 - File is compressed using Deflate compression
+ 2.0 - File is encrypted using traditional encryption
+ 2.1 - File is compressed using Deflate64
+ 2.5 - File is compressed using PKWARE DCL Implode
+ 2.7 - File is a patch data set
+ 4.5 - File uses Zip64 format extensions
+ 4.6 - File is compressed using BZIP2 compression
+ 5.0 - File is encrypted using DES
+ 5.0 - File is encrypted using 3DES
+ 5.0 - File is encrypted using original RC2 encryption
+ 5.0 - File is encrypted using RC4 encryption
+ 5.1 - File is encrypted using AES encryption
+ 5.1 - File is encrypted using corrected RC2 encryption
+ 5.1 - File is encrypted using corrected RC2-64 encryption
+ 6.1 - File is encrypted using non-OAEP key wrapping
+ 6.2 - Central directory encryption (not confirmed yet)
+ 6.3 - File is compressed using LZMA
+ 6.3 - File is compressed using PPMD+
+ 6.3 - File is encrypted using Blowfish
+ 6.3 - File is encrypted using Twofish
+
+ +
+ + + Get a value indicating wether this entry can be decompressed by the library. + + This is based on the and + wether the compression method is supported. + + + + Gets a value indicating if the entry requires Zip64 extensions + to store the full entry values. + + A value of true if a local header requires Zip64 extensions; false if not. + + + + Get a value indicating wether the central directory entry requires Zip64 extensions to be stored. + + + + + Get/Set DosTime value. + + + The MS-DOS date format can only represent dates between 1/1/1980 and 12/31/2107. + + + + + Gets/Sets the time of last modification of the entry. + + + The property is updated to match this as far as possible. + + + + + Returns the entry name. + + + The unix naming convention is followed. + Path components in the entry should always separated by forward slashes ('/'). + Dos device names like C: should also be removed. + See the class, or + + + + + Gets/Sets the size of the uncompressed data. + + + The size or -1 if unknown. + + Setting the size before adding an entry to an archive can help + avoid compatability problems with some archivers which dont understand Zip64 extensions. + + + + Gets/Sets the size of the compressed data. + + + The compressed entry size or -1 if unknown. + + + + + Gets/Sets the crc of the uncompressed data. + + + Crc is not in the range 0..0xffffffffL + + + The crc value or -1 if unknown. + + + + + Gets/Sets the compression method. Only Deflated and Stored are supported. + + + The compression method for this entry + + + + + + + Gets/Sets the extra data. + + + Extra data is longer than 64KB (0xffff) bytes. + + + Extra data or null if not set. + + + + + Gets/Sets the entry comment. + + + If comment is longer than 0xffff. + + + The comment or null if not set. + + + A comment is only available for entries when read via the class. + The class doesnt have the comment data available. + + + + + Gets a value indicating if the entry is a directory. + however. + + + A directory is determined by an entry name with a trailing slash '/'. + The external file attributes can also indicate an entry is for a directory. + Currently only dos/windows attributes are tested in this manner. + The trailing slash convention should always be followed. + + + + + Get a value of true if the entry appears to be a file; false otherwise + + + This only takes account of DOS/Windows attributes. Other operating systems are ignored. + For linux and others the result may be incorrect. + + + + + ExtraData tagged value interface. + + + + + Set the contents of this instance from the data passed. + + The data to extract contents from. + The offset to begin extracting data from. + The number of bytes to extract. + + + + Get the data representing this instance. + + Returns the data for this instance. + + + + Get the ID for this tagged data value. + + + + + A raw binary tagged value + + + + + Initialise a new instance. + + The tag ID. + + + + Set the data from the raw values provided. + + The raw data to extract values from. + The index to start extracting values from. + The number of bytes available. + + + + Get the binary data representing this instance. + + The raw binary data representing this instance. + + + + The tag ID for this instance. + + + + + Get the ID for this tagged data value. + + + + + Get /set the binary data representing this instance. + + The raw binary data representing this instance. + + + + Class representing extended unix date time values. + + + + + Set the data from the raw values provided. + + The raw data to extract values from. + The index to start extracting values from. + The number of bytes available. + + + + Get the binary data representing this instance. + + The raw binary data representing this instance. + + + + Test a value to see if is valid and can be represented here. + + The value to test. + Returns true if the value is valid and can be represented; false if not. + The standard Unix time is a signed integer data type, directly encoding the Unix time number, + which is the number of seconds since 1970-01-01. + Being 32 bits means the values here cover a range of about 136 years. + The minimum representable time is 1901-12-13 20:45:52, + and the maximum representable time is 2038-01-19 03:14:07. + + + + + Get the ID + + + + + Get /set the Modification Time + + + + + + + Get / set the Access Time + + + + + + + Get / Set the Create Time + + + + + + + Get/set the values to include. + + + + + Flags indicate which values are included in this instance. + + + + + The modification time is included + + + + + The access time is included + + + + + The create time is included. + + + + + Class handling NT date time values. + + + + + Set the data from the raw values provided. + + The raw data to extract values from. + The index to start extracting values from. + The number of bytes available. + + + + Get the binary data representing this instance. + + The raw binary data representing this instance. + + + + Test a valuie to see if is valid and can be represented here. + + The value to test. + Returns true if the value is valid and can be represented; false if not. + + NTFS filetimes are 64-bit unsigned integers, stored in Intel + (least significant byte first) byte order. They determine the + number of 1.0E-07 seconds (1/10th microseconds!) past WinNT "epoch", + which is "01-Jan-1601 00:00:00 UTC". 28 May 60056 is the upper limit + + + + + Get the ID for this tagged data value. + + + + + Get/set the last modification time. + + + + + Get /set the create time + + + + + Get /set the last access time. + + + + + A factory that creates tagged data instances. + + + + + Get data for a specific tag value. + + The tag ID to find. + The data to search. + The offset to begin extracting data from. + The number of bytes to extract. + The located value found, or null if not found. + + + + + A class to handle the extra data field for Zip entries + + + Extra data contains 0 or more values each prefixed by a header tag and length. + They contain zero or more bytes of actual data. + The data is held internally using a copy on write strategy. This is more efficient but + means that for extra data created by passing in data can have the values modified by the caller + in some circumstances. + + + + + Initialise a default instance. + + + + + Initialise with known extra data. + + The extra data. + + + + Get the raw extra data value + + Returns the raw byte[] extra data this instance represents. + + + + Clear the stored data. + + + + + Get a read-only for the associated tag. + + The tag to locate data for. + Returns a containing tag data or null if no tag was found. + + + + Get the tagged data for a tag. + + The tag to search for. + Returns a tagged value or null if none found. + + + + Find an extra data value + + The identifier for the value to find. + Returns true if the value was found; false otherwise. + + + + Add a new entry to extra data. + + The value to add. + + + + Add a new entry to extra data + + The ID for this entry. + The data to add. + If the ID already exists its contents are replaced. + + + + Start adding a new entry. + + Add data using , , , or . + The new entry is completed and actually added by calling + + + + + Add entry data added since using the ID passed. + + The identifier to use for this entry. + + + + Add a byte of data to the pending new entry. + + The byte to add. + + + + + Add data to a pending new entry. + + The data to add. + + + + + Add a short value in little endian order to the pending new entry. + + The data to add. + + + + + Add an integer value in little endian order to the pending new entry. + + The data to add. + + + + + Add a long value in little endian order to the pending new entry. + + The data to add. + + + + + Delete an extra data field. + + The identifier of the field to delete. + Returns true if the field was found and deleted. + + + + Read a long in little endian form from the last found data value + + Returns the long value read. + + + + Read an integer in little endian form from the last found data value. + + Returns the integer read. + + + + Read a short value in little endian form from the last found data value. + + Returns the short value read. + + + + Read a byte from an extra data + + The byte value read or -1 if the end of data has been reached. + + + + Skip data during reading. + + The number of bytes to skip. + + + + Internal form of that reads data at any location. + + Returns the short value read. + + + + Dispose of this instance. + + + + + Gets the current extra data length. + + + + + Get the length of the last value found by + + This is only value if has previsouly returned true. + + + + Get the index for the current read value. + + This is only valid if has previously returned true. + Initially it will be the index of the first byte of actual data. The value is updated after calls to + , and . + + + + Get the number of bytes remaining to be read for the current value; + + + + + Holds data pertinent to a data descriptor. + + + + + Get /set the compressed size of data. + + + + + Get / set the uncompressed size of data + + + + + Get /set the crc value. + + + + + This class assists with writing/reading from Zip files. + + + + + Initialise an instance of this class. + + The name of the file to open. + + + + Initialise a new instance of . + + The stream to use. + + + + Close the stream. + + + The underlying stream is closed only if is true. + + + + + Locates a block with the desired . + + The signature to find. + Location, marking the end of block. + Minimum size of the block. + The maximum variable data. + Eeturns the offset of the first byte after the signature; -1 if not found + + + + Write Zip64 end of central directory records (File header and locator). + + The number of entries in the central directory. + The size of entries in the central directory. + The offset of the dentral directory. + + + + Write the required records to end the central directory. + + The number of entries in the directory. + The size of the entries in the directory. + The start of the central directory. + The archive comment. (This can be null). + + + + Read an unsigned short in little endian byte order. + + Returns the value read. + + An i/o error occurs. + + + The file ends prematurely + + + + + Read an int in little endian byte order. + + Returns the value read. + + An i/o error occurs. + + + The file ends prematurely + + + + + Read a long in little endian byte order. + + The value read. + + + + Write an unsigned short in little endian byte order. + + The value to write. + + + + Write a ushort in little endian byte order. + + The value to write. + + + + Write an int in little endian byte order. + + The value to write. + + + + Write a uint in little endian byte order. + + The value to write. + + + + Write a long in little endian byte order. + + The value to write. + + + + Write a ulong in little endian byte order. + + The value to write. + + + + Write a data descriptor. + + The entry to write a descriptor for. + Returns the number of descriptor bytes written. + + + + Read data descriptor at the end of compressed data. + + if set to true [zip64]. + The data to fill in. + Returns the number of bytes read in the descriptor. + + + + Get / set a value indicating wether the the underlying stream is owned or not. + + If the stream is owned it is closed when this instance is closed. + + + + Inflater is used to decompress data that has been compressed according + to the "deflate" standard described in rfc1951. + + By default Zlib (rfc1950) headers and footers are expected in the input. + You can use constructor public Inflater(bool noHeader) passing true + if there is no Zlib header information + + The usage is as following. First you have to set some input with + SetInput(), then Inflate() it. If inflate doesn't + inflate any bytes there may be three reasons: +
    +
  • IsNeedingInput() returns true because the input buffer is empty. + You have to provide more input with SetInput(). + NOTE: IsNeedingInput() also returns true when, the stream is finished. +
  • +
  • IsNeedingDictionary() returns true, you have to provide a preset + dictionary with SetDictionary().
  • +
  • IsFinished returns true, the inflater has finished.
  • +
+ Once the first output byte is produced, a dictionary will not be + needed at a later stage. + + author of the original java version : John Leuner, Jochen Hoenicke +
+
+ + + These are the possible states for an inflater + + + + + Copy lengths for literal codes 257..285 + + + + + Extra bits for literal codes 257..285 + + + + + Copy offsets for distance codes 0..29 + + + + + Extra bits for distance codes + + + + + This variable contains the current state. + + + + + The adler checksum of the dictionary or of the decompressed + stream, as it is written in the header resp. footer of the + compressed stream. + Only valid if mode is DECODE_DICT or DECODE_CHKSUM. + + + + + The number of bits needed to complete the current state. This + is valid, if mode is DECODE_DICT, DECODE_CHKSUM, + DECODE_HUFFMAN_LENBITS or DECODE_HUFFMAN_DISTBITS. + + + + + True, if the last block flag was set in the last block of the + inflated stream. This means that the stream ends after the + current block. + + + + + The total number of inflated bytes. + + + + + The total number of bytes set with setInput(). This is not the + value returned by the TotalIn property, since this also includes the + unprocessed input. + + + + + This variable stores the noHeader flag that was given to the constructor. + True means, that the inflated stream doesn't contain a Zlib header or + footer. + + + + + Creates a new inflater or RFC1951 decompressor + RFC1950/Zlib headers and footers will be expected in the input data + + + + + Creates a new inflater. + + + True if no RFC1950/Zlib header and footer fields are expected in the input data + + This is used for GZIPed/Zipped input. + + For compatibility with + Sun JDK you should provide one byte of input more than needed in + this case. + + + + + Resets the inflater so that a new stream can be decompressed. All + pending input and output will be discarded. + + + + + Decodes a zlib/RFC1950 header. + + + False if more input is needed. + + + The header is invalid. + + + + + Decodes the dictionary checksum after the deflate header. + + + False if more input is needed. + + + + + Decodes the huffman encoded symbols in the input stream. + + + false if more input is needed, true if output window is + full or the current block ends. + + + if deflated stream is invalid. + + + + + Decodes the adler checksum after the deflate stream. + + + false if more input is needed. + + + If checksum doesn't match. + + + + + Decodes the deflated stream. + + + false if more input is needed, or if finished. + + + if deflated stream is invalid. + + + + + Sets the preset dictionary. This should only be called, if + needsDictionary() returns true and it should set the same + dictionary, that was used for deflating. The getAdler() + function returns the checksum of the dictionary needed. + + + The dictionary. + + + + + Sets the preset dictionary. This should only be called, if + needsDictionary() returns true and it should set the same + dictionary, that was used for deflating. The getAdler() + function returns the checksum of the dictionary needed. + + + The dictionary. + + + The index into buffer where the dictionary starts. + + + The number of bytes in the dictionary. + + + No dictionary is needed. + + + The adler checksum for the buffer is invalid + + + + + Sets the input. This should only be called, if needsInput() + returns true. + + + the input. + + + + + Sets the input. This should only be called, if needsInput() + returns true. + + + The source of input data + + + The index into buffer where the input starts. + + + The number of bytes of input to use. + + + No input is needed. + + + The index and/or count are wrong. + + + + + Inflates the compressed stream to the output buffer. If this + returns 0, you should check, whether IsNeedingDictionary(), + IsNeedingInput() or IsFinished() returns true, to determine why no + further output is produced. + + + the output buffer. + + + The number of bytes written to the buffer, 0 if no further + output can be produced. + + + if buffer has length 0. + + + if deflated stream is invalid. + + + + + Inflates the compressed stream to the output buffer. If this + returns 0, you should check, whether needsDictionary(), + needsInput() or finished() returns true, to determine why no + further output is produced. + + + the output buffer. + + + the offset in buffer where storing starts. + + + the maximum number of bytes to output. + + + the number of bytes written to the buffer, 0 if no further output can be produced. + + + if count is less than 0. + + + if the index and / or count are wrong. + + + if deflated stream is invalid. + + + + + Returns true, if the input buffer is empty. + You should then call setInput(). + NOTE: This method also returns true when the stream is finished. + + + + + Returns true, if a preset dictionary is needed to inflate the input. + + + + + Returns true, if the inflater has finished. This means, that no + input is needed and no output can be produced. + + + + + Gets the adler checksum. This is either the checksum of all + uncompressed bytes returned by inflate(), or if needsDictionary() + returns true (and thus no output was yet produced) this is the + adler checksum of the expected dictionary. + + + the adler checksum. + + + + + Gets the total number of output bytes returned by Inflate(). + + + the total number of output bytes. + + + + + Gets the total number of processed compressed input bytes. + + + The total number of bytes of processed input bytes. + + + + + Gets the number of unprocessed input bytes. Useful, if the end of the + stream is reached and you want to further process the bytes after + the deflate stream. + + + The number of bytes of the input which have not been processed. + + + + + An input stream that decompresses files in the BZip2 format + + + + + Construct instance for reading from stream + + Data source + + + + Flushes the stream. + + + + + Set the streams position. This operation is not supported and will throw a NotSupportedException + + A byte offset relative to the parameter. + A value of type indicating the reference point used to obtain the new position. + The new position of the stream. + Any access + + + + Sets the length of this stream to the given value. + This operation is not supported and will throw a NotSupportedExceptionortedException + + The new length for the stream. + Any access + + + + Writes a block of bytes to this stream using data from a buffer. + This operation is not supported and will throw a NotSupportedException + + The buffer to source data from. + The offset to start obtaining data from. + The number of bytes of data to write. + Any access + + + + Writes a byte to the current position in the file stream. + This operation is not supported and will throw a NotSupportedException + + The value to write. + Any access + + + + Read a sequence of bytes and advances the read position by one byte. + + Array of bytes to store values in + Offset in array to begin storing data + The maximum number of bytes to read + The total number of bytes read into the buffer. This might be less + than the number of bytes requested if that number of bytes are not + currently available or zero if the end of the stream is reached. + + + + + Closes the stream, releasing any associated resources. + + + + + Read a byte from stream advancing position + + byte read or -1 on end of stream + + + + Get/set flag indicating ownership of underlying stream. + When the flag is true will close the underlying stream also. + + + + + Gets a value indicating if the stream supports reading + + + + + Gets a value indicating whether the current stream supports seeking. + + + + + Gets a value indicating whether the current stream supports writing. + This property always returns false + + + + + Gets the length in bytes of the stream. + + + + + Gets or sets the streams position. + Setting the position is not supported and will throw a NotSupportException + + Any attempt to set the position + + + + Computes Adler32 checksum for a stream of data. An Adler32 + checksum is not as reliable as a CRC32 checksum, but a lot faster to + compute. + + The specification for Adler32 may be found in RFC 1950. + ZLIB Compressed Data Format Specification version 3.3) + + + From that document: + + "ADLER32 (Adler-32 checksum) + This contains a checksum value of the uncompressed data + (excluding any dictionary data) computed according to Adler-32 + algorithm. This algorithm is a 32-bit extension and improvement + of the Fletcher algorithm, used in the ITU-T X.224 / ISO 8073 + standard. + + Adler-32 is composed of two sums accumulated per byte: s1 is + the sum of all bytes, s2 is the sum of all s1 values. Both sums + are done modulo 65521. s1 is initialized to 1, s2 to zero. The + Adler-32 checksum is stored as s2*65536 + s1 in most- + significant-byte first (network) order." + + "8.2. The Adler-32 algorithm + + The Adler-32 algorithm is much faster than the CRC32 algorithm yet + still provides an extremely low probability of undetected errors. + + The modulo on unsigned long accumulators can be delayed for 5552 + bytes, so the modulo operation time is negligible. If the bytes + are a, b, c, the second sum is 3a + 2b + c + 3, and so is position + and order sensitive, unlike the first sum, which is just a + checksum. That 65521 is prime is important to avoid a possible + large class of two-byte errors that leave the check unchanged. + (The Fletcher checksum uses 255, which is not prime and which also + makes the Fletcher check insensitive to single byte changes 0 - + 255.) + + The sum s1 is initialized to 1 instead of zero to make the length + of the sequence part of s2, so that the length does not have to be + checked separately. (Any sequence of zeroes has a Fletcher + checksum of zero.)" + + + + + + + largest prime smaller than 65536 + + + + + Creates a new instance of the Adler32 class. + The checksum starts off with a value of 1. + + + + + Resets the Adler32 checksum to the initial value. + + + + + Updates the checksum with a byte value. + + + The data value to add. The high byte of the int is ignored. + + + + + Updates the checksum with an array of bytes. + + + The source of the data to update with. + + + + + Updates the checksum with the bytes taken from the array. + + + an array of bytes + + + the start of the data used for this update + + + the number of bytes to use for this update + + + + + Returns the Adler32 data checksum computed so far. + + +
+
diff --git a/bin/hdfsdll.dll.config b/bin/hdfsdll.dll.config new file mode 100644 index 0000000..f1805fd --- /dev/null +++ b/bin/hdfsdll.dll.config @@ -0,0 +1,3 @@ + + + diff --git a/bin/hdfsdll.so b/bin/hdfsdll.so new file mode 100755 index 0000000..cf79ffc Binary files /dev/null and b/bin/hdfsdll.so differ diff --git a/bin/xmrhelpers.so b/bin/xmrhelpers.so new file mode 100755 index 0000000..6074da2 Binary files /dev/null and b/bin/xmrhelpers.so differ -- cgit v1.1 From 97f8175090837ef4399975d6674aaa542fbf408c Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Sat, 7 Aug 2010 18:34:11 +0200 Subject: Delete some files from bin that should not have been committed --- bin/ICSharpCode.SharpZipLib.xml | 9055 --------------------------------------- bin/hdfsdll.dll.config | 3 - bin/hdfsdll.so | Bin 6557 -> 0 bytes bin/xmrhelpers.so | Bin 18357 -> 0 bytes 4 files changed, 9058 deletions(-) delete mode 100644 bin/ICSharpCode.SharpZipLib.xml delete mode 100644 bin/hdfsdll.dll.config delete mode 100755 bin/hdfsdll.so delete mode 100755 bin/xmrhelpers.so (limited to 'bin') diff --git a/bin/ICSharpCode.SharpZipLib.xml b/bin/ICSharpCode.SharpZipLib.xml deleted file mode 100644 index 98cb51e..0000000 --- a/bin/ICSharpCode.SharpZipLib.xml +++ /dev/null @@ -1,9055 +0,0 @@ - - - - ICSharpCode.SharpZipLib - - - - - FastZipEvents supports all events applicable to FastZip operations. - - - - - Delegate to invoke when processing directories. - - - - - Delegate to invoke when processing files. - - - - - Delegate to invoke during processing of files. - - - - - Delegate to invoke when processing for a file has been completed. - - - - - Delegate to invoke when processing directory failures. - - - - - Delegate to invoke when processing file failures. - - - - - Raise the directory failure event. - - The directory causing the failure. - The exception for this event. - A boolean indicating if execution should continue or not. - - - - Raises the file failure delegate. - - The file causing the failure. - The exception for this failure. - A boolean indicating if execution should continue or not. - - - - Fires the Process File delegate. - - The file being processed. - A boolean indicating if execution should continue or not. - - - - Fires the CompletedFile delegate - - The file whose processing has been completed. - A boolean indicating if execution should continue or not. - - - - Fires the process directory delegate. - - The directory being processed. - Flag indicating if the directory has matching files as determined by the current filter. - A of true if the operation should continue; false otherwise. - - - - The minimum timespan between events. - - The minimum period of time between events. - - - - - FastZip provides facilities for creating and extracting zip files. - - - - - Initialise a default instance of . - - - - - Initialise a new instance of - - The events to use during operations. - - - - Create a zip file. - - The name of the zip file to create. - The directory to source files from. - True to recurse directories, false for no recursion. - The file filter to apply. - The directory filter to apply. - - - - Create a zip file/archive. - - The name of the zip file to create. - The directory to obtain files and directories from. - True to recurse directories, false for no recursion. - The file filter to apply. - - - - Create a zip archive sending output to the passed. - - The stream to write archive data to. - The directory to source files from. - True to recurse directories, false for no recursion. - The file filter to apply. - The directory filter to apply. - - - - Extract the contents of a zip file. - - The zip file to extract from. - The directory to save extracted information in. - A filter to apply to files. - - - - Extract the contents of a zip file. - - The zip file to extract from. - The directory to save extracted information in. - The style of overwriting to apply. - A delegate to invoke when confirming overwriting. - A filter to apply to files. - A filter to apply to directories. - Flag indicating wether to restore the date and time for extracted files. - - - - Get/set a value indicating wether empty directories should be created. - - - - - Get / set the password value. - - - - - Get or set the active when creating Zip files. - - - - - - Get or set the active when creating Zip files. - - - - - Get/set a value indicating wether file dates and times should - be restored when extracting files from an archive. - - The default value is false. - - - - Get/set a value indicating wether file attributes should - be restored during extract operations - - - - - Defines the desired handling when overwriting files during extraction. - - - - - Prompt the user to confirm overwriting - - - - - Never overwrite files. - - - - - Always overwrite files. - - - - - Delegate called when confirming overwriting of files. - - - - - NameFilter is a string matching class which allows for both positive and negative - matching. - A filter is a sequence of independant regular expressions separated by semi-colons ';' - Each expression can be prefixed by a plus '+' sign or a minus '-' sign to denote the expression - is intended to include or exclude names. If neither a plus or minus sign is found include is the default - A given name is tested for inclusion before checking exclusions. Only names matching an include spec - and not matching an exclude spec are deemed to match the filter. - An empty filter matches any name. - - The following expression includes all name ending in '.dat' with the exception of 'dummy.dat' - "+\.dat$;-^dummy\.dat$" - - - - - Scanning filters support filtering of names. - - - - - Test a name to see if it 'matches' the filter. - - The name to test. - Returns true if the name matches the filter, false if it does not match. - - - - Construct an instance based on the filter expression passed - - The filter expression. - - - - Test a string to see if it is a valid regular expression. - - The expression to test. - True if expression is a valid false otherwise. - - - - Test an expression to see if it is valid as a filter. - - The filter expression to test. - True if the expression is valid, false otherwise. - - - - Convert this filter to its string equivalent. - - The string equivalent for this filter. - - - - Test a value to see if it is included by the filter. - - The value to test. - True if the value is included, false otherwise. - - - - Test a value to see if it is excluded by the filter. - - The value to test. - True if the value is excluded, false otherwise. - - - - Test a value to see if it matches the filter. - - The value to test. - True if the value matches, false otherwise. - - - - Compile this filter. - - - - - Huffman tree used for inflation - - - - - Literal length tree - - - - - Distance tree - - - - - Constructs a Huffman tree from the array of code lengths. - - - the array of code lengths - - - - - Reads the next symbol from input. The symbol is encoded using the - huffman tree. - - - input the input source. - - - the next symbol, or -1 if not enough input is available. - - - - - This class is general purpose class for writing data to a buffer. - - It allows you to write bits as well as bytes - Based on DeflaterPending.java - - author of the original java version : Jochen Hoenicke - - - - - Internal work buffer - - - - - construct instance using default buffer size of 4096 - - - - - construct instance using specified buffer size - - - size to use for internal buffer - - - - - Clear internal state/buffers - - - - - Write a byte to buffer - - - The value to write - - - - - Write a short value to buffer LSB first - - - The value to write. - - - - - write an integer LSB first - - The value to write. - - - - Write a block of data to buffer - - data to write - offset of first byte to write - number of bytes to write - - - - Align internal buffer on a byte boundary - - - - - Write bits to internal buffer - - source of bits - number of bits to write - - - - Write a short value to internal buffer most significant byte first - - value to write - - - - Flushes the pending buffer into the given output array. If the - output array is to small, only a partial flush is done. - - The output array. - The offset into output array. - The maximum number of bytes to store. - The number of bytes flushed. - - - - Convert internal buffer to byte array. - Buffer is empty on completion - - - The internal buffer contents converted to a byte array. - - - - - The number of bits written to the buffer - - - - - Indicates if buffer has been flushed - - - - - Used to advise clients of 'events' while processing archives - - - - - The TarArchive class implements the concept of a - 'Tape Archive'. A tar archive is a series of entries, each of - which represents a file system object. Each entry in - the archive consists of a header block followed by 0 or more data blocks. - Directory entries consist only of the header block, and are followed by entries - for the directory's contents. File entries consist of a - header followed by the number of blocks needed to - contain the file's contents. All entries are written on - block boundaries. Blocks are 512 bytes long. - - TarArchives are instantiated in either read or write mode, - based upon whether they are instantiated with an InputStream - or an OutputStream. Once instantiated TarArchives read/write - mode can not be changed. - - There is currently no support for random access to tar archives. - However, it seems that subclassing TarArchive, and using the - TarBuffer.CurrentRecord and TarBuffer.CurrentBlock - properties, this would be rather trivial. - - - - - Raises the ProgressMessage event - - The TarEntry for this event - message for this event. Null is no message - - - - Constructor for a default . - - - - - Initalise a TarArchive for input. - - The to use for input. - - - - Initialise a TarArchive for output. - - The to use for output. - - - - The InputStream based constructors create a TarArchive for the - purposes of extracting or listing a tar archive. Thus, use - these constructors when you wish to extract files from or list - the contents of an existing tar archive. - - The stream to retrieve archive data from. - Returns a new suitable for reading from. - - - - Create TarArchive for reading setting block factor - - Stream for tar archive contents - The blocking factor to apply - Returns a suitable for reading. - - - - Create a TarArchive for writing to, using the default blocking factor - - The to write to - Returns a suitable for writing. - - - - Create a TarArchive for writing to - - The stream to write to - The blocking factor to use for buffering. - Returns a suitable for writing. - - - - Set the flag that determines whether existing files are - kept, or overwritten during extraction. - - - If true, do not overwrite existing files. - - - - - Set the ascii file translation flag. - - - If true, translate ascii text files. - - - - - Set user and group information that will be used to fill in the - tar archive's entry headers. This information based on that available - for the linux operating system, which is not always available on other - operating systems. TarArchive allows the programmer to specify values - to be used in their place. - is set to true by this call. - - - The user id to use in the headers. - - - The user name to use in the headers. - - - The group id to use in the headers. - - - The group name to use in the headers. - - - - - Close the archive. - - - - - Perform the "list" command for the archive contents. - - NOTE That this method uses the progress event to actually list - the contents. If the progress display event is not set, nothing will be listed! - - - - - Perform the "extract" command and extract the contents of the archive. - - - The destination directory into which to extract. - - - - - Extract an entry from the archive. This method assumes that the - tarIn stream has been properly set with a call to GetNextEntry(). - - - The destination directory into which to extract. - - - The TarEntry returned by tarIn.GetNextEntry(). - - - - - Write an entry to the archive. This method will call the putNextEntry - and then write the contents of the entry, and finally call closeEntry() - for entries that are files. For directories, it will call putNextEntry(), - and then, if the recurse flag is true, process each entry that is a - child of the directory. - - - The TarEntry representing the entry to write to the archive. - - - If true, process the children of directory entries. - - - - - Write an entry to the archive. This method will call the putNextEntry - and then write the contents of the entry, and finally call closeEntry() - for entries that are files. For directories, it will call putNextEntry(), - and then, if the recurse flag is true, process each entry that is a - child of the directory. - - - The TarEntry representing the entry to write to the archive. - - - If true, process the children of directory entries. - - - - - Releases the unmanaged resources used by the FileStream and optionally releases the managed resources. - - true to release both managed and unmanaged resources; - false to release only unmanaged resources. - - - - Closes the archive and releases any associated resources. - - - - - Ensures that resources are freed and other cleanup operations are performed - when the garbage collector reclaims the . - - - - - Client hook allowing detailed information to be reported during processing - - - - - Get/set the ascii file translation flag. If ascii file translation - is true, then the file is checked to see if it a binary file or not. - If the flag is true and the test indicates it is ascii text - file, it will be translated. The translation converts the local - operating system's concept of line ends into the UNIX line end, - '\n', which is the defacto standard for a TAR archive. This makes - text files compatible with UNIX. - - - - - PathPrefix is added to entry names as they are written if the value is not null. - A slash character is appended after PathPrefix - - - - - RootPath is removed from entry names if it is found at the - beginning of the name. - - - - - Get or set a value indicating if overrides defined by SetUserInfo should be applied. - - If overrides are not applied then the values as set in each header will be used. - - - - Get the archive user id. - See ApplyUserInfoOverrides for detail - on how to allow setting values on a per entry basis. - - - The current user id. - - - - - Get the archive user name. - See ApplyUserInfoOverrides for detail - on how to allow setting values on a per entry basis. - - - The current user name. - - - - - Get the archive group id. - See ApplyUserInfoOverrides for detail - on how to allow setting values on a per entry basis. - - - The current group id. - - - - - Get the archive group name. - See ApplyUserInfoOverrides for detail - on how to allow setting values on a per entry basis. - - - The current group name. - - - - - Get the archive's record size. Tar archives are composed of - a series of RECORDS each containing a number of BLOCKS. - This allowed tar archives to match the IO characteristics of - the physical device being used. Archives are expected - to be properly "blocked". - - - The record size this archive is using. - - - - - An output stream that compresses into the BZip2 format - including file header chars into another stream. - - - - - Construct a default output stream with maximum block size - - The stream to write BZip data onto. - - - - Initialise a new instance of the - for the specified stream, using the given blocksize. - - The stream to write compressed data to. - The block size to use. - - Valid block sizes are in the range 1..9, with 1 giving - the lowest compression and 9 the highest. - - - - - Ensures that resources are freed and other cleanup operations - are performed when the garbage collector reclaims the BZip2OutputStream. - - - - - Sets the current position of this stream to the given value. - - The point relative to the offset from which to being seeking. - The reference point from which to begin seeking. - The new position in the stream. - - - - Sets the length of this stream to the given value. - - The new stream length. - - - - Read a byte from the stream advancing the position. - - The byte read cast to an int; -1 if end of stream. - - - - Read a block of bytes - - The buffer to read into. - The offset in the buffer to start storing data at. - The maximum number of bytes to read. - The total number of bytes read. This might be less than the number of bytes - requested if that number of bytes are not currently available, or zero - if the end of the stream is reached. - - - - Write a block of bytes to the stream - - The buffer containing data to write. - The offset of the first byte to write. - The number of bytes to write. - - - - Write a byte to the stream. - - The byte to write to the stream. - - - - End the current block and end compression. - Close the stream and free any resources - - - - - Get the number of bytes written to output. - - - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Flush output buffers - - - - - Get/set flag indicating ownership of underlying stream. - When the flag is true will close the underlying stream also. - - - - - Gets a value indicating whether the current stream supports reading - - - - - Gets a value indicating whether the current stream supports seeking - - - - - Gets a value indicating whether the current stream supports writing - - - - - Gets the length in bytes of the stream - - - - - Gets or sets the current position of this stream. - - - - - Get the number of bytes written to the output. - - - - - Represents exception conditions specific to Zip archive handling - - - - - SharpZipBaseException is the base exception class for the SharpZipLibrary. - All library exceptions are derived from this. - - NOTE: Not all exceptions thrown will be derived from this class. - A variety of other exceptions are possible for example - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initializes a new instance of the SharpZipBaseException class. - - - - - Initializes a new instance of the SharpZipBaseException class with a specified error message. - - A message describing the exception. - - - - Initializes a new instance of the SharpZipBaseException class with a specified - error message and a reference to the inner exception that is the cause of this exception. - - A message describing the exception. - The inner exception - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initializes a new instance of the ZipException class. - - - - - Initializes a new instance of the ZipException class with a specified error message. - - The error message that explains the reason for the exception. - - - - Initialise a new instance of ZipException. - - A message describing the error. - The exception that is the cause of the current exception. - - - - A helper class to simplify compressing and decompressing streams. - - - - - Decompress input writing - decompressed data to the output stream - - The stream containing data to decompress. - The stream to write decompressed data to. - Both streams are closed on completion - - - - Compress input stream sending - result to output stream - - The stream to compress. - The stream to write compressed data to. - The block size to use. - Both streams are closed on completion - - - - Initialise a default instance of this class. - - - - - Determines how entries are tested to see if they should use Zip64 extensions or not. - - - - - Zip64 will not be forced on entries during processing. - - An entry can have this overridden if required - - - - Zip64 should always be used. - - - - - #ZipLib will determine use based on entry values when added to archive. - - - - - The kind of compression used for an entry in an archive - - - - - A direct copy of the file contents is held in the archive - - - - - Common Zip compression method using a sliding dictionary - of up to 32KB and secondary compression from Huffman/Shannon-Fano trees - - - - - An extension to deflate with a 64KB window. Not supported by #Zip currently - - - - - Not supported by #Zip currently - - - - - WinZip special for AES encryption, Not supported by #Zip - - - - - Identifies the encryption algorithm used for an entry - - - - - No encryption has been used. - - - - - Encrypted using PKZIP 2.0 or 'classic' encryption. - - - - - DES encryption has been used. - - - - - RCS encryption has been used for encryption. - - - - - Triple DES encryption with 168 bit keys has been used for this entry. - - - - - Triple DES with 112 bit keys has been used for this entry. - - - - - AES 128 has been used for encryption. - - - - - AES 192 has been used for encryption. - - - - - AES 256 has been used for encryption. - - - - - RC2 corrected has been used for encryption. - - - - - Blowfish has been used for encryption. - - - - - Twofish has been used for encryption. - - - - - RCS has been used for encryption. - - - - - An unknown algorithm has been used for encryption. - - - - - Defines the contents of the general bit flags field for an archive entry. - - - - - Bit 0 if set indicates that the file is encrypted - - - - - Bits 1 and 2 - Two bits defining the compression method (only for Method 6 Imploding and 8,9 Deflating) - - - - - Bit 3 if set indicates a trailing data desciptor is appended to the entry data - - - - - Bit 4 is reserved for use with method 8 for enhanced deflation - - - - - Bit 5 if set indicates the file contains Pkzip compressed patched data. - Requires version 2.7 or greater. - - - - - Bit 6 if set strong encryption has been used for this entry. - - - - - Bit 7 is currently unused - - - - - Bit 8 is currently unused - - - - - Bit 9 is currently unused - - - - - Bit 10 is currently unused - - - - - Bit 11 if set indicates the filename and - comment fields for this file must be encoded using UTF-8. - - - - - Bit 12 is documented as being reserved by PKware for enhanced compression. - - - - - Bit 13 if set indicates that values in the local header are masked to hide - their actual values, and the central directory is encrypted. - - - Used when encrypting the central directory contents. - - - - - Bit 14 is documented as being reserved for use by PKware - - - - - Bit 15 is documented as being reserved for use by PKware - - - - - This class contains constants used for Zip format files - - - - - The version made by field for entries in the central header when created by this library - - - This is also the Zip version for the library when comparing against the version required to extract - for an entry. See . - - - - - The version made by field for entries in the central header when created by this library - - - This is also the Zip version for the library when comparing against the version required to extract - for an entry. See ZipInputStream.CanDecompressEntry. - - - - - The minimum version required to support strong encryption - - - - - The minimum version required to support strong encryption - - - - - The version required for Zip64 extensions - - - - - Size of local entry header (excluding variable length fields at end) - - - - - Size of local entry header (excluding variable length fields at end) - - - - - Size of Zip64 data descriptor - - - - - Size of data descriptor - - - - - Size of data descriptor - - - - - Size of central header entry (excluding variable fields) - - - - - Size of central header entry - - - - - Size of end of central record (excluding variable fields) - - - - - Size of end of central record (excluding variable fields) - - - - - Size of 'classic' cryptographic header stored before any entry data - - - - - Size of cryptographic header stored before entry data - - - - - Signature for local entry header - - - - - Signature for local entry header - - - - - Signature for spanning entry - - - - - Signature for spanning entry - - - - - Signature for temporary spanning entry - - - - - Signature for temporary spanning entry - - - - - Signature for data descriptor - - - This is only used where the length, Crc, or compressed size isnt known when the - entry is created and the output stream doesnt support seeking. - The local entry cannot be 'patched' with the correct values in this case - so the values are recorded after the data prefixed by this header, as well as in the central directory. - - - - - Signature for data descriptor - - - This is only used where the length, Crc, or compressed size isnt known when the - entry is created and the output stream doesnt support seeking. - The local entry cannot be 'patched' with the correct values in this case - so the values are recorded after the data prefixed by this header, as well as in the central directory. - - - - - Signature for central header - - - - - Signature for central header - - - - - Signature for Zip64 central file header - - - - - Signature for Zip64 central file header - - - - - Signature for Zip64 central directory locator - - - - - Signature for archive extra data signature (were headers are encrypted). - - - - - Central header digitial signature - - - - - Central header digitial signature - - - - - End of central directory record signature - - - - - End of central directory record signature - - - - - Convert a portion of a byte array to a string. - - - Data to convert to string - - - Number of bytes to convert starting from index 0 - - - data[0]..data[length - 1] converted to a string - - - - - Convert a byte array to string - - - Byte array to convert - - - dataconverted to a string - - - - - Convert a byte array to string - - The applicable general purpose bits flags - - Byte array to convert - - The number of bytes to convert. - - dataconverted to a string - - - - - Convert a byte array to string - - - Byte array to convert - - The applicable general purpose bits flags - - dataconverted to a string - - - - - Convert a string to a byte array - - - String to convert to an array - - Converted array - - - - Convert a string to a byte array - - The applicable general purpose bits flags - - String to convert to an array - - Converted array - - - - Initialise default instance of ZipConstants - - - Private to prevent instances being created. - - - - - Default encoding used for string conversion. 0 gives the default system OEM code page. - Dont use unicode encodings if you want to be Zip compatible! - Using the default code page isnt the full solution neccessarily - there are many variable factors, codepage 850 is often a good choice for - European users, however be careful about compatability. - - - - - This is a DeflaterOutputStream that writes the files into a zip - archive one after another. It has a special method to start a new - zip entry. The zip entries contains information about the file name - size, compressed size, CRC, etc. - - It includes support for Stored and Deflated entries. - This class is not thread safe. -
-
Author of the original java version : Jochen Hoenicke -
- This sample shows how to create a zip file - - using System; - using System.IO; - - using ICSharpCode.SharpZipLib.Core; - using ICSharpCode.SharpZipLib.Zip; - - class MainClass - { - public static void Main(string[] args) - { - string[] filenames = Directory.GetFiles(args[0]); - byte[] buffer = new byte[4096]; - - using ( ZipOutputStream s = new ZipOutputStream(File.Create(args[1])) ) { - - s.SetLevel(9); // 0 - store only to 9 - means best compression - - foreach (string file in filenames) { - ZipEntry entry = new ZipEntry(file); - s.PutNextEntry(entry); - - using (FileStream fs = File.OpenRead(file)) { - StreamUtils.Copy(fs, s, buffer); - } - } - } - } - } - - -
- - - A special stream deflating or compressing the bytes that are - written to it. It uses a Deflater to perform actual deflating.
- Authors of the original java version : Tom Tromey, Jochen Hoenicke -
-
- - - Creates a new DeflaterOutputStream with a default Deflater and default buffer size. - - - the output stream where deflated output should be written. - - - - - Creates a new DeflaterOutputStream with the given Deflater and - default buffer size. - - - the output stream where deflated output should be written. - - - the underlying deflater. - - - - - Creates a new DeflaterOutputStream with the given Deflater and - buffer size. - - - The output stream where deflated output is written. - - - The underlying deflater to use - - - The buffer size to use when deflating - - - bufsize is less than or equal to zero. - - - baseOutputStream does not support writing - - - deflater instance is null - - - - - Finishes the stream by calling finish() on the deflater. - - - Not all input is deflated - - - - - Encrypt a block of data - - - Data to encrypt. NOTE the original contents of the buffer are lost - - - Offset of first byte in buffer to encrypt - - - Number of bytes in buffer to encrypt - - - - - Initializes encryption keys based on given password - - The password. - - - - Deflates everything in the input buffers. This will call - def.deflate() until all bytes from the input buffers - are processed. - - - - - Sets the current position of this stream to the given value. Not supported by this class! - - The offset relative to the to seek. - The to seek from. - The new position in the stream. - Any access - - - - Sets the length of this stream to the given value. Not supported by this class! - - The new stream length. - Any access - - - - Read a byte from stream advancing position by one - - The byte read cast to an int. THe value is -1 if at the end of the stream. - Any access - - - - Read a block of bytes from stream - - The buffer to store read data in. - The offset to start storing at. - The maximum number of bytes to read. - The actual number of bytes read. Zero if end of stream is detected. - Any access - - - - Asynchronous reads are not supported a NotSupportedException is always thrown - - The buffer to read into. - The offset to start storing data at. - The number of bytes to read - The async callback to use. - The state to use. - Returns an - Any access - - - - Asynchronous writes arent supported, a NotSupportedException is always thrown - - The buffer to write. - The offset to begin writing at. - The number of bytes to write. - The to use. - The state object. - Returns an IAsyncResult. - Any access - - - - Flushes the stream by calling Flush on the deflater and then - on the underlying stream. This ensures that all bytes are flushed. - - - - - Calls and closes the underlying - stream when is true. - - - - - Writes a single byte to the compressed output stream. - - - The byte value. - - - - - Writes bytes from an array to the compressed stream. - - - The byte array - - - The offset into the byte array where to start. - - - The number of bytes to write. - - - - - This buffer is used temporarily to retrieve the bytes from the - deflater and write them to the underlying output stream. - - - - - The deflater which is used to deflate the stream. - - - - - Base stream the deflater depends on. - - - - - Get/set flag indicating ownership of the underlying stream. - When the flag is true will close the underlying stream also. - - - - - Allows client to determine if an entry can be patched after its added - - - - - Get/set the password used for encryption. - - When set to null or if the password is empty no encryption is performed - - - - Gets value indicating stream can be read from - - - - - Gets a value indicating if seeking is supported for this stream - This property always returns false - - - - - Get value indicating if this stream supports writing - - - - - Get current length of stream - - - - - Gets the current position within the stream. - - Any attempt to set position - - - - Creates a new Zip output stream, writing a zip archive. - - - The output stream to which the archive contents are written. - - - - - Set the zip file comment. - - - The comment text for the entire archive. - - - The converted comment is longer than 0xffff bytes. - - - - - Sets the compression level. The new level will be activated - immediately. - - The new compression level (1 to 9). - - Level specified is not supported. - - - - - - Get the current deflater compression level - - The current compression level - - - - Write an unsigned short in little endian byte order. - - - - - Write an int in little endian byte order. - - - - - Write an int in little endian byte order. - - - - - Starts a new Zip entry. It automatically closes the previous - entry if present. - All entry elements bar name are optional, but must be correct if present. - If the compression method is stored and the output is not patchable - the compression for that entry is automatically changed to deflate level 0 - - - the entry. - - - if entry passed is null. - - - if an I/O error occured. - - - if stream was finished - - - Too many entries in the Zip file
- Entry name is too long
- Finish has already been called
-
-
- - - Closes the current entry, updating header and footer information as required - - - An I/O error occurs. - - - No entry is active. - - - - - Writes the given buffer to the current entry. - - The buffer containing data to write. - The offset of the first byte to write. - The number of bytes to write. - Archive size is invalid - No entry is active. - - - - Finishes the stream. This will write the central directory at the - end of the zip file and flush the stream. - - - This is automatically called when the stream is closed. - - - An I/O error occurs. - - - Comment exceeds the maximum length
- Entry name exceeds the maximum length -
-
- - - The entries for the archive. - - - - - Used to track the crc of data added to entries. - - - - - The current entry being added. - - - - - Used to track the size of data for an entry during writing. - - - - - Offset to be recorded for each entry in the central header. - - - - - Comment for the entire archive recorded in central header. - - - - - Flag indicating that header patching is required for the current entry. - - - - - Position to patch crc - - - - - Position to patch size. - - - - - Gets a flag value of true if the central header has been added for this archive; false if it has not been added. - - No further entries can be added once this has been done. - - - - Get / set a value indicating how Zip64 Extension usage is determined when adding entries. - - Older archivers may not understand Zip64 extensions. - If backwards compatability is an issue be careful when adding entries to an archive. - Setting this property to off is workable but less desirable as in those circumstances adding a file - larger then 4GB will fail. - - - - INameTransform defines how file system names are transformed for use with archives. - - - - - Given a file name determine the transformed value. - - The name to transform. - The transformed file name. - - - - Given a directory name determine the transformed value. - - The name to transform. - The transformed directory name - - - - This class contains constants used for deflation. - - - - - Set to true to enable debugging - - - - - Written to Zip file to identify a stored block - - - - - Identifies static tree in Zip file - - - - - Identifies dynamic tree in Zip file - - - - - Header flag indicating a preset dictionary for deflation - - - - - Sets internal buffer sizes for Huffman encoding - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - This class stores the pending output of the Deflater. - - author of the original java version : Jochen Hoenicke - - - - - Construct instance with default buffer size - - - - - PathFilter filters directories and files using a form of regular expressions - by full path name. - See NameFilter for more detail on filtering. - - - - - Initialise a new instance of . - - The filter expression to apply. - - - - Test a name to see if it matches the filter. - - The name to test. - True if the name matches, false otherwise. - - - - ExtendedPathFilter filters based on name, file size, and the last write time of the file. - - Provides an example of how to customise filtering. - - - - Initialise a new instance of ExtendedPathFilter. - - The filter to apply. - The minimum file size to include. - The maximum file size to include. - - - - Initialise a new instance of ExtendedPathFilter. - - The filter to apply. - The minimum to include. - The maximum to include. - - - - Initialise a new instance of ExtendedPathFilter. - - The filter to apply. - The minimum file size to include. - The maximum file size to include. - The minimum to include. - The maximum to include. - - - - Test a filename to see if it matches the filter. - - The filename to test. - True if the filter matches, false otherwise. - - - - Get/set the minimum size for a file that will match this filter. - - - - - Get/set the maximum size for a file that will match this filter. - - - - - Get/set the minimum value that will match for this filter. - - Files with a LastWrite time less than this value are excluded by the filter. - - - - Get/set the maximum value that will match for this filter. - - Files with a LastWrite time greater than this value are excluded by the filter. - - - - NameAndSizeFilter filters based on name and file size. - - A sample showing how filters might be extended. - - - - Initialise a new instance of NameAndSizeFilter. - - The filter to apply. - The minimum file size to include. - The maximum file size to include. - - - - Test a filename to see if it matches the filter. - - The filename to test. - True if the filter matches, false otherwise. - - - - Get/set the minimum size for a file that will match this filter. - - - - - Get/set the maximum size for a file that will match this filter. - - - - - BZip2Exception represents exceptions specific to Bzip2 algorithm - - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initialise a new instance of BZip2Exception. - - - - - Initialise a new instance of BZip2Exception with its message set to message. - - The message describing the error. - - - - Initialise an instance of BZip2Exception - - A message describing the error. - The exception that is the cause of the current exception. - - - - GZipException represents a Gzip specific exception - - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initialise a new instance of GZipException - - - - - Initialise a new instance of GZipException with its message string. - - A that describes the error. - - - - Initialise a new instance of . - - A that describes the error. - The that caused this exception. - - - - Contains the output from the Inflation process. - We need to have a window so that we can refer backwards into the output stream - to repeat stuff.
- Author of the original java version : John Leuner -
-
- - - Write a byte to this output window - - value to write - - if window is full - - - - - Append a byte pattern already in the window itself - - length of pattern to copy - distance from end of window pattern occurs - - If the repeated data overflows the window - - - - - Copy from input manipulator to internal window - - source of data - length of data to copy - the number of bytes copied - - - - Copy dictionary to window - - source dictionary - offset of start in source dictionary - length of dictionary - - If window isnt empty - - - - - Get remaining unfilled space in window - - Number of bytes left in window - - - - Get bytes available for output in window - - Number of bytes filled - - - - Copy contents of window to output - - buffer to copy to - offset to start at - number of bytes to count - The number of bytes copied - - If a window underflow occurs - - - - - Reset by clearing window so GetAvailable returns 0 - - - - - Defines internal values for both compression and decompression - - - - - When multiplied by compression parameter (1-9) gives the block size for compression - 9 gives the best compresssion but uses the most memory. - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Random numbers used to randomise repetitive blocks - - - - - This filter stream is used to compress a stream into a "GZIP" stream. - The "GZIP" format is described in RFC 1952. - - author of the original java version : John Leuner - - This sample shows how to gzip a file - - using System; - using System.IO; - - using ICSharpCode.SharpZipLib.GZip; - using ICSharpCode.SharpZipLib.Core; - - class MainClass - { - public static void Main(string[] args) - { - using (Stream s = new GZipOutputStream(File.Create(args[0] + ".gz"))) - using (FileStream fs = File.OpenRead(args[0])) { - byte[] writeData = new byte[4096]; - Streamutils.Copy(s, fs, writeData); - } - } - } - } - - - - - - CRC-32 value for uncompressed data - - - - - Creates a GzipOutputStream with the default buffer size - - - The stream to read data (to be compressed) from - - - - - Creates a GZipOutputStream with the specified buffer size - - - The stream to read data (to be compressed) from - - - Size of the buffer to use - - - - - Sets the active compression level (1-9). The new level will be activated - immediately. - - The compression level to set. - - Level specified is not supported. - - - - - - Get the current compression level. - - The current compression level. - - - - Write given buffer to output updating crc - - Buffer to write - Offset of first byte in buf to write - Number of bytes to write - - - - Writes remaining compressed output data to the output stream - and closes it. - - - - - Finish compression and write any footer information required to stream - - - - - Arguments used with KeysRequiredEvent - - - - - Initialise a new instance of - - The name of the file for which keys are required. - - - - Initialise a new instance of - - The name of the file for which keys are required. - The current key value. - - - - Get the name of the file for which keys are required. - - - - - Get/set the key value - - - - - The strategy to apply to testing. - - - - - Find the first error only. - - - - - Find all possible errors. - - - - - The operation in progress reported by a during testing. - - TestArchive - - - - Setting up testing. - - - - - Testing an individual entries header - - - - - Testing an individual entries data - - - - - Testing an individual entry has completed. - - - - - Running miscellaneous tests - - - - - Testing is complete - - - - - Status returned returned by during testing. - - TestArchive - - - - Initialise a new instance of - - The this status applies to. - - - - Get the current in progress. - - - - - Get the this status is applicable to. - - - - - Get the current/last entry tested. - - - - - Get the number of errors detected so far. - - - - - Get the number of bytes tested so far for the current entry. - - - - - Get a value indicating wether the last entry test was valid. - - - - - Delegate invoked during testing if supplied indicating current progress and status. - - If the message is non-null an error has occured. If the message is null - the operation as found in status has started. - - - - The possible ways of applying updates to an archive. - - - - - Perform all updates on temporary files ensuring that the original file is saved. - - - - - Update the archive directly, which is faster but less safe. - - - - - This class represents a Zip archive. You can ask for the contained - entries, or get an input stream for a file entry. The entry is - automatically decompressed. - - You can also update the archive adding or deleting entries. - - This class is thread safe for input: You can open input streams for arbitrary - entries in different threads. -
-
Author of the original java version : Jochen Hoenicke -
- - - using System; - using System.Text; - using System.Collections; - using System.IO; - - using ICSharpCode.SharpZipLib.Zip; - - class MainClass - { - static public void Main(string[] args) - { - using (ZipFile zFile = new ZipFile(args[0])) { - Console.WriteLine("Listing of : " + zFile.Name); - Console.WriteLine(""); - Console.WriteLine("Raw Size Size Date Time Name"); - Console.WriteLine("-------- -------- -------- ------ ---------"); - foreach (ZipEntry e in zFile) { - if ( e.IsFile ) { - DateTime d = e.DateTime; - Console.WriteLine("{0, -10}{1, -10}{2} {3} {4}", e.Size, e.CompressedSize, - d.ToString("dd-MM-yy"), d.ToString("HH:mm"), - e.Name); - } - } - } - } - } - - -
- - - Event handler for handling encryption keys. - - - - - Handles getting of encryption keys when required. - - The file for which encryption keys are required. - - - - Opens a Zip file with the given name for reading. - - The name of the file to open. - - An i/o error occurs - - - The file doesn't contain a valid zip archive. - - - - - Opens a Zip file reading the given . - - The to read archive data from. - - An i/o error occurs. - - - The file doesn't contain a valid zip archive. - - - - - Opens a Zip file reading the given . - - The to read archive data from. - - An i/o error occurs - - - The file doesn't contain a valid zip archive.
- The stream provided cannot seek -
-
- - - Initialises a default instance with no entries and no file storage. - - - - - Finalize this instance. - - - - - Closes the ZipFile. If the stream is owned then this also closes the underlying input stream. - Once closed, no further instance methods should be called. - - - An i/o error occurs. - - - - - Create a new whose data will be stored in a file. - - The name of the archive to create. - Returns the newly created - - - - Create a new whose data will be stored on a stream. - - The stream providing data storage. - Returns the newly created - - - - Gets an enumerator for the Zip entries in this Zip file. - - Returns an for this archive. - - The Zip file has been closed. - - - - - Return the index of the entry with a matching name - - Entry name to find - If true the comparison is case insensitive - The index position of the matching entry or -1 if not found - - The Zip file has been closed. - - - - - Searches for a zip entry in this archive with the given name. - String comparisons are case insensitive - - - The name to find. May contain directory components separated by slashes ('/'). - - - A clone of the zip entry, or null if no entry with that name exists. - - - The Zip file has been closed. - - - - - Gets an input stream for reading the given zip entry data in an uncompressed form. - Normally the should be an entry returned by GetEntry(). - - The to obtain a data for - An input containing data for this - - The ZipFile has already been closed - - - The compression method for the entry is unknown - - - The entry is not found in the ZipFile - - - - - Creates an input stream reading a zip entry - - The index of the entry to obtain an input stream for. - - An input containing data for this - - - The ZipFile has already been closed - - - The compression method for the entry is unknown - - - The entry is not found in the ZipFile - - - - - Test an archive for integrity/validity - - Perform low level data Crc check - true if all tests pass, false otherwise - Testing will terminate on the first error found. - - - - Test an archive for integrity/validity - - Perform low level data Crc check - The to apply. - The handler to call during testing. - true if all tests pass, false otherwise - - - - Test a local header against that provided from the central directory - - - The entry to test against - - The type of tests to carry out. - The offset of the entries data in the file - - - - Begin updating this archive. - - The archive storage for use during the update. - The data source to utilise during updating. - - - - Begin updating to this archive. - - The storage to use during the update. - - - - Begin updating this archive. - - - - - - - - Commit current updates, updating this archive. - - - - - - - Abort updating leaving the archive unchanged. - - - - - - - Set the file comment to be recorded when the current update is commited. - - The comment to record. - - - - Add a new entry to the archive. - - The name of the file to add. - The compression method to use. - Ensure Unicode text is used for name and comment for this entry. - - - - Add a new entry to the archive. - - The name of the file to add. - The compression method to use. - - - - Add a file to the archive. - - The name of the file to add. - - - - Add a file entry with data. - - The source of the data for this entry. - The name to give to the entry. - - - - Add a file entry with data. - - The source of the data for this entry. - The name to give to the entry. - The compression method to use. - - - - Add a file entry with data. - - The source of the data for this entry. - The name to give to the entry. - The compression method to use. - Ensure Unicode text is used for name and comments for this entry. - - - - Add a that contains no data. - - The entry to add. - This can be used to add directories, volume labels, or empty file entries. - - - - Add a directory entry to the archive. - - The directory to add. - - - - Delete an entry by name - - The filename to delete - True if the entry was found and deleted; false otherwise. - - - - Delete a from the archive. - - The entry to delete. - - - - Write an unsigned short in little endian byte order. - - - - - Write an int in little endian byte order. - - - - - Write an unsigned int in little endian byte order. - - - - - Write a long in little endian byte order. - - - - - Get a raw memory buffer. - - Returns a raw memory buffer. - - - - Get the size of the source descriptor for a . - - The update to get the size for. - The descriptor size, zero if there isnt one. - - - - Get an output stream for the specified - - The entry to get an output stream for. - The output stream obtained for the entry. - - - - Releases the unmanaged resources used by the this instance and optionally releases the managed resources. - - true to release both managed and unmanaged resources; - false to release only unmanaged resources. - - - - Read an unsigned short in little endian byte order. - - Returns the value read. - - The stream ends prematurely - - - - - Read a uint in little endian byte order. - - Returns the value read. - - An i/o error occurs. - - - The file ends prematurely - - - - - Search for and read the central directory of a zip file filling the entries array. - - - An i/o error occurs. - - - The central directory is malformed or cannot be found - - - - - Locate the data for a given entry. - - - The start offset of the data. - - - The stream ends prematurely - - - The local header signature is invalid, the entry and central header file name lengths are different - or the local and entry compression methods dont match - - - - - Get/set the encryption key value. - - - - - Password to be used for encrypting/decrypting files. - - Set to null if no password is required. - - - - Get a value indicating wether encryption keys are currently available. - - - - - Get/set a flag indicating if the underlying stream is owned by the ZipFile instance. - If the flag is true then the stream will be closed when Close is called. - - - The default value is true in all cases. - - - - - Get a value indicating wether - this archive is embedded in another file or not. - - - - - Get a value indicating that this archive is a new one. - - - - - Gets the comment for the zip file. - - - - - Gets the name of this zip file. - - - - - Gets the number of entries in this zip file. - - - The Zip file has been closed. - - - - - Get the number of entries contained in this . - - - - - Indexer property for ZipEntries - - - - - Get / set the to apply to names when updating. - - - - - Get/set the used to generate values - during updates. - - - - - Get /set the buffer size to be used when updating this zip file. - - - - - Get a value indicating an update has been started. - - - - - Get / set a value indicating how Zip64 Extension usage is determined when adding entries. - - - - - Delegate for handling keys/password setting during compresion/decompression. - - - - - The kind of update to apply. - - - - - Class used to sort updates. - - - - - Compares two objects and returns a value indicating whether one is - less than, equal to or greater than the other. - - First object to compare - Second object to compare. - Compare result. - - - - Represents a pending update to a Zip file. - - - - - Copy an existing entry. - - The existing entry to copy. - - - - Get the for this update. - - This is the source or original entry. - - - - Get the that will be written to the updated/new file. - - - - - Get the command for this update. - - - - - Get the filename if any for this update. Null if none exists. - - - - - Get/set the location of the size patch for this update. - - - - - Get /set the location of the crc patch for this update. - - - - - Represents a string from a which is stored as an array of bytes. - - - - - Initialise a with a string. - - The textual string form. - - - - Initialise a using a string in its binary 'raw' form. - - - - - - Reset the comment to its initial state. - - - - - Implicit conversion of comment to a string. - - The to convert to a string. - The textual equivalent for the input value. - - - - Get a value indicating the original source of data for this instance. - True if the source was a string; false if the source was binary data. - - - - - Get the length of the comment when represented as raw bytes. - - - - - Get the comment in its 'raw' form as plain bytes. - - - - - An enumerator for Zip entries - - - - - An is a stream that you can write uncompressed data - to and flush, but cannot read, seek or do anything else to. - - - - - Close this stream instance. - - - - - Write any buffered data to underlying storage. - - - - - Gets a value indicating whether the current stream supports reading. - - - - - Gets a value indicating whether the current stream supports writing. - - - - - Gets a value indicating whether the current stream supports seeking. - - - - - Get the length in bytes of the stream. - - - - - Gets or sets the position within the current stream. - - - - - A is an - whose data is only a part or subsection of a file. - - - - - This filter stream is used to decompress data compressed using the "deflate" - format. The "deflate" format is described in RFC 1951. - - This stream may form the basis for other decompression filters, such - as the GZipInputStream. - - Author of the original java version : John Leuner. - - - - - Create an InflaterInputStream with the default decompressor - and a default buffer size of 4KB. - - - The InputStream to read bytes from - - - - - Create an InflaterInputStream with the specified decompressor - and a default buffer size of 4KB. - - - The source of input data - - - The decompressor used to decompress data read from baseInputStream - - - - - Create an InflaterInputStream with the specified decompressor - and the specified buffer size. - - - The InputStream to read bytes from - - - The decompressor to use - - - Size of the buffer to use - - - - - Skip specified number of bytes of uncompressed data - - - Number of bytes to skip - - - The number of bytes skipped, zero if the end of - stream has been reached - - - Number of bytes to skip is less than zero - - - - - Clear any cryptographic state. - - - - - Fills the buffer with more data to decompress. - - - Stream ends early - - - - - Flushes the baseInputStream - - - - - Sets the position within the current stream - Always throws a NotSupportedException - - The relative offset to seek to. - The defining where to seek from. - The new position in the stream. - Any access - - - - Set the length of the current stream - Always throws a NotSupportedException - - The new length value for the stream. - Any access - - - - Writes a sequence of bytes to stream and advances the current position - This method always throws a NotSupportedException - - Thew buffer containing data to write. - The offset of the first byte to write. - The number of bytes to write. - Any access - - - - Writes one byte to the current stream and advances the current position - Always throws a NotSupportedException - - The byte to write. - Any access - - - - Entry point to begin an asynchronous write. Always throws a NotSupportedException. - - The buffer to write data from - Offset of first byte to write - The maximum number of bytes to write - The method to be called when the asynchronous write operation is completed - A user-provided object that distinguishes this particular asynchronous write request from other requests - An IAsyncResult that references the asynchronous write - Any access - - - - Closes the input stream. When - is true the underlying stream is also closed. - - - - - Reads decompressed data into the provided buffer byte array - - - The array to read and decompress data into - - - The offset indicating where the data should be placed - - - The number of bytes to decompress - - The number of bytes read. Zero signals the end of stream - - Inflater needs a dictionary - - - - - Decompressor for this stream - - - - - Input buffer for this stream. - - - - - Base stream the inflater reads from. - - - - - The compressed size - - - - - Flag indicating wether this instance has been closed or not. - - - - - Flag indicating wether this instance is designated the stream owner. - When closing if this flag is true the underlying stream is closed. - - - - - Get/set flag indicating ownership of underlying stream. - When the flag is true will close the underlying stream also. - - - The default value is true. - - - - - Returns 0 once the end of the stream (EOF) has been reached. - Otherwise returns 1. - - - - - Gets a value indicating whether the current stream supports reading - - - - - Gets a value of false indicating seeking is not supported for this stream. - - - - - Gets a value of false indicating that this stream is not writeable. - - - - - A value representing the length of the stream in bytes. - - - - - The current position within the stream. - Throws a NotSupportedException when attempting to set the position - - Attempting to set the position - - - - Initialise a new instance of the class. - - The underlying stream to use for IO. - The start of the partial data. - The length of the partial data. - - - - Skip the specified number of input bytes. - - The maximum number of input bytes to skip. - The actuial number of input bytes skipped. - - - - Read a byte from this stream. - - Returns the byte read or -1 on end of stream. - - - - Close this partial input stream. - - - The underlying stream is not closed. Close the parent ZipFile class to do that. - - - - - Provides a static way to obtain a source of data for an entry. - - - - - Get a source of data by creating a new stream. - - Returns a to use for compression input. - Ideally a new stream is created and opened to achieve this, to avoid locking problems. - - - - Represents a source of data that can dynamically provide - multiple data sources based on the parameters passed. - - - - - Get a data source. - - The to get a source for. - The name for data if known. - Returns a to use for compression input. - Ideally a new stream is created and opened to achieve this, to avoid locking problems. - - - - Default implementation of a for use with files stored on disk. - - - - - Initialise a new instnace of - - The name of the file to obtain data from. - - - - Get a providing data. - - Returns a provising data. - - - - Default implementation of for files stored on disk. - - - - - Initialise a default instance of . - - - - - Get a providing data for an entry. - - The entry to provide data for. - The file name for data if known. - Returns a stream providing data; or null if not available - - - - Defines facilities for data storage when updating Zip Archives. - - - - - Get an empty that can be used for temporary output. - - Returns a temporary output - - - - - Convert a temporary output stream to a final stream. - - The resulting final - - - - - Make a temporary copy of the original stream. - - The to copy. - Returns a temporary output that is a copy of the input. - - - - Return a stream suitable for performing direct updates on the original source. - - The current stream. - Returns a stream suitable for direct updating. - This may be the current stream passed. - - - - Dispose of this instance. - - - - - Get the to apply during updates. - - - - - An abstract suitable for extension by inheritance. - - - - - Initializes a new instance of the class. - - The update mode. - - - - Gets a temporary output - - Returns the temporary output stream. - - - - - Converts the temporary to its final form. - - Returns a that can be used to read - the final storage for the archive. - - - - - Make a temporary copy of a . - - The to make a copy of. - Returns a temporary output that is a copy of the input. - - - - Return a stream suitable for performing direct updates on the original source. - - The to open for direct update. - Returns a stream suitable for direct updating. - - - - Disposes this instance. - - - - - Gets the update mode applicable. - - The update mode. - - - - An implementation suitable for hard disks. - - - - - Initializes a new instance of the class. - - The file. - The update mode. - - - - Initializes a new instance of the class. - - The file. - - - - Gets a temporary output for performing updates on. - - Returns the temporary output stream. - - - - Converts a temporary to its final form. - - Returns a that can be used to read - the final storage for the archive. - - - - Make a temporary copy of a stream. - - The to copy. - Returns a temporary output that is a copy of the input. - - - - Return a stream suitable for performing direct updates on the original source. - - The current stream. - Returns a stream suitable for direct updating. - If the stream is not null this is used as is. - - - - Disposes this instance. - - - - - An implementation suitable for in memory streams. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The to use - This constructor is for testing as memory streams dont really require safe mode. - - - - Gets the temporary output - - Returns the temporary output stream. - - - - Converts the temporary to its final form. - - Returns a that can be used to read - the final storage for the archive. - - - - Make a temporary copy of the original stream. - - The to copy. - Returns a temporary output that is a copy of the input. - - - - Return a stream suitable for performing direct updates on the original source. - - The original source stream - Returns a stream suitable for direct updating. - If the passed is not null this is used; - otherwise a new is returned. - - - - Disposes this instance. - - - - - Get the stream returned by if this was in fact called. - - - - - Generate a table for a byte-wise 32-bit CRC calculation on the polynomial: - x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1. - - Polynomials over GF(2) are represented in binary, one bit per coefficient, - with the lowest powers in the most significant bit. Then adding polynomials - is just exclusive-or, and multiplying a polynomial by x is a right shift by - one. If we call the above polynomial p, and represent a byte as the - polynomial q, also with the lowest power in the most significant bit (so the - byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p, - where a mod b means the remainder after dividing a by b. - - This calculation is done using the shift-register method of multiplying and - taking the remainder. The register is initialized to zero, and for each - incoming bit, x^32 is added mod p to the register if the bit is a one (where - x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by - x (which is shifting right by one and adding x^32 mod p if the bit shifted - out is a one). We start with the highest power (least significant bit) of - q and repeat for all eight bits of q. - - The table is simply the CRC of all possible eight bit values. This is all - the information needed to generate CRC's on data a byte at a time for all - combinations of CRC register values and incoming bytes. - - - - - Interface to compute a data checksum used by checked input/output streams. - A data checksum can be updated by one byte or with a byte array. After each - update the value of the current checksum can be returned by calling - getValue. The complete checksum object can also be reset - so it can be used again with new data. - - - - - Resets the data checksum as if no update was ever called. - - - - - Adds one byte to the data checksum. - - - the data value to add. The high byte of the int is ignored. - - - - - Updates the data checksum with the bytes taken from the array. - - - buffer an array of bytes - - - - - Adds the byte array to the data checksum. - - - The buffer which contains the data - - - The offset in the buffer where the data starts - - - the number of data bytes to add. - - - - - Returns the data checksum computed so far. - - - - - The crc data checksum so far. - - - - - Resets the CRC32 data checksum as if no update was ever called. - - - - - Updates the checksum with the int bval. - - - the byte is taken as the lower 8 bits of value - - - - - Updates the checksum with the bytes taken from the array. - - - buffer an array of bytes - - - - - Adds the byte array to the data checksum. - - - The buffer which contains the data - - - The offset in the buffer where the data starts - - - The number of data bytes to update the CRC with. - - - - - Returns the CRC32 data checksum computed so far. - - - - - Basic implementation of - - - - - Defines factory methods for creating new values. - - - - - Create a for a file given its name - - The name of the file to create an entry for. - Returns a file entry based on the passed. - - - - Create a for a file given its name - - The name of the file to create an entry for. - If true get details from the file system if the file exists. - Returns a file entry based on the passed. - - - - Create a for a directory given its name - - The name of the directory to create an entry for. - Returns a directory entry based on the passed. - - - - Create a for a directory given its name - - The name of the directory to create an entry for. - If true get details from the file system for this directory if it exists. - Returns a directory entry based on the passed. - - - - Get/set the applicable. - - - - - Initialise a new instance of the class. - - A default , and the LastWriteTime for files is used. - - - - Initialise a new instance of using the specified - - The time setting to use when creating Zip entries. - - - - Initialise a new instance of using the specified - - The time to set all values to. - - - - Make a new for a file. - - The name of the file to create a new entry for. - Returns a new based on the . - - - - Make a new from a name. - - The name of the file to create a new entry for. - If true entry detail is retrieved from the file system if the file exists. - Returns a new based on the . - - - - Make a new for a directory. - - The raw untransformed name for the new directory - Returns a new representing a directory. - - - - Make a new for a directory. - - The raw untransformed name for the new directory - If true entry detail is retrieved from the file system if the file exists. - Returns a new representing a directory. - - - - Get / set the to be used when creating new values. - - - Setting this property to null will cause a default name transform to be used. - - - - - Get / set the in use. - - - - - Get / set the value to use when is set to - - - - - A bitmask defining the attributes to be retrieved from the actual file. - - The default is to get all possible attributes from the actual file. - - - - A bitmask defining which attributes are to be set on. - - By default no attributes are set on. - - - - Get set a value indicating wether unidoce text should be set on. - - - - - Defines the possible values to be used for the . - - - - - Use the recorded LastWriteTime value for the file. - - - - - Use the recorded LastWriteTimeUtc value for the file - - - - - Use the recorded CreateTime value for the file. - - - - - Use the recorded CreateTimeUtc value for the file. - - - - - Use the recorded LastAccessTime value for the file. - - - - - Use the recorded LastAccessTimeUtc value for the file. - - - - - Use a fixed value. - - The actual value used can be - specified via the constructor or - using the with the setting set - to which will use the when this class was constructed. - The property can also be used to set this value. - - - - PkzipClassic embodies the classic or original encryption facilities used in Pkzip archives. - While it has been superceded by more recent and more powerful algorithms, its still in use and - is viable for preventing casual snooping - - - - - Generates new encryption keys based on given seed - - The seed value to initialise keys with. - A new key value. - - - - PkzipClassicCryptoBase provides the low level facilities for encryption - and decryption using the PkzipClassic algorithm. - - - - - Transform a single byte - - - The transformed value - - - - - Set the key schedule for encryption/decryption. - - The data use to set the keys from. - - - - Update encryption keys - - - - - Reset the internal state. - - - - - PkzipClassic CryptoTransform for encryption. - - - - - Initialise a new instance of - - The key block to use. - - - - Transforms the specified region of the specified byte array. - - The input for which to compute the transform. - The offset into the byte array from which to begin using data. - The number of bytes in the byte array to use as data. - The computed transform. - - - - Transforms the specified region of the input byte array and copies - the resulting transform to the specified region of the output byte array. - - The input for which to compute the transform. - The offset into the input byte array from which to begin using data. - The number of bytes in the input byte array to use as data. - The output to which to write the transform. - The offset into the output byte array from which to begin writing data. - The number of bytes written. - - - - Cleanup internal state. - - - - - Gets a value indicating whether the current transform can be reused. - - - - - Gets the size of the input data blocks in bytes. - - - - - Gets the size of the output data blocks in bytes. - - - - - Gets a value indicating whether multiple blocks can be transformed. - - - - - PkzipClassic CryptoTransform for decryption. - - - - - Initialise a new instance of . - - The key block to decrypt with. - - - - Transforms the specified region of the specified byte array. - - The input for which to compute the transform. - The offset into the byte array from which to begin using data. - The number of bytes in the byte array to use as data. - The computed transform. - - - - Transforms the specified region of the input byte array and copies - the resulting transform to the specified region of the output byte array. - - The input for which to compute the transform. - The offset into the input byte array from which to begin using data. - The number of bytes in the input byte array to use as data. - The output to which to write the transform. - The offset into the output byte array from which to begin writing data. - The number of bytes written. - - - - Cleanup internal state. - - - - - Gets a value indicating whether the current transform can be reused. - - - - - Gets the size of the input data blocks in bytes. - - - - - Gets the size of the output data blocks in bytes. - - - - - Gets a value indicating whether multiple blocks can be transformed. - - - - - Defines a wrapper object to access the Pkzip algorithm. - This class cannot be inherited. - - - - - Generate an initial vector. - - - - - Generate a new random key. - - - - - Create an encryptor. - - The key to use for this encryptor. - Initialisation vector for the new encryptor. - Returns a new PkzipClassic encryptor - - - - Create a decryptor. - - Keys to use for this new decryptor. - Initialisation vector for the new decryptor. - Returns a new decryptor. - - - - Get / set the applicable block size in bits. - - The only valid block size is 8. - - - - Get an array of legal key sizes. - - - - - Get an array of legal block sizes. - - - - - Get / set the key value applicable. - - - - - This class represents an entry in a Tar archive. It consists - of the entry's header, as well as the entry's File. Entries - can be instantiated in one of three ways, depending on how - they are to be used. -

- TarEntries that are created from the header bytes read from - an archive are instantiated with the TarEntry( byte[] ) - constructor. These entries will be used when extracting from - or listing the contents of an archive. These entries have their - header filled in using the header bytes. They also set the File - to null, since they reference an archive entry not a file.

-

- TarEntries that are created from files that are to be written - into an archive are instantiated with the CreateEntryFromFile(string) - pseudo constructor. These entries have their header filled in using - the File's information. They also keep a reference to the File - for convenience when writing entries.

-

- Finally, TarEntries can be constructed from nothing but a name. - This allows the programmer to construct the entry by hand, for - instance when only an InputStream is available for writing to - the archive, and the header information is constructed from - other information. In this case the header fields are set to - defaults and the File is set to null.

- -
-
- - - Initialise a default instance of . - - - - - Construct an entry from an archive's header bytes. File is set - to null. - - - The header bytes from a tar archive entry. - - - - - Construct a TarEntry using the header provided - - Header details for entry - - - - Clone this tar entry. - - Returns a clone of this entry. - - - - Construct an entry with only a name. - This allows the programmer to construct the entry's header "by hand". - - The name to use for the entry - Returns the newly created - - - - Construct an entry for a file. File is set to file, and the - header is constructed from information from the file. - - The file name that the entry represents. - Returns the newly created - - - - Determine if the two entries are equal. Equality is determined - by the header names being equal. - - The to compare with the current Object. - - True if the entries are equal; false if not. - - - - - Derive a Hash value for the current - - A Hash code for the current - - - - Determine if the given entry is a descendant of this entry. - Descendancy is determined by the name of the descendant - starting with this entry's name. - - - Entry to be checked as a descendent of this. - - - True if entry is a descendant of this. - - - - - Convenience method to set this entry's group and user ids. - - - This entry's new user id. - - - This entry's new group id. - - - - - Convenience method to set this entry's group and user names. - - - This entry's new user name. - - - This entry's new group name. - - - - - Fill in a TarHeader with information from a File. - - - The TarHeader to fill in. - - - The file from which to get the header information. - - - - - Get entries for all files present in this entries directory. - If this entry doesnt represent a directory zero entries are returned. - - - An array of TarEntry's for this entry's children. - - - - - Write an entry's header information to a header buffer. - - - The tar entry header buffer to fill in. - - - - - Convenience method that will modify an entry's name directly - in place in an entry header buffer byte array. - - - The buffer containing the entry header to modify. - - - The new name to place into the header buffer. - - - - - Fill in a TarHeader given only the entry's name. - - - The TarHeader to fill in. - - - The tar entry name. - - - - - The name of the file this entry represents or null if the entry is not based on a file. - - - - - The entry's header information. - - - - - Get this entry's header. - - - This entry's TarHeader. - - - - - Get/Set this entry's name. - - - - - Get/set this entry's user id. - - - - - Get/set this entry's group id. - - - - - Get/set this entry's user name. - - - - - Get/set this entry's group name. - - - - - Get/Set the modification time for this entry - - - - - Get this entry's file. - - - This entry's file. - - - - - Get/set this entry's recorded file size. - - - - - Return true if this entry represents a directory, false otherwise - - - True if this entry is a directory. - - - - - This filter stream is used to decompress a "GZIP" format stream. - The "GZIP" format is described baseInputStream RFC 1952. - - author of the original java version : John Leuner - - This sample shows how to unzip a gzipped file - - using System; - using System.IO; - - using ICSharpCode.SharpZipLib.Core; - using ICSharpCode.SharpZipLib.GZip; - - class MainClass - { - public static void Main(string[] args) - { - using (Stream inStream = new GZipInputStream(File.OpenRead(args[0]))) - using (FileStream outStream = File.Create(Path.GetFileNameWithoutExtension(args[0]))) { - byte[] buffer = new byte[4096]; - StreamUtils.Copy(inStream, outStream, buffer); - } - } - } - - - - - - CRC-32 value for uncompressed data - - - - - Indicates end of stream - - - - - Creates a GZipInputStream with the default buffer size - - - The stream to read compressed data from (baseInputStream GZIP format) - - - - - Creates a GZIPInputStream with the specified buffer size - - - The stream to read compressed data from (baseInputStream GZIP format) - - - Size of the buffer to use - - - - - Reads uncompressed data into an array of bytes - - - The buffer to read uncompressed data into - - - The offset indicating where the data should be placed - - - The number of uncompressed bytes to be read - - Returns the number of bytes actually read. - - - - Provides simple " utilities. - - - - - Read from a ensuring all the required data is read. - - The stream to read. - The buffer to fill. - - - - Read from a " ensuring all the required data is read. - - The stream to read data from. - The buffer to store data in. - The offset at which to begin storing data. - The number of bytes of data to store. - - - - Copy the contents of one to another. - - The stream to source data from. - The stream to write data to. - The buffer to use during copying. - The progress handler delegate to use. - The minimum between progress updates. - The source for this event. - The name to use with the event. - - - - Copy the contents of one to another. - - The stream to source data from. - The stream to write data to. - The buffer to use during copying. - - - - Initialise an instance of - - - - - This is the DeflaterHuffman class. - - This class is not thread safe. This is inherent in the API, due - to the split of Deflate and SetInput. - - author of the original java version : Jochen Hoenicke - - - - - Pending buffer to use - - - - - Construct instance with pending buffer - - Pending buffer to use - - - - Reset internal state - - - - - Write all trees to pending buffer - - The number/rank of treecodes to send. - - - - Compress current buffer writing data to pending buffer - - - - - Flush block to output with no compression - - Data to write - Index of first byte to write - Count of bytes to write - True if this is the last block - - - - Flush block to output with compression - - Data to flush - Index of first byte to flush - Count of bytes to flush - True if this is the last block - - - - Get value indicating if internal buffer is full - - true if buffer is full - - - - Add literal to buffer - - Literal value to add to buffer. - Value indicating internal buffer is full - - - - Add distance code and length to literal and distance trees - - Distance code - Length - Value indicating if internal buffer is full - - - - Reverse the bits of a 16 bit value. - - Value to reverse bits - Value with bits reversed - - - - Resets the internal state of the tree - - - - - Check that all frequencies are zero - - - At least one frequency is non-zero - - - - - Set static codes and length - - new codes - length for new codes - - - - Build dynamic codes and lengths - - - - - Get encoded length - - Encoded length, the sum of frequencies * lengths - - - - Scan a literal or distance tree to determine the frequencies of the codes - in the bit length tree. - - - - - Write tree values - - Tree to write - - - - This class contains constants used for gzip. - - - - - Magic number found at start of GZIP header - - - - - Flag bit mask for text - - - - - Flag bitmask for Crc - - - - - Flag bit mask for extra - - - - - flag bitmask for name - - - - - flag bit mask indicating comment is present - - - - - Initialise default instance. - - Constructor is private to prevent instances being created. - - - - TarExceptions are used for exceptions specific to tar classes and code. - - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initialises a new instance of the TarException class. - - - - - Initialises a new instance of the TarException class with a specified message. - - The message that describes the error. - - - - - - A message describing the error. - The exception that is the cause of the current exception. - - - - Bzip2 checksum algorithm - - - - - Initialise a default instance of - - - - - Reset the state of Crc. - - - - - Update the Crc value. - - data update is based on - - - - Update Crc based on a block of data - - The buffer containing data to update the crc with. - - - - Update Crc based on a portion of a block of data - - block of data - index of first byte to use - number of bytes to use - - - - Get the current Crc value. - - - - - This is an InflaterInputStream that reads the files baseInputStream an zip archive - one after another. It has a special method to get the zip entry of - the next file. The zip entry contains information about the file name - size, compressed size, Crc, etc. - It includes support for Stored and Deflated entries. -
-
Author of the original java version : Jochen Hoenicke -
- - This sample shows how to read a zip file - - using System; - using System.Text; - using System.IO; - - using ICSharpCode.SharpZipLib.Zip; - - class MainClass - { - public static void Main(string[] args) - { - using ( ZipInputStream s = new ZipInputStream(File.OpenRead(args[0]))) { - - ZipEntry theEntry; - while ((theEntry = s.GetNextEntry()) != null) { - int size = 2048; - byte[] data = new byte[2048]; - - Console.Write("Show contents (y/n) ?"); - if (Console.ReadLine() == "y") { - while (true) { - size = s.Read(data, 0, data.Length); - if (size > 0) { - Console.Write(new ASCIIEncoding().GetString(data, 0, size)); - } else { - break; - } - } - } - } - } - } - } - - -
- - - The current reader this instance. - - - - - Creates a new Zip input stream, for reading a zip archive. - - The underlying providing data. - - - - Advances to the next entry in the archive - - - The next entry in the archive or null if there are no more entries. - - - If the previous entry is still open CloseEntry is called. - - - Input stream is closed - - - Password is not set, password is invalid, compression method is invalid, - version required to extract is not supported - - - - - Read data descriptor at the end of compressed data. - - - - - Complete cleanup as the final part of closing. - - True if the crc value should be tested - - - - Closes the current zip entry and moves to the next one. - - - The stream is closed - - - The Zip stream ends early - - - - - Reads a byte from the current zip entry. - - - The byte or -1 if end of stream is reached. - - - - - Handle attempts to read by throwing an . - - The destination array to store data in. - The offset at which data read should be stored. - The maximum number of bytes to read. - Returns the number of bytes actually read. - - - - Handle attempts to read from this entry by throwing an exception - - - - - Perform the initial read on an entry which may include - reading encryption headers and setting up inflation. - - The destination to fill with data read. - The offset to start reading at. - The maximum number of bytes to read. - The actual number of bytes read. - - - - Read a block of bytes from the stream. - - The destination for the bytes. - The index to start storing data. - The number of bytes to attempt to read. - Returns the number of bytes read. - Zero bytes read means end of stream. - - - - Reads a block of bytes from the current zip entry. - - - The number of bytes read (this may be less than the length requested, even before the end of stream), or 0 on end of stream. - - - An i/o error occured. - - - The deflated stream is corrupted. - - - The stream is not open. - - - - - Closes the zip input stream - - - - - Optional password used for encryption when non-null - - A password for all encrypted entries in this - - - - Gets a value indicating if there is a current entry and it can be decompressed - - - The entry can only be decompressed if the library supports the zip features required to extract it. - See the ZipEntry Version property for more details. - - - - - Returns 1 if there is an entry available - Otherwise returns 0. - - - - - Returns the current size that can be read from the current entry if available - - Thrown if the entry size is not known. - Thrown if no entry is currently available. - - - - ZipNameTransform transforms names as per the Zip file naming convention. - - The use of absolute names is supported although its use is not valid - according to Zip naming conventions, and should not be used if maximum compatability is desired. - - - - Initialize a new instance of - - - - - Initialize a new instance of - - The string to trim from front of paths if found. - - - - Static constructor. - - - - - Transform a directory name according to the Zip file naming conventions. - - The directory name to transform. - The transformed name. - - - - Transform a windows file name according to the Zip file naming conventions. - - The file name to transform. - The transformed name. - - - - Force a name to be valid by replacing invalid characters with a fixed value - - The name to force valid - The replacement character to use. - Returns a valid name - - - - Test a name to see if it is a valid name for a zip entry. - - The name to test. - If true checking is relaxed about windows file names and absolute paths. - Returns true if the name is a valid zip name; false otherwise. - Zip path names are actually in Unix format, and should only contain relative paths. - This means that any path stored should not contain a drive or - device letter, or a leading slash. All slashes should forward slashes '/'. - An empty name is valid for a file where the input comes from standard input. - A null name is not considered valid. - - - - - Test a name to see if it is a valid name for a zip entry. - - The name to test. - Returns true if the name is a valid zip name; false otherwise. - Zip path names are actually in unix format, - and should only contain relative paths if a path is present. - This means that the path stored should not contain a drive or - device letter, or a leading slash. All slashes should forward slashes '/'. - An empty name is valid where the input comes from standard input. - A null name is not considered valid. - - - - - Get/set the path prefix to be trimmed from paths if present. - - The prefix is trimmed before any conversion from - a windows path is done. - - - - This exception is used to indicate that there is a problem - with a TAR archive header. - - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initialise a new instance of the InvalidHeaderException class. - - - - - Initialises a new instance of the InvalidHeaderException class with a specified message. - - Message describing the exception cause. - - - - Initialise a new instance of InvalidHeaderException - - Message describing the problem. - The exception that is the cause of the current exception. - - - - This class allows us to retrieve a specified number of bits from - the input buffer, as well as copy big byte blocks. - - It uses an int buffer to store up to 31 bits for direct - manipulation. This guarantees that we can get at least 16 bits, - but we only need at most 15, so this is all safe. - - There are some optimizations in this class, for example, you must - never peek more than 8 bits more than needed, and you must first - peek bits before you may drop them. This is not a general purpose - class but optimized for the behaviour of the Inflater. - - authors of the original java version : John Leuner, Jochen Hoenicke - - - - - Constructs a default StreamManipulator with all buffers empty - - - - - Get the next sequence of bits but don't increase input pointer. bitCount must be - less or equal 16 and if this call succeeds, you must drop - at least n - 8 bits in the next call. - - The number of bits to peek. - - the value of the bits, or -1 if not enough bits available. */ - - - - - Drops the next n bits from the input. You should have called PeekBits - with a bigger or equal n before, to make sure that enough bits are in - the bit buffer. - - The number of bits to drop. - - - - Gets the next n bits and increases input pointer. This is equivalent - to followed by , except for correct error handling. - - The number of bits to retrieve. - - the value of the bits, or -1 if not enough bits available. - - - - - Skips to the next byte boundary. - - - - - Copies bytes from input buffer to output buffer starting - at output[offset]. You have to make sure, that the buffer is - byte aligned. If not enough bytes are available, copies fewer - bytes. - - - The buffer to copy bytes to. - - - The offset in the buffer at which copying starts - - - The length to copy, 0 is allowed. - - - The number of bytes copied, 0 if no bytes were available. - - - Length is less than zero - - - Bit buffer isnt byte aligned - - - - - Resets state and empties internal buffers - - - - - Add more input for consumption. - Only call when IsNeedingInput returns true - - data to be input - offset of first byte of input - number of bytes of input to add. - - - - Gets the number of bits available in the bit buffer. This must be - only called when a previous PeekBits() returned -1. - - - the number of bits available. - - - - - Gets the number of bytes available. - - - The number of bytes available. - - - - - Returns true when SetInput can be called - - - - - Strategies for deflater - - - - - The default strategy - - - - - This strategy will only allow longer string repetitions. It is - useful for random data with a small character set. - - - - - This strategy will not look for string repetitions at all. It - only encodes with Huffman trees (which means, that more common - characters get a smaller encoding. - - - - - Low level compression engine for deflate algorithm which uses a 32K sliding window - with secondary compression from Huffman/Shannon-Fano codes. - - - - - Construct instance with pending buffer - - - Pending buffer to use - > - - - - Deflate drives actual compression of data - - True to flush input buffers - Finish deflation with the current input. - Returns true if progress has been made. - - - - Sets input data to be deflated. Should only be called when NeedsInput() - returns true - - The buffer containing input data. - The offset of the first byte of data. - The number of bytes of data to use as input. - - - - Determines if more input is needed. - - Return true if input is needed via SetInput - - - - Set compression dictionary - - The buffer containing the dictionary data - The offset in the buffer for the first byte of data - The length of the dictionary data. - - - - Reset internal state - - - - - Reset Adler checksum - - - - - Set the deflate level (0-9) - - The value to set the level to. - - - - Fill the window - - - - - Inserts the current string in the head hash and returns the previous - value for this hash. - - The previous hash value - - - - Find the best (longest) string in the window matching the - string starting at strstart. - - Preconditions: - - strstart + MAX_MATCH <= window.length. - - - True if a match greater than the minimum length is found - - - - Hashtable, hashing three characters to an index for window, so - that window[index]..window[index+2] have this hash code. - Note that the array should really be unsigned short, so you need - to and the values with 0xffff. - - - - - prev[index & WMASK] points to the previous index that has the - same hash code as the string starting at index. This way - entries with the same hash code are in a linked list. - Note that the array should really be unsigned short, so you need - to and the values with 0xffff. - - - - - Points to the current character in the window. - - - - - lookahead is the number of characters starting at strstart in - window that are valid. - So window[strstart] until window[strstart+lookahead-1] are valid - characters. - - - - - This array contains the part of the uncompressed stream that - is of relevance. The current character is indexed by strstart. - - - - - The current compression function. - - - - - The input data for compression. - - - - - The total bytes of input read. - - - - - The offset into inputBuf, where input data starts. - - - - - The end offset of the input data. - - - - - The adler checksum - - - - - Get current value of Adler checksum - - - - - Total data processed - - - - - Get/set the deflate strategy - - - - - The TarBuffer class implements the tar archive concept - of a buffered input stream. This concept goes back to the - days of blocked tape drives and special io devices. In the - C# universe, the only real function that this class - performs is to ensure that files have the correct "record" - size, or other tars will complain. -

- You should never have a need to access this class directly. - TarBuffers are created by Tar IO Streams. -

-
-
- - - The size of a block in a tar archive in bytes. - - This is 512 bytes. - - - - The number of blocks in a default record. - - - The default value is 20 blocks per record. - - - - - The size in bytes of a default record. - - - The default size is 10KB. - - - - - Get the TAR Buffer's record size. - - The record size in bytes. - This is equal to the multiplied by the - - - - Get the TAR Buffer's block factor - - The block factor; the number of blocks per record. - - - - Construct a default TarBuffer - - - - - Create TarBuffer for reading with default BlockFactor - - Stream to buffer - A new suitable for input. - - - - Construct TarBuffer for reading inputStream setting BlockFactor - - Stream to buffer - Blocking factor to apply - A new suitable for input. - - - - Construct TarBuffer for writing with default BlockFactor - - output stream for buffer - A new suitable for output. - - - - Construct TarBuffer for writing Tar output to streams. - - Output stream to write to. - Blocking factor to apply - A new suitable for output. - - - - Initialization common to all constructors. - - - - - Determine if an archive block indicates End of Archive. End of - archive is indicated by a block that consists entirely of null bytes. - All remaining blocks for the record should also be null's - However some older tars only do a couple of null blocks (Old GNU tar for one) - and also partial records - - The data block to check. - Returns true if the block is an EOF block; false otherwise. - - - - Skip over a block on the input stream. - - - - - Read a block from the input stream. - - - The block of data read. - - - - - Read a record from data stream. - - - false if End-Of-File, else true. - - - - - Get the current block number, within the current record, zero based. - - - The current zero based block number. - - - The absolute block number = (record number * block factor) + block number. - - - - - Get the current record number. - - - The current zero based record number. - - - - - Write a block of data to the archive. - - - The data to write to the archive. - - - - - Write an archive record to the archive, where the record may be - inside of a larger array buffer. The buffer must be "offset plus - record size" long. - - - The buffer containing the record data to write. - - - The offset of the record data within buffer. - - - - - Write a TarBuffer record to the archive. - - - - - Flush the current record if it has any data in it. - - - - - Close the TarBuffer. If this is an output buffer, also flush the - current block before closing. - - - - - Get the record size for this buffer - - The record size in bytes. - This is equal to the multiplied by the - - - - Get the Blocking factor for the buffer - - This is the number of block in each record. - - - - Get the current block number, within the current record, zero based. - - - - - Get the current record number. - - - The current zero based record number. - - - - - This class encapsulates the Tar Entry Header used in Tar Archives. - The class also holds a number of tar constants, used mostly in headers. - - - - - The length of the name field in a header buffer. - - - - - The length of the mode field in a header buffer. - - - - - The length of the user id field in a header buffer. - - - - - The length of the group id field in a header buffer. - - - - - The length of the checksum field in a header buffer. - - - - - Offset of checksum in a header buffer. - - - - - The length of the size field in a header buffer. - - - - - The length of the magic field in a header buffer. - - - - - The length of the version field in a header buffer. - - - - - The length of the modification time field in a header buffer. - - - - - The length of the user name field in a header buffer. - - - - - The length of the group name field in a header buffer. - - - - - The length of the devices field in a header buffer. - - - - - The "old way" of indicating a normal file. - - - - - Normal file type. - - - - - Link file type. - - - - - Symbolic link file type. - - - - - Character device file type. - - - - - Block device file type. - - - - - Directory file type. - - - - - FIFO (pipe) file type. - - - - - Contiguous file type. - - - - - Posix.1 2001 global extended header - - - - - Posix.1 2001 extended header - - - - - Solaris access control list file type - - - - - GNU dir dump file type - This is a dir entry that contains the names of files that were in the - dir at the time the dump was made - - - - - Solaris Extended Attribute File - - - - - Inode (metadata only) no file content - - - - - Identifies the next file on the tape as having a long link name - - - - - Identifies the next file on the tape as having a long name - - - - - Continuation of a file that began on another volume - - - - - For storing filenames that dont fit in the main header (old GNU) - - - - - GNU Sparse file - - - - - GNU Tape/volume header ignore on extraction - - - - - The magic tag representing a POSIX tar archive. (includes trailing NULL) - - - - - The magic tag representing an old GNU tar archive where version is included in magic and overwrites it - - - - - Initialise a default TarHeader instance - - - - - Get the name of this entry. - - The entry's name. - - - - Create a new that is a copy of the current instance. - - A new that is a copy of the current instance. - - - - Parse TarHeader information from a header buffer. - - - The tar entry header buffer to get information from. - - - - - 'Write' header information to buffer provided, updating the check sum. - - output buffer for header information - - - - Get a hash code for the current object. - - A hash code for the current object. - - - - Determines if this instance is equal to the specified object. - - The object to compare with. - true if the objects are equal, false otherwise. - - - - Set defaults for values used when constructing a TarHeader instance. - - Value to apply as a default for userId. - Value to apply as a default for userName. - Value to apply as a default for groupId. - Value to apply as a default for groupName. - - - - Parse an octal string from a header buffer. - - The header buffer from which to parse. - The offset into the buffer from which to parse. - The number of header bytes to parse. - The long equivalent of the octal string. - - - - Parse a name from a header buffer. - - - The header buffer from which to parse. - - - The offset into the buffer from which to parse. - - - The number of header bytes to parse. - - - The name parsed. - - - - - Add name to the buffer as a collection of bytes - - The name to add - The offset of the first character - The buffer to add to - The index of the first byte to add - The number of characters/bytes to add - The next free index in the buffer - - - - Add name to the buffer as a collection of bytes - - The name to add - The offset of the first character - The buffer to add to - The index of the first byte to add - The number of characters/bytes to add - The next free index in the buffer - - - - Add an entry name to the buffer - - - The name to add - - - The buffer to add to - - - The offset into the buffer from which to start adding - - - The number of header bytes to add - - - The index of the next free byte in the buffer - - - - - Add an entry name to the buffer - - The name to add - The buffer to add to - The offset into the buffer from which to start adding - The number of header bytes to add - The index of the next free byte in the buffer - - - - Add a string to a buffer as a collection of ascii bytes. - - The string to add - The offset of the first character to add. - The buffer to add to. - The offset to start adding at. - The number of ascii characters to add. - The next free index in the buffer. - - - - Put an octal representation of a value into a buffer - - - the value to be converted to octal - - - buffer to store the octal string - - - The offset into the buffer where the value starts - - - The length of the octal string to create - - - The offset of the character next byte after the octal string - - - - - Put an octal representation of a value into a buffer - - Value to be convert to octal - The buffer to update - The offset into the buffer to store the value - The length of the octal string - Index of next byte - - - - Add the checksum integer to header buffer. - - - The header buffer to set the checksum for - The offset into the buffer for the checksum - The number of header bytes to update. - It's formatted differently from the other fields: it has 6 digits, a - null, then a space -- rather than digits, a space, then a null. - The final space is already there, from checksumming - - The modified buffer offset - - - - Compute the checksum for a tar entry header. - The checksum field must be all spaces prior to this happening - - The tar entry's header buffer. - The computed checksum. - - - - Make a checksum for a tar entry ignoring the checksum contents. - - The tar entry's header buffer. - The checksum for the buffer - - - - Get/set the name for this tar entry. - - Thrown when attempting to set the property to null. - - - - Get/set the entry's Unix style permission mode. - - - - - The entry's user id. - - - This is only directly relevant to unix systems. - The default is zero. - - - - - Get/set the entry's group id. - - - This is only directly relevant to linux/unix systems. - The default value is zero. - - - - - Get/set the entry's size. - - Thrown when setting the size to less than zero. - - - - Get/set the entry's modification time. - - - The modification time is only accurate to within a second. - - Thrown when setting the date time to less than 1/1/1970. - - - - Get the entry's checksum. This is only valid/updated after writing or reading an entry. - - - - - Get value of true if the header checksum is valid, false otherwise. - - - - - Get/set the entry's type flag. - - - - - The entry's link name. - - Thrown when attempting to set LinkName to null. - - - - Get/set the entry's magic tag. - - Thrown when attempting to set Magic to null. - - - - The entry's version. - - Thrown when attempting to set Version to null. - - - - The entry's user name. - - - - - Get/set the entry's group name. - - - This is only directly relevant to unix systems. - - - - - Get/set the entry's major device number. - - - - - Get/set the entry's minor device number. - - - - - Event arguments for scanning. - - - - - Initialise a new instance of - - The file or directory name. - - - - The fie or directory name for this event. - - - - - Get set a value indicating if scanning should continue or not. - - - - - Event arguments during processing of a single file or directory. - - - - - Initialise a new instance of - - The file or directory name if known. - The number of bytes processed so far - The total number of bytes to process, 0 if not known - - - - The name for this event if known. - - - - - Get set a value indicating wether scanning should continue or not. - - - - - Get a percentage representing how much of the has been processed - - 0.0 to 100.0 percent; 0 if target is not known. - - - - The number of bytes processed so far - - - - - The number of bytes to process. - - Target may be 0 or negative if the value isnt known. - - - - Event arguments for directories. - - - - - Initialize an instance of . - - The name for this directory. - Flag value indicating if any matching files are contained in this directory. - - - - Get a value indicating if the directory contains any matching files or not. - - - - - Arguments passed when scan failures are detected. - - - - - Initialise a new instance of - - The name to apply. - The exception to use. - - - - The applicable name. - - - - - The applicable exception. - - - - - Get / set a value indicating wether scanning should continue. - - - - - Delegate invoked before starting to process a directory. - - - - - Delegate invoked before starting to process a file. - - The source of the event - The event arguments. - - - - Delegate invoked during processing of a file or directory - - The source of the event - The event arguments. - - - - Delegate invoked when a file has been completely processed. - - The source of the event - The event arguments. - - - - Delegate invoked when a directory failure is detected. - - The source of the event - The event arguments. - - - - Delegate invoked when a file failure is detected. - - The source of the event - The event arguments. - - - - FileSystemScanner provides facilities scanning of files and directories. - - - - - Initialise a new instance of - - The file filter to apply when scanning. - - - - Initialise a new instance of - - The file filter to apply. - The directory filter to apply. - - - - Initialise a new instance of - - The file filter to apply. - - - - Initialise a new instance of - - The file filter to apply. - The directory filter to apply. - - - - Delegate to invoke when a directory is processed. - - - - - Delegate to invoke when a file is processed. - - - - - Delegate to invoke when processing for a file has finished. - - - - - Delegate to invoke when a directory failure is detected. - - - - - Delegate to invoke when a file failure is detected. - - - - - Raise the DirectoryFailure event. - - The directory name. - The exception detected. - - - - Raise the FileFailure event. - - The file name. - The exception detected. - - - - Raise the ProcessFile event. - - The file name. - - - - Raise the complete file event - - The file name - - - - Raise the ProcessDirectory event. - - The directory name. - Flag indicating if the directory has matching files. - - - - Scan a directory. - - The base directory to scan. - True to recurse subdirectories, false to scan a single directory. - - - - The file filter currently in use. - - - - - The directory filter currently in use. - - - - - Flag indicating if scanning should continue running. - - - - - An input buffer customised for use by - - - The buffer supports decryption of incoming data. - - - - - Initialise a new instance of with a default buffer size - - The stream to buffer. - - - - Initialise a new instance of - - The stream to buffer. - The size to use for the buffer - A minimum buffer size of 1KB is permitted. Lower sizes are treated as 1KB. - - - - Call passing the current clear text buffer contents. - - The inflater to set input for. - - - - Fill the buffer from the underlying input stream. - - - - - Read a buffer directly from the input stream - - The buffer to fill - Returns the number of bytes read. - - - - Read a buffer directly from the input stream - - The buffer to read into - The offset to start reading data into. - The number of bytes to read. - Returns the number of bytes read. - - - - Read clear text data from the input stream. - - The buffer to add data to. - The offset to start adding data at. - The number of bytes to read. - Returns the number of bytes actually read. - - - - Read a from the input stream. - - Returns the byte read. - - - - Read an in little endian byte order. - - The short value read case to an int. - - - - Read an in little endian byte order. - - The int value read. - - - - Read a in little endian byte order. - - The long value read. - - - - Get the length of bytes bytes in the - - - - - Get the contents of the raw data buffer. - - This may contain encrypted data. - - - - Get the number of useable bytes in - - - - - Get the contents of the clear text buffer. - - - - - Get/set the number of bytes available - - - - - Get/set the to apply to any data. - - Set this value to null to have no transform applied. - - - - The TarOutputStream writes a UNIX tar archive as an OutputStream. - Methods are provided to put entries, and then write their contents - by writing to this stream using write(). - - public - - - - Construct TarOutputStream using default block factor - - stream to write to - - - - Construct TarOutputStream with user specified block factor - - stream to write to - blocking factor - - - - set the position within the current stream - - The offset relative to the to seek to - The to seek from. - The new position in the stream. - - - - Set the length of the current stream - - The new stream length. - - - - Read a byte from the stream and advance the position within the stream - by one byte or returns -1 if at the end of the stream. - - The byte value or -1 if at end of stream - - - - read bytes from the current stream and advance the position within the - stream by the number of bytes read. - - The buffer to store read bytes in. - The index into the buffer to being storing bytes at. - The desired number of bytes to read. - The total number of bytes read, or zero if at the end of the stream. - The number of bytes may be less than the count - requested if data is not avialable. - - - - All buffered data is written to destination - - - - - Ends the TAR archive without closing the underlying OutputStream. - The result is that the EOF block of nulls is written. - - - - - Ends the TAR archive and closes the underlying OutputStream. - - This means that Finish() is called followed by calling the - TarBuffer's Close(). - - - - Get the record size being used by this stream's TarBuffer. - - - The TarBuffer record size. - - - - - Put an entry on the output stream. This writes the entry's - header and positions the output stream for writing - the contents of the entry. Once this method is called, the - stream is ready for calls to write() to write the entry's - contents. Once the contents are written, closeEntry() - MUST be called to ensure that all buffered data - is completely written to the output stream. - - - The TarEntry to be written to the archive. - - - - - Close an entry. This method MUST be called for all file - entries that contain data. The reason is that we must - buffer data written to the stream in order to satisfy - the buffer's block based writes. Thus, there may be - data fragments still being assembled that must be written - to the output stream before this entry is closed and the - next entry written. - - - - - Writes a byte to the current tar archive entry. - This method simply calls Write(byte[], int, int). - - - The byte to be written. - - - - - Writes bytes to the current tar archive entry. This method - is aware of the current entry and will throw an exception if - you attempt to write bytes past the length specified for the - current entry. The method is also (painfully) aware of the - record buffering required by TarBuffer, and manages buffers - that are not a multiple of recordsize in length, including - assembling records from small buffers. - - - The buffer to write to the archive. - - - The offset in the buffer from which to get bytes. - - - The number of bytes to write. - - - - - Write an EOF (end of archive) block to the tar archive. - An EOF block consists of all zeros. - - - - - bytes written for this entry so far - - - - - current 'Assembly' buffer length - - - - - Flag indicating wether this instance has been closed or not. - - - - - Size for the current entry - - - - - single block working buffer - - - - - 'Assembly' buffer used to assemble data before writing - - - - - TarBuffer used to provide correct blocking factor - - - - - the destination stream for the archive contents - - - - - true if the stream supports reading; otherwise, false. - - - - - true if the stream supports seeking; otherwise, false. - - - - - true if stream supports writing; otherwise, false. - - - - - length of stream in bytes - - - - - gets or sets the position within the current stream. - - - - - Get the record size being used by this stream's TarBuffer. - - - - - Get a value indicating wether an entry is open, requiring more data to be written. - - - - - This is the Deflater class. The deflater class compresses input - with the deflate algorithm described in RFC 1951. It has several - compression levels and three different strategies described below. - - This class is not thread safe. This is inherent in the API, due - to the split of deflate and setInput. - - author of the original java version : Jochen Hoenicke - - - - - The best and slowest compression level. This tries to find very - long and distant string repetitions. - - - - - The worst but fastest compression level. - - - - - The default compression level. - - - - - This level won't compress at all but output uncompressed blocks. - - - - - The compression method. This is the only method supported so far. - There is no need to use this constant at all. - - - - - Creates a new deflater with default compression level. - - - - - Creates a new deflater with given compression level. - - - the compression level, a value between NO_COMPRESSION - and BEST_COMPRESSION, or DEFAULT_COMPRESSION. - - if lvl is out of range. - - - - Creates a new deflater with given compression level. - - - the compression level, a value between NO_COMPRESSION - and BEST_COMPRESSION. - - - true, if we should suppress the Zlib/RFC1950 header at the - beginning and the adler checksum at the end of the output. This is - useful for the GZIP/PKZIP formats. - - if lvl is out of range. - - - - Resets the deflater. The deflater acts afterwards as if it was - just created with the same compression level and strategy as it - had before. - - - - - Flushes the current input block. Further calls to deflate() will - produce enough output to inflate everything in the current input - block. This is not part of Sun's JDK so I have made it package - private. It is used by DeflaterOutputStream to implement - flush(). - - - - - Finishes the deflater with the current input block. It is an error - to give more input after this method was called. This method must - be called to force all bytes to be flushed. - - - - - Sets the data which should be compressed next. This should be only - called when needsInput indicates that more input is needed. - If you call setInput when needsInput() returns false, the - previous input that is still pending will be thrown away. - The given byte array should not be changed, before needsInput() returns - true again. - This call is equivalent to setInput(input, 0, input.length). - - - the buffer containing the input data. - - - if the buffer was finished() or ended(). - - - - - Sets the data which should be compressed next. This should be - only called when needsInput indicates that more input is needed. - The given byte array should not be changed, before needsInput() returns - true again. - - - the buffer containing the input data. - - - the start of the data. - - - the number of data bytes of input. - - - if the buffer was Finish()ed or if previous input is still pending. - - - - - Sets the compression level. There is no guarantee of the exact - position of the change, but if you call this when needsInput is - true the change of compression level will occur somewhere near - before the end of the so far given input. - - - the new compression level. - - - - - Get current compression level - - Returns the current compression level - - - - Sets the compression strategy. Strategy is one of - DEFAULT_STRATEGY, HUFFMAN_ONLY and FILTERED. For the exact - position where the strategy is changed, the same as for - SetLevel() applies. - - - The new compression strategy. - - - - - Deflates the current input block with to the given array. - - - The buffer where compressed data is stored - - - The number of compressed bytes added to the output, or 0 if either - IsNeedingInput() or IsFinished returns true or length is zero. - - - - - Deflates the current input block to the given array. - - - Buffer to store the compressed data. - - - Offset into the output array. - - - The maximum number of bytes that may be stored. - - - The number of compressed bytes added to the output, or 0 if either - needsInput() or finished() returns true or length is zero. - - - If Finish() was previously called. - - - If offset or length don't match the array length. - - - - - Sets the dictionary which should be used in the deflate process. - This call is equivalent to setDictionary(dict, 0, dict.Length). - - - the dictionary. - - - if SetInput () or Deflate () were already called or another dictionary was already set. - - - - - Sets the dictionary which should be used in the deflate process. - The dictionary is a byte array containing strings that are - likely to occur in the data which should be compressed. The - dictionary is not stored in the compressed output, only a - checksum. To decompress the output you need to supply the same - dictionary again. - - - The dictionary data - - - The index where dictionary information commences. - - - The number of bytes in the dictionary. - - - If SetInput () or Deflate() were already called or another dictionary was already set. - - - - - Compression level. - - - - - If true no Zlib/RFC1950 headers or footers are generated - - - - - The current state. - - - - - The total bytes of output written. - - - - - The pending output. - - - - - The deflater engine. - - - - - Gets the current adler checksum of the data that was processed so far. - - - - - Gets the number of input bytes processed so far. - - - - - Gets the number of output bytes so far. - - - - - Returns true if the stream was finished and no more output bytes - are available. - - - - - Returns true, if the input buffer is empty. - You should then call setInput(). - NOTE: This method can also return true when the stream - was finished. - - - - - The TarInputStream reads a UNIX tar archive as an InputStream. - methods are provided to position at each successive entry in - the archive, and the read each entry as a normal input stream - using read(). - - - - - Construct a TarInputStream with default block factor - - stream to source data from - - - - Construct a TarInputStream with user specified block factor - - stream to source data from - block factor to apply to archive - - - - Flushes the baseInputStream - - - - - Set the streams position. This operation is not supported and will throw a NotSupportedException - - The offset relative to the origin to seek to. - The to start seeking from. - The new position in the stream. - Any access - - - - Sets the length of the stream - This operation is not supported and will throw a NotSupportedException - - The new stream length. - Any access - - - - Writes a block of bytes to this stream using data from a buffer. - This operation is not supported and will throw a NotSupportedException - - The buffer containing bytes to write. - The offset in the buffer of the frist byte to write. - The number of bytes to write. - Any access - - - - Writes a byte to the current position in the file stream. - This operation is not supported and will throw a NotSupportedException - - The byte value to write. - Any access - - - - Reads a byte from the current tar archive entry. - - A byte cast to an int; -1 if the at the end of the stream. - - - - Reads bytes from the current tar archive entry. - - This method is aware of the boundaries of the current - entry in the archive and will deal with them appropriately - - - The buffer into which to place bytes read. - - - The offset at which to place bytes read. - - - The number of bytes to read. - - - The number of bytes read, or 0 at end of stream/EOF. - - - - - Closes this stream. Calls the TarBuffer's close() method. - The underlying stream is closed by the TarBuffer. - - - - - Set the entry factory for this instance. - - The factory for creating new entries - - - - Get the record size being used by this stream's TarBuffer. - - - TarBuffer record size. - - - - - Skip bytes in the input buffer. This skips bytes in the - current entry's data, not the entire archive, and will - stop at the end of the current entry's data if the number - to skip extends beyond that point. - - - The number of bytes to skip. - - - - - Since we do not support marking just yet, we do nothing. - - - The limit to mark. - - - - - Since we do not support marking just yet, we do nothing. - - - - - Get the next entry in this tar archive. This will skip - over any remaining data in the current entry, if there - is one, and place the input stream at the header of the - next entry, and read the header and instantiate a new - TarEntry from the header bytes and return that entry. - If there are no more entries in the archive, null will - be returned to indicate that the end of the archive has - been reached. - - - The next TarEntry in the archive, or null. - - - - - Copies the contents of the current tar archive entry directly into - an output stream. - - - The OutputStream into which to write the entry's data. - - - - - Flag set when last block has been read - - - - - Size of this entry as recorded in header - - - - - Number of bytes read for this entry so far - - - - - Buffer used with calls to Read() - - - - - Working buffer - - - - - Current entry being read - - - - - Factory used to create TarEntry or descendant class instance - - - - - Stream used as the source of input data. - - - - - Gets a value indicating whether the current stream supports reading - - - - - Gets a value indicating whether the current stream supports seeking - This property always returns false. - - - - - Gets a value indicating if the stream supports writing. - This property always returns false. - - - - - The length in bytes of the stream - - - - - Gets or sets the position within the stream. - Setting the Position is not supported and throws a NotSupportedExceptionNotSupportedException - - Any attempt to set position - - - - Get the record size being used by this stream's TarBuffer. - - - - - Get the available data that can be read from the current - entry in the archive. This does not indicate how much data - is left in the entire archive, only in the current entry. - This value is determined from the entry's size header field - and the amount of data already read from the current entry. - - - The number of available bytes for the current entry. - - - - - Return a value of true if marking is supported; false otherwise. - - Currently marking is not supported, the return value is always false. - - - - This interface is provided, along with the method , to allow - the programmer to have their own subclass instantiated for the - entries return from . - - - - - Create an entry based on name alone - - - Name of the new EntryPointNotFoundException to create - - created TarEntry or descendant class - - - - Create an instance based on an actual file - - - Name of file to represent in the entry - - - Created TarEntry or descendant class - - - - - Create a tar entry based on the header information passed - - - Buffer containing header information to base entry on - - - Created TarEntry or descendant class - - - - - Standard entry factory class creating instances of the class TarEntry - - - - - Create a based on named - - The name to use for the entry - A new - - - - Create a tar entry with details obtained from file - - The name of the file to retrieve details from. - A new - - - - Create an entry based on details in header - - The buffer containing entry details. - A new - - - - Defines known values for the property. - - - - - Host system = MSDOS - - - - - Host system = Amiga - - - - - Host system = Open VMS - - - - - Host system = Unix - - - - - Host system = VMCms - - - - - Host system = Atari ST - - - - - Host system = OS2 - - - - - Host system = Macintosh - - - - - Host system = ZSystem - - - - - Host system = Cpm - - - - - Host system = Windows NT - - - - - Host system = MVS - - - - - Host system = VSE - - - - - Host system = Acorn RISC - - - - - Host system = VFAT - - - - - Host system = Alternate MVS - - - - - Host system = BEOS - - - - - Host system = Tandem - - - - - Host system = OS400 - - - - - Host system = OSX - - - - - Host system = WinZIP AES - - - - - This class represents an entry in a zip archive. This can be a file - or a directory - ZipFile and ZipInputStream will give you instances of this class as - information about the members in an archive. ZipOutputStream - uses an instance of this class when creating an entry in a Zip file. -
-
Author of the original java version : Jochen Hoenicke -
-
- - - Creates a zip entry with the given name. - - - The name for this entry. Can include directory components. - The convention for names is 'unix' style paths with relative names only. - There are with no device names and path elements are separated by '/' characters. - - - The name passed is null - - - - - Creates a zip entry with the given name and version required to extract - - - The name for this entry. Can include directory components. - The convention for names is 'unix' style paths with no device names and - path elements separated by '/' characters. This is not enforced see CleanName - on how to ensure names are valid if this is desired. - - - The minimum 'feature version' required this entry - - - The name passed is null - - - - - Initializes an entry with the given name and made by information - - Name for this entry - Version and HostSystem Information - Minimum required zip feature version required to extract this entry - Compression method for this entry. - - The name passed is null - - - versionRequiredToExtract should be 0 (auto-calculate) or > 10 - - - This constructor is used by the ZipFile class when reading from the central header - It is not generally useful, use the constructor specifying the name only. - - - - - Creates a deep copy of the given zip entry. - - - The entry to copy. - - - - - Test the external attributes for this to - see if the external attributes are Dos based (including WINNT and variants) - and match the values - - The attributes to test. - Returns true if the external attributes are known to be DOS/Windows - based and have the same attributes set as the value passed. - - - - Force this entry to be recorded using Zip64 extensions. - - - - - Get a value indicating wether Zip64 extensions were forced. - - A value of true if Zip64 extensions have been forced on; false if not. - - - - Process extra data fields updating the entry based on the contents. - - True if the extra data fields should be handled - for a local header, rather than for a central header. - - - - - Test entry to see if data can be extracted. - - Returns true if data can be extracted for this entry; false otherwise. - - - - Creates a copy of this zip entry. - - An that is a copy of the current instance. - - - - Gets a string representation of this ZipEntry. - - A readable textual representation of this - - - - Test a compression method to see if this library - supports extracting data compressed with that method - - The compression method to test. - Returns true if the compression method is supported; false otherwise - - - - Cleans a name making it conform to Zip file conventions. - Devices names ('c:\') and UNC share names ('\\server\share') are removed - and forward slashes ('\') are converted to back slashes ('/'). - Names are made relative by trimming leading slashes which is compatible - with the ZIP naming convention. - - The name to clean - The 'cleaned' name. - - The Zip name transform class is more flexible. - - - - - Get a value indicating wether the entry has a CRC value available. - - - - - Get/Set flag indicating if entry is encrypted. - A simple helper routine to aid interpretation of flags - - This is an assistant that interprets the flags property. - - - - Get / set a flag indicating wether entry name and comment text are - encoded in unicode UTF8. - - This is an assistant that interprets the flags property. - - - - Value used during password checking for PKZIP 2.0 / 'classic' encryption. - - - - - Get/Set general purpose bit flag for entry - - - General purpose bit flag
-
- Bit 0: If set, indicates the file is encrypted
- Bit 1-2 Only used for compression type 6 Imploding, and 8, 9 deflating
- Imploding:
- Bit 1 if set indicates an 8K sliding dictionary was used. If clear a 4k dictionary was used
- Bit 2 if set indicates 3 Shannon-Fanno trees were used to encode the sliding dictionary, 2 otherwise
-
- Deflating:
- Bit 2 Bit 1
- 0 0 Normal compression was used
- 0 1 Maximum compression was used
- 1 0 Fast compression was used
- 1 1 Super fast compression was used
-
- Bit 3: If set, the fields crc-32, compressed size - and uncompressed size are were not able to be written during zip file creation - The correct values are held in a data descriptor immediately following the compressed data.
- Bit 4: Reserved for use by PKZIP for enhanced deflating
- Bit 5: If set indicates the file contains compressed patch data
- Bit 6: If set indicates strong encryption was used.
- Bit 7-10: Unused or reserved
- Bit 11: If set the name and comments for this entry are in unicode.
- Bit 12-15: Unused or reserved
-
- - -
- - - Get/Set index of this entry in Zip file - - This is only valid when the entry is part of a - - - - Get/set offset for use in central header - - - - - Get/Set external file attributes as an integer. - The values of this are operating system dependant see - HostSystem for details - - - - - Get the version made by for this entry or zero if unknown. - The value / 10 indicates the major version number, and - the value mod 10 is the minor version number - - - - - Get a value indicating this entry is for a DOS/Windows system. - - - - - Gets the compatability information for the external file attribute - If the external file attributes are compatible with MS-DOS and can be read - by PKZIP for DOS version 2.04g then this value will be zero. Otherwise the value - will be non-zero and identify the host system on which the attributes are compatible. - - - - The values for this as defined in the Zip File format and by others are shown below. The values are somewhat - misleading in some cases as they are not all used as shown. You should consult the relevant documentation - to obtain up to date and correct information. The modified appnote by the infozip group is - particularly helpful as it documents a lot of peculiarities. The document is however a little dated. - - 0 - MS-DOS and OS/2 (FAT / VFAT / FAT32 file systems) - 1 - Amiga - 2 - OpenVMS - 3 - Unix - 4 - VM/CMS - 5 - Atari ST - 6 - OS/2 HPFS - 7 - Macintosh - 8 - Z-System - 9 - CP/M - 10 - Windows NTFS - 11 - MVS (OS/390 - Z/OS) - 12 - VSE - 13 - Acorn Risc - 14 - VFAT - 15 - Alternate MVS - 16 - BeOS - 17 - Tandem - 18 - OS/400 - 19 - OS/X (Darwin) - 99 - WinZip AES - remainder - unused - - - - - - Get minimum Zip feature version required to extract this entry - - - Minimum features are defined as:
- 1.0 - Default value
- 1.1 - File is a volume label
- 2.0 - File is a folder/directory
- 2.0 - File is compressed using Deflate compression
- 2.0 - File is encrypted using traditional encryption
- 2.1 - File is compressed using Deflate64
- 2.5 - File is compressed using PKWARE DCL Implode
- 2.7 - File is a patch data set
- 4.5 - File uses Zip64 format extensions
- 4.6 - File is compressed using BZIP2 compression
- 5.0 - File is encrypted using DES
- 5.0 - File is encrypted using 3DES
- 5.0 - File is encrypted using original RC2 encryption
- 5.0 - File is encrypted using RC4 encryption
- 5.1 - File is encrypted using AES encryption
- 5.1 - File is encrypted using corrected RC2 encryption
- 5.1 - File is encrypted using corrected RC2-64 encryption
- 6.1 - File is encrypted using non-OAEP key wrapping
- 6.2 - Central directory encryption (not confirmed yet)
- 6.3 - File is compressed using LZMA
- 6.3 - File is compressed using PPMD+
- 6.3 - File is encrypted using Blowfish
- 6.3 - File is encrypted using Twofish
-
- -
- - - Get a value indicating wether this entry can be decompressed by the library. - - This is based on the and - wether the compression method is supported. - - - - Gets a value indicating if the entry requires Zip64 extensions - to store the full entry values. - - A value of true if a local header requires Zip64 extensions; false if not. - - - - Get a value indicating wether the central directory entry requires Zip64 extensions to be stored. - - - - - Get/Set DosTime value. - - - The MS-DOS date format can only represent dates between 1/1/1980 and 12/31/2107. - - - - - Gets/Sets the time of last modification of the entry. - - - The property is updated to match this as far as possible. - - - - - Returns the entry name. - - - The unix naming convention is followed. - Path components in the entry should always separated by forward slashes ('/'). - Dos device names like C: should also be removed. - See the class, or - - - - - Gets/Sets the size of the uncompressed data. - - - The size or -1 if unknown. - - Setting the size before adding an entry to an archive can help - avoid compatability problems with some archivers which dont understand Zip64 extensions. - - - - Gets/Sets the size of the compressed data. - - - The compressed entry size or -1 if unknown. - - - - - Gets/Sets the crc of the uncompressed data. - - - Crc is not in the range 0..0xffffffffL - - - The crc value or -1 if unknown. - - - - - Gets/Sets the compression method. Only Deflated and Stored are supported. - - - The compression method for this entry - - - - - - - Gets/Sets the extra data. - - - Extra data is longer than 64KB (0xffff) bytes. - - - Extra data or null if not set. - - - - - Gets/Sets the entry comment. - - - If comment is longer than 0xffff. - - - The comment or null if not set. - - - A comment is only available for entries when read via the class. - The class doesnt have the comment data available. - - - - - Gets a value indicating if the entry is a directory. - however. - - - A directory is determined by an entry name with a trailing slash '/'. - The external file attributes can also indicate an entry is for a directory. - Currently only dos/windows attributes are tested in this manner. - The trailing slash convention should always be followed. - - - - - Get a value of true if the entry appears to be a file; false otherwise - - - This only takes account of DOS/Windows attributes. Other operating systems are ignored. - For linux and others the result may be incorrect. - - - - - ExtraData tagged value interface. - - - - - Set the contents of this instance from the data passed. - - The data to extract contents from. - The offset to begin extracting data from. - The number of bytes to extract. - - - - Get the data representing this instance. - - Returns the data for this instance. - - - - Get the ID for this tagged data value. - - - - - A raw binary tagged value - - - - - Initialise a new instance. - - The tag ID. - - - - Set the data from the raw values provided. - - The raw data to extract values from. - The index to start extracting values from. - The number of bytes available. - - - - Get the binary data representing this instance. - - The raw binary data representing this instance. - - - - The tag ID for this instance. - - - - - Get the ID for this tagged data value. - - - - - Get /set the binary data representing this instance. - - The raw binary data representing this instance. - - - - Class representing extended unix date time values. - - - - - Set the data from the raw values provided. - - The raw data to extract values from. - The index to start extracting values from. - The number of bytes available. - - - - Get the binary data representing this instance. - - The raw binary data representing this instance. - - - - Test a value to see if is valid and can be represented here. - - The value to test. - Returns true if the value is valid and can be represented; false if not. - The standard Unix time is a signed integer data type, directly encoding the Unix time number, - which is the number of seconds since 1970-01-01. - Being 32 bits means the values here cover a range of about 136 years. - The minimum representable time is 1901-12-13 20:45:52, - and the maximum representable time is 2038-01-19 03:14:07. - - - - - Get the ID - - - - - Get /set the Modification Time - - - - - - - Get / set the Access Time - - - - - - - Get / Set the Create Time - - - - - - - Get/set the values to include. - - - - - Flags indicate which values are included in this instance. - - - - - The modification time is included - - - - - The access time is included - - - - - The create time is included. - - - - - Class handling NT date time values. - - - - - Set the data from the raw values provided. - - The raw data to extract values from. - The index to start extracting values from. - The number of bytes available. - - - - Get the binary data representing this instance. - - The raw binary data representing this instance. - - - - Test a valuie to see if is valid and can be represented here. - - The value to test. - Returns true if the value is valid and can be represented; false if not. - - NTFS filetimes are 64-bit unsigned integers, stored in Intel - (least significant byte first) byte order. They determine the - number of 1.0E-07 seconds (1/10th microseconds!) past WinNT "epoch", - which is "01-Jan-1601 00:00:00 UTC". 28 May 60056 is the upper limit - - - - - Get the ID for this tagged data value. - - - - - Get/set the last modification time. - - - - - Get /set the create time - - - - - Get /set the last access time. - - - - - A factory that creates tagged data instances. - - - - - Get data for a specific tag value. - - The tag ID to find. - The data to search. - The offset to begin extracting data from. - The number of bytes to extract. - The located value found, or null if not found. - - - - - A class to handle the extra data field for Zip entries - - - Extra data contains 0 or more values each prefixed by a header tag and length. - They contain zero or more bytes of actual data. - The data is held internally using a copy on write strategy. This is more efficient but - means that for extra data created by passing in data can have the values modified by the caller - in some circumstances. - - - - - Initialise a default instance. - - - - - Initialise with known extra data. - - The extra data. - - - - Get the raw extra data value - - Returns the raw byte[] extra data this instance represents. - - - - Clear the stored data. - - - - - Get a read-only for the associated tag. - - The tag to locate data for. - Returns a containing tag data or null if no tag was found. - - - - Get the tagged data for a tag. - - The tag to search for. - Returns a tagged value or null if none found. - - - - Find an extra data value - - The identifier for the value to find. - Returns true if the value was found; false otherwise. - - - - Add a new entry to extra data. - - The value to add. - - - - Add a new entry to extra data - - The ID for this entry. - The data to add. - If the ID already exists its contents are replaced. - - - - Start adding a new entry. - - Add data using , , , or . - The new entry is completed and actually added by calling - - - - - Add entry data added since using the ID passed. - - The identifier to use for this entry. - - - - Add a byte of data to the pending new entry. - - The byte to add. - - - - - Add data to a pending new entry. - - The data to add. - - - - - Add a short value in little endian order to the pending new entry. - - The data to add. - - - - - Add an integer value in little endian order to the pending new entry. - - The data to add. - - - - - Add a long value in little endian order to the pending new entry. - - The data to add. - - - - - Delete an extra data field. - - The identifier of the field to delete. - Returns true if the field was found and deleted. - - - - Read a long in little endian form from the last found data value - - Returns the long value read. - - - - Read an integer in little endian form from the last found data value. - - Returns the integer read. - - - - Read a short value in little endian form from the last found data value. - - Returns the short value read. - - - - Read a byte from an extra data - - The byte value read or -1 if the end of data has been reached. - - - - Skip data during reading. - - The number of bytes to skip. - - - - Internal form of that reads data at any location. - - Returns the short value read. - - - - Dispose of this instance. - - - - - Gets the current extra data length. - - - - - Get the length of the last value found by - - This is only value if has previsouly returned true. - - - - Get the index for the current read value. - - This is only valid if has previously returned true. - Initially it will be the index of the first byte of actual data. The value is updated after calls to - , and . - - - - Get the number of bytes remaining to be read for the current value; - - - - - Holds data pertinent to a data descriptor. - - - - - Get /set the compressed size of data. - - - - - Get / set the uncompressed size of data - - - - - Get /set the crc value. - - - - - This class assists with writing/reading from Zip files. - - - - - Initialise an instance of this class. - - The name of the file to open. - - - - Initialise a new instance of . - - The stream to use. - - - - Close the stream. - - - The underlying stream is closed only if is true. - - - - - Locates a block with the desired . - - The signature to find. - Location, marking the end of block. - Minimum size of the block. - The maximum variable data. - Eeturns the offset of the first byte after the signature; -1 if not found - - - - Write Zip64 end of central directory records (File header and locator). - - The number of entries in the central directory. - The size of entries in the central directory. - The offset of the dentral directory. - - - - Write the required records to end the central directory. - - The number of entries in the directory. - The size of the entries in the directory. - The start of the central directory. - The archive comment. (This can be null). - - - - Read an unsigned short in little endian byte order. - - Returns the value read. - - An i/o error occurs. - - - The file ends prematurely - - - - - Read an int in little endian byte order. - - Returns the value read. - - An i/o error occurs. - - - The file ends prematurely - - - - - Read a long in little endian byte order. - - The value read. - - - - Write an unsigned short in little endian byte order. - - The value to write. - - - - Write a ushort in little endian byte order. - - The value to write. - - - - Write an int in little endian byte order. - - The value to write. - - - - Write a uint in little endian byte order. - - The value to write. - - - - Write a long in little endian byte order. - - The value to write. - - - - Write a ulong in little endian byte order. - - The value to write. - - - - Write a data descriptor. - - The entry to write a descriptor for. - Returns the number of descriptor bytes written. - - - - Read data descriptor at the end of compressed data. - - if set to true [zip64]. - The data to fill in. - Returns the number of bytes read in the descriptor. - - - - Get / set a value indicating wether the the underlying stream is owned or not. - - If the stream is owned it is closed when this instance is closed. - - - - Inflater is used to decompress data that has been compressed according - to the "deflate" standard described in rfc1951. - - By default Zlib (rfc1950) headers and footers are expected in the input. - You can use constructor public Inflater(bool noHeader) passing true - if there is no Zlib header information - - The usage is as following. First you have to set some input with - SetInput(), then Inflate() it. If inflate doesn't - inflate any bytes there may be three reasons: -
    -
  • IsNeedingInput() returns true because the input buffer is empty. - You have to provide more input with SetInput(). - NOTE: IsNeedingInput() also returns true when, the stream is finished. -
  • -
  • IsNeedingDictionary() returns true, you have to provide a preset - dictionary with SetDictionary().
  • -
  • IsFinished returns true, the inflater has finished.
  • -
- Once the first output byte is produced, a dictionary will not be - needed at a later stage. - - author of the original java version : John Leuner, Jochen Hoenicke -
-
- - - These are the possible states for an inflater - - - - - Copy lengths for literal codes 257..285 - - - - - Extra bits for literal codes 257..285 - - - - - Copy offsets for distance codes 0..29 - - - - - Extra bits for distance codes - - - - - This variable contains the current state. - - - - - The adler checksum of the dictionary or of the decompressed - stream, as it is written in the header resp. footer of the - compressed stream. - Only valid if mode is DECODE_DICT or DECODE_CHKSUM. - - - - - The number of bits needed to complete the current state. This - is valid, if mode is DECODE_DICT, DECODE_CHKSUM, - DECODE_HUFFMAN_LENBITS or DECODE_HUFFMAN_DISTBITS. - - - - - True, if the last block flag was set in the last block of the - inflated stream. This means that the stream ends after the - current block. - - - - - The total number of inflated bytes. - - - - - The total number of bytes set with setInput(). This is not the - value returned by the TotalIn property, since this also includes the - unprocessed input. - - - - - This variable stores the noHeader flag that was given to the constructor. - True means, that the inflated stream doesn't contain a Zlib header or - footer. - - - - - Creates a new inflater or RFC1951 decompressor - RFC1950/Zlib headers and footers will be expected in the input data - - - - - Creates a new inflater. - - - True if no RFC1950/Zlib header and footer fields are expected in the input data - - This is used for GZIPed/Zipped input. - - For compatibility with - Sun JDK you should provide one byte of input more than needed in - this case. - - - - - Resets the inflater so that a new stream can be decompressed. All - pending input and output will be discarded. - - - - - Decodes a zlib/RFC1950 header. - - - False if more input is needed. - - - The header is invalid. - - - - - Decodes the dictionary checksum after the deflate header. - - - False if more input is needed. - - - - - Decodes the huffman encoded symbols in the input stream. - - - false if more input is needed, true if output window is - full or the current block ends. - - - if deflated stream is invalid. - - - - - Decodes the adler checksum after the deflate stream. - - - false if more input is needed. - - - If checksum doesn't match. - - - - - Decodes the deflated stream. - - - false if more input is needed, or if finished. - - - if deflated stream is invalid. - - - - - Sets the preset dictionary. This should only be called, if - needsDictionary() returns true and it should set the same - dictionary, that was used for deflating. The getAdler() - function returns the checksum of the dictionary needed. - - - The dictionary. - - - - - Sets the preset dictionary. This should only be called, if - needsDictionary() returns true and it should set the same - dictionary, that was used for deflating. The getAdler() - function returns the checksum of the dictionary needed. - - - The dictionary. - - - The index into buffer where the dictionary starts. - - - The number of bytes in the dictionary. - - - No dictionary is needed. - - - The adler checksum for the buffer is invalid - - - - - Sets the input. This should only be called, if needsInput() - returns true. - - - the input. - - - - - Sets the input. This should only be called, if needsInput() - returns true. - - - The source of input data - - - The index into buffer where the input starts. - - - The number of bytes of input to use. - - - No input is needed. - - - The index and/or count are wrong. - - - - - Inflates the compressed stream to the output buffer. If this - returns 0, you should check, whether IsNeedingDictionary(), - IsNeedingInput() or IsFinished() returns true, to determine why no - further output is produced. - - - the output buffer. - - - The number of bytes written to the buffer, 0 if no further - output can be produced. - - - if buffer has length 0. - - - if deflated stream is invalid. - - - - - Inflates the compressed stream to the output buffer. If this - returns 0, you should check, whether needsDictionary(), - needsInput() or finished() returns true, to determine why no - further output is produced. - - - the output buffer. - - - the offset in buffer where storing starts. - - - the maximum number of bytes to output. - - - the number of bytes written to the buffer, 0 if no further output can be produced. - - - if count is less than 0. - - - if the index and / or count are wrong. - - - if deflated stream is invalid. - - - - - Returns true, if the input buffer is empty. - You should then call setInput(). - NOTE: This method also returns true when the stream is finished. - - - - - Returns true, if a preset dictionary is needed to inflate the input. - - - - - Returns true, if the inflater has finished. This means, that no - input is needed and no output can be produced. - - - - - Gets the adler checksum. This is either the checksum of all - uncompressed bytes returned by inflate(), or if needsDictionary() - returns true (and thus no output was yet produced) this is the - adler checksum of the expected dictionary. - - - the adler checksum. - - - - - Gets the total number of output bytes returned by Inflate(). - - - the total number of output bytes. - - - - - Gets the total number of processed compressed input bytes. - - - The total number of bytes of processed input bytes. - - - - - Gets the number of unprocessed input bytes. Useful, if the end of the - stream is reached and you want to further process the bytes after - the deflate stream. - - - The number of bytes of the input which have not been processed. - - - - - An input stream that decompresses files in the BZip2 format - - - - - Construct instance for reading from stream - - Data source - - - - Flushes the stream. - - - - - Set the streams position. This operation is not supported and will throw a NotSupportedException - - A byte offset relative to the parameter. - A value of type indicating the reference point used to obtain the new position. - The new position of the stream. - Any access - - - - Sets the length of this stream to the given value. - This operation is not supported and will throw a NotSupportedExceptionortedException - - The new length for the stream. - Any access - - - - Writes a block of bytes to this stream using data from a buffer. - This operation is not supported and will throw a NotSupportedException - - The buffer to source data from. - The offset to start obtaining data from. - The number of bytes of data to write. - Any access - - - - Writes a byte to the current position in the file stream. - This operation is not supported and will throw a NotSupportedException - - The value to write. - Any access - - - - Read a sequence of bytes and advances the read position by one byte. - - Array of bytes to store values in - Offset in array to begin storing data - The maximum number of bytes to read - The total number of bytes read into the buffer. This might be less - than the number of bytes requested if that number of bytes are not - currently available or zero if the end of the stream is reached. - - - - - Closes the stream, releasing any associated resources. - - - - - Read a byte from stream advancing position - - byte read or -1 on end of stream - - - - Get/set flag indicating ownership of underlying stream. - When the flag is true will close the underlying stream also. - - - - - Gets a value indicating if the stream supports reading - - - - - Gets a value indicating whether the current stream supports seeking. - - - - - Gets a value indicating whether the current stream supports writing. - This property always returns false - - - - - Gets the length in bytes of the stream. - - - - - Gets or sets the streams position. - Setting the position is not supported and will throw a NotSupportException - - Any attempt to set the position - - - - Computes Adler32 checksum for a stream of data. An Adler32 - checksum is not as reliable as a CRC32 checksum, but a lot faster to - compute. - - The specification for Adler32 may be found in RFC 1950. - ZLIB Compressed Data Format Specification version 3.3) - - - From that document: - - "ADLER32 (Adler-32 checksum) - This contains a checksum value of the uncompressed data - (excluding any dictionary data) computed according to Adler-32 - algorithm. This algorithm is a 32-bit extension and improvement - of the Fletcher algorithm, used in the ITU-T X.224 / ISO 8073 - standard. - - Adler-32 is composed of two sums accumulated per byte: s1 is - the sum of all bytes, s2 is the sum of all s1 values. Both sums - are done modulo 65521. s1 is initialized to 1, s2 to zero. The - Adler-32 checksum is stored as s2*65536 + s1 in most- - significant-byte first (network) order." - - "8.2. The Adler-32 algorithm - - The Adler-32 algorithm is much faster than the CRC32 algorithm yet - still provides an extremely low probability of undetected errors. - - The modulo on unsigned long accumulators can be delayed for 5552 - bytes, so the modulo operation time is negligible. If the bytes - are a, b, c, the second sum is 3a + 2b + c + 3, and so is position - and order sensitive, unlike the first sum, which is just a - checksum. That 65521 is prime is important to avoid a possible - large class of two-byte errors that leave the check unchanged. - (The Fletcher checksum uses 255, which is not prime and which also - makes the Fletcher check insensitive to single byte changes 0 - - 255.) - - The sum s1 is initialized to 1 instead of zero to make the length - of the sequence part of s2, so that the length does not have to be - checked separately. (Any sequence of zeroes has a Fletcher - checksum of zero.)" - - - - - - - largest prime smaller than 65536 - - - - - Creates a new instance of the Adler32 class. - The checksum starts off with a value of 1. - - - - - Resets the Adler32 checksum to the initial value. - - - - - Updates the checksum with a byte value. - - - The data value to add. The high byte of the int is ignored. - - - - - Updates the checksum with an array of bytes. - - - The source of the data to update with. - - - - - Updates the checksum with the bytes taken from the array. - - - an array of bytes - - - the start of the data used for this update - - - the number of bytes to use for this update - - - - - Returns the Adler32 data checksum computed so far. - - -
-
diff --git a/bin/hdfsdll.dll.config b/bin/hdfsdll.dll.config deleted file mode 100644 index f1805fd..0000000 --- a/bin/hdfsdll.dll.config +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/bin/hdfsdll.so b/bin/hdfsdll.so deleted file mode 100755 index cf79ffc..0000000 Binary files a/bin/hdfsdll.so and /dev/null differ diff --git a/bin/xmrhelpers.so b/bin/xmrhelpers.so deleted file mode 100755 index 6074da2..0000000 Binary files a/bin/xmrhelpers.so and /dev/null differ -- cgit v1.1 From 50ac61e17f4e164931dc26f01ffbe58dced9e772 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Sun, 8 Aug 2010 02:01:24 +0200 Subject: In my crusade against facelights, I am striking the killing blow. Add a DisableFacelights option to OpenSim.ini to finally kill those immersion- breaking, silly vanity lights that destroy nighttime RP. Girls, you look just fine without them. Guys, you too. Thank you. Melanie has left the building. --- bin/OpenSim.ini.example | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 074345d..466da93 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -390,6 +390,13 @@ ; ;TextureSendLimit = 20 + ; Quash and remove any light properties from attachments not on the + ; hands. This allows flashlights and lanterns to function, but kills + ; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps + ; will also be affected. + ; + ;DisableFacelights = "false" + [Chat] ; Controls whether the chat module is enabled. Default is true. enabled = true; -- cgit v1.1 From df9521caf3aa983fd1d7e1c92b6b51e0c82cf7ac Mon Sep 17 00:00:00 2001 From: meta7 Date: Wed, 11 Aug 2010 15:30:42 -0700 Subject: Add ini.example section for the MOTD module. --- bin/OpenSim.ini.example | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 466da93..00a8569 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1278,6 +1278,10 @@ UseSafetyCommit = true ; Enable media on a prim facilities Enabled = true; +[MOTD] +Enabled = false +Message = "The MOTD module is working!" + ;; ;; These are defaults that are overwritten below in [Architecture]. -- cgit v1.1 From 47838e5fb39596effd4d0f7e1021ab68e69cd9d8 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Fri, 20 Aug 2010 08:46:46 +0200 Subject: Add some maptile options, change maptile generation from OpenSimBase to Scene to make it more configurable. --- bin/OpenSim.ini.example | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 00a8569..cf9e217 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -225,6 +225,12 @@ ;WorldMapModule = "WorldMap" ;MapImageModule = "MapImageModule" + ; Set to false to not generate any maptiles + ;GenerateMaptiles = "true" + ; Refreah (in seconds) the map tile periodically + ;MaptileRefresh = 0 + ; If not generating maptiles, use this static texture asset ID + ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" ; ## ; ## EMAIL MODULE -- cgit v1.1 From 8e51ca3a7ba51ae1b38ba66ae24a958ccb405a21 Mon Sep 17 00:00:00 2001 From: Melanie Date: Mon, 13 Sep 2010 23:17:42 +0100 Subject: Output an error and quit if the master file is missing. Also rename OpenSim.ini.example to bin/OpenSimDefaults.ini.example --- bin/OpenSim.ini.example | 1325 --------------------------------------- bin/OpenSimDefaults.ini.example | 1325 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 1325 insertions(+), 1325 deletions(-) delete mode 100644 bin/OpenSim.ini.example create mode 100644 bin/OpenSimDefaults.ini.example (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example deleted file mode 100644 index ef8f73a..0000000 --- a/bin/OpenSim.ini.example +++ /dev/null @@ -1,1325 +0,0 @@ -[Startup] - ; Set this to true if you want to log crashes to disk - ; this can be useful when submitting bug reports. - save_crashes = false - - ; Directory to save crashes to if above is enabled - ; (default is /opensimdir/crashes/*.txt or C:\opensim\crashes\*.txt) - crash_dir = "crashes" - - ; Place to create a PID file - ; PIDFile = "/tmp/my.pid" - - ; Http proxy support for llHTTPRequest and dynamic texture loading - ; Set HttpProxy to the URL for your proxy server if you would like - ; to proxy llHTTPRequests through a firewall - ; HttpProxy = "http://proxy.com" - ; Set HttpProxyExceptions to a list of regular expressions for - ; URLs that you don't want going through the proxy such as servers - ; inside your firewall, separate patterns with a ';' - ; HttpProxyExceptions = ".mydomain.com;localhost" - - startup_console_commands_file = "startup_commands.txt" - shutdown_console_commands_file = "shutdown_commands.txt" - - ; To run a script every few minutes, set the script filename here - ; timer_Script = "filename" - - ; ## - ; ## SYSTEM - ; ## - - ; Sets the method that OpenSim will use to fire asynchronous - ; events. Valid values are UnsafeQueueUserWorkItem, - ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread. - ; SmartThreadPool is reported to work well on Mono/Linux, but - ; UnsafeQueueUserWorkItem has been benchmarked with better - ; performance on .NET/Windows - async_call_method = SmartThreadPool - - ; Max threads to allocate on the FireAndForget thread pool - ; when running with the SmartThreadPool option above - MaxPoolThreads = 15 - - ; ## - ; ## CLIENTS - ; ## - - ; Enables EventQueueGet Service. - EventQueue = true - - ; Set this to the DLL containing the client stack to use. - clientstack_plugin="OpenSim.Region.ClientStack.LindenUDP.dll" - - ; ## - ; ## REGIONS - ; ## - - ; Determine where OpenSimulator looks for the files which tell it which regions to server - ; Defaults to "filesystem" if this setting isn't present - region_info_source = "filesystem" - ; region_info_source = "web" - - ; Determines where the region XML files are stored if you are loading these from the filesystem. - ; Defaults to bin/Regions in your OpenSimulator installation directory - ; regionload_regionsdir="C:\somewhere\xmlfiles\" - - ; Determines the page from which regions xml is retrieved if you are loading these from the web - ; The XML here has the same format as it does on the filesystem (including the tag), - ; except that everything is also enclosed in a tag. - ; regionload_webserver_url = "http://example.com/regions.xml"; - - ; Draw objects on maptile. This step might take a long time if you've got a large number of - ; objects, so you can turn it off here if you'd like. - DrawPrimOnMapTile = true - ; Use terrain texture for maptiles if true, use shaded green if false - TextureOnMapTile = false - - ; Maximum total size, and maximum size where a prim can be physical - NonPhysicalPrimMax = 256 - PhysicalPrimMax = 10 ; (I think this was moved to the Regions.ini!) - ClampPrimSize = false - - ; Allow scripts to cross region boundaries. These are recompiled on the new region. - AllowScriptCrossing = false - - ; Allow compiled script binary code to cross region boundaries. - ; If you set this to "true", any region that can teleport to you can - ; inject ARBITRARY BINARY CODE into your system. Use at your own risk. - ; YOU HAVE BEEN WARNED!!! - TrustBinaries = false - - ; Combine all contiguous regions into one large megaregion - ; Order your regions from South to North, West to East in your regions.ini and then set this to true - ; Warning! Don't use this with regions that have existing content!, This will likely break them - CombineContiguousRegions = false - - ; If you have only one region in an instance, or to avoid the many bugs - ; that you can trigger in modules by restarting a region, set this to - ; true to make the entire instance exit instead of restarting the region. - ; This is meant to be used on systems where some external system like - ; Monit will restart any instance that exits, thereby making the shutdown - ; into a restart. - ;InworldRestartShutsDown = false - - ; ## - ; ## PRIM STORAGE - ; ## - - ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to - ; prevent frequently changing objects from heavily loading the region data store. - ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep. - ; - ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds - MinimumTimeBeforePersistenceConsidered = 60 - ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago - MaximumTimeBeforePersistenceConsidered = 600 - - ; Should avatars in neighbor sims see objects in this sim? - see_into_this_sim_from_neighbor = true - - ; ## - ; ## PHYSICS - ; ## - - ; if you would like to allow prims to be physical and move by physics with the physical checkbox in the client set this to true. - physical_prim = true - - ; Select a mesher here. - ; - ; Meshmerizer properly handles complex prims by using triangle meshes. - ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way - ; - ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports - ; Usually this is only a box - - meshing = Meshmerizer - ;meshing = ZeroMesher - - ; Choose one of the physics engines below - ; OpenDynamicsEngine is by some distance the most developed physics engine - ; basicphysics effectively does not model physics at all, making all objects phantom - - physics = OpenDynamicsEngine - ;physics = basicphysics - ;physics = POS - ;physics = modified_BulletX - - ; ## - ; ## PERMISSIONS - ; ## - - ;permissionmodules = "DefaultPermissionsModule" - - ;If any of the specified permissions modules fail to load, quit? - SecurePermissionsLoading = true - - ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy - ; any item, etc. This may not yet be implemented uniformally. - ; If set to true, then all permissions checks are carried out - ; Default is false - serverside_object_permissions = false - - allow_grid_gods = false - - ; This allows somne control over permissions - ; please note that this still doesn't duplicate SL, and is not intended to - ;region_owner_is_god = true - ;region_manager_is_god = false - ;parcel_owner_is_god = true - - ; Control user types that are allowed to create new scripts - ; Only enforced if serviceside_object_permissions is true - ; - ; Current possible values are - ; all - anyone can create scripts (subject to normal permissions) - ; gods - only administrators can create scripts (as long as allow_grid_gods is true) - ; Default value is all - ; allowed_script_creators = all - - ; Control user types that are allowed to edit (save) scripts - ; Only enforced if serviceside_object_permissions is true - ; - ; Current possible values are - ; all - anyone can edit scripts (subject to normal permissions) - ; gods - only administrators can edit scripts (as long as allow_grid_gods is true) - ; Default value is all - ; allowed_script_editors = all - - ; ## - ; ## SCRIPT ENGINE - ; ## - - DefaultScriptEngine = "XEngine" - - ; ## - ; ## WORLD MAP - ; ## - - ;WorldMapModule = "WorldMap" - ;MapImageModule = "MapImageModule" - ; Set to false to not generate any maptiles - ;GenerateMaptiles = "true" - ; Refresh (in seconds) the map tile periodically - ;MaptileRefresh = 0 - ; If not generating maptiles, use this static texture asset ID - ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" - - ; ## - ; ## EMAIL MODULE - ; ## - - ;emailmodule = DefaultEmailModule - - ; ## - ; ## ANIMATIONS - ; ## - - ; If enabled, enableFlySlow will change the primary fly state to - ; FLYSLOW, and the "always run" state will be the regular fly. - - enableflyslow = false - - ; PreJump is an additional animation state, but it probably - ; won't look right until the physics engine supports it - ; (i.e delays takeoff for a moment) - - ; This is commented so it will come on automatically once it's - ; supported. - - ; enableprejump = true - - ; Simulator Stats URI - ; Enable JSON simulator data by setting a URI name (case sensitive) - ; Stats_URI = "jsonSimStats" - - ; Make OpenSim start all regions woth logins disabled. They will need - ; to be enabled from the console if this is set - ; StartDisabled = false - - ; Image decoding. Use CSJ2K for layer boundary decoding if true, - ; OpenJPEG if false - ; UseCSJ2K = true - -[SMTP] - enabled=false - - ;enabled=true - ;internal_object_host=lsl.opensim.local - ;host_domain_header_from=127.0.0.1 - ;SMTP_SERVER_HOSTNAME=127.0.0.1 - ;SMTP_SERVER_PORT=25 - ;SMTP_SERVER_LOGIN=foo - ;SMTP_SERVER_PASSWORD=bar - -[Network] - ConsoleUser = "Test" - ConsolePass = "secret" - http_listener_port = 9000 - console_port = 0 - - ; ssl config: Experimental! The auto https config only really works definately on windows XP now - ; you need a Cert Request/Signed pair installed in the MY store with the CN specified below - ; you can use https on other platforms, but you'll need to configure the httpapi yourself for now - http_listener_ssl = false ; Also create a SSL server - http_listener_cn = "localhost" ; Use the cert with the common name - http_listener_sslport = 9001 ; Use this port for SSL connections - http_listener_ssl_cert = "" ; Currently unused, but will be used for OSHttpServer - - ; Hostname to use in llRequestURL/llRequestSecureURL - ; if not defined - default machine name is being used - ; (on Windows this mean NETBIOS name - useably only inside local network) - ; ExternalHostNameForLSL=127.0.0.1 - - ; What is reported as the "X-Secondlife-Shard" - ; Defaults to the user server url if not set - ; The old default is "OpenSim", set here for compatibility - shard = "OpenSim" - - ; What is reported as the "User-Agent" when using llHTTPRequest - ; Defaults to not sent if not set here. See the notes section in the wiki at - ; http://wiki.secondlife.com/wiki/LlHTTPRequest for comments on adding - ; " (Mozilla Compatible)" to the text where there are problems with a web server - ;user_agent = "OpenSim LSL (Mozilla Compatible)" - -[XMLRPC] - ; ## - ; ## Scripting XMLRPC mapper - ; ## - - ; If enabled, this will post an event, "xmlrpc_uri(string)" to the - ; script concurrently with the first remote_data event. - ; This will contain the fully qualified URI an external site needs - ; to use to send XMLRPC requests to that script - - ;XmlRpcRouterModule = "XmlRpcRouterModule" - ;XmlRpcPort = 20800 - -[ClientStack.LindenUDP] - ; Set this to true to process incoming packets asynchronously. Networking is - ; already separated from packet handling with a queue, so this will only - ; affect whether networking internals such as packet decoding and - ; acknowledgement accounting are done synchronously or asynchronously - ; - ;async_packet_handling = false - - ; The client socket receive buffer size determines how many - ; incoming requests we can process; the default on .NET is 8192 - ; which is about 2 4k-sized UDP datagrams. On mono this is - ; whatever the underlying operating system has as default; for - ; example, ubuntu 8.04 or SLES11 have about 111k, which is about - ; 27 4k-sized UDP datagrams (on linux platforms you can [as root] - ; do "sysctl net.core.rmem_default" to find out what your system - ; uses a default socket receive buffer size. - ; - ; client_socket_rcvbuf_size allows you to specify the receive - ; buffer size LLUDPServer should use. NOTE: this will be limited - ; by the system's settings for the maximum client receive buffer - ; size (on linux systems you can set that with "sysctl -w - ; net.core.rmem_max=X") - ; - ;client_socket_rcvbuf_size = 8388608 - - ; Maximum outbound bytes per second for a single scene. This can be used to - ; throttle total outbound UDP traffic for a simulator. The default value is - ; 0, meaning no throttling at the scene level. The example given here is - ; 20 megabits - ; - ;scene_throttle_max_bps = 2621440 - - ; Maximum bits per second to send to any single client. This will override - ; the user's viewer preference settings. The default value is 0, meaning no - ; aggregate throttling on clients (only per-category throttling). The - ; example given here is 1.5 megabits - ; - ;client_throttle_max_bps = 196608 - - ; Per-client bytes per second rates for the various throttle categories. - ; These are default values that will be overriden by clients - ; - ;resend_default = 12500 - ;land_default = 1000 - ;wind_default = 1000 - ;cloud_default = 1000 - ;task_default = 1000 - ;texture_default = 1000 - ;asset_default = 1000 - ;state_default = 1000 - - ; Per-client maximum burst rates in bytes per second for the various - ; throttle categories. These are default values that will be overriden by - ; clients - ; - ;resend_limit = 18750 - ;land_limit = 29750 - ;wind_limit = 18750 - ;cloud_limit = 18750 - ;task_limit = 18750 - ;texture_limit = 55750 - ;asset_limit = 27500 - ;state_limit = 37000 - - ; Configures how ObjectUpdates are aggregated. These numbers - ; do not literally mean how many updates will be put in each - ; packet that goes over the wire, as packets are - ; automatically split on a 1400 byte boundary. These control - ; the balance between responsiveness of interest list updates - ; and total throughput. Higher numbers will ensure more full- - ; sized packets and faster sending of data, but more delay in - ; updating interest lists - ; - ;PrimTerseUpdatesPerPacket = 25 - ;AvatarTerseUpdatesPerPacket = 10 - ;PrimFullUpdatesPerPacket = 100 - - ; TextureSendLimit determines how many packets will be put on - ; the outgoing queue each cycle. Like the settings above, this - ; is a balance between responsiveness to priority updates and - ; total throughput. Higher numbers will give a better - ; throughput at the cost of reduced responsiveness to client - ; priority changes or transfer aborts - ; - ;TextureSendLimit = 20 - - ; Quash and remove any light properties from attachments not on the - ; hands. This allows flashlights and lanterns to function, but kills - ; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps - ; will also be affected. - ; - ;DisableFacelights = "false" - -[Chat] - ; Controls whether the chat module is enabled. Default is true. - enabled = true; - - ; Distance in meters that whispers should travel. Default is 10m - whisper_distance = 10 - - ; Distance in meters that ordinary chat should travel. Default is 30m - say_distance = 30 - - ; Distance in meters that shouts should travel. Default is 100m - shout_distance = 100 - - ; Append a prefix to the god avatar names appearing in chat whilst in god mode - ; admin_prefix = "@" - - -[Messaging] - ; Control which region module is used for instant messaging. - ; Default is InstantMessageModule (this is the name of the core IM module as well as the setting) - InstantMessageModule = InstantMessageModule - ; MessageTransferModule = MessageTransferModule - ; OfflineMessageModule = OfflineMessageModule - ; OfflineMessageURL = http://yourserver/Offline.php - ; MuteListModule = MuteListModule - ; MuteListURL = http://yourserver/Mute.php - - ; Control whether group messages are forwarded to offline users. Default is true. - ; ForwardOfflineGroupMessages = true - - -[ODEPhysicsSettings] - ;## - ;## World Settings - ;## - - ;Gravity. Feel like falling up? change world_gravityz to 9.8 instead of -9.8. m/s - world_gravityx = 0 - world_gravityy = 0 - world_gravityz = -9.8 - - ; World Step size. (warning these are dangerous. Changing these will probably cause your scene to explode dramatically) - ; reference: fps = (0.09375/ODE_STEPSIZE) * 1000; - world_stepsize = 0.020 - world_internal_steps_without_collisions = 10 - - ;World Space settings. Affects memory consumption vs Collider CPU time for avatar and physical prim - world_hashspace_size_low = -4 - world_hashSpace_size_high = 128 - - ;Dynamic space settings Affects memory consumption vs Collider CPU time for static prim - meters_in_small_space = 29.9 - small_hashspace_size_low = -4 - small_hashspace_size_high = 66 - - ; ## - ; ## Contact properties. (the stuff that happens when things come in contact with each other) - ; ## - - ; surface layer around geometries other geometries can sink into before generating a contact - world_contact_surface_layer = 0.001 - - ; Filtering collisions helps keep things stable physics wise, but sometimes - ; it can be overzealous. If you notice bouncing, chances are it's that. - filter_collisions = false - - ; Non Moving Terrain Contact (avatar isn't moving) - nm_terraincontact_friction = 255.0 - nm_terraincontact_bounce = 0.1 - nm_terraincontact_erp = 0.1025 - - ; Moving Terrain Contact (avatar is moving) - m_terraincontact_friction = 75.0 - m_terraincontact_bounce = 0.05 - m_terrainContact_erp = 0.05025 - - ; Moving Avatar to object Contact - m_avatarobjectcontact_friction = 75.0 - m_avatarobjectcontact_bounce = 0.1 - - ; Object to Object Contact and Non-Moving Avatar to object - objectcontact_friction = 250.0 - objectcontact_bounce = 0.2 - - ; ## - ; ## Avatar Control - ; ## - - ; PID Controller Settings. These affect the math that causes the avatar to reach the - ; desired velocity - ; See http://en.wikipedia.org/wiki/PID_controller - - av_pid_derivative_linux = 2200.0 - av_pid_proportional_linux = 900.0; - - av_pid_derivative_win = 2200.0 - av_pid_proportional_win = 900.0; - - ;girth of the avatar. Adds radius to the height also - av_capsule_radius = 0.37 - - ; Max force permissible to use to keep the avatar standing up straight - av_capsule_standup_tensor_win = 550000 - av_capsule_standup_tensor_linux = 550000 - - ; specifies if the capsule should be tilted (=true; old compatibility mode) - ; or straight up-and-down (=false; better and more consistent physics behavior) - av_capsule_tilted = false - - ; used to calculate mass of avatar. - ; float AVvolume = (float) (Math.PI*Math.Pow(CAPSULE_RADIUS, 2)*CAPSULE_LENGTH); - ; av_density * AVvolume; - av_density = 80 - - ; use this value to cut 52% of the height the sim gives us - av_height_fudge_factor = 0.52 - - ; Movement. Smaller is faster. - - ; speed of movement with Always Run off - av_movement_divisor_walk = 1.3 - - ; speed of movement with Always Run on - av_movement_divisor_run = 0.8 - - ; When the avatar flies, it will be moved up by this amount off the ground (in meters) - minimum_ground_flight_offset = 3.0 - - ; ## - ; ## Object options - ; ## - - ; used in the mass calculation. - geometry_default_density = 10.000006836 - - ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep - body_frames_auto_disable = 20 - - ; used to control llMove2Target - body_pid_derivative = 35 - body_pid_gain = 25 - - ; maximum number of contact points to generate per collision - contacts_per_collision = 80 - - ; amount of time a geom/body will try to cross a region border before it gets disabled - geom_crossing_failures_before_outofbounds = 5 - - ; start throttling the object updates if object comes in contact with 3 or more other objects - geom_contactpoints_start_throttling = 3 - - ; send 1 update for every x updates below when throttled - geom_updates_before_throttled_update = 15 - - ; Used for llSetStatus. How rigid the object rotation is held on the axis specified - body_motor_joint_maxforce_tensor_linux = 5 - body_motor_joint_maxforce_tensor_win = 5 - - ; Maximum mass an object can be before it is clamped - maximum_mass_object = 10000.01 - - ; ## - ; ## Sculpted Prim settings - ; ## - - ; Do we want to mesh sculpted prim to collide like they look? - mesh_sculpted_prim = true - - ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies - mesh_lod = 32 - - ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies - mesh_physical_lod = 16 - - ; ## - ; ## Physics logging settings - logfiles are saved to *.DIF files - ; ## - - ; default is false - ;physics_logging = true - ;; every n simulation iterations, the physics snapshot file is updated - ;physics_logging_interval = 50 - ;; append to existing physics logfile, or overwrite existing logfiles? - ;physics_logging_append_existing_logfile = true - - ; ## - ; ## Joint support - ; ## - - ; if you would like physics joints to be enabled through a special naming convention in the client, set this to true. - ; (see NINJA Physics documentation, http://opensimulator.org/wiki/NINJA_Physics) - ; default is false - ;use_NINJA_physics_joints = true - - ; ## - ; ## additional meshing options - ; ## - - ; physical collision mesh proxies are normally created for complex prim shapes, and collisions for simple boxes and - ; spheres are computed algorithmically. If you would rather have mesh proxies for simple prims, you can set this to - ; true. Note that this will increase memory usage and region startup time. Default is false. - ;force_simple_prim_meshing = true - - -[RemoteAdmin] - enabled = false - - ; Set this to a nonzero value to have remote admin use a different port - port = 0 - - ; This password is required to make any XMLRPC call (should be set as the "password" parameter) - access_password = unknown - - ; set this variable to true if you want the create_region XmlRpc - ; call to unconditionally enable voice on all parcels for a newly - ; created region [default: false] - create_region_enable_voice = false - - ; set this variable to false if you want the create_region XmlRpc - ; call to create all regions as private per default (can be - ; overridden in the XmlRpc call) [default: true] - create_region_public = false - - ; the create_region XmlRpc call uses region_file_template to generate - ; the file name of newly create regions (if they are created - ; persistent). the parameter available are: - ; {0} - X location - ; {1} - Y location - ; {2} - region UUID - ; {3} - region port - ; {4} - region name with " ", ":", "/" mapped to "_" - region_file_template = "{0}x{1}-{2}.ini" - - ; we can limit the number of regions that XmlRpcCreateRegion will - ; allow by setting this to a positive, non-0 number: as long as the - ; number of regions is below region_limits, XmlRpcCreateRegion will - ; succeed. setting region_limit to 0 disables the check. - ; default is 0 - ;region_limit = 0 - - ; enable only those methods you deem to be appropriate using a | delimited whitelist - ; for example, enabled_methods = admin_broadcast|admin_region_query|admin_save_oar|admin_save_xml - ; if this parameter is not specified but enabled = true, all methods will be available - enabled_methods = all - - ; specify the default appearance for an avatar created through the remote admin interface - ; This will only take effect is the file specified by the default_appearance setting below exists - ;default_male = Default Male - ;default_female = Default Female - - ; update appearance copies inventory items and wearables of default avatars. if this value is false - ; (default), just worn assets are copied to the Clothes folder; if true, all Clothes and Bodyparts - ; subfolders are copied. the receiver will wear the same items the default avatar did wear. - ;copy_folders = false - - ; path to default appearance XML file that specifies the look of the default avatars - ;default_appearance = default_appearance.xml - -[RestPlugins] - ; Change this to true to enable REST Plugins. This must be true if you wish to use - ; REST Region or REST Asset and Inventory Plugins - enabled = false - god_key = SECRET - prefix = /admin - - -[RestRegionPlugin] - ; Change this to true to enable the REST Region Plugin - enabled = false - - -[RestHandler] - ; Change this to true to enable the REST Asset and Inventory Plugin - enabled = false - authenticate = true - secured = true - extended-escape = true - realm = OpenSim REST - dump-asset = false - path-fill = true - dump-line-size = 32 - flush-on-error = true - - -; Uncomment the following for IRC bridge -; experimental, so if it breaks... keep both parts... yada yada -; also, not good error detection when it fails -;[IRC] - ;enabled = true ; you need to set this otherwise it won't connect - ;server = name.of.irc.server.on.the.net - ;; user password - only use this if the server requires one - ;password = mypass - ;nick = OpenSimBotNameProbablyMakeThisShorter - ;channel = #the_irc_channel_you_want_to_connect_to - ;user = "USER OpenSimBot 8 * :I'm an OpenSim to IRC bot" - ;port = 6667 - ;; channel to listen for configuration commands - ;commands_enabled = false - ;command_channel = 2777 - ;report_clients = true - ;; relay private chat connections - ;; relay_private_channels = true: will relay IRC chat from/to private in-world channels - ;; relay_private_channel_out -- channel to send messages out to the IRC bridge - ;; relay_private_channel_in -- channel to receive message from the IRC bridge - ;; relay_chat = false: IRC bridge will not relay normal chat - ;; access_password -- simple security device - ;; - ;; so, to just relay chat from an IRC channel to in-world region and vice versa: - ;; - ;; relay_private_channels = false - ;; relay_chat = true - ;; - ;; to relay chat only to/from private in-world channels: - ;; - ;; relay_chat = false - ;; relay_private_channels = true - ;; relay_private_channel_in = 2226 - ;; relay_private_channel_out = 2225 - ;; - ;; in this example, all chat coming in from IRC will be send out via - ;; in-world channel 2226, and all chat from in-world channel 2225 will - ;; be relayed to the IRC channel. - ;; - ;relay_private_channels = false - ;relay_private_channel_in = 2226 - ;relay_private_channel_out = 2225 - ;relay_chat = true - ;access_password = foobar - - ;;fallback_region = name of "default" region - ;;MSGformat fields : 0=botnick, 1=user, 2=region, 3=message - ;; must start with "PRIVMSG {0} : " or irc server will get upset - ;;for : : - ;;msgformat = "PRIVMSG {0} :<{1} in {2}>: {3}" - ;;for : - : - ;msgformat = "PRIVMSG {0} : {3} - {1} of {2}" - ;;for : - from : - ;;msgformat = "PRIVMSG {0} : {3} - from {1}" - - ;; exclude_list allows you to stop the IRC connector from announcing the - ;;arrival and departure of certain users. For example: admins, bots. - - ;exclude_list=User 1,User 2,User 3 - - -;[CMS] - ;enabled = true - ;channel = 345 - - -; Uncomment the following to control the progression of daytime -; in the Sim. The defaults are what is shown below -;[Sun] - ; number of wall clock hours for an opensim day. 24.0 would mean realtime - ;day_length = 4 - ; Year length in days - ;year_length = 60 - ; Day to Night Ratio - ;day_night_offset = 0.45 - ; send a Sun update every update_interval # of frames. A lower number will - ; make for smoother sun transition at the cost of network - ;update_interval = 100 - - -[Wind] - ; Enables the wind module. Default is true - enabled = true - - ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second - wind_update_rate = 150 - - ; The Default Wind Plugin to load - wind_plugin = SimpleRandomWind - - ; These settings are specific to the ConfigurableWind plugin - ; To use ConfigurableWind as the default, simply change wind_plugin to ConfigurableWind and uncomment the following. - ; avg_strength = 5.0 - ; avg_direction = 0.0 - ; var_strength = 0.0 - ; var_direction = 0.0 - ; rate_change = 1.0 - - ; This setting is specific to the SimpleRandomWind plugin - ; Adjusts wind strength. 0.0 = no wind, 1.0 = normal wind. Default is 1.0 - strength = 1.0 - - -[Cloud] - ; Enable this to generate classic particle clouds above the sim. - ; default is disabled - turn it on here - enabled = false - - ; Density of cloud cover 0.0 to 1.0 Defult 0.5 - density = 0.5 - - ; update interval for the cloud cover data returned by llCloud(). - ; default is 1000 - cloud_update_rate = 1000 - -[LightShare] - - ; This enables the transmission of Windlight scenes to supporting clients, such as the Meta7 viewer. - ; It has no ill effect on viewers which do not support server-side windlight settings. - ; Currently we only have support for MySQL databases. - enable_windlight = false; - -[Trees] - ; Enable this to allow the tree module to manage your sim trees, including growing, reproducing and dying - ; default is false - active_trees = false - - ; Density of tree population - tree_density = 1000.0 - - -[VectorRender] - - ; the font to use for rendering text (default: Arial) - ; font_name = "Arial" - - -[LL-Functions] - ; Set the following to true to allow administrator owned scripts to execute console commands - ; currently unused - ; AllowosConsoleCommand=false - - AllowGodFunctions = false - - ; Maximum number of llListen events we allow per script - ; Set this to 0 to have no limit imposed. - max_listens_per_script = 64 - - -[DataSnapshot] - ; The following set of configs pertains to search. - ; Set index_sims to true to enable search engines to index your searchable data - ; If false, no data will be exposed, DataSnapshot module will be off, and you can ignore the rest of these search-related configs - ; default is false - index_sims = false - - ; The variable data_exposure controls what the regions expose: - ; minimum: exposes only things explicitly marked for search - ; all: exposes everything - data_exposure = minimum - - ; If search is on, change this to your grid name; will be ignored for standalones - gridname = "OSGrid" - - ; Period between data snapshots, in seconds. 20 minutes, for starters, so that you see the initial changes fast. - ; Later, you may want to increase this to 3600 (1 hour) or more - default_snapshot_period = 1200 - - ; This will be created in bin, if it doesn't exist already. It will hold the data snapshots. - snapshot_cache_directory = "DataSnapshot" - - ; This semicolon-separated string serves to notify specific data services about the existence - ; of this sim. Uncomment if you want to index your data with this and/or other search providers. - ;data_services="http://metaverseink.com/cgi-bin/register.py" - - -[Economy] - ; These economy values get used in the BetaGridLikeMoneyModule. - This module is for demonstration only - - - ; Enables selling things for $0 - SellEnabled = "false" - - ; 45000 is the highest value that the sim could possibly report because of protocol constraints - ObjectCapacity = 45000 - - ; Money Unit fee to upload textures, animations etc - PriceUpload = 0 - - ; Money Unit fee to create groups - PriceGroupCreate = 0 - - ; We don't really know what the rest of these values do. These get sent to the client - ; These taken from Agni at a Public Telehub. Change at your own risk. - ObjectCount = 0 - PriceEnergyUnit = 100 - PriceObjectClaim = 10 - PricePublicObjectDecay = 4 - PricePublicObjectDelete = 4 - PriceParcelClaim = 1 - PriceParcelClaimFactor = 1 - - PriceRentLight = 5 - TeleportMinPrice = 2 - TeleportPriceExponent = 2 - EnergyEfficiency = 1 - PriceObjectRent = 1 - PriceObjectScaleFactor = 10 - PriceParcelRent = 1 - -[Git] -Enabled = true -RepoPath = "git" - -;How many seconds between the scheduled commits? -CommitInterval = 21600 - -;Disable all except the initial commit? -DisableNonEssentialCommits = false - -;Should we automatically commit when necessary to avoid objects never making it into the repo? -UseSafetyCommit = true - - -[SVN] - Enabled = false - Directory = SVNmodule\repo - URL = "svn://your.repo.here/" - Username = "user" - Password = "password" - ImportOnStartup = false - Autosave = false - AutoSavePeriod = 15 ; Number of minutes between autosave backups - - -[XEngine] - ; Enable this engine in this OpenSim instance - Enabled = true - - ; How many threads to keep alive even if nothing is happening - MinThreads = 2 - - ; How many threads to start at maximum load - MaxThreads = 100 - - ; Time a thread must be idle (in seconds) before it dies - IdleTimeout = 60 - - ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest") - Priority = "BelowNormal" - - ; Maximum number of events to queue for a script (excluding timers) - MaxScriptEventQueue = 300 - - ; Stack size per thread created - ThreadStackSize = 262144 - - ; Set this to true (the default) to load each script into a separate - ; AppDomain. Setting this to false will load all script assemblies into the - ; current AppDomain, which will reduce the per-script overhead at the - ; expense of reduced security and the inability to garbage collect the - ; script assemblies - AppDomainLoading = true - - ; Rate to poll for asynchronous command replies (ms) - ; currently unused - ;AsyncLLCommandLoopms = 50 - - ; Save the source of all compiled scripts - WriteScriptSourceToDebugFile = false - - ; Default language for scripts - DefaultCompileLanguage = lsl - - ; List of allowed languages (lsl,vb,js,cs) - ; AllowedCompilers=lsl,cs,js,vb. - ; *warning*, non lsl languages have access to static methods such as System.IO.File. Enable at your own risk. - AllowedCompilers=lsl - - ; Compile debug info (line numbers) into the script assemblies - CompileWithDebugInformation = true - - ; Allow the user of mod* functions. This allows a script to pass messages - ; to a region module via the modSendCommand() function - ; Default is false - AllowMODFunctions = false - - ; Allow the use of os* functions (some are dangerous) - AllowOSFunctions = false - - ; Allow the user of LightShare functions - AllowLightShareFunctions = false - - ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe - OSFunctionThreatLevel = VeryLow - - ; Interval (s) between background save of script states - SaveInterval = 120 - - ; Interval (s) between maintenance runs (0 = disable) - MaintenanceInterval = 10 - - ; Time a script can spend in an event handler before it is interrupted - EventLimit = 30 - - ; If a script overruns it's event limit, kill the script? - KillTimedOutScripts = false - - ; Sets the multiplier for the scripting delays - ScriptDelayFactor = 1.0 - - ; The factor the 10 m distances llimits are multiplied by - ScriptDistanceLimitFactor = 1.0 - - ; Maximum length of notecard line read - ; Increasing this to large values potentially opens - ; up the system to malicious scripters - ; NotecardLineReadCharsMax = 255 - - ; Sensor settings - SensorMaxRange = 96.0 - SensorMaxResults = 16 - - ; OS Functions enable/disable - ; For each function, you can add one line, as shown - ; The default for all functions allows them if below threat level - - ; true allows the use of the function unconditionally - ; Allow_osSetRegionWaterHeight = true - - ; false disables the function completely - ; Allow_osSetRegionWaterHeight = false - - ; Comma separated list of UUIDS allows the function for that list of UUIDS - ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb - - ; You can also use script creators as the uuid - ; Creators_osSetRegionWaterHeight = , ... - - ; If both Allow_ and Creators_ are given, effective permissions - ; are the union of the two. - - ; Allow for llCreateLink and llBreakLink to work without asking for permission - ; only enable this in a trusted environment otherwise you may be subject to hijacking - ; AutomaticLinkPermission = false - - ; Disable underground movement of prims (default true); set to - ; false to allow script controlled underground positioning of - ; prims - ; DisableUndergroundMovement = true - - -[OpenGridProtocol] - ;These are the settings for the Open Grid Protocol.. the Agent Domain, Region Domain, you know.. - ;On/true or Off/false - ogp_enabled=false - - ;Name Prefix/suffix when using OGP - ogp_firstname_prefix="" - ogp_lastname_suffix="_EXTERNAL" - - -[Concierge] - ; Enable concierge module - ; Default is false - enabled = false - - ; name of the concierge - whoami = "jeeves" - - ; password for updating the welcome message templates via XmlRpc - password = SECRET - - ; regex specifying for which regions concierge service is desired; if - ; empty, then for all - regions = "^MeetingSpace-" - - ; for each region that matches the regions regexp you can provide - ; (optionally) a welcome template using format substitution: - ; {0} is replaced with the name of the avatar entering the region - ; {1} is replaced with the name of the region - ; {2} is replaced with the name of the concierge (whoami variable above) - - welcomes = /path/to/welcome/template/directory - - ; Concierge can send attendee lists to an event broker whenever an - ; avatar enters or leaves a concierged region. the URL is subject - ; to format substitution: - ; {0} is replaced with the region's name - ; {1} is replaced with the region's UUID - broker = "http://broker.place.com/{1}" - - -[RegionReady] - ; Enable this module to get notified once all items and scripts in the region have been completely loaded and compiled - ; default is false - enabled = false - - ; Channel on which to signal region readiness through a message - ; formatted as follows: "{server_startup|oar_file_load},{0|1},n,[oar error]" - ; - the first field indicating whether this is an initial server startup - ; - the second field is a number indicating whether the OAR file loaded ok (1 == ok, 0 == error) - ; - the third field is a number indicating how many scripts failed to compile - ; - "oar error" if supplied, provides the error message from the OAR load - channel_notify = -800 - - -[MRM] - ; Enables the Mini Region Modules Script Engine. - ; default is false - Enabled = false - - ; Runs MRM in a Security Sandbox - ; WARNING: DISABLING IS A SECURITY RISK. - Sandboxed = true - - ; The level sandbox to use, adjust at your OWN RISK. - ; Valid values are: - ; * FullTrust - ; * SkipVerification - ; * Execution - ; * Nothing - ; * LocalIntranet - ; * Internet - ; * Everything - SandboxLevel = "Internet" - - ; Only allow Region Owners to run MRMs - ; May represent a security risk if you disable this. - OwnerOnly = true - -[Hypergrid] - ; Keep it false for now. Making it true requires the use of a special client in order to access inventory - safemode = false - -[VivoxVoice] - ; The VivoxVoice module will allow you to provide voice on your - ; region(s). It uses the same voice technology as the LL grid and - ; works with recent LL clients (we have tested 1.22.9.110075, so - ; anything later ought to be fine as well). - ; - ; For this to work you need to obtain an admin account from Vivox - ; that allows you to create voice accounts and region channels. - - enabled = false - - ; vivox voice server - vivox_server = www.foobar.vivox.com - - ; vivox SIP URI - vivox_sip_uri = foobar.vivox.com - - ; vivox admin user name - vivox_admin_user = DeepThroat - - ; vivox admin password - vivox_admin_password = VoiceG4te - - ; channel type: "channel" or "positional" - ; - positional: spatial sound (default) - ; - channel: normal "conference call", no spatial sound - ;vivox_channel_type = positional - - ; channel characteristics (unless you know what you are doing, i'd - ; leave them as they are --- now you WILL muck around with them, - ; huh? sigh) - - ; channel distance model: - ; 0 - no attenuation - ; 1 - inverse distance attenuation - ; 2 - linear attenuation (default) - ; 3 - exponential attenuation - ;vivox_channel_distance_model = 2 - - ; channel mode: - ; - "open" (default) - ; - "lecture" - ; - "presentation" - ; - "auditorium" - ;vivox_channel_mode = "open" - - ; channel roll off: rate of attenuation - ; - a value between 1.0 and 4.0, default is 2.0 - ;vivox_channel_roll_off = 2.0 - - ; channel max range: distance at which channel is silent - ; - a value between 0 and 160, default is 80 - ;vivox_channel_max_range = 80 - - ; channel clamping distance: distance before attenuation applies - ; - a value between 0 and 160, default is 10 - ;vivox_channel_clamping_distance = 10 - -[FreeSwitchVoice] - ; In order for this to work you need a functioning FreeSWITCH PBX set up. - ; Configuration details at http://opensimulator.org/wiki/Freeswitch_Module - enabled = false - ; FreeSWITCH server is going to contact us and ask us all sorts of things - freeswitch_server_user = freeswitch - freeswitch_server_pass = password - freeswitch_api_prefix = /api - ; external IP address of your OpenSim voice enabled region - ; note: all regions running on same OpenSim.exe will be enabled - freeswitch_service_server = ip.address.of.your.sim - ; this should be the same port the region listens on - freeswitch_service_port = 9000 - freeswitch_realm = ip.address.of.freeswitch.server - freeswitch_sip_proxy = ip.address.of.freeswitch.server:5060 - ; STUN = Simple Traversal of UDP through NATs - ; See http://wiki.freeswitch.org/wiki/NAT_Traversal - ; stun.freeswitch.org is not guaranteed to be running so use it in production at your own risk - freeswitch_attempt_stun = false - freeswitch_stun_server = ip.address.of.stun.server - freeswitch_echo_server = ip.address.of.freeswitch.server - freeswitch_echo_port = 50505 - freeswitch_well_known_ip = ip.address.of.freeswitch.server - ; - ; Type the address of your http server here, hostname is allowed. This is provided so you can specify a hostname - ; This is used by client for account verification. By default, it's the same as the freeswitch service server. - ; - ; opensim_well_known_http_address = Address_Of_Your_SIM_HTTP_Server_Hostname_Allowed - ; - freeswitch_default_timeout = 5000 - freeswitch_subscribe_retry = 120 - ; freeswitch_password_reset_url = - -[Groups] - Enabled = false - - ; This is the current groups stub in Region.CoreModules.Avatar.Groups. All the other settings below only really - ; apply to the Flotsam/SimianGrid GroupsModule - Module = Default - - ; This module can use a PHP XmlRpc server from the Flotsam project at http://code.google.com/p/flotsam/ - ; or from the SimianGrid project at http://code.google.com/p/openmetaverse - ;Module = GroupsModule - - ; Enable Group Notices - ;NoticesEnabled = true - - ; This makes the Groups modules very chatty on the console. - DebugEnabled = false - - ; Specify which messaging module to use for groups messaging and if it's enabled - ;MessagingModule = GroupsMessagingModule - ;MessagingEnabled = true - - ; Service connectors to the Groups Service. Select one depending on whether you're using a Flotsam XmlRpc backend or a SimianGrid backend - - ; SimianGrid Service for Groups - ;ServicesConnectorModule = SimianGroupsServicesConnector - ;GroupsServerURI = http://mygridserver.com:82/Grid/ - - ; Flotsam XmlRpc Service for Groups - ;ServicesConnectorModule = XmlRpcGroupsServicesConnector - ;GroupsServerURI = http://yourxmlrpcserver.com/xmlrpc.php - - ; XmlRpc Security settings. These must match those set on your backend groups service. - ;XmlRpcServiceReadKey = 1234 - ;XmlRpcServiceWriteKey = 1234 - - ; Disables HTTP Keep-Alive for XmlRpcGroupsServicesConnector HTTP Requests, - ; this is a work around fora problem discovered on some Windows based region servers. - ; Only disable keep alive if you see a large number (dozens) of the following Exceptions: - ; System.Net.WebException: The request was aborted: The request was canceled. - ; XmlRpcDisableKeepAlive = false - - -[PacketPool] - ; Enables the experimental packet pool. Yes, we've been here before. - ;RecyclePackets = true; - ;RecycleDataBlocks = true; - - -[InterestManagement] - ; This section controls how state updates are prioritized for each client - ; Valid values are Time, Distance, SimpleAngularDistance, and FrontBack - UpdatePrioritizationScheme = FrontBack - ReprioritizationEnabled = true - ReprioritizationInterval = 2000.0 - RootReprioritizationDistance = 10.0 - ChildReprioritizationDistance = 20.0 - - -[WebStats] -; View region statistics via a web page -; See http://opensimulator.org/wiki/FAQ#Region_Statistics_on_a_Web_Page -; Use a web browser and type in the "Login URI" + "/SStats/" -; For example- http://127.0.0.1:9000/SStats/ -; enabled=false - -[LandManagement] -; DefaultAdministratorGroupUUID = ""; -; DefaultAdministratorParcelName = ""; - -[MediaOnAPrim] - ; Enable media on a prim facilities - Enabled = true; - -[MOTD] -Enabled = false -Message = "The MOTD module is working!" - - -;; -;; These are defaults that are overwritten below in [Architecture]. -;; These defaults allow OpenSim to work out of the box with -;; zero configuration -;; -[AssetService] - DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" - AssetLoaderArgs = "assets/AssetSets.xml" - - ; Disable this to prevent the default asset set from being inserted into the - ; asset store each time the region starts - AssetLoaderEnabled = true - -[GridService] - ;; default standalone, overridable in StandaloneCommon.ini - StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" - - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - ;; The following is the configuration section for the new style services - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -[Architecture] - ; Choose exactly one and only one of the architectures below. - - Include-Standalone = "config-include/Standalone.ini" - ;Include-HGStandalone = "config-include/StandaloneHypergrid.ini" - ;Include-Grid = "config-include/Grid.ini" - ;Include-HGGrid = "config-include/GridHypergrid.ini" - ;Include-SimianGrid = "config-include/SimianGrid.ini" - ;Include-HyperSimianGrid = "config-include/HyperSimianGrid.ini" - - ; Then choose - ; config-include/StandaloneCommon.ini.example (if you're in standlone) OR - ; config-include/GridCommon.ini.example (if you're connected to a grid) - ; Copy to your own .ini there (without .example extension) and edit it - ; to customize your data - - - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - ;; The below pulls in optional module config files - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -[Modules] - Include-modules = "addon-modules/*/config/*.ini" - - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; ENSURE [Architecture] and [Modules] Sections with their "includes" -;; are last to allow for overrides -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/bin/OpenSimDefaults.ini.example b/bin/OpenSimDefaults.ini.example new file mode 100644 index 0000000..ef8f73a --- /dev/null +++ b/bin/OpenSimDefaults.ini.example @@ -0,0 +1,1325 @@ +[Startup] + ; Set this to true if you want to log crashes to disk + ; this can be useful when submitting bug reports. + save_crashes = false + + ; Directory to save crashes to if above is enabled + ; (default is /opensimdir/crashes/*.txt or C:\opensim\crashes\*.txt) + crash_dir = "crashes" + + ; Place to create a PID file + ; PIDFile = "/tmp/my.pid" + + ; Http proxy support for llHTTPRequest and dynamic texture loading + ; Set HttpProxy to the URL for your proxy server if you would like + ; to proxy llHTTPRequests through a firewall + ; HttpProxy = "http://proxy.com" + ; Set HttpProxyExceptions to a list of regular expressions for + ; URLs that you don't want going through the proxy such as servers + ; inside your firewall, separate patterns with a ';' + ; HttpProxyExceptions = ".mydomain.com;localhost" + + startup_console_commands_file = "startup_commands.txt" + shutdown_console_commands_file = "shutdown_commands.txt" + + ; To run a script every few minutes, set the script filename here + ; timer_Script = "filename" + + ; ## + ; ## SYSTEM + ; ## + + ; Sets the method that OpenSim will use to fire asynchronous + ; events. Valid values are UnsafeQueueUserWorkItem, + ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread. + ; SmartThreadPool is reported to work well on Mono/Linux, but + ; UnsafeQueueUserWorkItem has been benchmarked with better + ; performance on .NET/Windows + async_call_method = SmartThreadPool + + ; Max threads to allocate on the FireAndForget thread pool + ; when running with the SmartThreadPool option above + MaxPoolThreads = 15 + + ; ## + ; ## CLIENTS + ; ## + + ; Enables EventQueueGet Service. + EventQueue = true + + ; Set this to the DLL containing the client stack to use. + clientstack_plugin="OpenSim.Region.ClientStack.LindenUDP.dll" + + ; ## + ; ## REGIONS + ; ## + + ; Determine where OpenSimulator looks for the files which tell it which regions to server + ; Defaults to "filesystem" if this setting isn't present + region_info_source = "filesystem" + ; region_info_source = "web" + + ; Determines where the region XML files are stored if you are loading these from the filesystem. + ; Defaults to bin/Regions in your OpenSimulator installation directory + ; regionload_regionsdir="C:\somewhere\xmlfiles\" + + ; Determines the page from which regions xml is retrieved if you are loading these from the web + ; The XML here has the same format as it does on the filesystem (including the tag), + ; except that everything is also enclosed in a tag. + ; regionload_webserver_url = "http://example.com/regions.xml"; + + ; Draw objects on maptile. This step might take a long time if you've got a large number of + ; objects, so you can turn it off here if you'd like. + DrawPrimOnMapTile = true + ; Use terrain texture for maptiles if true, use shaded green if false + TextureOnMapTile = false + + ; Maximum total size, and maximum size where a prim can be physical + NonPhysicalPrimMax = 256 + PhysicalPrimMax = 10 ; (I think this was moved to the Regions.ini!) + ClampPrimSize = false + + ; Allow scripts to cross region boundaries. These are recompiled on the new region. + AllowScriptCrossing = false + + ; Allow compiled script binary code to cross region boundaries. + ; If you set this to "true", any region that can teleport to you can + ; inject ARBITRARY BINARY CODE into your system. Use at your own risk. + ; YOU HAVE BEEN WARNED!!! + TrustBinaries = false + + ; Combine all contiguous regions into one large megaregion + ; Order your regions from South to North, West to East in your regions.ini and then set this to true + ; Warning! Don't use this with regions that have existing content!, This will likely break them + CombineContiguousRegions = false + + ; If you have only one region in an instance, or to avoid the many bugs + ; that you can trigger in modules by restarting a region, set this to + ; true to make the entire instance exit instead of restarting the region. + ; This is meant to be used on systems where some external system like + ; Monit will restart any instance that exits, thereby making the shutdown + ; into a restart. + ;InworldRestartShutsDown = false + + ; ## + ; ## PRIM STORAGE + ; ## + + ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to + ; prevent frequently changing objects from heavily loading the region data store. + ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep. + ; + ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds + MinimumTimeBeforePersistenceConsidered = 60 + ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago + MaximumTimeBeforePersistenceConsidered = 600 + + ; Should avatars in neighbor sims see objects in this sim? + see_into_this_sim_from_neighbor = true + + ; ## + ; ## PHYSICS + ; ## + + ; if you would like to allow prims to be physical and move by physics with the physical checkbox in the client set this to true. + physical_prim = true + + ; Select a mesher here. + ; + ; Meshmerizer properly handles complex prims by using triangle meshes. + ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way + ; + ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports + ; Usually this is only a box + + meshing = Meshmerizer + ;meshing = ZeroMesher + + ; Choose one of the physics engines below + ; OpenDynamicsEngine is by some distance the most developed physics engine + ; basicphysics effectively does not model physics at all, making all objects phantom + + physics = OpenDynamicsEngine + ;physics = basicphysics + ;physics = POS + ;physics = modified_BulletX + + ; ## + ; ## PERMISSIONS + ; ## + + ;permissionmodules = "DefaultPermissionsModule" + + ;If any of the specified permissions modules fail to load, quit? + SecurePermissionsLoading = true + + ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy + ; any item, etc. This may not yet be implemented uniformally. + ; If set to true, then all permissions checks are carried out + ; Default is false + serverside_object_permissions = false + + allow_grid_gods = false + + ; This allows somne control over permissions + ; please note that this still doesn't duplicate SL, and is not intended to + ;region_owner_is_god = true + ;region_manager_is_god = false + ;parcel_owner_is_god = true + + ; Control user types that are allowed to create new scripts + ; Only enforced if serviceside_object_permissions is true + ; + ; Current possible values are + ; all - anyone can create scripts (subject to normal permissions) + ; gods - only administrators can create scripts (as long as allow_grid_gods is true) + ; Default value is all + ; allowed_script_creators = all + + ; Control user types that are allowed to edit (save) scripts + ; Only enforced if serviceside_object_permissions is true + ; + ; Current possible values are + ; all - anyone can edit scripts (subject to normal permissions) + ; gods - only administrators can edit scripts (as long as allow_grid_gods is true) + ; Default value is all + ; allowed_script_editors = all + + ; ## + ; ## SCRIPT ENGINE + ; ## + + DefaultScriptEngine = "XEngine" + + ; ## + ; ## WORLD MAP + ; ## + + ;WorldMapModule = "WorldMap" + ;MapImageModule = "MapImageModule" + ; Set to false to not generate any maptiles + ;GenerateMaptiles = "true" + ; Refresh (in seconds) the map tile periodically + ;MaptileRefresh = 0 + ; If not generating maptiles, use this static texture asset ID + ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" + + ; ## + ; ## EMAIL MODULE + ; ## + + ;emailmodule = DefaultEmailModule + + ; ## + ; ## ANIMATIONS + ; ## + + ; If enabled, enableFlySlow will change the primary fly state to + ; FLYSLOW, and the "always run" state will be the regular fly. + + enableflyslow = false + + ; PreJump is an additional animation state, but it probably + ; won't look right until the physics engine supports it + ; (i.e delays takeoff for a moment) + + ; This is commented so it will come on automatically once it's + ; supported. + + ; enableprejump = true + + ; Simulator Stats URI + ; Enable JSON simulator data by setting a URI name (case sensitive) + ; Stats_URI = "jsonSimStats" + + ; Make OpenSim start all regions woth logins disabled. They will need + ; to be enabled from the console if this is set + ; StartDisabled = false + + ; Image decoding. Use CSJ2K for layer boundary decoding if true, + ; OpenJPEG if false + ; UseCSJ2K = true + +[SMTP] + enabled=false + + ;enabled=true + ;internal_object_host=lsl.opensim.local + ;host_domain_header_from=127.0.0.1 + ;SMTP_SERVER_HOSTNAME=127.0.0.1 + ;SMTP_SERVER_PORT=25 + ;SMTP_SERVER_LOGIN=foo + ;SMTP_SERVER_PASSWORD=bar + +[Network] + ConsoleUser = "Test" + ConsolePass = "secret" + http_listener_port = 9000 + console_port = 0 + + ; ssl config: Experimental! The auto https config only really works definately on windows XP now + ; you need a Cert Request/Signed pair installed in the MY store with the CN specified below + ; you can use https on other platforms, but you'll need to configure the httpapi yourself for now + http_listener_ssl = false ; Also create a SSL server + http_listener_cn = "localhost" ; Use the cert with the common name + http_listener_sslport = 9001 ; Use this port for SSL connections + http_listener_ssl_cert = "" ; Currently unused, but will be used for OSHttpServer + + ; Hostname to use in llRequestURL/llRequestSecureURL + ; if not defined - default machine name is being used + ; (on Windows this mean NETBIOS name - useably only inside local network) + ; ExternalHostNameForLSL=127.0.0.1 + + ; What is reported as the "X-Secondlife-Shard" + ; Defaults to the user server url if not set + ; The old default is "OpenSim", set here for compatibility + shard = "OpenSim" + + ; What is reported as the "User-Agent" when using llHTTPRequest + ; Defaults to not sent if not set here. See the notes section in the wiki at + ; http://wiki.secondlife.com/wiki/LlHTTPRequest for comments on adding + ; " (Mozilla Compatible)" to the text where there are problems with a web server + ;user_agent = "OpenSim LSL (Mozilla Compatible)" + +[XMLRPC] + ; ## + ; ## Scripting XMLRPC mapper + ; ## + + ; If enabled, this will post an event, "xmlrpc_uri(string)" to the + ; script concurrently with the first remote_data event. + ; This will contain the fully qualified URI an external site needs + ; to use to send XMLRPC requests to that script + + ;XmlRpcRouterModule = "XmlRpcRouterModule" + ;XmlRpcPort = 20800 + +[ClientStack.LindenUDP] + ; Set this to true to process incoming packets asynchronously. Networking is + ; already separated from packet handling with a queue, so this will only + ; affect whether networking internals such as packet decoding and + ; acknowledgement accounting are done synchronously or asynchronously + ; + ;async_packet_handling = false + + ; The client socket receive buffer size determines how many + ; incoming requests we can process; the default on .NET is 8192 + ; which is about 2 4k-sized UDP datagrams. On mono this is + ; whatever the underlying operating system has as default; for + ; example, ubuntu 8.04 or SLES11 have about 111k, which is about + ; 27 4k-sized UDP datagrams (on linux platforms you can [as root] + ; do "sysctl net.core.rmem_default" to find out what your system + ; uses a default socket receive buffer size. + ; + ; client_socket_rcvbuf_size allows you to specify the receive + ; buffer size LLUDPServer should use. NOTE: this will be limited + ; by the system's settings for the maximum client receive buffer + ; size (on linux systems you can set that with "sysctl -w + ; net.core.rmem_max=X") + ; + ;client_socket_rcvbuf_size = 8388608 + + ; Maximum outbound bytes per second for a single scene. This can be used to + ; throttle total outbound UDP traffic for a simulator. The default value is + ; 0, meaning no throttling at the scene level. The example given here is + ; 20 megabits + ; + ;scene_throttle_max_bps = 2621440 + + ; Maximum bits per second to send to any single client. This will override + ; the user's viewer preference settings. The default value is 0, meaning no + ; aggregate throttling on clients (only per-category throttling). The + ; example given here is 1.5 megabits + ; + ;client_throttle_max_bps = 196608 + + ; Per-client bytes per second rates for the various throttle categories. + ; These are default values that will be overriden by clients + ; + ;resend_default = 12500 + ;land_default = 1000 + ;wind_default = 1000 + ;cloud_default = 1000 + ;task_default = 1000 + ;texture_default = 1000 + ;asset_default = 1000 + ;state_default = 1000 + + ; Per-client maximum burst rates in bytes per second for the various + ; throttle categories. These are default values that will be overriden by + ; clients + ; + ;resend_limit = 18750 + ;land_limit = 29750 + ;wind_limit = 18750 + ;cloud_limit = 18750 + ;task_limit = 18750 + ;texture_limit = 55750 + ;asset_limit = 27500 + ;state_limit = 37000 + + ; Configures how ObjectUpdates are aggregated. These numbers + ; do not literally mean how many updates will be put in each + ; packet that goes over the wire, as packets are + ; automatically split on a 1400 byte boundary. These control + ; the balance between responsiveness of interest list updates + ; and total throughput. Higher numbers will ensure more full- + ; sized packets and faster sending of data, but more delay in + ; updating interest lists + ; + ;PrimTerseUpdatesPerPacket = 25 + ;AvatarTerseUpdatesPerPacket = 10 + ;PrimFullUpdatesPerPacket = 100 + + ; TextureSendLimit determines how many packets will be put on + ; the outgoing queue each cycle. Like the settings above, this + ; is a balance between responsiveness to priority updates and + ; total throughput. Higher numbers will give a better + ; throughput at the cost of reduced responsiveness to client + ; priority changes or transfer aborts + ; + ;TextureSendLimit = 20 + + ; Quash and remove any light properties from attachments not on the + ; hands. This allows flashlights and lanterns to function, but kills + ; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps + ; will also be affected. + ; + ;DisableFacelights = "false" + +[Chat] + ; Controls whether the chat module is enabled. Default is true. + enabled = true; + + ; Distance in meters that whispers should travel. Default is 10m + whisper_distance = 10 + + ; Distance in meters that ordinary chat should travel. Default is 30m + say_distance = 30 + + ; Distance in meters that shouts should travel. Default is 100m + shout_distance = 100 + + ; Append a prefix to the god avatar names appearing in chat whilst in god mode + ; admin_prefix = "@" + + +[Messaging] + ; Control which region module is used for instant messaging. + ; Default is InstantMessageModule (this is the name of the core IM module as well as the setting) + InstantMessageModule = InstantMessageModule + ; MessageTransferModule = MessageTransferModule + ; OfflineMessageModule = OfflineMessageModule + ; OfflineMessageURL = http://yourserver/Offline.php + ; MuteListModule = MuteListModule + ; MuteListURL = http://yourserver/Mute.php + + ; Control whether group messages are forwarded to offline users. Default is true. + ; ForwardOfflineGroupMessages = true + + +[ODEPhysicsSettings] + ;## + ;## World Settings + ;## + + ;Gravity. Feel like falling up? change world_gravityz to 9.8 instead of -9.8. m/s + world_gravityx = 0 + world_gravityy = 0 + world_gravityz = -9.8 + + ; World Step size. (warning these are dangerous. Changing these will probably cause your scene to explode dramatically) + ; reference: fps = (0.09375/ODE_STEPSIZE) * 1000; + world_stepsize = 0.020 + world_internal_steps_without_collisions = 10 + + ;World Space settings. Affects memory consumption vs Collider CPU time for avatar and physical prim + world_hashspace_size_low = -4 + world_hashSpace_size_high = 128 + + ;Dynamic space settings Affects memory consumption vs Collider CPU time for static prim + meters_in_small_space = 29.9 + small_hashspace_size_low = -4 + small_hashspace_size_high = 66 + + ; ## + ; ## Contact properties. (the stuff that happens when things come in contact with each other) + ; ## + + ; surface layer around geometries other geometries can sink into before generating a contact + world_contact_surface_layer = 0.001 + + ; Filtering collisions helps keep things stable physics wise, but sometimes + ; it can be overzealous. If you notice bouncing, chances are it's that. + filter_collisions = false + + ; Non Moving Terrain Contact (avatar isn't moving) + nm_terraincontact_friction = 255.0 + nm_terraincontact_bounce = 0.1 + nm_terraincontact_erp = 0.1025 + + ; Moving Terrain Contact (avatar is moving) + m_terraincontact_friction = 75.0 + m_terraincontact_bounce = 0.05 + m_terrainContact_erp = 0.05025 + + ; Moving Avatar to object Contact + m_avatarobjectcontact_friction = 75.0 + m_avatarobjectcontact_bounce = 0.1 + + ; Object to Object Contact and Non-Moving Avatar to object + objectcontact_friction = 250.0 + objectcontact_bounce = 0.2 + + ; ## + ; ## Avatar Control + ; ## + + ; PID Controller Settings. These affect the math that causes the avatar to reach the + ; desired velocity + ; See http://en.wikipedia.org/wiki/PID_controller + + av_pid_derivative_linux = 2200.0 + av_pid_proportional_linux = 900.0; + + av_pid_derivative_win = 2200.0 + av_pid_proportional_win = 900.0; + + ;girth of the avatar. Adds radius to the height also + av_capsule_radius = 0.37 + + ; Max force permissible to use to keep the avatar standing up straight + av_capsule_standup_tensor_win = 550000 + av_capsule_standup_tensor_linux = 550000 + + ; specifies if the capsule should be tilted (=true; old compatibility mode) + ; or straight up-and-down (=false; better and more consistent physics behavior) + av_capsule_tilted = false + + ; used to calculate mass of avatar. + ; float AVvolume = (float) (Math.PI*Math.Pow(CAPSULE_RADIUS, 2)*CAPSULE_LENGTH); + ; av_density * AVvolume; + av_density = 80 + + ; use this value to cut 52% of the height the sim gives us + av_height_fudge_factor = 0.52 + + ; Movement. Smaller is faster. + + ; speed of movement with Always Run off + av_movement_divisor_walk = 1.3 + + ; speed of movement with Always Run on + av_movement_divisor_run = 0.8 + + ; When the avatar flies, it will be moved up by this amount off the ground (in meters) + minimum_ground_flight_offset = 3.0 + + ; ## + ; ## Object options + ; ## + + ; used in the mass calculation. + geometry_default_density = 10.000006836 + + ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep + body_frames_auto_disable = 20 + + ; used to control llMove2Target + body_pid_derivative = 35 + body_pid_gain = 25 + + ; maximum number of contact points to generate per collision + contacts_per_collision = 80 + + ; amount of time a geom/body will try to cross a region border before it gets disabled + geom_crossing_failures_before_outofbounds = 5 + + ; start throttling the object updates if object comes in contact with 3 or more other objects + geom_contactpoints_start_throttling = 3 + + ; send 1 update for every x updates below when throttled + geom_updates_before_throttled_update = 15 + + ; Used for llSetStatus. How rigid the object rotation is held on the axis specified + body_motor_joint_maxforce_tensor_linux = 5 + body_motor_joint_maxforce_tensor_win = 5 + + ; Maximum mass an object can be before it is clamped + maximum_mass_object = 10000.01 + + ; ## + ; ## Sculpted Prim settings + ; ## + + ; Do we want to mesh sculpted prim to collide like they look? + mesh_sculpted_prim = true + + ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies + mesh_lod = 32 + + ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies + mesh_physical_lod = 16 + + ; ## + ; ## Physics logging settings - logfiles are saved to *.DIF files + ; ## + + ; default is false + ;physics_logging = true + ;; every n simulation iterations, the physics snapshot file is updated + ;physics_logging_interval = 50 + ;; append to existing physics logfile, or overwrite existing logfiles? + ;physics_logging_append_existing_logfile = true + + ; ## + ; ## Joint support + ; ## + + ; if you would like physics joints to be enabled through a special naming convention in the client, set this to true. + ; (see NINJA Physics documentation, http://opensimulator.org/wiki/NINJA_Physics) + ; default is false + ;use_NINJA_physics_joints = true + + ; ## + ; ## additional meshing options + ; ## + + ; physical collision mesh proxies are normally created for complex prim shapes, and collisions for simple boxes and + ; spheres are computed algorithmically. If you would rather have mesh proxies for simple prims, you can set this to + ; true. Note that this will increase memory usage and region startup time. Default is false. + ;force_simple_prim_meshing = true + + +[RemoteAdmin] + enabled = false + + ; Set this to a nonzero value to have remote admin use a different port + port = 0 + + ; This password is required to make any XMLRPC call (should be set as the "password" parameter) + access_password = unknown + + ; set this variable to true if you want the create_region XmlRpc + ; call to unconditionally enable voice on all parcels for a newly + ; created region [default: false] + create_region_enable_voice = false + + ; set this variable to false if you want the create_region XmlRpc + ; call to create all regions as private per default (can be + ; overridden in the XmlRpc call) [default: true] + create_region_public = false + + ; the create_region XmlRpc call uses region_file_template to generate + ; the file name of newly create regions (if they are created + ; persistent). the parameter available are: + ; {0} - X location + ; {1} - Y location + ; {2} - region UUID + ; {3} - region port + ; {4} - region name with " ", ":", "/" mapped to "_" + region_file_template = "{0}x{1}-{2}.ini" + + ; we can limit the number of regions that XmlRpcCreateRegion will + ; allow by setting this to a positive, non-0 number: as long as the + ; number of regions is below region_limits, XmlRpcCreateRegion will + ; succeed. setting region_limit to 0 disables the check. + ; default is 0 + ;region_limit = 0 + + ; enable only those methods you deem to be appropriate using a | delimited whitelist + ; for example, enabled_methods = admin_broadcast|admin_region_query|admin_save_oar|admin_save_xml + ; if this parameter is not specified but enabled = true, all methods will be available + enabled_methods = all + + ; specify the default appearance for an avatar created through the remote admin interface + ; This will only take effect is the file specified by the default_appearance setting below exists + ;default_male = Default Male + ;default_female = Default Female + + ; update appearance copies inventory items and wearables of default avatars. if this value is false + ; (default), just worn assets are copied to the Clothes folder; if true, all Clothes and Bodyparts + ; subfolders are copied. the receiver will wear the same items the default avatar did wear. + ;copy_folders = false + + ; path to default appearance XML file that specifies the look of the default avatars + ;default_appearance = default_appearance.xml + +[RestPlugins] + ; Change this to true to enable REST Plugins. This must be true if you wish to use + ; REST Region or REST Asset and Inventory Plugins + enabled = false + god_key = SECRET + prefix = /admin + + +[RestRegionPlugin] + ; Change this to true to enable the REST Region Plugin + enabled = false + + +[RestHandler] + ; Change this to true to enable the REST Asset and Inventory Plugin + enabled = false + authenticate = true + secured = true + extended-escape = true + realm = OpenSim REST + dump-asset = false + path-fill = true + dump-line-size = 32 + flush-on-error = true + + +; Uncomment the following for IRC bridge +; experimental, so if it breaks... keep both parts... yada yada +; also, not good error detection when it fails +;[IRC] + ;enabled = true ; you need to set this otherwise it won't connect + ;server = name.of.irc.server.on.the.net + ;; user password - only use this if the server requires one + ;password = mypass + ;nick = OpenSimBotNameProbablyMakeThisShorter + ;channel = #the_irc_channel_you_want_to_connect_to + ;user = "USER OpenSimBot 8 * :I'm an OpenSim to IRC bot" + ;port = 6667 + ;; channel to listen for configuration commands + ;commands_enabled = false + ;command_channel = 2777 + ;report_clients = true + ;; relay private chat connections + ;; relay_private_channels = true: will relay IRC chat from/to private in-world channels + ;; relay_private_channel_out -- channel to send messages out to the IRC bridge + ;; relay_private_channel_in -- channel to receive message from the IRC bridge + ;; relay_chat = false: IRC bridge will not relay normal chat + ;; access_password -- simple security device + ;; + ;; so, to just relay chat from an IRC channel to in-world region and vice versa: + ;; + ;; relay_private_channels = false + ;; relay_chat = true + ;; + ;; to relay chat only to/from private in-world channels: + ;; + ;; relay_chat = false + ;; relay_private_channels = true + ;; relay_private_channel_in = 2226 + ;; relay_private_channel_out = 2225 + ;; + ;; in this example, all chat coming in from IRC will be send out via + ;; in-world channel 2226, and all chat from in-world channel 2225 will + ;; be relayed to the IRC channel. + ;; + ;relay_private_channels = false + ;relay_private_channel_in = 2226 + ;relay_private_channel_out = 2225 + ;relay_chat = true + ;access_password = foobar + + ;;fallback_region = name of "default" region + ;;MSGformat fields : 0=botnick, 1=user, 2=region, 3=message + ;; must start with "PRIVMSG {0} : " or irc server will get upset + ;;for : : + ;;msgformat = "PRIVMSG {0} :<{1} in {2}>: {3}" + ;;for : - : + ;msgformat = "PRIVMSG {0} : {3} - {1} of {2}" + ;;for : - from : + ;;msgformat = "PRIVMSG {0} : {3} - from {1}" + + ;; exclude_list allows you to stop the IRC connector from announcing the + ;;arrival and departure of certain users. For example: admins, bots. + + ;exclude_list=User 1,User 2,User 3 + + +;[CMS] + ;enabled = true + ;channel = 345 + + +; Uncomment the following to control the progression of daytime +; in the Sim. The defaults are what is shown below +;[Sun] + ; number of wall clock hours for an opensim day. 24.0 would mean realtime + ;day_length = 4 + ; Year length in days + ;year_length = 60 + ; Day to Night Ratio + ;day_night_offset = 0.45 + ; send a Sun update every update_interval # of frames. A lower number will + ; make for smoother sun transition at the cost of network + ;update_interval = 100 + + +[Wind] + ; Enables the wind module. Default is true + enabled = true + + ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second + wind_update_rate = 150 + + ; The Default Wind Plugin to load + wind_plugin = SimpleRandomWind + + ; These settings are specific to the ConfigurableWind plugin + ; To use ConfigurableWind as the default, simply change wind_plugin to ConfigurableWind and uncomment the following. + ; avg_strength = 5.0 + ; avg_direction = 0.0 + ; var_strength = 0.0 + ; var_direction = 0.0 + ; rate_change = 1.0 + + ; This setting is specific to the SimpleRandomWind plugin + ; Adjusts wind strength. 0.0 = no wind, 1.0 = normal wind. Default is 1.0 + strength = 1.0 + + +[Cloud] + ; Enable this to generate classic particle clouds above the sim. + ; default is disabled - turn it on here + enabled = false + + ; Density of cloud cover 0.0 to 1.0 Defult 0.5 + density = 0.5 + + ; update interval for the cloud cover data returned by llCloud(). + ; default is 1000 + cloud_update_rate = 1000 + +[LightShare] + + ; This enables the transmission of Windlight scenes to supporting clients, such as the Meta7 viewer. + ; It has no ill effect on viewers which do not support server-side windlight settings. + ; Currently we only have support for MySQL databases. + enable_windlight = false; + +[Trees] + ; Enable this to allow the tree module to manage your sim trees, including growing, reproducing and dying + ; default is false + active_trees = false + + ; Density of tree population + tree_density = 1000.0 + + +[VectorRender] + + ; the font to use for rendering text (default: Arial) + ; font_name = "Arial" + + +[LL-Functions] + ; Set the following to true to allow administrator owned scripts to execute console commands + ; currently unused + ; AllowosConsoleCommand=false + + AllowGodFunctions = false + + ; Maximum number of llListen events we allow per script + ; Set this to 0 to have no limit imposed. + max_listens_per_script = 64 + + +[DataSnapshot] + ; The following set of configs pertains to search. + ; Set index_sims to true to enable search engines to index your searchable data + ; If false, no data will be exposed, DataSnapshot module will be off, and you can ignore the rest of these search-related configs + ; default is false + index_sims = false + + ; The variable data_exposure controls what the regions expose: + ; minimum: exposes only things explicitly marked for search + ; all: exposes everything + data_exposure = minimum + + ; If search is on, change this to your grid name; will be ignored for standalones + gridname = "OSGrid" + + ; Period between data snapshots, in seconds. 20 minutes, for starters, so that you see the initial changes fast. + ; Later, you may want to increase this to 3600 (1 hour) or more + default_snapshot_period = 1200 + + ; This will be created in bin, if it doesn't exist already. It will hold the data snapshots. + snapshot_cache_directory = "DataSnapshot" + + ; This semicolon-separated string serves to notify specific data services about the existence + ; of this sim. Uncomment if you want to index your data with this and/or other search providers. + ;data_services="http://metaverseink.com/cgi-bin/register.py" + + +[Economy] + ; These economy values get used in the BetaGridLikeMoneyModule. - This module is for demonstration only - + + ; Enables selling things for $0 + SellEnabled = "false" + + ; 45000 is the highest value that the sim could possibly report because of protocol constraints + ObjectCapacity = 45000 + + ; Money Unit fee to upload textures, animations etc + PriceUpload = 0 + + ; Money Unit fee to create groups + PriceGroupCreate = 0 + + ; We don't really know what the rest of these values do. These get sent to the client + ; These taken from Agni at a Public Telehub. Change at your own risk. + ObjectCount = 0 + PriceEnergyUnit = 100 + PriceObjectClaim = 10 + PricePublicObjectDecay = 4 + PricePublicObjectDelete = 4 + PriceParcelClaim = 1 + PriceParcelClaimFactor = 1 + + PriceRentLight = 5 + TeleportMinPrice = 2 + TeleportPriceExponent = 2 + EnergyEfficiency = 1 + PriceObjectRent = 1 + PriceObjectScaleFactor = 10 + PriceParcelRent = 1 + +[Git] +Enabled = true +RepoPath = "git" + +;How many seconds between the scheduled commits? +CommitInterval = 21600 + +;Disable all except the initial commit? +DisableNonEssentialCommits = false + +;Should we automatically commit when necessary to avoid objects never making it into the repo? +UseSafetyCommit = true + + +[SVN] + Enabled = false + Directory = SVNmodule\repo + URL = "svn://your.repo.here/" + Username = "user" + Password = "password" + ImportOnStartup = false + Autosave = false + AutoSavePeriod = 15 ; Number of minutes between autosave backups + + +[XEngine] + ; Enable this engine in this OpenSim instance + Enabled = true + + ; How many threads to keep alive even if nothing is happening + MinThreads = 2 + + ; How many threads to start at maximum load + MaxThreads = 100 + + ; Time a thread must be idle (in seconds) before it dies + IdleTimeout = 60 + + ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest") + Priority = "BelowNormal" + + ; Maximum number of events to queue for a script (excluding timers) + MaxScriptEventQueue = 300 + + ; Stack size per thread created + ThreadStackSize = 262144 + + ; Set this to true (the default) to load each script into a separate + ; AppDomain. Setting this to false will load all script assemblies into the + ; current AppDomain, which will reduce the per-script overhead at the + ; expense of reduced security and the inability to garbage collect the + ; script assemblies + AppDomainLoading = true + + ; Rate to poll for asynchronous command replies (ms) + ; currently unused + ;AsyncLLCommandLoopms = 50 + + ; Save the source of all compiled scripts + WriteScriptSourceToDebugFile = false + + ; Default language for scripts + DefaultCompileLanguage = lsl + + ; List of allowed languages (lsl,vb,js,cs) + ; AllowedCompilers=lsl,cs,js,vb. + ; *warning*, non lsl languages have access to static methods such as System.IO.File. Enable at your own risk. + AllowedCompilers=lsl + + ; Compile debug info (line numbers) into the script assemblies + CompileWithDebugInformation = true + + ; Allow the user of mod* functions. This allows a script to pass messages + ; to a region module via the modSendCommand() function + ; Default is false + AllowMODFunctions = false + + ; Allow the use of os* functions (some are dangerous) + AllowOSFunctions = false + + ; Allow the user of LightShare functions + AllowLightShareFunctions = false + + ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe + OSFunctionThreatLevel = VeryLow + + ; Interval (s) between background save of script states + SaveInterval = 120 + + ; Interval (s) between maintenance runs (0 = disable) + MaintenanceInterval = 10 + + ; Time a script can spend in an event handler before it is interrupted + EventLimit = 30 + + ; If a script overruns it's event limit, kill the script? + KillTimedOutScripts = false + + ; Sets the multiplier for the scripting delays + ScriptDelayFactor = 1.0 + + ; The factor the 10 m distances llimits are multiplied by + ScriptDistanceLimitFactor = 1.0 + + ; Maximum length of notecard line read + ; Increasing this to large values potentially opens + ; up the system to malicious scripters + ; NotecardLineReadCharsMax = 255 + + ; Sensor settings + SensorMaxRange = 96.0 + SensorMaxResults = 16 + + ; OS Functions enable/disable + ; For each function, you can add one line, as shown + ; The default for all functions allows them if below threat level + + ; true allows the use of the function unconditionally + ; Allow_osSetRegionWaterHeight = true + + ; false disables the function completely + ; Allow_osSetRegionWaterHeight = false + + ; Comma separated list of UUIDS allows the function for that list of UUIDS + ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb + + ; You can also use script creators as the uuid + ; Creators_osSetRegionWaterHeight = , ... + + ; If both Allow_ and Creators_ are given, effective permissions + ; are the union of the two. + + ; Allow for llCreateLink and llBreakLink to work without asking for permission + ; only enable this in a trusted environment otherwise you may be subject to hijacking + ; AutomaticLinkPermission = false + + ; Disable underground movement of prims (default true); set to + ; false to allow script controlled underground positioning of + ; prims + ; DisableUndergroundMovement = true + + +[OpenGridProtocol] + ;These are the settings for the Open Grid Protocol.. the Agent Domain, Region Domain, you know.. + ;On/true or Off/false + ogp_enabled=false + + ;Name Prefix/suffix when using OGP + ogp_firstname_prefix="" + ogp_lastname_suffix="_EXTERNAL" + + +[Concierge] + ; Enable concierge module + ; Default is false + enabled = false + + ; name of the concierge + whoami = "jeeves" + + ; password for updating the welcome message templates via XmlRpc + password = SECRET + + ; regex specifying for which regions concierge service is desired; if + ; empty, then for all + regions = "^MeetingSpace-" + + ; for each region that matches the regions regexp you can provide + ; (optionally) a welcome template using format substitution: + ; {0} is replaced with the name of the avatar entering the region + ; {1} is replaced with the name of the region + ; {2} is replaced with the name of the concierge (whoami variable above) + + welcomes = /path/to/welcome/template/directory + + ; Concierge can send attendee lists to an event broker whenever an + ; avatar enters or leaves a concierged region. the URL is subject + ; to format substitution: + ; {0} is replaced with the region's name + ; {1} is replaced with the region's UUID + broker = "http://broker.place.com/{1}" + + +[RegionReady] + ; Enable this module to get notified once all items and scripts in the region have been completely loaded and compiled + ; default is false + enabled = false + + ; Channel on which to signal region readiness through a message + ; formatted as follows: "{server_startup|oar_file_load},{0|1},n,[oar error]" + ; - the first field indicating whether this is an initial server startup + ; - the second field is a number indicating whether the OAR file loaded ok (1 == ok, 0 == error) + ; - the third field is a number indicating how many scripts failed to compile + ; - "oar error" if supplied, provides the error message from the OAR load + channel_notify = -800 + + +[MRM] + ; Enables the Mini Region Modules Script Engine. + ; default is false + Enabled = false + + ; Runs MRM in a Security Sandbox + ; WARNING: DISABLING IS A SECURITY RISK. + Sandboxed = true + + ; The level sandbox to use, adjust at your OWN RISK. + ; Valid values are: + ; * FullTrust + ; * SkipVerification + ; * Execution + ; * Nothing + ; * LocalIntranet + ; * Internet + ; * Everything + SandboxLevel = "Internet" + + ; Only allow Region Owners to run MRMs + ; May represent a security risk if you disable this. + OwnerOnly = true + +[Hypergrid] + ; Keep it false for now. Making it true requires the use of a special client in order to access inventory + safemode = false + +[VivoxVoice] + ; The VivoxVoice module will allow you to provide voice on your + ; region(s). It uses the same voice technology as the LL grid and + ; works with recent LL clients (we have tested 1.22.9.110075, so + ; anything later ought to be fine as well). + ; + ; For this to work you need to obtain an admin account from Vivox + ; that allows you to create voice accounts and region channels. + + enabled = false + + ; vivox voice server + vivox_server = www.foobar.vivox.com + + ; vivox SIP URI + vivox_sip_uri = foobar.vivox.com + + ; vivox admin user name + vivox_admin_user = DeepThroat + + ; vivox admin password + vivox_admin_password = VoiceG4te + + ; channel type: "channel" or "positional" + ; - positional: spatial sound (default) + ; - channel: normal "conference call", no spatial sound + ;vivox_channel_type = positional + + ; channel characteristics (unless you know what you are doing, i'd + ; leave them as they are --- now you WILL muck around with them, + ; huh? sigh) + + ; channel distance model: + ; 0 - no attenuation + ; 1 - inverse distance attenuation + ; 2 - linear attenuation (default) + ; 3 - exponential attenuation + ;vivox_channel_distance_model = 2 + + ; channel mode: + ; - "open" (default) + ; - "lecture" + ; - "presentation" + ; - "auditorium" + ;vivox_channel_mode = "open" + + ; channel roll off: rate of attenuation + ; - a value between 1.0 and 4.0, default is 2.0 + ;vivox_channel_roll_off = 2.0 + + ; channel max range: distance at which channel is silent + ; - a value between 0 and 160, default is 80 + ;vivox_channel_max_range = 80 + + ; channel clamping distance: distance before attenuation applies + ; - a value between 0 and 160, default is 10 + ;vivox_channel_clamping_distance = 10 + +[FreeSwitchVoice] + ; In order for this to work you need a functioning FreeSWITCH PBX set up. + ; Configuration details at http://opensimulator.org/wiki/Freeswitch_Module + enabled = false + ; FreeSWITCH server is going to contact us and ask us all sorts of things + freeswitch_server_user = freeswitch + freeswitch_server_pass = password + freeswitch_api_prefix = /api + ; external IP address of your OpenSim voice enabled region + ; note: all regions running on same OpenSim.exe will be enabled + freeswitch_service_server = ip.address.of.your.sim + ; this should be the same port the region listens on + freeswitch_service_port = 9000 + freeswitch_realm = ip.address.of.freeswitch.server + freeswitch_sip_proxy = ip.address.of.freeswitch.server:5060 + ; STUN = Simple Traversal of UDP through NATs + ; See http://wiki.freeswitch.org/wiki/NAT_Traversal + ; stun.freeswitch.org is not guaranteed to be running so use it in production at your own risk + freeswitch_attempt_stun = false + freeswitch_stun_server = ip.address.of.stun.server + freeswitch_echo_server = ip.address.of.freeswitch.server + freeswitch_echo_port = 50505 + freeswitch_well_known_ip = ip.address.of.freeswitch.server + ; + ; Type the address of your http server here, hostname is allowed. This is provided so you can specify a hostname + ; This is used by client for account verification. By default, it's the same as the freeswitch service server. + ; + ; opensim_well_known_http_address = Address_Of_Your_SIM_HTTP_Server_Hostname_Allowed + ; + freeswitch_default_timeout = 5000 + freeswitch_subscribe_retry = 120 + ; freeswitch_password_reset_url = + +[Groups] + Enabled = false + + ; This is the current groups stub in Region.CoreModules.Avatar.Groups. All the other settings below only really + ; apply to the Flotsam/SimianGrid GroupsModule + Module = Default + + ; This module can use a PHP XmlRpc server from the Flotsam project at http://code.google.com/p/flotsam/ + ; or from the SimianGrid project at http://code.google.com/p/openmetaverse + ;Module = GroupsModule + + ; Enable Group Notices + ;NoticesEnabled = true + + ; This makes the Groups modules very chatty on the console. + DebugEnabled = false + + ; Specify which messaging module to use for groups messaging and if it's enabled + ;MessagingModule = GroupsMessagingModule + ;MessagingEnabled = true + + ; Service connectors to the Groups Service. Select one depending on whether you're using a Flotsam XmlRpc backend or a SimianGrid backend + + ; SimianGrid Service for Groups + ;ServicesConnectorModule = SimianGroupsServicesConnector + ;GroupsServerURI = http://mygridserver.com:82/Grid/ + + ; Flotsam XmlRpc Service for Groups + ;ServicesConnectorModule = XmlRpcGroupsServicesConnector + ;GroupsServerURI = http://yourxmlrpcserver.com/xmlrpc.php + + ; XmlRpc Security settings. These must match those set on your backend groups service. + ;XmlRpcServiceReadKey = 1234 + ;XmlRpcServiceWriteKey = 1234 + + ; Disables HTTP Keep-Alive for XmlRpcGroupsServicesConnector HTTP Requests, + ; this is a work around fora problem discovered on some Windows based region servers. + ; Only disable keep alive if you see a large number (dozens) of the following Exceptions: + ; System.Net.WebException: The request was aborted: The request was canceled. + ; XmlRpcDisableKeepAlive = false + + +[PacketPool] + ; Enables the experimental packet pool. Yes, we've been here before. + ;RecyclePackets = true; + ;RecycleDataBlocks = true; + + +[InterestManagement] + ; This section controls how state updates are prioritized for each client + ; Valid values are Time, Distance, SimpleAngularDistance, and FrontBack + UpdatePrioritizationScheme = FrontBack + ReprioritizationEnabled = true + ReprioritizationInterval = 2000.0 + RootReprioritizationDistance = 10.0 + ChildReprioritizationDistance = 20.0 + + +[WebStats] +; View region statistics via a web page +; See http://opensimulator.org/wiki/FAQ#Region_Statistics_on_a_Web_Page +; Use a web browser and type in the "Login URI" + "/SStats/" +; For example- http://127.0.0.1:9000/SStats/ +; enabled=false + +[LandManagement] +; DefaultAdministratorGroupUUID = ""; +; DefaultAdministratorParcelName = ""; + +[MediaOnAPrim] + ; Enable media on a prim facilities + Enabled = true; + +[MOTD] +Enabled = false +Message = "The MOTD module is working!" + + +;; +;; These are defaults that are overwritten below in [Architecture]. +;; These defaults allow OpenSim to work out of the box with +;; zero configuration +;; +[AssetService] + DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" + AssetLoaderArgs = "assets/AssetSets.xml" + + ; Disable this to prevent the default asset set from being inserted into the + ; asset store each time the region starts + AssetLoaderEnabled = true + +[GridService] + ;; default standalone, overridable in StandaloneCommon.ini + StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" + + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; The following is the configuration section for the new style services + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +[Architecture] + ; Choose exactly one and only one of the architectures below. + + Include-Standalone = "config-include/Standalone.ini" + ;Include-HGStandalone = "config-include/StandaloneHypergrid.ini" + ;Include-Grid = "config-include/Grid.ini" + ;Include-HGGrid = "config-include/GridHypergrid.ini" + ;Include-SimianGrid = "config-include/SimianGrid.ini" + ;Include-HyperSimianGrid = "config-include/HyperSimianGrid.ini" + + ; Then choose + ; config-include/StandaloneCommon.ini.example (if you're in standlone) OR + ; config-include/GridCommon.ini.example (if you're connected to a grid) + ; Copy to your own .ini there (without .example extension) and edit it + ; to customize your data + + + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; The below pulls in optional module config files + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +[Modules] + Include-modules = "addon-modules/*/config/*.ini" + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; ENSURE [Architecture] and [Modules] Sections with their "includes" +;; are last to allow for overrides +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -- cgit v1.1 From 9f7aa7deef82fcace272002b06dad6c0929e999c Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 17 Sep 2010 21:40:49 +0100 Subject: Add LandServices to make landmarks work right in grids --- bin/config-include/Grid.ini | 1 + bin/config-include/GridHypergrid.ini | 1 + 2 files changed, 2 insertions(+) (limited to 'bin') diff --git a/bin/config-include/Grid.ini b/bin/config-include/Grid.ini index 1794573..5624a38 100644 --- a/bin/config-include/Grid.ini +++ b/bin/config-include/Grid.ini @@ -20,6 +20,7 @@ SimulationServices = "RemoteSimulationConnectorModule" EntityTransferModule = "BasicEntityTransferModule" InventoryAccessModule = "BasicInventoryAccessModule" + LandServices = "RemoteLandServicesConnector" LandServiceInConnector = true NeighbourServiceInConnector = true diff --git a/bin/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini index cb9ead4..409b2a9 100644 --- a/bin/config-include/GridHypergrid.ini +++ b/bin/config-include/GridHypergrid.ini @@ -23,6 +23,7 @@ SimulationServices = "RemoteSimulationConnectorModule" EntityTransferModule = "HGEntityTransferModule" InventoryAccessModule = "HGInventoryAccessModule" + LandServices = "RemoteLandServicesConnector" LandServiceInConnector = true NeighbourServiceInConnector = true -- cgit v1.1 From 6f689f591a295195cf8db3c37bcd382502d468d7 Mon Sep 17 00:00:00 2001 From: Melanie Date: Sun, 26 Sep 2010 17:56:31 +0100 Subject: Merge Master --- bin/OpenSim.ini.example | 4 ++++ bin/OpenSimDefaults.ini | 6 ++++++ 2 files changed, 10 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 109e0aa..2b78014 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -546,6 +546,10 @@ ;; prims ; DisableUndergroundMovement = true + ;; Path to script engine assemblies + ;; Default is ./bin/ScriptEngines + ; ScriptEnginesPath = "ScriptEngines" + [MRM] ;; Enables the Mini Region Modules Script Engine. ;; default is false diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index e78f25b..4c579c9 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -135,6 +135,10 @@ meshing = Meshmerizer ;meshing = ZeroMesher + + ;; Path to decoded sculpty maps + ;; Defaults to "j2kDecodeCache + ;DecodedSculpMapPath = "j2kDecodeCache" ; Choose one of the physics engines below ; OpenDynamicsEngine is by some distance the most developed physics engine @@ -1000,6 +1004,8 @@ ; prims ; DisableUndergroundMovement = true + ;; Path to script assemblies + ; ScriptEnginesPath = "ScriptEngines" [OpenGridProtocol] ;These are the settings for the Open Grid Protocol.. the Agent Domain, Region Domain, you know.. -- cgit v1.1 From b4fe6da4eb5152e2023410f47aa1fe3cac715673 Mon Sep 17 00:00:00 2001 From: Melanie Date: Sun, 3 Oct 2010 16:57:45 +0100 Subject: Add the Warp3D dll --- bin/Warp3D.dll | Bin 0 -> 77824 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 bin/Warp3D.dll (limited to 'bin') diff --git a/bin/Warp3D.dll b/bin/Warp3D.dll new file mode 100644 index 0000000..8781a82 Binary files /dev/null and b/bin/Warp3D.dll differ -- cgit v1.1 From 50b03d08a8cdec9359adcece5b4645a6dc821d26 Mon Sep 17 00:00:00 2001 From: Melanie Date: Mon, 4 Oct 2010 00:04:42 +0200 Subject: Add linden prim renderer and update libOMV --- bin/OpenMetaverse.Rendering.Linden.dll | Bin 0 -> 40960 bytes bin/OpenMetaverse.StructuredData.XML | 398 +- bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 95232 bytes bin/OpenMetaverse.XML | 36146 ++++++++++++++++--------------- bin/OpenMetaverse.dll | Bin 1691648 -> 1768960 bytes bin/OpenMetaverse.dll.config | 14 +- bin/OpenMetaverseTypes.XML | 3302 +-- bin/OpenMetaverseTypes.dll | Bin 106496 -> 105984 bytes 8 files changed, 20577 insertions(+), 19283 deletions(-) create mode 100644 bin/OpenMetaverse.Rendering.Linden.dll (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Linden.dll b/bin/OpenMetaverse.Rendering.Linden.dll new file mode 100644 index 0000000..9642a8d Binary files /dev/null and b/bin/OpenMetaverse.Rendering.Linden.dll differ diff --git a/bin/OpenMetaverse.StructuredData.XML b/bin/OpenMetaverse.StructuredData.XML index b8f45b1..927e960 100644 --- a/bin/OpenMetaverse.StructuredData.XML +++ b/bin/OpenMetaverse.StructuredData.XML @@ -1,333 +1,363 @@ - OpenMetaverse.StructuredData + /home/root/libopenmetaverse/bin/OpenMetaverse.StructuredData - + - + + - + + - - + - - - - + - - - - + - - - - + - - - - + - - - - - + - - - - - - + - - - - - + - - - - - + - - - - + - - - - + - - - - + - + Uses reflection to create an SDMap from all of the SD + serializable types in an object - - + Class or struct containing serializable types + An SDMap holding the serialized values from the + container object - + - + Uses reflection to deserialize member variables in an object from + an SDMap - + Reference to an object to fill with deserialized + values + Serialized values to put in the target + object - + - - - - - + - - - - - + - - - - - + - - - - + - - - - + - - - - + - - - - + - - - - + - - - - + - - - - + - - - - - - - - - - - - - - - + - - - + + + + - + - + + + + - - + + + + + + + - - + + + + + + + - - + + + + + - - + + + + + + + + + - - + + + + + + + + + - - + + + + + + + + + - - + + + + + + + - - + + + + + + + - - + + + + + + + - - + + + + + + + - - + + + + + + + - + - + + + + - + - + + + + - + - Uses reflection to create an SDMap from all of the SD - serializable types in an object - Class or struct containing serializable types - An SDMap holding the serialized values from the - container object + + + + + + - + - Uses reflection to deserialize member variables in an object from - an SDMap - Reference to an object to fill with deserialized - values - Serialized values to put in the target - object + + + + + + + + - + - + + + + + + - + - + + + + + + - + - + + + + - + - + + + + - + - + + + + - + - + + + + - + - + + + + - + - + + + + - + - + + + + + + - + - + + + + diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 54681e4..27ccfbc 100644 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.XML b/bin/OpenMetaverse.XML index ca9f359..fa1057a 100644 --- a/bin/OpenMetaverse.XML +++ b/bin/OpenMetaverse.XML @@ -1,4438 +1,4072 @@ - OpenMetaverse + /home/root/libopenmetaverse/bin/OpenMetaverse - + - Capability to load TGAs to Bitmap + Permission request flags, asked when a script wants to control an Avatar - - - Represents a primitive asset - + + Placeholder for empty values, shouldn't ever see this - - - Base class for all Asset types - + + Script wants ability to take money from you - - A byte array containing the raw asset data + + Script wants to take camera controls for you - - True if the asset it only stored on the server temporarily + + Script wants to remap avatars controls - - A unique ID + + Script wants to trigger avatar animations + This function is not implemented on the grid - - - Construct a new Asset object - + + Script wants to attach or detach the prim or primset to your avatar - - - Construct a new Asset object - - A unique specific to this asset - A byte array containing the raw asset data + + Script wants permission to release ownership + This function is not implemented on the grid + The concept of "public" objects does not exist anymore. - - - Regenerates the AssetData byte array from the properties - of the derived class. - + + Script wants ability to link/delink with other prims - - - Decodes the AssetData, placing it in appropriate properties of the derived - class. - - True if the asset decoding succeeded, otherwise false + + Script wants permission to change joints + This function is not implemented on the grid - - The assets unique ID + + Script wants permissions to change permissions + This function is not implemented on the grid - - - The "type" of asset, Notecard, Animation, etc - + + Script wants to track avatars camera position and rotation - - Initializes a new instance of an AssetPrim object + + Script wants to control your camera - + - + Special commands used in Instant Messages - - - - - + + Indicates a regular IM from another agent - - Override the base classes AssetType + + Simple notification box with an OK button - - - Only used internally for XML serialization/deserialization - + + You've been invited to join a group. - - - pre-defined built in sounds - + + Inventory offer - - + + Accepted inventory offer - - + + Declined inventory offer - - + + Group vote - - + + An object is offering its inventory - - + + Accept an inventory offer from an object - - + + Decline an inventory offer from an object - - + + Unknown - - + + Start a session, or add users to a session - - coins + + Start a session, but don't prune offline users - - cash register bell + + Start a session with your group - - + + Start a session without a calling card (finder or objects) - - + + Send a message to a session - - rubber + + Leave a session - - plastic + + Indicates that the IM is from an object - - flesh + + Sent an IM to a busy user, this is the auto response - - wood splintering? + + Shows the message in the console and chat history - - glass break + + Send a teleport lure - - metal clunk + + Response sent to the agent which inititiated a teleport invitation - - whoosh + + Response sent to the agent which inititiated a teleport invitation - - shake + + Only useful if you have Linden permissions - - + + A placeholder type for future expansion, currently not + used - - ding + + IM to tell the user to go to an URL - - + + IM for help - - + + IM sent automatically on call for help, sends a lure + to each Helper reached - - + + Like an IM but won't go to email - - + + IM from a group officer to all group members - - + + Unknown - - + + Unknown - - + + Accept a group invitation - - + + Decline a group invitation - - + + Unknown - - + + An avatar is offering you friendship - - + + An avatar has accepted your friendship offer - - + + An avatar has declined your friendship offer - - + + Indicates that a user has started typing - - + + Indicates that a user has stopped typing - + - A dictionary containing all pre-defined sounds + Flag in Instant Messages, whether the IM should be delivered to + offline avatars as well - A dictionary containing the pre-defined sounds, - where the key is the sounds ID, and the value is a string - containing a name to identify the purpose of the sound - + + Only deliver to online avatars + + + If the avatar is offline the message will be held until + they login next, and possibly forwarded to their e-mail account + + - Type of return to use when returning objects from a parcel + Conversion type to denote Chat Packet types in an easier-to-understand format - - - - - Return objects owned by parcel owner + + Whisper (5m radius) - - Return objects set to group + + Normal chat (10/20m radius), what the official viewer typically sends - - Return objects not owned by parcel owner or set to group + + Shouting! (100m radius) - - Return a specific list of objects on parcel + + Event message when an Avatar has begun to type - - Return objects that are marked for-sale + + Event message when an Avatar has stopped typing - + + Send the message to the debug channel + + + Event message when an object uses llOwnerSay + + + Special value to support llRegionSay, never sent to the client + + - Blacklist/Whitelist flags used in parcels Access List + Identifies the source of a chat message - - Agent is denied access + + Chat from the grid or simulator - - Agent is granted access + + Chat from another avatar - + + Chat from an object + + - The result of a request for parcel properties - - No matches were found for the request + + + - - Request matched a single parcel + + + - - Request matched multiple parcels + + + - + - Flags used in the ParcelAccessListRequest packet to specify whether - we want the access list (whitelist), ban list (blacklist), or both + Effect type used in ViewerEffect packets - - Request the access list + + + - - Request the ban list + + + - - Request both White and Black lists + + + - + - Sequence ID in ParcelPropertiesReply packets (sent when avatar - tries to cross a parcel border) - - Parcel is currently selected + + + - - Parcel restricted to a group the avatar is not a - member of + + + - - Avatar is banned from the parcel + + + - - Parcel is restricted to an access list that the - avatar is not on + + Project a beam from a source to a destination, such as + the one used when editing an object - - Response to hovering over a parcel + + + - + - The tool to use when modifying terrain levels - - Level the terrain + + + - - Raise the terrain + + Create a swirl of particles around an object - - Lower the terrain + + + - - Smooth the terrain + + + - - Add random noise to the terrain + + Cause an avatar to look at an object - - Revert terrain to simulator default + + Cause an avatar to point at an object - + - The tool size to use when changing terrain levels + The action an avatar is doing when looking at something, used in + ViewerEffect packets for the LookAt effect - - Small + + + - - Medium + + + - - Large + + + - + - Reasons agent is denied access to a parcel on the simulator - - Agent is not denied, access is granted + + + - - Agent is not a member of the group set for the parcel, or which owns the parcel + + + - - Agent is not on the parcels specific allow list + + Deprecated - - Agent is on the parcels ban list + + + - - Unknown + + + - - Agent is not age verified and parcel settings deny access to non age verified avatars + + + - + - Parcel overlay type. This is used primarily for highlighting and - coloring which is why it is a single integer instead of a set of - flags - These values seem to be poorly thought out. The first three - bits represent a single value, not flags. For example Auction (0x05) is - not a combination of OwnedByOther (0x01) and ForSale(0x04). However, - the BorderWest and BorderSouth values are bit flags that get attached - to the value stored in the first three bits. Bits four, five, and six - are unused - - Public land + + + The action an avatar is doing when pointing at something, used in + ViewerEffect packets for the PointAt effect + - - Land is owned by another avatar + + + - - Land is owned by a group + + + - - Land is owned by the current avatar + + + - - Land is for sale + + + - - Land is being auctioned + + + Money transaction types + - - To the west of this area is a parcel border + + + - - To the south of this area is a parcel border + + + - + - Various parcel properties - - No flags set + + + - - Allow avatars to fly (a client-side only restriction) + + + - - Allow foreign scripts to run + + + - - This parcel is for sale + + + - - Allow avatars to create a landmark on this parcel + + + - - Allows all avatars to edit the terrain on this parcel + + + - - Avatars have health and can take damage on this parcel. - If set, avatars can be killed and sent home here + + + - - Foreign avatars can create objects here + + + - - All objects on this parcel can be purchased + + + - - Access is restricted to a group + + + - - Access is restricted to a whitelist + + + - - Ban blacklist is enabled + + + - - Unknown + + + - - List this parcel in the search directory + + + - - Allow personally owned parcels to be deeded to group + + + - - If Deeded, owner contributes required tier to group parcel is deeded to + + + - - Restrict sounds originating on this parcel to the - parcel boundaries + + + - - Objects on this parcel are sold when the land is - purchsaed + + + - - Allow this parcel to be published on the web + + + - - The information for this parcel is mature content + + + - - The media URL is an HTML page + + + - - The media URL is a raw HTML string + + + - - Restrict foreign object pushes + + + - - Ban all non identified/transacted avatars + + + - - Allow group-owned scripts to run + + + - - Allow object creation by group members or group - objects + + + - - Allow all objects to enter this parcel + + + - - Only allow group and owner objects to enter this parcel + + + - - Voice Enabled on this parcel + + + - - Use Estate Voice channel for Voice on this parcel + + + - - Deny Age Unverified Users + + + - + - Parcel ownership status - - Placeholder + + + - - Parcel is leased (owned) by an avatar or group + + + - - Parcel is in process of being leased (purchased) by an avatar or group + + + - - Parcel has been abandoned back to Governor Linden + + + - + - Category parcel is listed in under search - - No assigned category + + + - - Linden Infohub or public area + + + - - Adult themed area + + + - - Arts and Culture + + + - - Business + + + - - Educational + + + - - Gaming + + + - - Hangout or Club + + + - - Newcomer friendly + + + - - Parks and Nature + + + - - Residential + + + - - Shopping + + + - - Not Used? + + + - - Other + + + - - Not an actual category, only used for queries + + + - + - Type of teleport landing for a parcel - - Unset, simulator default + + + - - Specific landing point set for this parcel + + + - - No landing point set, direct teleports enabled for - this parcel + + + - + - Parcel Media Command used in ParcelMediaCommandMessage - - Stop the media stream and go back to the first frame + + + - - Pause the media stream (stop playing but stay on current frame) + + + - - Start the current media stream playing and stop when the end is reached + + + - - Start the current media stream playing, - loop to the beginning when the end is reached and continue to play + + + - - Specifies the texture to replace with video - If passing the key of a texture, it must be explicitly typecast as a key, - not just passed within double quotes. + + + Flags sent when a script takes or releases a control + + NOTE: (need to verify) These might be a subset of the ControlFlags enum in Movement, - - Specifies the movie URL (254 characters max) + + No Flags set - - Specifies the time index at which to begin playing + + Forward (W or up Arrow) - - Specifies a single agent to apply the media command to + + Back (S or down arrow) - - Unloads the stream. While the stop command sets the texture to the first frame of the movie, - unload resets it to the real texture that the movie was replacing. + + Move left (shift+A or left arrow) - - Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties - (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. + + Move right (shift+D or right arrow) - - Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). - Use "text/html" for HTML. + + Up (E or PgUp) - - Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). - This might still not be working + + Down (C or PgDown) - - Sets a description for the media being displayed (1.19.1 RC0 and later only). + + Rotate left (A or left arrow) - + + Rotate right (D or right arrow) + + + Left Mouse Button + + + Left Mouse button in MouseLook + + - Some information about a parcel of land returned from a DirectoryManager search + Currently only used to hide your group title - - Global Key of record + + No flags set - - Parcel Owners + + Hide your group title - - Name field of parcel, limited to 128 characters + + + Action state of the avatar, which can currently be typing and + editing + - - Description field of parcel, limited to 256 characters + + + - - Total Square meters of parcel + + + - - Total area billable as Tier, for group owned land this will be 10% less than ActualArea + + + - - True of parcel is in Mature simulator + + + Current teleport status + - - Grid global X position of parcel + + Unknown status - - Grid global Y position of parcel + + Teleport initialized - - Grid global Z position of parcel (not used) + + Teleport in progress - - Name of simulator parcel is located in + + Teleport failed - - Texture of parcels display picture + + Teleport completed - - Float representing calculated traffic based on time spent on parcel by avatars + + Teleport cancelled - - Sale price of parcel (not used) + + + - - Auction ID of parcel + + No flags set, or teleport failed - + + Set when newbie leaves help island for first time + + - Parcel Media Information - - A byte, if 0x1 viewer should auto scale media to fit object + + Via Lure - - A boolean, if true the viewer should loop the media + + Via Landmark - - The Asset UUID of the Texture which when applied to a - primitive will display the media + + Via Location - - A URL which points to any Quicktime supported media type + + Via Home - - A description of the media + + Via Telehub - - An Integer which represents the height of the media + + Via Login - - An integer which represents the width of the media + + Linden Summoned - - A string which contains the mime type of the media + + Linden Forced me - + - Parcel of land, a portion of virtual real estate in a simulator - - The total number of contiguous 4x4 meter blocks your agent owns within this parcel + + Agent Teleported Home via Script - - The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own + + + - - Deprecated, Value appears to always be 0 + + + - - Simulator-local ID of this parcel + + + - - UUID of the owner of this parcel + + forced to new location for example when avatar is banned or ejected - - Whether the land is deeded to a group or not + + Teleport Finished via a Lure - - + + Finished, Sim Changed - - Date land was claimed + + Finished, Same Sim - - Appears to always be zero + + + - - This field is no longer used + + + - - Minimum corner of the axis-aligned bounding box for this - parcel + + + - - Maximum corner of the axis-aligned bounding box for this - parcel + + + - - Bitmap describing land layout in 4x4m squares across the - entire region + + + - - Total parcel land area + + + - - + + + - - Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used + + + - - Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel - owned by the agent or group that owns this parcel + + + - - Maximum number of primitives this parcel supports + + + Instant Message + - - Total number of primitives on this parcel + + Key of sender - - For group-owned parcels this indicates the total number of prims deeded to the group, - for parcels owned by an individual this inicates the number of prims owned by the individual + + Name of sender - - Total number of primitives owned by the parcel group on - this parcel, or for parcels owned by an individual with a group set the - total number of prims set to that group. + + Key of destination avatar - - Total number of prims owned by other avatars that are not set to group, or not the parcel owner + + ID of originating estate - - A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect - the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed + + Key of originating region - - Autoreturn value in minutes for others' objects + + Coordinates in originating region - - + + Instant message type - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it + + Group IM session toggle - - Parcel Name + + Key of IM session, for Group Messages, the groups UUID - - Parcel Description + + Timestamp of the instant message - - URL For Music Stream + + Instant message text - - + + Whether this message is held for offline avatars - - Price for a temporary pass + + Context specific packed data - - How long is pass valid for + + Print the struct data as a string + A string containing the field name, and field value - - + + + Manager class for our own avatar + - - Key of authorized buyer + + + Constructor, setup callbacks for packets related to our avatar + + A reference to the Class - - Key of parcel snapshot + + + Agent movement and camera control + Agent movement is controlled by setting specific + After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags + This is most easily accomplished by setting one or more of the AgentMovement properties + Movement of an avatar is always based on a compass direction, for example AtPos will move the + agent from West to East or forward on the X Axis, AtNeg will of course move agent from + East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis + The Z axis is Up, finer grained control of movements can be done using the Nudge properties + - - The landing point location + + Default constructor - - The landing point LookAt + + + Camera controls for the agent, mostly a thin wrapper around + CoordinateFrame. This class is only responsible for state + tracking and math, it does not send any packets + - - The type of landing enforced from the enum + + + Default constructor + - - + + + - - + + The camera is a local frame of reference inside of + the larger grid space. This is where the math happens - - + + + - - Access list of who is whitelisted on this - parcel + + + - - Access list of who is blacklisted on this - parcel + + + - - TRUE of region denies access to age unverified users + + + - - true to obscure (hide) media url + + Agent camera controls - - true to obscure (hide) music url + + Currently only used for hiding your group title - - A struct containing media details + + Action state of the avatar, which can currently be + typing and editing - + - Displays a parcel object in string format - string containing key=value pairs of a parcel object - + - Defalt constructor - Local ID of this parcel - + - Update the simulator with any local changes to this Parcel object - Simulator to send updates to - Whether we want the simulator to confirm - the update with a reply packet or not - + - Set Autoreturn time - Simulator to send the update to - + - Parcel (subdivided simulator lots) subsystem - - The event subscribers. null if no subcribers + + + - - Raises the ParcelDwellReply event - A ParcelDwellReplyEventArgs object containing the - data returned from the simulator + + + - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + - - Raises the ParcelInfoReply event - A ParcelInfoReplyEventArgs object containing the - data returned from the simulator + + Timer for sending AgentUpdate packets - - Thread sync lock object + + Move agent positive along the X axis - - The event subscribers. null if no subcribers + + Move agent negative along the X axis - - Raises the ParcelProperties event - A ParcelPropertiesEventArgs object containing the - data returned from the simulator + + Move agent positive along the Y axis - - Thread sync lock object + + Move agent negative along the Y axis - - The event subscribers. null if no subcribers + + Move agent positive along the Z axis - - Raises the ParcelAccessListReply event - A ParcelAccessListReplyEventArgs object containing the - data returned from the simulator + + Move agent negative along the Z axis - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + - - Raises the ParcelObjectOwnersReply event - A ParcelObjectOwnersReplyEventArgs object containing the - data returned from the simulator + + + - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + - - Raises the SimParcelsDownloaded event - A SimParcelsDownloadedEventArgs object containing the - data returned from the simulator + + + - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + Causes simulator to make agent fly - - Raises the ForceSelectObjectsReply event - A ForceSelectObjectsReplyEventArgs object containing the - data returned from the simulator + + Stop movement - - Thread sync lock object + + Finish animation - - The event subscribers. null if no subcribers + + Stand up from a sit - - Raises the ParcelMediaUpdateReply event - A ParcelMediaUpdateReplyEventArgs object containing the - data returned from the simulator + + Tells simulator to sit agent on ground - - Thread sync lock object + + Place agent into mouselook mode - - The event subscribers. null if no subcribers + + Nudge agent positive along the X axis - - Raises the ParcelMediaCommand event - A ParcelMediaCommandEventArgs object containing the - data returned from the simulator + + Nudge agent negative along the X axis - - Thread sync lock object + + Nudge agent positive along the Y axis - - - Default constructor - - A reference to the GridClient object + + Nudge agent negative along the Y axis - - - Request basic information for a single parcel - - Simulator-local ID of the parcel + + Nudge agent positive along the Z axis - - - Request properties of a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - multiple simultaneous requests + + Nudge agent negative along the Z axis - + - Request the access list for a single parcel - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelAccessList reply, useful for distinguishing between - multiple simultaneous requests - - + - Request properties of parcels using a bounding box selection - Simulator containing the parcel - Northern boundary of the parcel selection - Eastern boundary of the parcel selection - Southern boundary of the parcel selection - Western boundary of the parcel selection - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - different types of parcel property requests - A boolean that is returned with the - ParcelProperties reply, useful for snapping focus to a single - parcel - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) + + Tell simulator to mark agent as away - + - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - Simulator to request parcels from (must be connected) - If TRUE, will force a full refresh - Number of milliseconds to pause in between each request - + - Request the dwell value for a parcel - Simulator containing the parcel - Simulator-local ID of the parcel - + - Send a request to Purchase a parcel of land - The Simulator the parcel is located in - The parcels region specific local ID - true if this parcel is being purchased by a group - The groups - true to remove tier contribution if purchase is successful - The parcels size - The purchase price of the parcel - - + - Reclaim a parcel of land - The simulator the parcel is in - The parcels region specific local ID - + - Deed a parcel to a group + Returns "always run" value, or changes it by sending a SetAlwaysRunPacket - The simulator the parcel is in - The parcels region specific local ID - The groups - - - Request prim owners of a parcel of land. - - Simulator parcel is in - The parcels region specific local ID + + The current value of the agent control flags - - - Return objects from a parcel - - Simulator parcel is in - The parcels region specific local ID - the type of objects to return, - A list containing object owners s to return + + Gets or sets the interval in milliseconds at which + AgentUpdate packets are sent to the current simulator. Setting + this to a non-zero value will also enable the packet sending if + it was previously off, and setting it to zero will disable - + + Gets or sets whether AgentUpdate packets are sent to + the current simulator + + + Reset movement controls every time we send an update + + - Subdivide (split) a parcel + Send an AgentUpdate with the camera set at the current agent + position and pointing towards the heading specified - - - - - + Camera rotation in radians + Whether to send the AgentUpdate reliable + or not - + - Join two parcels of land creating a single parcel + Rotates the avatar body and camera toward a target position. + This will also anchor the camera position on the avatar - - - - - + Region coordinates to turn toward - + - Get a parcels LocalID + Send new AgentUpdate packet to update our current camera + position and rotation - Simulator parcel is in - Vector3 position in simulator (Z not used) - 0 on failure, or parcel LocalID on success. - A call to Parcels.RequestAllSimParcels is required to populate map and - dictionary. - + - Terraform (raise, lower, etc) an area or whole parcel of land + Send new AgentUpdate packet to update our current camera + position and rotation - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + Whether to require server acknowledgement + of this packet - + - Terraform (raise, lower, etc) an area or whole parcel of land + Send new AgentUpdate packet to update our current camera + position and rotation - Simulator land area is in. - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + Whether to require server acknowledgement + of this packet + Simulator to send the update to - + - Terraform (raise, lower, etc) an area or whole parcel of land + Builds an AgentUpdate packet entirely from parameters. This + will not touch the state of Self.Movement or + Self.Movement.Camera in any way - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + + + + + + + + + + + + + + + + + + + + + + - + - Terraform (raise, lower, etc) an area or whole parcel of land + Used to specify movement actions for your agent - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - Height at which the terraform operation is acting at - - - - Sends a request to the simulator to return a list of objects owned by specific owners - - Simulator local ID of parcel - Owners, Others, Etc - List containing keys of avatars objects to select; - if List is null will return Objects of type selectType - Response data is returned in the event - - - - Eject and optionally ban a user from a parcel - - target key of avatar to eject - true to also ban target - - - - Freeze or unfreeze an avatar over your land - - target key to freeze - true to freeze, false to unfreeze - - - - Abandon a parcel of land - - Simulator parcel is in - Simulator local ID of parcel - - - - Requests the UUID of the parcel in a remote region at a specified location - - Location of the parcel in the remote region - Remote region handle - Remote region UUID - If successful UUID of the remote parcel, UUID.Zero otherwise - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Empty flag - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Move Forward (SL Keybinding: W/Up Arrow) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Move Backward (SL Keybinding: S/Down Arrow) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Move Left (SL Keybinding: Shift-(A/Left Arrow)) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Move Right (SL Keybinding: Shift-(D/Right Arrow)) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Not Flying: Jump/Flying: Move Up (SL Keybinding: E) - - Raised when the simulator responds to a request + + Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) - - Raised when the simulator responds to a request + + Unused - - Raised when the simulator responds to a request + + Unused - - Raised when the simulator responds to a request + + Unused - - Raised when the simulator responds to a request + + Unused - - Raised when the simulator responds to a request + + ORed with AGENT_CONTROL_AT_* if the keyboard is being used - - Raised when the simulator responds to a request + + ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used - - Raised when the simulator responds to a Parcel Update request + + ORed with AGENT_CONTROL_UP_* if the keyboard is being used - - Raised when the parcel your agent is located sends a ParcelMediaCommand + + Fly - + - Parcel Accesslist - - Agents + + Finish our current animation - - + + Stand up from the ground or a prim seat - - Flags for specific entry in white/black lists + + Sit on the ground at our current location - - - Owners of primitives on parcel - + + Whether mouselook is currently enabled - - Prim Owners + + Legacy, used if a key was pressed for less than a certain amount of time - - True of owner is group + + Legacy, used if a key was pressed for less than a certain amount of time - - Total count of prims owned by OwnerID + + Legacy, used if a key was pressed for less than a certain amount of time - - true of OwnerID is currently online and is not a group + + Legacy, used if a key was pressed for less than a certain amount of time - - The date of the most recent prim left by OwnerID + + Legacy, used if a key was pressed for less than a certain amount of time - - Contains a parcels dwell data returned from the simulator in response to an + + Legacy, used if a key was pressed for less than a certain amount of time - + - Construct a new instance of the ParcelDwellReplyEventArgs class - The global ID of the parcel - The simulator specific ID of the parcel - The calculated dwell for the parcel - - Get the global ID of the parcel - - - Get the simulator specific ID of the parcel + + + - - Get the calculated dwell + + Set when the avatar is idled or set to away. Note that the away animation is + activated separately from setting this flag - - Contains basic parcel information data returned from the - simulator in response to an request + + + - + - Construct a new instance of the ParcelInfoReplyEventArgs class - The object containing basic parcel info - - Get the object containing basic parcel info + + + - - Contains basic parcel information data returned from the simulator in response to an request + + + - + - Construct a new instance of the ParcelPropertiesEventArgs class + Called once attachment resource usage information has been collected - The object containing the details - The object containing the details - The result of the request - The number of primitieves your agent is - currently selecting and or sitting on in this parcel - The user assigned ID used to correlate a request with - these results - TODO: + Indicates if operation was successfull + Attachment resource usage information - - Get the simulator the parcel is located in + + The event subscribers. null if no subcribers - - Get the object containing the details - If Result is NoData, this object will not contain valid data + + Thread sync lock object - - Get the result of the request + + The event subscribers. null if no subcribers - - Get the number of primitieves your agent is - currently selecting and or sitting on in this parcel + + Thread sync lock object - - Get the user assigned ID used to correlate a request with - these results + + The event subscribers. null if no subcribers - - TODO: + + Thread sync lock object - - Contains blacklist and whitelist data returned from the simulator in response to an request + + The event subscribers. null if no subcribers - - - Construct a new instance of the ParcelAccessListReplyEventArgs class - - The simulator the parcel is located in - The user assigned ID used to correlate a request with - these results - The simulator specific ID of the parcel - TODO: - The list containing the white/blacklisted agents for the parcel + + Thread sync lock object - - Get the simulator the parcel is located in + + The event subscribers. null if no subcribers - - Get the user assigned ID used to correlate a request with - these results + + Thread sync lock object - - Get the simulator specific ID of the parcel + + The event subscribers. null if no subcribers - - TODO: + + Thread sync lock object - - Get the list containing the white/blacklisted agents for the parcel + + The event subscribers. null if no subcribers - - Contains blacklist and whitelist data returned from the - simulator in response to an request + + Thread sync lock object - - - Construct a new instance of the ParcelObjectOwnersReplyEventArgs class - - The simulator the parcel is located in - The list containing prim ownership counts - - - Get the simulator the parcel is located in + + The event subscribers. null if no subcribers - - Get the list containing prim ownership counts + + Thread sync lock object - - Contains the data returned when all parcel data has been retrieved from a simulator + + The event subscribers. null if no subcribers - - - Construct a new instance of the SimParcelsDownloadedEventArgs class - - The simulator the parcel data was retrieved from - The dictionary containing the parcel data - The multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + + Thread sync lock object - - Get the simulator the parcel data was retrieved from + + The event subscribers. null if no subcribers - - A dictionary containing the parcel data where the key correlates to the ParcelMap entry + + Thread sync lock object - - Get the multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + + The event subscribers. null if no subcribers - - Contains the data returned when a request + + Thread sync lock object - - - Construct a new instance of the ForceSelectObjectsReplyEventArgs class - - The simulator the parcel data was retrieved from - The list of primitive IDs - true if the list is clean and contains the information - only for a given request + + The event subscribers. null if no subcribers - - Get the simulator the parcel data was retrieved from + + Thread sync lock object - - Get the list of primitive IDs + + The event subscribers. null if no subcribers - - true if the list is clean and contains the information - only for a given request + + Thread sync lock object - - Contains data when the media data for a parcel the avatar is on changes + + The event subscribers. null if no subcribers - - - Construct a new instance of the ParcelMediaUpdateReplyEventArgs class - - the simulator the parcel media data was updated in - The updated media information + + Thread sync lock object - - Get the simulator the parcel media data was updated in + + The event subscribers. null if no subcribers - - Get the updated media information + + Thread sync lock object - - Contains the media command for a parcel the agent is currently on + + The event subscribers. null if no subcribers - - - Construct a new instance of the ParcelMediaCommandEventArgs class - - The simulator the parcel media command was issued in - - - The media command that was sent - + + Thread sync lock object - - Get the simulator the parcel media command was issued in + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - Get the media command that was sent + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - - - + + Thread sync lock object - - - - + + The event subscribers. null if no subcribers - - - - + + Thread sync lock object - - - - + + Reference to the GridClient instance - - - - - - + + Used for movement and camera tracking - - - The ObservableDictionary class is used for storing key/value pairs. It has methods for firing - events to subscribers when items are added, removed, or changed. - - Key - Value + + Currently playing animations for the agent. Can be used to + check the current movement status such as walking, hovering, aiming, + etc. by checking against system animations found in the Animations class - - - A dictionary of callbacks to fire when specified action occurs - + + Dictionary containing current Group Chat sessions and members - - - Register a callback to be fired when an action occurs - - The action - The callback to fire + + Raised when a scripted object or agent within range sends a public message - - - Unregister a callback - - The action - The callback to fire + + Raised when a scripted object sends a dialog box containing possible + options an agent can respond to - - - - - - + + Raised when an object requests a change in the permissions an agent has permitted - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking + + Raised when a script requests an agent open the specified URL - - - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. - - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); - - + + Raised when an agents currency balance is updated - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); - - + + Raised when a transaction occurs involving currency such as a land purchase - - - Try to get entry from the with specified key - - Key to use for lookup - Value returned - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - + + Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from + private messaging to friendship offers. The Dialog field defines what type of message has arrived - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - + + Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times + for each teleport indicating the progress of the request - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - + + Raised when a simulator sends agent specific information for our avatar. - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - + + Raised when our agents animation playlist changes - - Check if Key exists in Dictionary - Key to check for - if found, otherwise + + Raised when an object or avatar forcefully collides with our agent - - Check if Value exists in Dictionary - Value to check for - if found, otherwise + + Raised when our agent crosses a region border into another region - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - - The key - The value - - - - Removes the specified key, dictionary locking is not performed - - The key. - if successful, otherwise + + Raised when our agent succeeds or fails to join a group chat session - - - Clear the contents of the dictionary - + + Raised when a simulator sends an urgent message usually indication the recent failure of + another action we have attempted to take such as an attempt to enter a parcel where we are denied access - - - Enumerator for iterating dictionary entries - - + + Raised when a script attempts to take or release specified controls for our agent - - - Gets the number of Key/Value pairs contained in the - + + Raised when the simulator detects our agent is trying to view something + beyond its limits - - - Indexer for the dictionary - - The key - The value + + Raised when a script sensor reply is received from a simulator - - - A Wrapper around openjpeg to encode and decode images to and from byte arrays - + + Raised in response to a request - - TGA Header size + + Raised when an avatar enters a group chat session we are participating in - - OpenJPEG is not threadsafe, so this object is used to lock - during calls into unmanaged code + + Raised when an agent exits a group chat session we are participating in - - - Encode a object into a byte array - - The object to encode - true to enable lossless conversion, only useful for small images ie: sculptmaps - A byte array containing the encoded Image object + + Your (client) avatars + "client", "agent", and "avatar" all represent the same thing - - - Encode a object into a byte array - - The object to encode - a byte array of the encoded image + + Temporary assigned to this session, used for + verifying our identity in packets - - - Decode JPEG2000 data to an and - - - JPEG2000 encoded data - ManagedImage object to decode to - Image object to decode to - True if the decode succeeds, otherwise false + + Shared secret that is never sent over the wire - - - - - - - + + Your (client) avatar ID, local to the current region/sim - - - - - - - - + + Where the avatar started at login. Can be "last", "home" + or a login - - - Encode a object into a byte array - - The source object to encode - true to enable lossless decoding - A byte array containing the source Bitmap object + + The access level of this agent, usually M or PG - - - Defines the beginning and ending file positions of a layer in an - LRCP-progression JPEG2000 file - + + The CollisionPlane of Agent - - - This structure is used to marshal both encoded and decoded images. - MUST MATCH THE STRUCT IN dotnet.h! - + + An representing the velocity of our agent - - - Information about a single packet in a JPEG2000 stream - + + An representing the acceleration of our agent - - Packet start position + + A which specifies the angular speed, and axis about which an Avatar is rotating. - - Packet header end position + + Position avatar client will goto when login to 'home' or during + teleport request to 'home' region. - - Packet end position + + LookAt point saved/restored with HomePosition - - - Represents a Sound Asset - + + Avatar First Name (i.e. Philip) - - Initializes a new instance of an AssetSound object + + Avatar Last Name (i.e. Linden) - - Initializes a new instance of an AssetSound object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + Avatar Full Name (i.e. Philip Linden) - - - TODO: Encodes a sound file - + + Gets the health of the agent - - - TODO: Decode a sound file - - true + + Gets the current balance of the agent - - Override the base classes AssetType + + Gets the local ID of the prim the agent is sitting on, + zero if the avatar is not currently sitting - - - Represents a Landmark with RegionID and Position vector - + + Gets the of the agents active group. - - UUID of the Landmark target region + + Gets the Agents powers in the currently active group - - Local position of the target + + Current status message for teleporting - - Construct an Asset of type Landmark + + Current position of the agent as a relative offset from + the simulator, or the parent object if we are sitting on something - - - Construct an Asset object of type Landmark - - A unique specific to this asset - A byte array containing the raw asset data + + Current rotation of the agent as a relative rotation from + the simulator, or the parent object if we are sitting on something - - - Constuct an asset of type Landmark - - UUID of the target region - Local position of landmark + + Current position of the agent in the simulator - + - Encode the raw contents of a string with the specific Landmark format + A representing the agents current rotation - - - Decode the raw asset data, populating the RegionID and Position - - true if the AssetData was successfully decoded to a UUID and Vector + + Returns the global grid position of the avatar - - Override the base classes AssetType + + Raises the ChatFromSimulator event + A ChatEventArgs object containing the + data returned from the data server - - - Represents an that can be worn on an avatar - such as a Shirt, Pants, etc. - + + Raises the ScriptDialog event + A SctriptDialogEventArgs object containing the + data returned from the data server - - - Represents a Wearable Asset, Clothing, Hair, Skin, Etc - + + Raises the ScriptQuestion event + A ScriptQuestionEventArgs object containing the + data returned from the data server - - A string containing the name of the asset + + Raises the LoadURL event + A LoadUrlEventArgs object containing the + data returned from the data server - - A string containing a short description of the asset + + Raises the MoneyBalance event + A BalanceEventArgs object containing the + data returned from the data server - - The Assets WearableType + + Raises the MoneyBalanceReply event + A MoneyBalanceReplyEventArgs object containing the + data returned from the data server - - The For-Sale status of the object + + Raises the IM event + A InstantMessageEventArgs object containing the + data returned from the data server - - An Integer representing the purchase price of the asset + + Raises the TeleportProgress event + A TeleportEventArgs object containing the + data returned from the data server - - The of the assets creator + + Raises the AgentDataReply event + A AgentDataReplyEventArgs object containing the + data returned from the data server - - The of the assets current owner + + Raises the AnimationsChanged event + A AnimationsChangedEventArgs object containing the + data returned from the data server - - The of the assets prior owner + + Raises the MeanCollision event + A MeanCollisionEventArgs object containing the + data returned from the data server - - The of the Group this asset is set to + + Raises the RegionCrossed event + A RegionCrossedEventArgs object containing the + data returned from the data server - - True if the asset is owned by a + + Raises the GroupChatJoined event + A GroupChatJoinedEventArgs object containing the + data returned from the data server - - The Permissions mask of the asset + + Raises the AlertMessage event + A AlertMessageEventArgs object containing the + data returned from the data server - - A Dictionary containing Key/Value pairs of the objects parameters + + Raises the ScriptControlChange event + A ScriptControlEventArgs object containing the + data returned from the data server - - A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures + + Raises the CameraConstraint event + A CameraConstraintEventArgs object containing the + data returned from the data server - - Initializes a new instance of an AssetWearable object + + Raises the ScriptSensorReply event + A ScriptSensorReplyEventArgs object containing the + data returned from the data server - - Initializes a new instance of an AssetWearable object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + Raises the AvatarSitResponse event + A AvatarSitResponseEventArgs object containing the + data returned from the data server - - Initializes a new instance of an AssetWearable object with parameters - A string containing the asset parameters + + Raises the ChatSessionMemberAdded event + A ChatSessionMemberAddedEventArgs object containing the + data returned from the data server - + + Raises the ChatSessionMemberLeft event + A ChatSessionMemberLeftEventArgs object containing the + data returned from the data server + + - Decode an assets byte encoded data to a string + Send a text message from the Agent to the Simulator - true if the asset data was decoded successfully + A containing the message + The channel to send the message on, 0 is the public channel. Channels above 0 + can be used however only scripts listening on the specified channel will see the message + Denotes the type of message being sent, shout, whisper, etc. - + - Encode the assets string represantion into a format consumable by the asset server + Request any instant messages sent while the client was offline to be resent. - - Initializes a new instance of an AssetScriptBinary object - - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - Initializes a new instance of an AssetScriptBinary object with parameters - A string containing the Clothings data - - - Override the base classes AssetType - - + - Represents an Animation + Send an Instant Message to another Avatar + The recipients + A containing the message to send - - Default Constructor + + + Send an Instant Message to an existing group chat or conference chat + + The recipients + A containing the message to send + IM session ID (to differentiate between IM windows) - + - Construct an Asset object of type Animation + Send an Instant Message - A unique specific to this asset - A byte array containing the raw asset data + The name this IM will show up as being from + Key of Avatar + Text message being sent + IM session ID (to differentiate between IM windows) + IDs of sessions for a conference - - Override the base classes AssetType + + + Send an Instant Message + + The name this IM will show up as being from + Key of Avatar + Text message being sent + IM session ID (to differentiate between IM windows) + Type of instant message to send + Whether to IM offline avatars as well + Senders Position + RegionID Sender is In + Packed binary data that is specific to + the dialog type - + - Operation to apply when applying color to texture + Send an Instant Message to a group + + of the group to send message to + Text Message being sent. - + - Information needed to translate visual param value to RGBA color + Send an Instant Message to a group the agent is a member of + The name this IM will show up as being from + + of the group to send message to + Text message being sent - + - Construct VisualColorParam + Send a request to join a group chat session - Operation to apply when applying color to texture - Colors + + of Group to leave - + - Represents alpha blending and bump infor for a visual parameter - such as sleive length + Exit a group chat session. This will stop further Group chat messages + from being sent until session is rejoined. + + of Group chat session to leave - - Stregth of the alpha to apply + + + Reply to script dialog questions. + + Channel initial request came on + Index of button you're "clicking" + Label of button you're "clicking" + + of Object that sent the dialog request + - - File containing the alpha channel + + + Accept invite for to a chatterbox session + + + of session to accept invite to - - Skip blending if parameter value is 0 + + + Start a friends conference + + + List of UUIDs to start a conference with + the temportary session ID returned in the callback> - - Use miltiply insted of alpha blending + + + Start a particle stream between an agent and an object + + + Key of the source agent + + Key of the target object + + + The type from the enum + A unique for this effect - + - Create new alhpa information for a visual param + Start a particle stream between an agent and an object - Stregth of the alpha to apply - File containing the alpha channel - Skip blending if parameter value is 0 - Use miltiply insted of alpha blending + + Key of the source agent + + Key of the target object + A representing the beams offset from the source + A which sets the avatars lookat animation + + of the Effect - + - A single visual characteristic of an avatar mesh, such as eyebrow height + Create a particle beam between an avatar and an primitive + The ID of source avatar + The ID of the target primitive + global offset + A object containing the combined red, green, blue and alpha + color values of particle beam + a float representing the duration the parcicle beam will last + A Unique ID for the beam + - - Index of this visual param + + + Create a particle swirl around a target position using a packet + + global offset + A object containing the combined red, green, blue and alpha + color values of particle beam + a float representing the duration the parcicle beam will last + A Unique ID for the beam - - Internal name + + + Sends a request to sit on the specified object + + + of the object to sit on + Sit at offset - - Group ID this parameter belongs to + + + Follows a call to to actually sit on the object + - - Name of the wearable this parameter belongs to + + Stands up from sitting on a prim or the ground + true of AgentUpdate was sent - - Displayable label of this characteristic + + + Does a "ground sit" at the avatar's current position + - - Displayable label for the minimum value of this characteristic + + + Starts or stops flying + + True to start flying, false to stop flying - - Displayable label for the maximum value of this characteristic + + + Starts or stops crouching + + True to start crouching, false to stop crouching - - Default value + + + Starts a jump (begin holding the jump key) + - - Minimum value + + + Use the autopilot sim function to move the avatar to a new + position. Uses double precision to get precise movements + + The z value is currently not handled properly by the simulator + Global X coordinate to move to + Global Y coordinate to move to + Z coordinate to move to - - Maximum value + + + Use the autopilot sim function to move the avatar to a new position + + The z value is currently not handled properly by the simulator + Integer value for the global X coordinate to move to + Integer value for the global Y coordinate to move to + Floating-point value for the Z coordinate to move to - - Is this param used for creation of bump layer? - - - Alpha blending/bump info - - - Color information + + + Use the autopilot sim function to move the avatar to a new position + + The z value is currently not handled properly by the simulator + Integer value for the local X coordinate to move to + Integer value for the local Y coordinate to move to + Floating-point value for the Z coordinate to move to - - Array of param IDs that are drivers for this parameter + + Macro to cancel autopilot sim function + Not certain if this is how it is really done + true if control flags were set and AgentUpdate was sent to the simulator - + - Set all the values through the constructor + Grabs an object - Index of this visual param - Internal name - - - Displayable label of this characteristic - Displayable label for the minimum value of this characteristic - Displayable label for the maximum value of this characteristic - Default value - Minimum value - Maximum value - Is this param used for creation of bump layer? - Array of param IDs that are drivers for this parameter - Alpha blending/bump info - Color information + an unsigned integer of the objects ID within the simulator + - + - Holds the Params array of all the avatar appearance parameters + Overload: Grab a simulated object + an unsigned integer of the objects ID within the simulator + + + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - - X position of this patch - - - Y position of this patch - - - A 16x16 array of floats holding decompressed layer data - - + - Creates a LayerData packet for compressed land data given a full - simulator heightmap and an array of indices of patches to compress + Drag an object - A 256 * 256 array of floating point values - specifying the height at each meter in the simulator - Array of indexes in the 16x16 grid of patches - for this simulator. For example if 1 and 17 are specified, patches - x=1,y=0 and x=1,y=1 are sent - + + of the object to drag + Drag target in region coordinates - + - Add a patch of terrain to a BitPacker + Overload: Drag an object - BitPacker to write the patch to - Heightmap of the simulator, must be a 256 * - 256 float array - X offset of the patch to create, valid values are - from 0 to 15 - Y offset of the patch to create, valid values are - from 0 to 15 + + of the object to drag + Drag target in region coordinates + + + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - + - A Name Value pair with additional settings, used in the protocol - primarily to transmit avatar names and active group in object packets + Release a grabbed object + The Objects Simulator Local ID + + + - - - - - - - - - - - - - - - - + - Constructor that takes all the fields as parameters + Release a grabbed object - - - - - + The Objects Simulator Local ID + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - + - Constructor that takes a single line from a NameValue field + Touches an object - - - - Type of the value - - - Unknown - - - String value - - - - - - - - - - - - - - - Deprecated - - - String value, but designated as an asset - - - + an unsigned integer of the objects ID within the simulator + - + - + Request the current L$ balance - - - - - - - - - - - - - + - + Give Money to destination Avatar + UUID of the Target Avatar + Amount in L$ - - - - - - - - - - - - - - - - + - Starts a thread that keeps the daemon running + Give Money to destination Avatar - - + UUID of the Target Avatar + Amount in L$ + Description that will show up in the + recipients transaction history - + - Stops the daemon and the thread keeping it running + Give L$ to an object + object to give money to + amount of L$ to give + name of object - + - + Give L$ to a group - - - + group to give money to + amount of L$ to give - + - This is used to initialize and stop the Connector as a whole. The Connector - Create call must be completed successfully before any other requests are made - (typically during application initialization). The shutdown should be called - when the application is shutting down to gracefully release resources + Give L$ to a group - A string value indicting the Application name - URL for the management server - LoggingSettings - - + group to give money to + amount of L$ to give + description of transaction - + - Shutdown Connector -- Should be called when the application is shutting down - to gracefully release resources + Pay texture/animation upload fee - Handle returned from successful Connector ‘create’ request - + - Mute or unmute the microphone + Pay texture/animation upload fee - Handle returned from successful Connector ‘create’ request - true (mute) or false (unmute) + description of the transaction - + - Mute or unmute the speaker + Give Money to destination Object or Avatar - Handle returned from successful Connector ‘create’ request - true (mute) or false (unmute) + UUID of the Target Object/Avatar + Amount in L$ + Reason (Optional normally) + The type of transaction + Transaction flags, mostly for identifying group + transactions - + - Set microphone volume + Plays a gesture - Handle returned from successful Connector ‘create’ request - The level of the audio, a number between -100 and 100 where - 0 represents ‘normal’ speaking volume + Asset of the gesture - + - Set local speaker volume + Mark gesture active - Handle returned from successful Connector ‘create’ request - The level of the audio, a number between -100 and 100 where - 0 represents ‘normal’ speaking volume + Inventory of the gesture + Asset of the gesture - + - Create a Session - Sessions typically represent a connection to a media session with one or more - participants. This is used to generate an ‘outbound’ call to another user or - channel. The specifics depend on the media types involved. A session handle is - required to control the local user functions within the session (or remote - users if the current account has rights to do so). Currently creating a - session automatically connects to the audio media, there is no need to call - Session.Connect at this time, this is reserved for future use. + Mark gesture inactive - Handle returned from successful Connector ‘create’ request - This is the URI of the terminating point of the session (ie who/what is being called) - This is the display name of the entity being called (user or channel) - Only needs to be supplied when the target URI is password protected - This indicates the format of the password as passed in. This can either be - “ClearText” or “SHA1UserName”. If this element does not exist, it is assumed to be “ClearText”. If it is - “SHA1UserName”, the password as passed in is the SHA1 hash of the password and username concatenated together, - then base64 encoded, with the final “=” character stripped off. - - - + Inventory of the gesture - + - Used to accept a call + Send an AgentAnimation packet that toggles a single animation on - SessionHandle such as received from SessionNewEvent - "default" - + The of the animation to start playing + Whether to ensure delivery of this packet or not - + - This command is used to start the audio render process, which will then play - the passed in file through the selected audio render device. This command - should not be issued if the user is on a call. + Send an AgentAnimation packet that toggles a single animation off - The fully qualified path to the sound file. - True if the file is to be played continuously and false if it is should be played once. - + The of a + currently playing animation to stop playing + Whether to ensure delivery of this packet or not - + - This command is used to stop the audio render process. + Send an AgentAnimation packet that will toggle animations on or off - The fully qualified path to the sound file issued in the start render command. - + A list of animation s, and whether to + turn that animation on or off + Whether to ensure delivery of this packet or not - + - This is used to ‘end’ an established session (i.e. hang-up or disconnect). + Teleports agent to their stored home location - Handle returned from successful Session ‘create’ request or a SessionNewEvent - + true on successful teleport to home location - + - Set the combined speaking and listening position in 3D space. + Teleport agent to a landmark - Handle returned from successful Session ‘create’ request or a SessionNewEvent - Speaking position - Listening position - + + of the landmark to teleport agent to + true on success, false on failure - + - Set User Volume for a particular user. Does not affect how other users hear that user. + Attempt to look up a simulator name and teleport to the discovered + destination - Handle returned from successful Session ‘create’ request or a SessionNewEvent - - The level of the audio, a number between -100 and 100 where 0 represents ‘normal’ speaking volume - + Region name to look up + Position to teleport to + True if the lookup and teleport were successful, otherwise + false - + - Start up the Voice service. + Attempt to look up a simulator name and teleport to the discovered + destination + Region name to look up + Position to teleport to + Target to look at + True if the lookup and teleport were successful, otherwise + false - + - Handle miscellaneous request status + Teleport agent to another region - - - ///If something goes wrong, we log it. + handle of region to teleport agent to + + position in destination sim to teleport to + true on success, false on failure + This call is blocking - + - Cleanup oject resources + Teleport agent to another region + handle of region to teleport agent to + + position in destination sim to teleport to + + direction in destination sim agent will look at + true on success, false on failure + This call is blocking - + - Request voice cap when changing regions + Request teleport to a another simulator + handle of region to teleport agent to + + position in destination sim to teleport to - + - Handle a change in session state + Request teleport to a another simulator + handle of region to teleport agent to + + position in destination sim to teleport to + + direction in destination sim agent will look at - + - Close a voice session + Teleport agent to a landmark - + + of the landmark to teleport agent to - + - Locate a Session context from its handle + Send a teleport lure to another avatar with default "Join me in ..." invitation message - Creates the session context if it does not exist. + target avatars to lure - + - Handle completion of main voice cap request. + Send a teleport lure to another avatar with custom invitation message - - - + target avatars to lure + custom message to send with invitation - + - Daemon has started so connect to it. + Respond to a teleport lure by either accepting it and initiating + the teleport, or denying it + + of the avatar sending the lure + true to accept the lure, false to decline it - + - The daemon TCP connection is open. + Update agent profile + + struct containing updated + profile information - + - Handle creation of the Connector. + Update agents profile interests + selection of interests from struct - + - Handle response to audio output device query + Set the height and the width of the client window. This is used + by the server to build a virtual camera frustum for our avatar + New height of the viewer window + New width of the viewer window - + - Handle response to audio input device query + Request the list of muted objects and avatars for this agent - - - Set voice channel for new parcel - - + + + Sets home location to agents current position + + will fire an AlertMessage () with + success or failure message - + - Request info from a parcel capability Uri. + Move an agent in to a simulator. This packet is the last packet + needed to complete the transition in to a new simulator - + + Object - + - Receive parcel voice cap + Reply to script permissions request - - - + + Object + + of the itemID requesting permissions + + of the taskID requesting permissions + + list of permissions to allow - + - Tell Vivox where we are standing + Respond to a group invitation by either accepting or denying it - This has to be called when we move or turn. + UUID of the group (sent in the AgentID field of the invite message) + IM Session ID from the group invitation message + Accept the group invitation or deny it - + - Start and stop updating out position. + Requests script detection of objects and avatars - + name of the object/avatar to search for + UUID of the object or avatar to search for + Type of search from ScriptSensorTypeFlags + range of scan (96 max?) + the arc in radians to search within + an user generated ID to correlate replies with + Simulator to perform search in - + - This is used to login a specific user account(s). It may only be called after - Connector initialization has completed successfully + Create or update profile pick - Handle returned from successful Connector ‘create’ request - User's account name - User's account password - Values may be “AutoAnswer” or “VerifyAnswer” - "" - This is an integer that specifies how often - the daemon will send participant property events while in a channel. If this is not set - the default will be “on state change”, which means that the events will be sent when - the participant starts talking, stops talking, is muted, is unmuted. - The valid values are: - 0 – Never - 5 – 10 times per second - 10 – 5 times per second - 50 – 1 time per second - 100 – on participant state change (this is the default) - false - + UUID of the pick to update, or random UUID to create a new pick + Is this a top pick? (typically false) + UUID of the parcel (UUID.Zero for the current parcel) + Name of the pick + Global position of the pick landmark + UUID of the image displayed with the pick + Long description of the pick - + - This is used to logout a user session. It should only be called with a valid AccountHandle. + Delete profile pick - Handle returned from successful Connector ‘login’ request - + UUID of the pick to delete - + - This is used to get a list of audio devices that can be used for capture (input) of voice. + Create or update profile Classified - + UUID of the classified to update, or random UUID to create a new classified + Defines what catagory the classified is in + UUID of the image displayed with the classified + Price that the classified will cost to place for a week + Global position of the classified landmark + Name of the classified + Long description of the classified + if true, auto renew classified after expiration - + - This is used to get a list of audio devices that can be used for render (playback) of voice. + Create or update profile Classified + UUID of the classified to update, or random UUID to create a new classified + Defines what catagory the classified is in + UUID of the image displayed with the classified + Price that the classified will cost to place for a week + Name of the classified + Long description of the classified + if true, auto renew classified after expiration - + - This command is used to select the render device. + Delete a classified ad - The name of the device as returned by the Aux.GetRenderDevices command. + The classified ads ID - + - This command is used to select the capture device. + Fetches resource usage by agents attachmetns - The name of the device as returned by the Aux.GetCaptureDevices command. + Called when the requested information is collected - + - This command is used to start the audio capture process which will cause - AuxAudioProperty Events to be raised. These events can be used to display a - microphone VU meter for the currently selected capture device. This command - should not be issued if the user is on a call. + Take an incoming ImprovedInstantMessage packet, auto-parse, and if + OnInstantMessage is defined call that with the appropriate arguments - (unused but required) - + The sender + The EventArgs object containing the packet data - + - This command is used to stop the audio capture process. + Take an incoming Chat packet, auto-parse, and if OnChat is defined call + that with the appropriate arguments. - + The sender + The EventArgs object containing the packet data - + - This command is used to set the mic volume while in the audio tuning process. - Once an acceptable mic level is attained, the application must issue a - connector set mic volume command to have that level be used while on voice - calls. + Used for parsing llDialogs - the microphone volume (-100 to 100 inclusive) - + The sender + The EventArgs object containing the packet data - + - This command is used to set the speaker volume while in the audio tuning - process. Once an acceptable speaker level is attained, the application must - issue a connector set speaker volume command to have that level be used while - on voice calls. + Used for parsing llRequestPermissions dialogs - the speaker volume (-100 to 100 inclusive) - + The sender + The EventArgs object containing the packet data - + - Event for most mundane request reposnses. + Handles Script Control changes when Script with permissions releases or takes a control + The sender + The EventArgs object containing the packet data - - Response to Connector.Create request + + + Used for parsing llLoadURL Dialogs + + The sender + The EventArgs object containing the packet data - - Response to Aux.GetCaptureDevices request - - - Response to Aux.GetRenderDevices request + + + Update client's Position, LookAt and region handle from incoming packet + + The sender + The EventArgs object containing the packet data + This occurs when after an avatar moves into a new sim - - Audio Properties Events are sent after audio capture is started. - These events are used to display a microphone VU meter + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Response to Account.Login request + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - This event message is sent whenever the login state of the - particular Account has transitioned from one value to another + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - List of audio input devices + Process TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why. + The Message Key + An IMessage object Deserialized from the recieved message event + The simulator originating the event message - + - List of audio output devices + Process TeleportFinish from Event Queue and pass it onto our TeleportHandler + The message system key for this event + IMessage object containing decoded data from OSD + The simulator originating the event message - - - Set audio test mode - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Enable logging + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The folder where any logs will be created + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - This will be prepended to beginning of each log file + + + Crossed region handler for message that comes across the EventQueue. Sent to an agent + when the agent crosses a sim border into a new region. + + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - The suffix or extension to be appended to each log file + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + This packet is now being sent via the EventQueue - + - 0: NONE - No logging - 1: ERROR - Log errors only - 2: WARNING - Log errors and warnings - 3: INFO - Log errors, warnings and info - 4: DEBUG - Log errors, warnings, info and debug + Group Chat event handler + The capability Key + IMessage object containing decoded data from OSD + + - + - Constructor for default logging settings + Response from request to join a group chat + + + IMessage object containing decoded data from OSD + + - - Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter - - + - Interface requirements for Messaging system + Someone joined or left group chat + + + IMessage object containing decoded data from OSD + + - + - The current status of a texture request as it moves through the pipeline or final result of a texture request. + Handle a group chat Invitation + Caps Key + IMessage object containing decoded data from OSD + Originating Simulator - - The initial state given to a request. Requests in this state - are waiting for an available slot in the pipeline - - - A request that has been added to the pipeline and the request packet - has been sent to the simulator - - - A request that has received one or more packets back from the simulator + + + Moderate a chat session + + the of the session to moderate, for group chats this will be the groups UUID + the of the avatar to moderate + Either "voice" to moderate users voice, or "text" to moderate users text session + true to moderate (silence user), false to allow avatar to speak - - A request that has received all packets back from the simulator + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - A request that has taken longer than - to download OR the initial packet containing the packet information was never received + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The texture request was aborted by request of the agent + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The simulator replied to the request that it was not able to find the requested texture + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - A callback fired to indicate the status or final state of the requested texture. For progressive - downloads this will fire each time new asset data is returned from the simulator. - The indicating either Progress for textures not fully downloaded, - or the final result of the request after it has been processed through the TexturePipeline - The object containing the Assets ID, raw data - and other information. For progressive rendering the will contain - the data from the beginning of the file. For failed, aborted and timed out requests it will contain - an empty byte array. - + - Texture request download handler, allows a configurable number of download slots which manage multiple - concurrent texture downloads from the + Construct a new instance of the ChatEventArgs object - This class makes full use of the internal - system for full texture downloads. + Sim from which the message originates + The message sent + The audible level of the message + The type of message sent: whisper, shout, etc + The source type of the message sender + The name of the agent or object sending the message + The ID of the agent or object sending the message + The ID of the object owner, or the agent ID sending the message + The position of the agent or object sending the message - - A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID - and also the Asset Texture ID, and the value is an object containing the current state of the request and also - the asset data as it is being re-assembled + + Get the simulator sending the message - - Holds the reference to the client object + + Get the message sent - - Maximum concurrent texture requests allowed at a time + + Get the audible level of the message - - An array of objects used to manage worker request threads + + Get the type of message sent: whisper, shout, etc - - An array of worker slots which shows the availablity status of the slot + + Get the source type of the message sender - - The primary thread which manages the requests. + + Get the name of the agent or object sending the message - - true if the TexturePipeline is currently running + + Get the ID of the agent or object sending the message - - A synchronization object used by the primary thread + + Get the ID of the object owner, or the agent ID sending the message - - A refresh timer used to increase the priority of stalled requests + + Get the position of the agent or object sending the message - - - Default constructor, Instantiates a new copy of the TexturePipeline class - - Reference to the instantiated object + + Contains the data sent when a primitive opens a dialog with this agent - + - Initialize callbacks required for the TexturePipeline to operate + Construct a new instance of the ScriptDialogEventArgs + The dialog message + The name of the object that sent the dialog request + The ID of the image to be displayed + The ID of the primitive sending the dialog + The first name of the senders owner + The last name of the senders owner + The communication channel the dialog was sent on + The string labels containing the options presented in this dialog - - - Shutdown the TexturePipeline and cleanup any callbacks or transfers - + + Get the dialog message - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request + + Get the name of the object that sent the dialog request - - - Sends the actual request packet to the simulator - - The image to download - Type of the image to download, either a baked - avatar texture or a normal texture - Priority level of the download. Default is - 1,013,000.0f - Number of quality layers to discard. - This controls the end marker of the data sent - Packet number to start the download at. - This controls the start marker of the data sent - Sending a priority of 0 and a discardlevel of -1 aborts - download - - - - Cancel a pending or in process texture request - - The texture assets unique ID + + Get the ID of the image to be displayed - - - Master Download Thread, Queues up downloads in the threadpool - + + Get the ID of the primitive sending the dialog - - - The worker thread that sends the request and handles timeouts - - A object containing the request details + + Get the first name of the senders owner - - - Handle responses from the simulator that tell us a texture we have requested is unable to be located - or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use - - The sender - The EventArgs object containing the packet data + + Get the last name of the senders owner - - - Handles the remaining Image data that did not fit in the initial ImageData packet - - The sender - The EventArgs object containing the packet data + + Get the communication channel the dialog was sent on, responses + should also send responses on this same channel - - - Handle the initial ImageDataPacket sent from the simulator - - The sender - The EventArgs object containing the packet data + + Get the string labels containing the options presented in this dialog - - Current number of pending and in-process transfers + + Contains the data sent when a primitive requests debit or other permissions + requesting a YES or NO answer - + - A request task containing information and status of a request as it is processed through the + Construct a new instance of the ScriptQuestionEventArgs + The simulator containing the object sending the request + The ID of the script making the request + The ID of the primitive containing the script making the request + The name of the primitive making the request + The name of the owner of the object making the request + The permissions being requested - - The current which identifies the current status of the request - - - The Unique Request ID, This is also the Asset ID of the texture being requested + + Get the simulator containing the object sending the request - - The slot this request is occupying in the threadpoolSlots array + + Get the ID of the script making the request - - The ImageType of the request. + + Get the ID of the primitive containing the script making the request - - The callback to fire when the request is complete, will include - the and the - object containing the result data + + Get the name of the primitive making the request - - If true, indicates the callback will be fired whenever new data is returned from the simulator. - This is used to progressively render textures as portions of the texture are received. + + Get the name of the owner of the object making the request - - An object that maintains the data of an request thats in-process. + + Get the permissions being requested - - - Type of gesture step - + + Contains the data sent when a primitive sends a request + to an agent to open the specified URL - + - Base class for gesture steps + Construct a new instance of the LoadUrlEventArgs + The name of the object sending the request + The ID of the object sending the request + The ID of the owner of the object sending the request + True if the object is owned by a group + The message sent with the request + The URL the object sent - - - Retururns what kind of gesture step this is - + + Get the name of the object sending the request - - - Describes animation step of a gesture - + + Get the ID of the object sending the request - - - If true, this step represents start of animation, otherwise animation stop - + + Get the ID of the owner of the object sending the request - - - Animation asset - + + True if the object is owned by a group - - - Animation inventory name - + + Get the message sent with the request - - - Returns what kind of gesture step this is - + + Get the URL the object sent - - - Describes sound step of a gesture - + + The date received from an ImprovedInstantMessage - + - Sound asset + Construct a new instance of the InstantMessageEventArgs object + the InstantMessage object + the simulator where the InstantMessage origniated - - - Sound inventory name - + + Get the InstantMessage object - - - Returns what kind of gesture step this is - + + Get the simulator where the InstantMessage origniated - - - Describes sound step of a gesture - + + Contains the currency balance - + - Text to output in chat + Construct a new BalanceEventArgs object + The currenct balance - + - Returns what kind of gesture step this is + Get the currenct balance - - - Describes sound step of a gesture - + + Contains the transaction summary when an item is purchased, + money is given, or land is purchased - + - If true in this step we wait for all animations to finish + Construct a new instance of the MoneyBalanceReplyEventArgs object + The ID of the transaction + True of the transaction was successful + The current currency balance + The meters credited + The meters comitted + A brief description of the transaction - - - If true gesture player should wait for the specified amount of time - + + Get the ID of the transaction - - - Time in seconds to wait if WaitForAnimation is false - + + True of the transaction was successful - - - Returns what kind of gesture step this is - + + Get the remaining currency balance - - - Describes the final step of a gesture - + + Get the meters credited - - - Returns what kind of gesture step this is - + + Get the meters comitted - - - Represents a sequence of animations, sounds, and chat actions - + + Get the description of the transaction - - - Keyboard key that triggers the gestyre - + + Data sent from the simulator containing information about your agent and active group information - + - Modifier to the trigger key + Construct a new instance of the AgentDataReplyEventArgs object + The agents first name + The agents last name + The agents active group ID + The group title of the agents active group + The combined group powers the agent has in the active group + The name of the group the agent has currently active - - - String that triggers playing of the gesture sequence - + + Get the agents first name - - - Text that replaces trigger in chat once gesture is triggered - + + Get the agents last name - - - Sequence of gesture steps - + + Get the active group ID of your agent - - - Constructs guesture asset - + + Get the active groups title of your agent - - - Constructs guesture asset - - A unique specific to this asset - A byte array containing the raw asset data + + Get the combined group powers of your agent - - - Encodes gesture asset suitable for uplaod - + + Get the active group name of your agent - - - Decodes gesture assset into play sequence - - true if the asset data was decoded successfully + + Data sent by the simulator to indicate the active/changed animations + applied to your agent - + - Returns asset type + Construct a new instance of the AnimationsChangedEventArgs class + The dictionary that contains the changed animations - - - Permissions for control of object media - + + Get the dictionary that contains the changed animations - + - Style of cotrols that shold be displayed to the user + Data sent from a simulator indicating a collision with your agent - + - Class representing media data for a single face + Construct a new instance of the MeanCollisionEventArgs class + The type of collision that occurred + The ID of the agent or object that perpetrated the agression + The ID of the Victim + The strength of the collision + The Time the collision occurred - - Is display of the alternative image enabled + + Get the Type of collision - - Should media auto loop + + Get the ID of the agent or object that collided with your agent - - Shoule media be auto played + + Get the ID of the agent that was attacked - - Auto scale media to prim face + + A value indicating the strength of the collision - - Should viewer automatically zoom in on the face when clicked + + Get the time the collision occurred - - Should viewer interpret first click as interaction with the media - or when false should the first click be treated as zoom in commadn + + Data sent to your agent when it crosses region boundaries - - Style of controls viewer should display when - viewer media on this face + + + Construct a new instance of the RegionCrossedEventArgs class + + The simulator your agent just left + The simulator your agent is now in - - Starting URL for the media + + Get the simulator your agent just left - - Currently navigated URL + + Get the simulator your agent is now in - - Media height in pixes + + Data sent from the simulator when your agent joins a group chat session - - Media width in pixels + + + Construct a new instance of the GroupChatJoinedEventArgs class + + The ID of the session + The name of the session + A temporary session id used for establishing new sessions + True of your agent successfully joined the session - - Who can controls the media + + Get the ID of the group chat session - - Who can interact with the media + + Get the name of the session - - Is URL whitelist enabled + + Get the temporary session ID used for establishing new sessions - - Array of URLs that are whitelisted + + True if your agent successfully joined the session - + + Data sent by the simulator containing urgent messages + + - Serialize to OSD + Construct a new instance of the AlertMessageEventArgs class - OSDMap with the serialized data + The alert message - + + Get the alert message + + + Data sent by a script requesting to take or release specified controls to your agent + + - Deserialize from OSD data + Construct a new instance of the ScriptControlEventArgs class - Serialized OSD data - Deserialized object + The controls the script is attempting to take or release to the agent + True if the script is passing controls back to the agent + True if the script is requesting controls be released to the script - + + Get the controls the script is attempting to take or release to the agent + + + True if the script is passing controls back to the agent + + + True if the script is requesting controls be released to the script + + - Particle system specific enumerators, flags and methods. + Data sent from the simulator to an agent to indicate its view limits - + - Current version of the media data for the prim + Construct a new instance of the CameraConstraintEventArgs class + The collision plane - + + Get the collision plane + + - Array of media entries indexed by face number + Data containing script sensor requests which allow an agent to know the specific details + of a primitive sending script sensor requests - - + + + Construct a new instance of the ScriptSensorReplyEventArgs + + The ID of the primitive sending the sensor + The ID of the group associated with the primitive + The name of the primitive sending the sensor + The ID of the primitive sending the sensor + The ID of the owner of the primitive sending the sensor + The position of the primitive sending the sensor + The range the primitive specified to scan + The rotation of the primitive sending the sensor + The type of sensor the primitive sent + The velocity of the primitive sending the sensor - - + + Get the ID of the primitive sending the sensor - - + + Get the ID of the group associated with the primitive - - + + Get the name of the primitive sending the sensor - - + + Get the ID of the primitive sending the sensor - - + + Get the ID of the owner of the primitive sending the sensor - - + + Get the position of the primitive sending the sensor - - + + Get the range the primitive specified to scan - - + + Get the rotation of the primitive sending the sensor - - Foliage type for this primitive. Only applicable if this - primitive is foliage + + Get the type of sensor the primitive sent - - Unknown + + Get the velocity of the primitive sending the sensor - - + + Contains the response data returned from the simulator in response to a - - + + Construct a new instance of the AvatarSitResponseEventArgs object - - + + Get the ID of the primitive the agent will be sitting on - - + + True if the simulator Autopilot functions were involved - - + + Get the camera offset of the agent when seated - - + + Get the camera eye offset of the agent when seated - - + + True of the agent will be in mouselook mode when seated - - + + Get the position of the agent when seated - - - - - - - - - - - - - - Identifies the owner if audio or a particle system is - active - - - - - - - - - - - - + + Get the rotation of the agent when seated - - + + Data sent when an agent joins a chat session your agent is currently participating in - - + + + Construct a new instance of the ChatSessionMemberAddedEventArgs object + + The ID of the chat session + The ID of the agent joining - - + + Get the ID of the chat session - - + + Get the ID of the agent that joined - - + + Data sent when an agent exits a chat session your agent is currently participating in - - + + + Construct a new instance of the ChatSessionMemberLeftEventArgs object + + The ID of the chat session + The ID of the Agent that left - - + + Get the ID of the chat session - - + + Get the ID of the agent that left - + - Default constructor + Throttles the network traffic for various different traffic types. + Access this class through GridClient.Throttle - + - Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters in to signed eight bit values + Default constructor, uses a default high total of 1500 KBps (1536000) - Floating point parameter to pack - Signed eight bit value containing the packed parameter - + - Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters from signed eight bit integers to floating point values + Constructor that decodes an existing AgentThrottle packet in to + individual values - Signed eight bit value to unpack - Unpacked floating point value - - - Uses basic heuristics to estimate the primitive shape + Reference to the throttle data in an AgentThrottle + packet + Offset position to start reading at in the + throttle data + This is generally not needed in clients as the server will + never send a throttle packet to the client - - - Texture animation mode - + + Maximum bits per second for resending unacknowledged packets - - Disable texture animation + + Maximum bits per second for LayerData terrain - - Enable texture animation + + Maximum bits per second for LayerData wind data - - Loop when animating textures + + Maximum bits per second for LayerData clouds - - Animate in reverse direction + + Unknown, includes object data - - Animate forward then reverse + + Maximum bits per second for textures - - Slide texture smoothly instead of frame-stepping + + Maximum bits per second for downloaded assets - - Rotate texture instead of using frames + + Maximum bits per second the entire connection, divided up + between invidiual streams using default multipliers - - Scale texture instead of using frames + + + Send an AgentThrottle packet to the current server using the + current values + - + - A single textured face. Don't instantiate this class yourself, use the - methods in TextureEntry + Send an AgentThrottle packet to the specified server using the + current values - + - Contains the definition for individual faces + Convert the current throttle values to a byte array that can be put + in an AgentThrottle packet - + Byte array containing all the throttle values - + - + Static pre-defined animations available to all agents - - - + + Agent with afraid expression on face - - + + Agent aiming a bazooka (right handed) - - + + Agent aiming a bow (left handed) - - + + Agent aiming a hand gun (right handed) - - + + Agent aiming a rifle (right handed) - - + + Agent with angry expression on face - - + + Agent hunched over (away) - - + + Agent doing a backflip - - + + Agent laughing while holding belly - - + + Agent blowing a kiss - - In the future this will specify whether a webpage is - attached to this face + + Agent with bored expression on face - - + + Agent bowing to audience - - - Represents all of the texturable faces for an object - - Grid objects have infinite faces, with each face - using the properties of the default face unless set otherwise. So if - you have a TextureEntry with a default texture uuid of X, and face 18 - has a texture UUID of Y, every face would be textured with X except for - face 18 that uses Y. In practice however, primitives utilize a maximum - of nine faces + + Agent brushing himself/herself off - - + + Agent in busy mode - - + + Agent clapping hands - - - Constructor that takes a default texture UUID - - Texture UUID to use as the default texture + + Agent doing a curtsey bow - - - Constructor that takes a TextureEntryFace for the - default face - - Face to use as the default face + + Agent crouching - - - Constructor that creates the TextureEntry class from a byte array - - Byte array containing the TextureEntry field - Starting position of the TextureEntry field in - the byte array - Length of the TextureEntry field, in bytes + + Agent crouching while walking - - - This will either create a new face if a custom face for the given - index is not defined, or return the custom face for that index if - it already exists - - The index number of the face to create or - retrieve - A TextureEntryFace containing all the properties for that - face + + Agent crying - - - - - - + + Agent unanimated with arms out (e.g. setting appearance) - - - - - + + Agent re-animated after set appearance finished - - - - - + + Agent dancing - - - - - + + Agent dancing - - - Controls the texture animation of a particular prim - + + Agent dancing - - + + Agent dancing - - - - - - - - - - - - - - + + Agent dancing - - + + Agent dancing - - - - - - + + Agent dancing - - - - - + + Agent dancing - - - Complete structure for the particle system - + + Agent on ground unanimated - - Particle Flags - There appears to be more data packed in to this area - for many particle systems. It doesn't appear to be flag values - and serialization breaks unless there is a flag for every - possible bit so it is left as an unsigned integer + + Agent boozing it up - - pattern of particles + + Agent with embarassed expression on face - - A representing the maximimum age (in seconds) particle will be displayed - Maximum value is 30 seconds + + Agent with afraid expression on face - - A representing the number of seconds, - from when the particle source comes into view, - or the particle system's creation, that the object will emits particles; - after this time period no more particles are emitted + + Agent with angry expression on face - - A in radians that specifies where particles will not be created + + Agent with bored expression on face - - A in radians that specifies where particles will be created + + Agent crying - - A representing the number of seconds between burts. + + Agent showing disdain (dislike) for something - - A representing the number of meters - around the center of the source where particles will be created. + + Agent with embarassed expression on face - - A representing in seconds, the minimum speed between bursts of new particles - being emitted + + Agent with frowning expression on face - - A representing in seconds the maximum speed of new particles being emitted. + + Agent with kissy face - - A representing the maximum number of particles emitted per burst + + Agent expressing laughgter - - A which represents the velocity (speed) from the source which particles are emitted + + Agent with open mouth - - A which represents the Acceleration from the source which particles are emitted + + Agent with repulsed expression on face - - The Key of the texture displayed on the particle + + Agent expressing sadness - - The Key of the specified target object or avatar particles will follow + + Agent shrugging shoulders - - Flags of particle from + + Agent with a smile - - Max Age particle system will emit particles for + + Agent expressing surprise - - The the particle has at the beginning of its lifecycle + + Agent sticking tongue out - - The the particle has at the ending of its lifecycle + + Agent with big toothy smile - - A that represents the starting X size of the particle - Minimum value is 0, maximum value is 4 + + Agent winking - - A that represents the starting Y size of the particle - Minimum value is 0, maximum value is 4 + + Agent expressing worry - - A that represents the ending X size of the particle - Minimum value is 0, maximum value is 4 + + Agent falling down - - A that represents the ending Y size of the particle - Minimum value is 0, maximum value is 4 + + Agent walking (feminine version) - - - Decodes a byte[] array into a ParticleSystem Object - - ParticleSystem object - Start position for BitPacker + + Agent wagging finger (disapproval) - - - Generate byte[] array from particle data - - Byte array + + I'm not sure I want to know - - - Particle source pattern - + + Agent in superman position - - None + + Agent in superman position - - Drop particles from source position with no force + + Agent greeting another - - "Explode" particles in all directions + + Agent holding bazooka (right handed) - - Particles shoot across a 2D area + + Agent holding a bow (left handed) - - Particles shoot across a 3D Cone + + Agent holding a handgun (right handed) - - Inverse of AngleCone (shoot particles everywhere except the 3D cone defined + + Agent holding a rifle (right handed) - - - Particle Data Flags - + + Agent throwing an object (right handed) - - None + + Agent in static hover - - Interpolate color and alpha from start to end + + Agent hovering downward - - Interpolate scale from start to end + + Agent hovering upward - - Bounce particles off particle sources Z height + + Agent being impatient - - velocity of particles is dampened toward the simulators wind + + Agent jumping - - Particles follow the source + + Agent jumping with fervor - - Particles point towards the direction of source's velocity + + Agent point to lips then rear end - - Target of the particles + + Agent landing from jump, finished flight, etc - - Particles are sent in a straight line + + Agent laughing - - Particles emit a glow + + Agent landing from jump, finished flight, etc - - used for point/grab/touch + + Agent sitting on a motorcycle - + - Particle Flags Enum - - None + + Agent moving head side to side - - Acceleration and velocity for particles are - relative to the object rotation + + Agent moving head side to side with unhappy expression - - Particles use new 'correct' angle parameters + + Agent taunting another - + - Parameters used to construct a visual representation of a primitive - - - - - + + Agent giving peace sign - - + + Agent pointing at self - - + + Agent pointing at another - - + + Agent preparing for jump (bending knees) - - + + Agent punching with left hand - - + + Agent punching with right hand - - + + Agent acting repulsed - - + + Agent trying to be Chuck Norris - - + + Rocks, Paper, Scissors 1, 2, 3 - - + + Agent with hand flat over other hand - - + + Agent with fist over other hand - - + + Agent with two fingers spread over other hand - - + + Agent running - - + + Agent appearing sad - - + + Agent saluting - - + + Agent shooting bow (left handed) - - + + Agent cupping mouth as if shouting - - + + Agent shrugging shoulders - - + + Agent in sit position - - + + Agent in sit position (feminine) - - Attachment point to an avatar + + Agent in sit position (generic) - - + + Agent sitting on ground - - + + Agent sitting on ground - - + + + - - + + Agent sleeping on side - + + Agent smoking + + + Agent inhaling smoke + + - Information on the flexible properties of a primitive - - + + Agent taking a picture - - + + Agent standing - - + + Agent standing up - - + + Agent standing - - + + Agent standing - - + + Agent standing - - - Default constructor - + + Agent standing - - - - - - + + Agent stretching - - - - - + + Agent in stride (fast walk) - - - - - + + Agent surfing - - - Information on the light properties of a primitive - + + Agent acting surprised - - + + Agent striking with a sword - - + + Agent talking (lips moving) - - + + Agent throwing a tantrum - - + + Agent throwing an object (right handed) - - + + Agent trying on a shirt - - - Default constructor - + + Agent turning to the left - - - - - - + + Agent turning to the right - + + Agent typing + + + Agent walking + + + Agent whispering + + + Agent whispering with fingers in mouth + + + Agent winking + + + Agent winking + + + Agent worried + + + Agent nodding yes + + + Agent nodding yes with happy face + + + Agent floating with legs and arms crossed + + - + A dictionary containing all pre-defined animations - + A dictionary containing the pre-defined animations, + where the key is the animations ID, and the value is a string + containing a name to identify the purpose of the animation - + - + Index of TextureEntry slots for avatar appearances - - + - Information on the sculpt properties of a sculpted primitive + Bake layers for avatar appearance - + Default constructor + A reference to our agent - + - + Contains information about a wearable inventory item - - - - - Render inside out (inverts the normals). - + + Inventory ItemID of the wearable - + + AssetID of the wearable asset + + + WearableType of the wearable + + + AssetType of the wearable + + + Asset data for the wearable + + - Render an X axis mirror of the sculpty. + Data collected from visual params for each wearable + needed for the calculation of the color - + - Extended properties to describe an object + Holds a texture assetID and the data needed to bake this layer into + an outfit texture. Used to keep track of currently worn textures + and baking data - - + + A texture AssetID - - + + Asset data for the texture - - + + Collection of alpha masks that needs applying - - + + Tint that should be applied to the texture - - + + Maximum number of concurrent downloads for wearable assets and textures - - + + Maximum number of concurrent uploads for baked textures - - + + Timeout for fetching inventory listings - - + + Timeout for fetching a single wearable, or receiving a single packet response - - + + Timeout for fetching a single texture - - + + Timeout for uploading a single baked texture - - + + Number of times to retry bake upload - - + + When changing outfit, kick off rebake after + 20 seconds has passed since the last change - - + + Total number of wearables for each avatar - - + + Total number of baked textures on each avatar - - + + Total number of wearables per bake layer - - + + Total number of textures on an avatar, baked or not - - + + Mapping between BakeType and AvatarTextureIndex - - + + Map of what wearables are included in each bake - - + + Magic values to finalize the cache check hashes for each + bake - - + + Default avatar texture, used to detect when a custom + texture is not set for a face - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - - Default constructor - + + Thread sync lock object - - - Set the properties that are set in an ObjectPropertiesFamily packet - - that has - been partially filled by an ObjectPropertiesFamily packet + + The event subscribers. null if no subcribers - - - - + + Thread sync lock object - - - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + A cache of wearables currently being worn - - + + A cache of textures currently being worn - - + + Incrementing serial number for AgentCachedTexture packets - - + + Incrementing serial number for AgentSetAppearance packets - - + + Indicates whether or not the appearance thread is currently + running, to prevent multiple appearance threads from running + simultaneously - + + Reference to our agent + + - + Timer used for delaying rebake on changing outfit - + - Map layer request type + Main appearance thread - - Objects and terrain are shown - - - Only the terrain is shown, no objects + + Triggered when an AgentWearablesUpdate packet is received, + telling us what our avatar is currently wearing + request. - - Overlay showing land for sale and for auction + + Raised when an AgentCachedTextureResponse packet is + received, giving a list of cached bakes that were found on the + simulator + request. - + - Type of grid item, such as telehub, event, populator location, etc. + Raised when appearance data is sent to the simulator, also indicates + the main appearance thread is finished. - - - Telehub - - - PG rated event - - - Mature rated event - - - Popular location - - - Locations of avatar groups in a region - - - Land for sale - - - Classified ad - - - Adult rated event - - - Adult land for sale - - + request. + - Information about a region on the grid map + Triggered when the simulator requests the agent rebake its appearance. + - - Sim X position on World Map - - - Sim Y position on World Map - - - Sim Name (NOTE: In lowercase!) - - - - - - Appears to always be zero (None) + + + Returns true if AppearanceManager is busy and trying to set or change appearance will fail + - - Sim's defined Water Height + + Raises the AgentWearablesReply event + An AgentWearablesReplyEventArgs object containing the + data returned from the data server - - + + Raises the CachedBakesReply event + An AgentCachedBakesReplyEventArgs object containing the + data returned from the data server AgentCachedTextureResponse - - UUID of the World Map image + + Raises the AppearanceSet event + An AppearanceSetEventArgs object indicating if the operatin was successfull - - Unique identifier for this region, a combination of the X - and Y position + + Raises the RebakeAvatarRequested event + An RebakeAvatarTexturesEventArgs object containing the + data returned from the data server - + - + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread - - + - + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread - + Unused parameter - + - + Starts the appearance setting thread - - - + - Visual chunk of the grid map + Starts the appearance setting thread + True to force rebaking, otherwise false - + - Base class for Map Items + Ask the server what textures our agent is currently wearing - - The Global X position of the item - - - The Global Y position of the item - - - Get the Local X position of the item - - - Get the Local Y position of the item - - - Get the Handle of the region - - + - Represents an agent or group of agents location + Build hashes out of the texture assetIDs for each baking layer to + ask the simulator whether it has cached copies of each baked texture - + - Represents a Telehub location + Returns the AssetID of the asset that is currently being worn in a + given WearableType slot + WearableType slot to get the AssetID for + The UUID of the asset being worn in the given slot, or + UUID.Zero if no wearable is attached to the given slot or wearables + have not been downloaded yet - + - Represents a non-adult parcel of land for sale + Add a wearable to the current outfit and set appearance + Wearable to be added to the outfit - + - Represents an Adult parcel of land for sale + Add a list of wearables to the current outfit and set appearance + List of wearable inventory items to + be added to the outfit - + - Represents a PG Event + Remove a wearable from the current outfit and set appearance + Wearable to be removed from the outfit - + - Represents a Mature event + Removes a list of wearables from the current outfit and set appearance + List of wearable inventory items to + be removed from the outfit - + - Represents an Adult event + Replace the current outfit with a list of wearables and set appearance + List of wearable inventory items that + define a new outfit - + - Manages grid-wide tasks such as the world map + Checks if an inventory item is currently being worn + The inventory item to check against the agent + wearables + The WearableType slot that the item is being worn in, + or WearbleType.Invalid if it is not currently being worn - - The event subscribers. null if no subcribers - - - Raises the CoarseLocationUpdate event - A CoarseLocationUpdateEventArgs object containing the - data sent by simulator + + + Returns a copy of the agents currently worn wearables + + A copy of the agents currently worn wearables + Avoid calling this function multiple times as it will make + a copy of all of the wearable data each time - - Thread sync lock object + + + Calls either or + depending on the value of + replaceItems + + List of wearable inventory items to add + to the outfit or become a new outfit + True to replace existing items with the + new list of items, false to add these items to the existing outfit - - The event subscribers. null if no subcribers + + + Adds a list of attachments to our agent + + A List containing the attachments to add + If true, tells simulator to remove existing attachment + first - - Raises the GridRegion event - A GridRegionEventArgs object containing the - data sent by simulator + + + Attach an item to our agent at a specific attach point + + A to attach + the on the avatar + to attach the item to - - Thread sync lock object + + + Attach an item to our agent specifying attachment details + + The of the item to attach + The attachments owner + The name of the attachment + The description of the attahment + The to apply when attached + The of the attachment + The on the agent + to attach the item to - - The event subscribers. null if no subcribers + + + Detach an item from our agent using an object + + An object - - Raises the GridLayer event - A GridLayerEventArgs object containing the - data sent by simulator + + + Detach an item from our agent + + The inventory itemID of the item to detach - - Thread sync lock object + + + Inform the sim which wearables are part of our current outfit + - - The event subscribers. null if no subcribers + + + Replaces the Wearables collection with a list of new wearable items + + Wearable items to replace the Wearables collection with - - Raises the GridItems event - A GridItemEventArgs object containing the - data sent by simulator + + + Calculates base color/tint for a specific wearable + based on its params + + All the color info gathered from wearable's VisualParams + passed as list of ColorParamInfo tuples + Base color/tint for the wearable - - Thread sync lock object + + + Blocking method to populate the Wearables dictionary + + True on success, otherwise false - - The event subscribers. null if no subcribers + + + Blocking method to populate the Textures array with cached bakes + + True on success, otherwise false - - Raises the RegionHandleReply event - A RegionHandleReplyEventArgs object containing the - data sent by simulator + + + Populates textures and visual params from a decoded asset + + Wearable to decode - - Thread sync lock object + + + Blocking method to download and parse currently worn wearable assets + + True on success, otherwise false - - A dictionary of all the regions, indexed by region name + + + Get a list of all of the textures that need to be downloaded for a + single bake layer + + Bake layer to get texture AssetIDs for + A list of texture AssetIDs to download - - A dictionary of all the regions, indexed by region handle + + + Helper method to lookup the TextureID for a single layer and add it + to a list if it is not already present + + + + + - + - Constructor + Blocking method to download all of the textures needed for baking + the given bake layers - Instance of GridClient object to associate with this GridManager instance + A list of layers that need baking + No return value is given because the baking will happen + whether or not all textures are successfully downloaded - + - + Blocking method to create and upload baked textures for all of the + missing bakes - + True on success, otherwise false - + - Request a map layer + Blocking method to create and upload a baked texture for a single + bake layer - The name of the region - The type of layer + Layer to bake + True on success, otherwise false - + - + Blocking method to upload a baked texture - - - - - - + Five channel JPEG2000 texture data to upload + UUID of the newly created asset on success, otherwise UUID.Zero - + - + Creates a dictionary of visual param values from the downloaded wearables - - - - - + A dictionary of visual param indices mapping to visual param + values for our agent that can be fed to the Baker class - + - + Create an AgentSetAppearance packet from Wearables data and the + Textures array and send it - - - - + - Request data for all mainland (Linden managed) simulators + Converts a WearableType to a bodypart or clothing WearableType + A WearableType + AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown - + - Request the region handle for the specified region UUID + Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex - UUID of the region to look up + A BakeType + The AvatarTextureIndex slot that holds the given BakeType - + - Get grid region information using the region name, this function - will block until it can find the region or gives up + Gives the layer number that is used for morph mask - Name of sim you're looking for - Layer that you are requesting - Will contain a GridRegion for the sim you're - looking for if successful, otherwise an empty structure - True if the GridRegion was successfully fetched, otherwise - false + >A BakeType + Which layer number as defined in BakeTypeToTextures is used for morph mask - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Converts a BakeType to a list of the texture slots that make up that bake + + A BakeType + A list of texture slots that are inputs for the given bake - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Contains the Event data returned from the data server from an AgentWearablesRequest - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Construct a new instance of the AgentWearablesReplyEventArgs class - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Contains the Event data returned from the data server from an AgentCachedTextureResponse - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Construct a new instance of the AgentCachedBakesReplyEventArgs class - - Raised when the simulator sends a - containing the location of agents in the simulator + + Contains the Event data returned from an AppearanceSetRequest - - Raised when the simulator sends a Region Data in response to - a Map request + + + Triggered when appearance data is sent to the sim and + the main appearance thread is done. + Indicates whether appearance setting was successful - - Raised when the simulator sends GridLayer object containing - a map tile coordinates and texture information + + Indicates whether appearance setting was successful - - Raised when the simulator sends GridItems object containing - details on events, land sales at a specific location + + Contains the Event data returned from the data server from an RebakeAvatarTextures - - Raised in response to a Region lookup + + + Triggered when the simulator sends a request for this agent to rebake + its appearance + + The ID of the Texture Layer to bake - - Unknown - - - Current direction of the sun - - - Current angular velocity of the sun - - - Current world time + + The ID of the Texture Layer to bake - + - Main class to expose grid functionality to clients. All of the - classes needed for sending and receiving data are accessible through - this class. + Class that handles the local asset cache - - - // Example minimum code required to instantiate class and - // connect to a simulator. - using System; - using System.Collections.Generic; - using System.Text; - using OpenMetaverse; - - namespace FirstBot - { - class Bot - { - public static GridClient Client; - static void Main(string[] args) - { - Client = new GridClient(); // instantiates the GridClient class - // to the global Client object - // Login to Simulator - Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); - // Wait for a Keypress - Console.ReadLine(); - // Logout of simulator - Client.Network.Logout(); - } - } - } - - - - - Networking subsystem - - - Settings class including constant values and changeable - parameters for everything - - - Parcel (subdivided simulator lots) subsystem - - - Our own avatars subsystem - - - Other avatars subsystem - - - Estate subsystem - - - Friends list subsystem - - - Grid (aka simulator group) subsystem - - - Object subsystem - - - Group subsystem - - - Asset subsystem - - - Appearance subsystem - - - Inventory subsystem - - - Directory searches including classifieds, people, land - sales, etc - - - Handles land, wind, and cloud heightmaps - - - Handles sound-related networking - - - Throttling total bandwidth usage, or allocating bandwidth - for specific data stream types - + Default constructor + A reference to the GridClient object - - - Return the full name of this instance - - Client avatars full name - - + - Attempts to convert an LLSD structure to a known Packet type + Helper class for sorting files by their last accessed time - Event name, this must match an actual - packet name for a Packet to be successfully built - LLSD to convert to a Packet - A Packet on success, otherwise null - + - Class that handles the local asset cache + Allows setting weather to periodicale prune the cache if it grows too big + Default is enabled, when caching is enabled - + - Default constructor + How long (in ms) between cache checks (default is 5 min.) - A reference to the GridClient object @@ -4525,20726 +4159,21636 @@ Byte size we want to output String with humanly readable file size - + - Allows setting weather to periodicale prune the cache if it grows too big - Default is enabled, when caching is enabled - + + OK + + + Transfer completed + + - How long (in ms) between cache checks (default is 5 min.) - + - Helper class for sorting files by their last accessed time - + + Unknown error occurred + + + Equivalent to a 404 error + + + Client does not have permission for that resource + + + Unknown status + + - Extract the avatar UUID encoded in a SIP URI - - - + - Represents an LSL Text object containing a string of UTF encoded characters - - A string of characters represting the script contents + + Unknown - - Initializes a new AssetScriptText object + + Virtually all asset transfers use this channel - + - Initializes a new AssetScriptText object with parameters - A unique specific to this asset - A byte array containing the raw asset data - + - Initializes a new AssetScriptText object with parameters - A string containing the scripts contents - + + Asset from the asset server + + + Inventory item + + + Estate asset, such as an estate covenant + + - Encode a string containing the scripts contents into byte encoded AssetData - + - Decode a byte array containing the scripts contents into a string - true if decoding is successful - - Override the base classes AssetType + + + - + - NetworkManager is responsible for managing the network layer of - OpenMetaverse. It tracks all the server connections, serializes - outgoing traffic and deserializes incoming traffic, and provides - instances of delegates for network-related events. + + - Login Routines - - The event subscribers, null of no subscribers + + + - - Raises the PacketSent Event - A PacketSentEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + Image file format + - - The event subscribers, null of no subscribers + + + - - Raises the LoggedOut Event - A LoggedOutEventArgs object containing - the data sent from the simulator + + Number of milliseconds passed since the last transfer + packet was received - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the SimConnecting Event - A SimConnectingEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the SimConnected Event - A SimConnectedEventArgs object containing - the data sent from the simulator + + + + + + + + + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + Default constructor + + A reference to the GridClient object - - Raises the SimDisconnected Event - A SimDisconnectedEventArgs object containing - the data sent from the simulator + + + Callback used for various asset download requests + + Transfer information + Downloaded asset, null on fail - - Thread sync lock object + + + Callback used upon competition of baked texture upload + + Asset UUID of the newly uploaded baked texture - - The event subscribers, null of no subscribers + + Number of milliseconds to wait for a transfer header packet if out of order data was received - - Raises the Disconnected Event - A DisconnectedEventArgs object containing - the data sent from the simulator + + The event subscribers. null if no subcribers - + Thread sync lock object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - - Raises the SimChanged Event - A SimChangedEventArgs object containing - the data sent from the simulator + + Thread sync lock object - + + The event subscribers. null if no subcribers + + Thread sync lock object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - - Raises the EventQueueRunning Event - A EventQueueRunningEventArgs object containing - the data sent from the simulator + + Thread sync lock object - + + The event subscribers. null if no subcribers + + Thread sync lock object - - All of the simulators we are currently connected to + + Texture download cache - - Handlers for incoming capability events + + Raised when the simulator responds sends - - Handlers for incoming packets + + Raised during upload completes - - Incoming packets that are awaiting handling + + Raised during upload with progres update - - Outgoing packets that are awaiting handling + + Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files - - - Default constructor - - Reference to the GridClient object + + Fired when a texture is in the process of being downloaded by the TexturePipeline class - - - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type to trigger events for - Callback to fire when a packet of this type - is received + + Raises the XferReceived event + A XferReceivedEventArgs object containing the + data returned from the simulator - - - Unregister an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type this callback is registered with - Callback to stop firing events for + + Raises the AssetUploaded event + A AssetUploadedEventArgs object containing the + data returned from the simulator - - - Register a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library - - Name of the CAPS event to register a handler for - Callback to fire when a CAPS event is received + + Raises the UploadProgress event + A UploadProgressEventArgs object containing the + data returned from the simulator - + + Raises the InitiateDownload event + A InitiateDownloadEventArgs object containing the + data returned from the simulator + + + Raises the ImageReceiveProgress event + A ImageReceiveProgressEventArgs object containing the + data returned from the simulator + + - Unregister a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library + Request an asset download - Name of the CAPS event this callback is - registered with - Callback to stop firing events for + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + The callback to fire when the simulator responds with the asset data - + - Send a packet to the simulator the avatar is currently occupying + Request an asset download - Packet to send + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + The callback to fire when the simulator responds with the asset data - + - Send a packet to a specified simulator + Request an asset download - Packet to send - Simulator to send the packet to + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + UUID of the transaction + The callback to fire when the simulator responds with the asset data - + - Connect to a simulator + Request an asset download through the almost deprecated Xfer system - IP address to connect to - Port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null + Filename of the asset to request + Whether or not to delete the asset + off the server after it is retrieved + Use large transfer packets or not + UUID of the file to request, if filename is + left empty + Asset type of vFileID, or + AssetType.Unknown if filename is not empty + Sets the FilePath in the request to Cache + (4) if true, otherwise Unknown (0) is used + + - + - Connect to a simulator - IP address and port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null + Use UUID.Zero if you do not have the + asset ID but have all the necessary permissions + The item ID of this asset in the inventory + Use UUID.Zero if you are not requesting an + asset from an object inventory + The owner of this asset + Asset type + Whether to prioritize this asset download or not + + - + - Initiate a blocking logout request. This will return when the logout - handshake has completed or when Settings.LOGOUT_TIMEOUT - has expired and the network layer is manually shut down + Used to force asset data into the PendingUpload property, ie: for raw terrain uploads + An AssetUpload object containing the data to upload to the simulator - + - Initiate the logout process. Check if logout succeeded with the - OnLogoutReply event, and if this does not fire the - Shutdown() function needs to be manually called + Request an asset be uploaded to the simulator + The Object containing the asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - + - Close a connection to the given simulator + Request an asset be uploaded to the simulator - - + The of the asset being uploaded + A byte array containing the encoded asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - + - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout + Request an asset be uploaded to the simulator - Type of shutdown + + + Asset type to upload this data as + A byte array containing the encoded asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - + - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout + Initiate an asset upload - Type of shutdown - Shutdown message + The ID this asset will have if the + upload succeeds + Asset type to upload this data as + Raw asset data to upload + Whether to store this asset on the local + simulator or the grid-wide asset server + The tranaction id for the upload + The transaction ID of this transfer - + - Searches through the list of currently connected simulators to find - one attached to the given IPEndPoint + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator - IPEndPoint of the Simulator to search for - A Simulator reference on success, otherwise null + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress + transfer. + A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority + indicating an off-by-one error. + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request + + Request an image and fire a callback when the request is complete + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); + private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); + } + } + + Request an image and use an inline anonymous method to handle the downloaded texture data + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); + } + } + ); + + Request a texture, decode the texture to a bitmap image and apply it to a imagebox + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); + private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + ManagedImage imgData; + Image bitmap; + if (state == TextureRequestState.Finished) + { + OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); + picInsignia.Image = bitmap; + } + } + } + - + - Fire an event when an event queue connects for capabilities + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator - Simulator the event queue is attached to + The of the texture asset to download + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data - + + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + + + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request + + + + Cancel a texture request + + The texture assets + + + + Lets TexturePipeline class fire the progress event + + The texture ID currently being downloaded + the number of bytes transferred + the total number of bytes expected + + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - - The event subscribers, null of no subscribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Raises the LoginProgress Event - A LoginProgressEventArgs object containing - the data sent from the simulator + + Xfer data - - Thread sync lock object + + Upload data - - Seed CAPS URL returned from the login server + + Filename used on the simulator - - A list of packets obtained during the login process which - networkmanager will log but not process + + Filename used by the client - + + UUID of the image that is in progress + + + Number of bytes received so far + + + Image size in bytes + + - Generate sane default values for a login request + Avatar profile flags - Account first name - Account last name - Account password - Client application name - Client application version - A populated struct containing - sane defaults - + - Simplified login that takes the most common and required fields + Represents an avatar (other than your own) - Account first name - Account last name - Account password - Client application name - Client application version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - + - Simplified login that takes the most common fields along with a - starting location URI, and can accept an MD5 string instead of a - plaintext password + Default constructor - Account first name - Account last name - Account password or MD5 hash of the password - such as $1$1682a1e45e9f957dcdf0bb56eb43319c - Client application name - Starting location URI that can be built with - StartLocation() - Client application version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - + - Login that takes a struct of all the values that will be passed to - the login server + Positive and negative ratings - The values that will be passed to the login - server, all fields must be set even if they are String.Empty - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - + + Positive ratings for Behavior + + + Negative ratings for Behavior + + + Positive ratings for Appearance + + + Negative ratings for Appearance + + + Positive ratings for Building + + + Negative ratings for Building + + + Positive ratings given by this avatar + + + Negative ratings given by this avatar + + - Build a start location URI for passing to the Login function + Avatar properties including about text, profile URL, image IDs and + publishing settings - Name of the simulator to start in - X coordinate to start at - Y coordinate to start at - Z coordinate to start at - String with a URI that can be used to login to a specified - location - + + First Life about text + + + First Life image ID + + - Handles response from XML-RPC login replies - + - Handle response from LLSD login replies - - - - + - Get current OS - Either "Win" or "Linux" - + - Get clients default Mac Address - A string containing the first found Mac Address - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... + + Profile image ID - - Raised when the simulator sends us data containing - ... + + Flags of the profile - - Raised when the simulator sends us data containing - ... + + Web URL for this profile - - Raised when the simulator sends us data containing - ... + + Should this profile be published on the web - - Raised when the simulator sends us data containing - ... + + Avatar Online Status - - Raised when the simulator sends us data containing - ... + + Is this a mature profile - - Raised when the simulator sends us data containing - ... + + + - - Unique identifier associated with our connections to - simulators + + + - - The simulator that the logged in avatar is currently - occupying + + + Avatar interests including spoken languages, skills, and "want to" + choices + - - Shows whether the network layer is logged in to the - grid or not + + Languages profile field - - Number of packets in the incoming queue + + + - - Number of packets in the outgoing queue + + + - - Raised when the simulator sends us data containing - ... + + + - - Called when a reply is received from the login server, the - login sequence will block until this event returns + + + - - Current state of logging in + + Groups that this avatar is a member of - - Upon login failure, contains a short string key for the - type of login error that occurred + + Positive and negative ratings - - The raw XML-RPC reply from the login server, exactly as it - was received (minus the HTTP header) + + Avatar properties including about text, profile URL, image IDs and + publishing settings - - During login this contains a descriptive version of - LoginStatusCode. After a successful login this will contain the - message of the day, and after a failed login a descriptive error - message will be returned + + Avatar interests including spoken languages, skills, and "want to" + choices - + + Movement control flags for avatars. Typically not set or used by + clients. To move your avatar, use Client.Self.Movement instead + + - Explains why a simulator or the grid disconnected from us + Contains the visual parameters describing the deformation of the avatar - - The client requested the logout or simulator disconnect + + First name - - The server notified us that it is disconnecting + + Last name - - Either a socket was closed or network traffic timed out + + Full name - - The last active simulator shut down + + Active group - + - Holds a simulator reference and a decoded packet, these structs are put in - the packet inbox for event handling + Holds group information for Avatars such as those you might find in a profile - - Reference to the simulator that this packet came from - - - Packet that needs to be processed - - - - Holds a simulator reference and a serialized packet, these structs are put in - the packet outbox for sending - + + true of Avatar accepts group notices - - Reference to the simulator this packet is destined for + + Groups Key - - Packet that needs to be sent + + Texture Key for groups insignia - - Sequence number of the wrapped packet + + Name of the group - - Number of times this packet has been resent + + Powers avatar has in the group - - Environment.TickCount when this packet was last sent over the wire + + Avatars Currently selected title - - - - - - - - - + + true of Avatar has chosen to list this in their profile - + - Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. + Contains an animation currently being played by an agent - - - Rotation Keyframe count (used internally) - + + The ID of the animation asset - - - Position Keyframe count (used internally) - + + A number to indicate start order of currently playing animations + On Linden Grids this number is unique per region, with OpenSim it is per client - + - Animation Priority - + - The animation length in seconds. + Holds group information on an individual profile pick - + - Expression set in the client. Null if [None] is selected + Retrieve friend status notifications, and retrieve avatar names and + profiles - + - The time in seconds to start the animation + Represents other avatars + + - - - The time in seconds to end the animation - + + The event subscribers, null of no subscribers - - - Loop the animation - + + Thread sync lock object - - - Meta data. Ease in Seconds. - + + The event subscribers, null of no subscribers - - - Meta data. Ease out seconds. - + + Thread sync lock object - - - Meta Data for the Hand Pose - + + The event subscribers, null of no subscribers - - - Number of joints defined in the animation - + + Thread sync lock object - - - Contains an array of joints - + + The event subscribers, null of no subscribers - - - Searialize an animation asset into it's joints/keyframes/meta data - - + + Thread sync lock object - - - Variable length strings seem to be null terminated in the animation asset.. but.. - use with caution, home grown. - advances the index. - - The animation asset byte array - The offset to start reading - a string + + The event subscribers, null of no subscribers - - - Read in a Joint from an animation asset byte array - Variable length Joint fields, yay! - Advances the index - - animation asset byte array - Byte Offset of the start of the joint - The Joint data serialized into the binBVHJoint structure + + Thread sync lock object - - - Read Keyframes of a certain type - advance i - - Animation Byte array - Offset in the Byte Array. Will be advanced - Number of Keyframes - Scaling Min to pass to the Uint16ToFloat method - Scaling Max to pass to the Uint16ToFloat method - + + The event subscribers, null of no subscribers - - - A Joint and it's associated meta data and keyframes - + + Thread sync lock object - - - Name of the Joint. Matches the avatar_skeleton.xml in client distros - + + The event subscribers, null of no subscribers - - - Joint Animation Override? Was the same as the Priority in testing.. - + + Thread sync lock object - - - Array of Rotation Keyframes in order from earliest to latest - + + The event subscribers, null of no subscribers - - - Array of Position Keyframes in order from earliest to latest - This seems to only be for the Pelvis? - - - - - A Joint Keyframe. This is either a position or a rotation. - - - - - Either a Vector3 position or a Vector3 Euler rotation - - - - - Poses set in the animation metadata for the hands. - - - - - Manager class for our own avatar - - - - The event subscribers. null if no subcribers - - - Raises the ChatFromSimulator event - A ChatEventArgs object containing the - data returned from the data server - - + Thread sync lock object - - The event subscribers. null if no subcribers - - - Raises the ScriptDialog event - A SctriptDialogEventArgs object containing the - data returned from the data server + + The event subscribers, null of no subscribers - + Thread sync lock object - - The event subscribers. null if no subcribers - - - Raises the ScriptQuestion event - A ScriptQuestionEventArgs object containing the - data returned from the data server + + The event subscribers, null of no subscribers - + Thread sync lock object - - The event subscribers. null if no subcribers - - - Raises the LoadURL event - A LoadUrlEventArgs object containing the - data returned from the data server + + The event subscribers, null of no subscribers - + Thread sync lock object - - The event subscribers. null if no subcribers - - - Raises the MoneyBalance event - A BalanceEventArgs object containing the - data returned from the data server + + The event subscribers, null of no subscribers - + Thread sync lock object - - The event subscribers. null if no subcribers - - - Raises the MoneyBalanceReply event - A MoneyBalanceReplyEventArgs object containing the - data returned from the data server + + The event subscribers, null of no subscribers - + Thread sync lock object - - The event subscribers. null if no subcribers - - - Raises the IM event - A InstantMessageEventArgs object containing the - data returned from the data server + + The event subscribers, null of no subscribers - + Thread sync lock object - - The event subscribers. null if no subcribers + + Raised when the simulator sends us data containing + an agents animation playlist - - Raises the TeleportProgress event - A TeleportEventArgs object containing the - data returned from the data server + + Raised when the simulator sends us data containing + the appearance information for an agent - - Thread sync lock object + + Raised when the simulator sends us data containing + agent names/id values - - The event subscribers. null if no subcribers + + Raised when the simulator sends us data containing + the interests listed in an agents profile - - Raises the AgentDataReply event - A AgentDataReplyEventArgs object containing the - data returned from the data server + + Raised when the simulator sends us data containing + profile property information for an agent - - Thread sync lock object + + Raised when the simulator sends us data containing + the group membership an agent is a member of - - The event subscribers. null if no subcribers + + Raised when the simulator sends us data containing + name/id pair - - Raises the AnimationsChanged event - A AnimationsChangedEventArgs object containing the - data returned from the data server + + Raised when the simulator sends us data containing + the objects and effect when an agent is pointing at - - Thread sync lock object + + Raised when the simulator sends us data containing + the objects and effect when an agent is looking at - - The event subscribers. null if no subcribers + + Raised when the simulator sends us data containing + an agents viewer effect information - - Raises the MeanCollision event - A MeanCollisionEventArgs object containing the - data returned from the data server + + Raised when the simulator sends us data containing + the top picks from an agents profile - - Thread sync lock object + + Raised when the simulator sends us data containing + the Pick details - - The event subscribers. null if no subcribers + + Raised when the simulator sends us data containing + the classified ads an agent has placed - - Raises the RegionCrossed event - A RegionCrossedEventArgs object containing the - data returned from the data server + + Raised when the simulator sends us data containing + the details of a classified ad - - Thread sync lock object + + Raises the AvatarAnimation Event + An AvatarAnimationEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the AvatarAppearance Event + A AvatarAppearanceEventArgs object containing + the data sent from the simulator - - Raises the GroupChatJoined event - A GroupChatJoinedEventArgs object containing the - data returned from the data server + + Raises the UUIDNameReply Event + A UUIDNameReplyEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the AvatarInterestsReply Event + A AvatarInterestsReplyEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the AvatarPropertiesReply Event + A AvatarPropertiesReplyEventArgs object containing + the data sent from the simulator - - Raises the GroupChatLeft event - A GroupChatLeftEventArgs object containing the - data returned from the data server + + Raises the AvatarGroupsReply Event + A AvatarGroupsReplyEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the AvatarPickerReply Event + A AvatarPickerReplyEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the ViewerEffectPointAt Event + A ViewerEffectPointAtEventArgs object containing + the data sent from the simulator - - Raises the AlertMessage event - A AlertMessageEventArgs object containing the - data returned from the data server + + Raises the ViewerEffectLookAt Event + A ViewerEffectLookAtEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the ViewerEffect Event + A ViewerEffectEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the AvatarPicksReply Event + A AvatarPicksReplyEventArgs object containing + the data sent from the simulator - - Raises the ScriptControlChange event - A ScriptControlEventArgs object containing the - data returned from the data server + + Raises the PickInfoReply Event + A PickInfoReplyEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the AvatarClassifiedReply Event + A AvatarClassifiedReplyEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the ClassifiedInfoReply Event + A ClassifiedInfoReplyEventArgs object containing + the data sent from the simulator - - Raises the CameraConstraint event - A CameraConstraintEventArgs object containing the - data returned from the data server + + Tracks the specified avatar on your map + Avatar ID to track - - Thread sync lock object + + + Request a single avatar name + + The avatar key to retrieve a name for - - The event subscribers. null if no subcribers - - - Raises the ScriptSensorReply event - A ScriptSensorReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the AvatarSitResponse event - A AvatarSitResponseEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the ChatSessionMemberAdded event - A ChatSessionMemberAddedEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the ChatSessionMemberLeft event - A ChatSessionMemberLeftEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Reference to the GridClient instance - - - Used for movement and camera tracking - - - Currently playing animations for the agent. Can be used to - check the current movement status such as walking, hovering, aiming, - etc. by checking against system animations found in the Animations class - - - Dictionary containing current Group Chat sessions and members - - + - Constructor, setup callbacks for packets related to our avatar + Request a list of avatar names - A reference to the Class + The avatar keys to retrieve names for - + - Send a text message from the Agent to the Simulator + Start a request for Avatar Properties - A containing the message - The channel to send the message on, 0 is the public channel. Channels above 0 - can be used however only scripts listening on the specified channel will see the message - Denotes the type of message being sent, shout, whisper, etc. + + - + - Request any instant messages sent while the client was offline to be resent. + Search for an avatar (first name, last name) + The name to search for + An ID to associate with this query - + - Send an Instant Message to another Avatar + Start a request for Avatar Picks - The recipients - A containing the message to send + UUID of the avatar - + - Send an Instant Message to an existing group chat or conference chat + Start a request for Avatar Classifieds - The recipients - A containing the message to send - IM session ID (to differentiate between IM windows) + UUID of the avatar - + - Send an Instant Message + Start a request for details of a specific profile pick - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - IDs of sessions for a conference + UUID of the avatar + UUID of the profile pick - + - Send an Instant Message + Start a request for details of a specific profile classified - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - Type of instant message to send - Whether to IM offline avatars as well - Senders Position - RegionID Sender is In - Packed binary data that is specific to - the dialog type + UUID of the avatar + UUID of the profile classified - - - Send an Instant Message to a group - - of the group to send message to - Text Message being sent. + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Send an Instant Message to a group the agent is a member of - - The name this IM will show up as being from - of the group to send message to - Text message being sent + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Send a request to join a group chat session - - of Group to leave + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Exit a group chat session. This will stop further Group chat messages - from being sent until session is rejoined. - - of Group chat session to leave + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Reply to script dialog questions. - - Channel initial request came on - Index of button you're "clicking" - Label of button you're "clicking" - of Object that sent the dialog request - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Accept invite for to a chatterbox session + Crossed region handler for message that comes across the EventQueue. Sent to an agent + when the agent crosses a sim border into a new region. - of session to accept invite to + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - - Start a friends conference - - List of UUIDs to start a conference with - the temportary session ID returned in the callback> + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Start a particle stream between an agent and an object - - Key of the source agent - Key of the target object - - The type from the enum - A unique for this effect + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Start a particle stream between an agent and an object - - Key of the source agent - Key of the target object - A representing the beams offset from the source - A which sets the avatars lookat animation - of the Effect + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Create a particle beam between an avatar and an primitive - - The ID of source avatar - The ID of the target primitive - global offset - A object containing the combined red, green, blue and alpha - color values of particle beam - a float representing the duration the parcicle beam will last - A Unique ID for the beam - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Create a particle swirl around a target position using a packet - - global offset - A object containing the combined red, green, blue and alpha - color values of particle beam - a float representing the duration the parcicle beam will last - A Unique ID for the beam + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Sends a request to sit on the specified object - - of the object to sit on - Sit at offset + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Follows a call to to actually sit on the object - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Stands up from sitting on a prim or the ground - true of AgentUpdate was sent + + Provides data for the event + The event occurs when the simulator sends + the animation playlist for an agent + + The following code example uses the and + properties to display the animation playlist of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; + private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) + { + // create a dictionary of "known" animations from the Animations class using System.Reflection + Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); + Type type = typeof(Animations); + System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); + foreach (System.Reflection.FieldInfo field in fields) + { + systemAnimations.Add((UUID)field.GetValue(type), field.Name); + } + // find out which animations being played are known animations and which are assets + foreach (Animation animation in e.Animations) + { + if (systemAnimations.ContainsKey(animation.AnimationID)) + { + Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, + systemAnimations[animation.AnimationID], animation.AnimationSequence); + } + else + { + Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, + animation.AnimationID, animation.AnimationSequence); + } + } + } + - + - Does a "ground sit" at the avatar's current position + Construct a new instance of the AvatarAnimationEventArgs class + The ID of the agent + The list of animations to start - - - Starts or stops flying - - True to start flying, false to stop flying + + Get the ID of the agent - + + Get the list of animations to start + + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + + + - Starts or stops crouching + Construct a new instance of the AvatarAppearanceEventArgs class - True to start crouching, false to stop crouching + The simulator request was from + The ID of the agent + true of the agent is a trial account + The default agent texture + The agents appearance layer textures + The for the agent - + + Get the Simulator this request is from of the agent + + + Get the ID of the agent + + + true if the agent is a trial account + + + Get the default agent texture + + + Get the agents appearance layer textures + + + Get the for the agent + + + Represents the interests from the profile of an agent + + + Get the ID of the agent + + + The properties of an agent + + + Get the ID of the agent + + + Get the ID of the agent + + + Get the ID of the agent + + + Get the ID of the avatar + + - Starts a jump (begin holding the jump key) + Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. - + - Use the autopilot sim function to move the avatar to a new - position. Uses double precision to get precise movements + Searialize an animation asset into it's joints/keyframes/meta data - The z value is currently not handled properly by the simulator - Global X coordinate to move to - Global Y coordinate to move to - Z coordinate to move to + + - + - Use the autopilot sim function to move the avatar to a new position + Rotation Keyframe count (used internally) - The z value is currently not handled properly by the simulator - Integer value for the global X coordinate to move to - Integer value for the global Y coordinate to move to - Floating-point value for the Z coordinate to move to - + - Use the autopilot sim function to move the avatar to a new position + Position Keyframe count (used internally) - The z value is currently not handled properly by the simulator - Integer value for the local X coordinate to move to - Integer value for the local Y coordinate to move to - Floating-point value for the Z coordinate to move to - - - Macro to cancel autopilot sim function - Not certain if this is how it is really done - true if control flags were set and AgentUpdate was sent to the simulator - + - Grabs an object + Animation Priority - an unsigned integer of the objects ID within the simulator - - + - Overload: Grab a simulated object + The animation length in seconds. - an unsigned integer of the objects ID within the simulator - - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - + - Drag an object + Expression set in the client. Null if [None] is selected - of the object to drag - Drag target in region coordinates - + - Overload: Drag an object + The time in seconds to start the animation - of the object to drag - Drag target in region coordinates - - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - + - Release a grabbed object + The time in seconds to end the animation - The Objects Simulator Local ID - - - - + - Release a grabbed object + Loop the animation - The Objects Simulator Local ID - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - + - Touches an object + Meta data. Ease in Seconds. - an unsigned integer of the objects ID within the simulator - - + - Request the current L$ balance + Meta data. Ease out seconds. - + - Give Money to destination Avatar + Meta Data for the Hand Pose - UUID of the Target Avatar - Amount in L$ - + - Give Money to destination Avatar + Number of joints defined in the animation - UUID of the Target Avatar - Amount in L$ - Description that will show up in the - recipients transaction history - + - Give L$ to an object + Contains an array of joints - object to give money to - amount of L$ to give - name of object - + - Give L$ to a group + Variable length strings seem to be null terminated in the animation asset.. but.. + use with caution, home grown. + advances the index. - group to give money to - amount of L$ to give + The animation asset byte array + The offset to start reading + a string - + - Give L$ to a group + Read in a Joint from an animation asset byte array + Variable length Joint fields, yay! + Advances the index - group to give money to - amount of L$ to give - description of transaction + animation asset byte array + Byte Offset of the start of the joint + The Joint data serialized into the binBVHJoint structure - + - Pay texture/animation upload fee + Read Keyframes of a certain type + advance i + Animation Byte array + Offset in the Byte Array. Will be advanced + Number of Keyframes + Scaling Min to pass to the Uint16ToFloat method + Scaling Max to pass to the Uint16ToFloat method + + - + - Pay texture/animation upload fee + A Joint and it's associated meta data and keyframes - description of the transaction - + - Give Money to destination Object or Avatar + Name of the Joint. Matches the avatar_skeleton.xml in client distros - UUID of the Target Object/Avatar - Amount in L$ - Reason (Optional normally) - The type of transaction - Transaction flags, mostly for identifying group - transactions - + - Plays a gesture + Joint Animation Override? Was the same as the Priority in testing.. - Asset of the gesture - + - Mark gesture active + Array of Rotation Keyframes in order from earliest to latest - Inventory of the gesture - Asset of the gesture - + - Mark gesture inactive + Array of Position Keyframes in order from earliest to latest + This seems to only be for the Pelvis? - Inventory of the gesture - + - Send an AgentAnimation packet that toggles a single animation on + A Joint Keyframe. This is either a position or a rotation. - The of the animation to start playing - Whether to ensure delivery of this packet or not - + - Send an AgentAnimation packet that toggles a single animation off + Either a Vector3 position or a Vector3 Euler rotation - The of a - currently playing animation to stop playing - Whether to ensure delivery of this packet or not - + - Send an AgentAnimation packet that will toggle animations on or off + Poses set in the animation metadata for the hands. - A list of animation s, and whether to - turn that animation on or off - Whether to ensure delivery of this packet or not - + - Teleports agent to their stored home location + Wrapper around a byte array that allows bit to be packed and unpacked + one at a time or by a variable amount. Useful for very tightly packed + data like LayerData packets - true on successful teleport to home location - + - Teleport agent to a landmark + Default constructor, initialize the bit packer / bit unpacker + with a byte array and starting position - of the landmark to teleport agent to - true on success, false on failure + Byte array to pack bits in to or unpack from + Starting position in the byte array - + - Attempt to look up a simulator name and teleport to the discovered - destination - Region name to look up - Position to teleport to - True if the lookup and teleport were successful, otherwise - false - + - Attempt to look up a simulator name and teleport to the discovered - destination - Region name to look up - Position to teleport to - Target to look at - True if the lookup and teleport were successful, otherwise - false - + - Teleport agent to another region - handle of region to teleport agent to - position in destination sim to teleport to - true on success, false on failure - This call is blocking - + - Teleport agent to another region + Pack a floating point value in to the data - handle of region to teleport agent to - position in destination sim to teleport to - direction in destination sim agent will look at - true on success, false on failure - This call is blocking + Floating point value to pack - + - Request teleport to a another simulator + Pack part or all of an integer in to the data - handle of region to teleport agent to - position in destination sim to teleport to + Integer containing the data to pack + Number of bits of the integer to pack - + - Request teleport to a another simulator + Pack part or all of an unsigned integer in to the data - handle of region to teleport agent to - position in destination sim to teleport to - direction in destination sim agent will look at + Unsigned integer containing the data to pack + Number of bits of the integer to pack - + - Teleport agent to a landmark + Pack a single bit in to the data - of the landmark to teleport agent to + Bit to pack - + - Send a teleport lure to another avatar with default "Join me in ..." invitation message - target avatars to lure + + + + + + + + - + - Send a teleport lure to another avatar with custom invitation message - target avatars to lure - custom message to send with invitation + + - + - Respond to a teleport lure by either accepting it and initiating - the teleport, or denying it - of the avatar sending the lure - true to accept the lure, false to decline it + + - + - Update agent profile + Unpacking a floating point value from the data - struct containing updated - profile information + Unpacked floating point value - + - Update agents profile interests + Unpack a variable number of bits from the data in to integer format - selection of interests from struct + Number of bits to unpack + An integer containing the unpacked bits + This function is only useful up to 32 bits - + - Set the height and the width of the client window. This is used - by the server to build a virtual camera frustum for our avatar + Unpack a variable number of bits from the data in to unsigned + integer format - New height of the viewer window - New width of the viewer window + Number of bits to unpack + An unsigned integer containing the unpacked bits + This function is only useful up to 32 bits - + - Request the list of muted objects and avatars for this agent + Unpack a 16-bit signed integer + 16-bit signed integer - + - Sets home location to agents current position + Unpack a 16-bit unsigned integer - will fire an AlertMessage () with - success or failure message + 16-bit unsigned integer - + - Move an agent in to a simulator. This packet is the last packet - needed to complete the transition in to a new simulator + Unpack a 32-bit signed integer - Object + 32-bit signed integer - + - Reply to script permissions request + Unpack a 32-bit unsigned integer - Object - of the itemID requesting permissions - of the taskID requesting permissions - list of permissions to allow + 32-bit unsigned integer - + - Respond to a group invitation by either accepting or denying it + Capabilities is the name of the bi-directional HTTP REST protocol + used to communicate non real-time transactions such as teleporting or + group messaging - UUID of the group (sent in the AgentID field of the invite message) - IM Session ID from the group invitation message - Accept the group invitation or deny it - + - Requests script detection of objects and avatars + Default constructor - name of the object/avatar to search for - UUID of the object or avatar to search for - Type of search from ScriptSensorTypeFlags - range of scan (96 max?) - the arc in radians to search within - an user generated ID to correlate replies with - Simulator to perform search in + + + + - + - Create or update profile pick + Triggered when an event is received via the EventQueueGet + capability - UUID of the pick to update, or random UUID to create a new pick - Is this a top pick? (typically false) - UUID of the parcel (UUID.Zero for the current parcel) - Name of the pick - Global position of the pick landmark - UUID of the image displayed with the pick - Long description of the pick + Event name + Decoded event data + The simulator that generated the event - - - Delete profile pick - - UUID of the pick to delete + + Reference to the simulator this system is connected to - - - Create or update profile Classified - - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Global position of the classified landmark - Name of the classified - Long description of the classified - if true, auto renew classified after expiration + + Capabilities URI this system was initialized with - - - Create or update profile Classified - - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Name of the classified - Long description of the classified - if true, auto renew classified after expiration + + Whether the capabilities event queue is connected and + listening for incoming events - + - Delete a classified ad + Request the URI of a named capability - The classified ads ID + Name of the capability to request + The URI of the requested capability, or String.Empty if + the capability does not exist - + - Take an incoming ImprovedInstantMessage packet, auto-parse, and if - OnInstantMessage is defined call that with the appropriate arguments + Process any incoming events, check to see if we have a message created for the event, - The sender - The EventArgs object containing the packet data + + + + - + - Take an incoming Chat packet, auto-parse, and if OnChat is defined call - that with the appropriate arguments. + Attempts to convert an LLSD structure to a known Packet type - The sender - The EventArgs object containing the packet data + Event name, this must match an actual + packet name for a Packet to be successfully built + LLSD to convert to a Packet + A Packet on success, otherwise null - - - Used for parsing llDialogs - - The sender - The EventArgs object containing the packet data + + Origin position of this coordinate frame - + + X axis of this coordinate frame, or Forward/At in grid terms + + + Y axis of this coordinate frame, or Left in grid terms + + + Z axis of this coordinate frame, or Up in grid terms + + - Used for parsing llRequestPermissions dialogs - The sender - The EventArgs object containing the packet data + Looking direction, must be a normalized vector + Up direction, must be a normalized vector - + - Handles Script Control changes when Script with permissions releases or takes a control + Align the coordinate frame X and Y axis with a given rotation + around the Z axis in radians - The sender - The EventArgs object containing the packet data + Absolute rotation around the Z axis in + radians - + - Used for parsing llLoadURL Dialogs + Access to the data server which allows searching for land, events, people, etc - The sender - The EventArgs object containing the packet data - + - Update client's Position, LookAt and region handle from incoming packet + Constructs a new instance of the DirectoryManager class - The sender - The EventArgs object containing the packet data - This occurs when after an avatar moves into a new sim + An instance of GridClient - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Classified Ad categories - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Classified is listed in the Any category - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Classified is shopping related - + + Classified is + + - Process TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why. - The Message Key - An IMessage object Deserialized from the recieved message event - The simulator originating the event message - + - Process TeleportFinish from Event Queue and pass it onto our TeleportHandler - The message system key for this event - IMessage object containing decoded data from OSD - The simulator originating the event message - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - + - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - This packet is now being sent via the EventQueue + + + - + - Group Chat event handler - The capability Key - IMessage object containing decoded data from OSD - - + + Event Categories + + - Response from request to join a group chat - - IMessage object containing decoded data from OSD - - + - Someone joined or left group chat - - IMessage object containing decoded data from OSD - - + - Handle a group chat Invitation - Caps Key - IMessage object containing decoded data from OSD - Originating Simulator - + - Moderate a chat session - the of the session to moderate, for group chats this will be the groups UUID - the of the avatar to moderate - Either "voice" to moderate users voice, or "text" to moderate users text session - true to moderate (silence user), false to allow avatar to speak - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Raised when a scripted object or agent within range sends a public message + + + - - Raised when a scripted object sends a dialog box containing possible - options an agent can respond to + + + - - Raised when an object requests a change in the permissions an agent has permitted + + + - - Raised when a script requests an agent open the specified URL + + + - - Raised when an agents currency balance is updated + + + Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. + Flags can be combined using the | (pipe) character, not all flags are available in all queries + - - Raised when a transaction occurs involving currency such as a land purchase + + Query the People database - - Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from - private messaging to friendship offers. The Dialog field defines what type of message has arrived + + + - - Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times - for each teleport indicating the progress of the request + + + - - Raised when a simulator sends agent specific information for our avatar. + + Query the Groups database - - Raised when our agents animation playlist changes + + Query the Events database - - Raised when an object or avatar forcefully collides with our agent + + Query the land holdings database for land owned by the currently connected agent - - Raised when our agent crosses a region border into another region + + + - - Raised when our agent succeeds or fails to join a group chat session + + Query the land holdings database for land which is owned by a Group - - Raised when our agent exits a group chat session + + Specifies the query should pre sort the results based upon traffic + when searching the Places database - - Raised when a simulator sends an urgent message usually indication the recent failure of - another action we have attempted to take such as an attempt to enter a parcel where we are denied access + + + - - Raised when a script attempts to take or release specified controls for our agent + + + - - Raised when the simulator detects our agent is trying to view something - beyond its limits + + + - - Raised when a script sensor reply is received from a simulator + + + - - Raised in response to a request + + Specifies the query should pre sort the results in an ascending order when searching the land sales database. + This flag is only used when searching the land sales database - - Raised when an avatar enters a group chat session we are participating in + + Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. + This flag is only used when searching the land sales database - - Raised when an agent exits a group chat session we are participating in + + Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. + This flag is only used when searching the land sales database - - Your (client) avatars - "client", "agent", and "avatar" all represent the same thing + + Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. + This flag is only used when searching the land sales database - - Temporary assigned to this session, used for - verifying our identity in packets + + Specifies the query should pre sort the results using the Name field when searching the land sales database. + This flag is only used when searching the land sales database - - Shared secret that is never sent over the wire + + When set, only parcels less than the specified Price will be included when searching the land sales database. + This flag is only used when searching the land sales database - - Your (client) avatar ID, local to the current region/sim + + When set, only parcels greater than the specified Size will be included when searching the land sales database. + This flag is only used when searching the land sales database - - Where the avatar started at login. Can be "last", "home" - or a login + + + - - The access level of this agent, usually M or PG + + + - - The CollisionPlane of Agent + + Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases - - An representing the velocity of our agent - - - An representing the acceleration of our agent - - - A which specifies the angular speed, and axis about which an Avatar is rotating. - - - Position avatar client will goto when login to 'home' or during - teleport request to 'home' region. - - - LookAt point saved/restored with HomePosition - - - Avatar First Name (i.e. Philip) - - - Avatar Last Name (i.e. Linden) - - - Avatar Full Name (i.e. Philip Linden) - - - Gets the health of the agent - - - Gets the current balance of the agent - - - Gets the local ID of the prim the agent is sitting on, - zero if the avatar is not currently sitting - - - Gets the of the agents active group. - - - Gets the Agents powers in the currently active group - - - Current status message for teleporting - - - Current position of the agent as a relative offset from - the simulator, or the parent object if we are sitting on something - - - Current rotation of the agent as a relative rotation from - the simulator, or the parent object if we are sitting on something + + Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases - - Current position of the agent in the simulator + + Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases - + - A representing the agents current rotation - - Returns the global grid position of the avatar - - - - Agent movement and camera control - - Agent movement is controlled by setting specific - After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags - This is most easily accomplished by setting one or more of the AgentMovement properties - - Movement of an avatar is always based on a compass direction, for example AtPos will move the - agent from West to East or forward on the X Axis, AtNeg will of course move agent from - East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis - The Z axis is Up, finer grained control of movements can be done using the Nudge properties - - - - Agent camera controls - - - Currently only used for hiding your group title - - - Action state of the avatar, which can currently be - typing and editing - - - - - - + + + Land types to search dataserver for + - - + + Search Auction, Mainland and Estate - - + + Land which is currently up for auction - - + + Parcels which are on the mainland (Linden owned) continents - - + + Parcels which are on privately owned simulators - - + + + The content rating of the event + - - + + Event is PG - - + + Event is Mature - - Timer for sending AgentUpdate packets + + Event is Adult - - Default constructor + + + Classified Ad Options + + There appear to be two formats the flags are packed in. + This set of flags is for the newer style - + - Send an AgentUpdate with the camera set at the current agent - position and pointing towards the heading specified - Camera rotation in radians - Whether to send the AgentUpdate reliable - or not - + - Rotates the avatar body and camera toward a target position. - This will also anchor the camera position on the avatar - Region coordinates to turn toward - + - Send new AgentUpdate packet to update our current camera - position and rotation - + - Send new AgentUpdate packet to update our current camera - position and rotation - Whether to require server acknowledgement - of this packet - + - Send new AgentUpdate packet to update our current camera - position and rotation - Whether to require server acknowledgement - of this packet - Simulator to send the update to - + - Builds an AgentUpdate packet entirely from parameters. This - will not touch the state of Self.Movement or - Self.Movement.Camera in any way + Classified ad query options - - - - - - - - - - - - - Move agent positive along the X axis + + Include all ads in results - - Move agent negative along the X axis + + Include PG ads in results - - Move agent positive along the Y axis + + Include Mature ads in results - - Move agent negative along the Y axis + + Include Adult ads in results - - Move agent positive along the Z axis + + + The For Sale flag in PlacesReplyData + - - Move agent negative along the Z axis + + Parcel is not listed for sale - - + + Parcel is For Sale - - + + + A classified ad on the grid + - - + + UUID for this ad, useful for looking up detailed + information about it - - + + The title of this classified ad - - + + Flags that show certain options applied to the classified - - + + Creation date of the ad - - + + Expiration date of the ad - - Causes simulator to make agent fly + + Price that was paid for this ad - - Stop movement + + Print the struct data as a string + A string containing the field name, and field value - - Finish animation + + + A parcel retrieved from the dataserver such as results from the + "For-Sale" listings or "Places" Search + - - Stand up from a sit + + The unique dataserver parcel ID + This id is used to obtain additional information from the entry + by using the method - - Tells simulator to sit agent on ground + + A string containing the name of the parcel - - Place agent into mouselook mode + + The size of the parcel + This field is not returned for Places searches - - Nudge agent positive along the X axis + + The price of the parcel + This field is not returned for Places searches - - Nudge agent negative along the X axis + + If True, this parcel is flagged to be auctioned - - Nudge agent positive along the Y axis + + If true, this parcel is currently set for sale - - Nudge agent negative along the Y axis + + Parcel traffic - - Nudge agent positive along the Z axis + + Print the struct data as a string + A string containing the field name, and field value - - Nudge agent negative along the Z axis + + + An Avatar returned from the dataserver + - - - - - - - - Tell simulator to mark agent as away + + Online status of agent + This field appears to be obsolete and always returns false - - + + The agents first name - - + + The agents last name - - + + The agents - - + + Print the struct data as a string + A string containing the field name, and field value - + - Returns "always run" value, or changes it by sending a SetAlwaysRunPacket + Response to a "Groups" Search - - The current value of the agent control flags + + The Group ID - - Gets or sets the interval in milliseconds at which - AgentUpdate packets are sent to the current simulator. Setting - this to a non-zero value will also enable the packet sending if - it was previously off, and setting it to zero will disable + + The name of the group - - Gets or sets whether AgentUpdate packets are sent to - the current simulator + + The current number of members - - Reset movement controls every time we send an update + + Print the struct data as a string + A string containing the field name, and field value - + - Camera controls for the agent, mostly a thin wrapper around - CoordinateFrame. This class is only responsible for state - tracking and math, it does not send any packets + Parcel information returned from a request + + Represents one of the following: + A parcel of land on the grid that has its Show In Search flag set + A parcel of land owned by the agent making the request + A parcel of land owned by a group the agent making the request is a member of + + In a request for Group Land, the First record will contain an empty record + + Note: This is not the same as searching the land for sale data source - - - - - The camera is a local frame of reference inside of - the larger grid space. This is where the math happens + + The ID of the Agent of Group that owns the parcel - - - Default constructor - + + The name - - + + The description - - + + The Size of the parcel - - + + The billable Size of the parcel, for mainland + parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller + than the ActualArea. For Estate land this will always be 0 - - + + Indicates the ForSale status of the parcel - - - Used to specify movement actions for your agent - + + The Gridwide X position - - Empty flag + + The Gridwide Y position - - Move Forward (SL Keybinding: W/Up Arrow) + + The Z position of the parcel, or 0 if no landing point set - - Move Backward (SL Keybinding: S/Down Arrow) + + The name of the Region the parcel is located in - - Move Left (SL Keybinding: Shift-(A/Left Arrow)) + + The Asset ID of the parcels Snapshot texture - - Move Right (SL Keybinding: Shift-(D/Right Arrow)) + + The calculated visitor traffic - - Not Flying: Jump/Flying: Move Up (SL Keybinding: E) + + The billing product SKU + Known values are: + 023Mainland / Full Region024Estate / Full Region027Estate / Openspace029Estate / Homestead129Mainland / Homestead (Linden Owned) - - Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) + + No longer used, will always be 0 - - Unused + + Get a SL URL for the parcel + A string, containing a standard SLURL - - Unused + + Print the struct data as a string + A string containing the field name, and field value - - Unused + + + An "Event" Listing summary + - - Unused + + The ID of the event creator - - ORed with AGENT_CONTROL_AT_* if the keyboard is being used + + The name of the event - - ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used + + The events ID - - ORed with AGENT_CONTROL_UP_* if the keyboard is being used + + A string containing the short date/time the event will begin - - Fly + + The event start time in Unixtime (seconds since epoch) - - + + The events maturity rating - - Finish our current animation + + Print the struct data as a string + A string containing the field name, and field value - - Stand up from the ground or a prim seat + + + The details of an "Event" + - - Sit on the ground at our current location + + The events ID - - Whether mouselook is currently enabled + + The ID of the event creator - - Legacy, used if a key was pressed for less than a certain amount of time + + The name of the event - - Legacy, used if a key was pressed for less than a certain amount of time + + The category - - Legacy, used if a key was pressed for less than a certain amount of time + + The events description - - Legacy, used if a key was pressed for less than a certain amount of time + + The short date/time the event will begin - - Legacy, used if a key was pressed for less than a certain amount of time + + The event start time in Unixtime (seconds since epoch) UTC adjusted - - Legacy, used if a key was pressed for less than a certain amount of time + + The length of the event in minutes - - + + 0 if no cover charge applies - - + + The cover charge amount in L$ if applicable - - Set when the avatar is idled or set to away. Note that the away animation is - activated separately from setting this flag + + The name of the region where the event is being held - - + + The gridwide location of the event - - + + The maturity rating - - + + Get a SL URL for the parcel where the event is hosted + A string, containing a standard SLURL - - + + Print the struct data as a string + A string containing the field name, and field value - - - Represents a single Voice Session to the Vivox service. - + + The event subscribers. null if no subcribers - - - Close this session. - + + Thread sync lock object - - - Look up an existing Participants in this session - - - + + The event subscribers. null if no subcribers - - Positional vector of the users position + + Thread sync lock object - - Velocity vector of the position + + The event subscribers. null if no subcribers - - At Orientation (X axis) of the position + + Thread sync lock object - - Up Orientation (Y axis) of the position + + The event subscribers. null if no subcribers - - Left Orientation (Z axis) of the position + + Thread sync lock object - - - The type of bump-mapping applied to a face - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raises the EventInfoReply event + An EventInfoReplyEventArgs object containing the + data returned from the data server - - + + Raises the DirEventsReply event + An DirEventsReplyEventArgs object containing the + data returned from the data server - - + + Raises the PlacesReply event + A PlacesReplyEventArgs object containing the + data returned from the data server - - - The level of shininess applied to a face - + + Raises the DirPlacesReply event + A DirPlacesReplyEventArgs object containing the + data returned from the data server - - + + Raises the DirClassifiedsReply event + A DirClassifiedsReplyEventArgs object containing the + data returned from the data server - - + + Raises the DirGroupsReply event + A DirGroupsReplyEventArgs object containing the + data returned from the data server - - + + Raises the DirPeopleReply event + A DirPeopleReplyEventArgs object containing the + data returned from the data server - - + + Raises the DirLandReply event + A DirLandReplyEventArgs object containing the + data returned from the data server - + - The texture mapping style used for a face + Query the data server for a list of classified ads containing the specified string. + Defaults to searching for classified placed in any category, and includes PG, Adult and Mature + results. + Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + The event is raised when a response is received from the simulator + A string containing a list of keywords to search for + A UUID to correlate the results when the event is raised - - - - - - - + - Flags in the TextureEntry block that describe which properties are - set + Query the data server for a list of classified ads which contain specified keywords (Overload) + The event is raised when a response is received from the simulator + A string containing a list of keywords to search for + The category to search + A set of flags which can be ORed to modify query options + such as classified maturity rating. + A UUID to correlate the results when the event is raised + + Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature + + UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); + + + Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - Abstract base for rendering plugins + Starts search for places (Overloaded) + The event is raised when a response is received from the simulator + Search text + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised - + - Generates a basic mesh structure from a primitive + Queries the dataserver for parcels of land which are flagged to be shown in search + The event is raised when a response is received from the simulator - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh + A string containing a list of keywords to search for separated by a space character + A set of flags which can be ORed to modify query options + such as classified maturity rating. + The category to search + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised + + Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult + + UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); + + + Additional information on the results can be obtained by using the ParcelManager.InfoRequest method + - + - Generates a a series of faces, each face containing a mesh and - metadata + Starts a search for land sales using the directory + The event is raised when a response is received from the simulator - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh + What type of land to search for. Auction, + estate, mainland, "first land", etc + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. - + - Apply texture coordinate modifications from a - to a list of vertices + Starts a search for land sales using the directory + The event is raised when a response is received from the simulator - Vertex list to modify texture coordinates for - Center-point of the face - Face texture parameters + What type of land to search for. Auction, + estate, mainland, "first land", etc + Maximum price to search for + Maximum area to search for + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. - + - Temporary code to produce a tar archive in tar v7 format + Send a request to the data server for land sales listings + Flags sent to specify query options + Available flags: + Specify the parcel rating with one or more of the following: + IncludePG IncludeMature IncludeAdult + Specify the field to pre sort the results with ONLY ONE of the following: + PerMeterSort NameSort AreaSort PricesSort + Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order + SortAsc + Specify additional filters to limit the results with one or both of the following: + LimitByPrice LimitByArea + Flags can be combined by separating them with the | (pipe) character + Additional details can be found in + What type of land to search for. Auction, + Estate or Mainland + Maximum price to search for when the + DirFindFlags.LimitByPrice flag is specified in findFlags + Maximum area to search for when the + DirFindFlags.LimitByArea flag is specified in findFlags + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + + The event will be raised with the response from the simulator + There is no way to determine how many results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each reply. + Any land set for sale to either anybody or specific to the connected agent will be included in the + results if the land is included in the query + + + + // request all mainland, any maturity rating that is larger than 512 sq.m + StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); + + - + - Binary writer for the underlying stream + Search for Groups + The name or portion of the name of the group you wish to search for + Start from the match number + + - + - Write a directory entry to the tar archive. We can only handle one path level right now! + Search for Groups - + The name or portion of the name of the group you wish to search for + Start from the match number + Search flags + + - + - Write a file to the tar archive + Search the People directory for other avatars - - + The name or portion of the name of the avatar you wish to search for + + + + - + - Write a file to the tar archive + Search Places for parcels of land you personally own - - - + - Finish writing the raw tar archive data to a stream. The stream will be closed on completion. + Searches Places for land owned by the specified group + ID of the group you want to recieve land list for (You must be a member of the group) + Transaction (Query) ID which can be associated with results from your request. - + - Write a particular entry + Search the Places directory for parcels that are listed in search and contain the specified keywords - - - + A string containing the keywords to search for + Transaction (Query) ID which can be associated with results from your request. - + - Temporary code to do the bare minimum required to read a tar archive for our purposes + Search Places - All Options + One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. + One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer + A string containing a list of keywords to search for separated by a space character + String Simulator Name to search in + LLUID of group you want to recieve results for + Transaction (Query) ID which can be associated with results from your request. + Transaction (Query) ID which can be associated with results from your request. - + - Binary reader for the underlying stream + Search All Events with specifid searchText in all categories, includes PG, Mature and Adult + A string containing a list of keywords to search for separated by a space character + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + UUID of query to correlate results in callback. - + - Used to trim off null chars + Search Events + A string containing a list of keywords to search for separated by a space character + One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult + from the Enum + Multiple flags can be combined by separating the flags with the | (pipe) character + "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled + For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + EventCategory event is listed under. + UUID of query to correlate results in callback. - - - Used to trim off space chars - + + Requests Event Details + ID of Event returned from the method - - - Generate a tar reader which reads from the given stream. - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Read the next entry in the tar file. - - - - the data for the entry. Returns null if there are no more entries + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Read the next 512 byte chunk of data as a tar header. - - A tar header struct. null if we have reached the end of the archive. + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from - - - Read data following a header - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Convert octal bytes to a decimal representation - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Simulator (region) properties - + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from - - No flags set + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Agents can take damage and be killed + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Landmarks can be created here + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Home position can be set in this sim + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Home position is reset when an agent teleports away + + Contains the Event data returned from the data server from an EventInfoRequest - - Sun does not move + + Construct a new instance of the EventInfoReplyEventArgs class + A single EventInfo object containing the details of an event - - No object, land, etc. taxes + + + A single EventInfo object containing the details of an event + - - Disable heightmap alterations (agents can still plant - foliage) + + Contains the "Event" detail data returned from the data server - - Land cannot be released, sold, or purchased + + Construct a new instance of the DirEventsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Events" returned by the search query - - All content is wiped nightly + + The ID returned by - - Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) + + A list of "Events" returned by the data server - - Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. + + Contains the "Event" list data returned from the data server - - Region does not update agent prim interest lists. Internal debugging option. + + Construct a new instance of PlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Places" returned by the data server query - - No collision detection for non-agent objects + + The ID returned by - - No scripts are ran + + A list of "Places" returned by the data server - - All physics processing is turned off + + Contains the places data returned from the data server - - Region can be seen from other regions on world map. (Legacy world map option?) + + Construct a new instance of the DirPlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing land data returned by the data server - - Region can be seen from mainland on world map. (Legacy world map option?) + + The ID returned by - - Agents not explicitly on the access list can visit the region. + + A list containing Places data returned by the data server - - Traffic calculations are not run across entire region, overrides parcel settings. + + Contains the classified data returned from the data server - - Flight is disabled (not currently enforced by the sim) + + Construct a new instance of the DirClassifiedsReplyEventArgs class + A list of classified ad data returned from the data server - - Allow direct (p2p) teleporting + + A list containing Classified Ads returned by the data server - - Estate owner has temporarily disabled scripting + + Contains the group data returned from the data server - - Restricts the usage of the LSL llPushObject function, applies to whole region. + + Construct a new instance of the DirGroupsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of groups data returned by the data server - - Deny agents with no payment info on file + + The ID returned by - - Deny agents with payment info on file + + A list containing Groups data returned by the data server - - Deny agents who have made a monetary transaction + + Contains the people data returned from the data server - - Parcels within the region may be joined or divided by anyone, not just estate owners/managers. + + Construct a new instance of the DirPeopleReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of people data returned by the data server - - Abuse reports sent from within this region are sent to the estate owner defined email. + + The ID returned by - - Region is Voice Enabled + + A list containing People data returned by the data server - - Removes the ability from parcel owners to set their parcels to show in search. + + Contains the land sales data returned from the data server - - Deny agents who have not been age verified from entering the region. + + Construct a new instance of the DirLandReplyEventArgs class + A list of parcels for sale returned by the data server - + + A list containing land forsale data returned by the data server + + - Access level for a simulator + Represends individual HTTP Download request - - Minimum access level, no additional checks + + Default constructor - - Trial accounts allowed + + Constructor - - PG rating + + URI of the item to fetch - - Mature rating + + Timout specified in milliseconds - - Simulator is offline + + Download progress callback - - Simulator does not exist + + Download completed callback - - - - + + Accept the following content type - + - + Manages async HTTP downloads with a limit on maximum + concurrent downloads - - - Initialize the UDP packet handler in server mode - - Port to listening for incoming UDP packets on + + Default constructor - - - Initialize the UDP packet handler in client mode - - Remote UDP server to connect to + + Maximum number of parallel downloads from a single endpoint - - - - + + Client certificate - + + Cleanup method + + + Setup http download request + + + Check the queue for pending work + + + Enqueue a new HTPP download + + + Describes tasks returned in LandStatReply + + - + Estate level administration and utilities - + - + Constructor for EstateTools class + + - - A public reference to the client that this Simulator object - is attached to - - - A Unique Cache identifier for this simulator + + Used in the ReportType field of a LandStatRequest - - The capabilities for this simulator + + Used by EstateOwnerMessage packets - - + + Used by EstateOwnerMessage packets - - The current version of software this simulator is running + + + - - + + No flags set - - A 64x64 grid of parcel coloring values. The values stored - in this array are of the type + + Only return targets scripted objects - - + + Only return targets objects if on others land - - + + Returns target's scripted objects and objects on other parcels - - + + Ground texture settings for each corner of the region - - + + Used by GroundTextureHeightSettings - - + + The high and low texture thresholds for each corner of the sim - - + + Textures for each of the four terrain height levels - - + + Upper/lower texture boundaries for each corner of the sim - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - true if your agent has Estate Manager rights on this region + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - Statistics information for this simulator and the - connection to the simulator, calculated by the simulator itself - and the library + + Raised when the data server responds to a request. - - The regions Unique ID + + Raised when the data server responds to a request. - - The physical data center the simulator is located - Known values are: - - Dallas - Chandler - SF - - + + Raised when the data server responds to a request. - - The CPU Class of the simulator - Most full mainland/estate sims appear to be 5, - Homesteads and Openspace appear to be 501 + + Raised when the data server responds to a request. - - The number of regions sharing the same CPU as this one - "Full Sims" appear to be 1, Homesteads appear to be 4 + + Raised when the data server responds to a request. - - The billing product name - Known values are: - - Mainland / Full Region (Sku: 023) - Estate / Full Region (Sku: 024) - Estate / Openspace (Sku: 027) - Estate / Homestead (Sku: 029) - Mainland / Homestead (Sku: 129) (Linden Owned) - Mainland / Linden Homes (Sku: 131) - - + + Raised when the data server responds to a request. - - The billing product SKU - Known values are: - - 023 Mainland / Full Region - 024 Estate / Full Region - 027 Estate / Openspace - 029 Estate / Homestead - 129 Mainland / Homestead (Linden Owned) - 131 Linden Homes / Full Region - - + + Raised when the data server responds to a request. - - - A thread-safe dictionary containing avatars in a simulator - + + Raised when the data server responds to a request. - - - A thread-safe dictionary containing primitives in a simulator - + + Raises the TopCollidersReply event + A TopCollidersReplyEventArgs object containing the + data returned from the data server - - The current sequence number for packets sent to this - simulator. Must be Interlocked before modifying. Only - useful for applications manipulating sequence numbers + + Raises the TopScriptsReply event + A TopScriptsReplyEventArgs object containing the + data returned from the data server - - - Provides access to an internal thread-safe dictionary containing parcel - information found in this simulator - + + Raises the EstateUsersReply event + A EstateUsersReplyEventArgs object containing the + data returned from the data server - - - Checks simulator parcel map to make sure it has downloaded all data successfully - - true if map is full (contains no 0's) + + Raises the EstateGroupsReply event + A EstateGroupsReplyEventArgs object containing the + data returned from the data server - - Used internally to track sim disconnections + + Raises the EstateManagersReply event + A EstateManagersReplyEventArgs object containing the + data returned from the data server - - Event that is triggered when the simulator successfully - establishes a connection + + Raises the EstateBansReply event + A EstateBansReplyEventArgs object containing the + data returned from the data server - - Whether this sim is currently connected or not. Hooked up - to the property Connected + + Raises the EstateCovenantReply event + A EstateCovenantReplyEventArgs object containing the + data returned from the data server - - Coarse locations of avatars in this simulator + + Raises the EstateUpdateInfoReply event + A EstateUpdateInfoReplyEventArgs object containing the + data returned from the data server - - AvatarPositions key representing TrackAgent target + + + Requests estate information such as top scripts and colliders + + + + + + + + + - - Sequence numbers of packets we've received - (for duplicate checking) + + Requests estate settings, including estate manager and access/ban lists - - Packets we sent out that need ACKs from the simulator + + Requests the "Top Scripts" list for the current region - - Sequence number for pause/resume + + Requests the "Top Colliders" list for the current region - + - + Set several estate specific configuration variables - Reference to the GridClient object - IPEndPoint of the simulator - handle of the simulator + The Height of the waterlevel over the entire estate. Defaults to 20 + The maximum height change allowed above the baked terrain. Defaults to 4 + The minimum height change allowed below the baked terrain. Defaults to -4 + true to use + if True forces the sun position to the position in SunPosition + The current position of the sun on the estate, or when FixedSun is true the static position + the sun will remain. 6.0 = Sunrise, 30.0 = Sunset - + - Called when this Simulator object is being destroyed + Request return of objects owned by specified avatar + The Agents owning the primitives to return + specify the coverage and type of objects to be included in the return + true to perform return on entire estate - + - Attempt to connect to this simulator - Whether to move our agent in to this sim or not - True if the connection succeeded or connection status is - unknown, false if there was a failure + + + + - + - Disconnect from this simulator + Used for setting and retrieving various estate panel settings + EstateOwnerMessage Method field + List of parameters to include - + - Instructs the simulator to stop sending update (and possibly other) packets + Kick an avatar from an estate + Key of Agent to remove - + - Instructs the simulator to resume sending update packets (unpause) - + Ban an avatar from an estate + Key of Agent to remove + Ban user from this estate and all others owned by the estate owner - + + Unban an avatar from an estate + Key of Agent to remove + /// Unban user from this estate and all others owned by the estate owner + - Sends a packet + Send a message dialog to everyone in an entire estate - Packet to be sent + Message to send all users in the estate - + - + Send a message dialog to everyone in a simulator + Message to send all users in the simulator - + - Returns Simulator Name as a String + Send an avatar back to their home location - + Key of avatar to send home - + - + Begin the region restart process - - + - + Cancels a region restart - - - + + Estate panel "Region" tab settings + + + Estate panel "Debug" tab settings + + + Used for setting the region's terrain textures for its four height levels + + + + + + + + + + + Used for setting sim terrain texture heights + + + Requests the estate covenant + + - Sends out pending acknowledgements + Upload a terrain RAW file + A byte array containing the encoded terrain data + The name of the file being uploaded + The Id of the transfer request - + - Resend unacknowledged packets + Teleports all users home in current Estate - + - Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - + Remove estate manager + Key of Agent to Remove + removes manager to this estate and all others owned by the estate owner - - The IP address and port of the server + + + Add estate manager + Key of Agent to Add + Add agent as manager to this estate and all others owned by the estate owner - - Whether there is a working connection to the simulator or - not + + + Add's an agent to the estate Allowed list + Key of Agent to Add + Add agent as an allowed reisdent to All estates if true - - Coarse locations of avatars in this simulator + + + Removes an agent from the estate Allowed list + Key of Agent to Remove + Removes agent as an allowed reisdent from All estates if true - - AvatarPositions key representing TrackAgent target + + + Add's a group to the estate Allowed list + Key of Group to Add + Add Group as an allowed group to All estates if true - + - Simulator Statistics - + Removes a group from the estate Allowed list + Key of Group to Remove + Removes Group as an allowed Group from All estates if true - - Total number of packets sent by this simulator to this agent + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Total number of packets received by this simulator to this agent + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Total number of bytes sent by this simulator to this agent + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Total number of bytes received by this simulator to this agent + + Raised on LandStatReply when the report type is for "top colliders" - - Time in seconds agent has been connected to simulator + + Construct a new instance of the TopCollidersReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply - - Total number of packets that have been resent + + + The number of returned items in LandStatReply + - - Total number of resent packets recieved + + + A Dictionary of Object UUIDs to tasks returned in LandStatReply + - - Total number of pings sent to this simulator by this agent + + Raised on LandStatReply when the report type is for "top Scripts" - - Total number of ping replies sent to this agent by this simulator + + Construct a new instance of the TopScriptsReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply - + - Incoming bytes per second + The number of scripts returned in LandStatReply - It would be nice to have this claculated on the fly, but - this is far, far easier - + - Outgoing bytes per second + A Dictionary of Object UUIDs to tasks returned in LandStatReply - It would be nice to have this claculated on the fly, but - this is far, far easier - - Time last ping was sent - - - ID of last Ping sent + + Returned, along with other info, upon a successful .RequestInfo() - - + + Construct a new instance of the EstateBansReplyEventArgs class + The estate's identifier on the grid + The number of returned items in LandStatReply + User UUIDs banned - - + + + The identifier of the estate + - - Current time dilation of this simulator + + + The number of returned itmes + - - Current Frames per second of simulator + + + List of UUIDs of Banned Users + - - Current Physics frames per second of simulator + + Returned, along with other info, upon a successful .RequestInfo() - - + + Construct a new instance of the EstateUsersReplyEventArgs class + The estate's identifier on the grid + The number of users + Allowed users UUIDs - - + + + The identifier of the estate + - - + + + The number of returned items + - - + + + List of UUIDs of Allowed Users + - - + + Returned, along with other info, upon a successful .RequestInfo() - - + + Construct a new instance of the EstateGroupsReplyEventArgs class + The estate's identifier on the grid + The number of Groups + Allowed Groups UUIDs - - + + + The identifier of the estate + - - + + + The number of returned items + - - Total number of objects Simulator is simulating + + + List of UUIDs of Allowed Groups + - - Total number of Active (Scripted) objects running + + Returned, along with other info, upon a successful .RequestInfo() - - Number of agents currently in this simulator + + Construct a new instance of the EstateManagersReplyEventArgs class + The estate's identifier on the grid + The number of Managers + Managers UUIDs - - Number of agents in neighbor simulators + + + The identifier of the estate + - - Number of Active scripts running in this simulator + + + The number of returned items + - - + + + List of UUIDs of the Estate's Managers + - - + + Returned, along with other info, upon a successful .RequestInfo() - - + + Construct a new instance of the EstateCovenantReplyEventArgs class + The Covenant ID + The timestamp + The estate's name + The Estate Owner's ID (can be a GroupID) - - Number of downloads pending + + + The Covenant + - - Number of uploads pending + + + The timestamp + - - + + + The Estate name + - - + + + The Estate Owner's ID (can be a GroupID) + - - Number of local uploads pending + + Returned, along with other info, upon a successful .RequestInfo() - - Unacknowledged bytes in queue + + Construct a new instance of the EstateUpdateInfoReplyEventArgs class + The estate's name + The Estate Owners ID (can be a GroupID) + The estate's identifier on the grid + + - + - + The estate's name - - No report - - - Unknown report type + + + The Estate Owner's ID (can be a GroupID) + - - Bug report + + + The identifier of the estate on the grid + - - Complaint report + + + - - Customer service report + + + Registers, unregisters, and fires events generated by incoming packets + - + - Bitflag field for ObjectUpdateCompressed data blocks, describing - which options are present for each object + Default constructor + + - - Unknown + + + Object that is passed to worker threads in the ThreadPool for + firing packet callbacks + - - Whether the object has a TreeSpecies + + Callback to fire for this packet - - Whether the object has floating text ala llSetText + + Reference to the simulator that this packet came from - - Whether the object has an active particle system + + The packet that needs to be processed - - Whether the object has sound attached to it + + Reference to the GridClient object - - Whether the object is attached to a root object or not + + + Register an event handler + + Use PacketType.Default to fire this event on every + incoming packet + Packet type to register the handler for + Callback to be fired + True if this callback should be ran + asynchronously, false to run it synchronous - - Whether the object has texture animation settings + + + Unregister an event handler + + Packet type to unregister the handler for + Callback to be unregistered - - Whether the object has an angular velocity + + + Fire the events registered for this packet type + + Incoming packet type + Incoming packet + Simulator this packet was received from - - Whether the object has a name value pairs string + + + Registers, unregisters, and fires events generated by the Capabilities + event queue + - - Whether the object has a Media URL set + + + Default constructor + + Reference to the GridClient object - + - Specific Flags for MultipleObjectUpdate requests + Object that is passed to worker threads in the ThreadPool for + firing CAPS callbacks - - None + + Callback to fire for this packet - - Change position of prims + + Name of the CAPS event - - Change rotation of prims + + Strongly typed decoded data - - Change size of prims + + Reference to the simulator that generated this event - - Perform operation on link set + + Reference to the GridClient object - - Scale prims uniformly, same as selecing ctrl+shift in the - viewer. Used in conjunction with Scale + + + Register an new event handler for a capabilities event sent via the EventQueue + + Use String.Empty to fire this event on every CAPS event + Capability event name to register the + handler for + Callback to fire - + - Special values in PayPriceReply. If the price is not one of these - literal value of the price should be use + Unregister a previously registered capabilities handler + Capability event name unregister the + handler for + Callback to unregister - + - Indicates that this pay option should be hidden + Fire the events registered for this event type synchronously + Capability name + Decoded event body + Reference to the simulator that + generated this event - + - Indicates that this pay option should have the default value + Fire the events registered for this event type asynchronously + Capability name + Decoded event body + Reference to the simulator that + generated this event - + - Contains the variables sent in an object update packet for objects. - Used to track position and movement of prims and avatars - - + + The avatar has no rights - - + + The avatar can see the online status of the target avatar - - + + The avatar can see the location of the target avatar on the map - - + + The avatar can modify the ojects of the target avatar - - + + + This class holds information about an avatar in the friends list. There are two ways + to interface to this class. The first is through the set of boolean properties. This is the typical + way clients of this class will use it. The second interface is through two bitflag properties, + TheirFriendsRights and MyFriendsRights + - - + + + Used internally when building the initial list of friends at login time + + System ID of the avatar being prepesented + Rights the friend has to see you online and to modify your objects + Rights you have to see your friend online and to modify their objects - - + + + System ID of the avatar + - - + + + full name of the avatar + - - + + + True if the avatar is online + - - + + + True if the friend can see if I am online + - + - Handles all network traffic related to prims and avatar positions and - movement. + True if the friend can see me on the map - - The event subscribers, null of no subscribers + + + True if the freind can modify my objects + - - Raises the ObjectUpdate Event - A ObjectUpdateEventArgs object containing - the data sent from the simulator + + + True if I can see if my friend is online + - - Thread sync lock object + + + True if I can see if my friend is on the map + - - The event subscribers, null of no subscribers + + + True if I can modify my friend's objects + - - Raises the ObjectProperties Event - A ObjectPropertiesEventArgs object containing - the data sent from the simulator + + + My friend's rights represented as bitmapped flags + - - Thread sync lock object + + + My rights represented as bitmapped flags + - - The event subscribers, null of no subscribers + + + FriendInfo represented as a string + + A string reprentation of both my rights and my friends rights - - Raises the ObjectPropertiesUpdated Event - A ObjectPropertiesUpdatedEventArgs object containing - the data sent from the simulator + + + This class is used to add and remove avatars from your friends list and to manage their permission. + - - Thread sync lock object + + + Internal constructor + + A reference to the GridClient Object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - - Raises the ObjectPropertiesFamily Event - A ObjectPropertiesFamilyEventArgs object containing - the data sent from the simulator + + Thread sync lock object - + + The event subscribers. null if no subcribers + + Thread sync lock object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - - Raises the AvatarUpdate Event - A AvatarUpdateEventArgs object containing - the data sent from the simulator + + Thread sync lock object - + + The event subscribers. null if no subcribers + + Thread sync lock object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers + + + Thread sync lock object - - Raises the TerseObjectUpdate Event - A TerseObjectUpdateEventArgs object containing - the data sent from the simulator + + The event subscribers. null if no subcribers - + Thread sync lock object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - - Raises the ObjectDataBlockUpdate Event - A ObjectDataBlockUpdateEventArgs object containing - the data sent from the simulator + + Thread sync lock object - + + The event subscribers. null if no subcribers + + Thread sync lock object - - The event subscribers, null of no subscribers + + + A dictionary of key/value pairs containing known friends of this avatar. + The Key is the of the friend, the value is a + object that contains detailed information including permissions you have and have given to the friend + - - Raises the KillObject Event - A KillObjectEventArgs object containing - the data sent from the simulator + + + A Dictionary of key/value pairs containing current pending frienship offers. + The key is the of the avatar making the request, + the value is the of the request which is used to accept + or decline the friendship offer + - - Thread sync lock object + + Raised when the simulator sends notification one of the members in our friends list comes online - - The event subscribers, null of no subscribers + + Raised when the simulator sends notification one of the members in our friends list goes offline - - Raises the AvatarSitChanged Event - A AvatarSitChangedEventArgs object containing - the data sent from the simulator + + Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions - - Thread sync lock object + + Raised when the simulator sends us the names on our friends list - - The event subscribers, null of no subscribers + + Raised when the simulator sends notification another agent is offering us friendship - - Raises the PayPriceReply Event - A PayPriceReplyEventArgs object containing - the data sent from the simulator + + Raised when a request we sent to friend another agent is accepted or declined - - Thread sync lock object + + Raised when the simulator sends notification one of the members in our friends list has terminated + our friendship - - Reference to the GridClient object + + Raised when the simulator sends the location of a friend we have + requested map location info for - - Does periodic dead reckoning calculation to convert - velocity and acceleration to new positions for objects + + Raises the FriendOnline event + A FriendInfoEventArgs object containing the + data returned from the data server - + + Raises the FriendOffline event + A FriendInfoEventArgs object containing the + data returned from the data server + + + Raises the FriendRightsUpdate event + A FriendInfoEventArgs object containing the + data returned from the data server + + + Raises the FriendNames event + A FriendNamesEventArgs object containing the + data returned from the data server + + + Raises the FriendshipOffered event + A FriendshipOfferedEventArgs object containing the + data returned from the data server + + + Raises the FriendshipResponse event + A FriendshipResponseEventArgs object containing the + data returned from the data server + + + Raises the FriendshipTerminated event + A FriendshipTerminatedEventArgs object containing the + data returned from the data server + + + Raises the FriendFoundReply event + A FriendFoundReplyEventArgs object containing the + data returned from the data server + + - Construct a new instance of the ObjectManager class + Accept a friendship request - A reference to the instance + agentID of avatatar to form friendship with + imSessionID of the friendship request message - + - Request information for a single object from a - you are currently connected to + Decline a friendship request - The the object is located - The Local ID of the object + + of friend + imSessionID of the friendship request message - + - Request information for multiple objects contained in - the same simulator + Overload: Offer friendship to an avatar. - The the objects are located - An array containing the Local IDs of the objects - - - - Attempt to purchase an original object, a copy, or the contents of - an object - - The the object is located - The Local ID of the object - Whether the original, a copy, or the object - contents are on sale. This is used for verification, if the this - sale type is not valid for the object the purchase will fail - Price of the object. This is used for - verification, if it does not match the actual price the purchase - will fail - Group ID that will be associated with the new - purchase - Inventory folder UUID where the object or objects - purchased should be placed - - - BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, - 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); - - + System ID of the avatar you are offering friendship to - + - Request prices that should be displayed in pay dialog. This will triggger the simulator - to send us back a PayPriceReply which can be handled by OnPayPriceReply event + Offer friendship to an avatar. - The the object is located - The ID of the object - The result is raised in the event + System ID of the avatar you are offering friendship to + A message to send with the request - + - Select a single object. This will cause the to send us - an which will raise the event + Terminate a friendship with an avatar - The the object is located - The Local ID of the object - + System ID of the avatar you are terminating the friendship with - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + - Select a single object. This will cause the to send us - an which will raise the event + Change the rights of a friend avatar. - The the object is located - The Local ID of the object - if true, a call to is - made immediately following the request - + the of the friend + the new rights to give the friend + This method will implicitly set the rights to those passed in the rights parameter. - + - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - Should objects be deselected immediately after selection - + Use to map a friends location on the grid. + + Friends UUID to find + + + - + - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - + Use to track a friends movement on the grid + + Friends Key - + - Update the properties of an object + Ask for a notification of friend's online status - The the object is located - The Local ID of the object - true to turn the objects physical property on - true to turn the objects temporary property on - true to turn the objects phantom property on - true to turn the objects cast shadows property on + Friend's UUID - + - Sets the sale properties of a single object + This handles the asynchronous response of a RequestAvatarNames call. - The the object is located - The Local ID of the object - One of the options from the enum - The price of the object + + + names cooresponding to the the list of IDs sent the the RequestAvatarNames call. - - - Sets the sale properties of multiple objects - - The the objects are located - An array containing the Local IDs of the objects - One of the options from the enum - The price of the object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Deselect a single object - - The the object is located - The Local ID of the object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Deselect multiple objects. - - The the objects are located - An array containing the Local IDs of the objects + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Perform a click action on an object - - The the object is located - The Local ID of the object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Perform a click action (Grab) on a single object + Populate FriendList with data from the login reply - The the object is located - The Local ID of the object - The texture coordinates to touch - The surface coordinates to touch - The face of the position to touch - The region coordinates of the position to touch - The surface normal of the position to touch (A normal is a vector perpindicular to the surface) - The surface binormal of the position to touch (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space + true if login was successful + true if login request is requiring a redirect + A string containing the response to the login request + A string containing the reason for the request + A object containing the decoded + reply from the login server - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties + + Contains information on a member of our friends list - + - Create (rez) a new prim object in a simulator + Construct a new instance of the FriendInfoEventArgs class - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Specify the - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties + The FriendInfo - - - Rez a Linden tree - - A reference to the object where the object resides - The size of the tree - The rotation of the tree - The position of the tree - The Type of tree - The of the group to set the tree to, - or UUID.Zero if no group is to be set - true to use the "new" Linden trees, false to use the old + + Get the FriendInfo - - - Rez grass and ground cover - - A reference to the object where the object resides - The size of the grass - The rotation of the grass - The position of the grass - The type of grass from the enum - The of the group to set the tree to, - or UUID.Zero if no group is to be set + + Contains Friend Names - + - Set the textures to apply to the faces of an object + Construct a new instance of the FriendNamesEventArgs class - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply - A media URL (not used) + + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name - - - Set the Light data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + Sent when another agent requests a friendship with our agent - + - Set the flexible data on an object + Construct a new instance of the FriendshipOfferedEventArgs class - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + The ID of the agent requesting friendship + The name of the agent requesting friendship + The ID of the session, used in accepting or declining the + friendship offer - - - Set the sculptie texture and data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + Get the ID of the agent requesting friendship - - - Unset additional primitive parameters on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The extra parameters to set + + Get the name of the agent requesting friendship - - - Link multiple prims into a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to link - The last object in the array will be the root object of the linkset TODO: Is this true? + + Get the ID of the session, used in accepting or declining the + friendship offer - - - Change the rotation of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation of the object + + A response containing the results of our request to form a friendship with another agent - + - Set the name of an object + Construct a new instance of the FriendShipResponseEventArgs class - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new name of the object + The ID of the agent we requested a friendship with + The name of the agent we requested a friendship with + true if the agent accepted our friendship offer - - - Set the name of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the name of - An array which contains the new names of the objects + + Get the ID of the agent we requested a friendship with - - - Set the description of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new description of the object + + Get the name of the agent we requested a friendship with - + + true if the agent accepted our friendship offer + + + Contains data sent when a friend terminates a friendship with us + + - Set the descriptions of multiple objects + Construct a new instance of the FrindshipTerminatedEventArgs class - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the description of - An array which contains the new descriptions of the objects + The ID of the friend who terminated the friendship with us + The name of the friend who terminated the friendship with us - + + Get the ID of the agent that terminated the friendship with us + + + Get the name of the agent that terminated the friendship with us + + - Attach an object to this avatar + Data sent in response to a request which contains the information to allow us to map the friends location - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The point on the avatar the object will be attached - The rotation of the attached object - + - Drop an attached object from this avatar + Construct a new instance of the FriendFoundReplyEventArgs class - A reference to the - object where the objects reside. This will always be the simulator the avatar is currently in - - The object's ID which is local to the simulator the object is in + The ID of the agent we have requested location information for + The region handle where our friend is located + The simulator local position our friend is located - + + Get the ID of the agent we have received location information for + + + Get the region handle where our mapped friend is located + + + Get the simulator local position where our friend is located + + - Detach an object from yourself + Main class to expose grid functionality to clients. All of the + classes needed for sending and receiving data are accessible through + this class. - A reference to the - object where the objects reside - - This will always be the simulator the avatar is currently in - - An array which contains the IDs of the objects to detach + + + // Example minimum code required to instantiate class and + // connect to a simulator. + using System; + using System.Collections.Generic; + using System.Text; + using OpenMetaverse; + namespace FirstBot + { + class Bot + { + public static GridClient Client; + static void Main(string[] args) + { + Client = new GridClient(); // instantiates the GridClient class + // to the global Client object + // Login to Simulator + Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); + // Wait for a Keypress + Console.ReadLine(); + // Logout of simulator + Client.Network.Logout(); + } + } + } + + - + - Change the position of an object, Will change position of entire linkset + Default constructor - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - + + Networking subsystem + + + Settings class including constant values and changeable + parameters for everything + + + Parcel (subdivided simulator lots) subsystem + + + Our own avatars subsystem + + + Other avatars subsystem + + + Estate subsystem + + + Friends list subsystem + + + Grid (aka simulator group) subsystem + + + Object subsystem + + + Group subsystem + + + Asset subsystem + + + Appearance subsystem + + + Inventory subsystem + + + Directory searches including classifieds, people, land + sales, etc + + + Handles land, wind, and cloud heightmaps + + + Handles sound-related networking + + + Throttling total bandwidth usage, or allocating bandwidth + for specific data stream types + + - Change the position of an object + Return the full name of this instance - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - if true, will change position of (this) child prim only, not entire linkset + Client avatars full name - + - Change the Scale (size) of an object + Map layer request type - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change scale of this prim only, not entire linkset - True to resize prims uniformly - + + Objects and terrain are shown + + + Only the terrain is shown, no objects + + + Overlay showing land for sale and for auction + + - Change the Rotation of an object that is either a child or a whole linkset + Type of grid item, such as telehub, event, populator location, etc. - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change rotation of this prim only, not entire linkset - + + Telehub + + + PG rated event + + + Mature rated event + + + Popular location + + + Locations of avatar groups in a region + + + Land for sale + + + Classified ad + + + Adult rated event + + + Adult land for sale + + - Send a Multiple Object Update packet to change the size, scale or rotation of a primitive + Information about a region on the grid map - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation, size, or position of the target object - The flags from the Enum - + + Sim X position on World Map + + + Sim Y position on World Map + + + Sim Name (NOTE: In lowercase!) + + - Deed an object (prim) to a group, Object must be shared with group which - can be accomplished with SetPermissions() - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The of the group to deed the object to - + + Appears to always be zero (None) + + + Sim's defined Water Height + + - Deed multiple objects (prims) to a group, Objects must be shared with group which - can be accomplished with SetPermissions() - A reference to the object where the object resides - An array which contains the IDs of the objects to deed - The of the group to deed the object to - + + UUID of the World Map image + + + Unique identifier for this region, a combination of the X + and Y position + + - Set the permissions on multiple objects - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the permissions on - The new Who mask to set - The new Permissions mark to set - TODO: What does this do? + + - + - Request additional properties for an object - A reference to the object where the object resides - + + - + - Request additional properties for an object - A reference to the object where the object resides - Absolute UUID of the object - Whether to require server acknowledgement of this request + + + + - + - Set the ownership of a list of objects to the specified group + Visual chunk of the grid map - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the group id on - The Groups ID - + - Update current URL of the previously set prim media + Base class for Map Items - UUID of the prim - Set current URL to this - Prim face number - Simulator in which prim is located - + + The Global X position of the item + + + The Global Y position of the item + + + Get the Local X position of the item + + + Get the Local Y position of the item + + + Get the Handle of the region + + - Set object media + Represents an agent or group of agents location - UUID of the prim - Array the length of prims number of faces. Null on face indexes where there is - no media, on faces which contain the media - Simulatior in which prim is located - + - Retrieve information about object media + Represents a Telehub location - UUID of the primitive - Simulator where prim is located - Call this callback when done - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - + - A terse object update, used when a transformation matrix or - velocity/acceleration for an object changes but nothing else - (scale/position/rotation/acceleration/velocity) + Represents a non-adult parcel of land for sale - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - + - Setup construction data for a basic primitive shape + Represents an Adult parcel of land for sale - Primitive shape to construct - Construction data that can be plugged into a - + - + Represents a PG Event - - - - - + - + Represents a Mature event - - - + - Set the Shape data of an object + Represents an Adult event - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - Data describing the prim shape - + - Set the Material data of an object + Manages grid-wide tasks such as the world map - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new material of the object - + - + Constructor - - - - + Instance of GridClient object to associate with this GridManager instance - - - - - - - - + + The event subscribers. null if no subcribers - - Raised when the simulator sends us data containing - A , Foliage or Attachment - - + + Thread sync lock object - - Raised when the simulator sends us data containing - additional information - - + + The event subscribers. null if no subcribers - - Raised when the simulator sends us data containing - Primitive.ObjectProperties for an object we are currently tracking + + Thread sync lock object - - Raised when the simulator sends us data containing - additional and details - + + The event subscribers. null if no subcribers - - Raised when the simulator sends us data containing - updated information for an + + Thread sync lock object - - Raised when the simulator sends us data containing - and movement changes + + The event subscribers. null if no subcribers - - Raised when the simulator sends us data containing - updates to an Objects DataBlock + + Thread sync lock object - - Raised when the simulator informs us an - or is no longer within view + + The event subscribers. null if no subcribers - - Raised when the simulator sends us data containing - updated sit information for our + + Thread sync lock object - - Raised when the simulator sends us data containing - purchase price information for a + + A dictionary of all the regions, indexed by region name - - - Callback for getting object media data via CAP - - Indicates if the operation was succesfull - Object media version string - Array indexed on prim face of media entry data + + A dictionary of all the regions, indexed by region handle - - Provides data for the event - The event occurs when the simulator sends - an containing a Primitive, Foliage or Attachment data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or - if an Avatar crosses the border into a new simulator and returns to the current simulator - - - The following code example uses the , , and - properties to display new Primitives and Attachments on the window. - - // Subscribe to the event that gives us prim and foliage information - Client.Objects.ObjectUpdate += Objects_ObjectUpdate; - - - private void Objects_ObjectUpdate(object sender, PrimEventArgs e) - { - Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); - } - - - - - + + Raised when the simulator sends a + containing the location of agents in the simulator - - - Construct a new instance of the PrimEventArgs class - - The simulator the object originated from - The Primitive - The simulator time dilation - The prim was not in the dictionary before this update - true if the primitive represents an attachment to an agent + + Raised when the simulator sends a Region Data in response to + a Map request - - Get the simulator the originated from + + Raised when the simulator sends GridLayer object containing + a map tile coordinates and texture information - - Get the details + + Raised when the simulator sends GridItems object containing + details on events, land sales at a specific location - - true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) + + Raised in response to a Region lookup - - true if the is attached to an + + Unknown - - Get the simulator Time Dilation + + Current direction of the sun - - Provides data for the event - The event occurs when the simulator sends - an containing Avatar data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator - - - The following code example uses the property to make a request for the top picks - using the method in the class to display the names - of our own agents picks listings on the window. - - // subscribe to the AvatarUpdate event to get our information - Client.Objects.AvatarUpdate += Objects_AvatarUpdate; - Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; - - private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) - { - // we only want our own data - if (e.Avatar.LocalID == Client.Self.LocalID) - { - // Unsubscribe from the avatar update event to prevent a loop - // where we continually request the picks every time we get an update for ourselves - Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; - // make the top picks request through AvatarManager - Client.Avatars.RequestAvatarPicks(e.Avatar.ID); - } - } - - private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) - { - // we'll unsubscribe from the AvatarPicksReply event since we now have the data - // we were looking for - Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; - // loop through the dictionary and extract the names of the top picks from our profile - foreach (var pickName in e.Picks.Values) - { - Console.WriteLine(pickName); - } - } - - - - + + Current angular velocity of the sun - - - Construct a new instance of the AvatarUpdateEventArgs class - - The simulator the packet originated from - The data - The simulator time dilation - The avatar was not in the dictionary before this update + + Current world time - - Get the simulator the object originated from + + Raises the CoarseLocationUpdate event + A CoarseLocationUpdateEventArgs object containing the + data sent by simulator - - Get the data + + Raises the GridRegion event + A GridRegionEventArgs object containing the + data sent by simulator - - Get the simulator time dilation + + Raises the GridLayer event + A GridLayerEventArgs object containing the + data sent by simulator - - true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) + + Raises the GridItems event + A GridItemEventArgs object containing the + data sent by simulator - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment data - The event is also raised when a request is - made. - - - The following code example uses the , and - - properties to display new attachments and send a request for additional properties containing the name of the - attachment then display it on the window. - - // Subscribe to the event that provides additional primitive details - Client.Objects.ObjectProperties += Objects_ObjectProperties; - - // handle the properties data that arrives - private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) - { - Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); - } - - + + Raises the RegionHandleReply event + A RegionHandleReplyEventArgs object containing the + data sent by simulator - + - Construct a new instance of the ObjectPropertiesEventArgs class - The simulator the object is located - The primitive Properties + + - - Get the simulator the object is located + + + Request a map layer + + The name of the region + The type of layer - - Get the primitive properties + + + + + + + + + + + + + + + - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive or Foliage data that is currently - being tracked in the dictionary - The event is also raised when a request is - made and is enabled - + + + + + + + + + + + + + - + - Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class - - The simulator the object is located - The Primitive - The primitive Properties + + + + + + + - - Get the simulator the object is located + + + Request data for all mainland (Linden managed) simulators + - - Get the primitive details + + + Request the region handle for the specified region UUID + + UUID of the region to look up - - Get the primitive properties + + + Get grid region information using the region name, this function + will block until it can find the region or gives up + + Name of sim you're looking for + Layer that you are requesting + Will contain a GridRegion for the sim you're + looking for if successful, otherwise an empty structure + True if the GridRegion was successfully fetched, otherwise + false - - Provides additional primitive data, permissions and sale info for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment. This includes - Permissions, Sale info, and other basic details on an object - The event is also raised when a request is - made, the viewer equivalent is hovering the mouse cursor over an object - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Get the simulator the object is located + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Provides primitive data containing updated location, velocity, rotation, textures for the event - The event occurs when the simulator sends updated location, velocity, rotation, etc - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Get the simulator the object is located + + + Avatar group management + - - Get the primitive details + + Key of Group Member - - + + Total land contribution - - + + Online status information - + + Abilities that the Group Member has + + + Current group title + + + Is a group owner + + - + Role manager for a group - - Get the simulator the object is located + + Key of the group - - Get the primitive details + + Key of Role - - + + Name of Role - - + + Group Title associated with Role - - + + Description of Role - - + + Abilities Associated with Role - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event + + Returns the role's title + The role's title - - Get the simulator the object is located + + + Class to represent Group Title + - - The LocalID of the object + + Key of the group - + + ID of the role title belongs to + + + Group Title + + + Whether title is Active + + + Returns group title + + - Provides updates sit position data + Represents a group on the grid - - Get the simulator the object is located + + Key of Group - - + + Key of Group Insignia - - + + Key of Group Founder - - + + Key of Group Role for Owners - + + Name of Group + + + Text of Group Charter + + + Title of "everyone" role + + + Is the group open for enrolement to everyone + + + Will group show up in search + + - - - Get the simulator the object is located + + + - - + + + - - + + Is the group Mature - - + + Cost of group membership - + - Indicates if the operation was successful - + - Media version string - + + The total number of current members this group has + + + The number of roles this group has configured + + + Show this group in agent's profile + + + Returns the name of the group + A string containing the name of the group + + - Array of media entries indexed by face number + A group Vote - + + Key of Avatar who created Vote + + + Text of the Vote proposal + + + Total number of votes + + - Singleton logging class for the entire library + A group proposal - - log4net logging engine + + The Text of the proposal + + + The minimum number of members that must vote before proposal passes or failes + + + The required ration of yes/no votes required for vote to pass + The three options are Simple Majority, 2/3 Majority, and Unanimous + TODO: this should be an enum + + The duration in days votes are accepted - + - Default constructor - + - Send a log message to the logging engine - The log message - The severity of the log entry - + - Send a log message to the logging engine - The log message - The severity of the log entry - Instance of the client - + - Send a log message to the logging engine - The log message - The severity of the log entry - Exception that was raised - + - Send a log message to the logging engine - The log message - The severity of the log entry - Instance of the client - Exception that was raised - + - If the library is compiled with DEBUG defined, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - The message to log at the DEBUG level to the - current logging engine - + - If the library is compiled with DEBUG defined and - GridClient.Settings.DEBUG is true, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - The message to log at the DEBUG level to the - current logging engine - Instance of the client - - Triggered whenever a message is logged. If this is left - null, log messages will go to the console - - + - Callback used for client apps to receive log messages from - the library - Data being logged - The severity of the log entry from - + - - + - - - + - De-serialization constructor for the InventoryNode Class - + - Serialization handler for the InventoryNode Class - + - De-serialization handler for the InventoryNode Class - + - - - - - - - - - - - - - - - + - For inventory folder nodes specifies weather the folder needs to be - refreshed from the server - + - Exception class to identify inventory exceptions - + - Responsible for maintaining inventory structure. Inventory constructs nodes - and manages node children as is necessary to maintain a coherant hirarchy. - Other classes should not manipulate or create InventoryNodes explicitly. When - A node's parent changes (when a folder is moved, for example) simply pass - Inventory the updated InventoryFolder and it will make the appropriate changes - to its internal representation. - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectUpdated Event - A InventoryObjectUpdatedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectRemoved Event - A InventoryObjectRemovedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the InventoryObjectAdded Event - A InventoryObjectAddedEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + Struct representing a group notice + - + - Returns the contents of the specified folder - A folder's UUID - The contents of the folder corresponding to folder - When folder does not exist in the inventory - + - Updates the state of the InventoryNode and inventory data structure that - is responsible for the InventoryObject. If the item was previously not added to inventory, - it adds the item, and updates structure accordingly. If it was, it updates the - InventoryNode, changing the parent node if item.parentUUID does - not match node.Parent.Data.UUID. - - You can not set the inventory root folder using this method - The InventoryObject to store - + - Removes the InventoryObject and all related node data from Inventory. - The InventoryObject to remove. - + - Used to find out if Inventory contains the InventoryObject - specified by uuid. - The UUID to check. - true if inventory contains uuid, false otherwise - + - Saves the current inventory structure to a cache file - Name of the cache file to save to + + - + - Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + Struct representing a group notice list entry - Name of the cache file to load - The number of inventory items sucessfully reconstructed into the inventory node tree - - Raised when the simulator sends us data containing - ... + + Notice ID - - Raised when the simulator sends us data containing - ... + + Creation timestamp of notice - - Raised when the simulator sends us data containing - ... + + Agent name who created notice - + + Notice subject + + + Is there an attachment? + + + Attachment Type + + - The root folder of this avatars inventory + Struct representing a member of a group chat session and their settings - + + The of the Avatar + + + True if user has voice chat enabled + + + True of Avatar has moderator abilities + + + True if a moderator has muted this avatars chat + + + True if a moderator has muted this avatars voice + + - The default shared library folder + Role update flags - + - The root node of the avatars inventory - + - The root node of the default shared library - + - By using the bracket operator on this class, the program can get the - InventoryObject designated by the specified uuid. If the value for the corresponding - UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). - If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), - the uuid parameter is ignored. - The UUID of the InventoryObject to get or set, ignored if set to non-null value. - The InventoryObject corresponding to uuid. - - - Describes tasks returned in LandStatReply - + - Estate level administration and utilities - - Textures for each of the four terrain height levels + + + - - Upper/lower texture boundaries for each corner of the sim + + + - + - Constructor for EstateTools class - - - The event subscribers. null if no subcribers + + Can send invitations to groups default role - - Raises the TopCollidersReply event - A TopCollidersReplyEventArgs object containing the - data returned from the data server + + Can eject members from group - - Thread sync lock object + + Can toggle 'Open Enrollment' and change 'Signup fee' - - The event subscribers. null if no subcribers + + Member is visible in the public member list - - Raises the TopScriptsReply event - A TopScriptsReplyEventArgs object containing the - data returned from the data server + + Can create new roles - - Thread sync lock object + + Can delete existing roles - - The event subscribers. null if no subcribers + + Can change Role names, titles and descriptions - - Raises the EstateUsersReply event - A EstateUsersReplyEventArgs object containing the - data returned from the data server + + Can assign other members to assigners role - - Thread sync lock object + + Can assign other members to any role - - The event subscribers. null if no subcribers + + Can remove members from roles - - Raises the EstateGroupsReply event - A EstateGroupsReplyEventArgs object containing the - data returned from the data server + + Can assign and remove abilities in roles - - Thread sync lock object + + Can change group Charter, Insignia, 'Publish on the web' and which + members are publicly visible in group member listings - - The event subscribers. null if no subcribers + + Can buy land or deed land to group - - Raises the EstateManagersReply event - A EstateManagersReplyEventArgs object containing the - data returned from the data server + + Can abandon group owned land to Governor Linden on mainland, or Estate owner for + private estates - - Thread sync lock object + + Can set land for-sale information on group owned parcels - - The event subscribers. null if no subcribers + + Can subdivide and join parcels - - Raises the EstateBansReply event - A EstateBansReplyEventArgs object containing the - data returned from the data server + + Can join group chat sessions - - Thread sync lock object + + Can use voice chat in Group Chat sessions - - The event subscribers. null if no subcribers + + Can moderate group chat sessions - - Raises the EstateCovenantReply event - A EstateCovenantReplyEventArgs object containing the - data returned from the data server + + Can toggle "Show in Find Places" and set search category - - Thread sync lock object + + Can change parcel name, description, and 'Publish on web' settings - - The event subscribers. null if no subcribers + + Can set the landing point and teleport routing on group land - - Raises the EstateUpdateInfoReply event - A EstateUpdateInfoReplyEventArgs object containing the - data returned from the data server + + Can change music and media settings - - Thread sync lock object + + Can toggle 'Edit Terrain' option in Land settings - - - Requests estate information such as top scripts and colliders - - - - - + + Can toggle various About Land > Options settings - - Requests estate settings, including estate manager and access/ban lists + + Can always terraform land, even if parcel settings have it turned off - - Requests the "Top Scripts" list for the current region + + Can always fly while over group owned land - - Requests the "Top Colliders" list for the current region + + Can always rez objects on group owned land - - - Set several estate specific configuration variables - - The Height of the waterlevel over the entire estate. Defaults to 20 - The maximum height change allowed above the baked terrain. Defaults to 4 - The minimum height change allowed below the baked terrain. Defaults to -4 - true to use - if True forces the sun position to the position in SunPosition - The current position of the sun on the estate, or when FixedSun is true the static position - the sun will remain. 6.0 = Sunrise, 30.0 = Sunset + + Can always create landmarks for group owned parcels - - - Request return of objects owned by specified avatar - - The Agents owning the primitives to return - specify the coverage and type of objects to be included in the return - true to perform return on entire estate + + Can set home location on any group owned parcel - - - - + + Can modify public access settings for group owned parcels - - - Used for setting and retrieving various estate panel settings - - EstateOwnerMessage Method field - List of parameters to include + + Can manager parcel ban lists on group owned land - - - Kick an avatar from an estate - - Key of Agent to remove + + Can manage pass list sales information - - - Ban an avatar from an estate - Key of Agent to remove - Ban user from this estate and all others owned by the estate owner + + Can eject and freeze other avatars on group owned land - - Unban an avatar from an estate - Key of Agent to remove - /// Unban user from this estate and all others owned by the estate owner + + Can return objects set to group - - - Send a message dialog to everyone in an entire estate - - Message to send all users in the estate + + Can return non-group owned/set objects - - - Send a message dialog to everyone in a simulator - - Message to send all users in the simulator + + Can return group owned objects - - - Send an avatar back to their home location - - Key of avatar to send home + + Can landscape using Linden plants - - - Begin the region restart process - + + Can deed objects to group - - - Cancels a region restart - + + Can move group owned objects - - Estate panel "Region" tab settings + + Can set group owned objects for-sale - - Estate panel "Debug" tab settings + + Pay group liabilities and receive group dividends - - Used for setting the region's terrain textures for its four height levels - - - - + + Can send group notices - - Used for setting sim terrain texture heights + + Can receive group notices - - Requests the estate covenant + + Can create group proposals - + + Can vote on group proposals + + - Upload a terrain RAW file + Handles all network traffic related to reading and writing group + information - A byte array containing the encoded terrain data - The name of the file being uploaded - The Id of the transfer request - + - Teleports all users home in current Estate + Construct a new instance of the GroupManager class + A reference to the current instance - - - Remove estate manager - Key of Agent to Remove - removes manager to this estate and all others owned by the estate owner + + The event subscribers. null if no subcribers - - - Add estate manager - Key of Agent to Add - Add agent as manager to this estate and all others owned by the estate owner + + Thread sync lock object - - - Add's an agent to the estate Allowed list - Key of Agent to Add - Add agent as an allowed reisdent to All estates if true + + The event subscribers. null if no subcribers - - - Removes an agent from the estate Allowed list - Key of Agent to Remove - Removes agent as an allowed reisdent from All estates if true + + Thread sync lock object - - - - Add's a group to the estate Allowed list - Key of Group to Add - Add Group as an allowed group to All estates if true + + The event subscribers. null if no subcribers - - - - Removes a group from the estate Allowed list - Key of Group to Remove - Removes Group as an allowed Group from All estates if true + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Raised when the data server responds to a request. + + Thread sync lock object - - Raised when the data server responds to a request. + + The event subscribers. null if no subcribers - - Raised when the data server responds to a request. + + Thread sync lock object - - Raised when the data server responds to a request. + + The event subscribers. null if no subcribers - - Raised when the data server responds to a request. + + Thread sync lock object - - Raised when the data server responds to a request. + + The event subscribers. null if no subcribers - - Raised when the data server responds to a request. + + Thread sync lock object - - Raised when the data server responds to a request. + + The event subscribers. null if no subcribers - - Used in the ReportType field of a LandStatRequest + + Thread sync lock object - - Used by EstateOwnerMessage packets + + The event subscribers. null if no subcribers - - Used by EstateOwnerMessage packets + + Thread sync lock object - - - - + + The event subscribers. null if no subcribers - - No flags set + + Thread sync lock object - - Only return targets scripted objects + + The event subscribers. null if no subcribers - - Only return targets objects if on others land + + Thread sync lock object - - Returns target's scripted objects and objects on other parcels + + The event subscribers. null if no subcribers - - Ground texture settings for each corner of the region + + Thread sync lock object - - Used by GroundTextureHeightSettings + + The event subscribers. null if no subcribers - - The high and low texture thresholds for each corner of the sim + + Thread sync lock object - - Raised on LandStatReply when the report type is for "top colliders" + + The event subscribers. null if no subcribers - - Construct a new instance of the TopCollidersReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply + + Thread sync lock object - - - The number of returned items in LandStatReply - + + A reference to the current instance - - - A Dictionary of Object UUIDs to tasks returned in LandStatReply - + + Currently-active group members requests - - Raised on LandStatReply when the report type is for "top Scripts" + + Currently-active group roles requests - - Construct a new instance of the TopScriptsReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply + + Currently-active group role-member requests - - - The number of scripts returned in LandStatReply - + + Dictionary keeping group members while request is in progress - - - A Dictionary of Object UUIDs to tasks returned in LandStatReply - + + Dictionary keeping mebmer/role mapping while request is in progress - - Returned, along with other info, upon a successful .RequestInfo() + + Dictionary keeping GroupRole information while request is in progress - - Construct a new instance of the EstateBansReplyEventArgs class - The estate's identifier on the grid - The number of returned items in LandStatReply - User UUIDs banned + + Caches group name lookups - - - The identifier of the estate - + + Raised when the simulator sends us data containing + our current group membership - - - The number of returned itmes - + + Raised when the simulator responds to a RequestGroupName + or RequestGroupNames request - - - List of UUIDs of Banned Users - + + Raised when the simulator responds to a request - - Returned, along with other info, upon a successful .RequestInfo() + + Raised when the simulator responds to a request - - Construct a new instance of the EstateUsersReplyEventArgs class - The estate's identifier on the grid - The number of users - Allowed users UUIDs + + Raised when the simulator responds to a request - - - The identifier of the estate - + + Raised when the simulator responds to a request - - - The number of returned items - + + Raised when the simulator responds to a request - - - List of UUIDs of Allowed Users - + + Raised when a response to a RequestGroupAccountSummary is returned + by the simulator - - Returned, along with other info, upon a successful .RequestInfo() + + Raised when a request to create a group is successful - - Construct a new instance of the EstateGroupsReplyEventArgs class - The estate's identifier on the grid - The number of Groups - Allowed Groups UUIDs + + Raised when a request to join a group either + fails or succeeds - - - The identifier of the estate - + + Raised when a request to leave a group either + fails or succeeds - - - The number of returned items - + + Raised when A group is removed from the group server - - - List of UUIDs of Allowed Groups - + + Raised when a request to eject a member from a group either + fails or succeeds - - Returned, along with other info, upon a successful .RequestInfo() + + Raised when the simulator sends us group notices + - - Construct a new instance of the EstateManagersReplyEventArgs class - The estate's identifier on the grid - The number of Managers - Managers UUIDs + + Raised when another agent invites our avatar to join a group - - - The identifier of the estate - + + Raises the CurrentGroups event + A CurrentGroupsEventArgs object containing the + data sent from the simulator - - - The number of returned items - + + Raises the GroupNamesReply event + A GroupNamesEventArgs object containing the + data response from the simulator - - - List of UUIDs of the Estate's Managers - + + Raises the GroupProfile event + An GroupProfileEventArgs object containing the + data returned from the simulator - - Returned, along with other info, upon a successful .RequestInfo() + + Raises the GroupMembers event + A GroupMembersEventArgs object containing the + data returned from the simulator - - Construct a new instance of the EstateCovenantReplyEventArgs class - The Covenant ID - The timestamp - The estate's name - The Estate Owner's ID (can be a GroupID) + + Raises the GroupRolesDataReply event + A GroupRolesDataReplyEventArgs object containing the + data returned from the simulator - - - The Covenant - + + Raises the GroupRoleMembersReply event + A GroupRolesRoleMembersReplyEventArgs object containing the + data returned from the simulator - - - The timestamp - + + Raises the GroupTitlesReply event + A GroupTitlesReplyEventArgs object containing the + data returned from the simulator - - - The Estate name - + + Raises the GroupAccountSummary event + A GroupAccountSummaryReplyEventArgs object containing the + data returned from the simulator - - - The Estate Owner's ID (can be a GroupID) - + + Raises the GroupCreated event + An GroupCreatedEventArgs object containing the + data returned from the simulator - - Returned, along with other info, upon a successful .RequestInfo() + + Raises the GroupJoined event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator - - Construct a new instance of the EstateUpdateInfoReplyEventArgs class - The estate's name - The Estate Owners ID (can be a GroupID) - The estate's identifier on the grid - + + Raises the GroupLeft event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator - - - The estate's name - + + Raises the GroupDropped event + An GroupDroppedEventArgs object containing the + the group your agent left - - - The Estate Owner's ID (can be a GroupID) - + + Raises the GroupMemberEjected event + An GroupMemberEjectedEventArgs object containing the + data returned from the simulator - - - The identifier of the estate on the grid - + + Raises the GroupNoticesListReply event + An GroupNoticesListReplyEventArgs object containing the + data returned from the simulator - - + + Raises the GroupInvitation event + An GroupInvitationEventArgs object containing the + data returned from the simulator - + - Image width + Request a current list of groups the avatar is a member of. + CAPS Event Queue must be running for this to work since the results + come across CAPS. - + - Image height + Lookup name of group based on groupID + groupID of group to lookup name for. - + - Image channel flags + Request lookup of multiple group names + List of group IDs to request. - - - Red channel data - + + Lookup group profile data such as name, enrollment, founder, logo, etc + Subscribe to OnGroupProfile event to receive the results. + group ID (UUID) - - - Green channel data - + + Request a list of group members. + Subscribe to OnGroupMembers event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - - Blue channel data - + + Request group roles + Subscribe to OnGroupRoles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - - Alpha channel data - + + Request members (members,role) role mapping for a group. + Subscribe to OnGroupRolesMembers event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - - Bump channel data - + + Request a groups Titles + Subscribe to OnGroupTitles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - - Create a new blank image - - width - height - channel flags + + Begin to get the group account summary + Subscribe to the OnGroupAccountSummary event to receive the results. + group ID (UUID) + How long of an interval + Which interval (0 for current, 1 for last) - - - - - + + Invites a user to a group + The group to invite to + A list of roles to invite a person to + Key of person to invite - - - Convert the channels in the image. Channels are created or destroyed as required. - - new channel flags + + Set a group as the current active group + group ID (UUID) - - - Resize or stretch the image using nearest neighbor (ugly) resampling - - new width - new height + + Change the role that determines your active title + Group ID to use + Role ID to change to - - - Create a byte array containing 32-bit RGBA data with a bottom-left - origin, suitable for feeding directly into OpenGL - - A byte array containing raw texture data + + Set this avatar's tier contribution + Group ID to change tier in + amount of tier to donate - + - Represents an AssetScriptBinary object containing the - LSO compiled bytecode of an LSL script + Save wheather agent wants to accept group notices and list this group in their profile + Group + Accept notices from this group + List this group in the profile - - Initializes a new instance of an AssetScriptBinary object - - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - - TODO: Encodes a scripts contents into a LSO Bytecode file - + + Request to join a group + Subscribe to OnGroupJoined event for confirmation. + group ID (UUID) to join. - + - TODO: Decode LSO Bytecode into a string + Request to create a new group. If the group is successfully + created, L$100 will automatically be deducted - true + Subscribe to OnGroupCreated event to receive confirmation. + Group struct containing the new group info - - Override the base classes AssetType + + Update a group's profile and other information + Groups ID (UUID) to update. + Group struct to update. - - - - + + Eject a user from a group + Group ID to eject the user from + Avatar's key to eject - - - An instance of DelegateWrapper which calls InvokeWrappedDelegate, - which in turn calls the DynamicInvoke method of the wrapped - delegate - + + Update role information + Modified role to be updated - - - Callback used to call EndInvoke on the asynchronously - invoked DelegateWrapper - + + Create a new group role + Group ID to update + Role to create - - - Executes the specified delegate with the specified arguments - asynchronously on a thread pool thread - - - + + Delete a group role + Group ID to update + Role to delete - - - Invokes the wrapped delegate synchronously - - - + + Remove an avatar from a role + Group ID to update + Role ID to be removed from + Avatar's Key to remove - - - Calls EndInvoke on the wrapper and Close on the resulting WaitHandle - to prevent resource leaks - - + + Assign an avatar to a role + Group ID to update + Role ID to assign to + Avatar's ID to assign to role - - - Delegate to wrap another delegate and its arguments - - - + + Request the group notices list + Group ID to fetch notices for - - - Checks the instance back into the object pool - + + Request a group notice by key + ID of group notice - - - Returns an instance of the class that has been checked out of the Object Pool. - + + Send out a group notice + Group ID to update + + GroupNotice structure containing notice data - - - Creates a new instance of the ObjectPoolBase class. Initialize MUST be called - after using this constructor. - + + Start a group proposal (vote) + The Group ID to send proposal to + + GroupProposal structure containing the proposal - - - Creates a new instance of the ObjectPool Base class. - - The object pool is composed of segments, which - are allocated whenever the size of the pool is exceeded. The number of items - in a segment should be large enough that allocating a new segmeng is a rare - thing. For example, on a server that will have 10k people logged in at once, - the receive buffer object pool should have segment sizes of at least 1000 - byte arrays per segment. - - The minimun number of segments that may exist. - Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. - The frequency which segments are checked to see if they're eligible for cleanup. + + Request to leave a group + Subscribe to OnGroupLeft event to receive confirmation + The group to leave - - - Forces the segment cleanup algorithm to be run. This method is intended - primarly for use from the Unit Test libraries. - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Responsible for allocate 1 instance of an object that will be stored in a segment. - - An instance of whatever objec the pool is pooling. + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Checks in an instance of T owned by the object pool. This method is only intended to be called - by the WrappedObject class. - - The segment from which the instance is checked out. - The instance of T to check back into the segment. + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Checks an instance of T from the pool. If the pool is not sufficient to - allow the checkout, a new segment is created. - - A WrappedObject around the instance of T. To check - the instance back into the segment, be sureto dispose the WrappedObject - when finished. + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - The total number of segments created. Intended to be used by the Unit Tests. - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - The number of items that are in a segment. Items in a segment - are all allocated at the same time, and are hopefully close to - each other in the managed heap. - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - The minimum number of segments. When segments are reclaimed, - this number of segments will always be left alone. These - segments are allocated at startup. - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - The age a segment must be before it's eligible for cleanup. - This is used to prevent thrash, and typical values are in - the 5 minute range. - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - The frequence which the cleanup thread runs. This is typically - expected to be in the 5 minute range. - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Size of the byte array used to store raw packet data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Raw packet data buffer + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Length of the data to transmit + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - EndPoint of the remote host + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Create an allocated UDP packet buffer for receiving a packet - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host - Size of the buffer to allocate for packet data + + Contains the current groups your agent is a member of - - - Object pool for packet buffers. This is used to allocate memory for all - incoming and outgoing packets, and zerocoding buffers for those packets - + + Construct a new instance of the CurrentGroupsEventArgs class + The current groups your agent is a member of - - - Initialize the object pool in client mode - - Server to connect to - - + + Get the current groups your agent is a member of - - - Initialize the object pool in server mode - - - + + A Dictionary of group names, where the Key is the groups ID and the value is the groups name - - - Returns a packet buffer with EndPoint set if the buffer is in - client mode, or with EndPoint set to null in server mode - - Initialized UDPPacketBuffer object + + Construct a new instance of the GroupNamesEventArgs class + The Group names dictionary - - - Default constructor - + + Get the Group Names dictionary - - - Check a packet buffer out of the pool - - A packet buffer object + + Represents the members of a group - + - Static pre-defined animations available to all agents + Construct a new instance of the GroupMembersReplyEventArgs class + The ID of the request + The ID of the group + The membership list of the group - - Agent with afraid expression on face - - - Agent aiming a bazooka (right handed) + + Get the ID as returned by the request to correlate + this result set and the request - - Agent aiming a bow (left handed) + + Get the ID of the group - - Agent aiming a hand gun (right handed) + + Get the dictionary of members - - Agent aiming a rifle (right handed) + + Represents the roles associated with a group - - Agent with angry expression on face + + Construct a new instance of the GroupRolesDataReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The dictionary containing the roles - - Agent hunched over (away) + + Get the ID as returned by the request to correlate + this result set and the request - - Agent doing a backflip + + Get the ID of the group - - Agent laughing while holding belly + + Get the dictionary containing the roles - - Agent blowing a kiss + + Represents the Role to Member mappings for a group - - Agent with bored expression on face - - - Agent bowing to audience + + Construct a new instance of the GroupRolesMembersReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The member to roles map - - Agent brushing himself/herself off + + Get the ID as returned by the request to correlate + this result set and the request - - Agent in busy mode + + Get the ID of the group - - Agent clapping hands + + Get the member to roles map - - Agent doing a curtsey bow + + Represents the titles for a group - - Agent crouching + + Construct a new instance of the GroupTitlesReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The titles - - Agent crouching while walking + + Get the ID as returned by the request to correlate + this result set and the request - - Agent crying + + Get the ID of the group - - Agent unanimated with arms out (e.g. setting appearance) + + Get the titles - - Agent re-animated after set appearance finished + + Represents the summary data for a group - - Agent dancing + + Construct a new instance of the GroupAccountSummaryReplyEventArgs class + The ID of the group + The summary data - - Agent dancing + + Get the ID of the group - - Agent dancing + + Get the summary data - - Agent dancing + + A response to a group create request - - Agent dancing + + Construct a new instance of the GroupCreatedReplyEventArgs class + The ID of the group + the success or faulure of the request + A string containing additional information - - Agent dancing + + Get the ID of the group - - Agent dancing + + true of the group was created successfully - - Agent dancing + + A string containing the message - - Agent on ground unanimated + + Represents a response to a request - - Agent boozing it up + + Construct a new instance of the GroupOperationEventArgs class + The ID of the group + true of the request was successful - - Agent with embarassed expression on face + + Get the ID of the group - - Agent with afraid expression on face + + true of the request was successful - - Agent with angry expression on face + + Represents your agent leaving a group - - Agent with bored expression on face + + Construct a new instance of the GroupDroppedEventArgs class + The ID of the group - - Agent crying + + Get the ID of the group - - Agent showing disdain (dislike) for something + + Represents a list of active group notices - - Agent with embarassed expression on face + + Construct a new instance of the GroupNoticesListReplyEventArgs class + The ID of the group + The list containing active notices - - Agent with frowning expression on face + + Get the ID of the group - - Agent with kissy face + + Get the notices list - - Agent expressing laughgter + + Represents the profile of a group - - Agent with open mouth + + Construct a new instance of the GroupProfileEventArgs class + The group profile - - Agent with repulsed expression on face + + Get the group profile - - Agent expressing sadness + + + Provides notification of a group invitation request sent by another Avatar + + The invitation is raised when another avatar makes an offer for our avatar + to join a group. - - Agent shrugging shoulders + + The ID of the Avatar sending the group invitation - - Agent with a smile + + The name of the Avatar sending the group invitation - - Agent expressing surprise + + A message containing the request information which includes + the name of the group, the groups charter and the fee to join details - - Agent sticking tongue out + + The Simulator - - Agent with big toothy smile + + Set to true to accept invitation, false to decline - - Agent winking + + + Static helper functions and global variables + - - Agent expressing worry + + + Passed to Logger.Log() to identify the severity of a log entry + - - Agent falling down + + No logging information will be output - - Agent walking (feminine version) + + Non-noisy useful information, may be helpful in + debugging a problem - - Agent wagging finger (disapproval) + + A non-critical error occurred. A warning will not + prevent the rest of the library from operating as usual, + although it may be indicative of an underlying issue - - I'm not sure I want to know + + A critical error has occurred. Generally this will + be followed by the network layer shutting down, although the + stability of the library after an error is uncertain - - Agent in superman position + + Used for internal testing, this logging level can + generate very noisy (long and/or repetitive) messages. Don't + pass this to the Log() function, use DebugLog() instead. + - - Agent in superman position + + This header flag signals that ACKs are appended to the packet - - Agent greeting another + + This header flag signals that this packet has been sent before - - Agent holding bazooka (right handed) + + This header flags signals that an ACK is expected for this packet - - Agent holding a bow (left handed) + + This header flag signals that the message is compressed using zerocoding - - Agent holding a handgun (right handed) + + + + + + + - - Agent holding a rifle (right handed) + + + + + + + + + - - Agent throwing an object (right handed) + + + + + + + - - Agent in static hover + + + + + + + + + - - Agent hovering downward + + + Given an X/Y location in absolute (grid-relative) terms, a region + handle is returned along with the local X/Y location in that region + + The absolute X location, a number such as + 255360.35 + The absolute Y location, a number such as + 255360.35 + The sim-local X position of the global X + position, a value from 0.0 to 256.0 + The sim-local Y position of the global Y + position, a value from 0.0 to 256.0 + A 64-bit region handle that can be used to teleport to - - Agent hovering upward + + + Converts a floating point number to a terse string format used for + transmitting numbers in wearable asset files + + Floating point number to convert to a string + A terse string representation of the input number - - Agent being impatient + + + Convert a variable length field (byte array) to a string, with a + field name prepended to each line of the output + + If the byte array has unprintable characters in it, a + hex dump will be written instead + The StringBuilder object to write to + The byte array to convert to a string + A field name to prepend to each line of output - - Agent jumping + + + Decode a zerocoded byte array, used to decompress packets marked + with the zerocoded flag + + Any time a zero is encountered, the next byte is a count + of how many zeroes to expand. One zero is encoded with 0x00 0x01, + two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The + first four bytes are copied directly to the output buffer. + + The byte array to decode + The length of the byte array to decode. This + would be the length of the packet up to (but not including) any + appended ACKs + The output byte array to decode to + The length of the output buffer - - Agent jumping with fervor + + + Encode a byte array with zerocoding. Used to compress packets marked + with the zerocoded flag. Any zeroes in the array are compressed down + to a single zero byte followed by a count of how many zeroes to expand + out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, + three zeroes becomes 0x00 0x03, etc. The first four bytes are copied + directly to the output buffer. + + The byte array to encode + The length of the byte array to encode + The output byte array to encode to + The length of the output buffer - - Agent point to lips then rear end + + + Calculates the CRC (cyclic redundancy check) needed to upload inventory. + + Creation date + Sale type + Inventory type + Type + Asset ID + Group ID + Sale price + Owner ID + Creator ID + Item ID + Folder ID + Everyone mask (permissions) + Flags + Next owner mask (permissions) + Group mask (permissions) + Owner mask (permissions) + The calculated CRC - - Agent landing from jump, finished flight, etc + + + Attempts to load a file embedded in the assembly + + The filename of the resource to load + A Stream for the requested file, or null if the resource + was not successfully loaded - - Agent laughing + + + Attempts to load a file either embedded in the assembly or found in + a given search path + + The filename of the resource to load + An optional path that will be searched if + the asset is not found embedded in the assembly + A Stream for the requested file, or null if the resource + was not successfully loaded - - Agent landing from jump, finished flight, etc + + + Converts a list of primitives to an object that can be serialized + with the LLSD system + + Primitives to convert to a serializable object + An object that can be serialized with LLSD - - Agent sitting on a motorcycle + + + Deserializes OSD in to a list of primitives + + Structure holding the serialized primitive list, + must be of the SDMap type + A list of deserialized primitives - - + + + Converts a struct or class object containing fields only into a key value separated string + + The struct object + A string containing the struct fields as the keys, and the field value as the value separated + + + // Add the following code to any struct or class containing only fields to override the ToString() + // method to display the values of the passed object + /// Print the struct data as a string + ///A string containing the field name, and field value + public override string ToString() + { + return Helpers.StructToString(this); + } + + - - Agent moving head side to side + + + The InternalDictionary class is used through the library for storing key/value pairs. + It is intended to be a replacement for the generic Dictionary class and should + be used in its place. It contains several methods for allowing access to the data from + outside the library that are read only and thread safe. + + Key + Value + + + + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. + + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); + + + + + + Initializes a new instance of the Class + with the specified key/value, has its initial valies copied from the specified + + + + to copy initial values from + + + // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. + // populates with copied values from example KeyNameCache Dictionary. + // create source dictionary + Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); + KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); + KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); + // Initialize new dictionary. + public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); + + + + + + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. + + Initial size of dictionary + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); + + + + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking + on this member + + + + Indexer for the dictionary + + The key + The value + + + + Gets the number of Key/Value pairs contained in the + + + + Try to get entry from with specified key + + Key to use for lookup + Value returned + + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + + + + + Finds the specified match. + + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + + + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + + + Perform an on each entry in an + + to perform + + + // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. + Client.Network.CurrentSim.ObjectsPrimitives.ForEach( + delegate(Primitive prim) + { + if (prim.Text != null) + { + Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", + prim.PropertiesFamily.Name, prim.ID, prim.Text); + } + }); + + + + + Perform an on each key of an + + to perform + + + + Perform an on each KeyValuePair of an + + to perform + + + Check if Key exists in Dictionary + Key to check for + + if found, otherwise + + + Check if Value exists in Dictionary + Value to check for + + if found, otherwise + + + + Adds the specified key to the dictionary, dictionary locking is not performed, + + The key + The value + + + + Removes the specified key, dictionary locking is not performed + + The key. + + if successful, otherwise + + + + Exception class to identify inventory exceptions + + + + + Responsible for maintaining inventory structure. Inventory constructs nodes + and manages node children as is necessary to maintain a coherant hirarchy. + Other classes should not manipulate or create InventoryNodes explicitly. When + A node's parent changes (when a folder is moved, for example) simply pass + Inventory the updated InventoryFolder and it will make the appropriate changes + to its internal representation. + + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + + By using the bracket operator on this class, the program can get the + InventoryObject designated by the specified uuid. If the value for the corresponding + UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). + If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), + the uuid parameter is ignored. + + The UUID of the InventoryObject to get or set, ignored if set to non-null value. + The InventoryObject corresponding to uuid. + + + + The root folder of this avatars inventory + + + + + The default shared library folder + + + + + The root node of the avatars inventory + + + + + The root node of the default shared library + + + + Raises the InventoryObjectUpdated Event + A InventoryObjectUpdatedEventArgs object containing + the data sent from the simulator + + + Raises the InventoryObjectRemoved Event + A InventoryObjectRemovedEventArgs object containing + the data sent from the simulator + + + Raises the InventoryObjectAdded Event + A InventoryObjectAddedEventArgs object containing + the data sent from the simulator + + + + Returns the contents of the specified folder + + A folder's UUID + The contents of the folder corresponding to folder + When folder does not exist in the inventory - - Agent moving head side to side with unhappy expression + + + Updates the state of the InventoryNode and inventory data structure that + is responsible for the InventoryObject. If the item was previously not added to inventory, + it adds the item, and updates structure accordingly. If it was, it updates the + InventoryNode, changing the parent node if item.parentUUID does + not match node.Parent.Data.UUID. + You can not set the inventory root folder using this method + + The InventoryObject to store - - Agent taunting another + + + Removes the InventoryObject and all related node data from Inventory. + + The InventoryObject to remove. - - + + + Used to find out if Inventory contains the InventoryObject + specified by uuid. + + The UUID to check. + true if inventory contains uuid, false otherwise - - Agent giving peace sign + + + Saves the current inventory structure to a cache file + + Name of the cache file to save to - - Agent pointing at self + + + Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + + Name of the cache file to load + The number of inventory items sucessfully reconstructed into the inventory node tree - - Agent pointing at another + + Sort by name - - Agent preparing for jump (bending knees) + + Sort by date - - Agent punching with left hand + + Sort folders by name, regardless of whether items are + sorted by name or date - - Agent punching with right hand + + Place system folders at the top - - Agent acting repulsed + + + Possible destinations for DeRezObject request + - - Agent trying to be Chuck Norris + + + - - Rocks, Paper, Scissors 1, 2, 3 + + Copy from in-world to agent inventory - - Agent with hand flat over other hand + + Derez to TaskInventory - - Agent with fist over other hand + + + - - Agent with two fingers spread over other hand + + Take Object - - Agent running + + + - - Agent appearing sad + + Delete Object - - Agent saluting + + Put an avatar attachment into agent inventory - - Agent shooting bow (left handed) + + + - - Agent cupping mouth as if shouting + + Return an object back to the owner's inventory - - Agent shrugging shoulders + + Return a deeded object back to the last owner's inventory - - Agent in sit position + + + Upper half of the Flags field for inventory items + - - Agent in sit position (feminine) + + Indicates that the NextOwner permission will be set to the + most restrictive set of permissions found in the object set + (including linkset items and object inventory items) on next rez - - Agent in sit position (generic) + + Indicates that the object sale information has been + changed - - Agent sitting on ground + + If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez - - Agent sitting on ground + + If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez - - + + If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez - - Agent sleeping on side + + If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez - - Agent smoking + + If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez - - Agent inhaling smoke + + Indicates whether this object is composed of multiple + items or not - - + + Indicates that the asset is only referenced by this + inventory item. If this item is deleted or updated to reference a + new assetID, the asset can be deleted - - Agent taking a picture + + + Base Class for Inventory Items + - - Agent standing + + + Constructor, takes an itemID as a parameter + + The of the item - - Agent standing up + + + + + - - Agent standing + + + of item/folder - - Agent standing + + + of parent folder - - Agent standing + + Name of item/folder - - Agent standing + + Item/Folder Owners - - Agent stretching + + + + + - - Agent in stride (fast walk) + + + Generates a number corresponding to the value of the object to support the use of a hash table, + suitable for use in hashing algorithms and data structures such as a hash table + + A Hashcode of all the combined InventoryBase fields - - Agent surfing + + + Determine whether the specified object is equal to the current object + + InventoryBase object to compare against + true if objects are the same - - Agent acting surprised + + + Determine whether the specified object is equal to the current object + + InventoryBase object to compare against + true if objects are the same - - Agent striking with a sword + + + An Item in Inventory + - - Agent talking (lips moving) + + + Construct a new InventoryItem object + + The of the item - - Agent throwing a tantrum + + + Construct a new InventoryItem object of a specific Type + + The type of item from + + of the item - - Agent throwing an object (right handed) + + + + + - - Agent trying on a shirt + + The of this item - - Agent turning to the left + + The combined of this item - - Agent turning to the right + + The type of item from - - Agent typing + + The type of item from the enum - - Agent walking + + The of the creator of this item + + + A Description of this item - - Agent whispering + + The s this item is set to or owned by - - Agent whispering with fingers in mouth + + If true, item is owned by a group - - Agent winking + + The price this item can be purchased for - - Agent winking + + The type of sale from the enum - - Agent worried + + Combined flags from - - Agent nodding yes + + Time and date this inventory item was created, stored as + UTC (Coordinated Universal Time) - - Agent nodding yes with happy face + + Used to update the AssetID in requests sent to the server - - Agent floating with legs and arms crossed + + The of the previous owner of the item - + - A dictionary containing all pre-defined animations + Indicates inventory item is a link - A dictionary containing the pre-defined animations, - where the key is the animations ID, and the value is a string - containing a name to identify the purpose of the animation + True if inventory item is a link to another inventory item - + - Represents an that represents an avatars body ie: Hair, Etc. + + - - Initializes a new instance of an AssetBodyPart object - - - Initializes a new instance of an AssetBodyPart object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - Initializes a new instance of an AssetBodyPart object with parameters - A string representing the values of the Bodypart - - - Override the base classes AssetType - - + - Archives assets + Generates a number corresponding to the value of the object to support the use of a hash table. + Suitable for use in hashing algorithms and data structures such as a hash table + A Hashcode of all the combined InventoryItem fields - + - Archive assets + Compares an object + The object to compare + true if comparison object matches - + - Archive the assets given to this archiver to the given archive. + Determine whether the specified object is equal to the current object - + The object to compare against + true if objects are the same - + - Write an assets metadata file to the given archive + Determine whether the specified object is equal to the current object - + The object to compare against + true if objects are the same - + - Write asset data files to the given archive + InventoryTexture Class representing a graphical image - + - + - + Construct an InventoryTexture object + A which becomes the + objects AssetUUID - - OK - - - Transfer completed - - - - - - - - - Unknown error occurred - - - Equivalent to a 404 error - - - Client does not have permission for that resource - - - Unknown status - - + - + Construct an InventoryTexture object from a serialization stream - - - - - Unknown - - - Virtually all asset transfers use this channel + + + InventorySound Class representing a playable sound + - + - + Construct an InventorySound object + A which becomes the + objects AssetUUID - - + + + Construct an InventorySound object from a serialization stream + - - Asset from the asset server + + + InventoryCallingCard Class, contains information on another avatar + - - Inventory item + + + Construct an InventoryCallingCard object + + A which becomes the + objects AssetUUID - - Estate asset, such as an estate covenant + + + Construct an InventoryCallingCard object from a serialization stream + - + - + InventoryLandmark Class, contains details on a specific location - - + + + Construct an InventoryLandmark object + + A which becomes the + objects AssetUUID - - + + + Construct an InventoryLandmark object from a serialization stream + - - + + + Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited + - + - + InventoryObject Class contains details on a primitive or coalesced set of primitives - - + + + Construct an InventoryObject object + + A which becomes the + objects AssetUUID - - + + + Construct an InventoryObject object from a serialization stream + - + - Image file format + Gets or sets the upper byte of the Flags value - + - + Gets or sets the object attachment point, the lower byte of the Flags value - - Number of milliseconds passed since the last transfer - packet was received + + + InventoryNotecard Class, contains details on an encoded text document + - + - + Construct an InventoryNotecard object + A which becomes the + objects AssetUUID - + - + Construct an InventoryNotecard object from a serialization stream - + - + InventoryCategory Class + TODO: Is this even used for anything? - + - + Construct an InventoryCategory object + A which becomes the + objects AssetUUID - + - + Construct an InventoryCategory object from a serialization stream - + - + InventoryLSL Class, represents a Linden Scripting Language object - - - - - + - + Construct an InventoryLSL object + A which becomes the + objects AssetUUID - - Number of milliseconds to wait for a transfer header packet if out of order data was received + + + Construct an InventoryLSL object from a serialization stream + - - The event subscribers. null if no subcribers + + + InventorySnapshot Class, an image taken with the viewer + - - Raises the XferReceived event - A XferReceivedEventArgs object containing the - data returned from the simulator + + + Construct an InventorySnapshot object + + A which becomes the + objects AssetUUID - - Thread sync lock object + + + Construct an InventorySnapshot object from a serialization stream + - - The event subscribers. null if no subcribers + + + InventoryAttachment Class, contains details on an attachable object + - - Raises the AssetUploaded event - A AssetUploadedEventArgs object containing the - data returned from the simulator + + + Construct an InventoryAttachment object + + A which becomes the + objects AssetUUID - - Thread sync lock object + + + Construct an InventoryAttachment object from a serialization stream + - - The event subscribers. null if no subcribers + + + Get the last AttachmentPoint this object was attached to + - - Raises the UploadProgress event - A UploadProgressEventArgs object containing the - data returned from the simulator + + + InventoryWearable Class, details on a clothing item or body part + - - Thread sync lock object + + + Construct an InventoryWearable object + + A which becomes the + objects AssetUUID - - The event subscribers. null if no subcribers + + + Construct an InventoryWearable object from a serialization stream + - - Raises the InitiateDownload event - A InitiateDownloadEventArgs object containing the - data returned from the simulator + + + The , Skin, Shape, Skirt, Etc + - - Thread sync lock object + + + InventoryAnimation Class, A bvh encoded object which animates an avatar + - - The event subscribers. null if no subcribers + + + Construct an InventoryAnimation object + + A which becomes the + objects AssetUUID - - Raises the ImageReceiveProgress event - A ImageReceiveProgressEventArgs object containing the - data returned from the simulator + + + Construct an InventoryAnimation object from a serialization stream + - - Thread sync lock object + + + InventoryGesture Class, details on a series of animations, sounds, and actions + - - Texture download cache + + + Construct an InventoryGesture object + + A which becomes the + objects AssetUUID - + - Default constructor + Construct an InventoryGesture object from a serialization stream - A reference to the GridClient object - + - Request an asset download + A folder contains s and has certain attributes specific + to itself - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - The callback to fire when the simulator responds with the asset data - + - Request an asset download + Constructor - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - The callback to fire when the simulator responds with the asset data + UUID of the folder - + - Request an asset download + Construct an InventoryFolder object from a serialization stream - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - UUID of the transaction - The callback to fire when the simulator responds with the asset data - + + The Preferred for a folder. + + + The Version of this folder + + + Number of child items this folder contains. + + - Request an asset download through the almost deprecated Xfer system - Filename of the asset to request - Whether or not to delete the asset - off the server after it is retrieved - Use large transfer packets or not - UUID of the file to request, if filename is - left empty - Asset type of vFileID, or - AssetType.Unknown if filename is not empty - Sets the FilePath in the request to Cache - (4) if true, otherwise Unknown (0) is used - + + - + - + Get Serilization data for this InventoryFolder object - Use UUID.Zero if you do not have the - asset ID but have all the necessary permissions - The item ID of this asset in the inventory - Use UUID.Zero if you are not requesting an - asset from an object inventory - The owner of this asset - Asset type - Whether to prioritize this asset download or not - - + - Used to force asset data into the PendingUpload property, ie: for raw terrain uploads - An AssetUpload object containing the data to upload to the simulator + + - + - Request an asset be uploaded to the simulator - The Object containing the asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired + + + + - + - Request an asset be uploaded to the simulator - The of the asset being uploaded - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired + + + + - + - Request an asset be uploaded to the simulator - - Asset type to upload this data as - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired + + + + - + - Initiate an asset upload + Tools for dealing with agents inventory - The ID this asset will have if the - upload succeeds - Asset type to upload this data as - Raw asset data to upload - Whether to store this asset on the local - simulator or the grid-wide asset server - The tranaction id for the upload - The transaction ID of this transfer - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress - transfer. - A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority - indicating an off-by-one error. - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - Request an image and fire a callback when the request is complete - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - - Request an image and use an inline anonymous method to handle the downloaded texture data - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - ); - - Request a texture, decode the texture to a bitmap image and apply it to a imagebox - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - ManagedImage imgData; - Image bitmap; - - if (state == TextureRequestState.Finished) - { - OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); - picInsignia.Image = bitmap; - } - } - } - - + + + Default constructor + + Reference to the GridClient object - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + Callback for inventory item creation finishing - The of the texture asset to download - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data + Whether the request to create an inventory + item succeeded or not + Inventory item being created. If success is + false this will be null - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + Callback for an inventory item being create from an uploaded asset - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data + true if inventory item creation was successful + + + + + + - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request + + - + - Cancel a texture request + Reply received when uploading an inventory asset - The texture assets + Has upload been successful + Error message if upload failed + Inventory asset UUID + New asset UUID - + - Lets TexturePipeline class fire the progress event + Delegate that is invoked when script upload is completed - The texture ID currently being downloaded - the number of bytes transferred - the total number of bytes expected + Has upload succeded (note, there still might be compile errors) + Upload status message + Is compilation successful + If compilation failed, list of error messages, null on compilation success + Script inventory UUID + Script's new asset UUID - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Used for converting shadow_id to asset_id - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers, null of no subscribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers, null of no subscribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers, null of no subscribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers, null of no subscribers - - Raised when the simulator responds sends + + Thread sync lock object - - Raised during upload completes + + The event subscribers, null of no subscribers - - Raised during upload with progres update + + Thread sync lock object - - Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files + + The event subscribers, null of no subscribers - - Fired when a texture is in the process of being downloaded by the TexturePipeline class + + Thread sync lock object - - - Callback used for various asset download requests - - Transfer information - Downloaded asset, null on fail + + The event subscribers, null of no subscribers - - - Callback used upon competition of baked texture upload - - Asset UUID of the newly uploaded baked texture + + Thread sync lock object - - Xfer data + + The event subscribers, null of no subscribers - - Upload data + + Thread sync lock object - - Filename used on the simulator + + Partial mapping of AssetTypes to folder names - - Filename used by the client + + Raised when the simulator sends us data containing + ... - - UUID of the image that is in progress + + Raised when the simulator sends us data containing + ... - - Number of bytes received so far + + Raised when the simulator sends us data containing + an inventory object sent by another avatar or primitive - - Image size in bytes + + Raised when the simulator sends us data containing + ... - - - - + + Raised when the simulator sends us data containing + ... - - The event subscribers, null of no subscribers + + Raised when the simulator sends us data containing + ... - - Raises the AttachedSound Event - A AttachedSoundEventArgs object containing - the data sent from the simulator + + Raised when the simulator sends us data containing + ... - - Thread sync lock object + + Raised when the simulator sends us data containing + ... - - The event subscribers, null of no subscribers + + + Get this agents Inventory data + - - Raises the AttachedSoundGainChange Event - A AttachedSoundGainChangeEventArgs object containing - the data sent from the simulator + + Raises the ItemReceived Event + A ItemReceivedEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the FolderUpdated Event + A FolderUpdatedEventArgs object containing + the data sent from the simulator - - The event subscribers, null of no subscribers + + Raises the InventoryObjectOffered Event + A InventoryObjectOfferedEventArgs object containing + the data sent from the simulator - - Raises the SoundTrigger Event - A SoundTriggerEventArgs object containing - the data sent from the simulator + + Raises the TaskItemReceived Event + A TaskItemReceivedEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the FindObjectByPath Event + A FindObjectByPathEventArgs object containing + the data sent from the simulator - - The event subscribers, null of no subscribers + + Raises the TaskInventoryReply Event + A TaskInventoryReplyEventArgs object containing + the data sent from the simulator - - Raises the PreloadSound Event - A PreloadSoundEventArgs object containing - the data sent from the simulator + + Raises the SaveAssetToInventory Event + A SaveAssetToInventoryEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the ScriptRunningReply Event + A ScriptRunningReplyEventArgs object containing + the data sent from the simulator - + - Construct a new instance of the SoundManager class, used for playing and receiving - sound assets + Fetch an inventory item from the dataserver - A reference to the current GridClient instance + The items + The item Owners + a integer representing the number of milliseconds to wait for results + An object on success, or null if no item was found + Items will also be sent to the event - + - Plays a sound in the current region at full volume from avatar position + Request A single inventory item - UUID of the sound to be played + The items + The item Owners + - + - Plays a sound in the current region at full volume + Request inventory items - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. + Inventory items to request + Owners of the inventory items + - + - Plays a sound in the current region + Get contents of a folder - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 + The of the folder to search + The of the folders owner + true to retrieve folders + true to retrieve items + sort order to return results in + a integer representing the number of milliseconds to wait for results + A list of inventory items matching search criteria within folder + + InventoryFolder.DescendentCount will only be accurate if both folders and items are + requested - + - Plays a sound in the specified sim + Request the contents of an inventory folder - UUID of the sound to be played. - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 + The folder to search + The folder owners + true to return s contained in folder + true to return s containd in folder + the sort order to return items in + - + - Play a sound asset + Returns the UUID of the folder (category) that defaults to + containing 'type'. The folder is not necessarily only for that + type - UUID of the sound to be played. - handle id for the sim to be played in. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + This will return the root folder if one does not exist + + + The UUID of the desired folder if found, the UUID of the RootFolder + if not found, or UUID.Zero on failure - - Raised when the simulator sends us data containing - sound + + + Find an object in inventory using a specific path to search + + The folder to begin the search in + The object owners + A string path to search + milliseconds to wait for a reply + Found items or if + timeout occurs or item is not found - - Raised when the simulator sends us data containing - ... + + + Find inventory items by path + + The folder to begin the search in + The object owners + A string path to search, folders/objects separated by a '/' + Results are sent to the event - - Raised when the simulator sends us data containing - ... + + + Search inventory Store object for an item or folder + + The folder to begin the search in + An array which creates a path to search + Number of levels below baseFolder to conduct searches + if True, will stop searching after first match is found + A list of inventory items found - - Raised when the simulator sends us data containing - ... + + + Move an inventory item or folder to a new location + + The item or folder to move + The to move item or folder to - - Provides data for the event - The event occurs when the simulator sends - the sound data which emits from an agents attachment - - The following code example shows the process to subscribe to the event - and a stub to handle the data passed from the simulator - - // Subscribe to the AttachedSound event - Client.Sound.AttachedSound += Sound_AttachedSound; - - // process the data raised in the event here - private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) - { - // ... Process AttachedSoundEventArgs here ... - } - - + + + Move an inventory item or folder to a new location and change its name + + The item or folder to move + The to move item or folder to + The name to change the item or folder to - + - Construct a new instance of the SoundTriggerEventArgs class + Move and rename a folder - The sound asset id - The ID of the owner - The ID of the object - The volume level - The + The source folders + The destination folders + The name to change the folder to - - Get the sound asset id + + + Update folder properties + + + of the folder to update + Sets folder's parent to + Folder name + Folder type - - Get the ID of the owner + + + Move a folder + + The source folders + The destination folders - - Get the ID of the Object + + + Move multiple folders, the keys in the Dictionary parameter, + to a new parents, the value of that folder's key. + + A Dictionary containing the + of the source as the key, and the + of the destination as the value - - Get the volume level + + + Move an inventory item to a new folder + + The of the source item to move + The of the destination folder - - Get the + + + Move and rename an inventory item + + The of the source item to move + The of the destination folder + The name to change the folder to - - Provides data for the event - The event occurs when an attached sound - changes its volume level + + + Move multiple inventory items to new locations + + A Dictionary containing the + of the source item as the key, and the + of the destination folder as the value - + - Construct a new instance of the AttachedSoundGainChangedEventArgs class + Remove descendants of a folder - The ID of the Object - The new volume level + The of the folder - - Get the ID of the Object + + + Remove a single item from inventory + + The of the inventory item to remove - - Get the volume level + + + Remove a folder from inventory + + The of the folder to remove - - Provides data for the event - The event occurs when the simulator forwards - a request made by yourself or another agent to play either an asset sound or a built in sound - - Requests to play sounds where the is not one of the built-in - will require sending a request to download the sound asset before it can be played - - - The following code example uses the , - and - properties to display some information on a sound request on the window. - - // subscribe to the event - Client.Sound.SoundTrigger += Sound_SoundTrigger; - - // play the pre-defined BELL_TING sound - Client.Sound.SendSoundTrigger(Sounds.BELL_TING); - - // handle the response data - private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) - { - Console.WriteLine("{0} played the sound {1} at volume {2}", - e.OwnerID, e.SoundID, e.Gain); - } - - - - + - Construct a new instance of the SoundTriggerEventArgs class + Remove multiple items or folders from inventory - The sound asset id - The ID of the owner - The ID of the object - The ID of the objects parent - The volume level - The regionhandle - The source position + A List containing the s of items to remove + A List containing the s of the folders to remove - - Get the sound asset id + + + Empty the Lost and Found folder + - - Get the ID of the owner + + + Empty the Trash folder + - - Get the ID of the Object + + + + + + + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + + + + - - Get the ID of the objects parent + + + + + + + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + + + + + + - - Get the volume level + + + Creates a new inventory folder + + ID of the folder to put this folder in + Name of the folder to create + The UUID of the newly created folder - - Get the regionhandle + + + Creates a new inventory folder + + ID of the folder to put this folder in + Name of the folder to create + Sets this folder as the default folder + for new assets of the specified type. Use AssetType.Unknown + to create a normal folder, otherwise it will likely create a + duplicate of an existing folder type + The UUID of the newly created folder + If you specify a preferred type of AsseType.Folder + it will create a new root folder which may likely cause all sorts + of strange problems - - Get the source position + + + Create an inventory item and upload asset data + + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Delegate that will receive feedback on success or failure - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - + + + Create an inventory item and upload asset data + + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Permission of the newly created item + (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) + Delegate that will receive feedback on success or failure - + - Construct a new instance of the PreloadSoundEventArgs class + Creates inventory link to another inventory item or folder - The sound asset id - The ID of the owner - The ID of the object + Put newly created link in folder with this UUID + Inventory item or folder + Method to call upon creation of the link - - Get the sound asset id + + + Creates inventory link to another inventory item + + Put newly created link in folder with this UUID + Original inventory item + Method to call upon creation of the link - - Get the ID of the owner + + + Creates inventory link to another inventory folder + + Put newly created link in folder with this UUID + Original inventory folder + Method to call upon creation of the link - - Get the ID of the Object + + + Creates inventory link to another inventory item or folder + + Put newly created link in folder with this UUID + Original item's UUID + Name + Description + Asset Type + Inventory Type + Transaction UUID + Method to call upon creation of the link - + - Class for controlling various system settings. - Some values are readonly because they affect things that - happen when the GridClient object is initialized, so changing them at - runtime won't do any good. Non-readonly values may affect things that - happen at login or dynamically + + + + + + + + - - Main grid login server + + + + + + + + + + + + + - - Beta grid login server + + + + + + + + + + + + + - + + + Request a copy of an asset embedded within a notecard + + Usually UUID.Zero for copying an asset from a notecard + UUID of the notecard to request an asset from + Target folder for asset to go to in your inventory + UUID of the embedded asset + callback to run when item is copied to inventory + + - InventoryManager requests inventory information on login, - GridClient initializes an Inventory store for main inventory. + + - + - InventoryManager requests library information on login, - GridClient initializes an Inventory store for the library. + + - - Number of milliseconds between sending pings to each sim - - - Number of milliseconds between sending camera updates - - - Number of milliseconds between updating the current - positions of moving, non-accelerating and non-colliding objects + + + + + + + - - Millisecond interval between ticks, where all ACKs are - sent out and the age of unACKed packets is checked + + + + + + + + + - - The initial size of the packet inbox, where packets are - stored before processing + + + Save changes to notecard embedded in object contents + + Encoded notecard asset data + Notecard UUID + Object's UUID + Called upon finish of the upload with status information - - Maximum size of packet that we want to send over the wire + + + Upload new gesture asset for an inventory gesture item + + Encoded gesture asset + Gesture inventory UUID + Callback whick will be called when upload is complete - - The maximum value of a packet sequence number before it - rolls over back to one + + + Update an existing script in an agents Inventory + + A byte[] array containing the encoded scripts contents + the itemID of the script + if true, sets the script content to run on the mono interpreter + + - - The maximum size of the sequence number archive, used to - check for resent and/or duplicate packets + + + Update an existing script in an task Inventory + + A byte[] array containing the encoded scripts contents + the itemID of the script + UUID of the prim containting the script + if true, sets the script content to run on the mono interpreter + if true, sets the script to running + + - - The relative directory where external resources are kept + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details - - Login server to connect to + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object - - IP Address the client will bind to + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object + User defined queryID to correlate replies + If set to true, the CreateSelected flag + will be set on the rezzed object - - Use XML-RPC Login or LLSD Login, default is XML-RPC Login + + + DeRez an object from the simulator to the agents Objects folder in the agents Inventory + + The simulator Local ID of the object + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - Number of milliseconds before an asset transfer will time - out + + + DeRez an object from the simulator and return to inventory + + The simulator Local ID of the object + The type of destination from the enum + The destination inventory folders -or- + if DeRezzing object to a tasks Inventory, the Tasks + The transaction ID for this request which + can be used to correlate this request with other packets + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - Number of milliseconds before a teleport attempt will time - out + + + Rez an item from inventory to its previous simulator location + + + + + + + + + - - Number of milliseconds before NetworkManager.Logout() will - time out + + + Give an inventory item to another avatar + + The of the item to give + The name of the item + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer - - Number of milliseconds before a CAPS call will time out - Setting this too low will cause web requests time out and - possibly retry repeatedly + + + Give an inventory Folder with contents to another avatar + + The of the Folder to give + The name of the folder + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer - - Number of milliseconds for xml-rpc to timeout + + + Copy or move an from agent inventory to a task (primitive) inventory + + The target object + The item to copy or move from inventory + + + For items with copy permissions a copy of the item is placed in the tasks inventory, + for no-copy items the object is moved to the tasks inventory - - Milliseconds before a packet is assumed lost and resent + + + Retrieve a listing of the items contained in a task (Primitive) + + The tasks + The tasks simulator local ID + milliseconds to wait for reply from simulator + A list containing the inventory items inside the task or null + if a timeout occurs + This request blocks until the response from the simulator arrives + or timeoutMS is exceeded - - Milliseconds without receiving a packet before the - connection to a simulator is assumed lost + + + Request the contents of a tasks (primitives) inventory from the + current simulator + + The LocalID of the object + - - Milliseconds to wait for a simulator info request through - the grid interface + + + Request the contents of a tasks (primitives) inventory + + The simulator Local ID of the object + A reference to the simulator object that contains the object + - - Maximum number of queued ACKs to be sent before SendAcks() - is forced + + + Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory + + LocalID of the object in the simulator + UUID of the task item to move + The ID of the destination folder in this agents inventory + Simulator Object + Raises the event - - Network stats queue length (seconds) + + + Remove an item from an objects (Prim) Inventory + + LocalID of the object in the simulator + UUID of the task item to remove + Simulator Object + You can confirm the removal by comparing the tasks inventory serial before and after the + request with the request combined with + the event - - Enable to process packets synchronously, where all of the - callbacks for each packet must return before the next packet is - processed - This is an experimental feature and is not completely - reliable yet. Ideally it would reduce context switches and thread - overhead, but several calls currently block for a long time and - would need to be rewritten as asynchronous code before this is - feasible + + + Copy an InventoryScript item from the Agents Inventory into a primitives task inventory + + An unsigned integer representing a primitive being simulated + An which represents a script object from the agents inventory + true to set the scripts running state to enabled + A Unique Transaction ID + + The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory + and assumes the script exists in the agents inventory. + + uint primID = 95899503; // Fake prim ID + UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory + Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, + false, true, InventorySortOrder.ByName, 10000); + Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); + - - Enable/disable storing terrain heightmaps in the - TerrainManager + + + Request the running status of a script contained in a task (primitive) inventory + + The ID of the primitive containing the script + The ID of the script + The event can be used to obtain the results of the + request + - - Enable/disable sending periodic camera updates + + + Send a request to set the running state of a script contained in a task (primitive) inventory + + The ID of the primitive containing the script + The ID of the script + true to set the script running, false to stop a running script + To verify the change you can use the method combined + with the event - - Enable/disable automatically setting agent appearance at - login and after sim crossing + + + Create a CRC from an InventoryItem + + The source InventoryItem + A uint representing the source InventoryItem as a CRC - - Enable/disable automatically setting the bandwidth throttle - after connecting to each simulator - The default throttle uses the equivalent of the maximum - bandwidth setting in the official client. If you do not set a - throttle your connection will by default be throttled well below - the minimum values and you may experience connection problems + + + Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id + + Obfuscated shadow_id value + Deobfuscated asset_id value - - Enable/disable the sending of pings to monitor lag and - packet loss + + + Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id + + asset_id value to obfuscate + Obfuscated shadow_id value - - Should we connect to multiple sims? This will allow - viewing in to neighboring simulators and sim crossings - (Experimental) + + + Wrapper for creating a new object + + The type of item from the enum + The of the newly created object + An object with the type and id passed - - If true, all object update packets will be decoded in to - native objects. If false, only updates for our own agent will be - decoded. Registering an event handler will force objects for that - type to always be decoded. If this is disabled the object tracking - will have missing or partial prim and avatar information + + + Parse the results of a RequestTaskInventory() response + + A string which contains the data from the task reply + A List containing the items contained within the tasks inventory - - If true, when a cached object check is received from the - server the full object info will automatically be requested + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Whether to establish connections to HTTP capabilities - servers for simulators + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Whether to decode sim stats + + + UpdateCreateInventoryItem packets are received when a new inventory item + is created. This may occur when an object that's rezzed in world is + taken into inventory, when an item is created using the CreateInventoryItem + packet, or when an object is purchased + + The sender + The EventArgs object containing the packet data - - The capabilities servers are currently designed to - periodically return a 502 error which signals for the client to - re-establish a connection. Set this to true to log those 502 errors + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - If true, any reference received for a folder or item - the library is not aware of will automatically be fetched + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - If true, and SEND_AGENT_UPDATES is true, - AgentUpdate packets will continuously be sent out to give the bot - smoother movement and autopiloting + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectAvatars. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectPrimitives. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received + + Set to true to accept offer, false to decline it - - If true, position and velocity will periodically be - interpolated (extrapolated, technically) for objects and - avatars that are being tracked by the library. This is - necessary to increase the accuracy of speed and position - estimates for simulated objects + + The folder to accept the inventory into, if null default folder for will be used - + - If true, utilization statistics will be tracked. There is a minor penalty - in CPU time for enabling this option. + Callback when an inventory object is accepted and received from a + task inventory. This is the callback in which you actually get + the ItemID, as in ObjectOfferedCallback it is null when received + from a task. - - If true, parcel details will be stored in the - Simulator.Parcels dictionary as they are received - - + - If true, an incoming parcel properties reply will automatically send - a request for the parcel access list - + - if true, an incoming parcel properties reply will automatically send - a request for the traffic count. + + - + - If true, images, and other assets downloaded from the server - will be cached in a local directory + De-serialization constructor for the InventoryNode Class - - Path to store cached texture data - - - Maximum size cached files are allowed to take on disk (bytes) - - - Default color used for viewer particle effects + + + De-serialization handler for the InventoryNode Class + - - Maximum number of times to resend a failed packet + + + - - Throttle outgoing packet rate + + + - - UUID of a texture used by some viewers to indentify type of client used + + + - - The maximum number of concurrent texture downloads allowed - Increasing this number will not necessarily increase texture retrieval times due to - simulator throttles + + + - + - The Refresh timer inteval is used to set the delay between checks for stalled texture downloads + For inventory folder nodes specifies weather the folder needs to be + refreshed from the server - This is a static variable which applies to all instances - + - Textures taking longer than this value will be flagged as timed out and removed from the pipeline + Serialization handler for the InventoryNode Class - + - Get or set the minimum log level to output to the console by default - - If the library is not compiled with DEBUG defined and this level is set to DEBUG - You will get no output on the console. This behavior can be overriden by creating - a logger configuration file for log4net + + - - Attach avatar names to log messages + + + Singleton logging class for the entire library + - - Log packet retransmission info + + + Default constructor + - - Constructor - Reference to a GridClient object + + + Callback used for client apps to receive log messages from + the library + + Data being logged + The severity of the log entry from - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + log4net logging engine - - Cost of uploading an asset - Read-only since this value is dynamically fetched at login + + Triggered whenever a message is logged. If this is left + null, log messages will go to the console - + - Represents a string of characters encoded with specific formatting properties + Send a log message to the logging engine + The log message + The severity of the log entry - - A text string containing main text of the notecard - - - List of s embedded on the notecard + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Instance of the client - - Construct an Asset of type Notecard + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Exception that was raised - + - Construct an Asset object of type Notecard + Send a log message to the logging engine - A unique specific to this asset - A byte array containing the raw asset data + The log message + The severity of the log entry + Instance of the client + Exception that was raised - + - Construct an Asset object of type Notecard + If the library is compiled with DEBUG defined, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine - A text string containing the main body text of the notecard + The message to log at the DEBUG level to the + current logging engine - + - Encode the raw contents of a string with the specific Linden Text properties + If the library is compiled with DEBUG defined and + GridClient.Settings.DEBUG is true, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine + The message to log at the DEBUG level to the + current logging engine + Instance of the client - + - Decode the raw asset data including the Linden Text properties - true if the AssetData was successfully decoded - - Override the base classes AssetType - - + - Capabilities is the name of the bi-directional HTTP REST protocol - used to communicate non real-time transactions such as teleporting or - group messaging - - Reference to the simulator this system is connected to - - + - Default constructor - - - + - Request the URI of a named capability - Name of the capability to request - The URI of the requested capability, or String.Empty if - the capability does not exist - + - Process any incoming events, check to see if we have a message created for the event, - - - - - Capabilities URI this system was initialized with - - - Whether the capabilities event queue is connected and - listening for incoming events - + - Triggered when an event is received via the EventQueueGet - capability - Event name - Decoded event data - The simulator that generated the event - + - Level of Detail mesh - + - Return a decoded capabilities message as a strongly typed object - A string containing the name of the capabilities message key - An to decode - A strongly typed object containing the decoded information from the capabilities message, or null - if no existing Message object exists for the specified event - + - + Login Request Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + Default constuctor, initializes sane default values - - - - - - - - - - - - - + - + Instantiates new LoginParams object and fills in the values - - + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number - + - + Instantiates new LoginParams object and fills in the values + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number + URI of the login server - - + + The URL of the Login Server - - + + The number of milliseconds to wait before a login is considered + failed due to timeout - - + + The request method + login_to_simulator is currently the only supported method - - + + The Agents First name - - - - - - + + The Agents Last name - - - - + + A md5 hashed password + plaintext password will be automatically hashed - - + + The agents starting location once logged in + Either "last", "home", or a string encoded URI + containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 - - + + A string containing the client software channel information + Second Life Release - - + + The client software version information + The official viewer uses: Second Life Release n.n.n.n + where n is replaced with the current version of the viewer - - + + A string containing the platform information the agent is running on - - + + A string hash of the network cards Mac Address - - + + Unknown or deprecated - - - - + + A string hash of the first disk drives ID used to identify this clients uniqueness - - + + A string containing the viewers Software, this is not directly sent to the login server but + instead is used to generate the Version string - - + + A string representing the software creator. This is not directly sent to the login server but + is used by the library to generate the Version information - - + + If true, this agent agrees to the Terms of Service of the grid its connecting to - - + + Unknown - - + + An array of string sent to the login server to enable various options - - - - - - + + A randomly generated ID to distinguish between login attempts. This value is only used + internally in the library and is never sent over the wire - + - + The decoded data returned from the login server after a successful login - - - - - - - - + + true, false, indeterminate - - - - - - - + + Login message of the day - + + M or PG, also agent_region_access and agent_access_max + + - + Parse LLSD Login Reply Data + An + contaning the login response data + XML-RPC logins do not require this as XML-RPC.NET + automatically populates the struct properly using attributes - + - + Login Routines - - - - - + NetworkManager is responsible for managing the network layer of + OpenMetaverse. It tracks all the server connections, serializes + outgoing traffic and deserializes incoming traffic, and provides + instances of delegates for network-related events. - - - + - + Default constructor - + Reference to the GridClient object - + - + Explains why a simulator or the grid disconnected from us - - + + The client requested the logout or simulator disconnect - - + + The server notified us that it is disconnecting - - + + Either a socket was closed or network traffic timed out - - + + The last active simulator shut down - - + + + Holds a simulator reference and a decoded packet, these structs are put in + the packet inbox for event handling + - - + + Reference to the simulator that this packet came from - - + + Packet that needs to be processed - + - Login Request Parameters + Holds a simulator reference and a serialized packet, these structs are put in + the packet outbox for sending - - The URL of the Login Server + + Reference to the simulator this packet is destined for - - The number of milliseconds to wait before a login is considered - failed due to timeout + + Packet that needs to be sent - - The request method - login_to_simulator is currently the only supported method + + Sequence number of the wrapped packet + + + Number of times this packet has been resent - - The Agents First name + + Environment.TickCount when this packet was last sent over the wire - - The Agents Last name + + + + + + + + + + + + + - - A md5 hashed password - plaintext password will be automatically hashed + + The event subscribers, null of no subscribers - - The agents starting location once logged in - Either "last", "home", or a string encoded URI - containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 + + Thread sync lock object - - A string containing the client software channel information - Second Life Release + + Seed CAPS URL returned from the login server - - The client software version information - The official viewer uses: Second Life Release n.n.n.n - where n is replaced with the current version of the viewer + + A list of packets obtained during the login process which + networkmanager will log but not process - - A string containing the platform information the agent is running on + + The event subscribers, null of no subscribers - - A string hash of the network cards Mac Address + + Thread sync lock object - - Unknown or deprecated + + The event subscribers, null of no subscribers - - A string hash of the first disk drives ID used to identify this clients uniqueness + + Thread sync lock object - - A string containing the viewers Software, this is not directly sent to the login server but - instead is used to generate the Version string + + The event subscribers, null of no subscribers - - A string representing the software creator. This is not directly sent to the login server but - is used by the library to generate the Version information + + Thread sync lock object - - If true, this agent agrees to the Terms of Service of the grid its connecting to + + The event subscribers, null of no subscribers - - Unknown + + Thread sync lock object - - An array of string sent to the login server to enable various options + + The event subscribers, null of no subscribers - - A randomly generated ID to distinguish between login attempts. This value is only used - internally in the library and is never sent over the wire + + Thread sync lock object - - - The decoded data returned from the login server after a successful login - + + The event subscribers, null of no subscribers - - true, false, indeterminate + + Thread sync lock object - - Login message of the day + + The event subscribers, null of no subscribers - - M or PG, also agent_region_access and agent_access_max + + Thread sync lock object - - - Parse LLSD Login Reply Data - - An - contaning the login response data - XML-RPC logins do not require this as XML-RPC.NET - automatically populates the struct properly using attributes + + The event subscribers, null of no subscribers - - Sort by name + + Thread sync lock object - - Sort by date + + All of the simulators we are currently connected to - - Sort folders by name, regardless of whether items are - sorted by name or date + + Handlers for incoming capability events - - Place system folders at the top + + Handlers for incoming packets - - - Possible destinations for DeRezObject request - + + Incoming packets that are awaiting handling - - + + Outgoing packets that are awaiting handling - - Copy from in-world to agent inventory + + Raised when the simulator sends us data containing + ... - - Derez to TaskInventory + + Called when a reply is received from the login server, the + login sequence will block until this event returns - - + + Raised when the simulator sends us data containing + ... - - Take Object + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - - Delete Object + + Raised when the simulator sends us data containing + ... - - Put an avatar attachment into agent inventory + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - - Return an object back to the owner's inventory + + Raised when the simulator sends us data containing + ... - - Return a deeded object back to the last owner's inventory + + Raised when the simulator sends us data containing + ... - - - Upper half of the Flags field for inventory items - + + Current state of logging in - - Indicates that the NextOwner permission will be set to the - most restrictive set of permissions found in the object set - (including linkset items and object inventory items) on next rez + + Upon login failure, contains a short string key for the + type of login error that occurred - - Indicates that the object sale information has been - changed + + The raw XML-RPC reply from the login server, exactly as it + was received (minus the HTTP header) - - If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez + + During login this contains a descriptive version of + LoginStatusCode. After a successful login this will contain the + message of the day, and after a failed login a descriptive error + message will be returned - - If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez + + Unique identifier associated with our connections to + simulators - - If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez + + The simulator that the logged in avatar is currently + occupying - - If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez + + Shows whether the network layer is logged in to the + grid or not - - If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez + + Number of packets in the incoming queue - - Indicates whether this object is composed of multiple - items or not + + Number of packets in the outgoing queue - - Indicates that the asset is only referenced by this - inventory item. If this item is deleted or updated to reference a - new assetID, the asset can be deleted + + Raises the LoginProgress Event + A LoginProgressEventArgs object containing + the data sent from the simulator - + - Base Class for Inventory Items + Generate sane default values for a login request + Account first name + Account last name + Account password + Client application name + Client application version + A populated struct containing + sane defaults - - of item/folder - - - of parent folder - - - Name of item/folder - - - Item/Folder Owners + + + Simplified login that takes the most common and required fields + + Account first name + Account last name + Account password + Client application name + Client application version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - + - Constructor, takes an itemID as a parameter + Simplified login that takes the most common fields along with a + starting location URI, and can accept an MD5 string instead of a + plaintext password - The of the item + Account first name + Account last name + Account password or MD5 hash of the password + such as $1$1682a1e45e9f957dcdf0bb56eb43319c + Client application name + Starting location URI that can be built with + StartLocation() + Client application version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - + - + Login that takes a struct of all the values that will be passed to + the login server - + The values that will be passed to the login + server, all fields must be set even if they are String.Empty + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - + - + Build a start location URI for passing to the Login function - + Name of the simulator to start in + X coordinate to start at + Y coordinate to start at + Z coordinate to start at + String with a URI that can be used to login to a specified + location - + - Generates a number corresponding to the value of the object to support the use of a hash table, - suitable for use in hashing algorithms and data structures such as a hash table + Handles response from XML-RPC login replies - A Hashcode of all the combined InventoryBase fields - + - Determine whether the specified object is equal to the current object + Handle response from LLSD login replies - InventoryBase object to compare against - true if objects are the same + + + + + + - + - Determine whether the specified object is equal to the current object + Get current OS - InventoryBase object to compare against - true if objects are the same + Either "Win" or "Linux" - + - An Item in Inventory + Get clients default Mac Address + A string containing the first found Mac Address - - The of this item + + Raises the PacketSent Event + A PacketSentEventArgs object containing + the data sent from the simulator - - The combined of this item + + Raises the LoggedOut Event + A LoggedOutEventArgs object containing + the data sent from the simulator - - The type of item from + + Raises the SimConnecting Event + A SimConnectingEventArgs object containing + the data sent from the simulator - - The type of item from the enum + + Raises the SimConnected Event + A SimConnectedEventArgs object containing + the data sent from the simulator - - The of the creator of this item + + Raises the SimDisconnected Event + A SimDisconnectedEventArgs object containing + the data sent from the simulator - - A Description of this item + + Raises the Disconnected Event + A DisconnectedEventArgs object containing + the data sent from the simulator - - The s this item is set to or owned by + + Raises the SimChanged Event + A SimChangedEventArgs object containing + the data sent from the simulator - - If true, item is owned by a group + + Raises the EventQueueRunning Event + A EventQueueRunningEventArgs object containing + the data sent from the simulator - - The price this item can be purchased for + + + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + + Packet type to trigger events for + Callback to fire when a packet of this type + is received - - The type of sale from the enum + + + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + + Packet type to trigger events for + Callback to fire when a packet of this type + is received + True if the callback should be ran + asynchronously. Only set this to false (synchronous for callbacks + that will always complete quickly) + If any callback for a packet type is marked as + asynchronous, all callbacks for that packet type will be fired + asynchronously - - Combined flags from + + + Unregister an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + + Packet type this callback is registered with + Callback to stop firing events for - - Time and date this inventory item was created, stored as - UTC (Coordinated Universal Time) + + + Register a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library + + Name of the CAPS event to register a handler for + Callback to fire when a CAPS event is received - - Used to update the AssetID in requests sent to the server + + + Unregister a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library + + Name of the CAPS event this callback is + registered with + Callback to stop firing events for - - The of the previous owner of the item + + + Send a packet to the simulator the avatar is currently occupying + + Packet to send - + - Construct a new InventoryItem object + Send a packet to a specified simulator - The of the item + Packet to send + Simulator to send the packet to - + - Construct a new InventoryItem object of a specific Type + Connect to a simulator - The type of item from - of the item + IP address to connect to + Port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null - + - Indicates inventory item is a link + Connect to a simulator - True if inventory item is a link to another inventory item + IP address and port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null - + - + Initiate a blocking logout request. This will return when the logout + handshake has completed or when Settings.LOGOUT_TIMEOUT + has expired and the network layer is manually shut down - - + - + Initiate the logout process. Check if logout succeeded with the + OnLogoutReply event, and if this does not fire the + Shutdown() function needs to be manually called - - + - Generates a number corresponding to the value of the object to support the use of a hash table. - Suitable for use in hashing algorithms and data structures such as a hash table + Close a connection to the given simulator - A Hashcode of all the combined InventoryItem fields + + + + - + - Compares an object + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout + Type of shutdown + + + + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout + Type of shutdown + Shutdown message + + + + Searches through the list of currently connected simulators to find + one attached to the given IPEndPoint - The object to compare - true if comparison object matches + IPEndPoint of the Simulator to search for + A Simulator reference on success, otherwise null + + + + Fire an event when an event queue connects for capabilities + + Simulator the event queue is attached to + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Determine whether the specified object is equal to the current object + A Name Value pair with additional settings, used in the protocol + primarily to transmit avatar names and active group in object packets - The object to compare against - true if objects are the same - + - Determine whether the specified object is equal to the current object + Constructor that takes all the fields as parameters - The object to compare against - true if objects are the same + + + + + + + + + + - + - InventoryTexture Class representing a graphical image + Constructor that takes a single line from a NameValue field - + + - - - Construct an InventoryTexture object - - A which becomes the - objects AssetUUID + + Type of the value - - - Construct an InventoryTexture object from a serialization stream - + + Unknown - - - InventorySound Class representing a playable sound - + + String value - + - Construct an InventorySound object - A which becomes the - objects AssetUUID - + - Construct an InventorySound object from a serialization stream - + - InventoryCallingCard Class, contains information on another avatar - + - Construct an InventoryCallingCard object - A which becomes the - objects AssetUUID - - - Construct an InventoryCallingCard object from a serialization stream - + + Deprecated - - - InventoryLandmark Class, contains details on a specific location - + + String value, but designated as an asset - + - Construct an InventoryLandmark object - A which becomes the - objects AssetUUID - + - Construct an InventoryLandmark object from a serialization stream - + - Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited - + - InventoryObject Class contains details on a primitive or coalesced set of primitives - + - Construct an InventoryObject object - A which becomes the - objects AssetUUID - + - Construct an InventoryObject object from a serialization stream - + - Gets or sets the upper byte of the Flags value - + - Gets or sets the object attachment point, the lower byte of the Flags value - + - InventoryNotecard Class, contains details on an encoded text document - + - Construct an InventoryNotecard object - A which becomes the - objects AssetUUID - + - Construct an InventoryNotecard object from a serialization stream - + - InventoryCategory Class - TODO: Is this even used for anything? - + - Construct an InventoryCategory object - A which becomes the - objects AssetUUID - + - Construct an InventoryCategory object from a serialization stream - + - InventoryLSL Class, represents a Linden Scripting Language object - + - Construct an InventoryLSL object - A which becomes the - objects AssetUUID - + - Construct an InventoryLSL object from a serialization stream - + - InventorySnapshot Class, an image taken with the viewer - - - Construct an InventorySnapshot object - - A which becomes the - objects AssetUUID + + No report - - - Construct an InventorySnapshot object from a serialization stream - + + Unknown report type - - - InventoryAttachment Class, contains details on an attachable object - + + Bug report - - - Construct an InventoryAttachment object - - A which becomes the - objects AssetUUID + + Complaint report - - - Construct an InventoryAttachment object from a serialization stream - + + Customer service report - + - Get the last AttachmentPoint this object was attached to + Bitflag field for ObjectUpdateCompressed data blocks, describing + which options are present for each object - - - InventoryWearable Class, details on a clothing item or body part - + + Unknown - - - Construct an InventoryWearable object - - A which becomes the - objects AssetUUID + + Whether the object has a TreeSpecies - + + Whether the object has floating text ala llSetText + + + Whether the object has an active particle system + + + Whether the object has sound attached to it + + + Whether the object is attached to a root object or not + + + Whether the object has texture animation settings + + + Whether the object has an angular velocity + + + Whether the object has a name value pairs string + + + Whether the object has a Media URL set + + - Construct an InventoryWearable object from a serialization stream + Specific Flags for MultipleObjectUpdate requests - + + None + + + Change position of prims + + + Change rotation of prims + + + Change size of prims + + + Perform operation on link set + + + Scale prims uniformly, same as selecing ctrl+shift in the + viewer. Used in conjunction with Scale + + - The , Skin, Shape, Skirt, Etc + Special values in PayPriceReply. If the price is not one of these + literal value of the price should be use - + - InventoryAnimation Class, A bvh encoded object which animates an avatar + Indicates that this pay option should be hidden - + - Construct an InventoryAnimation object + Indicates that this pay option should have the default value - A which becomes the - objects AssetUUID - + - Construct an InventoryAnimation object from a serialization stream + Contains the variables sent in an object update packet for objects. + Used to track position and movement of prims and avatars - + - InventoryGesture Class, details on a series of animations, sounds, and actions - + - Construct an InventoryGesture object - A which becomes the - objects AssetUUID - + - Construct an InventoryGesture object from a serialization stream - + - A folder contains s and has certain attributes specific - to itself - - The Preferred for a folder. - - - The Version of this folder - - - Number of child items this folder contains. - - + - Constructor - UUID of the folder - + - - - + - Get Serilization data for this InventoryFolder object - + - Construct an InventoryFolder object from a serialization stream - + - - - + - - - - + - + Handles all network traffic related to prims and avatar positions and + movement. - - - + - + Construct a new instance of the ObjectManager class - - + A reference to the instance - + - Tools for dealing with agents inventory + Callback for getting object media data via CAP + Indicates if the operation was succesfull + Object media version string + Array indexed on prim face of media entry data - - Used for converting shadow_id to asset_id - - + The event subscribers, null of no subscribers - - Raises the ItemReceived Event - A ItemReceivedEventArgs object containing - the data sent from the simulator - - + Thread sync lock object - + The event subscribers, null of no subscribers - - Raises the FolderUpdated Event - A FolderUpdatedEventArgs object containing - the data sent from the simulator - - + Thread sync lock object - + The event subscribers, null of no subscribers - - Raises the InventoryObjectOffered Event - A InventoryObjectOfferedEventArgs object containing - the data sent from the simulator - - + Thread sync lock object - + The event subscribers, null of no subscribers - - Raises the TaskItemReceived Event - A TaskItemReceivedEventArgs object containing - the data sent from the simulator - - + Thread sync lock object - + The event subscribers, null of no subscribers - - Raises the FindObjectByPath Event - A FindObjectByPathEventArgs object containing - the data sent from the simulator - - + Thread sync lock object - + The event subscribers, null of no subscribers - - Raises the TaskInventoryReply Event - A TaskInventoryReplyEventArgs object containing - the data sent from the simulator - - + Thread sync lock object - + The event subscribers, null of no subscribers - - Raises the SaveAssetToInventory Event - A SaveAssetToInventoryEventArgs object containing - the data sent from the simulator - - + Thread sync lock object - + The event subscribers, null of no subscribers - - Raises the ScriptRunningReply Event - A ScriptRunningReplyEventArgs object containing - the data sent from the simulator - - + Thread sync lock object - - Partial mapping of AssetTypes to folder names - - - - Default constructor - - Reference to the GridClient object - - - - Fetch an inventory item from the dataserver - - The items - The item Owners - a integer representing the number of milliseconds to wait for results - An object on success, or null if no item was found - Items will also be sent to the event - - - - Request A single inventory item - - The items - The item Owners - - - - - Request inventory items - - Inventory items to request - Owners of the inventory items - - - - - Get contents of a folder - - The of the folder to search - The of the folders owner - true to retrieve folders - true to retrieve items - sort order to return results in - a integer representing the number of milliseconds to wait for results - A list of inventory items matching search criteria within folder - - InventoryFolder.DescendentCount will only be accurate if both folders and items are - requested - - - - Request the contents of an inventory folder - - The folder to search - The folder owners - true to return s contained in folder - true to return s containd in folder - the sort order to return items in - + + The event subscribers, null of no subscribers - - - Returns the UUID of the folder (category) that defaults to - containing 'type'. The folder is not necessarily only for that - type - - This will return the root folder if one does not exist - - The UUID of the desired folder if found, the UUID of the RootFolder - if not found, or UUID.Zero on failure + + Thread sync lock object - - - Find an object in inventory using a specific path to search - - The folder to begin the search in - The object owners - A string path to search - milliseconds to wait for a reply - Found items or if - timeout occurs or item is not found + + The event subscribers, null of no subscribers - - - Find inventory items by path - - The folder to begin the search in - The object owners - A string path to search, folders/objects separated by a '/' - Results are sent to the event + + Thread sync lock object - - - Search inventory Store object for an item or folder - - The folder to begin the search in - An array which creates a path to search - Number of levels below baseFolder to conduct searches - if True, will stop searching after first match is found - A list of inventory items found + + Reference to the GridClient object - - - Move an inventory item or folder to a new location - - The item or folder to move - The to move item or folder to + + Does periodic dead reckoning calculation to convert + velocity and acceleration to new positions for objects - - - Move an inventory item or folder to a new location and change its name - - The item or folder to move - The to move item or folder to - The name to change the item or folder to + + Raised when the simulator sends us data containing + A , Foliage or Attachment + + - - - Move and rename a folder - - The source folders - The destination folders - The name to change the folder to + + Raised when the simulator sends us data containing + additional information + + - - - Update folder properties - - of the folder to update - Sets folder's parent to - Folder name - Folder type + + Raised when the simulator sends us data containing + Primitive.ObjectProperties for an object we are currently tracking - - - Move a folder - - The source folders - The destination folders + + Raised when the simulator sends us data containing + additional and details + - - - Move multiple folders, the keys in the Dictionary parameter, - to a new parents, the value of that folder's key. - - A Dictionary containing the - of the source as the key, and the - of the destination as the value + + Raised when the simulator sends us data containing + updated information for an - - - Move an inventory item to a new folder - - The of the source item to move - The of the destination folder + + Raised when the simulator sends us data containing + and movement changes - - - Move and rename an inventory item - - The of the source item to move - The of the destination folder - The name to change the folder to + + Raised when the simulator sends us data containing + updates to an Objects DataBlock - - - Move multiple inventory items to new locations - - A Dictionary containing the - of the source item as the key, and the - of the destination folder as the value + + Raised when the simulator informs us an + or is no longer within view - - - Remove descendants of a folder - - The of the folder + + Raised when the simulator sends us data containing + updated sit information for our - - - Remove a single item from inventory - - The of the inventory item to remove + + Raised when the simulator sends us data containing + purchase price information for a - - - Remove a folder from inventory - - The of the folder to remove + + Raises the ObjectProperties Event + A ObjectPropertiesEventArgs object containing + the data sent from the simulator - - - Remove multiple items or folders from inventory - - A List containing the s of items to remove - A List containing the s of the folders to remove + + Raises the ObjectPropertiesUpdated Event + A ObjectPropertiesUpdatedEventArgs object containing + the data sent from the simulator - - - Empty the Lost and Found folder - + + Raises the ObjectPropertiesFamily Event + A ObjectPropertiesFamilyEventArgs object containing + the data sent from the simulator - - - Empty the Trash folder - + + Raises the AvatarUpdate Event + A AvatarUpdateEventArgs object containing + the data sent from the simulator - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - + + Raises the ObjectDataBlockUpdate Event + A ObjectDataBlockUpdateEventArgs object containing + the data sent from the simulator - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - + + Raises the KillObject Event + A KillObjectEventArgs object containing + the data sent from the simulator - - - Creates a new inventory folder - - ID of the folder to put this folder in - Name of the folder to create - The UUID of the newly created folder + + Raises the AvatarSitChanged Event + A AvatarSitChangedEventArgs object containing + the data sent from the simulator - - - Creates a new inventory folder - - ID of the folder to put this folder in - Name of the folder to create - Sets this folder as the default folder - for new assets of the specified type. Use AssetType.Unknown - to create a normal folder, otherwise it will likely create a - duplicate of an existing folder type - The UUID of the newly created folder - If you specify a preferred type of AsseType.Folder - it will create a new root folder which may likely cause all sorts - of strange problems + + Raises the PayPriceReply Event + A PayPriceReplyEventArgs object containing + the data sent from the simulator - + - Create an inventory item and upload asset data + Request information for a single object from a + you are currently connected to - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Delegate that will receive feedback on success or failure + The the object is located + The Local ID of the object - + - Create an inventory item and upload asset data + Request information for multiple objects contained in + the same simulator - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Permission of the newly created item - (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) - Delegate that will receive feedback on success or failure + The the objects are located + An array containing the Local IDs of the objects - + - Creates inventory link to another inventory item or folder + Attempt to purchase an original object, a copy, or the contents of + an object - Put newly created link in folder with this UUID - Inventory item or folder - Method to call upon creation of the link + The the object is located + The Local ID of the object + Whether the original, a copy, or the object + contents are on sale. This is used for verification, if the this + sale type is not valid for the object the purchase will fail + Price of the object. This is used for + verification, if it does not match the actual price the purchase + will fail + Group ID that will be associated with the new + purchase + Inventory folder UUID where the object or objects + purchased should be placed + + + BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, + 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); + + - + - Creates inventory link to another inventory item + Request prices that should be displayed in pay dialog. This will triggger the simulator + to send us back a PayPriceReply which can be handled by OnPayPriceReply event - Put newly created link in folder with this UUID - Original inventory item - Method to call upon creation of the link + The the object is located + The ID of the object + The result is raised in the event - + - Creates inventory link to another inventory folder + Select a single object. This will cause the to send us + an which will raise the event - Put newly created link in folder with this UUID - Original inventory folder - Method to call upon creation of the link + The the object is located + The Local ID of the object + - + - Creates inventory link to another inventory item or folder + Select a single object. This will cause the to send us + an which will raise the event - Put newly created link in folder with this UUID - Original item's UUID - Name - Description - Asset Type - Inventory Type - Transaction UUID - Method to call upon creation of the link + The the object is located + The Local ID of the object + if true, a call to is + made immediately following the request + - + - + Select multiple objects. This will cause the to send us + an which will raise the event - - - - + The the objects are located + An array containing the Local IDs of the objects + Should objects be deselected immediately after selection + - + - + Select multiple objects. This will cause the to send us + an which will raise the event - - - - - + The the objects are located + An array containing the Local IDs of the objects + - + - + Update the properties of an object - - - - - + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on - + - Request a copy of an asset embedded within a notecard + Sets the sale properties of a single object - Usually UUID.Zero for copying an asset from a notecard - UUID of the notecard to request an asset from - Target folder for asset to go to in your inventory - UUID of the embedded asset - callback to run when item is copied to inventory + The the object is located + The Local ID of the object + One of the options from the enum + The price of the object - + - + Sets the sale properties of multiple objects - + The the objects are located + An array containing the Local IDs of the objects + One of the options from the enum + The price of the object - + - + Deselect a single object - + The the object is located + The Local ID of the object - + - + Deselect multiple objects. - - + The the objects are located + An array containing the Local IDs of the objects - + - + Perform a click action on an object - - - + The the object is located + The Local ID of the object - + - Save changes to notecard embedded in object contents + Perform a click action (Grab) on a single object - Encoded notecard asset data - Notecard UUID - Object's UUID - Called upon finish of the upload with status information + The the object is located + The Local ID of the object + The texture coordinates to touch + The surface coordinates to touch + The face of the position to touch + The region coordinates of the position to touch + The surface normal of the position to touch (A normal is a vector perpindicular to the surface) + The surface binormal of the position to touch (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - + - Upload new gesture asset for an inventory gesture item + Create (rez) a new prim object in a simulator - Encoded gesture asset - Gesture inventory UUID - Callback whick will be called when upload is complete + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties - + - Update an existing script in an agents Inventory + Create (rez) a new prim object in a simulator - A byte[] array containing the encoded scripts contents - the itemID of the script - if true, sets the script content to run on the mono interpreter - + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Specify the + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties - + - Update an existing script in an task Inventory + Rez a Linden tree - A byte[] array containing the encoded scripts contents - the itemID of the script - UUID of the prim containting the script - if true, sets the script content to run on the mono interpreter - if true, sets the script to running - + A reference to the object where the object resides + The size of the tree + The rotation of the tree + The position of the tree + The Type of tree + The of the group to set the tree to, + or UUID.Zero if no group is to be set + true to use the "new" Linden trees, false to use the old - + - Rez an object from inventory + Rez grass and ground cover - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details + A reference to the object where the object resides + The size of the grass + The rotation of the grass + The position of the grass + The type of grass from the enum + The of the group to set the tree to, + or UUID.Zero if no group is to be set - + - Rez an object from inventory + Set the textures to apply to the faces of an object - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply - + - Rez an object from inventory + Set the textures to apply to the faces of an object - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - User defined queryID to correlate replies - If set to true, the CreateSelected flag - will be set on the rezzed object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply + A media URL (not used) - + - DeRez an object from the simulator to the agents Objects folder in the agents Inventory + Set the Light data on an object - The simulator Local ID of the object - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - + - DeRez an object from the simulator and return to inventory + Set the flexible data on an object - The simulator Local ID of the object - The type of destination from the enum - The destination inventory folders -or- - if DeRezzing object to a tasks Inventory, the Tasks - The transaction ID for this request which - can be used to correlate this request with other packets - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - + - Rez an item from inventory to its previous simulator location + Set the sculptie texture and data on an object - - - - + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - + - Give an inventory item to another avatar + Unset additional primitive parameters on an object - The of the item to give - The name of the item - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The extra parameters to set - + - Give an inventory Folder with contents to another avatar + Link multiple prims into a linkset - The of the Folder to give - The name of the folder - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer + A reference to the object where the objects reside + An array which contains the IDs of the objects to link + The last object in the array will be the root object of the linkset TODO: Is this true? - + - Copy or move an from agent inventory to a task (primitive) inventory + Delink/Unlink multiple prims from a linkset - The target object - The item to copy or move from inventory - - For items with copy permissions a copy of the item is placed in the tasks inventory, - for no-copy items the object is moved to the tasks inventory + A reference to the object where the objects reside + An array which contains the IDs of the objects to delink - + - Retrieve a listing of the items contained in a task (Primitive) + Change the rotation of an object - The tasks - The tasks simulator local ID - milliseconds to wait for reply from simulator - A list containing the inventory items inside the task or null - if a timeout occurs - This request blocks until the response from the simulator arrives - or timeoutMS is exceeded + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation of the object - + - Request the contents of a tasks (primitives) inventory from the - current simulator + Set the name of an object - The LocalID of the object - + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new name of the object - + - Request the contents of a tasks (primitives) inventory + Set the name of multiple objects - The simulator Local ID of the object - A reference to the simulator object that contains the object - + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the name of + An array which contains the new names of the objects - + - Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory + Set the description of an object - LocalID of the object in the simulator - UUID of the task item to move - The ID of the destination folder in this agents inventory - Simulator Object - Raises the event + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new description of the object - + - Remove an item from an objects (Prim) Inventory + Set the descriptions of multiple objects - LocalID of the object in the simulator - UUID of the task item to remove - Simulator Object - You can confirm the removal by comparing the tasks inventory serial before and after the - request with the request combined with - the event - - - - Copy an InventoryScript item from the Agents Inventory into a primitives task inventory - - An unsigned integer representing a primitive being simulated - An which represents a script object from the agents inventory - true to set the scripts running state to enabled - A Unique Transaction ID - - The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory - and assumes the script exists in the agents inventory. - - uint primID = 95899503; // Fake prim ID - UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory - - Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, - false, true, InventorySortOrder.ByName, 10000); - - Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); - - + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the description of + An array which contains the new descriptions of the objects - + - Request the running status of a script contained in a task (primitive) inventory + Attach an object to this avatar - The ID of the primitive containing the script - The ID of the script - The event can be used to obtain the results of the - request - + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The point on the avatar the object will be attached + The rotation of the attached object - + - Send a request to set the running state of a script contained in a task (primitive) inventory + Drop an attached object from this avatar - The ID of the primitive containing the script - The ID of the script - true to set the script running, false to stop a running script - To verify the change you can use the method combined - with the event + A reference to the + object where the objects reside. This will always be the simulator the avatar is currently in + + The object's ID which is local to the simulator the object is in - + - Create a CRC from an InventoryItem + Detach an object from yourself - The source InventoryItem - A uint representing the source InventoryItem as a CRC + A reference to the + object where the objects reside + This will always be the simulator the avatar is currently in + + An array which contains the IDs of the objects to detach - + - Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id + Change the position of an object, Will change position of entire linkset - Obfuscated shadow_id value - Deobfuscated asset_id value + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object - + - Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id + Change the position of an object - asset_id value to obfuscate - Obfuscated shadow_id value + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object + if true, will change position of (this) child prim only, not entire linkset - + - Wrapper for creating a new object + Change the Scale (size) of an object - The type of item from the enum - The of the newly created object - An object with the type and id passed + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change scale of this prim only, not entire linkset + True to resize prims uniformly - + - Parse the results of a RequestTaskInventory() response + Change the Rotation of an object that is either a child or a whole linkset - A string which contains the data from the task reply - A List containing the items contained within the tasks inventory - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change rotation of this prim only, not entire linkset - + - UpdateCreateInventoryItem packets are received when a new inventory item - is created. This may occur when an object that's rezzed in world is - taken into inventory, when an item is created using the CreateInventoryItem - packet, or when an object is purchased + Send a Multiple Object Update packet to change the size, scale or rotation of a primitive - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - an inventory object sent by another avatar or primitive - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation, size, or position of the target object + The flags from the Enum - - Raised when the simulator sends us data containing - ... + + + Deed an object (prim) to a group, Object must be shared with group which + can be accomplished with SetPermissions() + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The of the group to deed the object to - - Raised when the simulator sends us data containing - ... + + + Deed multiple objects (prims) to a group, Objects must be shared with group which + can be accomplished with SetPermissions() + + A reference to the object where the object resides + An array which contains the IDs of the objects to deed + The of the group to deed the object to - + - Get this agents Inventory data + Set the permissions on multiple objects + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the permissions on + The new Who mask to set + The new Permissions mark to set + TODO: What does this do? - + - Callback for inventory item creation finishing + Request additional properties for an object - Whether the request to create an inventory - item succeeded or not - Inventory item being created. If success is - false this will be null + A reference to the object where the object resides + + - + - Callback for an inventory item being create from an uploaded asset + Request additional properties for an object - true if inventory item creation was successful - - - + A reference to the object where the object resides + Absolute UUID of the object + Whether to require server acknowledgement of this request - + - + Set the ownership of a list of objects to the specified group - + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the group id on + The Groups ID - + - Reply received when uploading an inventory asset + Update current URL of the previously set prim media - Has upload been successful - Error message if upload failed - Inventory asset UUID - New asset UUID + UUID of the prim + Set current URL to this + Prim face number + Simulator in which prim is located - + - Delegate that is invoked when script upload is completed + Set object media - Has upload succeded (note, there still might be compile errors) - Upload status message - Is compilation successful - If compilation failed, list of error messages, null on compilation success - Script inventory UUID - Script's new asset UUID - - - Set to true to accept offer, false to decline it - - - The folder to accept the inventory into, if null default folder for will be used + UUID of the prim + Array the length of prims number of faces. Null on face indexes where there is + no media, on faces which contain the media + Simulatior in which prim is located - + - Callback when an inventory object is accepted and received from a - task inventory. This is the callback in which you actually get - the ItemID, as in ObjectOfferedCallback it is null when received - from a task. + Retrieve information about object media + UUID of the primitive + Simulator where prim is located + Call this callback when done - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + - Holds group information for Avatars such as those you might find in a profile + A terse object update, used when a transformation matrix or + velocity/acceleration for an object changes but nothing else + (scale/position/rotation/acceleration/velocity) + The sender + The EventArgs object containing the packet data - - true of Avatar accepts group notices - - - Groups Key + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Texture Key for groups insignia + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Name of the group + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Powers avatar has in the group + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Avatars Currently selected title + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - true of Avatar has chosen to list this in their profile + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Contains an animation currently being played by an agent + Setup construction data for a basic primitive shape + Primitive shape to construct + Construction data that can be plugged into a - - The ID of the animation asset - - - A number to indicate start order of currently playing animations - On Linden Grids this number is unique per region, with OpenSim it is per client - - - - - + - Holds group information on an individual profile pick + + + + + + + + - + - Retrieve friend status notifications, and retrieve avatar names and - profiles + + + + - - The event subscribers, null of no subscribers - - - Raises the AvatarAnimation Event - An AvatarAnimationEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarAppearance Event - A AvatarAppearanceEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the UUIDNameReply Event - A UUIDNameReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarInterestsReply Event - A AvatarInterestsReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarPropertiesReply Event - A AvatarPropertiesReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object + + + Set the Shape data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + Data describing the prim shape - - The event subscribers, null of no subscribers + + + Set the Material data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new material of the object - - Raises the AvatarGroupsReply Event - A AvatarGroupsReplyEventArgs object containing - the data sent from the simulator + + + + + + + + + + + - - Thread sync lock object + + + + + + + + + + + - - The event subscribers, null of no subscribers + + Provides data for the event + + The event occurs when the simulator sends + an containing a Primitive, Foliage or Attachment data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or + if an Avatar crosses the border into a new simulator and returns to the current simulator + + + The following code example uses the , , and + properties to display new Primitives and Attachments on the window. + + // Subscribe to the event that gives us prim and foliage information + Client.Objects.ObjectUpdate += Objects_ObjectUpdate; + private void Objects_ObjectUpdate(object sender, PrimEventArgs e) + { + Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); + } + + + + - - Raises the AvatarPickerReply Event - A AvatarPickerReplyEventArgs object containing - the data sent from the simulator + + + Construct a new instance of the PrimEventArgs class + + The simulator the object originated from + The Primitive + The simulator time dilation + The prim was not in the dictionary before this update + true if the primitive represents an attachment to an agent - - Thread sync lock object + + Get the simulator the originated from - - The event subscribers, null of no subscribers + + Get the details - - Raises the ViewerEffectPointAt Event - A ViewerEffectPointAtEventArgs object containing - the data sent from the simulator + + true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) - - Thread sync lock object + + true if the is attached to an - - The event subscribers, null of no subscribers + + Get the simulator Time Dilation - - Raises the ViewerEffectLookAt Event - A ViewerEffectLookAtEventArgs object containing - the data sent from the simulator + + Provides data for the event + + The event occurs when the simulator sends + an containing Avatar data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator + + + The following code example uses the property to make a request for the top picks + using the method in the class to display the names + of our own agents picks listings on the window. + + // subscribe to the AvatarUpdate event to get our information + Client.Objects.AvatarUpdate += Objects_AvatarUpdate; + Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; + private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) + { + // we only want our own data + if (e.Avatar.LocalID == Client.Self.LocalID) + { + // Unsubscribe from the avatar update event to prevent a loop + // where we continually request the picks every time we get an update for ourselves + Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; + // make the top picks request through AvatarManager + Client.Avatars.RequestAvatarPicks(e.Avatar.ID); + } + } + private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) + { + // we'll unsubscribe from the AvatarPicksReply event since we now have the data + // we were looking for + Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; + // loop through the dictionary and extract the names of the top picks from our profile + foreach (var pickName in e.Picks.Values) + { + Console.WriteLine(pickName); + } + } + + + - - Thread sync lock object + + + Construct a new instance of the AvatarUpdateEventArgs class + + The simulator the packet originated from + The data + The simulator time dilation + The avatar was not in the dictionary before this update - - The event subscribers, null of no subscribers + + Get the simulator the object originated from - - Raises the ViewerEffect Event - A ViewerEffectEventArgs object containing - the data sent from the simulator + + Get the data - - Thread sync lock object + + Get the simulator time dilation - - The event subscribers, null of no subscribers + + true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) - - Raises the AvatarPicksReply Event - A AvatarPicksReplyEventArgs object containing - the data sent from the simulator + + Provides additional primitive data for the event + + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment data + The event is also raised when a request is + made. + + + The following code example uses the , and + + properties to display new attachments and send a request for additional properties containing the name of the + attachment then display it on the window. + + // Subscribe to the event that provides additional primitive details + Client.Objects.ObjectProperties += Objects_ObjectProperties; + // handle the properties data that arrives + private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) + { + Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); + } + - - Thread sync lock object + + + Construct a new instance of the ObjectPropertiesEventArgs class + + The simulator the object is located + The primitive Properties - - The event subscribers, null of no subscribers + + Get the simulator the object is located - - Raises the PickInfoReply Event - A PickInfoReplyEventArgs object containing - the data sent from the simulator + + Get the primitive properties - - Thread sync lock object + + Provides additional primitive data for the event + + The event occurs when the simulator sends + an containing additional details for a Primitive or Foliage data that is currently + being tracked in the dictionary + The event is also raised when a request is + made and is enabled + - - The event subscribers, null of no subscribers + + + Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class + + The simulator the object is located + The Primitive + The primitive Properties - - Raises the AvatarClassifiedReply Event - A AvatarClassifiedReplyEventArgs object containing - the data sent from the simulator + + Get the simulator the object is located - - Thread sync lock object + + Get the primitive details - - The event subscribers, null of no subscribers + + Get the primitive properties - - Raises the ClassifiedInfoReply Event - A ClassifiedInfoReplyEventArgs object containing - the data sent from the simulator + + Provides additional primitive data, permissions and sale info for the event + + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment. This includes + Permissions, Sale info, and other basic details on an object + The event is also raised when a request is + made, the viewer equivalent is hovering the mouse cursor over an object + - - Thread sync lock object + + Get the simulator the object is located - + - Represents other avatars - - - - Tracks the specified avatar on your map - Avatar ID to track - + - Request a single avatar name - The avatar key to retrieve a name for - + + Provides primitive data containing updated location, velocity, rotation, textures for the event + + The event occurs when the simulator sends updated location, velocity, rotation, etc + + + + Get the simulator the object is located + + + Get the primitive details + + - Request a list of avatar names - The avatar keys to retrieve names for - + - Start a request for Avatar Properties - - + - Search for an avatar (first name, last name) - The name to search for - An ID to associate with this query - + + Get the simulator the object is located + + + Get the primitive details + + - Start a request for Avatar Picks - UUID of the avatar - + - Start a request for Avatar Classifieds - UUID of the avatar - + - Start a request for details of a specific profile pick - UUID of the avatar - UUID of the profile pick - + - Start a request for details of a specific profile classified - UUID of the avatar - UUID of the profile classified - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the + event - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Get the simulator the object is located - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The LocalID of the object - + - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. + Provides updates sit position data - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Get the simulator the object is located - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Raised when the simulator sends us data containing - an agents animation playlist + + + - - Raised when the simulator sends us data containing - the appearance information for an agent + + + - - Raised when the simulator sends us data containing - agent names/id values + + Get the simulator the object is located - - Raised when the simulator sends us data containing - the interests listed in an agents profile + + + - - Raised when the simulator sends us data containing - profile property information for an agent + + + - - Raised when the simulator sends us data containing - the group membership an agent is a member of + + + - - Raised when the simulator sends us data containing - name/id pair + + + Indicates if the operation was successful + - - Raised when the simulator sends us data containing - the objects and effect when an agent is pointing at + + + Media version string + - - Raised when the simulator sends us data containing - the objects and effect when an agent is looking at + + + Array of media entries indexed by face number + - - Raised when the simulator sends us data containing - an agents viewer effect information + + + Create an allocated UDP packet buffer for receiving a packet + - - Raised when the simulator sends us data containing - the top picks from an agents profile + + + Create an allocated UDP packet buffer for sending a packet + + EndPoint of the remote host - - Raised when the simulator sends us data containing - the Pick details + + + Create an allocated UDP packet buffer for sending a packet + + EndPoint of the remote host + Size of the buffer to allocate for packet data - - Raised when the simulator sends us data containing - the classified ads an agent has placed + + Size of the byte array used to store raw packet data - - Raised when the simulator sends us data containing - the details of a classified ad + + Raw packet data buffer - - Provides data for the event - The event occurs when the simulator sends - the animation playlist for an agent - - The following code example uses the and - properties to display the animation playlist of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; - - private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) - { - // create a dictionary of "known" animations from the Animations class using System.Reflection - Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); - Type type = typeof(Animations); - System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); - foreach (System.Reflection.FieldInfo field in fields) - { - systemAnimations.Add((UUID)field.GetValue(type), field.Name); - } - - // find out which animations being played are known animations and which are assets - foreach (Animation animation in e.Animations) - { - if (systemAnimations.ContainsKey(animation.AnimationID)) - { - Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, - systemAnimations[animation.AnimationID], animation.AnimationSequence); - } - else - { - Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, - animation.AnimationID, animation.AnimationSequence); - } - } - } - - + + Length of the data to transmit - + + EndPoint of the remote host + + - Construct a new instance of the AvatarAnimationEventArgs class + Object pool for packet buffers. This is used to allocate memory for all + incoming and outgoing packets, and zerocoding buffers for those packets - The ID of the agent - The list of animations to start - - - Get the ID of the agent - - Get the list of animations to start - - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - + + + Initialize the object pool in client mode + + Server to connect to + + + + - + - Construct a new instance of the AvatarAppearanceEventArgs class + Initialize the object pool in server mode - The ID of the agent - true of the agent is a trial account - The default agent texture - The agents appearance layer textures - The for the agent + + + + - - Get the ID of the agent + + + Returns a packet buffer with EndPoint set if the buffer is in + client mode, or with EndPoint set to null in server mode + + Initialized UDPPacketBuffer object - - true if the agent is a trial account + + + Default constructor + - - Get the default agent texture + + + Check a packet buffer out of the pool + + A packet buffer object - - Get the agents appearance layer textures + + + Returns an instance of the class that has been checked out of the Object Pool. + - - Get the for the agent + + + Checks the instance back into the object pool + - - Represents the interests from the profile of an agent + + + Creates a new instance of the ObjectPoolBase class. Initialize MUST be called + after using this constructor. + - - Get the ID of the agent + + + Creates a new instance of the ObjectPool Base class. + + The object pool is composed of segments, which + are allocated whenever the size of the pool is exceeded. The number of items + in a segment should be large enough that allocating a new segmeng is a rare + thing. For example, on a server that will have 10k people logged in at once, + the receive buffer object pool should have segment sizes of at least 1000 + byte arrays per segment. + + The minimun number of segments that may exist. + Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. + The frequency which segments are checked to see if they're eligible for cleanup. - - The properties of an agent + + + The total number of segments created. Intended to be used by the Unit Tests. + - - Get the ID of the agent + + + The number of items that are in a segment. Items in a segment + are all allocated at the same time, and are hopefully close to + each other in the managed heap. + - - Get the ID of the agent + + + The minimum number of segments. When segments are reclaimed, + this number of segments will always be left alone. These + segments are allocated at startup. + - - Get the ID of the agent + + + The age a segment must be before it's eligible for cleanup. + This is used to prevent thrash, and typical values are in + the 5 minute range. + - - Get the ID of the avatar + + + The frequence which the cleanup thread runs. This is typically + expected to be in the 5 minute range. + - + - Sent to the client to indicate a teleport request has completed + Forces the segment cleanup algorithm to be run. This method is intended + primarly for use from the Unit Test libraries. - - The of the agent + + + Responsible for allocate 1 instance of an object that will be stored in a segment. + + An instance of whatever objec the pool is pooling. - - + + + Checks in an instance of T owned by the object pool. This method is only intended to be called + by the WrappedObject class. + + The segment from which the instance is checked out. + The instance of T to check back into the segment. - - The simulators handle the agent teleported to + + + Checks an instance of T from the pool. If the pool is not sufficient to + allow the checkout, a new segment is created. + + A WrappedObject around the instance of T. To check + the instance back into the segment, be sureto dispose the WrappedObject + when finished. - - A Uri which contains a list of Capabilities the simulator supports + + + - - Indicates the level of access required - to access the simulator, or the content rating, or the simulators - map status + + + - - The IP Address of the simulator + + + - - The UDP Port the simulator will listen for UDP traffic on + + + - - Status flags indicating the state of the Agent upon arrival, Flying, etc. + + + The ObservableDictionary class is used for storing key/value pairs. It has methods for firing + events to subscribers when items are added, removed, or changed. + + Key + Value - + - Serialize the object + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. - An containing the objects data + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); + + - + - Deserialize the message + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. - An containing the data + Initial size of dictionary + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); + + - + - Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. + A dictionary of callbacks to fire when specified action occurs - + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking + + - Serialize the object + Indexer for the dictionary - An containing the objects data + The key + The value - + - Deserialize the message - - An containing the data + Gets the number of Key/Value pairs contained in the - + - Serialize the object + Register a callback to be fired when an action occurs - An containing the objects data + The action + The callback to fire - + - Deserialize the message + Unregister a callback - An containing the data + The action + The callback to fire - + - Serialize the object - An containing the objects data + + + + - + - Deserialize the message + Try to get entry from the with specified key - An containing the data + Key to use for lookup + Value returned + + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + - + - A message sent to the client which indicates a teleport request has failed - and contains some information on why it failed + Finds the specified match. + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + - - + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + - - A string key of the reason the teleport failed e.g. CouldntTPCloser - Which could be used to look up a value in a dictionary or enum + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + - - The of the Agent + + Check if Key exists in Dictionary + Key to check for + + if found, otherwise - - A string human readable message containing the reason - An example: Could not teleport closer to destination + + Check if Value exists in Dictionary + Value to check for + + if found, otherwise - + - Serialize the object - - An containing the objects data + Adds the specified key to the dictionary, dictionary locking is not performed, + + The key + The value - + - Deserialize the message + Removes the specified key, dictionary locking is not performed - An containing the data + The key. + + if successful, otherwise - + - Serialize the object + Clear the contents of the dictionary - An containing the objects data - + - Deserialize the message + Enumerator for iterating dictionary entries - An containing the data + + - + - Contains a list of prim owner information for a specific parcel in a simulator + A custom decoder callback - - A Simulator will always return at least 1 entry - If agent does not have proper permission the OwnerID will be UUID.Zero - If agent does not have proper permission OR there are no primitives on parcel - the DataBlocksExtended map will not be sent from the simulator - - - - An Array of objects + The key of the object + the data to decode + A string represending the fieldData - + - Serialize the object + Add a custom decoder callback - An containing the objects data + The key of the field to decode + The custom decode handler - + - Deserialize the message + Remove a custom decoder callback - An containing the data + The key of the field to decode + The custom decode handler - + - Prim ownership information for a specified owner on a single parcel + Creates a formatted string containing the values of a Packet + The Packet + A formatted string of values of the nested items in the Packet object - - The of the prim owner, - UUID.Zero if agent has no permission to view prim owner information - - - The total number of prims - - - True if the OwnerID is a - - - True if the owner is online - This is no longer used by the LL Simulators - - - The date the most recent prim was rezzed - - + - The details of a single parcel in a region, also contains some regionwide globals + Decode an IMessage object into a beautifully formatted string + The IMessage object + Recursion level (used for indenting) + A formatted string containing the names and values of the source object - - Simulator-local ID of this parcel - - - Maximum corner of the axis-aligned bounding box for this - parcel - - - Minimum corner of the axis-aligned bounding box for this - parcel - - - Total parcel land area - - - - - - Key of authorized buyer - - - Bitmap describing land layout in 4x4m squares across the - entire region - - - - - - Date land was claimed - - - Appears to always be zero - - - Parcel Description - - - - - - + + + Type of return to use when returning objects from a parcel + - - Total number of primitives owned by the parcel group on - this parcel + + + - - Whether the land is deeded to a group or not + + Return objects owned by parcel owner - - + + Return objects set to group - - Maximum number of primitives this parcel supports + + Return objects not owned by parcel owner or set to group - - The Asset UUID of the Texture which when applied to a - primitive will display the media + + Return a specific list of objects on parcel - - A URL which points to any Quicktime supported media type + + Return objects that are marked for-sale - - A byte, if 0x1 viewer should auto scale media to fit object + + + Blacklist/Whitelist flags used in parcels Access List + - - URL For Music Stream + + Agent is denied access - - Parcel Name + + Agent is granted access - - Autoreturn value in minutes for others' objects + + + The result of a request for parcel properties + - - + + No matches were found for the request - - Total number of other primitives on this parcel + + Request matched a single parcel - - UUID of the owner of this parcel + + Request matched multiple parcels - - Total number of primitives owned by the parcel owner on - this parcel + + + Flags used in the ParcelAccessListRequest packet to specify whether + we want the access list (whitelist), ban list (blacklist), or both + - - + + Request the access list - - How long is pass valid for + + Request the ban list - - Price for a temporary pass + + Request both White and Black lists - - + + + Sequence ID in ParcelPropertiesReply packets (sent when avatar + tries to cross a parcel border) + - - + + Parcel is currently selected - - + + Parcel restricted to a group the avatar is not a + member of - - This field is no longer used + + Avatar is banned from the parcel - - The result of a request for parcel properties + + Parcel is restricted to an access list that the + avatar is not on - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it + + Response to hovering over a parcel - + - Number of primitives your avatar is currently - selecting and sitting on in this parcel + The tool to use when modifying terrain levels - - - - - - A number which increments by 1, starting at 0 for each ParcelProperties request. - Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. - a Negative number indicates the action in has occurred. - + + Level the terrain - - Maximum primitives across the entire simulator + + Raise the terrain - - Total primitives across the entire simulator + + Lower the terrain - - + + Smooth the terrain - - Key of parcel snapshot + + Add random noise to the terrain - - Parcel ownership status + + Revert terrain to simulator default - - Total number of primitives on this parcel + + + The tool size to use when changing terrain levels + - - + + Small - - + + Medium - - TRUE of region denies access to age unverified users + + Large - - A description of the media + + + Reasons agent is denied access to a parcel on the simulator + - - An Integer which represents the height of the media + + Agent is not denied, access is granted - - An integer which represents the width of the media + + Agent is not a member of the group set for the parcel, or which owns the parcel - - A boolean, if true the viewer should loop the media + + Agent is not on the parcels specific allow list - - A string which contains the mime type of the media + + Agent is on the parcels ban list - - true to obscure (hide) media url + + Unknown - - true to obscure (hide) music url + + Agent is not age verified and parcel settings deny access to non age verified avatars - + - Serialize the object + Parcel overlay type. This is used primarily for highlighting and + coloring which is why it is a single integer instead of a set of + flags - An containing the objects data + These values seem to be poorly thought out. The first three + bits represent a single value, not flags. For example Auction (0x05) is + not a combination of OwnedByOther (0x01) and ForSale(0x04). However, + the BorderWest and BorderSouth values are bit flags that get attached + to the value stored in the first three bits. Bits four, five, and six + are unused - - - Deserialize the message - - An containing the data + + Public land - - A message sent from the viewer to the simulator to updated a specific parcels settings + + Land is owned by another avatar - - The of the agent authorized to purchase this - parcel of land or a NULL if the sale is authorized to anyone + + Land is owned by a group - - true to enable auto scaling of the parcel media + + Land is owned by the current avatar - - The category of this parcel used when search is enabled to restrict - search results + + Land is for sale - - A string containing the description to set + + Land is being auctioned - - The of the which allows for additional - powers and restrictions. + + To the west of this area is a parcel border - - The which specifies how avatars which teleport - to this parcel are handled + + To the south of this area is a parcel border - - The LocalID of the parcel to update settings on + + + Various parcel properties + - - A string containing the description of the media which can be played - to visitors + + No flags set - - + + Allow avatars to fly (a client-side only restriction) - - + + Allow foreign scripts to run - - + + This parcel is for sale - - + + Allow avatars to create a landmark on this parcel - - + + Allows all avatars to edit the terrain on this parcel - - + + Avatars have health and can take damage on this parcel. + If set, avatars can be killed and sent home here - - + + Foreign avatars can create objects here - - + + All objects on this parcel can be purchased - - + + Access is restricted to a group - - + + Access is restricted to a whitelist - - + + Ban blacklist is enabled - - + + Unknown - - + + List this parcel in the search directory - - + + Allow personally owned parcels to be deeded to group - - + + If Deeded, owner contributes required tier to group parcel is deeded to - - + + Restrict sounds originating on this parcel to the + parcel boundaries - - + + Objects on this parcel are sold when the land is + purchsaed - - - Deserialize the message - - An containing the data + + Allow this parcel to be published on the web - - - Serialize the object - - An containing the objects data + + The information for this parcel is mature content - - Base class used for the RemoteParcelRequest message + + The media URL is an HTML page - - - A message sent from the viewer to the simulator to request information - on a remote parcel - + + The media URL is a raw HTML string - - Local sim position of the parcel we are looking up + + Restrict foreign object pushes - - Region handle of the parcel we are looking up + + Ban all non identified/transacted avatars - - Region of the parcel we are looking up + + Allow group-owned scripts to run - - - Serialize the object - - An containing the objects data + + Allow object creation by group members or group + objects - - - Deserialize the message - - An containing the data + + Allow all objects to enter this parcel - - - A message sent from the simulator to the viewer in response to a - which will contain parcel information - + + Only allow group and owner objects to enter this parcel - - The grid-wide unique parcel ID + + Voice Enabled on this parcel - - - Serialize the object - - An containing the objects data + + Use Estate Voice channel for Voice on this parcel - - - Deserialize the message - - An containing the data + + Deny Age Unverified Users - + - A message containing a request for a remote parcel from a viewer, or a response - from the simulator to that request + Parcel ownership status - - The request or response details block + + Placeholder - - - Serialize the object - - An containing the objects data + + Parcel is leased (owned) by an avatar or group - - - Deserialize the message - - An containing the data + + Parcel is in process of being leased (purchased) by an avatar or group - - - Serialize the object - - An containing the objects data + + Parcel has been abandoned back to Governor Linden - + - Deserialize the message + Category parcel is listed in under search - An containing the data - - - A message sent from the simulator to an agent which contains - the groups the agent is in - + + No assigned category - - The Agent receiving the message + + Linden Infohub or public area - - An array containing information - for each the agent is a member of + + Adult themed area - - An array containing information - for each the agent is a member of + + Arts and Culture - - - Serialize the object - - An containing the objects data + + Business - - - Deserialize the message - - An containing the data + + Educational - - Group Details specific to the agent + + Gaming - - true of the agent accepts group notices + + Hangout or Club - - The agents tier contribution to the group + + Newcomer friendly - - The Groups + + Parks and Nature - - The of the groups insignia + + Residential - - The name of the group + + Shopping - - The aggregate permissions the agent has in the group for all roles the agent - is assigned + + Not Used? - - An optional block containing additional agent specific information + + Other - - true of the agent allows this group to be - listed in their profile + + Not an actual category, only used for queries - + - A message sent from the viewer to the simulator which - specifies the language and permissions for others to detect - the language specified + Type of teleport landing for a parcel - - A string containng the default language - to use for the agent + + Unset, simulator default - - true of others are allowed to - know the language setting + + Specific landing point set for this parcel - - - Serialize the object - - An containing the objects data + + No landing point set, direct teleports enabled for + this parcel - + - Deserialize the message + Parcel Media Command used in ParcelMediaCommandMessage - An containing the data - - - An EventQueue message sent from the simulator to an agent when the agent - leaves a group - + + Stop the media stream and go back to the first frame - - - An Array containing the AgentID and GroupID - + + Pause the media stream (stop playing but stay on current frame) - - - Serialize the object - - An containing the objects data + + Start the current media stream playing and stop when the end is reached - - - Deserialize the message - - An containing the data + + Start the current media stream playing, + loop to the beginning when the end is reached and continue to play - - An object containing the Agents UUID, and the Groups UUID + + Specifies the texture to replace with video + If passing the key of a texture, it must be explicitly typecast as a key, + not just passed within double quotes. - - The ID of the Agent leaving the group + + Specifies the movie URL (254 characters max) - - The GroupID the Agent is leaving + + Specifies the time index at which to begin playing - - Base class for Asset uploads/results via Capabilities + + Specifies a single agent to apply the media command to - - - The request state - + + Unloads the stream. While the stop command sets the texture to the first frame of the movie, + unload resets it to the real texture that the movie was replacing. - - - Serialize the object - - An containing the objects data + + Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties + (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. - - - Deserialize the message - - An containing the data + + Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). + Use "text/html" for HTML. - - - A message sent from the viewer to the simulator to request a temporary upload capability - which allows an asset to be uploaded - + + Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). + This might still not be working - - The Capability URL sent by the simulator to upload the baked texture to + + Sets a description for the media being displayed (1.19.1 RC0 and later only). - + - A message sent from the simulator that will inform the agent the upload is complete, - and the UUID of the uploaded asset + Some information about a parcel of land returned from a DirectoryManager search - - The uploaded texture asset ID + + Global Key of record - - - A message sent from the viewer to the simulator to request a temporary - capability URI which is used to upload an agents baked appearance textures - + + Parcel Owners - - Object containing request or response + + Name field of parcel, limited to 128 characters - - - Serialize the object - - An containing the objects data + + Description field of parcel, limited to 256 characters - - - Deserialize the message - - An containing the data + + Total Square meters of parcel - - - A message sent from the simulator which indicates the minimum version required for - using voice chat - + + Total area billable as Tier, for group owned land this will be 10% less than ActualArea - - Major Version Required + + True of parcel is in Mature simulator - - Minor version required + + Grid global X position of parcel - - The name of the region sending the version requrements + + Grid global Y position of parcel - - - Serialize the object - - An containing the objects data + + Grid global Z position of parcel (not used) - - - Deserialize the message - - An containing the data + + Name of simulator parcel is located in - - - A message sent from the simulator to the viewer containing the - voice server URI - + + Texture of parcels display picture - - The Parcel ID which the voice server URI applies + + Float representing calculated traffic based on time spent on parcel by avatars - - The name of the region + + Sale price of parcel (not used) - - A uri containing the server/channel information - which the viewer can utilize to participate in voice conversations + + Auction ID of parcel - + - Serialize the object + Parcel Media Information - An containing the objects data - - - Deserialize the message - - An containing the data + + A byte, if 0x1 viewer should auto scale media to fit object - - - - + + A boolean, if true the viewer should loop the media - - + + The Asset UUID of the Texture which when applied to a + primitive will display the media - - + + A URL which points to any Quicktime supported media type - - - Serialize the object - - An containing the objects data + + A description of the media - - - Deserialize the message - - An containing the data + + An Integer which represents the height of the media - - - A message sent by the viewer to the simulator to request a temporary - capability for a script contained with in a Tasks inventory to be updated - + + An integer which represents the width of the media - - Object containing request or response + + A string which contains the mime type of the media - + - Serialize the object + Parcel of land, a portion of virtual real estate in a simulator - An containing the objects data - + - Deserialize the message + Defalt constructor - An containing the data + Local ID of this parcel - - - A message sent from the simulator to the viewer to indicate - a Tasks scripts status. - + + The total number of contiguous 4x4 meter blocks your agent owns within this parcel - - The Asset ID of the script + + The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own - - True of the script is compiled/ran using the mono interpreter, false indicates it - uses the older less efficient lsl2 interprter + + Deprecated, Value appears to always be 0 - - The Task containing the scripts + + Simulator-local ID of this parcel - - true of the script is in a running state + + UUID of the owner of this parcel - - - Serialize the object - - An containing the objects data + + Whether the land is deeded to a group or not - + - Deserialize the message - An containing the data - - - A message containing the request/response used for updating a gesture - contained with an agents inventory - + + Date land was claimed - - Object containing request or response + + Appears to always be zero - - - Serialize the object - - An containing the objects data + + This field is no longer used - - - Deserialize the message - - An containing the data + + Minimum corner of the axis-aligned bounding box for this + parcel - - - A message request/response which is used to update a notecard contained within - a tasks inventory - + + Maximum corner of the axis-aligned bounding box for this + parcel - - The of the Task containing the notecard asset to update + + Bitmap describing land layout in 4x4m squares across the + entire region - - The notecard assets contained in the tasks inventory + + Total parcel land area - + - Serialize the object - An containing the objects data - - - Deserialize the message - - An containing the data + + Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used - - - A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability - which is used to update an asset in an agents inventory - + + Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel + owned by the agent or group that owns this parcel - - - The Notecard AssetID to replace - + + Maximum number of primitives this parcel supports - - - Serialize the object - - An containing the objects data + + Total number of primitives on this parcel - - - Deserialize the message - - An containing the data + + For group-owned parcels this indicates the total number of prims deeded to the group, + for parcels owned by an individual this inicates the number of prims owned by the individual - - - A message containing the request/response used for updating a notecard - contained with an agents inventory - + + Total number of primitives owned by the parcel group on + this parcel, or for parcels owned by an individual with a group set the + total number of prims set to that group. - - Object containing request or response + + Total number of prims owned by other avatars that are not set to group, or not the parcel owner - - - Serialize the object - - An containing the objects data + + A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect + the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed - - - Deserialize the message - - An containing the data + + Autoreturn value in minutes for others' objects - + - Serialize the object - An containing the objects data - - - Deserialize the message - - An containing the data + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it - + + Parcel Name + + + Parcel Description + + + URL For Music Stream + + - A message sent from the simulator to the viewer which indicates - an error occurred while attempting to update a script in an agents or tasks - inventory - - true of the script was successfully compiled by the simulator - - - A string containing the error which occured while trying - to update the script + + Price for a temporary pass - - A new AssetID assigned to the script + + How long is pass valid for - + - A message sent from the viewer to the simulator - requesting the update of an existing script contained - within a tasks inventory - - if true, set the script mode to running + + Key of authorized buyer - - The scripts InventoryItem ItemID to update + + Key of parcel snapshot - - A lowercase string containing either "mono" or "lsl2" which - specifies the script is compiled and ran on the mono runtime, or the older - lsl runtime + + The landing point location - - The tasks which contains the script to update + + The landing point LookAt - + + The type of landing enforced from the enum + + - Serialize the object - An containing the objects data - + - Deserialize the message - An containing the data - + - A message containing either the request or response used in updating a script inside - a tasks inventory - - Object containing request or response + + Access list of who is whitelisted on this + parcel - - - Serialize the object - - An containing the objects data + + Access list of who is blacklisted on this + parcel - - - Deserialize the message - - An containing the data + + TRUE of region denies access to age unverified users - - - Response from the simulator to notify the viewer the upload is completed, and - the UUID of the script asset and its compiled status - + + true to obscure (hide) media url - - The uploaded texture asset ID + + true to obscure (hide) music url - - true of the script was compiled successfully + + A struct containing media details - + - A message sent from a viewer to the simulator requesting a temporary uploader capability - used to update a script contained in an agents inventory + Displays a parcel object in string format + string containing key=value pairs of a parcel object - - The existing asset if of the script in the agents inventory to replace - - - The language of the script - Defaults to lsl version 2, "mono" might be another possible option - - + - Serialize the object + Update the simulator with any local changes to this Parcel object - An containing the objects data + Simulator to send updates to + Whether we want the simulator to confirm + the update with a reply packet or not - + - Deserialize the message + Set Autoreturn time - An containing the data + Simulator to send the update to - + - A message containing either the request or response used in updating a script inside - an agents inventory + Parcel (subdivided simulator lots) subsystem - - Object containing request or response - - + - Serialize the object + Default constructor - An containing the objects data + A reference to the GridClient object - + - Deserialize the message + Parcel Accesslist - An containing the data - + + Agents + + - Serialize the object - An containing the objects data - + + Flags for specific entry in white/black lists + + - Deserialize the message + Owners of primitives on parcel - An containing the data - - Base class for Map Layers via Capabilities + + Prim Owners - - + + True of owner is group - - - Serialize the object - - An containing the objects data + + Total count of prims owned by OwnerID - - - Deserialize the message - - An containing the data + + true of OwnerID is currently online and is not a group - - - Sent by an agent to the capabilities server to request map layers - + + The date of the most recent prim left by OwnerID - + - A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates + Called once parcel resource usage information has been collected + Indicates if operation was successfull + Parcel resource usage information - - An array containing LayerData items + + The event subscribers. null if no subcribers - - - Serialize the object - - An containing the objects data + + Thread sync lock object - - - Deserialize the message - - An containing the data + + The event subscribers. null if no subcribers - - - An object containing map location details - + + Thread sync lock object - - The Asset ID of the regions tile overlay + + The event subscribers. null if no subcribers - - The grid location of the southern border of the map tile + + Thread sync lock object - - The grid location of the western border of the map tile + + The event subscribers. null if no subcribers - - The grid location of the eastern border of the map tile + + Thread sync lock object - - The grid location of the northern border of the map tile + + The event subscribers. null if no subcribers - - Object containing request or response + + Thread sync lock object - - - Serialize the object - - An containing the objects data + + The event subscribers. null if no subcribers - - - Deserialize the message - - An containing the data + + Thread sync lock object - - - New as of 1.23 RC1, no details yet. - + + The event subscribers. null if no subcribers - - - Serialize the object - - An containing the objects data + + Thread sync lock object - - - Deserialize the message - - An containing the data + + The event subscribers. null if no subcribers - - - Serialize the object - - An containing the objects data + + Thread sync lock object - - - Deserialize the message - - An containing the data + + The event subscribers. null if no subcribers - - A string containing the method used + + Thread sync lock object + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a Parcel Update request - - - A request sent from an agent to the Simulator to begin a new conference. - Contains a list of Agents which will be included in the conference - + + Raised when the parcel your agent is located sends a ParcelMediaCommand - - An array containing the of the agents invited to this conference + + Raises the ParcelDwellReply event + A ParcelDwellReplyEventArgs object containing the + data returned from the simulator - - The conferences Session ID + + Raises the ParcelInfoReply event + A ParcelInfoReplyEventArgs object containing the + data returned from the simulator - - - Serialize the object - - An containing the objects data + + Raises the ParcelProperties event + A ParcelPropertiesEventArgs object containing the + data returned from the simulator - - - Deserialize the message - - An containing the data + + Raises the ParcelAccessListReply event + A ParcelAccessListReplyEventArgs object containing the + data returned from the simulator - - - A moderation request sent from a conference moderator - Contains an agent and an optional action to take - + + Raises the ParcelObjectOwnersReply event + A ParcelObjectOwnersReplyEventArgs object containing the + data returned from the simulator - - The Session ID + + Raises the SimParcelsDownloaded event + A SimParcelsDownloadedEventArgs object containing the + data returned from the simulator - - + + Raises the ForceSelectObjectsReply event + A ForceSelectObjectsReplyEventArgs object containing the + data returned from the simulator - - A list containing Key/Value pairs, known valid values: - key: text value: true/false - allow/disallow specified agents ability to use text in session - key: voice value: true/false - allow/disallow specified agents ability to use voice in session - - "text" or "voice" + + Raises the ParcelMediaUpdateReply event + A ParcelMediaUpdateReplyEventArgs object containing the + data returned from the simulator - - + + Raises the ParcelMediaCommand event + A ParcelMediaCommandEventArgs object containing the + data returned from the simulator - + - Serialize the object + Request basic information for a single parcel - An containing the objects data + Simulator-local ID of the parcel - + - Deserialize the message + Request properties of a single parcel - An containing the data + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + multiple simultaneous requests - + - A message sent from the agent to the simulator which tells the - simulator we've accepted a conference invitation + Request the access list for a single parcel + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelAccessList reply, useful for distinguishing between + multiple simultaneous requests + + - - The conference SessionID - - + - Serialize the object + Request properties of parcels using a bounding box selection - An containing the objects data + Simulator containing the parcel + Northern boundary of the parcel selection + Eastern boundary of the parcel selection + Southern boundary of the parcel selection + Western boundary of the parcel selection + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + different types of parcel property requests + A boolean that is returned with the + ParcelProperties reply, useful for snapping focus to a single + parcel - + - Deserialize the message + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) - An containing the data + Simulator to request parcels from (must be connected) - + - Serialize the object + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) - An containing the objects data + Simulator to request parcels from (must be connected) + If TRUE, will force a full refresh + Number of milliseconds to pause in between each request - + - Deserialize the message + Request the dwell value for a parcel - An containing the data + Simulator containing the parcel + Simulator-local ID of the parcel - + - Serialize the object + Send a request to Purchase a parcel of land - An containing the objects data + The Simulator the parcel is located in + The parcels region specific local ID + true if this parcel is being purchased by a group + The groups + true to remove tier contribution if purchase is successful + The parcels size + The purchase price of the parcel + + - + - Deserialize the message + Reclaim a parcel of land - An containing the data + The simulator the parcel is in + The parcels region specific local ID - + - Serialize the object + Deed a parcel to a group - An containing the objects data + The simulator the parcel is in + The parcels region specific local ID + The groups - + - Deserialize the message + Request prim owners of a parcel of land. - An containing the data - - - Key of sender - - - Name of sender - - - Key of destination avatar - - - ID of originating estate - - - Key of originating region - - - Coordinates in originating region - - - Instant message type - - - Group IM session toggle - - - Key of IM session, for Group Messages, the groups UUID - - - Timestamp of the instant message - - - Instant message text - - - Whether this message is held for offline avatars - - - Context specific packed data + Simulator parcel is in + The parcels region specific local ID - - Is this invitation for voice group/conference chat + + + Return objects from a parcel + + Simulator parcel is in + The parcels region specific local ID + the type of objects to return, + A list containing object owners s to return - + - Serialize the object + Subdivide (split) a parcel - An containing the objects data + + + + + + + + + + - + - Deserialize the message + Join two parcels of land creating a single parcel - An containing the data + + + + + + + + + + - + - Sent from the simulator to the viewer. - - When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including - a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate - this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" - - During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are - excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with - the string "ENTER" or "LEAVE" respectively. + Get a parcels LocalID + Simulator parcel is in + Vector3 position in simulator (Z not used) + 0 on failure, or parcel LocalID on success. + A call to Parcels.RequestAllSimParcels is required to populate map and + dictionary. - + - Serialize the object + Terraform (raise, lower, etc) an area or whole parcel of land - An containing the objects data + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - + - Deserialize the message + Terraform (raise, lower, etc) an area or whole parcel of land - An containing the data + Simulator land area is in. + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - + - An EventQueue message sent when the agent is forcibly removed from a chatterbox session + Terraform (raise, lower, etc) an area or whole parcel of land + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - + - A string containing the reason the agent was removed + Terraform (raise, lower, etc) an area or whole parcel of land + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + Height at which the terraform operation is acting at - + - The ChatterBoxSession's SessionID + Sends a request to the simulator to return a list of objects owned by specific owners + Simulator local ID of parcel + Owners, Others, Etc + List containing keys of avatars objects to select; + if List is null will return Objects of type selectType + Response data is returned in the event - + - Serialize the object + Eject and optionally ban a user from a parcel - An containing the objects data + target key of avatar to eject + true to also ban target - + - Deserialize the message + Freeze or unfreeze an avatar over your land - An containing the data + target key to freeze + true to freeze, false to unfreeze - + - Serialize the object + Abandon a parcel of land - An containing the objects data + Simulator parcel is in + Simulator local ID of parcel - + - Deserialize the message + Requests the UUID of the parcel in a remote region at a specified location - An containing the data + Location of the parcel in the remote region + Remote region handle + Remote region UUID + If successful UUID of the remote parcel, UUID.Zero otherwise - + - Serialize the object + Retrieves information on resources used by the parcel - An containing the objects data + UUID of the parcel + Should per object resource usage be requested + Callback invoked when the request is complete - - - Deserialize the message - - An containing the data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - - Serialize the object - - An containing the objects data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - - Deserialize the message - - An containing the data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - - Serialize the object - - An containing the objects data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - - Deserialize the message - - An containing the data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Serialize the object - - An containing the objects data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - - Deserialize the message - - An containing the data + + Contains a parcels dwell data returned from the simulator in response to an - + - Serialize the object + Construct a new instance of the ParcelDwellReplyEventArgs class - An containing the objects data + The global ID of the parcel + The simulator specific ID of the parcel + The calculated dwell for the parcel - - - Deserialize the message - - An containing the data + + Get the global ID of the parcel - - - Serialize the object - - An containing the objects data + + Get the simulator specific ID of the parcel - - - Deserialize the message - - An containing the data + + Get the calculated dwell - - - A message sent from the viewer to the simulator which - specifies that the user has changed current URL - of the specific media on a prim face - + + Contains basic parcel information data returned from the + simulator in response to an request - + - New URL + Construct a new instance of the ParcelInfoReplyEventArgs class + The object containing basic parcel info - - - Prim UUID where navigation occured - + + Get the object containing basic parcel info - - - Face index - + + Contains basic parcel information data returned from the simulator in response to an request - + - Serialize the object + Construct a new instance of the ParcelPropertiesEventArgs class - An containing the objects data + The object containing the details + The object containing the details + The result of the request + The number of primitieves your agent is + currently selecting and or sitting on in this parcel + The user assigned ID used to correlate a request with + these results + TODO: - - - Deserialize the message - - An containing the data + + Get the simulator the parcel is located in - - Base class used for the ObjectMedia message + + Get the object containing the details + If Result is NoData, this object will not contain valid data - - - Message used to retrive prim media data - + + Get the result of the request - - - Prim UUID - + + Get the number of primitieves your agent is + currently selecting and or sitting on in this parcel - - - Requested operation, either GET or UPDATE - + + Get the user assigned ID used to correlate a request with + these results - - - Serialize object - - Serialized object as OSDMap + + TODO: - - - Deserialize the message - - An containing the data + + Contains blacklist and whitelist data returned from the simulator in response to an request - + - Message used to update prim media data + Construct a new instance of the ParcelAccessListReplyEventArgs class + The simulator the parcel is located in + The user assigned ID used to correlate a request with + these results + The simulator specific ID of the parcel + TODO: + The list containing the white/blacklisted agents for the parcel - - - Prim UUID - + + Get the simulator the parcel is located in - - - Array of media entries indexed by face number - + + Get the user assigned ID used to correlate a request with + these results - - - Media version string - + + Get the simulator specific ID of the parcel + + + TODO: + + + Get the list containing the white/blacklisted agents for the parcel + + + Contains blacklist and whitelist data returned from the + simulator in response to an request - + - Serialize object + Construct a new instance of the ParcelObjectOwnersReplyEventArgs class - Serialized object as OSDMap + The simulator the parcel is located in + The list containing prim ownership counts - - - Deserialize the message - - An containing the data + + Get the simulator the parcel is located in - - - Message used to update prim media data - + + Get the list containing prim ownership counts - - - Prim UUID - + + Contains the data returned when all parcel data has been retrieved from a simulator - + - Array of media entries indexed by face number + Construct a new instance of the SimParcelsDownloadedEventArgs class + The simulator the parcel data was retrieved from + The dictionary containing the parcel data + The multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. - - - Requested operation, either GET or UPDATE - + + Get the simulator the parcel data was retrieved from - - - Serialize object - - Serialized object as OSDMap + + A dictionary containing the parcel data where the key correlates to the ParcelMap entry - - - Deserialize the message - - An containing the data + + Get the multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. - + + Contains the data returned when a request + + - Message for setting or getting per face MediaEntry + Construct a new instance of the ForceSelectObjectsReplyEventArgs class + The simulator the parcel data was retrieved from + The list of primitive IDs + true if the list is clean and contains the information + only for a given request - - The request or response details block + + Get the simulator the parcel data was retrieved from - - - Serialize the object - - An containing the objects data + + Get the list of primitive IDs - - - Deserialize the message - - An containing the data + + true if the list is clean and contains the information + only for a given request - + + Contains data when the media data for a parcel the avatar is on changes + + - Represents a texture + Construct a new instance of the ParcelMediaUpdateReplyEventArgs class + the simulator the parcel media data was updated in + The updated media information - - A object containing image data - - - + + Get the simulator the parcel media data was updated in - - + + Get the updated media information - - Initializes a new instance of an AssetTexture object + + Contains the media command for a parcel the agent is currently on - + - Initializes a new instance of an AssetTexture object + Construct a new instance of the ParcelMediaCommandEventArgs class - A unique specific to this asset - A byte array containing the raw asset data + The simulator the parcel media command was issued in + + + + + The media command that was sent + + - + + Get the simulator the parcel media command was issued in + + - Initializes a new instance of an AssetTexture object - A object containing texture data - + - Populates the byte array with a JPEG2000 - encoded image created from the data in - + + Get the media command that was sent + + - Decodes the JPEG2000 data in AssetData to the - object - True if the decoding was successful, otherwise false - + - Decodes the begin and end byte positions for each quality layer in - the image - - - - Override the base classes AssetType - + - Add a custom decoder callback - The key of the field to decode - The custom decode handler - + - Remove a custom decoder callback - The key of the field to decode - The custom decode handler - + - Creates a formatted string containing the values of a Packet - The Packet - A formatted string of values of the nested items in the Packet object - + - Decode an IMessage object into a beautifully formatted string - The IMessage object - Recursion level (used for indenting) - A formatted string containing the names and values of the source object - + - A custom decoder callback - The key of the object - the data to decode - A string represending the fieldData - + - Static helper functions and global variables - - This header flag signals that ACKs are appended to the packet - - - This header flag signals that this packet has been sent before - - - This header flags signals that an ACK is expected for this packet - - - This header flag signals that the message is compressed using zerocoding + + + - + - - - - + - - - - - + - - - - + - - - - - + - Given an X/Y location in absolute (grid-relative) terms, a region - handle is returned along with the local X/Y location in that region - The absolute X location, a number such as - 255360.35 - The absolute Y location, a number such as - 255360.35 - The sim-local X position of the global X - position, a value from 0.0 to 256.0 - The sim-local Y position of the global Y - position, a value from 0.0 to 256.0 - A 64-bit region handle that can be used to teleport to - + - Converts a floating point number to a terse string format used for - transmitting numbers in wearable asset files - Floating point number to convert to a string - A terse string representation of the input number - + - Convert a variable length field (byte array) to a string, with a - field name prepended to each line of the output - If the byte array has unprintable characters in it, a - hex dump will be written instead - The StringBuilder object to write to - The byte array to convert to a string - A field name to prepend to each line of output - + - Decode a zerocoded byte array, used to decompress packets marked - with the zerocoded flag - Any time a zero is encountered, the next byte is a count - of how many zeroes to expand. One zero is encoded with 0x00 0x01, - two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The - first four bytes are copied directly to the output buffer. - - The byte array to decode - The length of the byte array to decode. This - would be the length of the packet up to (but not including) any - appended ACKs - The output byte array to decode to - The length of the output buffer - + - Encode a byte array with zerocoding. Used to compress packets marked - with the zerocoded flag. Any zeroes in the array are compressed down - to a single zero byte followed by a count of how many zeroes to expand - out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, - three zeroes becomes 0x00 0x03, etc. The first four bytes are copied - directly to the output buffer. - The byte array to encode - The length of the byte array to encode - The output byte array to encode to - The length of the output buffer - + + + + + - Calculates the CRC (cyclic redundancy check) needed to upload inventory. - Creation date - Sale type - Inventory type - Type - Asset ID - Group ID - Sale price - Owner ID - Creator ID - Item ID - Folder ID - Everyone mask (permissions) - Flags - Next owner mask (permissions) - Group mask (permissions) - Owner mask (permissions) - The calculated CRC - + - Attempts to load a file embedded in the assembly - The filename of the resource to load - A Stream for the requested file, or null if the resource - was not successfully loaded - + - Attempts to load a file either embedded in the assembly or found in - a given search path - The filename of the resource to load - An optional path that will be searched if - the asset is not found embedded in the assembly - A Stream for the requested file, or null if the resource - was not successfully loaded - + - Converts a list of primitives to an object that can be serialized - with the LLSD system - Primitives to convert to a serializable object - An object that can be serialized with LLSD - + - Deserializes OSD in to a list of primitives - Structure holding the serialized primitive list, - must be of the SDMap type - A list of deserialized primitives - - - Converts a struct or class object containing fields only into a key value separated string - - The struct object - A string containing the struct fields as the keys, and the field value as the value separated - - - // Add the following code to any struct or class containing only fields to override the ToString() - // method to display the values of the passed object - - /// Print the struct data as a string - ///A string containing the field name, and field value - public override string ToString() - { - return Helpers.StructToString(this); - } - - + + + - + - Passed to Logger.Log() to identify the severity of a log entry - - No logging information will be output + + + - - Non-noisy useful information, may be helpful in - debugging a problem + + + - - A non-critical error occurred. A warning will not - prevent the rest of the library from operating as usual, - although it may be indicative of an underlying issue + + + - - A critical error has occurred. Generally this will - be followed by the network layer shutting down, although the - stability of the library after an error is uncertain + + + - - Used for internal testing, this logging level can - generate very noisy (long and/or repetitive) messages. Don't - pass this to the Log() function, use DebugLog() instead. + + - - = + + + - - Number of times we've received an unknown CAPS exception in series. + + + - - For exponential backoff on error. + + + - + - Constants for the archiving module - + - The location of the archive control file - + - Path for the assets held in an archive - + - Path for the prims file + + + + - + - Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. - + - Path for region settings. - + - The character the separates the uuid from extension information in an archived asset filename - + - Extensions used for asset types in the archive - + - - - + + + + + + + - - + + + - - + + + - + - Thrown when a packet could not be successfully deserialized - + - Default constructor - + - Constructor that takes an additional error message - An error message to attach to this exception - + - The header of a message template packet. Holds packet flags, sequence - number, packet ID, and any ACKs that will be appended at the end of - the packet - + - Convert the AckList to a byte array, used for packet serializing - Reference to the target byte array - Beginning position to start writing to in the byte - array, will be updated with the ending position of the ACK list - + - - - - - - + - - - - + + + + - + - A block of data in a packet. Packets are composed of one or more blocks, - each block containing one or more fields - + - Create a block from a byte array - Byte array containing the serialized block - Starting position of the block in the byte array. - This will point to the data after the end of the block when the - call returns - + - Serialize this block into a byte array - Byte array to serialize this block into - Starting position in the byte array to serialize to. - This will point to the position directly after the end of the - serialized block when the call returns - - Current length of the data in this packet + + + - - A generic value, not an actual packet type + + + - - + + + + + + + - - + + + + + + + - - + + + + + + + + + - - + + + - - + + + + + + + - - + + + + + + + - - + + + + + - - + + + Class for controlling various system settings. + + Some values are readonly because they affect things that + happen when the GridClient object is initialized, so changing them at + runtime won't do any good. Non-readonly values may affect things that + happen at login or dynamically - - + + Constructor + Reference to a GridClient object - - + + Main grid login server - - + + Beta grid login server - - + + + InventoryManager requests inventory information on login, + GridClient initializes an Inventory store for main inventory. + - - + + + InventoryManager requests library information on login, + GridClient initializes an Inventory store for the library. + - - + + Number of milliseconds between sending pings to each sim - - + + Number of milliseconds between sending camera updates - - + + Number of milliseconds between updating the current + positions of moving, non-accelerating and non-colliding objects - - + + Millisecond interval between ticks, where all ACKs are + sent out and the age of unACKed packets is checked - - + + The initial size of the packet inbox, where packets are + stored before processing - - + + Maximum size of packet that we want to send over the wire - - + + The maximum value of a packet sequence number before it + rolls over back to one - - + + The maximum size of the sequence number archive, used to + check for resent and/or duplicate packets - - + + The relative directory where external resources are kept - - + + Login server to connect to - - + + IP Address the client will bind to - - + + Use XML-RPC Login or LLSD Login, default is XML-RPC Login - - + + Number of milliseconds before an asset transfer will time + out - - + + Number of milliseconds before a teleport attempt will time + out - - + + Number of milliseconds before NetworkManager.Logout() will + time out - - + + Number of milliseconds before a CAPS call will time out + Setting this too low will cause web requests time out and + possibly retry repeatedly - - + + Number of milliseconds for xml-rpc to timeout - - + + Milliseconds before a packet is assumed lost and resent - - + + Milliseconds without receiving a packet before the + connection to a simulator is assumed lost - - + + Milliseconds to wait for a simulator info request through + the grid interface - - + + Maximum number of queued ACKs to be sent before SendAcks() + is forced - - + + Network stats queue length (seconds) - - + + Enable/disable storing terrain heightmaps in the + TerrainManager - - + + Enable/disable sending periodic camera updates - - + + Enable/disable automatically setting agent appearance at + login and after sim crossing - - + + Enable/disable automatically setting the bandwidth throttle + after connecting to each simulator + The default throttle uses the equivalent of the maximum + bandwidth setting in the official client. If you do not set a + throttle your connection will by default be throttled well below + the minimum values and you may experience connection problems - - + + Enable/disable the sending of pings to monitor lag and + packet loss - - + + Should we connect to multiple sims? This will allow + viewing in to neighboring simulators and sim crossings + (Experimental) - - + + If true, all object update packets will be decoded in to + native objects. If false, only updates for our own agent will be + decoded. Registering an event handler will force objects for that + type to always be decoded. If this is disabled the object tracking + will have missing or partial prim and avatar information - - + + If true, when a cached object check is received from the + server the full object info will automatically be requested - - + + Whether to establish connections to HTTP capabilities + servers for simulators - - + + Whether to decode sim stats - - + + The capabilities servers are currently designed to + periodically return a 502 error which signals for the client to + re-establish a connection. Set this to true to log those 502 errors - - + + If true, any reference received for a folder or item + the library is not aware of will automatically be fetched - - + + If true, and SEND_AGENT_UPDATES is true, + AgentUpdate packets will continuously be sent out to give the bot + smoother movement and autopiloting - - + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectAvatars. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received - - + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectPrimitives. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received - - + + If true, position and velocity will periodically be + interpolated (extrapolated, technically) for objects and + avatars that are being tracked by the library. This is + necessary to increase the accuracy of speed and position + estimates for simulated objects - - + + + If true, utilization statistics will be tracked. There is a minor penalty + in CPU time for enabling this option. + - - + + If true, parcel details will be stored in the + Simulator.Parcels dictionary as they are received - - + + + If true, an incoming parcel properties reply will automatically send + a request for the parcel access list + - - + + + if true, an incoming parcel properties reply will automatically send + a request for the traffic count. + - - + + + If true, images, and other assets downloaded from the server + will be cached in a local directory + - - + + Path to store cached texture data - - + + Maximum size cached files are allowed to take on disk (bytes) - - + + Default color used for viewer particle effects - - + + Maximum number of times to resend a failed packet - - + + Throttle outgoing packet rate - - + + UUID of a texture used by some viewers to indentify type of client used - - + + + Download textures using GetTexture capability when available + - - + + The maximum number of concurrent texture downloads allowed + Increasing this number will not necessarily increase texture retrieval times due to + simulator throttles - - + + + The Refresh timer inteval is used to set the delay between checks for stalled texture downloads + + This is a static variable which applies to all instances - - + + + Textures taking longer than this value will be flagged as timed out and removed from the pipeline + - - + + + Get or set the minimum log level to output to the console by default + If the library is not compiled with DEBUG defined and this level is set to DEBUG + You will get no output on the console. This behavior can be overriden by creating + a logger configuration file for log4net + - - + + Attach avatar names to log messages - - + + Log packet retransmission info - - + + Cost of uploading an asset + Read-only since this value is dynamically fetched at login - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + + Simulator (region) properties + - - + + No flags set - - + + Agents can take damage and be killed - - + + Landmarks can be created here - - + + Home position can be set in this sim - - + + Home position is reset when an agent teleports away - - + + Sun does not move - - + + No object, land, etc. taxes - - + + Disable heightmap alterations (agents can still plant + foliage) - - + + Land cannot be released, sold, or purchased - - + + All content is wiped nightly - - + + Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) - - + + Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. - - + + Region does not update agent prim interest lists. Internal debugging option. - - + + No collision detection for non-agent objects - - + + No scripts are ran - - + + All physics processing is turned off - - + + Region can be seen from other regions on world map. (Legacy world map option?) - - + + Region can be seen from mainland on world map. (Legacy world map option?) - - + + Agents not explicitly on the access list can visit the region. - - + + Traffic calculations are not run across entire region, overrides parcel settings. - - + + Flight is disabled (not currently enforced by the sim) - - + + Allow direct (p2p) teleporting - - + + Estate owner has temporarily disabled scripting - - + + Restricts the usage of the LSL llPushObject function, applies to whole region. - - + + Deny agents with no payment info on file - - + + Deny agents with payment info on file - - + + Deny agents who have made a monetary transaction - - + + Parcels within the region may be joined or divided by anyone, not just estate owners/managers. - - + + Abuse reports sent from within this region are sent to the estate owner defined email. - - + + Region is Voice Enabled - - + + Removes the ability from parcel owners to set their parcels to show in search. - - + + Deny agents who have not been age verified from entering the region. - - + + + Access level for a simulator + - - + + Unknown or invalid access level - - + + Trial accounts allowed - - + + PG rating - - + + Mature rating - - + + Adult rating - - + + Simulator is offline - - + + Simulator does not exist - - + + + - - + + + + Reference to the GridClient object + IPEndPoint of the simulator + handle of the simulator - - + + + Simulator Statistics + - - + + Total number of packets sent by this simulator to this agent - - + + Total number of packets received by this simulator to this agent - - + + Total number of bytes sent by this simulator to this agent - - + + Total number of bytes received by this simulator to this agent - - + + Time in seconds agent has been connected to simulator - - + + Total number of packets that have been resent - - + + Total number of resent packets recieved - - + + Total number of pings sent to this simulator by this agent - - + + Total number of ping replies sent to this agent by this simulator - - + + + Incoming bytes per second + + It would be nice to have this claculated on the fly, but + this is far, far easier - - + + + Outgoing bytes per second + + It would be nice to have this claculated on the fly, but + this is far, far easier - - + + Time last ping was sent - - + + ID of last Ping sent - - + + + - - + + + - - + + Current time dilation of this simulator - - + + Current Frames per second of simulator - - + + Current Physics frames per second of simulator - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + Total number of objects Simulator is simulating - - + + Total number of Active (Scripted) objects running - - + + Number of agents currently in this simulator - - + + Number of agents in neighbor simulators - - + + Number of Active scripts running in this simulator - - + + + - - + + + - - + + + - - + + Number of downloads pending - - + + Number of uploads pending - - + + + - - + + + - - + + Number of local uploads pending - - + + Unacknowledged bytes in queue - - + + A public reference to the client that this Simulator object + is attached to - - + + A Unique Cache identifier for this simulator - - + + The capabilities for this simulator - - + + + - - + + The current version of software this simulator is running - - + + + - - + + A 64x64 grid of parcel coloring values. The values stored + in this array are of the type - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + true if your agent has Estate Manager rights on this region - - + + + - - + + + - - + + + - - + + Statistics information for this simulator and the + connection to the simulator, calculated by the simulator itself + and the library - - + + The regions Unique ID - - + + The physical data center the simulator is located + Known values are: + DallasChandlerSF - - + + The CPU Class of the simulator + Most full mainland/estate sims appear to be 5, + Homesteads and Openspace appear to be 501 - - + + The number of regions sharing the same CPU as this one + "Full Sims" appear to be 1, Homesteads appear to be 4 - - + + The billing product name + Known values are: + Mainland / Full Region (Sku: 023)Estate / Full Region (Sku: 024)Estate / Openspace (Sku: 027)Estate / Homestead (Sku: 029)Mainland / Homestead (Sku: 129) (Linden Owned)Mainland / Linden Homes (Sku: 131) - - + + The billing product SKU + Known values are: + 023 Mainland / Full Region024 Estate / Full Region027 Estate / Openspace029 Estate / Homestead129 Mainland / Homestead (Linden Owned)131 Linden Homes / Full Region - - + + The current sequence number for packets sent to this + simulator. Must be Interlocked before modifying. Only + useful for applications manipulating sequence numbers - - + + + A thread-safe dictionary containing avatars in a simulator + - - + + + A thread-safe dictionary containing primitives in a simulator + - - + + + Provides access to an internal thread-safe dictionary containing parcel + information found in this simulator + - - + + Used internally to track sim disconnections - - + + Event that is triggered when the simulator successfully + establishes a connection - - + + Whether this sim is currently connected or not. Hooked up + to the property Connected - - + + Coarse locations of avatars in this simulator - - + + AvatarPositions key representing TrackAgent target - - + + Sequence numbers of packets we've received + (for duplicate checking) - - + + Packets we sent out that need ACKs from the simulator - - + + Sequence number for pause/resume - - + + Indicates if UDP connection to the sim is fully established - - + + + Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. + - - + + The IP address and port of the server - - + + Whether there is a working connection to the simulator or + not - - + + Coarse locations of avatars in this simulator - - + + AvatarPositions key representing TrackAgent target - - + + Indicates if UDP connection to the sim is fully established - - + + + Checks simulator parcel map to make sure it has downloaded all data successfully + + true if map is full (contains no 0's) - - + + + Called when this Simulator object is being destroyed + - - + + + Attempt to connect to this simulator + + Whether to move our agent in to this sim or not + True if the connection succeeded or connection status is + unknown, false if there was a failure - - + + + Initiates connection to the simulator + - - + + + Disconnect from this simulator + - - + + + Instructs the simulator to stop sending update (and possibly other) packets + - - + + + Instructs the simulator to resume sending update packets (unpause) + - - + + + Retrieve the terrain height at a given coordinate + + Sim X coordinate, valid range is from 0 to 255 + Sim Y coordinate, valid range is from 0 to 255 + The terrain height at the given point if the + lookup was successful, otherwise 0.0f + True if the lookup was successful, otherwise false - - + + + Sends a packet + + Packet to be sent - - + + + - - + + + Returns Simulator Name as a String + + + - - + + + + + - - + + + + + + + - - + + + Sends out pending acknowledgements + + Number of ACKs sent - - + + + Resend unacknowledged packets + - - + + + - - + + + Construct a new instance of the SoundManager class, used for playing and receiving + sound assets + + A reference to the current GridClient instance - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + Raised when the simulator sends us data containing + sound - - + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - - + + Raises the AttachedSound Event + A AttachedSoundEventArgs object containing + the data sent from the simulator - - + + Raises the AttachedSoundGainChange Event + A AttachedSoundGainChangeEventArgs object containing + the data sent from the simulator - - + + Raises the SoundTrigger Event + A SoundTriggerEventArgs object containing + the data sent from the simulator - - + + Raises the PreloadSound Event + A PreloadSoundEventArgs object containing + the data sent from the simulator - - + + + Plays a sound in the current region at full volume from avatar position + + UUID of the sound to be played - - + + + Plays a sound in the current region at full volume + + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. - - + + + Plays a sound in the current region + + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - - + + + Plays a sound in the specified sim + + UUID of the sound to be played. + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - - + + + Play a sound asset + + UUID of the sound to be played. + handle id for the sim to be played in. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Provides data for the event + The event occurs when the simulator sends + the sound data which emits from an agents attachment + + The following code example shows the process to subscribe to the event + and a stub to handle the data passed from the simulator + + // Subscribe to the AttachedSound event + Client.Sound.AttachedSound += Sound_AttachedSound; + // process the data raised in the event here + private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) + { + // ... Process AttachedSoundEventArgs here ... + } + - - + + + Construct a new instance of the SoundTriggerEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The volume level + The - - + + Simulator where the event originated - - + + Get the sound asset id - - + + Get the ID of the owner - - + + Get the ID of the Object - - + + Get the volume level - - + + Get the - - + + Provides data for the event + The event occurs when an attached sound + changes its volume level - - + + + Construct a new instance of the AttachedSoundGainChangedEventArgs class + + Simulator where the event originated + The ID of the Object + The new volume level - - + + Simulator where the event originated - - + + Get the ID of the Object - - + + Get the volume level - - + + Provides data for the event + + The event occurs when the simulator forwards + a request made by yourself or another agent to play either an asset sound or a built in sound + Requests to play sounds where the is not one of the built-in + will require sending a request to download the sound asset before it can be played + + + The following code example uses the , + and + properties to display some information on a sound request on the window. + + // subscribe to the event + Client.Sound.SoundTrigger += Sound_SoundTrigger; + // play the pre-defined BELL_TING sound + Client.Sound.SendSoundTrigger(Sounds.BELL_TING); + // handle the response data + private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) + { + Console.WriteLine("{0} played the sound {1} at volume {2}", + e.OwnerID, e.SoundID, e.Gain); + } + - - + + + Construct a new instance of the SoundTriggerEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The ID of the objects parent + The volume level + The regionhandle + The source position - - + + Simulator where the event originated - - + + Get the sound asset id - - + + Get the ID of the owner - - + + Get the ID of the Object - - + + Get the ID of the objects parent - - + + Get the volume level - - + + Get the regionhandle - - + + Get the source position - - + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + - - + + + Construct a new instance of the PreloadSoundEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object - - + + Simulator where the event originated - - + + Get the sound asset id - - + + Get the ID of the owner - - + + Get the ID of the Object - - + + + pre-defined built in sounds + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + coins - - + + cash register bell - - + + + - - + + + - - + + rubber - - + + plastic - - + + flesh - - + + wood splintering? - - + + glass break - - + + metal clunk - - + + whoosh - - + + shake - - + + + - - + + ding - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + A dictionary containing all pre-defined sounds + + A dictionary containing the pre-defined sounds, + where the key is the sounds ID, and the value is a string + containing a name to identify the purpose of the sound - - + + X position of this patch - - + + Y position of this patch - - + + A 16x16 array of floats holding decompressed layer data - - + + + Creates a LayerData packet for compressed land data given a full + simulator heightmap and an array of indices of patches to compress + + A 256 * 256 array of floating point values + specifying the height at each meter in the simulator + Array of indexes in the 16x16 grid of patches + for this simulator. For example if 1 and 17 are specified, patches + x=1,y=0 and x=1,y=1 are sent + + - - + + + Add a patch of terrain to a BitPacker + + BitPacker to write the patch to + Heightmap of the simulator, must be a 256 * + 256 float array + X offset of the patch to create, valid values are + from 0 to 15 + Y offset of the patch to create, valid values are + from 0 to 15 - - + + + Default constructor + + + - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + Raised when the simulator responds sends - - + + Raises the LandPatchReceived event + A LandPatchReceivedEventArgs object containing the + data returned from the simulator - - + + Simulator from that sent tha data - - + + Sim coordinate of the patch - - + + Sim coordinate of the patch - - + + Size of tha patch - - + + Heightmap for the patch - - + + + The current status of a texture request as it moves through the pipeline or final result of a texture request. + - - + + The initial state given to a request. Requests in this state + are waiting for an available slot in the pipeline - - + + A request that has been added to the pipeline and the request packet + has been sent to the simulator - - + + A request that has received one or more packets back from the simulator - - + + A request that has received all packets back from the simulator - - + + A request that has taken longer than + to download OR the initial packet containing the packet information was never received - - + + The texture request was aborted by request of the agent - - + + The simulator replied to the request that it was not able to find the requested texture - - + + + Texture request download handler, allows a configurable number of download slots which manage multiple + concurrent texture downloads from the + This class makes full use of the internal + system for full texture downloads. - - + + + Default constructor, Instantiates a new copy of the TexturePipeline class + + Reference to the instantiated object - - + + + A request task containing information and status of a request as it is processed through the - - + + The current which identifies the current status of the request - - + + The Unique Request ID, This is also the Asset ID of the texture being requested - - + + The slot this request is occupying in the threadpoolSlots array - - + + The ImageType of the request. - - + + The callback to fire when the request is complete, will include + the and the + object containing the result data - - + + If true, indicates the callback will be fired whenever new data is returned from the simulator. + This is used to progressively render textures as portions of the texture are received. - - + + An object that maintains the data of an request thats in-process. - - + + A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID + and also the Asset Texture ID, and the value is an object containing the current state of the request and also + the asset data as it is being re-assembled - - + + Holds the reference to the client object - - + + Maximum concurrent texture requests allowed at a time - - + + An array of objects used to manage worker request threads - - + + An array of worker slots which shows the availablity status of the slot - - + + The primary thread which manages the requests. - - + + true if the TexturePipeline is currently running - - + + A synchronization object used by the primary thread - - + + A refresh timer used to increase the priority of stalled requests - - + + Current number of pending and in-process transfers - - + + + Initialize callbacks required for the TexturePipeline to operate + - - + + + Shutdown the TexturePipeline and cleanup any callbacks or transfers + - - + + + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request - - + + + Sends the actual request packet to the simulator + + The image to download + Type of the image to download, either a baked + avatar texture or a normal texture + Priority level of the download. Default is + 1,013,000.0f + Number of quality layers to discard. + This controls the end marker of the data sent + Packet number to start the download at. + This controls the start marker of the data sent + Sending a priority of 0 and a discardlevel of -1 aborts + download - - + + + Cancel a pending or in process texture request + + The texture assets unique ID - - + + + Master Download Thread, Queues up downloads in the threadpool + - - + + + The worker thread that sends the request and handles timeouts + + A object containing the request details - - + + + Handle responses from the simulator that tell us a texture we have requested is unable to be located + or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use + + The sender + The EventArgs object containing the packet data - - + + + Handles the remaining Image data that did not fit in the initial ImageData packet + + The sender + The EventArgs object containing the packet data - - + + + Handle the initial ImageDataPacket sent from the simulator + + The sender + The EventArgs object containing the packet data - - + + + - - + + + Delegate to wrap another delegate and its arguments + + + + + - - + + + An instance of DelegateWrapper which calls InvokeWrappedDelegate, + which in turn calls the DynamicInvoke method of the wrapped + delegate + - - + + + Callback used to call EndInvoke on the asynchronously + invoked DelegateWrapper + - - + + + Executes the specified delegate with the specified arguments + asynchronously on a thread pool thread + + + + + - - + + + Invokes the wrapped delegate synchronously + + + + + - - + + + Calls EndInvoke on the wrapper and Close on the resulting WaitHandle + to prevent resource leaks + + + - - + + + - - + + + Initialize the UDP packet handler in server mode + + Port to listening for incoming UDP packets on - - + + + Initialize the UDP packet handler in client mode + + Remote UDP server to connect to - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + Thrown when a packet could not be successfully deserialized + - - + + + Default constructor + - - + + + Constructor that takes an additional error message + + An error message to attach to this exception - - + + + The header of a message template packet. Holds packet flags, sequence + number, packet ID, and any ACKs that will be appended at the end of + the packet + - - + + + Convert the AckList to a byte array, used for packet serializing + + Reference to the target byte array + Beginning position to start writing to in the byte + array, will be updated with the ending position of the ACK list - - + + + + + + + + + + + - - + + + + + + + + + - - + + + A block of data in a packet. Packets are composed of one or more blocks, + each block containing one or more fields + - - + + Current length of the data in this packet - - + + + Create a block from a byte array + + Byte array containing the serialized block + Starting position of the block in the byte array. + This will point to the data after the end of the block when the + call returns - - + + + Serialize this block into a byte array + + Byte array to serialize this block into + Starting position in the byte array to serialize to. + This will point to the position directly after the end of the + serialized block when the call returns - - + + A generic value, not an actual packet type - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - The avatar has no rights + + - - The avatar can see the online status of the target avatar + + - - The avatar can see the location of the target avatar on the map + + - - The avatar can modify the ojects of the target avatar + + - - - This class holds information about an avatar in the friends list. There are two ways - to interface to this class. The first is through the set of boolean properties. This is the typical - way clients of this class will use it. The second interface is through two bitflag properties, - TheirFriendsRights and MyFriendsRights - + + - - - Used internally when building the initial list of friends at login time - - System ID of the avatar being prepesented - Rights the friend has to see you online and to modify your objects - Rights you have to see your friend online and to modify their objects + + - - - FriendInfo represented as a string - - A string reprentation of both my rights and my friends rights + + - - - System ID of the avatar - + + - - - full name of the avatar - + + - - - True if the avatar is online - + + - - - True if the friend can see if I am online - + + - - - True if the friend can see me on the map - + + - - - True if the freind can modify my objects - + + - - - True if I can see if my friend is online - + + - - - True if I can see if my friend is on the map - + + - - - True if I can modify my friend's objects - + + - - - My friend's rights represented as bitmapped flags - + + - - - My rights represented as bitmapped flags - + + - - - This class is used to add and remove avatars from your friends list and to manage their permission. - + + - - The event subscribers. null if no subcribers + + - - Raises the FriendOnline event - A FriendInfoEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the FriendOffline event - A FriendInfoEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the FriendRightsUpdate event - A FriendInfoEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the FriendNames event - A FriendNamesEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the FriendshipOffered event - A FriendshipOfferedEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the FriendshipResponse event - A FriendshipResponseEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the FriendshipTerminated event - A FriendshipTerminatedEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the FriendFoundReply event - A FriendFoundReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - - A dictionary of key/value pairs containing known friends of this avatar. - - The Key is the of the friend, the value is a - object that contains detailed information including permissions you have and have given to the friend - + + - - - A Dictionary of key/value pairs containing current pending frienship offers. - - The key is the of the avatar making the request, - the value is the of the request which is used to accept - or decline the friendship offer - + + - - - Internal constructor - - A reference to the GridClient Object + + - - - Accept a friendship request - - agentID of avatatar to form friendship with - imSessionID of the friendship request message + + - - - Decline a friendship request - - of friend - imSessionID of the friendship request message + + - - - Overload: Offer friendship to an avatar. - - System ID of the avatar you are offering friendship to + + - - - Offer friendship to an avatar. - - System ID of the avatar you are offering friendship to - A message to send with the request + + - - - Terminate a friendship with an avatar - - System ID of the avatar you are terminating the friendship with + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - - Change the rights of a friend avatar. - - the of the friend - the new rights to give the friend - This method will implicitly set the rights to those passed in the rights parameter. + + - - - Use to map a friends location on the grid. - - Friends UUID to find - + + - - - Use to track a friends movement on the grid - - Friends Key + + - - - Ask for a notification of friend's online status - - Friend's UUID + + - - - This handles the asynchronous response of a RequestAvatarNames call. - - - names cooresponding to the the list of IDs sent the the RequestAvatarNames call. + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - - Populate FriendList with data from the login reply - - true if login was successful - true if login request is requiring a redirect - A string containing the response to the login request - A string containing the reason for the request - A object containing the decoded - reply from the login server + + - - Raised when the simulator sends notification one of the members in our friends list comes online + + - - Raised when the simulator sends notification one of the members in our friends list goes offline + + - - Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions + + - - Raised when the simulator sends us the names on our friends list + + - - Raised when the simulator sends notification another agent is offering us friendship + + - - Raised when a request we sent to friend another agent is accepted or declined + + - - Raised when the simulator sends notification one of the members in our friends list has terminated - our friendship + + - - Raised when the simulator sends the location of a friend we have - requested map location info for + + - - Contains information on a member of our friends list + + - - - Construct a new instance of the FriendInfoEventArgs class - - The FriendInfo + + - - Get the FriendInfo + + - - Contains Friend Names + + - - - Construct a new instance of the FriendNamesEventArgs class - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name + + - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name + + - - Sent when another agent requests a friendship with our agent + + - - - Construct a new instance of the FriendshipOfferedEventArgs class - - The ID of the agent requesting friendship - The name of the agent requesting friendship - The ID of the session, used in accepting or declining the - friendship offer + + - - Get the ID of the agent requesting friendship + + - - Get the name of the agent requesting friendship + + - - Get the ID of the session, used in accepting or declining the - friendship offer + + - - A response containing the results of our request to form a friendship with another agent + + - - - Construct a new instance of the FriendShipResponseEventArgs class - - The ID of the agent we requested a friendship with - The name of the agent we requested a friendship with - true if the agent accepted our friendship offer + + - - Get the ID of the agent we requested a friendship with + + - - Get the name of the agent we requested a friendship with + + - - true if the agent accepted our friendship offer + + - - Contains data sent when a friend terminates a friendship with us + + - - - Construct a new instance of the FrindshipTerminatedEventArgs class - - The ID of the friend who terminated the friendship with us - The name of the friend who terminated the friendship with us + + - - Get the ID of the agent that terminated the friendship with us + + - - Get the name of the agent that terminated the friendship with us + + - - - Data sent in response to a request which contains the information to allow us to map the friends location - + + - - - Construct a new instance of the FriendFoundReplyEventArgs class - - The ID of the agent we have requested location information for - The region handle where our friend is located - The simulator local position our friend is located + + - - Get the ID of the agent we have received location information for + + - - Get the region handle where our mapped friend is located + + - - Get the simulator local position where our friend is located + + - - - - - Looking direction, must be a normalized vector - Up direction, must be a normalized vector + + - - - Align the coordinate frame X and Y axis with a given rotation - around the Z axis in radians - - Absolute rotation around the Z axis in - radians + + - - Origin position of this coordinate frame + + - - X axis of this coordinate frame, or Forward/At in grid terms + + - - Y axis of this coordinate frame, or Left in grid terms + + - - Z axis of this coordinate frame, or Up in grid terms + + - - - Throttles the network traffic for various different traffic types. - Access this class through GridClient.Throttle - + + - - - Default constructor, uses a default high total of 1500 KBps (1536000) - + + - - - Constructor that decodes an existing AgentThrottle packet in to - individual values - - Reference to the throttle data in an AgentThrottle - packet - Offset position to start reading at in the - throttle data - This is generally not needed in clients as the server will - never send a throttle packet to the client + + - - - Send an AgentThrottle packet to the current server using the - current values - + + - - - Send an AgentThrottle packet to the specified server using the - current values - + + - - - Convert the current throttle values to a byte array that can be put - in an AgentThrottle packet - - Byte array containing all the throttle values + + - - Maximum bits per second for resending unacknowledged packets + + - - Maximum bits per second for LayerData terrain + + - - Maximum bits per second for LayerData wind data + + - - Maximum bits per second for LayerData clouds + + - - Unknown, includes object data + + - - Maximum bits per second for textures + + - - Maximum bits per second for downloaded assets + + - - Maximum bits per second the entire connection, divided up - between invidiual streams using default multipliers + + - - - Permission request flags, asked when a script wants to control an Avatar - + + - - Placeholder for empty values, shouldn't ever see this + + - - Script wants ability to take money from you + + - - Script wants to take camera controls for you + + - - Script wants to remap avatars controls + + - - Script wants to trigger avatar animations - This function is not implemented on the grid + + - - Script wants to attach or detach the prim or primset to your avatar + + - - Script wants permission to release ownership - This function is not implemented on the grid - The concept of "public" objects does not exist anymore. + + - - Script wants ability to link/delink with other prims + + - - Script wants permission to change joints - This function is not implemented on the grid + + - - Script wants permissions to change permissions - This function is not implemented on the grid + + + + + - - Script wants to track avatars camera position and rotation + + - - Script wants to control your camera + + - - - Special commands used in Instant Messages - + + - - Indicates a regular IM from another agent + + - - Simple notification box with an OK button + + - - You've been invited to join a group. + + - - Inventory offer + + - - Accepted inventory offer + + - - Declined inventory offer + + - - Group vote + + - - An object is offering its inventory + + - - Accept an inventory offer from an object + + - - Decline an inventory offer from an object + + - - Unknown + + - - Start a session, or add users to a session + + - - Start a session, but don't prune offline users + + - - Start a session with your group + + - - Start a session without a calling card (finder or objects) + + - - Send a message to a session + + - - Leave a session + + - - Indicates that the IM is from an object + + - - Sent an IM to a busy user, this is the auto response + + - - Shows the message in the console and chat history + + - - Send a teleport lure + + - - Response sent to the agent which inititiated a teleport invitation + + - - Response sent to the agent which inititiated a teleport invitation + + - - Only useful if you have Linden permissions + + - - A placeholder type for future expansion, currently not - used + + - - IM to tell the user to go to an URL + + - - IM for help + + - - IM sent automatically on call for help, sends a lure - to each Helper reached + + - - Like an IM but won't go to email + + - - IM from a group officer to all group members + + - - Unknown + + - - Unknown + + - - Accept a group invitation + + - - Decline a group invitation + + - - Unknown + + - - An avatar is offering you friendship + + - - An avatar has accepted your friendship offer + + - - An avatar has declined your friendship offer + + - - Indicates that a user has started typing + + - - Indicates that a user has stopped typing + + - - - Flag in Instant Messages, whether the IM should be delivered to - offline avatars as well - + + - - Only deliver to online avatars + + - - If the avatar is offline the message will be held until - they login next, and possibly forwarded to their e-mail account + + - - - Conversion type to denote Chat Packet types in an easier-to-understand format - + + - - Whisper (5m radius) + + - - Normal chat (10/20m radius), what the official viewer typically sends + + - - Shouting! (100m radius) + + - - Event message when an Avatar has begun to type + + - - Event message when an Avatar has stopped typing + + - - Send the message to the debug channel + + - - Event message when an object uses llOwnerSay + + - - Special value to support llRegionSay, never sent to the client + + - - - Identifies the source of a chat message - + + - - Chat from the grid or simulator + + - - Chat from another avatar + + - - Chat from an object + + - - - - + + - - + + - - + + - - + + - - - Effect type used in ViewerEffect packets - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - Project a beam from a source to a destination, such as - the one used when editing an object + + - - + + - - + + - - + + - - Create a swirl of particles around an object + + - - + + - - + + - - Cause an avatar to look at an object + + - - Cause an avatar to point at an object + + - - - The action an avatar is doing when looking at something, used in - ViewerEffect packets for the LookAt effect - + + - - + + - - + + - - + + - - + + - - + + - - + + - - Deprecated + + - - + + - - + + - - + + - - + + - - - The action an avatar is doing when pointing at something, used in - ViewerEffect packets for the PointAt effect - + + - - + + - - + + - - + + - - + + - - - Money transaction types - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - Flags sent when a script takes or releases a control - - NOTE: (need to verify) These might be a subset of the ControlFlags enum in Movement, + + - - No Flags set + + - - Forward (W or up Arrow) + + - - Back (S or down arrow) + + - - Move left (shift+A or left arrow) + + - - Move right (shift+D or right arrow) + + - - Up (E or PgUp) + + - - Down (C or PgDown) + + - - Rotate left (A or left arrow) + + - - Rotate right (D or right arrow) + + - - Left Mouse Button + + - - Left Mouse button in MouseLook + + - - - Currently only used to hide your group title - + + - - No flags set + + - - Hide your group title + + - - - Action state of the avatar, which can currently be typing and - editing - + + - - + + - - + + - - + + - - - Current teleport status - + + - - Unknown status + + - - Teleport initialized + + - - Teleport in progress + + - - Teleport failed + + - - Teleport completed + + - - Teleport cancelled + + - - - - + + - - No flags set, or teleport failed + + - - Set when newbie leaves help island for first time + + - - + + - - Via Lure + + - - Via Landmark + + - - Via Location + + - - Via Home + + - - Via Telehub + + - - Via Login + + - - Linden Summoned + + - - Linden Forced me + + - - + + - - Agent Teleported Home via Script + + - - + + - - + + - - + + - - forced to new location for example when avatar is banned or ejected + + - - Teleport Finished via a Lure + + - - Finished, Sim Changed + + - - Finished, Same Sim + + - - - - + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - - Instant Message - + + - - Key of sender + + - - Name of sender + + - - Key of destination avatar + + - - ID of originating estate + + - - Key of originating region + + - - Coordinates in originating region + + - - Instant message type + + - - Group IM session toggle + + - - Key of IM session, for Group Messages, the groups UUID + + - - Timestamp of the instant message + + - - Instant message text + + - - Whether this message is held for offline avatars + + - - Context specific packed data + + - - Print the struct data as a string - A string containing the field name, and field value + + - - - - + + - - - Construct a new instance of the ChatEventArgs object - - Sim from which the message originates - The message sent - The audible level of the message - The type of message sent: whisper, shout, etc - The source type of the message sender - The name of the agent or object sending the message - The ID of the agent or object sending the message - The ID of the object owner, or the agent ID sending the message - The position of the agent or object sending the message + + - - Get the simulator sending the message + + - - Get the message sent + + - - Get the audible level of the message + + - - Get the type of message sent: whisper, shout, etc + + - - Get the source type of the message sender + + - - Get the name of the agent or object sending the message + + - - Get the ID of the agent or object sending the message + + - - Get the ID of the object owner, or the agent ID sending the message + + - - Get the position of the agent or object sending the message + + - - Contains the data sent when a primitive opens a dialog with this agent + + - - - Construct a new instance of the ScriptDialogEventArgs - - The dialog message - The name of the object that sent the dialog request - The ID of the image to be displayed - The ID of the primitive sending the dialog - The first name of the senders owner - The last name of the senders owner - The communication channel the dialog was sent on - The string labels containing the options presented in this dialog + + - - Get the dialog message + + - - Get the name of the object that sent the dialog request + + - - Get the ID of the image to be displayed + + - - Get the ID of the primitive sending the dialog + + - - Get the first name of the senders owner + + - - Get the last name of the senders owner + + - - Get the communication channel the dialog was sent on, responses - should also send responses on this same channel + + - - Get the string labels containing the options presented in this dialog + + - - Contains the data sent when a primitive requests debit or other permissions - requesting a YES or NO answer + + - - - Construct a new instance of the ScriptQuestionEventArgs - - The simulator containing the object sending the request - The ID of the script making the request - The ID of the primitive containing the script making the request - The name of the primitive making the request - The name of the owner of the object making the request - The permissions being requested + + - - Get the simulator containing the object sending the request + + - - Get the ID of the script making the request + + - - Get the ID of the primitive containing the script making the request + + - - Get the name of the primitive making the request + + - - Get the name of the owner of the object making the request + + - - Get the permissions being requested + + - - Contains the data sent when a primitive sends a request - to an agent to open the specified URL + + - - - Construct a new instance of the LoadUrlEventArgs - - The name of the object sending the request - The ID of the object sending the request - The ID of the owner of the object sending the request - True if the object is owned by a group - The message sent with the request - The URL the object sent + + + + + - - Get the name of the object sending the request + + - - Get the ID of the object sending the request + + - - Get the ID of the owner of the object sending the request + + - - True if the object is owned by a group + + - - Get the message sent with the request + + - - Get the URL the object sent + + - - The date received from an ImprovedInstantMessage + + - + + + + + + + - Construct a new instance of the InstantMessageEventArgs object + Operation to apply when applying color to texture - the InstantMessage object - the simulator where the InstantMessage origniated - - Get the InstantMessage object - - - Get the simulator where the InstantMessage origniated + + + Information needed to translate visual param value to RGBA color + - - Contains the currency balance + + + Construct VisualColorParam + + Operation to apply when applying color to texture + Colors - + - Construct a new BalanceEventArgs object + Represents alpha blending and bump infor for a visual parameter + such as sleive length - The currenct balance - + - Get the currenct balance + Create new alhpa information for a visual param + Stregth of the alpha to apply + File containing the alpha channel + Skip blending if parameter value is 0 + Use miltiply insted of alpha blending - - Contains the transaction summary when an item is purchased, - money is given, or land is purchased + + Stregth of the alpha to apply - + + File containing the alpha channel + + + Skip blending if parameter value is 0 + + + Use miltiply insted of alpha blending + + - Construct a new instance of the MoneyBalanceReplyEventArgs object + A single visual characteristic of an avatar mesh, such as eyebrow height - The ID of the transaction - True of the transaction was successful - The current currency balance - The meters credited - The meters comitted - A brief description of the transaction - - Get the ID of the transaction + + + Set all the values through the constructor + + Index of this visual param + Internal name + + + + + Displayable label of this characteristic + Displayable label for the minimum value of this characteristic + Displayable label for the maximum value of this characteristic + Default value + Minimum value + Maximum value + Is this param used for creation of bump layer? + Array of param IDs that are drivers for this parameter + Alpha blending/bump info + Color information - - True of the transaction was successful + + Index of this visual param - - Get the remaining currency balance + + Internal name - - Get the meters credited + + Group ID this parameter belongs to - - Get the meters comitted + + Name of the wearable this parameter belongs to - - Get the description of the transaction + + Displayable label of this characteristic - - Data sent from the simulator containing information about your agent and active group information + + Displayable label for the minimum value of this characteristic - - - Construct a new instance of the AgentDataReplyEventArgs object - - The agents first name - The agents last name - The agents active group ID - The group title of the agents active group - The combined group powers the agent has in the active group - The name of the group the agent has currently active + + Displayable label for the maximum value of this characteristic - - Get the agents first name + + Default value - - Get the agents last name + + Minimum value - - Get the active group ID of your agent + + Maximum value - - Get the active groups title of your agent + + Is this param used for creation of bump layer? - - Get the combined group powers of your agent + + Alpha blending/bump info - - Get the active group name of your agent + + Color information - - Data sent by the simulator to indicate the active/changed animations - applied to your agent + + Array of param IDs that are drivers for this parameter - + - Construct a new instance of the AnimationsChangedEventArgs class + Holds the Params array of all the avatar appearance parameters - The dictionary that contains the changed animations - - Get the dictionary that contains the changed animations + + + Base class for all Asset types + - + - Data sent from a simulator indicating a collision with your agent + Construct a new Asset object - + - Construct a new instance of the MeanCollisionEventArgs class + Construct a new Asset object - The type of collision that occurred - The ID of the agent or object that perpetrated the agression - The ID of the Victim - The strength of the collision - The Time the collision occurred + A unique specific to this asset + A byte array containing the raw asset data - - Get the Type of collision + + A byte array containing the raw asset data - - Get the ID of the agent or object that collided with your agent + + True if the asset it only stored on the server temporarily - - Get the ID of the agent that was attacked + + A unique ID - - A value indicating the strength of the collision + + The assets unique ID - - Get the time the collision occurred + + + The "type" of asset, Notecard, Animation, etc + - - Data sent to your agent when it crosses region boundaries + + + Regenerates the AssetData byte array from the properties + of the derived class. + + + + + Decodes the AssetData, placing it in appropriate properties of the derived + class. + + True if the asset decoding succeeded, otherwise false + + + + Constants for the archiving module + + + + + The location of the archive control file + + + + + Path for the assets held in an archive + + + + + Path for the prims file + + + + + Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. + - + - Construct a new instance of the RegionCrossedEventArgs class + Path for region settings. - The simulator your agent just left - The simulator your agent is now in - - - Get the simulator your agent just left - - Get the simulator your agent is now in + + + The character the separates the uuid from extension information in an archived asset filename + - - Data sent from the simulator when your agent joins a group chat session + + + Extensions used for asset types in the archive + - + - Construct a new instance of the GroupChatJoinedEventArgs class + Archives assets - The ID of the session - The name of the session - A temporary session id used for establishing new sessions - True of your agent successfully joined the session - - Get the ID of the group chat session + + + Archive assets + - - Get the name of the session + + + Archive the assets given to this archiver to the given archive. + + + - - Get the temporary session ID used for establishing new sessions + + + Write an assets metadata file to the given archive + + + - - True if your agent successfully joined the session + + + Write asset data files to the given archive + + + - - The session information when your agent exits a group chat session + + + Temporary code to do the bare minimum required to read a tar archive for our purposes + - + - Construct a new instance of the GroupChatLeftEventArgs class + Generate a tar reader which reads from the given stream. - The ID of the session your agent left + + - - Get the ID of the session your agent left + + + Binary reader for the underlying stream + - - Data sent by the simulator containing urgent messages + + + Used to trim off null chars + - + - Construct a new instance of the AlertMessageEventArgs class + Used to trim off space chars - The alert message - - Get the alert message + + + Read the next entry in the tar file. + + + + + + the data for the entry. Returns null if there are no more entries - - Data sent by a script requesting to take or release specified controls to your agent + + + Read the next 512 byte chunk of data as a tar header. + + A tar header struct. null if we have reached the end of the archive. - + - Construct a new instance of the ScriptControlEventArgs class + Read data following a header - The controls the script is attempting to take or release to the agent - True if the script is passing controls back to the agent - True if the script is requesting controls be released to the script + + + + - - Get the controls the script is attempting to take or release to the agent + + + Convert octal bytes to a decimal representation + + + + + + + + + - - True if the script is passing controls back to the agent + + + Temporary code to produce a tar archive in tar v7 format + - - True if the script is requesting controls be released to the script + + + Binary writer for the underlying stream + - + - Data sent from the simulator to an agent to indicate its view limits + Write a directory entry to the tar archive. We can only handle one path level right now! + + - + - Construct a new instance of the CameraConstraintEventArgs class + Write a file to the tar archive - The collision plane + + + + - - Get the collision plane + + + Write a file to the tar archive + + + + + - + - Data containing script sensor requests which allow an agent to know the specific details - of a primitive sending script sensor requests + Finish writing the raw tar archive data to a stream. The stream will be closed on completion. - + - Construct a new instance of the ScriptSensorReplyEventArgs + Write a particular entry - The ID of the primitive sending the sensor - The ID of the group associated with the primitive - The name of the primitive sending the sensor - The ID of the primitive sending the sensor - The ID of the owner of the primitive sending the sensor - The position of the primitive sending the sensor - The range the primitive specified to scan - The rotation of the primitive sending the sensor - The type of sensor the primitive sent - The velocity of the primitive sending the sensor + + + + + + - - Get the ID of the primitive sending the sensor + + + Represents an Animation + - - Get the ID of the group associated with the primitive + + Default Constructor - - Get the name of the primitive sending the sensor + + + Construct an Asset object of type Animation + + A unique specific to this asset + A byte array containing the raw asset data - - Get the ID of the primitive sending the sensor + + Override the base classes AssetType - - Get the ID of the owner of the primitive sending the sensor + + + Represents an that represents an avatars body ie: Hair, Etc. + - - Get the position of the primitive sending the sensor + + Initializes a new instance of an AssetBodyPart object - - Get the range the primitive specified to scan + + Initializes a new instance of an AssetBodyPart object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - Get the rotation of the primitive sending the sensor + + Override the base classes AssetType - - Get the type of sensor the primitive sent + + + Represents an that can be worn on an avatar + such as a Shirt, Pants, etc. + - - Get the velocity of the primitive sending the sensor + + Initializes a new instance of an AssetScriptBinary object - - Contains the response data returned from the simulator in response to a + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - Construct a new instance of the AvatarSitResponseEventArgs object + + Override the base classes AssetType - - Get the ID of the primitive the agent will be sitting on + + + Type of gesture step + - - True if the simulator Autopilot functions were involved + + + Base class for gesture steps + - - Get the camera offset of the agent when seated + + + Retururns what kind of gesture step this is + - - Get the camera eye offset of the agent when seated + + + Describes animation step of a gesture + - - True of the agent will be in mouselook mode when seated + + + If true, this step represents start of animation, otherwise animation stop + - - Get the position of the agent when seated + + + Animation asset - - Get the rotation of the agent when seated + + + Animation inventory name + - - Data sent when an agent joins a chat session your agent is currently participating in + + + Returns what kind of gesture step this is + - + - Construct a new instance of the ChatSessionMemberAddedEventArgs object + Describes sound step of a gesture - The ID of the chat session - The ID of the agent joining - - Get the ID of the chat session + + + Sound asset - - Get the ID of the agent that joined + + + Sound inventory name + - - Data sent when an agent exits a chat session your agent is currently participating in + + + Returns what kind of gesture step this is + - + - Construct a new instance of the ChatSessionMemberLeftEventArgs object + Describes sound step of a gesture - The ID of the chat session - The ID of the Agent that left - - Get the ID of the chat session + + + Text to output in chat + - - Get the ID of the agent that left + + + Returns what kind of gesture step this is + - + - Identifier code for primitive types + Describes sound step of a gesture - - None + + + If true in this step we wait for all animations to finish + - - A Primitive + + + If true gesture player should wait for the specified amount of time + - - A Avatar + + + Time in seconds to wait if WaitForAnimation is false + - - Linden grass + + + Returns what kind of gesture step this is + - - Linden tree + + + Describes the final step of a gesture + - - A primitive that acts as the source for a particle stream + + + Returns what kind of gesture step this is + - - A Linden tree + + + Represents a sequence of animations, sounds, and chat actions + - + - Primary parameters for primitives such as Physics Enabled or Phantom + Constructs guesture asset - - Deprecated + + + Constructs guesture asset + + A unique specific to this asset + A byte array containing the raw asset data - - Whether physics are enabled for this object + + + Keyboard key that triggers the gestyre + - - + + + Modifier to the trigger key + - - + + + String that triggers playing of the gesture sequence + - - + + + Text that replaces trigger in chat once gesture is triggered + - - + + + Sequence of gesture steps + - - + + + Returns asset type + - - + + + Encodes gesture asset suitable for uplaod + - - Whether this object contains an active touch script + + + Decodes gesture assset into play sequence + + true if the asset data was decoded successfully - - + + + Represents a Landmark with RegionID and Position vector + - - Whether this object can receive payments + + Construct an Asset of type Landmark - - Whether this object is phantom (no collisions) + + + Construct an Asset object of type Landmark + + A unique specific to this asset + A byte array containing the raw asset data - - + + UUID of the Landmark target region - - + + Local position of the target - - + + Override the base classes AssetType - - + + + Encode the raw contents of a string with the specific Landmark format + - - Deprecated + + + Decode the raw asset data, populating the RegionID and Position + + true if the AssetData was successfully decoded to a UUID and Vector - - + + + Represents a string of characters encoded with specific formatting properties + - - + + Construct an Asset of type Notecard - - + + + Construct an Asset object of type Notecard + + A unique specific to this asset + A byte array containing the raw asset data - - Deprecated + + A text string containing main text of the notecard - - + + List of s embedded on the notecard - - + + Override the base classes AssetType - - + + + Encode the raw contents of a string with the specific Linden Text properties + - - + + + Decode the raw asset data including the Linden Text properties + + true if the AssetData was successfully decoded - - Server flag, will not be sent to clients. Specifies that - the object is destroyed when it touches a simulator edge + + + A linkset asset, containing a parent primitive and zero or more children + - - Server flag, will not be sent to clients. Specifies that - the object will be returned to the owner's inventory when it - touches a simulator edge + + Initializes a new instance of an AssetPrim object - - Server flag, will not be sent to clients. + + + Initializes a new instance of an AssetPrim object + + A unique specific to this asset + A byte array containing the raw asset data - - Server flag, will not be sent to client. Specifies that - the object is hovering/flying + + + Only used internally for XML serialization/deserialization + - - + + Override the base classes AssetType - - + + + - - + + + + + - - + + + The deserialized form of a single primitive in a linkset asset + - + - Sound flags for sounds attached to primitives + Represents an AssetScriptBinary object containing the + LSO compiled bytecode of an LSL script - - + + Initializes a new instance of an AssetScriptBinary object - - + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + Override the base classes AssetType - - + + + TODO: Encodes a scripts contents into a LSO Bytecode file + - - + + + TODO: Decode LSO Bytecode into a string + + true - - + + + Represents an LSL Text object containing a string of UTF encoded characters + - - + + Initializes a new AssetScriptText object - + - Material type for a primitive + Initializes a new AssetScriptText object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + + A string of characters represting the script contents - - + + Override the base classes AssetType - - + + + Encode a string containing the scripts contents into byte encoded AssetData + - - + + + Decode a byte array containing the scripts contents into a string + + true if decoding is successful - - + + + Represents a Sound Asset + - - + + Initializes a new instance of an AssetSound object - - + + Initializes a new instance of an AssetSound object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + Override the base classes AssetType - - + + + TODO: Encodes a sound file + - + - Used in a helper function to roughly determine prim shape + TODO: Decode a sound file + true - + - Extra parameters for primitives, these flags are for features that have - been added after the original ObjectFlags that has all eight bits - reserved already + Represents a texture - - Whether this object has flexible parameters - - - Whether this object has light parameters - - - Whether this object is a sculpted prim + + Initializes a new instance of an AssetTexture object - + - + Initializes a new instance of an AssetTexture object + A unique specific to this asset + A byte array containing the raw asset data - - - - - - - - - - + - + Initializes a new instance of an AssetTexture object + A object containing texture data - - - - - - - - - - - - - - - - - - - - + + A object containing image data - + - - - - - - - - - - - - - - - + + + - - + + Override the base classes AssetType - - + + + Populates the byte array with a JPEG2000 + encoded image created from the data in - - + + + Decodes the JPEG2000 data in AssetData to the + object + True if the decoding was successful, otherwise false - - + + + Decodes the begin and end byte positions for each quality layer in + the image + + + - + - + Represents a Wearable Asset, Clothing, Hair, Skin, Etc - - + + Initializes a new instance of an AssetWearable object - - + + Initializes a new instance of an AssetWearable object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + A string containing the name of the asset - - + + A string containing a short description of the asset - - + + The Assets WearableType - - + + The For-Sale status of the object - - + + An Integer representing the purchase price of the asset - - - Attachment points for objects on avatar bodies - - - Both InventoryObject and InventoryAttachment types can be attached - + + The of the assets creator - - Right hand if object was not previously attached + + The of the assets current owner - - Chest + + The of the assets prior owner - - Skull + + The of the Group this asset is set to - - Left shoulder + + True if the asset is owned by a - - Right shoulder + + The Permissions mask of the asset - - Left hand + + A Dictionary containing Key/Value pairs of the objects parameters - - Right hand + + A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures - - Left foot + + + Decode an assets byte encoded data to a string + + true if the asset data was decoded successfully - - Right foot + + + Encode the assets string represantion into a format consumable by the asset server + - - Spine + + = - - Pelvis + + Number of times we've received an unknown CAPS exception in series. - - Mouth + + For exponential backoff on error. - - Chin + + + A set of textures that are layered on texture of each other and "baked" + in to a single texture, for avatar appearances + - - Left ear + + + Default constructor + + Bake type - - Right ear + + Final baked texture - - Left eyeball + + Component layers - - Right eyeball + + Width of the final baked image and scratchpad - - Nose + + Height of the final baked image and scratchpad - - Right upper arm + + Bake type - - Right forearm + + Final baked texture - - Left upper arm + + Component layers - - Left forearm + + Width of the final baked image and scratchpad - - Right hip + + Height of the final baked image and scratchpad - - Right upper leg + + Bake type - - Right lower leg + + Is this one of the 3 skin bakes - - Left hip + + + Adds layer for baking + + TexturaData struct that contains texture and its params - - Left upper leg + + + Converts avatar texture index (face) to Bake type + + Face number (AvatarTextureIndex) + BakeType, layer to which this texture belongs to - - Left lower leg + + + Make sure images exist, resize source if needed to match the destination + + Destination image + Source image + Sanitization was succefull - - Stomach + + + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if + the image is a pure solid color + + Color of the base of this layer - - Left pectoral + + + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if + the image is a pure solid color + + Red value + Green value + Blue value - - Right pectoral + + + Create a new blank image + + width + height + channel flags - - HUD Center position 2 + + + + + - - HUD Top-right + + + Image width + - - HUD Top + + + Image height + - - HUD Top-left + + + Image channel flags + - - HUD Center + + + Red channel data + - - HUD Bottom-left + + + Green channel data + - - HUD Bottom + + + Blue channel data + - - HUD Bottom-right + + + Alpha channel data + - + - Tree foliage types + Bump channel data - - Pine1 tree + + + Convert the channels in the image. Channels are created or destroyed as required. + + new channel flags - - Oak tree + + + Resize or stretch the image using nearest neighbor (ugly) resampling + + new width + new height - - Tropical Bush1 + + + Create a byte array containing 32-bit RGBA data with a bottom-left + origin, suitable for feeding directly into OpenGL + + A byte array containing raw texture data - - Palm1 tree + + + A Wrapper around openjpeg to encode and decode images to and from byte arrays + - - Dogwood tree + + + Defines the beginning and ending file positions of a layer in an + LRCP-progression JPEG2000 file + - - Tropical Bush2 + + + This structure is used to marshal both encoded and decoded images. + MUST MATCH THE STRUCT IN dotnet.h! + - - Palm2 tree + + + Information about a single packet in a JPEG2000 stream + - - Cypress1 tree + + Packet start position - - Cypress2 tree + + Packet header end position - - Pine2 tree + + Packet end position - - Plumeria + + TGA Header size - - Winter pinetree1 + + OpenJPEG is not threadsafe, so this object is used to lock + during calls into unmanaged code - - Winter Aspen tree + + + Encode a object into a byte array + + The object to encode + true to enable lossless conversion, only useful for small images ie: sculptmaps + A byte array containing the encoded Image object - - Winter pinetree2 + + + Encode a object into a byte array + + The object to encode + a byte array of the encoded image - - Eucalyptus tree + + + Decode JPEG2000 data to an and + + JPEG2000 encoded data + ManagedImage object to decode to + Image object to decode to + True if the decode succeeds, otherwise false - - Fern + + + + + + + + + - - Eelgrass + + + + + + + + + + + - - Sea Sword + + + Encode a object into a byte array + + The source object to encode + true to enable lossless decoding + A byte array containing the source Bitmap object - - Kelp1 plant + + + Capability to load TGAs to Bitmap + - - Beach grass + + + Interface requirements for Messaging system + - - Kelp2 plant + + + Abstract base for rendering plugins + - + - Grass foliage types + Generates a basic mesh structure from a primitive + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh - - + + + Generates a basic mesh structure from a sculpted primitive and + texture + + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh - - + + + Generates a series of faces, each face containing a mesh and + metadata + + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh - - + + + Generates a series of faces for a sculpted prim, each face + containing a mesh and metadata + + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh - - + + + Apply texture coordinate modifications from a + to a list of vertices + + Vertex list to modify texture coordinates for + Center-point of the face + Face texture parameters - - + + + Sent to the client to indicate a teleport request has completed + - - + + The of the agent - + - Action associated with clicking on an object - - Touch object - - - Sit on object + + The simulators handle the agent teleported to - - Purchase object or contents + + A Uri which contains a list of Capabilities the simulator supports - - Pay the object + + Indicates the level of access required + to access the simulator, or the content rating, or the simulators + map status - - Open task inventory + + The IP Address of the simulator - - Play parcel media + + The UDP Port the simulator will listen for UDP traffic on - - Open parcel media + + Status flags indicating the state of the Agent upon arrival, Flying, etc. - + - A set of textures that are layered on texture of each other and "baked" - in to a single texture, for avatar appearances + Serialize the object + An containing the objects data - - Final baked texture - - - Component layers - - - Width of the final baked image and scratchpad - - - Height of the final baked image and scratchpad - - - Bake type - - + - Default constructor + Deserialize the message - Bake type + An containing the data - + - Adds layer for baking + Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. - TexturaData struct that contains texture and its params - + - Converts avatar texture index (face) to Bake type + Serialize the object - Face number (AvatarTextureIndex) - BakeType, layer to which this texture belongs to + An containing the objects data - + - Make sure images exist, resize source if needed to match the destination + Deserialize the message - Destination image - Source image - Sanitization was succefull + An containing the data - + - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color + Serialize the object - Color of the base of this layer + An containing the objects data - + - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color + Deserialize the message - Red value - Green value - Blue value - - - Final baked texture - - - Component layers - - - Width of the final baked image and scratchpad - - - Height of the final baked image and scratchpad - - - Bake type - - - Is this one of the 3 skin bakes - - - The event subscribers. null if no subcribers - - - Raises the LandPatchReceived event - A LandPatchReceivedEventArgs object containing the - data returned from the simulator + An containing the data - - Thread sync lock object + + + Serialize the object + + An containing the objects data - + - Default constructor + Deserialize the message - + An containing the data - + - Retrieve the terrain height at a given coordinate + A message sent to the client which indicates a teleport request has failed + and contains some information on why it failed - The region that the point of interest is in - Sim X coordinate, valid range is from 0 to 255 - Sim Y coordinate, valid range is from 0 to 255 - The terrain height at the given point if the - lookup was successful, otherwise 0.0f - True if the lookup was successful, otherwise false - - Raised when the simulator responds sends + + + - - Simulator from that sent tha data + + A string key of the reason the teleport failed e.g. CouldntTPCloser + Which could be used to look up a value in a dictionary or enum - - Sim coordinate of the patch + + The of the Agent - - Sim coordinate of the patch + + A string human readable message containing the reason + An example: Could not teleport closer to destination - - Size of tha patch + + + Serialize the object + + An containing the objects data - - Heightmap for the patch + + + Deserialize the message + + An containing the data - + - The InternalDictionary class is used through the library for storing key/value pairs. - It is intended to be a replacement for the generic Dictionary class and should - be used in its place. It contains several methods for allowing access to the data from - outside the library that are read only and thread safe. - + Serialize the object - Key - Value + An containing the objects data - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking - on this member + + + Deserialize the message + + An containing the data - + - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. + Contains a list of prim owner information for a specific parcel in a simulator - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); - - + + A Simulator will always return at least 1 entry + If agent does not have proper permission the OwnerID will be UUID.Zero + If agent does not have proper permission OR there are no primitives on parcel + the DataBlocksExtended map will not be sent from the simulator + - + - Initializes a new instance of the Class - with the specified key/value, has its initial valies copied from the specified - + Prim ownership information for a specified owner on a single parcel - - to copy initial values from - - - // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. - // populates with copied values from example KeyNameCache Dictionary. - - // create source dictionary - Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); - KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); - KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); - - // Initialize new dictionary. - public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); - - - + + The of the prim owner, + UUID.Zero if agent has no permission to view prim owner information + + + The total number of prims + + + True if the OwnerID is a + + + True if the owner is online + This is no longer used by the LL Simulators + + + The date the most recent prim was rezzed + + + An Array of objects + + - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. + Serialize the object - Initial size of dictionary - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); - - + An containing the objects data - + - Try to get entry from with specified key + Deserialize the message - Key to use for lookup - Value returned - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - + An containing the data - + - Finds the specified match. + The details of a single parcel in a region, also contains some regionwide globals - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - + + Simulator-local ID of this parcel - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - + + Maximum corner of the axis-aligned bounding box for this + parcel - - Perform an on each entry in an - to perform - - - // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. - Client.Network.CurrentSim.ObjectsPrimitives.ForEach( - delegate(Primitive prim) - { - if (prim.Text != null) - { - Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", - prim.PropertiesFamily.Name, prim.ID, prim.Text); - } - }); - - + + Minimum corner of the axis-aligned bounding box for this + parcel - - Perform an on each key of an - to perform + + Total parcel land area - + - Perform an on each KeyValuePair of an - to perform - - Check if Key exists in Dictionary - Key to check for - if found, otherwise + + Key of authorized buyer - - Check if Value exists in Dictionary - Value to check for - if found, otherwise + + Bitmap describing land layout in 4x4m squares across the + entire region - + - Adds the specified key to the dictionary, dictionary locking is not performed, - - The key - The value - - - Removes the specified key, dictionary locking is not performed - - The key. - if successful, otherwise + + Date land was claimed - - - Gets the number of Key/Value pairs contained in the - + + Appears to always be zero - + + Parcel Description + + - Indexer for the dictionary - The key - The value - + - Avatar group management - - Key of Group Member - - - Total land contribution - - - Online status information - - - Abilities that the Group Member has - - - Current group title + + Total number of primitives owned by the parcel group on + this parcel - - Is a group owner + + Whether the land is deeded to a group or not - + - Role manager for a group - - Key of the group + + Maximum number of primitives this parcel supports - - Key of Role + + The Asset UUID of the Texture which when applied to a + primitive will display the media - - Name of Role + + A URL which points to any Quicktime supported media type - - Group Title associated with Role + + A byte, if 0x1 viewer should auto scale media to fit object - - Description of Role + + URL For Music Stream - - Abilities Associated with Role + + Parcel Name - - Returns the role's title - The role's title + + Autoreturn value in minutes for others' objects - + - Class to represent Group Title - - Key of the group - - - ID of the role title belongs to - - - Group Title + + Total number of other primitives on this parcel - - Whether title is Active + + UUID of the owner of this parcel - - Returns group title + + Total number of primitives owned by the parcel owner on + this parcel - + - Represents a group on the grid - - Key of Group - - - Key of Group Insignia + + How long is pass valid for - - Key of Group Founder + + Price for a temporary pass - - Key of Group Role for Owners + + + - - Name of Group + + + - - Text of Group Charter + + + - - Title of "everyone" role + + + - - Is the group open for enrolement to everyone + + True if the region denies access to age unverified users - - Will group show up in search + + + - - + + This field is no longer used - - + + The result of a request for parcel properties + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it - - + + + Number of primitives your avatar is currently + selecting and sitting on in this parcel + - - Is the group Mature + + + - - Cost of group membership + + + A number which increments by 1, starting at 0 for each ParcelProperties request. + Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. + a Negative number indicates the action in has occurred. + - - + + Maximum primitives across the entire simulator - - + + Total primitives across the entire simulator - - The total number of current members this group has + + + - - The number of roles this group has configured + + Key of parcel snapshot - - Show this group in agent's profile + + Parcel ownership status - - Returns the name of the group - A string containing the name of the group + + Total number of primitives on this parcel - + - A group Vote - - Key of Avatar who created Vote + + + - - Text of the Vote proposal + + A description of the media - - Total number of votes + + An Integer which represents the height of the media - - - A group proposal - + + An integer which represents the width of the media - - The Text of the proposal + + A boolean, if true the viewer should loop the media - - The minimum number of members that must vote before proposal passes or failes + + A string which contains the mime type of the media - - The required ration of yes/no votes required for vote to pass - The three options are Simple Majority, 2/3 Majority, and Unanimous - TODO: this should be an enum + + true to obscure (hide) media url - - The duration in days votes are accepted + + true to obscure (hide) music url - + - + Serialize the object + An containing the objects data - - - - - - - - + + + Deserialize the message + + An containing the data - - + + A message sent from the viewer to the simulator to updated a specific parcels settings - - + + The of the agent authorized to purchase this + parcel of land or a NULL if the sale is authorized to anyone - - + + true to enable auto scaling of the parcel media - - + + The category of this parcel used when search is enabled to restrict + search results - - + + A string containing the description to set - - + + The of the which allows for additional + powers and restrictions. - - + + The which specifies how avatars which teleport + to this parcel are handled - - + + The LocalID of the parcel to update settings on - - + + A string containing the description of the media which can be played + to visitors - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - + - Struct representing a group notice - - + + + - - + + + - - + + + - - + + + - + - - - + - Struct representing a group notice list entry - - Notice ID + + + - - Creation timestamp of notice + + + - - Agent name who created notice + + + - - Notice subject + + + Deserialize the message + + An containing the data - - Is there an attachment? + + + Serialize the object + + An containing the objects data - - Attachment Type + + Base class used for the RemoteParcelRequest message - + - Struct representing a member of a group chat session and their settings + A message sent from the viewer to the simulator to request information + on a remote parcel - - The of the Avatar + + Local sim position of the parcel we are looking up - - True if user has voice chat enabled + + Region handle of the parcel we are looking up - - True of Avatar has moderator abilities + + Region of the parcel we are looking up - - True if a moderator has muted this avatars chat + + + Serialize the object + + An containing the objects data - - True if a moderator has muted this avatars voice + + + Deserialize the message + + An containing the data - + - Role update flags + A message sent from the simulator to the viewer in response to a + which will contain parcel information - - + + The grid-wide unique parcel ID - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + A message containing a request for a remote parcel from a viewer, or a response + from the simulator to that request + - - + + The request or response details block - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - Can send invitations to groups default role + + + Serialize the object + + An containing the objects data - - Can eject members from group + + + Deserialize the message + + An containing the data - - Can toggle 'Open Enrollment' and change 'Signup fee' + + + Serialize the object + + An containing the objects data - - Member is visible in the public member list + + + Deserialize the message + + An containing the data + + + + A message sent from the simulator to an agent which contains + the groups the agent is in + - - Can create new roles + + Group Details specific to the agent - - Can delete existing roles + + true of the agent accepts group notices - - Can change Role names, titles and descriptions + + The agents tier contribution to the group - - Can assign other members to assigners role + + The Groups - - Can assign other members to any role + + The of the groups insignia - - Can remove members from roles + + The name of the group - - Can assign and remove abilities in roles + + The aggregate permissions the agent has in the group for all roles the agent + is assigned - - Can change group Charter, Insignia, 'Publish on the web' and which - members are publicly visible in group member listings + + An optional block containing additional agent specific information - - Can buy land or deed land to group + + true of the agent allows this group to be + listed in their profile - - Can abandon group owned land to Governor Linden on mainland, or Estate owner for - private estates + + The Agent receiving the message - - Can set land for-sale information on group owned parcels + + An array containing information + for each the agent is a member of - - Can subdivide and join parcels + + An array containing information + for each the agent is a member of - - Can join group chat sessions + + + Serialize the object + + An containing the objects data - - Can use voice chat in Group Chat sessions + + + Deserialize the message + + An containing the data - - Can moderate group chat sessions + + + A message sent from the viewer to the simulator which + specifies the language and permissions for others to detect + the language specified + - - Can toggle "Show in Find Places" and set search category + + A string containng the default language + to use for the agent - - Can change parcel name, description, and 'Publish on web' settings + + true of others are allowed to + know the language setting - - Can set the landing point and teleport routing on group land + + + Serialize the object + + An containing the objects data - - Can change music and media settings + + + Deserialize the message + + An containing the data - - Can toggle 'Edit Terrain' option in Land settings + + + An EventQueue message sent from the simulator to an agent when the agent + leaves a group + - - Can toggle various About Land > Options settings + + An object containing the Agents UUID, and the Groups UUID - - Can always terraform land, even if parcel settings have it turned off + + The ID of the Agent leaving the group - - Can always fly while over group owned land + + The GroupID the Agent is leaving - - Can always rez objects on group owned land + + + An Array containing the AgentID and GroupID + - - Can always create landmarks for group owned parcels + + + Serialize the object + + An containing the objects data - - Can set home location on any group owned parcel + + + Deserialize the message + + An containing the data - - Can modify public access settings for group owned parcels + + Base class for Asset uploads/results via Capabilities - - Can manager parcel ban lists on group owned land + + + The request state + - - Can manage pass list sales information + + + Serialize the object + + An containing the objects data - - Can eject and freeze other avatars on group owned land + + + Deserialize the message + + An containing the data - - Can return objects set to group + + + A message sent from the viewer to the simulator to request a temporary upload capability + which allows an asset to be uploaded + - - Can return non-group owned/set objects + + The Capability URL sent by the simulator to upload the baked texture to - - Can return group owned objects + + + A message sent from the simulator that will inform the agent the upload is complete, + and the UUID of the uploaded asset + - - Can landscape using Linden plants + + The uploaded texture asset ID - - Can deed objects to group + + + A message sent from the viewer to the simulator to request a temporary + capability URI which is used to upload an agents baked appearance textures + - - Can move group owned objects + + Object containing request or response - - Can set group owned objects for-sale + + + Serialize the object + + An containing the objects data - - Pay group liabilities and receive group dividends + + + Deserialize the message + + An containing the data - - Can send group notices + + + A message sent from the simulator which indicates the minimum version required for + using voice chat + - - Can receive group notices + + Major Version Required - - Can create group proposals + + Minor version required - - Can vote on group proposals + + The name of the region sending the version requrements - + - Handles all network traffic related to reading and writing group - information + Serialize the object + An containing the objects data - - The event subscribers. null if no subcribers - - - Raises the CurrentGroups event - A CurrentGroupsEventArgs object containing the - data sent from the simulator - - - Thread sync lock object + + + Deserialize the message + + An containing the data - - The event subscribers. null if no subcribers + + + A message sent from the simulator to the viewer containing the + voice server URI + - - Raises the GroupNamesReply event - A GroupNamesEventArgs object containing the - data response from the simulator + + The Parcel ID which the voice server URI applies - - Thread sync lock object + + The name of the region - - The event subscribers. null if no subcribers + + A uri containing the server/channel information + which the viewer can utilize to participate in voice conversations - - Raises the GroupProfile event - An GroupProfileEventArgs object containing the - data returned from the simulator + + + Serialize the object + + An containing the objects data - - Thread sync lock object + + + Deserialize the message + + An containing the data - - The event subscribers. null if no subcribers + + + - - Raises the GroupMembers event - A GroupMembersEventArgs object containing the - data returned from the simulator + + + - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + Serialize the object + + An containing the objects data - - Raises the GroupRolesDataReply event - A GroupRolesDataReplyEventArgs object containing the - data returned from the simulator + + + Deserialize the message + + An containing the data - - Thread sync lock object + + + A message sent by the viewer to the simulator to request a temporary + capability for a script contained with in a Tasks inventory to be updated + - - The event subscribers. null if no subcribers + + Object containing request or response - - Raises the GroupRoleMembersReply event - A GroupRolesRoleMembersReplyEventArgs object containing the - data returned from the simulator + + + Serialize the object + + An containing the objects data - - Thread sync lock object + + + Deserialize the message + + An containing the data - - The event subscribers. null if no subcribers + + + A message sent from the simulator to the viewer to indicate + a Tasks scripts status. + - - Raises the GroupTitlesReply event - A GroupTitlesReplyEventArgs object containing the - data returned from the simulator + + The Asset ID of the script - - Thread sync lock object + + True of the script is compiled/ran using the mono interpreter, false indicates it + uses the older less efficient lsl2 interprter - - The event subscribers. null if no subcribers + + The Task containing the scripts - - Raises the GroupAccountSummary event - A GroupAccountSummaryReplyEventArgs object containing the - data returned from the simulator + + true of the script is in a running state - - Thread sync lock object + + + Serialize the object + + An containing the objects data - - The event subscribers. null if no subcribers + + + Deserialize the message + + An containing the data - - Raises the GroupCreated event - An GroupCreatedEventArgs object containing the - data returned from the simulator + + + A message containing the request/response used for updating a gesture + contained with an agents inventory + - - Thread sync lock object + + Object containing request or response - - The event subscribers. null if no subcribers + + + Serialize the object + + An containing the objects data - - Raises the GroupJoined event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator + + + Deserialize the message + + An containing the data - - Thread sync lock object + + + A message request/response which is used to update a notecard contained within + a tasks inventory + - - The event subscribers. null if no subcribers + + The of the Task containing the notecard asset to update - - Raises the GroupLeft event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator + + The notecard assets contained in the tasks inventory - - Thread sync lock object + + + Serialize the object + + An containing the objects data - - The event subscribers. null if no subcribers + + + Deserialize the message + + An containing the data - - Raises the GroupDropped event - An GroupDroppedEventArgs object containing the - the group your agent left + + + A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability + which is used to update an asset in an agents inventory + - - Thread sync lock object + + + The Notecard AssetID to replace + - - The event subscribers. null if no subcribers + + + Serialize the object + + An containing the objects data - - Raises the GroupMemberEjected event - An GroupMemberEjectedEventArgs object containing the - data returned from the simulator + + + Deserialize the message + + An containing the data - - Thread sync lock object + + + A message containing the request/response used for updating a notecard + contained with an agents inventory + - - The event subscribers. null if no subcribers + + Object containing request or response - - Raises the GroupNoticesListReply event - An GroupNoticesListReplyEventArgs object containing the - data returned from the simulator + + + Serialize the object + + An containing the objects data - - Thread sync lock object + + + Deserialize the message + + An containing the data - - The event subscribers. null if no subcribers + + + Serialize the object + + An containing the objects data - - Raises the GroupInvitation event - An GroupInvitationEventArgs object containing the - data returned from the simulator + + + Deserialize the message + + An containing the data - - Thread sync lock object + + + A message sent from the simulator to the viewer which indicates + an error occurred while attempting to update a script in an agents or tasks + inventory + - - A reference to the current instance + + true of the script was successfully compiled by the simulator - - Currently-active group members requests + + A string containing the error which occured while trying + to update the script - - Currently-active group roles requests + + A new AssetID assigned to the script - - Currently-active group role-member requests + + + A message sent from the viewer to the simulator + requesting the update of an existing script contained + within a tasks inventory + - - Dictionary keeping group members while request is in progress + + if true, set the script mode to running - - Dictionary keeping mebmer/role mapping while request is in progress + + The scripts InventoryItem ItemID to update - - Dictionary keeping GroupRole information while request is in progress + + A lowercase string containing either "mono" or "lsl2" which + specifies the script is compiled and ran on the mono runtime, or the older + lsl runtime - - Caches group name lookups + + The tasks which contains the script to update - + - Construct a new instance of the GroupManager class + Serialize the object - A reference to the current instance + An containing the objects data - + - Request a current list of groups the avatar is a member of. + Deserialize the message - CAPS Event Queue must be running for this to work since the results - come across CAPS. + An containing the data - + - Lookup name of group based on groupID + A message containing either the request or response used in updating a script inside + a tasks inventory - groupID of group to lookup name for. - + + Object containing request or response + + - Request lookup of multiple group names + Serialize the object - List of group IDs to request. - - - Lookup group profile data such as name, enrollment, founder, logo, etc - Subscribe to OnGroupProfile event to receive the results. - group ID (UUID) - - - Request a list of group members. - Subscribe to OnGroupMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Request group roles - Subscribe to OnGroupRoles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + An containing the objects data - - Request members (members,role) role mapping for a group. - Subscribe to OnGroupRolesMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + + Deserialize the message + + An containing the data - - Request a groups Titles - Subscribe to OnGroupTitles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + + Response from the simulator to notify the viewer the upload is completed, and + the UUID of the script asset and its compiled status + - - Begin to get the group account summary - Subscribe to the OnGroupAccountSummary event to receive the results. - group ID (UUID) - How long of an interval - Which interval (0 for current, 1 for last) + + The uploaded texture asset ID - - Invites a user to a group - The group to invite to - A list of roles to invite a person to - Key of person to invite + + true of the script was compiled successfully - - Set a group as the current active group - group ID (UUID) + + + A message sent from a viewer to the simulator requesting a temporary uploader capability + used to update a script contained in an agents inventory + - - Change the role that determines your active title - Group ID to use - Role ID to change to + + The existing asset if of the script in the agents inventory to replace - - Set this avatar's tier contribution - Group ID to change tier in - amount of tier to donate + + The language of the script + Defaults to lsl version 2, "mono" might be another possible option - + - Save wheather agent wants to accept group notices and list this group in their profile + Serialize the object - Group - Accept notices from this group - List this group in the profile - - - Request to join a group - Subscribe to OnGroupJoined event for confirmation. - group ID (UUID) to join. + An containing the objects data - + - Request to create a new group. If the group is successfully - created, L$100 will automatically be deducted + Deserialize the message - Subscribe to OnGroupCreated event to receive confirmation. - Group struct containing the new group info - - - Update a group's profile and other information - Groups ID (UUID) to update. - Group struct to update. - - - Eject a user from a group - Group ID to eject the user from - Avatar's key to eject + An containing the data - - Update role information - Modified role to be updated - - - Create a new group role - Group ID to update - Role to create + + + A message containing either the request or response used in updating a script inside + an agents inventory + - - Delete a group role - Group ID to update - Role to delete + + Object containing request or response - - Remove an avatar from a role - Group ID to update - Role ID to be removed from - Avatar's Key to remove + + + Serialize the object + + An containing the objects data - - Assign an avatar to a role - Group ID to update - Role ID to assign to - Avatar's ID to assign to role + + + Deserialize the message + + An containing the data - - Request the group notices list - Group ID to fetch notices for + + + Serialize the object + + An containing the objects data - - Request a group notice by key - ID of group notice + + + Deserialize the message + + An containing the data - - Send out a group notice - Group ID to update - GroupNotice structure containing notice data + + Base class for Map Layers via Capabilities - - Start a group proposal (vote) - The Group ID to send proposal to - GroupProposal structure containing the proposal + + + - - Request to leave a group - Subscribe to OnGroupLeft event to receive confirmation - The group to leave + + + Serialize the object + + An containing the objects data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Deserialize the message + + An containing the data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Sent by an agent to the capabilities server to request map layers + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + An object containing map location details + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The Asset ID of the regions tile overlay - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The grid location of the southern border of the map tile - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The grid location of the western border of the map tile - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The grid location of the eastern border of the map tile - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The grid location of the northern border of the map tile - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + An array containing LayerData items - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Serialize the object + + An containing the objects data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Deserialize the message + + An containing the data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Object containing request or response - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Serialize the object + + An containing the objects data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Deserialize the message + + An containing the data - - Raised when the simulator sends us data containing - our current group membership + + + New as of 1.23 RC1, no details yet. + - - Raised when the simulator responds to a RequestGroupName - or RequestGroupNames request + + + Serialize the object + + An containing the objects data - - Raised when the simulator responds to a request + + + Deserialize the message + + An containing the data - - Raised when the simulator responds to a request + + + Serialize the object + + An containing the objects data - - Raised when the simulator responds to a request + + + Deserialize the message + + An containing the data - - Raised when the simulator responds to a request + + A string containing the method used - - Raised when the simulator responds to a request + + + A request sent from an agent to the Simulator to begin a new conference. + Contains a list of Agents which will be included in the conference + - - Raised when a response to a RequestGroupAccountSummary is returned - by the simulator + + An array containing the of the agents invited to this conference - - Raised when a request to create a group is successful + + The conferences Session ID - - Raised when a request to join a group either - fails or succeeds + + + Serialize the object + + An containing the objects data - - Raised when a request to leave a group either - fails or succeeds + + + Deserialize the message + + An containing the data - - Raised when A group is removed from the group server + + + A moderation request sent from a conference moderator + Contains an agent and an optional action to take + - - Raised when a request to eject a member from a group either - fails or succeeds + + The Session ID - - Raised when the simulator sends us group notices - + + + - - Raised when another agent invites our avatar to join a group + + A list containing Key/Value pairs, known valid values: + key: text value: true/false - allow/disallow specified agents ability to use text in session + key: voice value: true/false - allow/disallow specified agents ability to use voice in session + + "text" or "voice" - - Contains the current groups your agent is a member of + + + - - Construct a new instance of the CurrentGroupsEventArgs class - The current groups your agent is a member of + + + Serialize the object + + An containing the objects data - - Get the current groups your agent is a member of + + + Deserialize the message + + An containing the data - - A Dictionary of group names, where the Key is the groups ID and the value is the groups name + + + A message sent from the agent to the simulator which tells the + simulator we've accepted a conference invitation + - - Construct a new instance of the GroupNamesEventArgs class - The Group names dictionary + + The conference SessionID - - Get the Group Names dictionary + + + Serialize the object + + An containing the objects data - - Represents the members of a group + + + Deserialize the message + + An containing the data - + - Construct a new instance of the GroupMembersReplyEventArgs class + Serialize the object - The ID of the request - The ID of the group - The membership list of the group + An containing the objects data - - Get the ID as returned by the request to correlate - this result set and the request + + + Deserialize the message + + An containing the data - - Get the ID of the group + + + Serialize the object + + An containing the objects data - - Get the dictionary of members + + + Deserialize the message + + An containing the data - - Represents the roles associated with a group + + + Serialize the object + + An containing the objects data - - Construct a new instance of the GroupRolesDataReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The dictionary containing the roles + + + Deserialize the message + + An containing the data - - Get the ID as returned by the request to correlate - this result set and the request + + Key of sender - - Get the ID of the group + + Name of sender - - Get the dictionary containing the roles + + Key of destination avatar - - Represents the Role to Member mappings for a group + + ID of originating estate - - Construct a new instance of the GroupRolesMembersReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The member to roles map + + Key of originating region - - Get the ID as returned by the request to correlate - this result set and the request + + Coordinates in originating region - - Get the ID of the group + + Instant message type - - Get the member to roles map + + Group IM session toggle - - Represents the titles for a group + + Key of IM session, for Group Messages, the groups UUID - - Construct a new instance of the GroupTitlesReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The titles + + Timestamp of the instant message - - Get the ID as returned by the request to correlate - this result set and the request + + Instant message text - - Get the ID of the group + + Whether this message is held for offline avatars - - Get the titles + + Context specific packed data - - Represents the summary data for a group + + Is this invitation for voice group/conference chat - - Construct a new instance of the GroupAccountSummaryReplyEventArgs class - The ID of the group - The summary data + + + Serialize the object + + An containing the objects data - - Get the ID of the group + + + Deserialize the message + + An containing the data - - Get the summary data + + + Sent from the simulator to the viewer. + When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including + a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate + this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" + During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are + excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with + the string "ENTER" or "LEAVE" respectively. + - - A response to a group create request + + + Serialize the object + + An containing the objects data - - Construct a new instance of the GroupCreatedReplyEventArgs class - The ID of the group - the success or faulure of the request - A string containing additional information + + + Deserialize the message + + An containing the data - - Get the ID of the group + + + An EventQueue message sent when the agent is forcibly removed from a chatterbox session + - - true of the group was created successfully + + + A string containing the reason the agent was removed + - - A string containing the message + + + The ChatterBoxSession's SessionID + - - Represents a response to a request + + + Serialize the object + + An containing the objects data - - Construct a new instance of the GroupOperationEventArgs class - The ID of the group - true of the request was successful + + + Deserialize the message + + An containing the data - - Get the ID of the group + + + Serialize the object + + An containing the objects data - - true of the request was successful + + + Deserialize the message + + An containing the data - - Represents your agent leaving a group + + + Serialize the object + + An containing the objects data - - Construct a new instance of the GroupDroppedEventArgs class - The ID of the group + + + Deserialize the message + + An containing the data - - Get the ID of the group + + + Serialize the object + + An containing the objects data - - Represents a list of active group notices + + + Deserialize the message + + An containing the data - - Construct a new instance of the GroupNoticesListReplyEventArgs class - The ID of the group - The list containing active notices + + + Serialize the object + + An containing the objects data - - Get the ID of the group + + + Deserialize the message + + An containing the data - - Get the notices list + + + - - Represents the profile of a group + + + Serialize the object + + An containing the objects data - - Construct a new instance of the GroupProfileEventArgs class - The group profile + + + Deserialize the message + + An containing the data - - Get the group profile + + + Serialize the object + + An containing the objects data - + - Provides notification of a group invitation request sent by another Avatar + Deserialize the message - The invitation is raised when another avatar makes an offer for our avatar - to join a group. + An containing the data - - The ID of the Avatar sending the group invitation + + + Serialize the object + + An containing the objects data - - The name of the Avatar sending the group invitation + + + Deserialize the message + + An containing the data - - A message containing the request information which includes - the name of the group, the groups charter and the fee to join details + + + A message sent from the viewer to the simulator which + specifies that the user has changed current URL + of the specific media on a prim face + - - The Simulator + + + New URL + - - Set to true to accept invitation, false to decline + + + Prim UUID where navigation occured + - + - Wrapper around a byte array that allows bit to be packed and unpacked - one at a time or by a variable amount. Useful for very tightly packed - data like LayerData packets + Face index - - + + + Serialize the object + + An containing the objects data - + - Default constructor, initialize the bit packer / bit unpacker - with a byte array and starting position + Deserialize the message - Byte array to pack bits in to or unpack from - Starting position in the byte array + An containing the data - + + Base class used for the ObjectMedia message + + - Pack a floating point value in to the data + Message used to retrive prim media data - Floating point value to pack - + - Pack part or all of an integer in to the data + Prim UUID - Integer containing the data to pack - Number of bits of the integer to pack - + - Pack part or all of an unsigned integer in to the data + Requested operation, either GET or UPDATE - Unsigned integer containing the data to pack - Number of bits of the integer to pack - + - + Serialize object - - - - + Serialized object as OSDMap - + - + Deserialize the message - + An containing the data - + - + Message used to update prim media data - - + - Unpacking a floating point value from the data + Prim UUID - Unpacked floating point value - + - Unpack a variable number of bits from the data in to integer format + Array of media entries indexed by face number - Number of bits to unpack - An integer containing the unpacked bits - This function is only useful up to 32 bits - + - Unpack a variable number of bits from the data in to unsigned - integer format + Media version string - Number of bits to unpack - An unsigned integer containing the unpacked bits - This function is only useful up to 32 bits - + - Unpack a 16-bit signed integer + Serialize object - 16-bit signed integer + Serialized object as OSDMap - + - Unpack a 16-bit unsigned integer + Deserialize the message - 16-bit unsigned integer + An containing the data - + - Unpack a 32-bit signed integer + Message used to update prim media data - 32-bit signed integer - + - Unpack a 32-bit unsigned integer + Prim UUID - 32-bit unsigned integer - - - - - - - + - Avatar profile flags + Array of media entries indexed by face number - + - Represents an avatar (other than your own) + Requested operation, either GET or UPDATE - - Groups that this avatar is a member of - - - Positive and negative ratings - - - Avatar properties including about text, profile URL, image IDs and - publishing settings - - - Avatar interests including spoken languages, skills, and "want to" - choices - - - Movement control flags for avatars. Typically not set or used by - clients. To move your avatar, use Client.Self.Movement instead - - + - Contains the visual parameters describing the deformation of the avatar + Serialize object + Serialized object as OSDMap - + - Default constructor + Deserialize the message + An containing the data - - First name - - - Last name - - - Full name + + + Message for setting or getting per face MediaEntry + - - Active group + + The request or response details block - + - Positive and negative ratings + Serialize the object + An containing the objects data - - Positive ratings for Behavior + + + Deserialize the message + + An containing the data - - Negative ratings for Behavior + + Details about object resource usage - - Positive ratings for Appearance + + Object UUID - - Negative ratings for Appearance + + Object name - - Positive ratings for Building + + Indicates if object is group owned - - Negative ratings for Building + + Locatio of the object - - Positive ratings given by this avatar + + Object owner - - Negative ratings given by this avatar + + Resource usage, keys are resource names, values are resource usage for that specific resource - + - Avatar properties including about text, profile URL, image IDs and - publishing settings + Deserializes object from OSD + An containing the data - - First Life about text - - - First Life image ID - - - - - - - - - - - - - - - Profile image ID + + + Makes an instance based on deserialized data + + + serialized data + Instance containg deserialized data - - Flags of the profile + + Details about parcel resource usage - - Web URL for this profile + + Parcel UUID - - Should this profile be published on the web + + Parcel local ID - - Avatar Online Status + + Parcel name - - Is this a mature profile + + Indicates if parcel is group owned - - + + Parcel owner - - + + Array of containing per object resource usage - + - Avatar interests including spoken languages, skills, and "want to" - choices + Deserializes object from OSD + An containing the data - - Languages profile field - - - + + + Makes an instance based on deserialized data + + + serialized data + Instance containg deserialized data - - + + Resource usage base class, both agent and parcel resource + usage contains summary information - - + + Summary of available resources, keys are resource names, + values are resource usage for that specific resource - - + + Summary resource usage, keys are resource names, + values are resource usage for that specific resource - + - Index of TextureEntry slots for avatar appearances + Serializes object + + serialized data - + - Bake layers for avatar appearance + Deserializes object from OSD + An containing the data - - Maximum number of concurrent downloads for wearable assets and textures - - - Maximum number of concurrent uploads for baked textures - - - Timeout for fetching inventory listings - - - Timeout for fetching a single wearable, or receiving a single packet response - - - Timeout for fetching a single texture - - - Timeout for uploading a single baked texture - - - Number of times to retry bake upload - - - When changing outfit, kick off rebake after - 20 seconds has passed since the last change - - - Total number of wearables for each avatar - - - Total number of baked textures on each avatar - - - Total number of wearables per bake layer - - - Total number of textures on an avatar, baked or not - - - Mapping between BakeType and AvatarTextureIndex - - - Map of what wearables are included in each bake - - - Magic values to finalize the cache check hashes for each - bake - - - Default avatar texture, used to detect when a custom - texture is not set for a face - - - The event subscribers. null if no subcribers - - - Raises the AgentWearablesReply event - An AgentWearablesReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the CachedBakesReply event - An AgentCachedBakesReplyEventArgs object containing the - data returned from the data server AgentCachedTextureResponse - - - Thread sync lock object - - - The event subscribers. null if no subcribers + + Agent resource usage - - Raises the AppearanceSet event - An AppearanceSetEventArgs object indicating if the operatin was successfull + + Per attachment point object resource usage - - Thread sync lock object + + + Deserializes object from OSD + + An containing the data - - The event subscribers. null if no subcribers + + + Makes an instance based on deserialized data + + + serialized data + Instance containg deserialized data - - Raises the RebakeAvatarRequested event - An RebakeAvatarTexturesEventArgs object containing the - data returned from the data server + + + Detects which class handles deserialization of this message + + An containing the data + Object capable of decoding this message - - Thread sync lock object + + Request message for parcel resource usage - - A cache of wearables currently being worn + + UUID of the parel to request resource usage info - - A cache of textures currently being worn + + + Serializes object + + + serialized data - - Incrementing serial number for AgentCachedTexture packets + + + Deserializes object from OSD + + An containing the data - - Incrementing serial number for AgentSetAppearance packets + + Response message for parcel resource usage - - Indicates whether or not the appearance thread is currently - running, to prevent multiple appearance threads from running - simultaneously + + URL where parcel resource usage details can be retrieved - - Reference to our agent + + URL where parcel resource usage summary can be retrieved - + - Timer used for delaying rebake on changing outfit + Serializes object + + serialized data - + - Main appearance thread + Deserializes object from OSD + An containing the data - + - Default constructor + Detects which class handles deserialization of this message - A reference to our agent + An containing the data + Object capable of decoding this message - + + Parcel resource usage + + + Array of containing per percal resource usage + + - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread + Deserializes object from OSD + An containing the data - + - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread + Return a decoded capabilities message as a strongly typed object - Unused parameter + A string containing the name of the capabilities message key + An to decode + A strongly typed object containing the decoded information from the capabilities message, or null + if no existing Message object exists for the specified event - + - Starts the appearance setting thread + Permissions for control of object media - + - Starts the appearance setting thread + Style of cotrols that shold be displayed to the user - True to force rebaking, otherwise false - + - Ask the server what textures our agent is currently wearing + Class representing media data for a single face - + + Is display of the alternative image enabled + + + Should media auto loop + + + Shoule media be auto played + + + Auto scale media to prim face + + + Should viewer automatically zoom in on the face when clicked + + + Should viewer interpret first click as interaction with the media + or when false should the first click be treated as zoom in commadn + + + Style of controls viewer should display when + viewer media on this face + + + Starting URL for the media + + + Currently navigated URL + + + Media height in pixes + + + Media width in pixels + + + Who can controls the media + + + Who can interact with the media + + + Is URL whitelist enabled + + + Array of URLs that are whitelisted + + - Build hashes out of the texture assetIDs for each baking layer to - ask the simulator whether it has cached copies of each baked texture + Serialize to OSD + OSDMap with the serialized data - + - Returns the AssetID of the asset that is currently being worn in a - given WearableType slot + Deserialize from OSD data - WearableType slot to get the AssetID for - The UUID of the asset being worn in the given slot, or - UUID.Zero if no wearable is attached to the given slot or wearables - have not been downloaded yet + Serialized OSD data + Deserialized object - + - Add a wearable to the current outfit and set appearance + Particle system specific enumerators, flags and methods. - Wearable to be added to the outfit - + - Add a list of wearables to the current outfit and set appearance + Default constructor - List of wearable inventory items to - be added to the outfit - + - Remove a wearable from the current outfit and set appearance + Complete structure for the particle system - Wearable to be removed from the outfit - + - Removes a list of wearables from the current outfit and set appearance + Decodes a byte[] array into a ParticleSystem Object - List of wearable inventory items to - be removed from the outfit + ParticleSystem object + Start position for BitPacker - + - Replace the current outfit with a list of wearables and set appearance + Particle source pattern - List of wearable inventory items that - define a new outfit - + + None + + + Drop particles from source position with no force + + + "Explode" particles in all directions + + + Particles shoot across a 2D area + + + Particles shoot across a 3D Cone + + + Inverse of AngleCone (shoot particles everywhere except the 3D cone defined + + - Checks if an inventory item is currently being worn + Particle Data Flags - The inventory item to check against the agent - wearables - The WearableType slot that the item is being worn in, - or WearbleType.Invalid if it is not currently being worn - + + None + + + Interpolate color and alpha from start to end + + + Interpolate scale from start to end + + + Bounce particles off particle sources Z height + + + velocity of particles is dampened toward the simulators wind + + + Particles follow the source + + + Particles point towards the direction of source's velocity + + + Target of the particles + + + Particles are sent in a straight line + + + Particles emit a glow + + + used for point/grab/touch + + - Returns a copy of the agents currently worn wearables + Particle Flags Enum - A copy of the agents currently worn wearables - Avoid calling this function multiple times as it will make - a copy of all of the wearable data each time - - - Calls either or - depending on the value of - replaceItems - - List of wearable inventory items to add - to the outfit or become a new outfit - True to replace existing items with the - new list of items, false to add these items to the existing outfit + + None + + + Acceleration and velocity for particles are + relative to the object rotation + + + Particles use new 'correct' angle parameters + + + Particle Flags + There appears to be more data packed in to this area + for many particle systems. It doesn't appear to be flag values + and serialization breaks unless there is a flag for every + possible bit so it is left as an unsigned integer + + + + pattern of particles + + + A representing the maximimum age (in seconds) particle will be displayed + Maximum value is 30 seconds + + + A representing the number of seconds, + from when the particle source comes into view, + or the particle system's creation, that the object will emits particles; + after this time period no more particles are emitted + + + A in radians that specifies where particles will not be created + + + A in radians that specifies where particles will be created + + + A representing the number of seconds between burts. + + + A representing the number of meters + around the center of the source where particles will be created. - - - Adds a list of attachments to our agent - - A List containing the attachments to add - If true, tells simulator to remove existing attachment - first + + A representing in seconds, the minimum speed between bursts of new particles + being emitted - - - Attach an item to our agent at a specific attach point - - A to attach - the on the avatar - to attach the item to + + A representing in seconds the maximum speed of new particles being emitted. - - - Attach an item to our agent specifying attachment details - - The of the item to attach - The attachments owner - The name of the attachment - The description of the attahment - The to apply when attached - The of the attachment - The on the agent - to attach the item to + + A representing the maximum number of particles emitted per burst - - - Detach an item from our agent using an object - - An object + + A which represents the velocity (speed) from the source which particles are emitted - - - Detach an item from our agent - - The inventory itemID of the item to detach + + A which represents the Acceleration from the source which particles are emitted - - - Inform the sim which wearables are part of our current outfit - + + The Key of the texture displayed on the particle - - - Replaces the Wearables collection with a list of new wearable items - - Wearable items to replace the Wearables collection with + + The Key of the specified target object or avatar particles will follow - - - Calculates base color/tint for a specific wearable - based on its params - - All the color info gathered from wearable's VisualParams - passed as list of ColorParamInfo tuples - Base color/tint for the wearable + + Flags of particle from - - - Blocking method to populate the Wearables dictionary - - True on success, otherwise false + + Max Age particle system will emit particles for - - - Blocking method to populate the Textures array with cached bakes - - True on success, otherwise false + + The the particle has at the beginning of its lifecycle - - - Populates textures and visual params from a decoded asset - - Wearable to decode + + The the particle has at the ending of its lifecycle - - - Blocking method to download and parse currently worn wearable assets - - True on success, otherwise false + + A that represents the starting X size of the particle + Minimum value is 0, maximum value is 4 - - - Get a list of all of the textures that need to be downloaded for a - single bake layer - - Bake layer to get texture AssetIDs for - A list of texture AssetIDs to download + + A that represents the starting Y size of the particle + Minimum value is 0, maximum value is 4 - - - Helper method to lookup the TextureID for a single layer and add it - to a list if it is not already present - - - + + A that represents the ending X size of the particle + Minimum value is 0, maximum value is 4 - - - Blocking method to download all of the textures needed for baking - the given bake layers - - A list of layers that need baking - No return value is given because the baking will happen - whether or not all textures are successfully downloaded + + A that represents the ending Y size of the particle + Minimum value is 0, maximum value is 4 - + - Blocking method to create and upload baked textures for all of the - missing bakes + Generate byte[] array from particle data - True on success, otherwise false + Byte array - + - Blocking method to create and upload a baked texture for a single - bake layer + Parameters used to construct a visual representation of a primitive - Layer to bake - True on success, otherwise false - + - Blocking method to upload a baked texture - Five channel JPEG2000 texture data to upload - UUID of the newly created asset on success, otherwise UUID.Zero - + - Creates a dictionary of visual param values from the downloaded wearables - A dictionary of visual param indices mapping to visual param - values for our agent that can be fed to the Baker class - + - Create an AgentSetAppearance packet from Wearables data and the - Textures array and send it - + - Converts a WearableType to a bodypart or clothing WearableType - A WearableType - AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown - + - Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex - A BakeType - The AvatarTextureIndex slot that holds the given BakeType - + - Gives the layer number that is used for morph mask - >A BakeType - Which layer number as defined in BakeTypeToTextures is used for morph mask - + - Converts a BakeType to a list of the texture slots that make up that bake - A BakeType - A list of texture slots that are inputs for the given bake - - Triggered when an AgentWearablesUpdate packet is received, - telling us what our avatar is currently wearing - request. - - - Raised when an AgentCachedTextureResponse packet is - received, giving a list of cached bakes that were found on the - simulator - request. - - + - Raised when appearance data is sent to the simulator, also indicates - the main appearance thread is finished. - request. - + - Triggered when the simulator requests the agent rebake its appearance. - - + - Returns true if AppearanceManager is busy and trying to set or change appearance will fail - + - Contains information about a wearable inventory item - - Inventory ItemID of the wearable - - - AssetID of the wearable asset - - - WearableType of the wearable - - - AssetType of the wearable - - - Asset data for the wearable - - + - Data collected from visual params for each wearable - needed for the calculation of the color - + - Holds a texture assetID and the data needed to bake this layer into - an outfit texture. Used to keep track of currently worn textures - and baking data - - A texture AssetID - - - Asset data for the texture - - - Collection of alpha masks that needs applying - - - Tint that should be applied to the texture - - - Contains the Event data returned from the data server from an AgentWearablesRequest - - - Construct a new instance of the AgentWearablesReplyEventArgs class - - - Contains the Event data returned from the data server from an AgentCachedTextureResponse - - - Construct a new instance of the AgentCachedBakesReplyEventArgs class - - - Contains the Event data returned from an AppearanceSetRequest - - - - Triggered when appearance data is sent to the sim and - the main appearance thread is done. - Indicates whether appearance setting was successful - - - Indicates whether appearance setting was successful - - - Contains the Event data returned from the data server from an RebakeAvatarTextures - - + - Triggered when the simulator sends a request for this agent to rebake - its appearance - The ID of the Texture Layer to bake - - - The ID of the Texture Layer to bake - + - Registers, unregisters, and fires events generated by incoming packets - - Reference to the GridClient object - - + - Default constructor - - + - Register an event handler - Use PacketType.Default to fire this event on every - incoming packet - Packet type to register the handler for - Callback to be fired - + - Unregister an event handler - Packet type to unregister the handler for - Callback to be unregistered - + - Fire the events registered for this packet type synchronously - Incoming packet type - Incoming packet - Simulator this packet was received from - + - Fire the events registered for this packet type asynchronously - Incoming packet type - Incoming packet - Simulator this packet was received from - + - Object that is passed to worker threads in the ThreadPool for - firing packet callbacks - - Callback to fire for this packet + + Attachment point to an avatar - - Reference to the simulator that this packet came from + + + - - The packet that needs to be processed + + + - + - Registers, unregisters, and fires events generated by the Capabilities - event queue - - Reference to the GridClient object + + + - + + + Information on the flexible properties of a primitive + + + Default constructor - Reference to the GridClient object - + - Register an new event handler for a capabilities event sent via the EventQueue - Use String.Empty to fire this event on every CAPS event - Capability event name to register the - handler for - Callback to fire + + + + - + - Unregister a previously registered capabilities handler - Capability event name unregister the - handler for - Callback to unregister - + - Fire the events registered for this event type synchronously - Capability name - Decoded event body - Reference to the simulator that - generated this event - + - Fire the events registered for this event type asynchronously - Capability name - Decoded event body - Reference to the simulator that - generated this event - + - Object that is passed to worker threads in the ThreadPool for - firing CAPS callbacks - - Callback to fire for this packet + + + - - Name of the CAPS event + + + - - Strongly typed decoded data + + + + + - - Reference to the simulator that generated this event + + + + + - + - Access to the data server which allows searching for land, events, people, etc + Information on the light properties of a primitive - - The event subscribers. null if no subcribers + + + Default constructor + - - Raises the EventInfoReply event - An EventInfoReplyEventArgs object containing the - data returned from the data server + + + + + + + - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + - - Raises the DirEventsReply event - An DirEventsReplyEventArgs object containing the - data returned from the data server + + + - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + - - Raises the PlacesReply event - A PlacesReplyEventArgs object containing the - data returned from the data server + + + + + - - Thread sync lock object + + + + + - - The event subscribers. null if no subcribers + + + Information on the sculpt properties of a sculpted primitive + - - Raises the DirPlacesReply event - A DirPlacesReplyEventArgs object containing the - data returned from the data server + + + Default constructor + - - Thread sync lock object + + + + + + + - - The event subscribers. null if no subcribers + + + Render inside out (inverts the normals). + - - Raises the DirClassifiedsReply event - A DirClassifiedsReplyEventArgs object containing the - data returned from the data server + + + Render an X axis mirror of the sculpty. + - - Thread sync lock object + + + Extended properties to describe an object + - - The event subscribers. null if no subcribers + + + Default constructor + - - Raises the DirGroupsReply event - A DirGroupsReplyEventArgs object containing the - data returned from the data server + + + - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + - - Raises the DirPeopleReply event - A DirPeopleReplyEventArgs object containing the - data returned from the data server + + + - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + - - Raises the DirLandReply event - A DirLandReplyEventArgs object containing the - data returned from the data server + + + - - Thread sync lock object + + + - + - Constructs a new instance of the DirectoryManager class - An instance of GridClient - + - Query the data server for a list of classified ads containing the specified string. - Defaults to searching for classified placed in any category, and includes PG, Adult and Mature - results. - - Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - - The event is raised when a response is received from the simulator - A string containing a list of keywords to search for - A UUID to correlate the results when the event is raised - + - Query the data server for a list of classified ads which contain specified keywords (Overload) - - The event is raised when a response is received from the simulator - A string containing a list of keywords to search for - The category to search - A set of flags which can be ORed to modify query options - such as classified maturity rating. - A UUID to correlate the results when the event is raised - - Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature - - UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); - - - - Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - - + - Starts search for places (Overloaded) - - The event is raised when a response is received from the simulator - Search text - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - + - Queries the dataserver for parcels of land which are flagged to be shown in search - - The event is raised when a response is received from the simulator - A string containing a list of keywords to search for separated by a space character - A set of flags which can be ORed to modify query options - such as classified maturity rating. - The category to search - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult - - UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); - - - - Additional information on the results can be obtained by using the ParcelManager.InfoRequest method - - + - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator - What type of land to search for. Auction, - estate, mainland, "first land", etc - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. - + - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator - What type of land to search for. Auction, - estate, mainland, "first land", etc - Maximum price to search for - Maximum area to search for - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. - + - Send a request to the data server for land sales listings - - Flags sent to specify query options - - Available flags: - Specify the parcel rating with one or more of the following: - IncludePG IncludeMature IncludeAdult - - Specify the field to pre sort the results with ONLY ONE of the following: - PerMeterSort NameSort AreaSort PricesSort - - Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order - SortAsc - - Specify additional filters to limit the results with one or both of the following: - LimitByPrice LimitByArea - - Flags can be combined by separating them with the | (pipe) character - - Additional details can be found in - - What type of land to search for. Auction, - Estate or Mainland - Maximum price to search for when the - DirFindFlags.LimitByPrice flag is specified in findFlags - Maximum area to search for when the - DirFindFlags.LimitByArea flag is specified in findFlags - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - The event will be raised with the response from the simulator - - There is no way to determine how many results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each reply. - - Any land set for sale to either anybody or specific to the connected agent will be included in the - results if the land is included in the query - - - // request all mainland, any maturity rating that is larger than 512 sq.m - StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); - - + - Search for Groups - The name or portion of the name of the group you wish to search for - Start from the match number - - + - Search for Groups - The name or portion of the name of the group you wish to search for - Start from the match number - Search flags - - + - Search the People directory for other avatars - The name or portion of the name of the avatar you wish to search for - - - + - Search Places for parcels of land you personally own - + - Searches Places for land owned by the specified group - ID of the group you want to recieve land list for (You must be a member of the group) - Transaction (Query) ID which can be associated with results from your request. - + - Search the Places directory for parcels that are listed in search and contain the specified keywords - A string containing the keywords to search for - Transaction (Query) ID which can be associated with results from your request. - + - Search Places - All Options - One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. - One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer - A string containing a list of keywords to search for separated by a space character - String Simulator Name to search in - LLUID of group you want to recieve results for - Transaction (Query) ID which can be associated with results from your request. - Transaction (Query) ID which can be associated with results from your request. - + - Search All Events with specifid searchText in all categories, includes PG, Mature and Adult + Set the properties that are set in an ObjectPropertiesFamily packet - A string containing a list of keywords to search for separated by a space character - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - UUID of query to correlate results in callback. + + that has + been partially filled by an ObjectPropertiesFamily packet - + - Search Events + Texture animation mode - A string containing a list of keywords to search for separated by a space character - One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult - from the Enum - - Multiple flags can be combined by separating the flags with the | (pipe) character - "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled - For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - EventCategory event is listed under. - UUID of query to correlate results in callback. - - Requests Event Details - ID of Event returned from the method + + Disable texture animation - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Enable texture animation - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Loop when animating textures - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from + + Animate in reverse direction - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Animate forward then reverse - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Slide texture smoothly instead of frame-stepping - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from + + Rotate texture instead of using frames - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Scale texture instead of using frames - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + A single textured face. Don't instantiate this class yourself, use the + methods in TextureEntry + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Contains the definition for individual faces + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Raised when the data server responds to a request. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - Raised when the data server responds to a request. + + In the future this will specify whether a webpage is + attached to this face - - Raised when the data server responds to a request. + + + - - Raised when the data server responds to a request. + + + + + - - Raised when the data server responds to a request. + + + Represents all of the texturable faces for an object + + Grid objects have infinite faces, with each face + using the properties of the default face unless set otherwise. So if + you have a TextureEntry with a default texture uuid of X, and face 18 + has a texture UUID of Y, every face would be textured with X except for + face 18 that uses Y. In practice however, primitives utilize a maximum + of nine faces - - Raised when the data server responds to a request. + + + Constructor that takes a default texture UUID + + Texture UUID to use as the default texture - - Raised when the data server responds to a request. + + + Constructor that takes a TextureEntryFace for the + default face + + Face to use as the default face - - Raised when the data server responds to a request. + + + Constructor that creates the TextureEntry class from a byte array + + Byte array containing the TextureEntry field + Starting position of the TextureEntry field in + the byte array + Length of the TextureEntry field, in bytes - - Classified Ad categories + + + - - Classified is listed in the Any category + + + - - Classified is shopping related + + + This will either create a new face if a custom face for the given + index is not defined, or return the custom face for that index if + it already exists + + The index number of the face to create or + retrieve + A TextureEntryFace containing all the properties for that + face - - Classified is + + + + + + + - - + + + + + - - + + + + + - - + + + + + - - + + + Controls the texture animation of a particular prim + - - + + + + + + + - - + + + - - + + + - - Event Categories + + + - - + + + - - + + + - - + + + - - + + + - - + + + + + - - + + + Current version of the media data for the prim + - - + + + Array of media entries indexed by face number + - - + + + - - + + + - - + + + - - + + + - - + + + - + - Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. - - Flags can be combined using the | (pipe) character, not all flags are available in all queries - - Query the People database + + + - - + + Foliage type for this primitive. Only applicable if this + primitive is foliage - - + + Unknown - - Query the Groups database + + + - - Query the Events database + + + - - Query the land holdings database for land owned by the currently connected agent + + + - - + + + - - Query the land holdings database for land which is owned by a Group + + + - - Specifies the query should pre sort the results based upon traffic - when searching the Places database + + + - - + + + - - + + + - - + + + - - + + + - - Specifies the query should pre sort the results in an ascending order when searching the land sales database. - This flag is only used when searching the land sales database + + + - - Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. - This flag is only used when searching the land sales database + + + - - Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. - This flag is only used when searching the land sales database + + Identifies the owner if audio or a particle system is + active - - Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. - This flag is only used when searching the land sales database + + + - - Specifies the query should pre sort the results using the Name field when searching the land sales database. - This flag is only used when searching the land sales database + + + - - When set, only parcels less than the specified Price will be included when searching the land sales database. - This flag is only used when searching the land sales database + + + - - When set, only parcels greater than the specified Size will be included when searching the land sales database. - This flag is only used when searching the land sales database + + + - - + + + - - + + + - - Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + - - Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + - - Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + - - + + + - + - Land types to search dataserver for - - Search Auction, Mainland and Estate + + + - - Land which is currently up for auction + + + - - Parcels which are on the mainland (Linden owned) continents + + + - - Parcels which are on privately owned simulators + + Uses basic heuristics to estimate the primitive shape - + - The content rating of the event + Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters in to signed eight bit values + Floating point parameter to pack + Signed eight bit value containing the packed parameter - - Event is PG + + + Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters from signed eight bit integers to floating point values + + Signed eight bit value to unpack + Unpacked floating point value - - Event is Mature + + + The type of bump-mapping applied to a face + - - Event is Adult + + + - + - Classified Ad Options - There appear to be two formats the flags are packed in. - This set of flags is for the newer style - - + + + - - + + + - - + + + - - + + + - - + + + - + - Classified ad query options - - Include all ads in results + + + - - Include PG ads in results + + + - - Include Mature ads in results + + + - - Include Adult ads in results + + + - + - The For Sale flag in PlacesReplyData - - Parcel is not listed for sale + + + - - Parcel is For Sale + + + - + - A classified ad on the grid - - UUID for this ad, useful for looking up detailed - information about it + + + - - The title of this classified ad + + + - - Flags that show certain options applied to the classified + + + The level of shininess applied to a face + - - Creation date of the ad + + + - - Expiration date of the ad + + + - - Price that was paid for this ad + + + - - Print the struct data as a string - A string containing the field name, and field value + + + - + - A parcel retrieved from the dataserver such as results from the - "For-Sale" listings or "Places" Search + The texture mapping style used for a face - - The unique dataserver parcel ID - This id is used to obtain additional information from the entry - by using the method + + + - - A string containing the name of the parcel + + + - - The size of the parcel - This field is not returned for Places searches + + + - - The price of the parcel - This field is not returned for Places searches + + + - - If True, this parcel is flagged to be auctioned + + + Flags in the TextureEntry block that describe which properties are + set + - - If true, this parcel is currently set for sale + + + - - Parcel traffic + + + - - Print the struct data as a string - A string containing the field name, and field value + + + - + - An Avatar returned from the dataserver - - Online status of agent - This field appears to be obsolete and always returns false + + + - - The agents first name + + + - - The agents last name + + + - - The agents + + + - - Print the struct data as a string - A string containing the field name, and field value + + + - + - Response to a "Groups" Search - - The Group ID - - - The name of the group + + + - - The current number of members + + + - - Print the struct data as a string - A string containing the field name, and field value + + + Level of Detail mesh + - + - Parcel information returned from a request - - Represents one of the following: - A parcel of land on the grid that has its Show In Search flag set - A parcel of land owned by the agent making the request - A parcel of land owned by a group the agent making the request is a member of - - - In a request for Group Land, the First record will contain an empty record - - Note: This is not the same as searching the land for sale data source + Constructor for default logging settings - - The ID of the Agent of Group that owns the parcel + + Enable logging - - The name + + The folder where any logs will be created - - The description + + This will be prepended to beginning of each log file - - The Size of the parcel + + The suffix or extension to be appended to each log file - - The billable Size of the parcel, for mainland - parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller - than the ActualArea. For Estate land this will always be 0 + + + 0: NONE - No logging + 1: ERROR - Log errors only + 2: WARNING - Log errors and warnings + 3: INFO - Log errors, warnings and info + 4: DEBUG - Log errors, warnings, info and debug + - - Indicates the ForSale status of the parcel + + Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter + + + Event for most mundane request reposnses. + - - The Gridwide X position + + Response to Connector.Create request - - The Gridwide Y position + + Response to Aux.GetCaptureDevices request - - The Z position of the parcel, or 0 if no landing point set + + Response to Aux.GetRenderDevices request - - The name of the Region the parcel is located in + + Audio Properties Events are sent after audio capture is started. + These events are used to display a microphone VU meter - - The Asset ID of the parcels Snapshot texture + + Response to Account.Login request - - The calculated visitor traffic + + This event message is sent whenever the login state of the + particular Account has transitioned from one value to another - - The billing product SKU - Known values are: - - 023Mainland / Full Region - 024Estate / Full Region - 027Estate / Openspace - 029Estate / Homestead - 129Mainland / Homestead (Linden Owned) - - + + + List of audio input devices + - - No longer used, will always be 0 + + + List of audio output devices + - - Get a SL URL for the parcel - A string, containing a standard SLURL + + + Set audio test mode + - - Print the struct data as a string - A string containing the field name, and field value + + + This is used to login a specific user account(s). It may only be called after + Connector initialization has completed successfully + + Handle returned from successful Connector �create� request + User's account name + User's account password + Values may be �AutoAnswer� or �VerifyAnswer� + "" + This is an integer that specifies how often + the daemon will send participant property events while in a channel. If this is not set + the default will be �on state change�, which means that the events will be sent when + the participant starts talking, stops talking, is muted, is unmuted. + The valid values are: + 0 � Never + 5 � 10 times per second + 10 � 5 times per second + 50 � 1 time per second + 100 � on participant state change (this is the default) + false + + - + - An "Event" Listing summary + This is used to logout a user session. It should only be called with a valid AccountHandle. + Handle returned from successful Connector �login� request + + - - The ID of the event creator + + + This is used to get a list of audio devices that can be used for capture (input) of voice. + + + - - The name of the event + + + This is used to get a list of audio devices that can be used for render (playback) of voice. + - - The events ID + + + This command is used to select the render device. + + The name of the device as returned by the Aux.GetRenderDevices command. - - A string containing the short date/time the event will begin + + + This command is used to select the capture device. + + The name of the device as returned by the Aux.GetCaptureDevices command. - - The event start time in Unixtime (seconds since epoch) + + + This command is used to start the audio capture process which will cause + AuxAudioProperty Events to be raised. These events can be used to display a + microphone VU meter for the currently selected capture device. This command + should not be issued if the user is on a call. + + (unused but required) + + - - The events maturity rating + + + This command is used to stop the audio capture process. + + + - - Print the struct data as a string - A string containing the field name, and field value + + + This command is used to set the mic volume while in the audio tuning process. + Once an acceptable mic level is attained, the application must issue a + connector set mic volume command to have that level be used while on voice + calls. + + the microphone volume (-100 to 100 inclusive) + + - + - The details of an "Event" + This command is used to set the speaker volume while in the audio tuning + process. Once an acceptable speaker level is attained, the application must + issue a connector set speaker volume command to have that level be used while + on voice calls. + the speaker volume (-100 to 100 inclusive) + + - - The events ID + + + This is used to initialize and stop the Connector as a whole. The Connector + Create call must be completed successfully before any other requests are made + (typically during application initialization). The shutdown should be called + when the application is shutting down to gracefully release resources + + A string value indicting the Application name + URL for the management server + LoggingSettings + + + + - - The ID of the event creator + + + Shutdown Connector -- Should be called when the application is shutting down + to gracefully release resources + + Handle returned from successful Connector �create� request - - The name of the event + + + Mute or unmute the microphone + + Handle returned from successful Connector �create� request + true (mute) or false (unmute) - - The category + + + Mute or unmute the speaker + + Handle returned from successful Connector �create� request + true (mute) or false (unmute) - - The events description + + + Set microphone volume + + Handle returned from successful Connector �create� request + The level of the audio, a number between -100 and 100 where + 0 represents �normal� speaking volume - - The short date/time the event will begin + + + Set local speaker volume + + Handle returned from successful Connector �create� request + The level of the audio, a number between -100 and 100 where + 0 represents �normal� speaking volume - - The event start time in Unixtime (seconds since epoch) UTC adjusted + + + Start up the Voice service. + - - The length of the event in minutes + + + Handle miscellaneous request status + + + + + + ///If something goes wrong, we log it. + + + Cleanup oject resources + - - 0 if no cover charge applies + + + Request voice cap when changing regions + - - The cover charge amount in L$ if applicable + + + Handle a change in session state + - - The name of the region where the event is being held + + + Close a voice session + + + - - The gridwide location of the event + + + Locate a Session context from its handle + + Creates the session context if it does not exist. - - The maturity rating + + + Handle completion of main voice cap request. + + + + + + + - - Get a SL URL for the parcel where the event is hosted - A string, containing a standard SLURL + + + Daemon has started so connect to it. + - - Print the struct data as a string - A string containing the field name, and field value + + + The daemon TCP connection is open. + - - Contains the Event data returned from the data server from an EventInfoRequest + + + Handle creation of the Connector. + - - Construct a new instance of the EventInfoReplyEventArgs class - A single EventInfo object containing the details of an event + + + Handle response to audio output device query + - + - A single EventInfo object containing the details of an event + Handle response to audio input device query - - Contains the "Event" detail data returned from the data server + + + Set voice channel for new parcel + - - Construct a new instance of the DirEventsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Events" returned by the search query + + + Request info from a parcel capability Uri. + + + - - The ID returned by + + + Receive parcel voice cap + + + + + + + - - A list of "Events" returned by the data server + + + Tell Vivox where we are standing + + This has to be called when we move or turn. - - Contains the "Event" list data returned from the data server + + + Start and stop updating out position. + + + - - Construct a new instance of PlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Places" returned by the data server query + + + Starts a thread that keeps the daemon running + + + + + - - The ID returned by + + + Stops the daemon and the thread keeping it running + - - A list of "Places" returned by the data server + + + + + + + + + - - Contains the places data returned from the data server + + + Create a Session + Sessions typically represent a connection to a media session with one or more + participants. This is used to generate an �outbound� call to another user or + channel. The specifics depend on the media types involved. A session handle is + required to control the local user functions within the session (or remote + users if the current account has rights to do so). Currently creating a + session automatically connects to the audio media, there is no need to call + Session.Connect at this time, this is reserved for future use. + + Handle returned from successful Connector �create� request + This is the URI of the terminating point of the session (ie who/what is being called) + This is the display name of the entity being called (user or channel) + Only needs to be supplied when the target URI is password protected + This indicates the format of the password as passed in. This can either be + �ClearText� or �SHA1UserName�. If this element does not exist, it is assumed to be �ClearText�. If it is + �SHA1UserName�, the password as passed in is the SHA1 hash of the password and username concatenated together, + then base64 encoded, with the final �=� character stripped off. + + + + + + - - Construct a new instance of the DirPlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing land data returned by the data server + + + Used to accept a call + + SessionHandle such as received from SessionNewEvent + "default" + + - - The ID returned by + + + This command is used to start the audio render process, which will then play + the passed in file through the selected audio render device. This command + should not be issued if the user is on a call. + + The fully qualified path to the sound file. + True if the file is to be played continuously and false if it is should be played once. + + - - A list containing Places data returned by the data server + + + This command is used to stop the audio render process. + + The fully qualified path to the sound file issued in the start render command. + + - - Contains the classified data returned from the data server + + + This is used to �end� an established session (i.e. hang-up or disconnect). + + Handle returned from successful Session �create� request or a SessionNewEvent + + - - Construct a new instance of the DirClassifiedsReplyEventArgs class - A list of classified ad data returned from the data server + + + Set the combined speaking and listening position in 3D space. + + Handle returned from successful Session �create� request or a SessionNewEvent + Speaking position + Listening position + + - - A list containing Classified Ads returned by the data server + + + Set User Volume for a particular user. Does not affect how other users hear that user. + + Handle returned from successful Session �create� request or a SessionNewEvent + + + The level of the audio, a number between -100 and 100 where 0 represents �normal� speaking volume + + - - Contains the group data returned from the data server + + Positional vector of the users position - - Construct a new instance of the DirGroupsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of groups data returned by the data server + + Velocity vector of the position - - The ID returned by + + At Orientation (X axis) of the position - - A list containing Groups data returned by the data server + + Up Orientation (Y axis) of the position - - Contains the people data returned from the data server + + Left Orientation (Z axis) of the position - - Construct a new instance of the DirPeopleReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of people data returned by the data server + + + Extract the avatar UUID encoded in a SIP URI + + + + + - - The ID returned by + + + Represents a single Voice Session to the Vivox service. + - - A list containing People data returned by the data server + + + Close this session. + - - Contains the land sales data returned from the data server + + + Look up an existing Participants in this session + + + + + - - Construct a new instance of the DirLandReplyEventArgs class - A list of parcels for sale returned by the data server + + + + + + + - - A list containing land forsale data returned by the data server + + + A callback fired to indicate the status or final state of the requested texture. For progressive + downloads this will fire each time new asset data is returned from the simulator. + + The indicating either Progress for textures not fully downloaded, + or the final result of the request after it has been processed through the TexturePipeline + The object containing the Assets ID, raw data + and other information. For progressive rendering the will contain + the data from the beginning of the file. For failed, aborted and timed out requests it will contain + an empty byte array. diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 59e39bb..b9c73b7 100644 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverse.dll.config b/bin/OpenMetaverse.dll.config index 13fdc11..dc36a45 100644 --- a/bin/OpenMetaverse.dll.config +++ b/bin/OpenMetaverse.dll.config @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/bin/OpenMetaverseTypes.XML b/bin/OpenMetaverseTypes.XML index 3903aea..69e5c1b 100644 --- a/bin/OpenMetaverseTypes.XML +++ b/bin/OpenMetaverseTypes.XML @@ -1,234 +1,9 @@ - OpenMetaverseTypes + /home/root/libopenmetaverse/bin/OpenMetaverseTypes - - - A hierarchical token bucket for bandwidth throttling. See - http://en.wikipedia.org/wiki/Token_bucket for more information - - - - Parent bucket to this bucket, or null if this is a root - bucket - - - Size of the bucket in bytes. If zero, the bucket has - infinite capacity - - - Rate that the bucket fills, in bytes per millisecond. If - zero, the bucket always remains full - - - Number of tokens currently in the bucket - - - Time of the last drip, in system ticks - - - - Default constructor - - Parent bucket if this is a child bucket, or - null if this is a root bucket - Maximum size of the bucket in bytes, or - zero if this bucket has no maximum capacity - Rate that the bucket fills, in bytes per - second. If zero, the bucket always remains full - - - - Remove a given number of tokens from the bucket - - Number of tokens to remove from the bucket - True if the requested number of tokens were removed from - the bucket, otherwise false - - - - Remove a given number of tokens from the bucket - - Number of tokens to remove from the bucket - True if tokens were added to the bucket - during this call, otherwise false - True if the requested number of tokens were removed from - the bucket, otherwise false - - - - Add tokens to the bucket over time. The number of tokens added each - call depends on the length of time that has passed since the last - call to Drip - - True if tokens were added to the bucket, otherwise false - - - - The parent bucket of this bucket, or null if this bucket has no - parent. The parent bucket will limit the aggregate bandwidth of all - of its children buckets - - - - - Maximum burst rate in bytes per second. This is the maximum number - of tokens that can accumulate in the bucket at any one time - - - - - The speed limit of this bucket in bytes per second. This is the - number of tokens that are added to the bucket per second - - Tokens are added to the bucket any time - is called, at the granularity of - the system tick interval (typically around 15-22ms) - - - - The number of bytes that can be sent at this moment. This is the - current number of tokens in the bucket - If this bucket has a parent bucket that does not have - enough tokens for a request, will - return false regardless of the content of this bucket - - - - X value - - - Y value - - - Z value - - - W value - - - - Build a quaternion from normalized float values - - X value from -1.0 to 1.0 - Y value from -1.0 to 1.0 - Z value from -1.0 to 1.0 - - - - Constructor, builds a quaternion object from a byte array - - Byte array containing four four-byte floats - Offset in the byte array to start reading at - Whether the source data is normalized or - not. If this is true 12 bytes will be read, otherwise 16 bytes will - be read. - - - - Normalizes the quaternion - - - - - Builds a quaternion object from a byte array - - The source byte array - Offset in the byte array to start reading at - Whether the source data is normalized or - not. If this is true 12 bytes will be read, otherwise 16 bytes will - be read. - - - - Normalize this quaternion and serialize it to a byte array - - A 12 byte array containing normalized X, Y, and Z floating - point values in order using little endian byte ordering - - - - Writes the raw bytes for this quaternion to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 12 bytes before the end of the array - - - - Convert this quaternion to euler angles - - X euler angle - Y euler angle - Z euler angle - - - - Convert this quaternion to an angle around an axis - - Unit vector describing the axis - Angle around the axis, in radians - - - - Returns the conjugate (spatial inverse) of a quaternion - - - - - Build a quaternion from an axis and an angle of rotation around - that axis - - - - - Build a quaternion from an axis and an angle of rotation around - that axis - - Axis of rotation - Angle of rotation - - - - Creates a quaternion from a vector containing roll, pitch, and yaw - in radians - - Vector representation of the euler angles in - radians - Quaternion representation of the euler angles - - - - Creates a quaternion from roll, pitch, and yaw euler angles in - radians - - X angle in radians - Y angle in radians - Z angle in radians - Quaternion representation of the euler angles - - - - Conjugates and renormalizes a vector - - - - - Spherical linear interpolation between two quaternions - - - - - Get a string representation of the quaternion elements with up to three - decimal digits and separated by spaces only - - Raw string representation of the quaternion - - - A quaternion with a value of 0,0,0,1 - Same as Queue except Dequeue function blocks until there is an object to return. @@ -252,6 +27,11 @@ Create new BlockingQueue. + + + Gets flag indicating if queue has been closed. + + BlockingQueue Destructor (Close queue, resume any waiting thread). @@ -298,1533 +78,2419 @@ Open Queue. - + - Gets flag indicating if queue has been closed. + Copy constructor + Circular queue to copy - - Used for converting degrees to radians - - - Used for converting radians to degrees + + + An 8-bit color structure including an alpha channel + - - Provide a single instance of the CultureInfo class to - help parsing in situations where the grid assumes an en-us - culture + + + + + + + + + + + - - UNIX epoch in DateTime format + + + Builds a color from a byte array + + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 - - Provide a single instance of the MD5 class to avoid making - duplicate copies and handle thread safety - - - Provide a single instance of the SHA-1 class to avoid - making duplicate copies and handle thread safety - - - Provide a single instance of a random number generator - to avoid making duplicate copies and handle thread safety - - + - Clamp a given value between a range + Returns the raw bytes for this vector - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + True if the alpha value is inverted in + addition to whatever the inverted parameter is. Setting inverted true + and alphaInverted true will flip the alpha value back to non-inverted, + but keep the other color bytes inverted + A 16 byte array containing R, G, B, and A - + - Clamp a given value between a range + Copy constructor - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper + Color to copy - - - Clamp a given value between a range - - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper + + Red - - - Round a floating-point value to the nearest integer - - Floating point number to round - Integer + + Green - - - Test if a single precision float is a finite number - + + Blue - - - Test if a double precision float is a finite number - + + Alpha - - - Get the distance between two floating-point values - - First value - Second value - The distance between the two values + + A Color4 with zero RGB values and fully opaque (alpha 1.0) - - - Compute the MD5 hash for a byte array - - Byte array to compute the hash for - MD5 hash of the input data + + A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) - + - Compute the SHA1 hash for a byte array + IComparable.CompareTo implementation - Byte array to compute the hash for - SHA1 hash of the input data + Sorting ends up like this: |--Grayscale--||--Color--|. + Alpha is only used when the colors are otherwise equivalent - + - Calculate the SHA1 hash of a given string + Builds a color from a byte array - The string to hash - The SHA1 hash as a string + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + True if the alpha value is inverted in + addition to whatever the inverted parameter is. Setting inverted true + and alphaInverted true will flip the alpha value back to non-inverted, + but keep the other color bytes inverted - + - Compute the SHA256 hash for a byte array + Writes the raw bytes for this color to a byte array - Byte array to compute the hash for - SHA256 hash of the input data + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array - + - Calculate the SHA256 hash of a given string + Serializes this color into four bytes in a byte array - The string to hash - The SHA256 hash as a string + Destination byte array + Position in the destination array to start + writing. Must be at least 4 bytes before the end of the array + True to invert the output (1.0 becomes 0 + instead of 255) - + - Calculate the MD5 hash of a given string + Writes the raw bytes for this color to a byte array - The password to hash - An MD5 hash in string format, with $1$ prepended + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array - + - Calculate the MD5 hash of a given string + Ensures that values are in range 0-1 - The string to hash - The MD5 hash as a string - + - Generate a random double precision floating point value + Create an RGB color from a hue, saturation, value combination - Random value of type double + Hue + Saturation + Value + An fully opaque RGB color (alpha is 1.0) - + - Get the current running platform + Performs linear interpolation between two colors - Enumeration of the current platform we are running on + Color to start at + Color to end at + Amount to interpolate + The interpolated color - + - Get the current running runtime + Attribute class that allows extra attributes to be attached to ENUMs - Enumeration of the current runtime we are running on - - - Convert the first two bytes starting in the byte array in - little endian ordering to a signed short integer - - An array two bytes or longer - A signed short integer, will be zero if a short can't be - read at the given position + + Default initializer - - - Convert the first two bytes starting at the given position in - little endian ordering to a signed short integer - - An array two bytes or longer - Position in the array to start reading - A signed short integer, will be zero if a short can't be - read at the given position + + Text used when presenting ENUM to user - - - Convert the first four bytes starting at the given position in - little endian ordering to a signed integer - - An array four bytes or longer - Position to start reading the int from - A signed integer, will be zero if an int can't be read - at the given position + + Text used when presenting ENUM to user - + - Convert the first four bytes of the given array in little endian - ordering to a signed integer + The different types of grid assets - An array four bytes or longer - A signed integer, will be zero if the array contains - less than four bytes - - - Convert the first eight bytes of the given array in little endian - ordering to a signed long integer - - An array eight bytes or longer - A signed long integer, will be zero if the array contains - less than eight bytes + + Unknown asset type - - - Convert the first eight bytes starting at the given position in - little endian ordering to a signed long integer - - An array eight bytes or longer - Position to start reading the long from - A signed long integer, will be zero if a long can't be read - at the given position + + Texture asset, stores in JPEG2000 J2C stream format - - - Convert the first two bytes starting at the given position in - little endian ordering to an unsigned short - - Byte array containing the ushort - Position to start reading the ushort from - An unsigned short, will be zero if a ushort can't be read - at the given position + + Sound asset - - - Convert two bytes in little endian ordering to an unsigned short - - Byte array containing the ushort - An unsigned short, will be zero if a ushort can't be - read + + Calling card for another avatar - - - Convert the first four bytes starting at the given position in - little endian ordering to an unsigned integer - - Byte array containing the uint - Position to start reading the uint from - An unsigned integer, will be zero if a uint can't be read - at the given position + + Link to a location in world - - - Convert the first four bytes of the given array in little endian - ordering to an unsigned integer - - An array four bytes or longer - An unsigned integer, will be zero if the array contains - less than four bytes + + Collection of textures and parameters that can be + worn by an avatar - - - Convert the first eight bytes of the given array in little endian - ordering to an unsigned 64-bit integer - - An array eight bytes or longer - An unsigned 64-bit integer, will be zero if the array - contains less than eight bytes + + Primitive that can contain textures, sounds, + scripts and more - - - Convert four bytes in little endian ordering to a floating point - value - - Byte array containing a little ending floating - point value - Starting position of the floating point value in - the byte array - Single precision value + + Notecard asset - - - Convert an integer to a byte array in little endian format - - The integer to convert - A four byte little endian array + + Holds a collection of inventory items - - - Convert an integer to a byte array in big endian format - - The integer to convert - A four byte big endian array + + Root inventory folder - - - Convert a 64-bit integer to a byte array in little endian format - - The value to convert - An 8 byte little endian array + + Linden scripting language script - - - Convert a 64-bit unsigned integer to a byte array in little endian - format - - The value to convert - An 8 byte little endian array + + LSO bytecode for a script - - - Convert a floating point value to four bytes in little endian - ordering - - A floating point value - A four byte array containing the value in little endian - ordering + + Uncompressed TGA texture - - - Converts an unsigned integer to a hexadecimal string - - An unsigned integer to convert to a string - A hexadecimal string 10 characters long - 0x7fffffff + + Collection of textures and shape parameters that can + be worn - - - Convert a variable length UTF8 byte array to a string - - The UTF8 encoded byte array to convert - The decoded string + + Trash folder - - - Converts a byte array to a string containing hexadecimal characters - - The byte array to convert to a string - The name of the field to prepend to each - line of the string - A string containing hexadecimal characters on multiple - lines. Each line is prepended with the field name + + Snapshot folder - - - Converts a byte array to a string containing hexadecimal characters - - The byte array to convert to a string - Number of bytes in the array to parse - A string to prepend to each line of the hex - dump - A string containing hexadecimal characters on multiple - lines. Each line is prepended with the field name + + Lost and found folder - - - Convert a string to a UTF8 encoded byte array - - The string to convert - A null-terminated UTF8 byte array + + Uncompressed sound - - - Converts a string containing hexadecimal characters to a byte array - - String containing hexadecimal characters - If true, gracefully handles null, empty and - uneven strings as well as stripping unconvertable characters - The converted byte array + + Uncompressed TGA non-square image, not to be used as a + texture - + + Compressed JPEG non-square image, not to be used as a + texture + + + Animation + + + Sequence of animations, sounds, chat, and pauses + + + Simstate file + + + Contains landmarks for favorites + + + Asset is a link to another inventory item + + + Asset is a link to another inventory folder + + + Beginning of the range reserved for ensembles + + + End of the range reserved for ensembles + + + Folder containing inventory links to wearables and attachments + that are part of the current outfit + + + Folder containing inventory items or links to + inventory items of wearables and attachments + together make a full outfit + + + Root folder for the folders of type OutfitFolder + + + Linden mesh format + + - Returns true is c is a hexadecimal digit (A-F, a-f, 0-9) + Inventory Item Types, eg Script, Notecard, Folder, etc - Character to test - true if hex digit, false if not - + + Unknown + + + Texture + + + Sound + + + Calling Card + + + Landmark + + + Notecard + + - Converts 1 or 2 character string into equivalant byte value - 1 or 2 character string - byte - + + Folder + + - Convert a float value to a byte given a minimum and maximum range - Value to convert to a byte - Minimum value range - Maximum value range - A single byte representing the original float value - + + an LSL Script + + - Convert a byte to a float value given a minimum and maximum range - Byte array to get the byte from - Position in the byte array the desired byte is at - Minimum value range - Maximum value range - A float value inclusively between lower and upper - + - Convert a byte to a float value given a minimum and maximum range - Byte to convert to a float value - Minimum value range - Maximum value range - A float value inclusively between lower and upper - + - Attempts to parse a floating point value from a string, using an - EN-US number format - String to parse - Resulting floating point number - True if the parse was successful, otherwise false - + - Attempts to parse a floating point value from a string, using an - EN-US number format - String to parse - Resulting floating point number - True if the parse was successful, otherwise false - + - Tries to parse an unsigned 32-bit integer from a hexadecimal string - String to parse - Resulting integer - True if the parse was successful, otherwise false - + - Takes an AssetType and returns the string representation - The source - The string version of the AssetType - + - Translate a string name of an AssetType into the proper Type + Item Sale Status - A string containing the AssetType name - The AssetType which matches the string name, or AssetType.Unknown if no match was found - + + Not for sale + + + The original is for sale + + + Copies are for sale + + + The contents of the object are for sale + + - Convert an InventoryType to a string + Types of wearable assets - The to convert - A string representation of the source - + + Body shape + + + Skin textures and attributes + + + Hair + + + Eyes + + + Shirt + + + Pants + + + Shoes + + + Socks + + + Jacket + + + Gloves + + + Undershirt + + + Underpants + + + Skirt + + + Alpha mask to hide parts of the avatar + + + Tattoo + + + Invalid wearable asset + + - Convert a string into a valid InventoryType + Identifier code for primitive types - A string representation of the InventoryType to convert - A InventoryType object which matched the type - + + None + + + A Primitive + + + A Avatar + + + Linden grass + + + Linden tree + + + A primitive that acts as the source for a particle stream + + + A Linden tree + + - Convert a SaleType to a string + Primary parameters for primitives such as Physics Enabled or Phantom - The to convert - A string representation of the source - + + Deprecated + + + Whether physics are enabled for this object + + - Convert a string into a valid SaleType - A string representation of the SaleType to convert - A SaleType object which matched the type - + - Copy a byte array - Byte array to copy - A copy of the given byte array - + - Packs to 32-bit unsigned integers in to a 64-bit unsigned integer - The left-hand (or X) value - The right-hand (or Y) value - A 64-bit integer containing the two 32-bit input values - + - Unpacks two 32-bit unsigned integers from a 64-bit unsigned integer - The 64-bit input integer - The left-hand (or X) output value - The right-hand (or Y) output value - + - Convert an IP address object to an unsigned 32-bit integer - IP address to convert - 32-bit unsigned integer holding the IP address bits - + - Gets a unix timestamp for the current time - An unsigned integer representing a unix timestamp for now - + + Whether this object contains an active touch script + + - Convert a UNIX timestamp to a native DateTime object - An unsigned integer representing a UNIX - timestamp - A DateTime object containing the same time specified in - the given timestamp - + + Whether this object can receive payments + + + Whether this object is phantom (no collisions) + + - Convert a UNIX timestamp to a native DateTime object - A signed integer representing a UNIX - timestamp - A DateTime object containing the same time specified in - the given timestamp - + - Convert a native DateTime object to a UNIX timestamp - A DateTime object you want to convert to a - timestamp - An unsigned integer representing a UNIX timestamp - + - Swap two values - Type of the values to swap - First value - Second value - + - Try to parse an enumeration value from a string - Enumeration type - String value to parse - Enumeration value on success - True if the parsing succeeded, otherwise false - + + Deprecated + + - Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa - Byte to swap the words in - Byte value with the words swapped - + - Attempts to convert a string representation of a hostname or IP - address to a - Hostname to convert to an IPAddress - Converted IP address object, or null if the conversion - failed - + - Operating system - - Unknown - - - Microsoft Windows + + Deprecated - - Microsoft Windows CE + + + - - Linux + + + - - Apple OSX + + + - + - Runtime platform - - .NET runtime + + Server flag, will not be sent to clients. Specifies that + the object is destroyed when it touches a simulator edge - - Mono runtime: http://www.mono-project.com/ + + Server flag, will not be sent to clients. Specifies that + the object will be returned to the owner's inventory when it + touches a simulator edge - + + Server flag, will not be sent to clients. + + + Server flag, will not be sent to client. Specifies that + the object is hovering/flying + + - Convert this matrix to euler rotations - X euler angle - Y euler angle - Z euler angle - + - Convert this matrix to a quaternion rotation - A quaternion representation of this rotation matrix - + - Construct a matrix from euler rotation values in radians - X euler angle in radians - Y euler angle in radians - Z euler angle in radians - + - Get a formatted string representation of the vector - A string representation of the vector - - A 4x4 matrix containing all zeroes + + + Sound flags for sounds attached to primitives + - - A 4x4 identity matrix + + + - - For thread safety + + + - - For thread safety + + + - + - Purges expired objects from the cache. Called automatically by the purge timer. - - X value + + + - - Y value + + + - - Z value + + + - - W value + + + Material type for a primitive + - + - Constructor, builds a vector from a byte array - Byte array containing four four-byte floats - Beginning position in the byte array - + - Test if this vector is equal to another vector, within a given - tolerance range - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false - + - IComparable.CompareTo implementation - + - Test if this vector is composed of all finite numbers - + - Builds a vector from a byte array - Byte array containing a 16 byte vector - Beginning position in the byte array - + - Returns the raw bytes for this vector - A 16 byte array containing X, Y, Z, and W - + - Writes the raw bytes for this vector to a byte array - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - + - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only - Raw string representation of the vector - - A vector with a value of 0,0,0,0 - - - A vector with a value of 1,1,1,1 + + + Used in a helper function to roughly determine prim shape + - - A vector with a value of 1,0,0,0 + + + Extra parameters for primitives, these flags are for features that have + been added after the original ObjectFlags that has all eight bits + reserved already + - - A vector with a value of 0,1,0,0 + + Whether this object has flexible parameters - - A vector with a value of 0,0,1,0 + + Whether this object has light parameters - - A vector with a value of 0,0,0,1 + + Whether this object is a sculpted prim - + - Provides helper methods for parallelizing loops - + - Executes a for loop in which iterations may run in parallel - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop - + - Executes a for loop in which iterations may run in parallel - The number of concurrent execution threads to run - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop - + - Executes a foreach loop in which iterations may run in parallel - Object type that the collection wraps - An enumerable collection to iterate over - Method body to run for each object in the collection - + - Executes a foreach loop in which iterations may run in parallel - Object type that the collection wraps - The number of concurrent execution threads to run - An enumerable collection to iterate over - Method body to run for each object in the collection - + - Executes a series of tasks in parallel - A series of method bodies to execute - + - Executes a series of tasks in parallel - The number of concurrent execution threads to run - A series of method bodies to execute - + - A three-dimensional vector with floating-point values - - X value - - - Y value - - - Z value - - + - Constructor, builds a vector from a byte array - Byte array containing three four-byte floats - Beginning position in the byte array - + - Test if this vector is equal to another vector, within a given - tolerance range - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false - + - IComparable.CompareTo implementation - + - Test if this vector is composed of all finite numbers - + - Builds a vector from a byte array - Byte array containing a 12 byte vector - Beginning position in the byte array - + - Returns the raw bytes for this vector - A 12 byte array containing X, Y, and Z - + - Writes the raw bytes for this vector to a byte array - Destination byte array - Position in the destination array to start - writing. Must be at least 12 bytes before the end of the array - + - Parse a vector from a string - A string representation of a 3D vector, enclosed - in arrow brackets and separated by commas - + - Calculate the rotation between two vectors - Normalized directional vector (such as 1,0,0 for forward facing) - Normalized target vector - + - Interpolates between two vectors using a cubic equation - + - Get a formatted string representation of the vector - A string representation of the vector - + - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only - Raw string representation of the vector - + - Cross product between two vectors - - A vector with a value of 0,0,0 - - - A vector with a value of 1,1,1 - - - A unit vector facing forward (X axis), value 1,0,0 - - - A unit vector facing left (Y axis), value 0,1,0 - - - A unit vector facing up (Z axis), value 0,0,1 - - + - A 128-bit Universally Unique Identifier, used throughout the Second - Life networking protocol - - The System.Guid object this struct wraps around - - + - Constructor that takes a string UUID representation - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") - + - Constructor that takes a System.Guid object - A Guid object that contains the unique identifier - to be represented by this UUID - + - Constructor that takes a byte array containing a UUID - Byte array containing a 16 byte UUID - Beginning offset in the array - + - Constructor that takes an unsigned 64-bit unsigned integer to - convert to a UUID - 64-bit unsigned integer to convert to a UUID - + - Copy constructor - UUID to copy - + - IComparable.CompareTo implementation - + - Assigns this UUID from 16 bytes out of a byte array - Byte array containing the UUID to assign this UUID to - Starting position of the UUID in the byte array - + - Returns a copy of the raw bytes for this UUID - A 16 byte array containing this UUID - + - Writes the raw bytes for this UUID to a byte array - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - + - Calculate an LLCRC (cyclic redundancy check) for this UUID + Attachment points for objects on avatar bodies - The CRC checksum for this UUID + + Both InventoryObject and InventoryAttachment types can be attached + - + + Right hand if object was not previously attached + + + Chest + + + Skull + + + Left shoulder + + + Right shoulder + + + Left hand + + + Right hand + + + Left foot + + + Right foot + + + Spine + + + Pelvis + + + Mouth + + + Chin + + + Left ear + + + Right ear + + + Left eyeball + + + Right eyeball + + + Nose + + + Right upper arm + + + Right forearm + + + Left upper arm + + + Left forearm + + + Right hip + + + Right upper leg + + + Right lower leg + + + Left hip + + + Left upper leg + + + Left lower leg + + + Stomach + + + Left pectoral + + + Right pectoral + + + HUD Center position 2 + + + HUD Top-right + + + HUD Top + + + HUD Top-left + + + HUD Center + + + HUD Bottom-left + + + HUD Bottom + + + HUD Bottom-right + + - Create a 64-bit integer representation from the second half of this UUID + Tree foliage types - An integer created from the last eight bytes of this UUID - + + Pine1 tree + + + Oak tree + + + Tropical Bush1 + + + Palm1 tree + + + Dogwood tree + + + Tropical Bush2 + + + Palm2 tree + + + Cypress1 tree + + + Cypress2 tree + + + Pine2 tree + + + Plumeria + + + Winter pinetree1 + + + Winter Aspen tree + + + Winter pinetree2 + + + Eucalyptus tree + + + Fern + + + Eelgrass + + + Sea Sword + + + Kelp1 plant + + + Beach grass + + + Kelp2 plant + + - Generate a UUID from a string + Grass foliage types - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") - + - Generate a UUID from a string - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - Will contain the parsed UUID if successful, - otherwise null - True if the string was successfully parse, otherwise false - UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) - + - Combine two UUIDs together by taking the MD5 hash of a byte array - containing both UUIDs - First UUID to combine - Second UUID to combine - The UUID product of the combination - + - - - + - Return a hash code for this UUID, used by .NET for hash tables - An integer composed of all the UUID bytes XORed together - + - Comparison function - An object to compare to this UUID - True if the object is a UUID and both UUIDs are equal - + - Comparison function - UUID to compare to - True if the UUIDs are equal, otherwise false - + - Get a hyphenated string representation of this UUID + Action associated with clicking on an object - A string representation of this UUID, lowercase and - with hyphens - 11f8aa9c-b071-4242-836b-13b7abe0d489 - - - Equals operator - - First UUID for comparison - Second UUID for comparison - True if the UUIDs are byte for byte equal, otherwise false - - - - Not equals operator - - First UUID for comparison - Second UUID for comparison - True if the UUIDs are not equal, otherwise true - - - - XOR operator - - First UUID - Second UUID - A UUID that is a XOR combination of the two input UUIDs + + Touch object - - - String typecasting operator - - A UUID in string form. Case insensitive, - hyphenated or non-hyphenated - A UUID built from the string representation + + Sit on object - - An UUID with a value of all zeroes + + Purchase object or contents - - A cache of UUID.Zero as a string to optimize a common path + + Pay the object - - - A two-dimensional vector with floating-point values - + + Open task inventory - - X value + + Play parcel media - - Y value + + Open parcel media - - - Test if this vector is equal to another vector, within a given - tolerance range - - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false + + For thread safety - - - Test if this vector is composed of all finite numbers - + + For thread safety - + - IComparable.CompareTo implementation + Purges expired objects from the cache. Called automatically by the purge timer. - + - Builds a vector from a byte array + A thread-safe lockless queue that supports multiple readers and + multiple writers - Byte array containing two four-byte floats - Beginning position in the byte array - + - Returns the raw bytes for this vector + Constructor - An eight-byte array containing X and Y - + - Writes the raw bytes for this vector to a byte array + Provides a node container for data in a singly linked list - Destination byte array - Position in the destination array to start - writing. Must be at least 8 bytes before the end of the array - + - Parse a vector from a string + Constructor - A string representation of a 2D vector, enclosed - in arrow brackets and separated by commas - + - Interpolates between two vectors using a cubic equation + Constructor - - - Get a formatted string representation of the vector - - A string representation of the vector + + Pointer to the next node in list - - - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only - - Raw string representation of the vector + + The data contained by the node - - A vector with a value of 0,0 + + Queue head - - A vector with a value of 1,1 + + Queue tail - - A vector with a value of 1,0 + + Queue item count - - A vector with a value of 0,1 + + Gets the current number of items in the queue. Since this + is a lockless collection this value should be treated as a close + estimate - + - An 8-bit color structure including an alpha channel + Enqueue an item + Item to enqeue - - Red - - - Green + + + Try to dequeue an item + + Dequeued item if the dequeue was successful + True if an item was successfully deqeued, otherwise false - - Blue + + A 4x4 matrix containing all zeroes - - Alpha + + A 4x4 identity matrix - + - + Convert this matrix to euler rotations - - - - + X euler angle + Y euler angle + Z euler angle - + - Builds a color from a byte array + Convert this matrix to a quaternion rotation - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 + A quaternion representation of this rotation matrix - + - Returns the raw bytes for this vector + Construct a matrix from euler rotation values in radians - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted - A 16 byte array containing R, G, B, and A + X euler angle in radians + Y euler angle in radians + Z euler angle in radians - + - Copy constructor + Get a formatted string representation of the vector - Color to copy + A string representation of the vector - + - IComparable.CompareTo implementation + Provides helper methods for parallelizing loops - Sorting ends up like this: |--Grayscale--||--Color--|. - Alpha is only used when the colors are otherwise equivalent - + - Builds a color from a byte array + Executes a for loop in which iterations may run in parallel - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop - + - Writes the raw bytes for this color to a byte array + Executes a for loop in which iterations may run in parallel - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array + The number of concurrent execution threads to run + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop - + - Serializes this color into four bytes in a byte array + Executes a foreach loop in which iterations may run in parallel - Destination byte array - Position in the destination array to start - writing. Must be at least 4 bytes before the end of the array - True to invert the output (1.0 becomes 0 - instead of 255) + Object type that the collection wraps + An enumerable collection to iterate over + Method body to run for each object in the collection - + - Writes the raw bytes for this color to a byte array + Executes a foreach loop in which iterations may run in parallel - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array + Object type that the collection wraps + The number of concurrent execution threads to run + An enumerable collection to iterate over + Method body to run for each object in the collection - + - Ensures that values are in range 0-1 + Executes a series of tasks in parallel + A series of method bodies to execute - + - Create an RGB color from a hue, saturation, value combination + Executes a series of tasks in parallel - Hue - Saturation - Value - An fully opaque RGB color (alpha is 1.0) + The number of concurrent execution threads to run + A series of method bodies to execute - + - Performs linear interpolation between two colors + Build a quaternion from normalized float values - Color to start at - Color to end at - Amount to interpolate - The interpolated color - - - A Color4 with zero RGB values and fully opaque (alpha 1.0) - - - A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) + X value from -1.0 to 1.0 + Y value from -1.0 to 1.0 + Z value from -1.0 to 1.0 - + - The different types of grid assets + Constructor, builds a quaternion object from a byte array + Byte array containing four four-byte floats + Offset in the byte array to start reading at + Whether the source data is normalized or + not. If this is true 12 bytes will be read, otherwise 16 bytes will + be read. - - Unknown asset type + + X value - - Texture asset, stores in JPEG2000 J2C stream format + + Y value + + + Z value + + + W value + + + A quaternion with a value of 0,0,0,1 + + + + Normalizes the quaternion + + + + + Builds a quaternion object from a byte array + + The source byte array + Offset in the byte array to start reading at + Whether the source data is normalized or + not. If this is true 12 bytes will be read, otherwise 16 bytes will + be read. + + + + Normalize this quaternion and serialize it to a byte array + + A 12 byte array containing normalized X, Y, and Z floating + point values in order using little endian byte ordering + + + + Writes the raw bytes for this quaternion to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 12 bytes before the end of the array + + + + Convert this quaternion to euler angles + + X euler angle + Y euler angle + Z euler angle + + + + Convert this quaternion to an angle around an axis + + Unit vector describing the axis + Angle around the axis, in radians + + + + Returns the conjugate (spatial inverse) of a quaternion + + + + + Build a quaternion from an axis and an angle of rotation around + that axis + + + + + Build a quaternion from an axis and an angle of rotation around + that axis + + Axis of rotation + Angle of rotation + + + + Creates a quaternion from a vector containing roll, pitch, and yaw + in radians + + Vector representation of the euler angles in + radians + Quaternion representation of the euler angles + + + + Creates a quaternion from roll, pitch, and yaw euler angles in + radians + + X angle in radians + Y angle in radians + Z angle in radians + Quaternion representation of the euler angles + + + + Conjugates and renormalizes a vector + + + + + Spherical linear interpolation between two quaternions + + + + + Get a string representation of the quaternion elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the quaternion + + + + Determines the appropriate events to set, leaves the locks, and sets the events. + + + + + A routine for lazily creating a event outside the lock (so if errors + happen they are outside the lock and that we don't do much work + while holding a spin lock). If all goes well, reenter the lock and + set 'waitEvent' + + + + + Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. + Before the wait 'numWaiters' is incremented and is restored before leaving this routine. + + + + + A hierarchical token bucket for bandwidth throttling. See + http://en.wikipedia.org/wiki/Token_bucket for more information + + + + + Default constructor + + Parent bucket if this is a child bucket, or + null if this is a root bucket + Maximum size of the bucket in bytes, or + zero if this bucket has no maximum capacity + Rate that the bucket fills, in bytes per + second. If zero, the bucket always remains full + + + Parent bucket to this bucket, or null if this is a root + bucket + + + Size of the bucket in bytes. If zero, the bucket has + infinite capacity + + + Rate that the bucket fills, in bytes per millisecond. If + zero, the bucket always remains full + + + Number of tokens currently in the bucket + + + Time of the last drip, in system ticks + + + + The parent bucket of this bucket, or null if this bucket has no + parent. The parent bucket will limit the aggregate bandwidth of all + of its children buckets + + + + + Maximum burst rate in bytes per second. This is the maximum number + of tokens that can accumulate in the bucket at any one time + + + + + The speed limit of this bucket in bytes per second. This is the + number of tokens that are added to the bucket per second + + Tokens are added to the bucket any time + is called, at the granularity of + the system tick interval (typically around 15-22ms) + + + + The number of bytes that can be sent at this moment. This is the + current number of tokens in the bucket + If this bucket has a parent bucket that does not have + enough tokens for a request, will + return false regardless of the content of this bucket + + + + Remove a given number of tokens from the bucket + + Number of tokens to remove from the bucket + True if the requested number of tokens were removed from + the bucket, otherwise false + + + + Remove a given number of tokens from the bucket + + Number of tokens to remove from the bucket + True if tokens were added to the bucket + during this call, otherwise false + True if the requested number of tokens were removed from + the bucket, otherwise false + + + + Add tokens to the bucket over time. The number of tokens added each + call depends on the length of time that has passed since the last + call to Drip + + True if tokens were added to the bucket, otherwise false + + + + A 128-bit Universally Unique Identifier, used throughout the Second + Life networking protocol + + + + + Constructor that takes a string UUID representation + + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") + + + + Constructor that takes a System.Guid object + + A Guid object that contains the unique identifier + to be represented by this UUID + + + + Constructor that takes a byte array containing a UUID + + Byte array containing a 16 byte UUID + Beginning offset in the array + + + + Constructor that takes an unsigned 64-bit unsigned integer to + convert to a UUID + + 64-bit unsigned integer to convert to a UUID + + + + Copy constructor + + UUID to copy + + + The System.Guid object this struct wraps around + + + An UUID with a value of all zeroes + + + A cache of UUID.Zero as a string to optimize a common path + + + + IComparable.CompareTo implementation + + + + + Assigns this UUID from 16 bytes out of a byte array + + Byte array containing the UUID to assign this UUID to + Starting position of the UUID in the byte array + + + + Returns a copy of the raw bytes for this UUID + + A 16 byte array containing this UUID + + + + Writes the raw bytes for this UUID to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array + + + + Calculate an LLCRC (cyclic redundancy check) for this UUID + + The CRC checksum for this UUID + + + + Create a 64-bit integer representation from the second half of this UUID + + An integer created from the last eight bytes of this UUID + + + + Generate a UUID from a string + + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") + + + + Generate a UUID from a string + + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + Will contain the parsed UUID if successful, + otherwise null + True if the string was successfully parse, otherwise false + UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) + + + + Combine two UUIDs together by taking the MD5 hash of a byte array + containing both UUIDs + + First UUID to combine + Second UUID to combine + The UUID product of the combination + + + + + + + + + + Return a hash code for this UUID, used by .NET for hash tables + + An integer composed of all the UUID bytes XORed together + + + + Comparison function + + An object to compare to this UUID + True if the object is a UUID and both UUIDs are equal + + + + Comparison function + + UUID to compare to + True if the UUIDs are equal, otherwise false + + + + Get a hyphenated string representation of this UUID + + A string representation of this UUID, lowercase and + with hyphens + 11f8aa9c-b071-4242-836b-13b7abe0d489 + + + + Equals operator + + First UUID for comparison + Second UUID for comparison + True if the UUIDs are byte for byte equal, otherwise false + + + + Not equals operator + + First UUID for comparison + Second UUID for comparison + True if the UUIDs are not equal, otherwise true + + + + XOR operator + + First UUID + Second UUID + A UUID that is a XOR combination of the two input UUIDs + + + + String typecasting operator + + A UUID in string form. Case insensitive, + hyphenated or non-hyphenated + A UUID built from the string representation + + + + Operating system + + + + Unknown + + + Microsoft Windows + + + Microsoft Windows CE + + + Linux + + + Apple OSX + + + + Runtime platform + + + + .NET runtime + + + Mono runtime: http://www.mono-project.com/ + + + Used for converting degrees to radians + + + Used for converting radians to degrees + + + Provide a single instance of the CultureInfo class to + help parsing in situations where the grid assumes an en-us + culture + + + UNIX epoch in DateTime format + + + Provide a single instance of the MD5 class to avoid making + duplicate copies and handle thread safety + + + Provide a single instance of the SHA-1 class to avoid + making duplicate copies and handle thread safety + + + Provide a single instance of a random number generator + to avoid making duplicate copies and handle thread safety + + + + Clamp a given value between a range + + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper + + + + Clamp a given value between a range + + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper + + + + Clamp a given value between a range + + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper + + + + Round a floating-point value to the nearest integer + + Floating point number to round + Integer + + + + Test if a single precision float is a finite number + + + + + Test if a double precision float is a finite number + + + + + Get the distance between two floating-point values + + First value + Second value + The distance between the two values + + + + Compute the MD5 hash for a byte array + + Byte array to compute the hash for + MD5 hash of the input data + + + + Compute the SHA1 hash for a byte array + + Byte array to compute the hash for + SHA1 hash of the input data + + + + Calculate the SHA1 hash of a given string + + The string to hash + The SHA1 hash as a string + + + + Compute the SHA256 hash for a byte array + + Byte array to compute the hash for + SHA256 hash of the input data + + + + Calculate the SHA256 hash of a given string + + The string to hash + The SHA256 hash as a string + + + + Calculate the MD5 hash of a given string + + The password to hash + An MD5 hash in string format, with $1$ prepended + + + + Calculate the MD5 hash of a given string + + The string to hash + The MD5 hash as a string + + + + Generate a random double precision floating point value + + Random value of type double + + + + Get the current running platform + + Enumeration of the current platform we are running on + + + + Get the current running runtime + + Enumeration of the current runtime we are running on + + + + Convert the first two bytes starting in the byte array in + little endian ordering to a signed short integer + + An array two bytes or longer + A signed short integer, will be zero if a short can't be + read at the given position + + + + Convert the first two bytes starting at the given position in + little endian ordering to a signed short integer + + An array two bytes or longer + Position in the array to start reading + A signed short integer, will be zero if a short can't be + read at the given position + + + + Convert the first four bytes starting at the given position in + little endian ordering to a signed integer + + An array four bytes or longer + Position to start reading the int from + A signed integer, will be zero if an int can't be read + at the given position - - Sound asset + + + Convert the first four bytes of the given array in little endian + ordering to a signed integer + + An array four bytes or longer + A signed integer, will be zero if the array contains + less than four bytes - - Calling card for another avatar + + + Convert the first eight bytes of the given array in little endian + ordering to a signed long integer + + An array eight bytes or longer + A signed long integer, will be zero if the array contains + less than eight bytes - - Link to a location in world + + + Convert the first eight bytes starting at the given position in + little endian ordering to a signed long integer + + An array eight bytes or longer + Position to start reading the long from + A signed long integer, will be zero if a long can't be read + at the given position - - Collection of textures and parameters that can be - worn by an avatar + + + Convert the first two bytes starting at the given position in + little endian ordering to an unsigned short + + Byte array containing the ushort + Position to start reading the ushort from + An unsigned short, will be zero if a ushort can't be read + at the given position - - Primitive that can contain textures, sounds, - scripts and more + + + Convert two bytes in little endian ordering to an unsigned short + + Byte array containing the ushort + An unsigned short, will be zero if a ushort can't be + read - - Notecard asset + + + Convert the first four bytes starting at the given position in + little endian ordering to an unsigned integer + + Byte array containing the uint + Position to start reading the uint from + An unsigned integer, will be zero if a uint can't be read + at the given position - - Holds a collection of inventory items + + + Convert the first four bytes of the given array in little endian + ordering to an unsigned integer + + An array four bytes or longer + An unsigned integer, will be zero if the array contains + less than four bytes - - Root inventory folder + + + Convert the first eight bytes of the given array in little endian + ordering to an unsigned 64-bit integer + + An array eight bytes or longer + An unsigned 64-bit integer, will be zero if the array + contains less than eight bytes - - Linden scripting language script + + + Convert four bytes in little endian ordering to a floating point + value + + Byte array containing a little ending floating + point value + Starting position of the floating point value in + the byte array + Single precision value - - LSO bytecode for a script + + + Convert an integer to a byte array in little endian format + + The integer to convert + A four byte little endian array + + + + Convert an integer to a byte array in big endian format + + The integer to convert + A four byte big endian array + + + + Convert a 64-bit integer to a byte array in little endian format + + The value to convert + An 8 byte little endian array + + + + Convert a 64-bit unsigned integer to a byte array in little endian + format + + The value to convert + An 8 byte little endian array + + + + Convert a floating point value to four bytes in little endian + ordering + + A floating point value + A four byte array containing the value in little endian + ordering + + + + Converts an unsigned integer to a hexadecimal string + + An unsigned integer to convert to a string + A hexadecimal string 10 characters long + 0x7fffffff + + + + Convert a variable length UTF8 byte array to a string + + The UTF8 encoded byte array to convert + The decoded string + + + + Converts a byte array to a string containing hexadecimal characters + + The byte array to convert to a string + The name of the field to prepend to each + line of the string + A string containing hexadecimal characters on multiple + lines. Each line is prepended with the field name + + + + Converts a byte array to a string containing hexadecimal characters + + The byte array to convert to a string + Number of bytes in the array to parse + A string to prepend to each line of the hex + dump + A string containing hexadecimal characters on multiple + lines. Each line is prepended with the field name + + + + Convert a string to a UTF8 encoded byte array + + The string to convert + A null-terminated UTF8 byte array + + + + Converts a string containing hexadecimal characters to a byte array + + String containing hexadecimal characters + If true, gracefully handles null, empty and + uneven strings as well as stripping unconvertable characters + The converted byte array + + + + Returns true is c is a hexadecimal digit (A-F, a-f, 0-9) + + Character to test + true if hex digit, false if not + + + + Converts 1 or 2 character string into equivalant byte value + + 1 or 2 character string + byte + + + + Convert a float value to a byte given a minimum and maximum range + + Value to convert to a byte + Minimum value range + Maximum value range + A single byte representing the original float value + + + + Convert a byte to a float value given a minimum and maximum range + + Byte array to get the byte from + Position in the byte array the desired byte is at + Minimum value range + Maximum value range + A float value inclusively between lower and upper + + + + Convert a byte to a float value given a minimum and maximum range + + Byte to convert to a float value + Minimum value range + Maximum value range + A float value inclusively between lower and upper + + + + Attempts to parse a floating point value from a string, using an + EN-US number format + + String to parse + Resulting floating point number + True if the parse was successful, otherwise false + + + + Attempts to parse a floating point value from a string, using an + EN-US number format + + String to parse + Resulting floating point number + True if the parse was successful, otherwise false + + + + Tries to parse an unsigned 32-bit integer from a hexadecimal string + + String to parse + Resulting integer + True if the parse was successful, otherwise false - - Uncompressed TGA texture + + + Returns text specified in EnumInfo attribute of the enumerator + To add the text use [EnumInfo(Text = "Some nice text here")] before declaration + of enum values + + Enum value + Text representation of the enum - - Collection of textures and shape parameters that can - be worn + + + Takes an AssetType and returns the string representation + + The source + The string version of the AssetType - - Trash folder + + + Translate a string name of an AssetType into the proper Type + + A string containing the AssetType name + The AssetType which matches the string name, or AssetType.Unknown if no match was found - - Snapshot folder + + + Convert an InventoryType to a string + + The to convert + A string representation of the source - - Lost and found folder + + + Convert a string into a valid InventoryType + + A string representation of the InventoryType to convert + A InventoryType object which matched the type - - Uncompressed sound + + + Convert a SaleType to a string + + The to convert + A string representation of the source - - Uncompressed TGA non-square image, not to be used as a - texture + + + Convert a string into a valid SaleType + + A string representation of the SaleType to convert + A SaleType object which matched the type - - Compressed JPEG non-square image, not to be used as a - texture + + + Converts a string used in LLSD to AttachmentPoint type + + String representation of AttachmentPoint to convert + AttachmentPoint enum - - Animation + + + Copy a byte array + + Byte array to copy + A copy of the given byte array - - Sequence of animations, sounds, chat, and pauses + + + Packs to 32-bit unsigned integers in to a 64-bit unsigned integer + + The left-hand (or X) value + The right-hand (or Y) value + A 64-bit integer containing the two 32-bit input values - - Simstate file + + + Unpacks two 32-bit unsigned integers from a 64-bit unsigned integer + + The 64-bit input integer + The left-hand (or X) output value + The right-hand (or Y) output value - - Contains landmarks for favorites + + + Convert an IP address object to an unsigned 32-bit integer + + IP address to convert + 32-bit unsigned integer holding the IP address bits - - Asset is a link to another inventory item + + + Gets a unix timestamp for the current time + + An unsigned integer representing a unix timestamp for now - - Asset is a link to another inventory folder + + + Convert a UNIX timestamp to a native DateTime object + + An unsigned integer representing a UNIX + timestamp + A DateTime object containing the same time specified in + the given timestamp - - Beginning of the range reserved for ensembles + + + Convert a UNIX timestamp to a native DateTime object + + A signed integer representing a UNIX + timestamp + A DateTime object containing the same time specified in + the given timestamp - - End of the range reserved for ensembles + + + Convert a native DateTime object to a UNIX timestamp + + A DateTime object you want to convert to a + timestamp + An unsigned integer representing a UNIX timestamp - - Folder containing inventory links to wearables and attachments - that are part of the current outfit + + + Swap two values + + Type of the values to swap + First value + Second value - - Folder containing inventory items or links to - inventory items of wearables and attachments - together make a full outfit + + + Try to parse an enumeration value from a string + + Enumeration type + String value to parse + Enumeration value on success + True if the parsing succeeded, otherwise false - - Root folder for the folders of type OutfitFolder + + + Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa + + Byte to swap the words in + Byte value with the words swapped - - + + + Attempts to convert a string representation of a hostname or IP + address to a + Hostname to convert to an IPAddress + Converted IP address object, or null if the conversion + failed - + - Inventory Item Types, eg Script, Notecard, Folder, etc + A two-dimensional vector with floating-point values - - Unknown + + X value - - Texture + + Y value - - Sound + + A vector with a value of 0,0 - - Calling Card + + A vector with a value of 1,1 - - Landmark + + A vector with a value of 1,0 - - Notecard + + A vector with a value of 0,1 - - + + + Test if this vector is equal to another vector, within a given + tolerance range + + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false - - Folder + + + Test if this vector is composed of all finite numbers + - - + + + IComparable.CompareTo implementation + - - an LSL Script + + + Builds a vector from a byte array + + Byte array containing two four-byte floats + Beginning position in the byte array - - + + + Returns the raw bytes for this vector + + An eight-byte array containing X and Y - - + + + Writes the raw bytes for this vector to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 8 bytes before the end of the array - - + + + Parse a vector from a string + + A string representation of a 2D vector, enclosed + in arrow brackets and separated by commas - - + + + Interpolates between two vectors using a cubic equation + - - + + + Get a formatted string representation of the vector + + A string representation of the vector + + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector - + - Item Sale Status + A three-dimensional vector with floating-point values - - Not for sale + + + Constructor, builds a vector from a byte array + + Byte array containing three four-byte floats + Beginning position in the byte array - - The original is for sale + + X value - - Copies are for sale + + Y value - - The contents of the object are for sale + + Z value - - - Types of wearable assets - + + A vector with a value of 0,0,0 - - Body shape + + A vector with a value of 1,1,1 - - Skin textures and attributes + + A unit vector facing forward (X axis), value 1,0,0 - - Hair + + A unit vector facing left (Y axis), value 0,1,0 - - Eyes + + A unit vector facing up (Z axis), value 0,0,1 - - Shirt + + + Test if this vector is equal to another vector, within a given + tolerance range + + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false - - Pants + + + IComparable.CompareTo implementation + - - Shoes + + + Test if this vector is composed of all finite numbers + - - Socks + + + Builds a vector from a byte array + + Byte array containing a 12 byte vector + Beginning position in the byte array - - Jacket + + + Returns the raw bytes for this vector + + A 12 byte array containing X, Y, and Z - - Gloves + + + Writes the raw bytes for this vector to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 12 bytes before the end of the array - - Undershirt + + + Parse a vector from a string + + A string representation of a 3D vector, enclosed + in arrow brackets and separated by commas - - Underpants + + + Calculate the rotation between two vectors + + Normalized directional vector (such as 1,0,0 for forward facing) + Normalized target vector - - Skirt + + + Interpolates between two vectors using a cubic equation + - - Alpha mask to hide parts of the avatar + + + Get a formatted string representation of the vector + + A string representation of the vector - - Tattoo + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector - - Invalid wearable asset + + + Cross product between two vectors + A three-dimensional vector with doubleing-point values + + + Constructor, builds a vector from a byte array + + Byte array containing three eight-byte doubles + Beginning position in the byte array + X value @@ -1834,12 +2500,20 @@ Z value - - - Constructor, builds a vector from a byte array - - Byte array containing three eight-byte doubles - Beginning position in the byte array + + A vector with a value of 0,0,0 + + + A vector with a value of 1,1,1 + + + A unit vector facing forward (X axis), value of 1,0,0 + + + A unit vector facing left (Y axis), value of 0,1,0 + + + A unit vector facing up (Z axis), value of 0,0,1 @@ -1887,7 +2561,7 @@ Parse a vector from a string - A string representation of a 3D vector, enclosed + A string representation of a 3D vector, enclosed in arrow brackets and separated by commas @@ -1913,45 +2587,91 @@ Cross product between two vectors - - A vector with a value of 0,0,0 + + + Constructor, builds a vector from a byte array + + Byte array containing four four-byte floats + Beginning position in the byte array - - A vector with a value of 1,1,1 + + X value - - A unit vector facing forward (X axis), value of 1,0,0 + + Y value - - A unit vector facing left (Y axis), value of 0,1,0 + + Z value - - A unit vector facing up (Z axis), value of 0,0,1 + + W value - + + A vector with a value of 0,0,0,0 + + + A vector with a value of 1,1,1,1 + + + A vector with a value of 1,0,0,0 + + + A vector with a value of 0,1,0,0 + + + A vector with a value of 0,0,1,0 + + + A vector with a value of 0,0,0,1 + + - Determines the appropriate events to set, leaves the locks, and sets the events. + Test if this vector is equal to another vector, within a given + tolerance range + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false - + - A routine for lazily creating a event outside the lock (so if errors - happen they are outside the lock and that we don't do much work - while holding a spin lock). If all goes well, reenter the lock and - set 'waitEvent' + IComparable.CompareTo implementation - + - Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. - Before the wait 'numWaiters' is incremented and is restored before leaving this routine. + Test if this vector is composed of all finite numbers - + - Copy constructor + Builds a vector from a byte array - Circular queue to copy + Byte array containing a 16 byte vector + Beginning position in the byte array + + + + Returns the raw bytes for this vector + + A 16 byte array containing X, Y, Z, and W + + + + Writes the raw bytes for this vector to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array + + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 01dc3d8..b989bad 100644 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 6ba7ee6b2e25f52d6f63c08e22f90a3990fc28e1 Mon Sep 17 00:00:00 2001 From: Melanie Date: Mon, 4 Oct 2010 00:44:27 +0100 Subject: Update libOMV --- bin/OpenMetaverse.StructuredData.XML | 398 +- bin/OpenMetaverse.StructuredData.dll | Bin 95232 -> 102400 bytes bin/OpenMetaverse.XML | 36118 ++++++++++++++++----------------- bin/OpenMetaverse.dll | Bin 1768960 -> 1712128 bytes bin/OpenMetaverse.dll.config | 14 +- bin/OpenMetaverseTypes.XML | 3191 ++- bin/OpenMetaverseTypes.dll | Bin 105984 -> 114688 bytes 7 files changed, 19424 insertions(+), 20297 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.StructuredData.XML b/bin/OpenMetaverse.StructuredData.XML index 927e960..a8e314f 100644 --- a/bin/OpenMetaverse.StructuredData.XML +++ b/bin/OpenMetaverse.StructuredData.XML @@ -1,363 +1,333 @@ - /home/root/libopenmetaverse/bin/OpenMetaverse.StructuredData + OpenMetaverse.StructuredData - + + - - + - - + - + + + + - + + + + - + + + + - + + + + - + + + - + + + + + - + + + + + - + + + + + - + + + + - + + + + - + + + + - + - Uses reflection to create an SDMap from all of the SD - serializable types in an object + - Class or struct containing serializable types - An SDMap holding the serialized values from the - container object + + - + - Uses reflection to deserialize member variables in an object from - an SDMap + - Reference to an object to fill with deserialized - values - Serialized values to put in the target - object + + - + + + + - + + + + - + + + + - + + + + - + + + + + - + + + + - + + + + - + + + + - + + + + - + + + + - - - - - + + + + + - + + - - - - + + + + - + + - - - - + + + - + + - - - - + + + - + + - - - - - - - - - + + - - - - - - - - - + + - - - - - - - - - + + - - - - - - - - - + + - - - - - - - + + - - - - - - - + + - - - - - - - + + - - - - - - - + + - - - - - - - + + - + + + + + + + + - - - - - + + - - - - - + + Uses reflection to create an SDMap from all of the SD + serializable types in an object - - - - - - + Class or struct containing serializable types + An SDMap holding the serialized values from the + container object - + + Uses reflection to deserialize member variables in an object from + an SDMap - - - - - - - - + Reference to an object to fill with deserialized + values + Serialized values to put in the target + object - + + - - - - - - - + + - - - - - - - + + - - - - - + + - - - - - + + - - - - - + + - - - - - + + - - - - - + + - - - - - + + - - - - - - - + + - - - - diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 27ccfbc..45a72ec 100644 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.XML b/bin/OpenMetaverse.XML index fa1057a..639bc20 100644 --- a/bin/OpenMetaverse.XML +++ b/bin/OpenMetaverse.XML @@ -1,25794 +1,25026 @@ - /home/root/libopenmetaverse/bin/OpenMetaverse + OpenMetaverse - + - Permission request flags, asked when a script wants to control an Avatar + Represents an LSL Text object containing a string of UTF encoded characters - - Placeholder for empty values, shouldn't ever see this + + + Base class for all Asset types + - - Script wants ability to take money from you + + A byte array containing the raw asset data - - Script wants to take camera controls for you + + True if the asset it only stored on the server temporarily - - Script wants to remap avatars controls + + A unique ID - - Script wants to trigger avatar animations - This function is not implemented on the grid + + + Construct a new Asset object + - - Script wants to attach or detach the prim or primset to your avatar + + + Construct a new Asset object + + A unique specific to this asset + A byte array containing the raw asset data - - Script wants permission to release ownership - This function is not implemented on the grid - The concept of "public" objects does not exist anymore. + + + Regenerates the AssetData byte array from the properties + of the derived class. + - - Script wants ability to link/delink with other prims + + + Decodes the AssetData, placing it in appropriate properties of the derived + class. + + True if the asset decoding succeeded, otherwise false - - Script wants permission to change joints - This function is not implemented on the grid + + The assets unique ID - - Script wants permissions to change permissions - This function is not implemented on the grid + + + The "type" of asset, Notecard, Animation, etc + - - Script wants to track avatars camera position and rotation + + A string of characters represting the script contents - - Script wants to control your camera + + Initializes a new AssetScriptText object - + - Special commands used in Instant Messages + Initializes a new AssetScriptText object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - Indicates a regular IM from another agent - - - Simple notification box with an OK button + + + Encode a string containing the scripts contents into byte encoded AssetData + - - You've been invited to join a group. + + + Decode a byte array containing the scripts contents into a string + + true if decoding is successful - - Inventory offer + + Override the base classes AssetType - - Accepted inventory offer + + + + - - Declined inventory offer + + The event subscribers, null of no subscribers - - Group vote + + Raises the AttachedSound Event + A AttachedSoundEventArgs object containing + the data sent from the simulator - - An object is offering its inventory + + Thread sync lock object - - Accept an inventory offer from an object + + The event subscribers, null of no subscribers - - Decline an inventory offer from an object + + Raises the AttachedSoundGainChange Event + A AttachedSoundGainChangeEventArgs object containing + the data sent from the simulator - - Unknown + + Thread sync lock object - - Start a session, or add users to a session + + The event subscribers, null of no subscribers - - Start a session, but don't prune offline users + + Raises the SoundTrigger Event + A SoundTriggerEventArgs object containing + the data sent from the simulator - - Start a session with your group + + Thread sync lock object - - Start a session without a calling card (finder or objects) + + The event subscribers, null of no subscribers - - Send a message to a session + + Raises the PreloadSound Event + A PreloadSoundEventArgs object containing + the data sent from the simulator - - Leave a session + + Thread sync lock object - - Indicates that the IM is from an object + + + Construct a new instance of the SoundManager class, used for playing and receiving + sound assets + + A reference to the current GridClient instance - - Sent an IM to a busy user, this is the auto response + + + Plays a sound in the current region at full volume from avatar position + + UUID of the sound to be played - - Shows the message in the console and chat history + + + Plays a sound in the current region at full volume + + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. - - Send a teleport lure + + + Plays a sound in the current region + + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - - Response sent to the agent which inititiated a teleport invitation + + + Plays a sound in the specified sim + + UUID of the sound to be played. + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - - Response sent to the agent which inititiated a teleport invitation + + + Play a sound asset + + UUID of the sound to be played. + handle id for the sim to be played in. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - - Only useful if you have Linden permissions + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - A placeholder type for future expansion, currently not - used + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - IM to tell the user to go to an URL + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - IM for help + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - IM sent automatically on call for help, sends a lure - to each Helper reached + + Raised when the simulator sends us data containing + sound - - Like an IM but won't go to email + + Raised when the simulator sends us data containing + ... - - IM from a group officer to all group members + + Raised when the simulator sends us data containing + ... - - Unknown + + Raised when the simulator sends us data containing + ... - - Unknown + + Provides data for the event + The event occurs when the simulator sends + the sound data which emits from an agents attachment + + The following code example shows the process to subscribe to the event + and a stub to handle the data passed from the simulator + + // Subscribe to the AttachedSound event + Client.Sound.AttachedSound += Sound_AttachedSound; + + // process the data raised in the event here + private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) + { + // ... Process AttachedSoundEventArgs here ... + } + + - - Accept a group invitation + + + Construct a new instance of the SoundTriggerEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The volume level + The - - Decline a group invitation + + Simulator where the event originated - - Unknown + + Get the sound asset id - - An avatar is offering you friendship + + Get the ID of the owner - - An avatar has accepted your friendship offer + + Get the ID of the Object - - An avatar has declined your friendship offer + + Get the volume level - - Indicates that a user has started typing + + Get the - - Indicates that a user has stopped typing + + Provides data for the event + The event occurs when an attached sound + changes its volume level - + - Flag in Instant Messages, whether the IM should be delivered to - offline avatars as well + Construct a new instance of the AttachedSoundGainChangedEventArgs class + Simulator where the event originated + The ID of the Object + The new volume level - - Only deliver to online avatars + + Simulator where the event originated - - If the avatar is offline the message will be held until - they login next, and possibly forwarded to their e-mail account + + Get the ID of the Object - + + Get the volume level + + + Provides data for the event + The event occurs when the simulator forwards + a request made by yourself or another agent to play either an asset sound or a built in sound + + Requests to play sounds where the is not one of the built-in + will require sending a request to download the sound asset before it can be played + + + The following code example uses the , + and + properties to display some information on a sound request on the window. + + // subscribe to the event + Client.Sound.SoundTrigger += Sound_SoundTrigger; + + // play the pre-defined BELL_TING sound + Client.Sound.SendSoundTrigger(Sounds.BELL_TING); + + // handle the response data + private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) + { + Console.WriteLine("{0} played the sound {1} at volume {2}", + e.OwnerID, e.SoundID, e.Gain); + } + + + + - Conversion type to denote Chat Packet types in an easier-to-understand format + Construct a new instance of the SoundTriggerEventArgs class + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The ID of the objects parent + The volume level + The regionhandle + The source position - - Whisper (5m radius) + + Simulator where the event originated - - Normal chat (10/20m radius), what the official viewer typically sends + + Get the sound asset id - - Shouting! (100m radius) + + Get the ID of the owner - - Event message when an Avatar has begun to type + + Get the ID of the Object - - Event message when an Avatar has stopped typing + + Get the ID of the objects parent - - Send the message to the debug channel + + Get the volume level - - Event message when an object uses llOwnerSay + + Get the regionhandle - - Special value to support llRegionSay, never sent to the client + + Get the source position - + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + + + + - Identifies the source of a chat message + Construct a new instance of the PreloadSoundEventArgs class + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object - - Chat from the grid or simulator + + Simulator where the event originated - - Chat from another avatar + + Get the sound asset id - - Chat from an object + + Get the ID of the owner - - - + + Get the ID of the Object - - - + + Sort by name - + + Sort by date + + + Sort folders by name, regardless of whether items are + sorted by name or date + + + Place system folders at the top + + + Possible destinations for DeRezObject request - + + + + + Copy from in-world to agent inventory + + + Derez to TaskInventory + + + + + + Take Object + + + + + + Delete Object + + + Put an avatar attachment into agent inventory + + + + + + Return an object back to the owner's inventory + + + Return a deeded object back to the last owner's inventory + + + Upper half of the Flags field for inventory items - + + Indicates that the NextOwner permission will be set to the + most restrictive set of permissions found in the object set + (including linkset items and object inventory items) on next rez + + + Indicates that the object sale information has been + changed + + + If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez + + + Indicates whether this object is composed of multiple + items or not + + + Indicates that the asset is only referenced by this + inventory item. If this item is deleted or updated to reference a + new assetID, the asset can be deleted + + - Effect type used in ViewerEffect packets + Base Class for Inventory Items - + + of item/folder + + + of parent folder + + + Name of item/folder + + + Item/Folder Owners + + + Constructor, takes an itemID as a parameter + The of the item - + + + - + + + - + + Generates a number corresponding to the value of the object to support the use of a hash table, + suitable for use in hashing algorithms and data structures such as a hash table + A Hashcode of all the combined InventoryBase fields - + + Determine whether the specified object is equal to the current object + InventoryBase object to compare against + true if objects are the same - + + Determine whether the specified object is equal to the current object + InventoryBase object to compare against + true if objects are the same - + + An Item in Inventory - - Project a beam from a source to a destination, such as - the one used when editing an object + + The of this item - - - + + The combined of this item - - - + + The type of item from - - - + + The type of item from the enum - - Create a swirl of particles around an object + + The of the creator of this item - - - + + A Description of this item - - - + + The s this item is set to or owned by - - Cause an avatar to look at an object + + If true, item is owned by a group - - Cause an avatar to point at an object + + The price this item can be purchased for - - - The action an avatar is doing when looking at something, used in - ViewerEffect packets for the LookAt effect - + + The type of sale from the enum - - - + + Combined flags from - - - + + Time and date this inventory item was created, stored as + UTC (Coordinated Universal Time) - + + Used to update the AssetID in requests sent to the server + + + The of the previous owner of the item + + + Construct a new InventoryItem object + The of the item - + + Construct a new InventoryItem object of a specific Type + The type of item from + of the item - + + Indicates inventory item is a link + True if inventory item is a link to another inventory item - + + + - - Deprecated - - + + + - + + Generates a number corresponding to the value of the object to support the use of a hash table. + Suitable for use in hashing algorithms and data structures such as a hash table + A Hashcode of all the combined InventoryItem fields - + + Compares an object + The object to compare + true if comparison object matches - + + Determine whether the specified object is equal to the current object + The object to compare against + true if objects are the same - + - The action an avatar is doing when pointing at something, used in - ViewerEffect packets for the PointAt effect + Determine whether the specified object is equal to the current object + The object to compare against + true if objects are the same - + + InventoryTexture Class representing a graphical image + - + + Construct an InventoryTexture object + A which becomes the + objects AssetUUID - + + Construct an InventoryTexture object from a serialization stream - + + InventorySound Class representing a playable sound - + - Money transaction types + Construct an InventorySound object + A which becomes the + objects AssetUUID - + + Construct an InventorySound object from a serialization stream - + + InventoryCallingCard Class, contains information on another avatar - + + Construct an InventoryCallingCard object + A which becomes the + objects AssetUUID - + + Construct an InventoryCallingCard object from a serialization stream - + + InventoryLandmark Class, contains details on a specific location - + + Construct an InventoryLandmark object + A which becomes the + objects AssetUUID - + + Construct an InventoryLandmark object from a serialization stream - + + Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited - + + InventoryObject Class contains details on a primitive or coalesced set of primitives - + + Construct an InventoryObject object + A which becomes the + objects AssetUUID - + + Construct an InventoryObject object from a serialization stream - + + Gets or sets the upper byte of the Flags value - + + Gets or sets the object attachment point, the lower byte of the Flags value - + + InventoryNotecard Class, contains details on an encoded text document - + + Construct an InventoryNotecard object + A which becomes the + objects AssetUUID - + + Construct an InventoryNotecard object from a serialization stream - + + InventoryCategory Class + TODO: Is this even used for anything? - + + Construct an InventoryCategory object + A which becomes the + objects AssetUUID - + + Construct an InventoryCategory object from a serialization stream - + + InventoryLSL Class, represents a Linden Scripting Language object - + + Construct an InventoryLSL object + A which becomes the + objects AssetUUID - + + Construct an InventoryLSL object from a serialization stream - + + InventorySnapshot Class, an image taken with the viewer - + + Construct an InventorySnapshot object + A which becomes the + objects AssetUUID - + + Construct an InventorySnapshot object from a serialization stream - + + InventoryAttachment Class, contains details on an attachable object - + + Construct an InventoryAttachment object + A which becomes the + objects AssetUUID - + + Construct an InventoryAttachment object from a serialization stream - + + Get the last AttachmentPoint this object was attached to - + + InventoryWearable Class, details on a clothing item or body part - + + Construct an InventoryWearable object + A which becomes the + objects AssetUUID - + + Construct an InventoryWearable object from a serialization stream - + + The , Skin, Shape, Skirt, Etc - + + InventoryAnimation Class, A bvh encoded object which animates an avatar - + + Construct an InventoryAnimation object + A which becomes the + objects AssetUUID - + + Construct an InventoryAnimation object from a serialization stream - + + InventoryGesture Class, details on a series of animations, sounds, and actions - + + Construct an InventoryGesture object + A which becomes the + objects AssetUUID - + + Construct an InventoryGesture object from a serialization stream - + + A folder contains s and has certain attributes specific + to itself - + + The Preferred for a folder. + + + The Version of this folder + + + Number of child items this folder contains. + + + Constructor + UUID of the folder - + + + - + + Get Serilization data for this InventoryFolder object - + + Construct an InventoryFolder object from a serialization stream - + + + - + + + + - + + + + - + + + + - + + Tools for dealing with agents inventory - + + Used for converting shadow_id to asset_id + + + The event subscribers, null of no subscribers + + + Raises the ItemReceived Event + A ItemReceivedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the FolderUpdated Event + A FolderUpdatedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the InventoryObjectOffered Event + A InventoryObjectOfferedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the TaskItemReceived Event + A TaskItemReceivedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the FindObjectByPath Event + A FindObjectByPathEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the TaskInventoryReply Event + A TaskInventoryReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the SaveAssetToInventory Event + A SaveAssetToInventoryEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ScriptRunningReply Event + A ScriptRunningReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Partial mapping of AssetTypes to folder names + + + Default constructor + Reference to the GridClient object - + + Fetch an inventory item from the dataserver + The items + The item Owners + a integer representing the number of milliseconds to wait for results + An object on success, or null if no item was found + Items will also be sent to the event - + + Request A single inventory item + The items + The item Owners + - + + Request inventory items + Inventory items to request + Owners of the inventory items + - + + Get contents of a folder + The of the folder to search + The of the folders owner + true to retrieve folders + true to retrieve items + sort order to return results in + a integer representing the number of milliseconds to wait for results + A list of inventory items matching search criteria within folder + + InventoryFolder.DescendentCount will only be accurate if both folders and items are + requested - + + Request the contents of an inventory folder + The folder to search + The folder owners + true to return s contained in folder + true to return s containd in folder + the sort order to return items in + - + + Returns the UUID of the folder (category) that defaults to + containing 'type'. The folder is not necessarily only for that + type + This will return the root folder if one does not exist + + The UUID of the desired folder if found, the UUID of the RootFolder + if not found, or UUID.Zero on failure - + + Find an object in inventory using a specific path to search + The folder to begin the search in + The object owners + A string path to search + milliseconds to wait for a reply + Found items or if + timeout occurs or item is not found - + + Find inventory items by path + The folder to begin the search in + The object owners + A string path to search, folders/objects separated by a '/' + Results are sent to the event - + + Search inventory Store object for an item or folder + The folder to begin the search in + An array which creates a path to search + Number of levels below baseFolder to conduct searches + if True, will stop searching after first match is found + A list of inventory items found - + + Move an inventory item or folder to a new location + The item or folder to move + The to move item or folder to - + + Move an inventory item or folder to a new location and change its name + The item or folder to move + The to move item or folder to + The name to change the item or folder to - + + Move and rename a folder + The source folders + The destination folders + The name to change the folder to - + + Update folder properties + of the folder to update + Sets folder's parent to + Folder name + Folder type - + + Move a folder + The source folders + The destination folders - + - Flags sent when a script takes or releases a control + Move multiple folders, the keys in the Dictionary parameter, + to a new parents, the value of that folder's key. - NOTE: (need to verify) These might be a subset of the ControlFlags enum in Movement, - - - No Flags set - - - Forward (W or up Arrow) - - - Back (S or down arrow) - - - Move left (shift+A or left arrow) - - - Move right (shift+D or right arrow) - - - Up (E or PgUp) - - - Down (C or PgDown) - - - Rotate left (A or left arrow) - - - Rotate right (D or right arrow) - - - Left Mouse Button + A Dictionary containing the + of the source as the key, and the + of the destination as the value - - Left Mouse button in MouseLook - - + - Currently only used to hide your group title + Move an inventory item to a new folder + The of the source item to move + The of the destination folder - - No flags set - - - Hide your group title - - + - Action state of the avatar, which can currently be typing and - editing + Move and rename an inventory item + The of the source item to move + The of the destination folder + The name to change the folder to - + + Move multiple inventory items to new locations + A Dictionary containing the + of the source item as the key, and the + of the destination folder as the value - + + Remove descendants of a folder + The of the folder - + + Remove a single item from inventory + The of the inventory item to remove - + - Current teleport status + Remove a folder from inventory + The of the folder to remove - - Unknown status - - - Teleport initialized - - - Teleport in progress - - - Teleport failed - - - Teleport completed - - - Teleport cancelled - - + + Remove multiple items or folders from inventory + A List containing the s of items to remove + A List containing the s of the folders to remove - - No flags set, or teleport failed - - - Set when newbie leaves help island for first time - - + + Empty the Lost and Found folder - - Via Lure - - - Via Landmark - - - Via Location - - - Via Home - - - Via Telehub - - - Via Login - - - Linden Summoned - - - Linden Forced me - - + + Empty the Trash folder - - Agent Teleported Home via Script - - + + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + - + + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + + - + + Creates a new inventory folder + ID of the folder to put this folder in + Name of the folder to create + The UUID of the newly created folder - - forced to new location for example when avatar is banned or ejected - - - Teleport Finished via a Lure - - - Finished, Sim Changed - - - Finished, Same Sim - - + + Creates a new inventory folder + ID of the folder to put this folder in + Name of the folder to create + Sets this folder as the default folder + for new assets of the specified type. Use AssetType.Unknown + to create a normal folder, otherwise it will likely create a + duplicate of an existing folder type + The UUID of the newly created folder + If you specify a preferred type of AsseType.Folder + it will create a new root folder which may likely cause all sorts + of strange problems - + + Create an inventory item and upload asset data + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Delegate that will receive feedback on success or failure - + + Create an inventory item and upload asset data + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Permission of the newly created item + (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) + Delegate that will receive feedback on success or failure - + + Creates inventory link to another inventory item or folder + Put newly created link in folder with this UUID + Inventory item or folder + Method to call upon creation of the link - + + Creates inventory link to another inventory item + Put newly created link in folder with this UUID + Original inventory item + Method to call upon creation of the link - + + Creates inventory link to another inventory folder + Put newly created link in folder with this UUID + Original inventory folder + Method to call upon creation of the link - + + Creates inventory link to another inventory item or folder + Put newly created link in folder with this UUID + Original item's UUID + Name + Description + Asset Type + Inventory Type + Transaction UUID + Method to call upon creation of the link - + + + + + + - + + + + + + + - + - Instant Message + + + + + + - - Key of sender - - - Name of sender - - - Key of destination avatar - - - ID of originating estate - - - Key of originating region - - - Coordinates in originating region - - - Instant message type - - - Group IM session toggle - - - Key of IM session, for Group Messages, the groups UUID - - - Timestamp of the instant message - - - Instant message text - - - Whether this message is held for offline avatars - - - Context specific packed data - - - Print the struct data as a string - A string containing the field name, and field value - - + - Manager class for our own avatar + Request a copy of an asset embedded within a notecard + Usually UUID.Zero for copying an asset from a notecard + UUID of the notecard to request an asset from + Target folder for asset to go to in your inventory + UUID of the embedded asset + callback to run when item is copied to inventory - + - Constructor, setup callbacks for packets related to our avatar + - A reference to the Class + - + - Agent movement and camera control - Agent movement is controlled by setting specific - After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags - This is most easily accomplished by setting one or more of the AgentMovement properties - Movement of an avatar is always based on a compass direction, for example AtPos will move the - agent from West to East or forward on the X Axis, AtNeg will of course move agent from - East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis - The Z axis is Up, finer grained control of movements can be done using the Nudge properties + + - - Default constructor - - + - Camera controls for the agent, mostly a thin wrapper around - CoordinateFrame. This class is only responsible for state - tracking and math, it does not send any packets + + + - + - Default constructor + + + + - + + Save changes to notecard embedded in object contents + Encoded notecard asset data + Notecard UUID + Object's UUID + Called upon finish of the upload with status information - - The camera is a local frame of reference inside of - the larger grid space. This is where the math happens - - + + Upload new gesture asset for an inventory gesture item + Encoded gesture asset + Gesture inventory UUID + Callback whick will be called when upload is complete - + + Update an existing script in an agents Inventory + A byte[] array containing the encoded scripts contents + the itemID of the script + if true, sets the script content to run on the mono interpreter + - + + Update an existing script in an task Inventory + A byte[] array containing the encoded scripts contents + the itemID of the script + UUID of the prim containting the script + if true, sets the script content to run on the mono interpreter + if true, sets the script to running + - + + Rez an object from inventory + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details - - Agent camera controls - - - Currently only used for hiding your group title - - - Action state of the avatar, which can currently be - typing and editing - - + + Rez an object from inventory + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object - + + Rez an object from inventory - - + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object + User defined queryID to correlate replies + If set to true, the CreateSelected flag + will be set on the rezzed object + + + DeRez an object from the simulator to the agents Objects folder in the agents Inventory + The simulator Local ID of the object + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - + + DeRez an object from the simulator and return to inventory + The simulator Local ID of the object + The type of destination from the enum + The destination inventory folders -or- + if DeRezzing object to a tasks Inventory, the Tasks + The transaction ID for this request which + can be used to correlate this request with other packets + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - + + Rez an item from inventory to its previous simulator location + + + + - + + Give an inventory item to another avatar + The of the item to give + The name of the item + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer - + + Give an inventory Folder with contents to another avatar + The of the Folder to give + The name of the folder + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer - + + Copy or move an from agent inventory to a task (primitive) inventory + The target object + The item to copy or move from inventory + + For items with copy permissions a copy of the item is placed in the tasks inventory, + for no-copy items the object is moved to the tasks inventory - + + Retrieve a listing of the items contained in a task (Primitive) + The tasks + The tasks simulator local ID + milliseconds to wait for reply from simulator + A list containing the inventory items inside the task or null + if a timeout occurs + This request blocks until the response from the simulator arrives + or timeoutMS is exceeded - - Timer for sending AgentUpdate packets - - - Move agent positive along the X axis + + + Request the contents of a tasks (primitives) inventory from the + current simulator + + The LocalID of the object + - - Move agent negative along the X axis + + + Request the contents of a tasks (primitives) inventory + + The simulator Local ID of the object + A reference to the simulator object that contains the object + - - Move agent positive along the Y axis + + + Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory + + LocalID of the object in the simulator + UUID of the task item to move + The ID of the destination folder in this agents inventory + Simulator Object + Raises the event - - Move agent negative along the Y axis + + + Remove an item from an objects (Prim) Inventory + + LocalID of the object in the simulator + UUID of the task item to remove + Simulator Object + You can confirm the removal by comparing the tasks inventory serial before and after the + request with the request combined with + the event - - Move agent positive along the Z axis + + + Copy an InventoryScript item from the Agents Inventory into a primitives task inventory + + An unsigned integer representing a primitive being simulated + An which represents a script object from the agents inventory + true to set the scripts running state to enabled + A Unique Transaction ID + + The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory + and assumes the script exists in the agents inventory. + + uint primID = 95899503; // Fake prim ID + UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory + + Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, + false, true, InventorySortOrder.ByName, 10000); + + Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); + + - - Move agent negative along the Z axis + + + Request the running status of a script contained in a task (primitive) inventory + + The ID of the primitive containing the script + The ID of the script + The event can be used to obtain the results of the + request + - + + Send a request to set the running state of a script contained in a task (primitive) inventory + The ID of the primitive containing the script + The ID of the script + true to set the script running, false to stop a running script + To verify the change you can use the method combined + with the event - + + Create a CRC from an InventoryItem + The source InventoryItem + A uint representing the source InventoryItem as a CRC - + + Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id + Obfuscated shadow_id value + Deobfuscated asset_id value - + + Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id + asset_id value to obfuscate + Obfuscated shadow_id value - + + Wrapper for creating a new object + The type of item from the enum + The of the newly created object + An object with the type and id passed - + + Parse the results of a RequestTaskInventory() response + A string which contains the data from the task reply + A List containing the items contained within the tasks inventory - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + UpdateCreateInventoryItem packets are received when a new inventory item + is created. This may occur when an object that's rezzed in world is + taken into inventory, when an item is created using the CreateInventoryItem + packet, or when an object is purchased + The sender + The EventArgs object containing the packet data - - Causes simulator to make agent fly + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Stop movement + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Finish animation + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Stand up from a sit + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Tells simulator to sit agent on ground + + Raised when the simulator sends us data containing + ... - - Place agent into mouselook mode + + Raised when the simulator sends us data containing + ... - - Nudge agent positive along the X axis + + Raised when the simulator sends us data containing + an inventory object sent by another avatar or primitive - - Nudge agent negative along the X axis + + Raised when the simulator sends us data containing + ... - - Nudge agent positive along the Y axis + + Raised when the simulator sends us data containing + ... - - Nudge agent negative along the Y axis + + Raised when the simulator sends us data containing + ... - - Nudge agent positive along the Z axis + + Raised when the simulator sends us data containing + ... - - Nudge agent negative along the Z axis + + Raised when the simulator sends us data containing + ... - + + Get this agents Inventory data - + + Callback for inventory item creation finishing + Whether the request to create an inventory + item succeeded or not + Inventory item being created. If success is + false this will be null - - Tell simulator to mark agent as away + + + Callback for an inventory item being create from an uploaded asset + + true if inventory item creation was successful + + + - + + + - + + Reply received when uploading an inventory asset + Has upload been successful + Error message if upload failed + Inventory asset UUID + New asset UUID - + + Delegate that is invoked when script upload is completed + Has upload succeded (note, there still might be compile errors) + Upload status message + Is compilation successful + If compilation failed, list of error messages, null on compilation success + Script inventory UUID + Script's new asset UUID - + + Set to true to accept offer, false to decline it + + + The folder to accept the inventory into, if null default folder for will be used + + + Callback when an inventory object is accepted and received from a + task inventory. This is the callback in which you actually get + the ItemID, as in ObjectOfferedCallback it is null when received + from a task. - + - Returns "always run" value, or changes it by sending a SetAlwaysRunPacket + Throttles the network traffic for various different traffic types. + Access this class through GridClient.Throttle - - The current value of the agent control flags - - - Gets or sets the interval in milliseconds at which - AgentUpdate packets are sent to the current simulator. Setting - this to a non-zero value will also enable the packet sending if - it was previously off, and setting it to zero will disable - - - Gets or sets whether AgentUpdate packets are sent to - the current simulator - - - Reset movement controls every time we send an update - - - - Send an AgentUpdate with the camera set at the current agent - position and pointing towards the heading specified - - Camera rotation in radians - Whether to send the AgentUpdate reliable - or not - - - - Rotates the avatar body and camera toward a target position. - This will also anchor the camera position on the avatar - - Region coordinates to turn toward - - + - Send new AgentUpdate packet to update our current camera - position and rotation + Default constructor, uses a default high total of 1500 KBps (1536000) - + - Send new AgentUpdate packet to update our current camera - position and rotation + Constructor that decodes an existing AgentThrottle packet in to + individual values - Whether to require server acknowledgement - of this packet + Reference to the throttle data in an AgentThrottle + packet + Offset position to start reading at in the + throttle data + This is generally not needed in clients as the server will + never send a throttle packet to the client - + - Send new AgentUpdate packet to update our current camera - position and rotation + Send an AgentThrottle packet to the current server using the + current values - Whether to require server acknowledgement - of this packet - Simulator to send the update to - + - Builds an AgentUpdate packet entirely from parameters. This - will not touch the state of Self.Movement or - Self.Movement.Camera in any way + Send an AgentThrottle packet to the specified server using the + current values - - - - - - - - - - - - - - - - - - - - - - - + - Used to specify movement actions for your agent + Convert the current throttle values to a byte array that can be put + in an AgentThrottle packet + Byte array containing all the throttle values - - Empty flag - - - Move Forward (SL Keybinding: W/Up Arrow) - - - Move Backward (SL Keybinding: S/Down Arrow) - - - Move Left (SL Keybinding: Shift-(A/Left Arrow)) - - - Move Right (SL Keybinding: Shift-(D/Right Arrow)) - - - Not Flying: Jump/Flying: Move Up (SL Keybinding: E) - - - Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) + + Maximum bits per second for resending unacknowledged packets - - Unused + + Maximum bits per second for LayerData terrain - - Unused + + Maximum bits per second for LayerData wind data - - Unused + + Maximum bits per second for LayerData clouds - - Unused + + Unknown, includes object data - - ORed with AGENT_CONTROL_AT_* if the keyboard is being used + + Maximum bits per second for textures - - ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used + + Maximum bits per second for downloaded assets - - ORed with AGENT_CONTROL_UP_* if the keyboard is being used + + Maximum bits per second the entire connection, divided up + between invidiual streams using default multipliers - - Fly + + + Level of Detail mesh + - + + Sent to the client to indicate a teleport request has completed - - Finish our current animation + + + Interface requirements for Messaging system + - - Stand up from the ground or a prim seat + + The of the agent - - Sit on the ground at our current location + + - - Whether mouselook is currently enabled + + The simulators handle the agent teleported to - - Legacy, used if a key was pressed for less than a certain amount of time + + A Uri which contains a list of Capabilities the simulator supports - - Legacy, used if a key was pressed for less than a certain amount of time + + Indicates the level of access required + to access the simulator, or the content rating, or the simulators + map status - - Legacy, used if a key was pressed for less than a certain amount of time + + The IP Address of the simulator - - Legacy, used if a key was pressed for less than a certain amount of time + + The UDP Port the simulator will listen for UDP traffic on - - Legacy, used if a key was pressed for less than a certain amount of time + + Status flags indicating the state of the Agent upon arrival, Flying, etc. - - Legacy, used if a key was pressed for less than a certain amount of time + + + Serialize the object + + An containing the objects data - + + Deserialize the message + An containing the data - + + Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. - - Set when the avatar is idled or set to away. Note that the away animation is - activated separately from setting this flag + + + Serialize the object + + An containing the objects data - + + Deserialize the message + An containing the data - + + Serialize the object + An containing the objects data - + + Deserialize the message + An containing the data - + + Serialize the object + An containing the objects data - + - Called once attachment resource usage information has been collected + Deserialize the message - Indicates if operation was successfull - Attachment resource usage information + An containing the data - - The event subscribers. null if no subcribers + + + A message sent to the client which indicates a teleport request has failed + and contains some information on why it failed + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + A string key of the reason the teleport failed e.g. CouldntTPCloser + Which could be used to look up a value in a dictionary or enum - - Thread sync lock object + + The of the Agent - - The event subscribers. null if no subcribers + + A string human readable message containing the reason + An example: Could not teleport closer to destination - - Thread sync lock object + + + Serialize the object + + An containing the objects data - - The event subscribers. null if no subcribers + + + Deserialize the message + + An containing the data - - Thread sync lock object + + + Serialize the object + + An containing the objects data - - The event subscribers. null if no subcribers + + + Deserialize the message + + An containing the data - - Thread sync lock object + + + Contains a list of prim owner information for a specific parcel in a simulator + + + A Simulator will always return at least 1 entry + If agent does not have proper permission the OwnerID will be UUID.Zero + If agent does not have proper permission OR there are no primitives on parcel + the DataBlocksExtended map will not be sent from the simulator + - - The event subscribers. null if no subcribers + + An Array of objects - - Thread sync lock object + + + Serialize the object + + An containing the objects data - - The event subscribers. null if no subcribers + + + Deserialize the message + + An containing the data - - Thread sync lock object + + + Prim ownership information for a specified owner on a single parcel + - - The event subscribers. null if no subcribers + + The of the prim owner, + UUID.Zero if agent has no permission to view prim owner information - - Thread sync lock object + + The total number of prims - - The event subscribers. null if no subcribers + + True if the OwnerID is a - - Thread sync lock object + + True if the owner is online + This is no longer used by the LL Simulators - - The event subscribers. null if no subcribers + + The date the most recent prim was rezzed - - Thread sync lock object + + + The details of a single parcel in a region, also contains some regionwide globals + - - The event subscribers. null if no subcribers + + Simulator-local ID of this parcel - - Thread sync lock object + + Maximum corner of the axis-aligned bounding box for this + parcel - - The event subscribers. null if no subcribers + + Minimum corner of the axis-aligned bounding box for this + parcel - - Thread sync lock object + + Total parcel land area - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + Key of authorized buyer - - The event subscribers. null if no subcribers + + Bitmap describing land layout in 4x4m squares across the + entire region - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + Date land was claimed - - Thread sync lock object + + Appears to always be zero - - The event subscribers. null if no subcribers + + Parcel Description - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + Total number of primitives owned by the parcel group on + this parcel - - The event subscribers. null if no subcribers + + Whether the land is deeded to a group or not - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + Maximum number of primitives this parcel supports - - Thread sync lock object + + The Asset UUID of the Texture which when applied to a + primitive will display the media - - The event subscribers. null if no subcribers + + A URL which points to any Quicktime supported media type - - Thread sync lock object + + A byte, if 0x1 viewer should auto scale media to fit object - - Reference to the GridClient instance + + URL For Music Stream - - Used for movement and camera tracking + + Parcel Name - - Currently playing animations for the agent. Can be used to - check the current movement status such as walking, hovering, aiming, - etc. by checking against system animations found in the Animations class + + Autoreturn value in minutes for others' objects - - Dictionary containing current Group Chat sessions and members + + - - Raised when a scripted object or agent within range sends a public message + + Total number of other primitives on this parcel - - Raised when a scripted object sends a dialog box containing possible - options an agent can respond to + + UUID of the owner of this parcel - - Raised when an object requests a change in the permissions an agent has permitted + + Total number of primitives owned by the parcel owner on + this parcel - - Raised when a script requests an agent open the specified URL + + - - Raised when an agents currency balance is updated + + How long is pass valid for - - Raised when a transaction occurs involving currency such as a land purchase + + Price for a temporary pass - - Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from - private messaging to friendship offers. The Dialog field defines what type of message has arrived + + - - Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times - for each teleport indicating the progress of the request + + - - Raised when a simulator sends agent specific information for our avatar. + + - - Raised when our agents animation playlist changes + + - - Raised when an object or avatar forcefully collides with our agent + + True if the region denies access to age unverified users - - Raised when our agent crosses a region border into another region + + - - Raised when our agent succeeds or fails to join a group chat session + + This field is no longer used - - Raised when a simulator sends an urgent message usually indication the recent failure of - another action we have attempted to take such as an attempt to enter a parcel where we are denied access + + The result of a request for parcel properties - - Raised when a script attempts to take or release specified controls for our agent + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it - - Raised when the simulator detects our agent is trying to view something - beyond its limits + + + Number of primitives your avatar is currently + selecting and sitting on in this parcel + - - Raised when a script sensor reply is received from a simulator + + - - Raised in response to a request + + + A number which increments by 1, starting at 0 for each ParcelProperties request. + Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. + a Negative number indicates the action in has occurred. + - - Raised when an avatar enters a group chat session we are participating in + + Maximum primitives across the entire simulator - - Raised when an agent exits a group chat session we are participating in + + Total primitives across the entire simulator - - Your (client) avatars - "client", "agent", and "avatar" all represent the same thing + + - - Temporary assigned to this session, used for - verifying our identity in packets + + Key of parcel snapshot - - Shared secret that is never sent over the wire + + Parcel ownership status - - Your (client) avatar ID, local to the current region/sim + + Total number of primitives on this parcel - - Where the avatar started at login. Can be "last", "home" - or a login + + - - The access level of this agent, usually M or PG + + - - The CollisionPlane of Agent + + A description of the media - - An representing the velocity of our agent + + An Integer which represents the height of the media - - An representing the acceleration of our agent + + An integer which represents the width of the media - - A which specifies the angular speed, and axis about which an Avatar is rotating. + + A boolean, if true the viewer should loop the media - - Position avatar client will goto when login to 'home' or during - teleport request to 'home' region. + + A string which contains the mime type of the media - - LookAt point saved/restored with HomePosition + + true to obscure (hide) media url - - Avatar First Name (i.e. Philip) + + true to obscure (hide) music url - - Avatar Last Name (i.e. Linden) + + + Serialize the object + + An containing the objects data - - Avatar Full Name (i.e. Philip Linden) + + + Deserialize the message + + An containing the data - - Gets the health of the agent + + A message sent from the viewer to the simulator to updated a specific parcels settings - - Gets the current balance of the agent + + The of the agent authorized to purchase this + parcel of land or a NULL if the sale is authorized to anyone - - Gets the local ID of the prim the agent is sitting on, - zero if the avatar is not currently sitting + + true to enable auto scaling of the parcel media - - Gets the of the agents active group. + + The category of this parcel used when search is enabled to restrict + search results - - Gets the Agents powers in the currently active group + + A string containing the description to set - - Current status message for teleporting + + The of the which allows for additional + powers and restrictions. - - Current position of the agent as a relative offset from - the simulator, or the parent object if we are sitting on something + + The which specifies how avatars which teleport + to this parcel are handled - - Current rotation of the agent as a relative rotation from - the simulator, or the parent object if we are sitting on something + + The LocalID of the parcel to update settings on - - Current position of the agent in the simulator + + A string containing the description of the media which can be played + to visitors - - - A representing the agents current rotation - + + - - Returns the global grid position of the avatar + + - - Raises the ChatFromSimulator event - A ChatEventArgs object containing the - data returned from the data server + + - - Raises the ScriptDialog event - A SctriptDialogEventArgs object containing the - data returned from the data server + + - - Raises the ScriptQuestion event - A ScriptQuestionEventArgs object containing the - data returned from the data server + + - - Raises the LoadURL event - A LoadUrlEventArgs object containing the - data returned from the data server + + - - Raises the MoneyBalance event - A BalanceEventArgs object containing the - data returned from the data server + + - - Raises the MoneyBalanceReply event - A MoneyBalanceReplyEventArgs object containing the - data returned from the data server + + - - Raises the IM event - A InstantMessageEventArgs object containing the - data returned from the data server + + - - Raises the TeleportProgress event - A TeleportEventArgs object containing the - data returned from the data server + + - - Raises the AgentDataReply event - A AgentDataReplyEventArgs object containing the - data returned from the data server + + - - Raises the AnimationsChanged event - A AnimationsChangedEventArgs object containing the - data returned from the data server + + - - Raises the MeanCollision event - A MeanCollisionEventArgs object containing the - data returned from the data server + + - - Raises the RegionCrossed event - A RegionCrossedEventArgs object containing the - data returned from the data server + + - - Raises the GroupChatJoined event - A GroupChatJoinedEventArgs object containing the - data returned from the data server + + - - Raises the AlertMessage event - A AlertMessageEventArgs object containing the - data returned from the data server + + - - Raises the ScriptControlChange event - A ScriptControlEventArgs object containing the - data returned from the data server + + - - Raises the CameraConstraint event - A CameraConstraintEventArgs object containing the - data returned from the data server + + + Deserialize the message + + An containing the data - - Raises the ScriptSensorReply event - A ScriptSensorReplyEventArgs object containing the - data returned from the data server + + + Serialize the object + + An containing the objects data - - Raises the AvatarSitResponse event - A AvatarSitResponseEventArgs object containing the - data returned from the data server + + Base class used for the RemoteParcelRequest message - - Raises the ChatSessionMemberAdded event - A ChatSessionMemberAddedEventArgs object containing the - data returned from the data server + + + A message sent from the viewer to the simulator to request information + on a remote parcel + - - Raises the ChatSessionMemberLeft event - A ChatSessionMemberLeftEventArgs object containing the - data returned from the data server + + Local sim position of the parcel we are looking up - + + Region handle of the parcel we are looking up + + + Region of the parcel we are looking up + + - Send a text message from the Agent to the Simulator + Serialize the object - A containing the message - The channel to send the message on, 0 is the public channel. Channels above 0 - can be used however only scripts listening on the specified channel will see the message - Denotes the type of message being sent, shout, whisper, etc. + An containing the objects data - + - Request any instant messages sent while the client was offline to be resent. + Deserialize the message + An containing the data - + - Send an Instant Message to another Avatar + A message sent from the simulator to the viewer in response to a + which will contain parcel information - The recipients - A containing the message to send - + + The grid-wide unique parcel ID + + - Send an Instant Message to an existing group chat or conference chat + Serialize the object - The recipients - A containing the message to send - IM session ID (to differentiate between IM windows) + An containing the objects data - + - Send an Instant Message + Deserialize the message - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - IDs of sessions for a conference + An containing the data - + - Send an Instant Message + A message containing a request for a remote parcel from a viewer, or a response + from the simulator to that request - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - Type of instant message to send - Whether to IM offline avatars as well - Senders Position - RegionID Sender is In - Packed binary data that is specific to - the dialog type - + + The request or response details block + + - Send an Instant Message to a group + Serialize the object - - of the group to send message to - Text Message being sent. + An containing the objects data - + - Send an Instant Message to a group the agent is a member of + Deserialize the message - The name this IM will show up as being from - - of the group to send message to - Text message being sent + An containing the data - + - Send a request to join a group chat session + Serialize the object - - of Group to leave + An containing the objects data - + - Exit a group chat session. This will stop further Group chat messages - from being sent until session is rejoined. + Deserialize the message - - of Group chat session to leave + An containing the data - + - Reply to script dialog questions. + Serialize the object - Channel initial request came on - Index of button you're "clicking" - Label of button you're "clicking" - - of Object that sent the dialog request - + An containing the objects data - + - Accept invite for to a chatterbox session + Deserialize the message - - of session to accept invite to + An containing the data - + - Start a friends conference + A message sent from the simulator to an agent which contains + the groups the agent is in - - List of UUIDs to start a conference with - the temportary session ID returned in the callback> - + + The Agent receiving the message + + + An array containing information + for each the agent is a member of + + + An array containing information + for each the agent is a member of + + - Start a particle stream between an agent and an object + Serialize the object - - Key of the source agent - - Key of the target object - - - The type from the enum - A unique for this effect + An containing the objects data - + - Start a particle stream between an agent and an object + Deserialize the message - - Key of the source agent - - Key of the target object - A representing the beams offset from the source - A which sets the avatars lookat animation - - of the Effect + An containing the data - + + Group Details specific to the agent + + + true of the agent accepts group notices + + + The agents tier contribution to the group + + + The Groups + + + The of the groups insignia + + + The name of the group + + + The aggregate permissions the agent has in the group for all roles the agent + is assigned + + + An optional block containing additional agent specific information + + + true of the agent allows this group to be + listed in their profile + + - Create a particle beam between an avatar and an primitive + A message sent from the viewer to the simulator which + specifies the language and permissions for others to detect + the language specified - The ID of source avatar - The ID of the target primitive - global offset - A object containing the combined red, green, blue and alpha - color values of particle beam - a float representing the duration the parcicle beam will last - A Unique ID for the beam - - + + A string containng the default language + to use for the agent + + + true of others are allowed to + know the language setting + + - Create a particle swirl around a target position using a packet + Serialize the object - global offset - A object containing the combined red, green, blue and alpha - color values of particle beam - a float representing the duration the parcicle beam will last - A Unique ID for the beam + An containing the objects data - + - Sends a request to sit on the specified object + Deserialize the message - - of the object to sit on - Sit at offset + An containing the data - + - Follows a call to to actually sit on the object + An EventQueue message sent from the simulator to an agent when the agent + leaves a group - - Stands up from sitting on a prim or the ground - true of AgentUpdate was sent - - + - Does a "ground sit" at the avatar's current position + An Array containing the AgentID and GroupID - + - Starts or stops flying + Serialize the object - True to start flying, false to stop flying + An containing the objects data - + - Starts or stops crouching + Deserialize the message - True to start crouching, false to stop crouching + An containing the data - + + An object containing the Agents UUID, and the Groups UUID + + + The ID of the Agent leaving the group + + + The GroupID the Agent is leaving + + + Base class for Asset uploads/results via Capabilities + + - Starts a jump (begin holding the jump key) + The request state - + - Use the autopilot sim function to move the avatar to a new - position. Uses double precision to get precise movements + Serialize the object - The z value is currently not handled properly by the simulator - Global X coordinate to move to - Global Y coordinate to move to - Z coordinate to move to + An containing the objects data - + - Use the autopilot sim function to move the avatar to a new position + Deserialize the message - The z value is currently not handled properly by the simulator - Integer value for the global X coordinate to move to - Integer value for the global Y coordinate to move to - Floating-point value for the Z coordinate to move to + An containing the data - + - Use the autopilot sim function to move the avatar to a new position + A message sent from the viewer to the simulator to request a temporary upload capability + which allows an asset to be uploaded - The z value is currently not handled properly by the simulator - Integer value for the local X coordinate to move to - Integer value for the local Y coordinate to move to - Floating-point value for the Z coordinate to move to - - Macro to cancel autopilot sim function - Not certain if this is how it is really done - true if control flags were set and AgentUpdate was sent to the simulator + + The Capability URL sent by the simulator to upload the baked texture to - + - Grabs an object + A message sent from the simulator that will inform the agent the upload is complete, + and the UUID of the uploaded asset - an unsigned integer of the objects ID within the simulator - - - - Overload: Grab a simulated object - - an unsigned integer of the objects ID within the simulator - - - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space + + The uploaded texture asset ID - + - Drag an object + A message sent from the viewer to the simulator to request a temporary + capability URI which is used to upload an agents baked appearance textures - - of the object to drag - Drag target in region coordinates - + + Object containing request or response + + - Overload: Drag an object + Serialize the object - - of the object to drag - Drag target in region coordinates - - - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space + An containing the objects data - + - Release a grabbed object + Deserialize the message - The Objects Simulator Local ID - - - + An containing the data - + - Release a grabbed object + A message sent from the simulator which indicates the minimum version required for + using voice chat - The Objects Simulator Local ID - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - + + Major Version Required + + + Minor version required + + + The name of the region sending the version requrements + + - Touches an object + Serialize the object - an unsigned integer of the objects ID within the simulator - + An containing the objects data - + - Request the current L$ balance + Deserialize the message + An containing the data - + - Give Money to destination Avatar + A message sent from the simulator to the viewer containing the + voice server URI - UUID of the Target Avatar - Amount in L$ - - - Give Money to destination Avatar - - UUID of the Target Avatar - Amount in L$ - Description that will show up in the - recipients transaction history + + The Parcel ID which the voice server URI applies - + + The name of the region + + + A uri containing the server/channel information + which the viewer can utilize to participate in voice conversations + + - Give L$ to an object + Serialize the object - object to give money to - amount of L$ to give - name of object + An containing the objects data - + - Give L$ to a group + Deserialize the message - group to give money to - amount of L$ to give + An containing the data - + - Give L$ to a group + - group to give money to - amount of L$ to give - description of transaction - + + + + + + + - Pay texture/animation upload fee + Serialize the object + An containing the objects data - + - Pay texture/animation upload fee + Deserialize the message - description of the transaction + An containing the data - + - Give Money to destination Object or Avatar + A message sent by the viewer to the simulator to request a temporary + capability for a script contained with in a Tasks inventory to be updated - UUID of the Target Object/Avatar - Amount in L$ - Reason (Optional normally) - The type of transaction - Transaction flags, mostly for identifying group - transactions - + + Object containing request or response + + - Plays a gesture + Serialize the object - Asset of the gesture + An containing the objects data - + - Mark gesture active + Deserialize the message - Inventory of the gesture - Asset of the gesture + An containing the data - + - Mark gesture inactive + A message sent from the simulator to the viewer to indicate + a Tasks scripts status. - Inventory of the gesture - + + The Asset ID of the script + + + True of the script is compiled/ran using the mono interpreter, false indicates it + uses the older less efficient lsl2 interprter + + + The Task containing the scripts + + + true of the script is in a running state + + - Send an AgentAnimation packet that toggles a single animation on + Serialize the object - The of the animation to start playing - Whether to ensure delivery of this packet or not + An containing the objects data - + - Send an AgentAnimation packet that toggles a single animation off + Deserialize the message - The of a - currently playing animation to stop playing - Whether to ensure delivery of this packet or not + An containing the data - + - Send an AgentAnimation packet that will toggle animations on or off + A message containing the request/response used for updating a gesture + contained with an agents inventory - A list of animation s, and whether to - turn that animation on or off - Whether to ensure delivery of this packet or not - + + Object containing request or response + + - Teleports agent to their stored home location + Serialize the object - true on successful teleport to home location + An containing the objects data - + - Teleport agent to a landmark + Deserialize the message - - of the landmark to teleport agent to - true on success, false on failure + An containing the data - + - Attempt to look up a simulator name and teleport to the discovered - destination + A message request/response which is used to update a notecard contained within + a tasks inventory - Region name to look up - Position to teleport to - True if the lookup and teleport were successful, otherwise - false - + + The of the Task containing the notecard asset to update + + + The notecard assets contained in the tasks inventory + + - Attempt to look up a simulator name and teleport to the discovered - destination + Serialize the object - Region name to look up - Position to teleport to - Target to look at - True if the lookup and teleport were successful, otherwise - false + An containing the objects data - + - Teleport agent to another region + Deserialize the message - handle of region to teleport agent to - - position in destination sim to teleport to - true on success, false on failure - This call is blocking + An containing the data - + - Teleport agent to another region + A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability + which is used to update an asset in an agents inventory - handle of region to teleport agent to - - position in destination sim to teleport to - - direction in destination sim agent will look at - true on success, false on failure - This call is blocking - + - Request teleport to a another simulator + The Notecard AssetID to replace - handle of region to teleport agent to - - position in destination sim to teleport to - + - Request teleport to a another simulator + Serialize the object - handle of region to teleport agent to - - position in destination sim to teleport to - - direction in destination sim agent will look at + An containing the objects data - + - Teleport agent to a landmark + Deserialize the message - - of the landmark to teleport agent to + An containing the data - + - Send a teleport lure to another avatar with default "Join me in ..." invitation message + A message containing the request/response used for updating a notecard + contained with an agents inventory - target avatars to lure - + + Object containing request or response + + - Send a teleport lure to another avatar with custom invitation message + Serialize the object - target avatars to lure - custom message to send with invitation + An containing the objects data - + - Respond to a teleport lure by either accepting it and initiating - the teleport, or denying it + Deserialize the message - - of the avatar sending the lure - true to accept the lure, false to decline it + An containing the data - + - Update agent profile + Serialize the object - - struct containing updated - profile information + An containing the objects data - + - Update agents profile interests + Deserialize the message - selection of interests from struct + An containing the data - + - Set the height and the width of the client window. This is used - by the server to build a virtual camera frustum for our avatar + A message sent from the simulator to the viewer which indicates + an error occurred while attempting to update a script in an agents or tasks + inventory - New height of the viewer window - New width of the viewer window - + + true of the script was successfully compiled by the simulator + + + A string containing the error which occured while trying + to update the script + + + A new AssetID assigned to the script + + - Request the list of muted objects and avatars for this agent + A message sent from the viewer to the simulator + requesting the update of an existing script contained + within a tasks inventory - + + if true, set the script mode to running + + + The scripts InventoryItem ItemID to update + + + A lowercase string containing either "mono" or "lsl2" which + specifies the script is compiled and ran on the mono runtime, or the older + lsl runtime + + + The tasks which contains the script to update + + - Sets home location to agents current position + Serialize the object - will fire an AlertMessage () with - success or failure message + An containing the objects data - + - Move an agent in to a simulator. This packet is the last packet - needed to complete the transition in to a new simulator + Deserialize the message - - Object + An containing the data - + - Reply to script permissions request + A message containing either the request or response used in updating a script inside + a tasks inventory - - Object - - of the itemID requesting permissions - - of the taskID requesting permissions - - list of permissions to allow - + + Object containing request or response + + - Respond to a group invitation by either accepting or denying it + Serialize the object - UUID of the group (sent in the AgentID field of the invite message) - IM Session ID from the group invitation message - Accept the group invitation or deny it + An containing the objects data - + - Requests script detection of objects and avatars + Deserialize the message - name of the object/avatar to search for - UUID of the object or avatar to search for - Type of search from ScriptSensorTypeFlags - range of scan (96 max?) - the arc in radians to search within - an user generated ID to correlate replies with - Simulator to perform search in + An containing the data - + - Create or update profile pick + Response from the simulator to notify the viewer the upload is completed, and + the UUID of the script asset and its compiled status - UUID of the pick to update, or random UUID to create a new pick - Is this a top pick? (typically false) - UUID of the parcel (UUID.Zero for the current parcel) - Name of the pick - Global position of the pick landmark - UUID of the image displayed with the pick - Long description of the pick - + + The uploaded texture asset ID + + + true of the script was compiled successfully + + - Delete profile pick + A message sent from a viewer to the simulator requesting a temporary uploader capability + used to update a script contained in an agents inventory - UUID of the pick to delete - + + The existing asset if of the script in the agents inventory to replace + + + The language of the script + Defaults to lsl version 2, "mono" might be another possible option + + - Create or update profile Classified + Serialize the object - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Global position of the classified landmark - Name of the classified - Long description of the classified - if true, auto renew classified after expiration + An containing the objects data - + - Create or update profile Classified + Deserialize the message - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Name of the classified - Long description of the classified - if true, auto renew classified after expiration + An containing the data - + - Delete a classified ad + A message containing either the request or response used in updating a script inside + an agents inventory - The classified ads ID - + + Object containing request or response + + - Fetches resource usage by agents attachmetns + Serialize the object - Called when the requested information is collected + An containing the objects data - + - Take an incoming ImprovedInstantMessage packet, auto-parse, and if - OnInstantMessage is defined call that with the appropriate arguments + Deserialize the message - The sender - The EventArgs object containing the packet data + An containing the data - + - Take an incoming Chat packet, auto-parse, and if OnChat is defined call - that with the appropriate arguments. + Serialize the object - The sender - The EventArgs object containing the packet data + An containing the objects data - + - Used for parsing llDialogs + Deserialize the message - The sender - The EventArgs object containing the packet data + An containing the data - + + Base class for Map Layers via Capabilities + + + + + - Used for parsing llRequestPermissions dialogs + Serialize the object - The sender - The EventArgs object containing the packet data + An containing the objects data - + - Handles Script Control changes when Script with permissions releases or takes a control + Deserialize the message - The sender - The EventArgs object containing the packet data + An containing the data - + - Used for parsing llLoadURL Dialogs + Sent by an agent to the capabilities server to request map layers - The sender - The EventArgs object containing the packet data - + - Update client's Position, LookAt and region handle from incoming packet + A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates - The sender - The EventArgs object containing the packet data - This occurs when after an avatar moves into a new sim - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + An array containing LayerData items - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Serialize the object + + An containing the objects data - + - Process TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why. + Deserialize the message - The Message Key - An IMessage object Deserialized from the recieved message event - The simulator originating the event message + An containing the data - + - Process TeleportFinish from Event Queue and pass it onto our TeleportHandler + An object containing map location details - The message system key for this event - IMessage object containing decoded data from OSD - The simulator originating the event message - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The Asset ID of the regions tile overlay - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The grid location of the southern border of the map tile - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The grid location of the western border of the map tile - - - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. - - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet + + The grid location of the eastern border of the map tile - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - This packet is now being sent via the EventQueue + + The grid location of the northern border of the map tile - + + Object containing request or response + + - Group Chat event handler + Serialize the object - The capability Key - IMessage object containing decoded data from OSD - - + An containing the objects data - + - Response from request to join a group chat + Deserialize the message - - - IMessage object containing decoded data from OSD - - + An containing the data - + - Someone joined or left group chat + New as of 1.23 RC1, no details yet. - - - IMessage object containing decoded data from OSD - - - + - Handle a group chat Invitation + Serialize the object - Caps Key - IMessage object containing decoded data from OSD - Originating Simulator + An containing the objects data - + - Moderate a chat session + Deserialize the message - the of the session to moderate, for group chats this will be the groups UUID - the of the avatar to moderate - Either "voice" to moderate users voice, or "text" to moderate users text session - true to moderate (silence user), false to allow avatar to speak - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + An containing the data - + + Serialize the object + An containing the objects data - + - Construct a new instance of the ChatEventArgs object + Deserialize the message - Sim from which the message originates - The message sent - The audible level of the message - The type of message sent: whisper, shout, etc - The source type of the message sender - The name of the agent or object sending the message - The ID of the agent or object sending the message - The ID of the object owner, or the agent ID sending the message - The position of the agent or object sending the message + An containing the data - - Get the simulator sending the message + + A string containing the method used - - Get the message sent + + + A request sent from an agent to the Simulator to begin a new conference. + Contains a list of Agents which will be included in the conference + - - Get the audible level of the message + + An array containing the of the agents invited to this conference - - Get the type of message sent: whisper, shout, etc + + The conferences Session ID - - Get the source type of the message sender + + + Serialize the object + + An containing the objects data - - Get the name of the agent or object sending the message + + + Deserialize the message + + An containing the data - - Get the ID of the agent or object sending the message + + + A moderation request sent from a conference moderator + Contains an agent and an optional action to take + - - Get the ID of the object owner, or the agent ID sending the message + + The Session ID - - Get the position of the agent or object sending the message + + - - Contains the data sent when a primitive opens a dialog with this agent + + A list containing Key/Value pairs, known valid values: + key: text value: true/false - allow/disallow specified agents ability to use text in session + key: voice value: true/false - allow/disallow specified agents ability to use voice in session + + "text" or "voice" - + + + + - Construct a new instance of the ScriptDialogEventArgs + Serialize the object - The dialog message - The name of the object that sent the dialog request - The ID of the image to be displayed - The ID of the primitive sending the dialog - The first name of the senders owner - The last name of the senders owner - The communication channel the dialog was sent on - The string labels containing the options presented in this dialog + An containing the objects data - - Get the dialog message + + + Deserialize the message + + An containing the data - - Get the name of the object that sent the dialog request + + + A message sent from the agent to the simulator which tells the + simulator we've accepted a conference invitation + - - Get the ID of the image to be displayed + + The conference SessionID - - Get the ID of the primitive sending the dialog + + + Serialize the object + + An containing the objects data - - Get the first name of the senders owner + + + Deserialize the message + + An containing the data - - Get the last name of the senders owner + + + Serialize the object + + An containing the objects data - - Get the communication channel the dialog was sent on, responses - should also send responses on this same channel + + + Deserialize the message + + An containing the data - - Get the string labels containing the options presented in this dialog + + + Serialize the object + + An containing the objects data - - Contains the data sent when a primitive requests debit or other permissions - requesting a YES or NO answer + + + Deserialize the message + + An containing the data - + - Construct a new instance of the ScriptQuestionEventArgs + Serialize the object - The simulator containing the object sending the request - The ID of the script making the request - The ID of the primitive containing the script making the request - The name of the primitive making the request - The name of the owner of the object making the request - The permissions being requested + An containing the objects data - - Get the simulator containing the object sending the request + + + Deserialize the message + + An containing the data - - Get the ID of the script making the request + + Key of sender - - Get the ID of the primitive containing the script making the request + + Name of sender - - Get the name of the primitive making the request + + Key of destination avatar - - Get the name of the owner of the object making the request + + ID of originating estate - - Get the permissions being requested + + Key of originating region - - Contains the data sent when a primitive sends a request - to an agent to open the specified URL + + Coordinates in originating region - - - Construct a new instance of the LoadUrlEventArgs - - The name of the object sending the request - The ID of the object sending the request - The ID of the owner of the object sending the request - True if the object is owned by a group - The message sent with the request - The URL the object sent + + Instant message type - - Get the name of the object sending the request + + Group IM session toggle - - Get the ID of the object sending the request + + Key of IM session, for Group Messages, the groups UUID - - Get the ID of the owner of the object sending the request + + Timestamp of the instant message - - True if the object is owned by a group + + Instant message text - - Get the message sent with the request + + Whether this message is held for offline avatars - - Get the URL the object sent + + Context specific packed data - - The date received from an ImprovedInstantMessage + + Is this invitation for voice group/conference chat - + - Construct a new instance of the InstantMessageEventArgs object + Serialize the object - the InstantMessage object - the simulator where the InstantMessage origniated + An containing the objects data - - Get the InstantMessage object + + + Deserialize the message + + An containing the data - - Get the simulator where the InstantMessage origniated + + + Sent from the simulator to the viewer. + + When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including + a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate + this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" + + During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are + excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with + the string "ENTER" or "LEAVE" respectively. + - - Contains the currency balance + + + Serialize the object + + An containing the objects data - + - Construct a new BalanceEventArgs object + Deserialize the message - The currenct balance + An containing the data - + - Get the currenct balance + An EventQueue message sent when the agent is forcibly removed from a chatterbox session - - Contains the transaction summary when an item is purchased, - money is given, or land is purchased + + + A string containing the reason the agent was removed + - + - Construct a new instance of the MoneyBalanceReplyEventArgs object + The ChatterBoxSession's SessionID - The ID of the transaction - True of the transaction was successful - The current currency balance - The meters credited - The meters comitted - A brief description of the transaction - - - Get the ID of the transaction - - - True of the transaction was successful - - - Get the remaining currency balance - - - Get the meters credited - - - Get the meters comitted - - - Get the description of the transaction - - - Data sent from the simulator containing information about your agent and active group information - + - Construct a new instance of the AgentDataReplyEventArgs object + Serialize the object - The agents first name - The agents last name - The agents active group ID - The group title of the agents active group - The combined group powers the agent has in the active group - The name of the group the agent has currently active - - - Get the agents first name - - - Get the agents last name - - - Get the active group ID of your agent - - - Get the active groups title of your agent + An containing the objects data - - Get the combined group powers of your agent + + + Deserialize the message + + An containing the data - - Get the active group name of your agent + + + Serialize the object + + An containing the objects data - - Data sent by the simulator to indicate the active/changed animations - applied to your agent + + + Deserialize the message + + An containing the data - + - Construct a new instance of the AnimationsChangedEventArgs class + Serialize the object - The dictionary that contains the changed animations + An containing the objects data - - Get the dictionary that contains the changed animations + + + Deserialize the message + + An containing the data - + - Data sent from a simulator indicating a collision with your agent + Serialize the object + An containing the objects data - + - Construct a new instance of the MeanCollisionEventArgs class + Deserialize the message - The type of collision that occurred - The ID of the agent or object that perpetrated the agression - The ID of the Victim - The strength of the collision - The Time the collision occurred + An containing the data - - Get the Type of collision + + + Serialize the object + + An containing the objects data - - Get the ID of the agent or object that collided with your agent + + + Deserialize the message + + An containing the data - - Get the ID of the agent that was attacked + + + + - - A value indicating the strength of the collision + + + Serialize the object + + An containing the objects data - - Get the time the collision occurred + + + Deserialize the message + + An containing the data - - Data sent to your agent when it crosses region boundaries + + + Serialize the object + + An containing the objects data - + - Construct a new instance of the RegionCrossedEventArgs class + Deserialize the message - The simulator your agent just left - The simulator your agent is now in + An containing the data - - Get the simulator your agent just left + + + Serialize the object + + An containing the objects data - - Get the simulator your agent is now in + + + Deserialize the message + + An containing the data - - Data sent from the simulator when your agent joins a group chat session + + + A message sent from the viewer to the simulator which + specifies that the user has changed current URL + of the specific media on a prim face + - + - Construct a new instance of the GroupChatJoinedEventArgs class + New URL - The ID of the session - The name of the session - A temporary session id used for establishing new sessions - True of your agent successfully joined the session - - Get the ID of the group chat session + + + Prim UUID where navigation occured + - - Get the name of the session + + + Face index + - - Get the temporary session ID used for establishing new sessions + + + Serialize the object + + An containing the objects data - - True if your agent successfully joined the session + + + Deserialize the message + + An containing the data - - Data sent by the simulator containing urgent messages + + Base class used for the ObjectMedia message - + - Construct a new instance of the AlertMessageEventArgs class + Message used to retrive prim media data - The alert message - - Get the alert message + + + Prim UUID + - - Data sent by a script requesting to take or release specified controls to your agent + + + Requested operation, either GET or UPDATE + - + - Construct a new instance of the ScriptControlEventArgs class + Serialize object - The controls the script is attempting to take or release to the agent - True if the script is passing controls back to the agent - True if the script is requesting controls be released to the script + Serialized object as OSDMap - - Get the controls the script is attempting to take or release to the agent + + + Deserialize the message + + An containing the data - - True if the script is passing controls back to the agent + + + Message used to update prim media data + - - True if the script is requesting controls be released to the script + + + Prim UUID + - + - Data sent from the simulator to an agent to indicate its view limits + Array of media entries indexed by face number - + - Construct a new instance of the CameraConstraintEventArgs class + Media version string - The collision plane - - Get the collision plane + + + Serialize object + + Serialized object as OSDMap - + - Data containing script sensor requests which allow an agent to know the specific details - of a primitive sending script sensor requests + Deserialize the message + An containing the data - + - Construct a new instance of the ScriptSensorReplyEventArgs + Message used to update prim media data - The ID of the primitive sending the sensor - The ID of the group associated with the primitive - The name of the primitive sending the sensor - The ID of the primitive sending the sensor - The ID of the owner of the primitive sending the sensor - The position of the primitive sending the sensor - The range the primitive specified to scan - The rotation of the primitive sending the sensor - The type of sensor the primitive sent - The velocity of the primitive sending the sensor - - Get the ID of the primitive sending the sensor + + + Prim UUID + - - Get the ID of the group associated with the primitive + + + Array of media entries indexed by face number + - - Get the name of the primitive sending the sensor + + + Requested operation, either GET or UPDATE + - - Get the ID of the primitive sending the sensor + + + Serialize object + + Serialized object as OSDMap - - Get the ID of the owner of the primitive sending the sensor + + + Deserialize the message + + An containing the data - - Get the position of the primitive sending the sensor + + + Message for setting or getting per face MediaEntry + - - Get the range the primitive specified to scan + + The request or response details block - - Get the rotation of the primitive sending the sensor + + + Serialize the object + + An containing the objects data - - Get the type of sensor the primitive sent + + + Deserialize the message + + An containing the data - - Get the velocity of the primitive sending the sensor + + Details about object resource usage - - Contains the response data returned from the simulator in response to a + + Object UUID - - Construct a new instance of the AvatarSitResponseEventArgs object + + Object name - - Get the ID of the primitive the agent will be sitting on + + Indicates if object is group owned - - True if the simulator Autopilot functions were involved + + Locatio of the object - - Get the camera offset of the agent when seated + + Object owner - - Get the camera eye offset of the agent when seated + + Resource usage, keys are resource names, values are resource usage for that specific resource - - True of the agent will be in mouselook mode when seated + + + Deserializes object from OSD + + An containing the data - - Get the position of the agent when seated + + + Makes an instance based on deserialized data + + serialized data + Instance containg deserialized data - - Get the rotation of the agent when seated + + Details about parcel resource usage - - Data sent when an agent joins a chat session your agent is currently participating in + + Parcel UUID - + + Parcel local ID + + + Parcel name + + + Indicates if parcel is group owned + + + Parcel owner + + + Array of containing per object resource usage + + - Construct a new instance of the ChatSessionMemberAddedEventArgs object + Deserializes object from OSD - The ID of the chat session - The ID of the agent joining + An containing the data - - Get the ID of the chat session + + + Makes an instance based on deserialized data + + serialized data + Instance containg deserialized data - - Get the ID of the agent that joined + + Resource usage base class, both agent and parcel resource + usage contains summary information - - Data sent when an agent exits a chat session your agent is currently participating in + + Summary of available resources, keys are resource names, + values are resource usage for that specific resource - + + Summary resource usage, keys are resource names, + values are resource usage for that specific resource + + - Construct a new instance of the ChatSessionMemberLeftEventArgs object + Serializes object - The ID of the chat session - The ID of the Agent that left + serialized data - - Get the ID of the chat session + + + Deserializes object from OSD + + An containing the data - - Get the ID of the agent that left + + Agent resource usage - + + Per attachment point object resource usage + + - Throttles the network traffic for various different traffic types. - Access this class through GridClient.Throttle + Deserializes object from OSD + An containing the data - + - Default constructor, uses a default high total of 1500 KBps (1536000) + Makes an instance based on deserialized data + serialized data + Instance containg deserialized data - + - Constructor that decodes an existing AgentThrottle packet in to - individual values + Detects which class handles deserialization of this message - Reference to the throttle data in an AgentThrottle - packet - Offset position to start reading at in the - throttle data - This is generally not needed in clients as the server will - never send a throttle packet to the client + An containing the data + Object capable of decoding this message - - Maximum bits per second for resending unacknowledged packets + + Request message for parcel resource usage - - Maximum bits per second for LayerData terrain + + UUID of the parel to request resource usage info - - Maximum bits per second for LayerData wind data + + + Serializes object + + serialized data - - Maximum bits per second for LayerData clouds + + + Deserializes object from OSD + + An containing the data - - Unknown, includes object data + + Response message for parcel resource usage - - Maximum bits per second for textures + + URL where parcel resource usage details can be retrieved - - Maximum bits per second for downloaded assets + + URL where parcel resource usage summary can be retrieved - - Maximum bits per second the entire connection, divided up - between invidiual streams using default multipliers + + + Serializes object + + serialized data - + - Send an AgentThrottle packet to the current server using the - current values + Deserializes object from OSD + An containing the data - + - Send an AgentThrottle packet to the specified server using the - current values + Detects which class handles deserialization of this message + An containing the data + Object capable of decoding this message - + + Parcel resource usage + + + Array of containing per percal resource usage + + - Convert the current throttle values to a byte array that can be put - in an AgentThrottle packet + Deserializes object from OSD - Byte array containing all the throttle values + An containing the data - + - Static pre-defined animations available to all agents + Abstract base for rendering plugins - - Agent with afraid expression on face - - - Agent aiming a bazooka (right handed) + + + Generates a basic mesh structure from a primitive + + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh - - Agent aiming a bow (left handed) + + + Generates a basic mesh structure from a sculpted primitive and + texture + + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh - - Agent aiming a hand gun (right handed) + + + Generates a series of faces, each face containing a mesh and + metadata + + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh - - Agent aiming a rifle (right handed) + + + Generates a series of faces for a sculpted prim, each face + containing a mesh and metadata + + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh - - Agent with angry expression on face + + + Apply texture coordinate modifications from a + to a list of vertices + + Vertex list to modify texture coordinates for + Center-point of the face + Face texture parameters - - Agent hunched over (away) + + + Capability to load TGAs to Bitmap + - - Agent doing a backflip + + + Represents a Wearable Asset, Clothing, Hair, Skin, Etc + - - Agent laughing while holding belly + + A string containing the name of the asset - - Agent blowing a kiss + + A string containing a short description of the asset - - Agent with bored expression on face + + The Assets WearableType - - Agent bowing to audience + + The For-Sale status of the object - - Agent brushing himself/herself off + + An Integer representing the purchase price of the asset - - Agent in busy mode + + The of the assets creator - - Agent clapping hands + + The of the assets current owner - - Agent doing a curtsey bow + + The of the assets prior owner - - Agent crouching + + The of the Group this asset is set to - - Agent crouching while walking + + True if the asset is owned by a - - Agent crying + + The Permissions mask of the asset - - Agent unanimated with arms out (e.g. setting appearance) + + A Dictionary containing Key/Value pairs of the objects parameters - - Agent re-animated after set appearance finished + + A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures - - Agent dancing + + Initializes a new instance of an AssetWearable object - - Agent dancing + + Initializes a new instance of an AssetWearable object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - Agent dancing + + + Decode an assets byte encoded data to a string + + true if the asset data was decoded successfully - - Agent dancing + + + Encode the assets string represantion into a format consumable by the asset server + - - Agent dancing + + + The InternalDictionary class is used through the library for storing key/value pairs. + It is intended to be a replacement for the generic Dictionary class and should + be used in its place. It contains several methods for allowing access to the data from + outside the library that are read only and thread safe. + + + Key + Value - - Agent dancing + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking + on this member - - Agent dancing + + + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. + + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); + + - - Agent dancing + + + Initializes a new instance of the Class + with the specified key/value, has its initial valies copied from the specified + + + + to copy initial values from + + + // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. + // populates with copied values from example KeyNameCache Dictionary. + + // create source dictionary + Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); + KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); + KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); + + // Initialize new dictionary. + public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); + + - - Agent on ground unanimated + + + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. + + Initial size of dictionary + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); + + - - Agent boozing it up + + + Try to get entry from with specified key + + Key to use for lookup + Value returned + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + - - Agent with embarassed expression on face + + + Finds the specified match. + + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + - - Agent with afraid expression on face + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + - - Agent with angry expression on face + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + - - Agent with bored expression on face + + Perform an on each entry in an + to perform + + + // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. + Client.Network.CurrentSim.ObjectsPrimitives.ForEach( + delegate(Primitive prim) + { + if (prim.Text != null) + { + Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", + prim.PropertiesFamily.Name, prim.ID, prim.Text); + } + }); + + - - Agent crying + + Perform an on each key of an + to perform - - Agent showing disdain (dislike) for something + + + Perform an on each KeyValuePair of an + + to perform - - Agent with embarassed expression on face + + Check if Key exists in Dictionary + Key to check for + if found, otherwise - - Agent with frowning expression on face + + Check if Value exists in Dictionary + Value to check for + if found, otherwise - - Agent with kissy face + + + Adds the specified key to the dictionary, dictionary locking is not performed, + + + The key + The value - - Agent expressing laughgter - - - Agent with open mouth - - - Agent with repulsed expression on face - - - Agent expressing sadness - - - Agent shrugging shoulders - - - Agent with a smile - - - Agent expressing surprise - - - Agent sticking tongue out + + + Removes the specified key, dictionary locking is not performed + + The key. + if successful, otherwise - - Agent with big toothy smile + + + Gets the number of Key/Value pairs contained in the + - - Agent winking + + + Indexer for the dictionary + + The key + The value - - Agent expressing worry + + + Temporary code to produce a tar archive in tar v7 format + - - Agent falling down + + + Binary writer for the underlying stream + - - Agent walking (feminine version) + + + Write a directory entry to the tar archive. We can only handle one path level right now! + + - - Agent wagging finger (disapproval) + + + Write a file to the tar archive + + + - - I'm not sure I want to know + + + Write a file to the tar archive + + + - - Agent in superman position + + + Finish writing the raw tar archive data to a stream. The stream will be closed on completion. + - - Agent in superman position + + + Write a particular entry + + + + - - Agent greeting another + + + Temporary code to do the bare minimum required to read a tar archive for our purposes + - - Agent holding bazooka (right handed) + + + Binary reader for the underlying stream + - - Agent holding a bow (left handed) + + + Used to trim off null chars + - - Agent holding a handgun (right handed) + + + Used to trim off space chars + - - Agent holding a rifle (right handed) + + + Generate a tar reader which reads from the given stream. + + - - Agent throwing an object (right handed) + + + Read the next entry in the tar file. + + + + the data for the entry. Returns null if there are no more entries - - Agent in static hover + + + Read the next 512 byte chunk of data as a tar header. + + A tar header struct. null if we have reached the end of the archive. - - Agent hovering downward + + + Read data following a header + + + - - Agent hovering upward + + + Convert octal bytes to a decimal representation + + + + + - - Agent being impatient + + + The current status of a texture request as it moves through the pipeline or final result of a texture request. + - - Agent jumping + + The initial state given to a request. Requests in this state + are waiting for an available slot in the pipeline - - Agent jumping with fervor + + A request that has been added to the pipeline and the request packet + has been sent to the simulator - - Agent point to lips then rear end + + A request that has received one or more packets back from the simulator - - Agent landing from jump, finished flight, etc + + A request that has received all packets back from the simulator - - Agent laughing + + A request that has taken longer than + to download OR the initial packet containing the packet information was never received - - Agent landing from jump, finished flight, etc + + The texture request was aborted by request of the agent - - Agent sitting on a motorcycle + + The simulator replied to the request that it was not able to find the requested texture - + + A callback fired to indicate the status or final state of the requested texture. For progressive + downloads this will fire each time new asset data is returned from the simulator. + The indicating either Progress for textures not fully downloaded, + or the final result of the request after it has been processed through the TexturePipeline + The object containing the Assets ID, raw data + and other information. For progressive rendering the will contain + the data from the beginning of the file. For failed, aborted and timed out requests it will contain + an empty byte array. - - Agent moving head side to side - - - Agent moving head side to side with unhappy expression - - - Agent taunting another - - + + Texture request download handler, allows a configurable number of download slots which manage multiple + concurrent texture downloads from the + This class makes full use of the internal + system for full texture downloads. - - Agent giving peace sign - - - Agent pointing at self - - - Agent pointing at another - - - Agent preparing for jump (bending knees) + + A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID + and also the Asset Texture ID, and the value is an object containing the current state of the request and also + the asset data as it is being re-assembled - - Agent punching with left hand + + Holds the reference to the client object - - Agent punching with right hand + + Maximum concurrent texture requests allowed at a time - - Agent acting repulsed + + An array of objects used to manage worker request threads - - Agent trying to be Chuck Norris + + An array of worker slots which shows the availablity status of the slot - - Rocks, Paper, Scissors 1, 2, 3 + + The primary thread which manages the requests. - - Agent with hand flat over other hand + + true if the TexturePipeline is currently running - - Agent with fist over other hand + + A synchronization object used by the primary thread - - Agent with two fingers spread over other hand + + A refresh timer used to increase the priority of stalled requests - - Agent running + + + Default constructor, Instantiates a new copy of the TexturePipeline class + + Reference to the instantiated object - - Agent appearing sad + + + Initialize callbacks required for the TexturePipeline to operate + - - Agent saluting + + + Shutdown the TexturePipeline and cleanup any callbacks or transfers + - - Agent shooting bow (left handed) - - - Agent cupping mouth as if shouting - - - Agent shrugging shoulders - - - Agent in sit position - - - Agent in sit position (feminine) - - - Agent in sit position (generic) - - - Agent sitting on ground - - - Agent sitting on ground - - + + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request - - Agent sleeping on side + + + Sends the actual request packet to the simulator + + The image to download + Type of the image to download, either a baked + avatar texture or a normal texture + Priority level of the download. Default is + 1,013,000.0f + Number of quality layers to discard. + This controls the end marker of the data sent + Packet number to start the download at. + This controls the start marker of the data sent + Sending a priority of 0 and a discardlevel of -1 aborts + download - - Agent smoking + + + Cancel a pending or in process texture request + + The texture assets unique ID - - Agent inhaling smoke + + + Master Download Thread, Queues up downloads in the threadpool + - + + The worker thread that sends the request and handles timeouts + A object containing the request details - - Agent taking a picture + + + Handle responses from the simulator that tell us a texture we have requested is unable to be located + or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use + + The sender + The EventArgs object containing the packet data - - Agent standing + + + Handles the remaining Image data that did not fit in the initial ImageData packet + + The sender + The EventArgs object containing the packet data - - Agent standing up + + + Handle the initial ImageDataPacket sent from the simulator + + The sender + The EventArgs object containing the packet data - - Agent standing + + Current number of pending and in-process transfers - - Agent standing + + + A request task containing information and status of a request as it is processed through the + - - Agent standing + + The current which identifies the current status of the request - - Agent standing + + The Unique Request ID, This is also the Asset ID of the texture being requested - - Agent stretching + + The slot this request is occupying in the threadpoolSlots array - - Agent in stride (fast walk) + + The ImageType of the request. - - Agent surfing + + The callback to fire when the request is complete, will include + the and the + object containing the result data - - Agent acting surprised + + If true, indicates the callback will be fired whenever new data is returned from the simulator. + This is used to progressively render textures as portions of the texture are received. - - Agent striking with a sword + + An object that maintains the data of an request thats in-process. - - Agent talking (lips moving) + + X position of this patch - - Agent throwing a tantrum + + Y position of this patch - - Agent throwing an object (right handed) + + A 16x16 array of floats holding decompressed layer data - - Agent trying on a shirt + + + Creates a LayerData packet for compressed land data given a full + simulator heightmap and an array of indices of patches to compress + + A 256 * 256 array of floating point values + specifying the height at each meter in the simulator + Array of indexes in the 16x16 grid of patches + for this simulator. For example if 1 and 17 are specified, patches + x=1,y=0 and x=1,y=1 are sent + - - Agent turning to the left + + + Add a patch of terrain to a BitPacker + + BitPacker to write the patch to + Heightmap of the simulator, must be a 256 * + 256 float array + X offset of the patch to create, valid values are + from 0 to 15 + Y offset of the patch to create, valid values are + from 0 to 15 - - Agent turning to the right + + + + - - Agent typing + + + + - - Agent walking + + - - Agent whispering + + - - Agent whispering with fingers in mouth + + - - Agent winking + + - - Agent winking + + - - Agent worried + + - - Agent nodding yes + + + + - - Agent nodding yes with happy face + + + + - - Agent floating with legs and arms crossed + + + Initialize the UDP packet handler in server mode + + Port to listening for incoming UDP packets on - + - A dictionary containing all pre-defined animations + Initialize the UDP packet handler in client mode - A dictionary containing the pre-defined animations, - where the key is the animations ID, and the value is a string - containing a name to identify the purpose of the animation + Remote UDP server to connect to - + - Index of TextureEntry slots for avatar appearances + - + - Bake layers for avatar appearance + - + - Default constructor + - A reference to our agent - + - Contains information about a wearable inventory item + Type of return to use when returning objects from a parcel - - Inventory ItemID of the wearable + + - - AssetID of the wearable asset + + Return objects owned by parcel owner - - WearableType of the wearable + + Return objects set to group - - AssetType of the wearable + + Return objects not owned by parcel owner or set to group - - Asset data for the wearable + + Return a specific list of objects on parcel - + + Return objects that are marked for-sale + + - Data collected from visual params for each wearable - needed for the calculation of the color - - - - - Holds a texture assetID and the data needed to bake this layer into - an outfit texture. Used to keep track of currently worn textures - and baking data + Blacklist/Whitelist flags used in parcels Access List - - A texture AssetID - - - Asset data for the texture + + Agent is denied access - - Collection of alpha masks that needs applying + + Agent is granted access - - Tint that should be applied to the texture + + + The result of a request for parcel properties + - - Maximum number of concurrent downloads for wearable assets and textures + + No matches were found for the request - - Maximum number of concurrent uploads for baked textures + + Request matched a single parcel - - Timeout for fetching inventory listings + + Request matched multiple parcels - - Timeout for fetching a single wearable, or receiving a single packet response + + + Flags used in the ParcelAccessListRequest packet to specify whether + we want the access list (whitelist), ban list (blacklist), or both + - - Timeout for fetching a single texture + + Request the access list - - Timeout for uploading a single baked texture + + Request the ban list - - Number of times to retry bake upload + + Request both White and Black lists - - When changing outfit, kick off rebake after - 20 seconds has passed since the last change + + + Sequence ID in ParcelPropertiesReply packets (sent when avatar + tries to cross a parcel border) + - - Total number of wearables for each avatar + + Parcel is currently selected - - Total number of baked textures on each avatar + + Parcel restricted to a group the avatar is not a + member of - - Total number of wearables per bake layer + + Avatar is banned from the parcel - - Total number of textures on an avatar, baked or not + + Parcel is restricted to an access list that the + avatar is not on - - Mapping between BakeType and AvatarTextureIndex + + Response to hovering over a parcel - - Map of what wearables are included in each bake + + + The tool to use when modifying terrain levels + - - Magic values to finalize the cache check hashes for each - bake + + Level the terrain - - Default avatar texture, used to detect when a custom - texture is not set for a face + + Raise the terrain - - The event subscribers. null if no subcribers + + Lower the terrain - - Thread sync lock object + + Smooth the terrain - - The event subscribers. null if no subcribers + + Add random noise to the terrain - - Thread sync lock object + + Revert terrain to simulator default - - The event subscribers. null if no subcribers + + + The tool size to use when changing terrain levels + - - Thread sync lock object + + Small - - The event subscribers. null if no subcribers + + Medium - - Thread sync lock object + + Large - - A cache of wearables currently being worn + + + Reasons agent is denied access to a parcel on the simulator + - - A cache of textures currently being worn + + Agent is not denied, access is granted - - Incrementing serial number for AgentCachedTexture packets + + Agent is not a member of the group set for the parcel, or which owns the parcel - - Incrementing serial number for AgentSetAppearance packets + + Agent is not on the parcels specific allow list - - Indicates whether or not the appearance thread is currently - running, to prevent multiple appearance threads from running - simultaneously + + Agent is on the parcels ban list - - Reference to our agent + + Unknown - - - Timer used for delaying rebake on changing outfit - + + Agent is not age verified and parcel settings deny access to non age verified avatars - + - Main appearance thread + Parcel overlay type. This is used primarily for highlighting and + coloring which is why it is a single integer instead of a set of + flags + These values seem to be poorly thought out. The first three + bits represent a single value, not flags. For example Auction (0x05) is + not a combination of OwnedByOther (0x01) and ForSale(0x04). However, + the BorderWest and BorderSouth values are bit flags that get attached + to the value stored in the first three bits. Bits four, five, and six + are unused - - Triggered when an AgentWearablesUpdate packet is received, - telling us what our avatar is currently wearing - request. + + Public land - - Raised when an AgentCachedTextureResponse packet is - received, giving a list of cached bakes that were found on the - simulator - request. + + Land is owned by another avatar - - - Raised when appearance data is sent to the simulator, also indicates - the main appearance thread is finished. - - request. - - - Triggered when the simulator requests the agent rebake its appearance. - - + + Land is owned by a group - - - Returns true if AppearanceManager is busy and trying to set or change appearance will fail - + + Land is owned by the current avatar - - Raises the AgentWearablesReply event - An AgentWearablesReplyEventArgs object containing the - data returned from the data server + + Land is for sale - - Raises the CachedBakesReply event - An AgentCachedBakesReplyEventArgs object containing the - data returned from the data server AgentCachedTextureResponse + + Land is being auctioned - - Raises the AppearanceSet event - An AppearanceSetEventArgs object indicating if the operatin was successfull + + To the west of this area is a parcel border - - Raises the RebakeAvatarRequested event - An RebakeAvatarTexturesEventArgs object containing the - data returned from the data server + + To the south of this area is a parcel border - + - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread + Various parcel properties - - - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread - - Unused parameter + + No flags set - - - Starts the appearance setting thread - + + Allow avatars to fly (a client-side only restriction) - - - Starts the appearance setting thread - - True to force rebaking, otherwise false + + Allow foreign scripts to run - - - Ask the server what textures our agent is currently wearing - + + This parcel is for sale - - - Build hashes out of the texture assetIDs for each baking layer to - ask the simulator whether it has cached copies of each baked texture - + + Allow avatars to create a landmark on this parcel - - - Returns the AssetID of the asset that is currently being worn in a - given WearableType slot - - WearableType slot to get the AssetID for - The UUID of the asset being worn in the given slot, or - UUID.Zero if no wearable is attached to the given slot or wearables - have not been downloaded yet + + Allows all avatars to edit the terrain on this parcel - - - Add a wearable to the current outfit and set appearance - - Wearable to be added to the outfit + + Avatars have health and can take damage on this parcel. + If set, avatars can be killed and sent home here - - - Add a list of wearables to the current outfit and set appearance - - List of wearable inventory items to - be added to the outfit + + Foreign avatars can create objects here - - - Remove a wearable from the current outfit and set appearance - - Wearable to be removed from the outfit + + All objects on this parcel can be purchased - - - Removes a list of wearables from the current outfit and set appearance - - List of wearable inventory items to - be removed from the outfit + + Access is restricted to a group - - - Replace the current outfit with a list of wearables and set appearance - - List of wearable inventory items that - define a new outfit + + Access is restricted to a whitelist - - - Checks if an inventory item is currently being worn - - The inventory item to check against the agent - wearables - The WearableType slot that the item is being worn in, - or WearbleType.Invalid if it is not currently being worn + + Ban blacklist is enabled - - - Returns a copy of the agents currently worn wearables - - A copy of the agents currently worn wearables - Avoid calling this function multiple times as it will make - a copy of all of the wearable data each time + + Unknown - - - Calls either or - depending on the value of - replaceItems - - List of wearable inventory items to add - to the outfit or become a new outfit - True to replace existing items with the - new list of items, false to add these items to the existing outfit + + List this parcel in the search directory - - - Adds a list of attachments to our agent - - A List containing the attachments to add - If true, tells simulator to remove existing attachment - first + + Allow personally owned parcels to be deeded to group - - - Attach an item to our agent at a specific attach point - - A to attach - the on the avatar - to attach the item to + + If Deeded, owner contributes required tier to group parcel is deeded to - - - Attach an item to our agent specifying attachment details - - The of the item to attach - The attachments owner - The name of the attachment - The description of the attahment - The to apply when attached - The of the attachment - The on the agent - to attach the item to + + Restrict sounds originating on this parcel to the + parcel boundaries - - - Detach an item from our agent using an object - - An object + + Objects on this parcel are sold when the land is + purchsaed - - - Detach an item from our agent - - The inventory itemID of the item to detach + + Allow this parcel to be published on the web - - - Inform the sim which wearables are part of our current outfit - + + The information for this parcel is mature content - - - Replaces the Wearables collection with a list of new wearable items - - Wearable items to replace the Wearables collection with + + The media URL is an HTML page - - - Calculates base color/tint for a specific wearable - based on its params - - All the color info gathered from wearable's VisualParams - passed as list of ColorParamInfo tuples - Base color/tint for the wearable + + The media URL is a raw HTML string - - - Blocking method to populate the Wearables dictionary - - True on success, otherwise false + + Restrict foreign object pushes - - - Blocking method to populate the Textures array with cached bakes - - True on success, otherwise false + + Ban all non identified/transacted avatars - - - Populates textures and visual params from a decoded asset - - Wearable to decode + + Allow group-owned scripts to run - - - Blocking method to download and parse currently worn wearable assets - - True on success, otherwise false + + Allow object creation by group members or group + objects - - - Get a list of all of the textures that need to be downloaded for a - single bake layer - - Bake layer to get texture AssetIDs for - A list of texture AssetIDs to download + + Allow all objects to enter this parcel - - - Helper method to lookup the TextureID for a single layer and add it - to a list if it is not already present - - - - - + + Only allow group and owner objects to enter this parcel - - - Blocking method to download all of the textures needed for baking - the given bake layers - - A list of layers that need baking - No return value is given because the baking will happen - whether or not all textures are successfully downloaded + + Voice Enabled on this parcel - - - Blocking method to create and upload baked textures for all of the - missing bakes - - True on success, otherwise false + + Use Estate Voice channel for Voice on this parcel - - - Blocking method to create and upload a baked texture for a single - bake layer - - Layer to bake - True on success, otherwise false + + Deny Age Unverified Users - + - Blocking method to upload a baked texture + Parcel ownership status - Five channel JPEG2000 texture data to upload - UUID of the newly created asset on success, otherwise UUID.Zero - - - Creates a dictionary of visual param values from the downloaded wearables - - A dictionary of visual param indices mapping to visual param - values for our agent that can be fed to the Baker class + + Placeholder - - - Create an AgentSetAppearance packet from Wearables data and the - Textures array and send it - + + Parcel is leased (owned) by an avatar or group - + + Parcel is in process of being leased (purchased) by an avatar or group + + + Parcel has been abandoned back to Governor Linden + + - Converts a WearableType to a bodypart or clothing WearableType + Category parcel is listed in under search - A WearableType - AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown - - - Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex - - A BakeType - The AvatarTextureIndex slot that holds the given BakeType + + No assigned category - - - Gives the layer number that is used for morph mask - - >A BakeType - Which layer number as defined in BakeTypeToTextures is used for morph mask + + Linden Infohub or public area - - - Converts a BakeType to a list of the texture slots that make up that bake - - A BakeType - A list of texture slots that are inputs for the given bake + + Adult themed area - - Contains the Event data returned from the data server from an AgentWearablesRequest + + Arts and Culture - - Construct a new instance of the AgentWearablesReplyEventArgs class + + Business - - Contains the Event data returned from the data server from an AgentCachedTextureResponse + + Educational - - Construct a new instance of the AgentCachedBakesReplyEventArgs class + + Gaming - - Contains the Event data returned from an AppearanceSetRequest + + Hangout or Club - - - Triggered when appearance data is sent to the sim and - the main appearance thread is done. - Indicates whether appearance setting was successful + + Newcomer friendly - - Indicates whether appearance setting was successful + + Parks and Nature - - Contains the Event data returned from the data server from an RebakeAvatarTextures + + Residential - - - Triggered when the simulator sends a request for this agent to rebake - its appearance - - The ID of the Texture Layer to bake + + Shopping - - The ID of the Texture Layer to bake + + Not Used? - - - Class that handles the local asset cache - + + Other - - - Default constructor - - A reference to the GridClient object + + Not an actual category, only used for queries - + - Helper class for sorting files by their last accessed time + Type of teleport landing for a parcel - - - Allows setting weather to periodicale prune the cache if it grows too big - Default is enabled, when caching is enabled - + + Unset, simulator default - - - How long (in ms) between cache checks (default is 5 min.) - + + Specific landing point set for this parcel - - - Disposes cleanup timer - + + No landing point set, direct teleports enabled for + this parcel - + - Only create timer when needed + Parcel Media Command used in ParcelMediaCommandMessage - - - Return bytes read from the local asset cache, null if it does not exist - - UUID of the asset we want to get - Raw bytes of the asset, or null on failure + + Stop the media stream and go back to the first frame - - - Returns ImageDownload object of the - image from the local image cache, null if it does not exist - - UUID of the image we want to get - ImageDownload object containing the image, or null on failure + + Pause the media stream (stop playing but stay on current frame) - - - Constructs a file name of the cached asset - - UUID of the asset - String with the file name of the cahced asset + + Start the current media stream playing and stop when the end is reached - - - Saves an asset to the local cache - - UUID of the asset - Raw bytes the asset consists of - Weather the operation was successfull + + Start the current media stream playing, + loop to the beginning when the end is reached and continue to play - - - Get the file name of the asset stored with gived UUID - - UUID of the asset - Null if we don't have that UUID cached on disk, file name if found in the cache folder + + Specifies the texture to replace with video + If passing the key of a texture, it must be explicitly typecast as a key, + not just passed within double quotes. - - - Checks if the asset exists in the local cache - - UUID of the asset - True is the asset is stored in the cache, otherwise false + + Specifies the movie URL (254 characters max) - - - Wipes out entire cache - + + Specifies the time index at which to begin playing - - - Brings cache size to the 90% of the max size - + + Specifies a single agent to apply the media command to - - - Asynchronously brings cache size to the 90% of the max size - + + Unloads the stream. While the stop command sets the texture to the first frame of the movie, + unload resets it to the real texture that the movie was replacing. - - - Adds up file sizes passes in a FileInfo array - + + Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties + (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. - - - Checks whether caching is enabled - + + Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). + Use "text/html" for HTML. - - - Periodically prune the cache - + + Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). + This might still not be working - - - Nicely formats file sizes - - Byte size we want to output - String with humanly readable file size + + Sets a description for the media being displayed (1.19.1 RC0 and later only). - + + Some information about a parcel of land returned from a DirectoryManager search - - OK + + Global Key of record - - Transfer completed + + Parcel Owners - - - + + Name field of parcel, limited to 128 characters - - - + + Description field of parcel, limited to 256 characters - - Unknown error occurred + + Total Square meters of parcel - - Equivalent to a 404 error + + Total area billable as Tier, for group owned land this will be 10% less than ActualArea - - Client does not have permission for that resource + + True of parcel is in Mature simulator - - Unknown status + + Grid global X position of parcel - - - + + Grid global Y position of parcel - - - + + Grid global Z position of parcel (not used) - - Unknown + + Name of simulator parcel is located in - - Virtually all asset transfers use this channel + + Texture of parcels display picture - - - + + Float representing calculated traffic based on time spent on parcel by avatars - + + Sale price of parcel (not used) + + + Auction ID of parcel + + + Parcel Media Information - - Asset from the asset server + + A byte, if 0x1 viewer should auto scale media to fit object - - Inventory item + + A boolean, if true the viewer should loop the media - - Estate asset, such as an estate covenant + + The Asset UUID of the Texture which when applied to a + primitive will display the media - - - + + A URL which points to any Quicktime supported media type - - - + + A description of the media - - - + + An Integer which represents the height of the media - - - + + An integer which represents the width of the media - - - + + A string which contains the mime type of the media - + + Parcel of land, a portion of virtual real estate in a simulator - - - + + The total number of contiguous 4x4 meter blocks your agent owns within this parcel - - - Image file format - + + The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own - - - + + Deprecated, Value appears to always be 0 - - Number of milliseconds passed since the last transfer - packet was received + + Simulator-local ID of this parcel - - - + + UUID of the owner of this parcel - - - + + Whether the land is deeded to a group or not - - - + + - - - + + Date land was claimed - - - + + Appears to always be zero - - - - - - - - - - - + + This field is no longer used - - - + + Minimum corner of the axis-aligned bounding box for this + parcel - - - Default constructor - - A reference to the GridClient object + + Maximum corner of the axis-aligned bounding box for this + parcel - - - Callback used for various asset download requests - - Transfer information - Downloaded asset, null on fail + + Bitmap describing land layout in 4x4m squares across the + entire region - - - Callback used upon competition of baked texture upload - - Asset UUID of the newly uploaded baked texture + + Total parcel land area - - Number of milliseconds to wait for a transfer header packet if out of order data was received + + - - The event subscribers. null if no subcribers + + Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used - - Thread sync lock object + + Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel + owned by the agent or group that owns this parcel - - The event subscribers. null if no subcribers + + Maximum number of primitives this parcel supports - - Thread sync lock object + + Total number of primitives on this parcel - - The event subscribers. null if no subcribers + + For group-owned parcels this indicates the total number of prims deeded to the group, + for parcels owned by an individual this inicates the number of prims owned by the individual - - Thread sync lock object + + Total number of primitives owned by the parcel group on + this parcel, or for parcels owned by an individual with a group set the + total number of prims set to that group. - - The event subscribers. null if no subcribers + + Total number of prims owned by other avatars that are not set to group, or not the parcel owner - - Thread sync lock object + + A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect + the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed - - The event subscribers. null if no subcribers + + Autoreturn value in minutes for others' objects - - Thread sync lock object + + - - Texture download cache + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it - - Raised when the simulator responds sends + + Parcel Name - - Raised during upload completes + + Parcel Description - - Raised during upload with progres update + + URL For Music Stream - - Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files + + - - Fired when a texture is in the process of being downloaded by the TexturePipeline class + + Price for a temporary pass - - Raises the XferReceived event - A XferReceivedEventArgs object containing the - data returned from the simulator + + How long is pass valid for - - Raises the AssetUploaded event - A AssetUploadedEventArgs object containing the - data returned from the simulator + + - - Raises the UploadProgress event - A UploadProgressEventArgs object containing the - data returned from the simulator + + Key of authorized buyer - - Raises the InitiateDownload event - A InitiateDownloadEventArgs object containing the - data returned from the simulator + + Key of parcel snapshot - - Raises the ImageReceiveProgress event - A ImageReceiveProgressEventArgs object containing the - data returned from the simulator + + The landing point location - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - The callback to fire when the simulator responds with the asset data + + The landing point LookAt - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - The callback to fire when the simulator responds with the asset data + + The type of landing enforced from the enum - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - UUID of the transaction - The callback to fire when the simulator responds with the asset data + + - - - Request an asset download through the almost deprecated Xfer system - - Filename of the asset to request - Whether or not to delete the asset - off the server after it is retrieved - Use large transfer packets or not - UUID of the file to request, if filename is - left empty - Asset type of vFileID, or - AssetType.Unknown if filename is not empty - Sets the FilePath in the request to Cache - (4) if true, otherwise Unknown (0) is used - - + + - - - - Use UUID.Zero if you do not have the - asset ID but have all the necessary permissions - The item ID of this asset in the inventory - Use UUID.Zero if you are not requesting an - asset from an object inventory - The owner of this asset - Asset type - Whether to prioritize this asset download or not - - + + - - - Used to force asset data into the PendingUpload property, ie: for raw terrain uploads - - An AssetUpload object containing the data to upload to the simulator + + Access list of who is whitelisted on this + parcel - - - Request an asset be uploaded to the simulator - - The Object containing the asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired + + Access list of who is blacklisted on this + parcel - - - Request an asset be uploaded to the simulator - - The of the asset being uploaded - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired + + TRUE of region denies access to age unverified users - - - Request an asset be uploaded to the simulator - - - - Asset type to upload this data as - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired + + true to obscure (hide) media url - - - Initiate an asset upload - - The ID this asset will have if the - upload succeeds - Asset type to upload this data as - Raw asset data to upload - Whether to store this asset on the local - simulator or the grid-wide asset server - The tranaction id for the upload - The transaction ID of this transfer + + true to obscure (hide) music url - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress - transfer. - A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority - indicating an off-by-one error. - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - Request an image and fire a callback when the request is complete - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - - Request an image and use an inline anonymous method to handle the downloaded texture data - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - ); - - Request a texture, decode the texture to a bitmap image and apply it to a imagebox - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - ManagedImage imgData; - Image bitmap; - if (state == TextureRequestState.Finished) - { - OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); - picInsignia.Image = bitmap; - } - } - } - + + A struct containing media details - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + Displays a parcel object in string format - The of the texture asset to download - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data + string containing key=value pairs of a parcel object - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + Defalt constructor - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data + Local ID of this parcel - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + Update the simulator with any local changes to this Parcel object - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request + Simulator to send updates to + Whether we want the simulator to confirm + the update with a reply packet or not - + - Cancel a texture request + Set Autoreturn time - The texture assets + Simulator to send the update to - + - Lets TexturePipeline class fire the progress event + Parcel (subdivided simulator lots) subsystem - The texture ID currently being downloaded - the number of bytes transferred - the total number of bytes expected - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Raises the ParcelDwellReply event + A ParcelDwellReplyEventArgs object containing the + data returned from the simulator - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Raises the ParcelInfoReply event + A ParcelInfoReplyEventArgs object containing the + data returned from the simulator - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Raises the ParcelProperties event + A ParcelPropertiesEventArgs object containing the + data returned from the simulator - - Xfer data + + Thread sync lock object - - Upload data + + The event subscribers. null if no subcribers - - Filename used on the simulator + + Raises the ParcelAccessListReply event + A ParcelAccessListReplyEventArgs object containing the + data returned from the simulator - - Filename used by the client + + Thread sync lock object - - UUID of the image that is in progress + + The event subscribers. null if no subcribers - - Number of bytes received so far + + Raises the ParcelObjectOwnersReply event + A ParcelObjectOwnersReplyEventArgs object containing the + data returned from the simulator - - Image size in bytes + + Thread sync lock object - - - Avatar profile flags - + + The event subscribers. null if no subcribers - - - Represents an avatar (other than your own) - + + Raises the SimParcelsDownloaded event + A SimParcelsDownloadedEventArgs object containing the + data returned from the simulator - - - Default constructor - + + Thread sync lock object - - - Positive and negative ratings - + + The event subscribers. null if no subcribers - - Positive ratings for Behavior + + Raises the ForceSelectObjectsReply event + A ForceSelectObjectsReplyEventArgs object containing the + data returned from the simulator - - Negative ratings for Behavior + + Thread sync lock object - - Positive ratings for Appearance + + The event subscribers. null if no subcribers - - Negative ratings for Appearance + + Raises the ParcelMediaUpdateReply event + A ParcelMediaUpdateReplyEventArgs object containing the + data returned from the simulator - - Positive ratings for Building + + Thread sync lock object - - Negative ratings for Building + + The event subscribers. null if no subcribers - - Positive ratings given by this avatar + + Raises the ParcelMediaCommand event + A ParcelMediaCommandEventArgs object containing the + data returned from the simulator - - Negative ratings given by this avatar + + Thread sync lock object - + - Avatar properties including about text, profile URL, image IDs and - publishing settings + Default constructor + A reference to the GridClient object - - First Life about text - - - First Life image ID - - + + Request basic information for a single parcel + Simulator-local ID of the parcel - + + Request properties of a single parcel + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + multiple simultaneous requests - + + Request the access list for a single parcel + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelAccessList reply, useful for distinguishing between + multiple simultaneous requests + - + + Request properties of parcels using a bounding box selection + Simulator containing the parcel + Northern boundary of the parcel selection + Eastern boundary of the parcel selection + Southern boundary of the parcel selection + Western boundary of the parcel selection + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + different types of parcel property requests + A boolean that is returned with the + ParcelProperties reply, useful for snapping focus to a single + parcel - - Profile image ID - - - Flags of the profile - - - Web URL for this profile - - - Should this profile be published on the web - - - Avatar Online Status - - - Is this a mature profile - - + + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) + Simulator to request parcels from (must be connected) - + + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) + Simulator to request parcels from (must be connected) + If TRUE, will force a full refresh + Number of milliseconds to pause in between each request - + - Avatar interests including spoken languages, skills, and "want to" - choices + Request the dwell value for a parcel + Simulator containing the parcel + Simulator-local ID of the parcel - - Languages profile field - - + + Send a request to Purchase a parcel of land + The Simulator the parcel is located in + The parcels region specific local ID + true if this parcel is being purchased by a group + The groups + true to remove tier contribution if purchase is successful + The parcels size + The purchase price of the parcel + - + + Reclaim a parcel of land + The simulator the parcel is in + The parcels region specific local ID - + + Deed a parcel to a group + The simulator the parcel is in + The parcels region specific local ID + The groups - + + Request prim owners of a parcel of land. + Simulator parcel is in + The parcels region specific local ID - - Groups that this avatar is a member of - - - Positive and negative ratings - - - Avatar properties including about text, profile URL, image IDs and - publishing settings - - - Avatar interests including spoken languages, skills, and "want to" - choices - - - Movement control flags for avatars. Typically not set or used by - clients. To move your avatar, use Client.Self.Movement instead - - + - Contains the visual parameters describing the deformation of the avatar + Return objects from a parcel + Simulator parcel is in + The parcels region specific local ID + the type of objects to return, + A list containing object owners s to return - - First name - - - Last name - - - Full name - - - Active group - - + - Holds group information for Avatars such as those you might find in a profile + Subdivide (split) a parcel + + + + + - - true of Avatar accepts group notices - - - Groups Key - - - Texture Key for groups insignia - - - Name of the group - - - Powers avatar has in the group - - - Avatars Currently selected title - - - true of Avatar has chosen to list this in their profile - - + - Contains an animation currently being played by an agent + Join two parcels of land creating a single parcel + + + + + - - The ID of the animation asset - - - A number to indicate start order of currently playing animations - On Linden Grids this number is unique per region, with OpenSim it is per client - - + + Get a parcels LocalID + Simulator parcel is in + Vector3 position in simulator (Z not used) + 0 on failure, or parcel LocalID on success. + A call to Parcels.RequestAllSimParcels is required to populate map and + dictionary. - + - Holds group information on an individual profile pick + Terraform (raise, lower, etc) an area or whole parcel of land + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - + - Retrieve friend status notifications, and retrieve avatar names and - profiles + Terraform (raise, lower, etc) an area or whole parcel of land + Simulator land area is in. + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - + - Represents other avatars + Terraform (raise, lower, etc) an area or whole parcel of land - - + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - - The event subscribers, null of no subscribers + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + Height at which the terraform operation is acting at - - Thread sync lock object + + + Sends a request to the simulator to return a list of objects owned by specific owners + + Simulator local ID of parcel + Owners, Others, Etc + List containing keys of avatars objects to select; + if List is null will return Objects of type selectType + Response data is returned in the event - - The event subscribers, null of no subscribers + + + Eject and optionally ban a user from a parcel + + target key of avatar to eject + true to also ban target - - Thread sync lock object + + + Freeze or unfreeze an avatar over your land + + target key to freeze + true to freeze, false to unfreeze - - The event subscribers, null of no subscribers + + + Abandon a parcel of land + + Simulator parcel is in + Simulator local ID of parcel - - Thread sync lock object + + + Requests the UUID of the parcel in a remote region at a specified location + + Location of the parcel in the remote region + Remote region handle + Remote region UUID + If successful UUID of the remote parcel, UUID.Zero otherwise - - The event subscribers, null of no subscribers + + + Retrieves information on resources used by the parcel + + UUID of the parcel + Should per object resource usage be requested + Callback invoked when the request is complete - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - The event subscribers, null of no subscribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - The event subscribers, null of no subscribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - The event subscribers, null of no subscribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - The event subscribers, null of no subscribers + + Raised when the simulator responds to a request - - Thread sync lock object + + Raised when the simulator responds to a request - - The event subscribers, null of no subscribers + + Raised when the simulator responds to a request - - Thread sync lock object + + Raised when the simulator responds to a request - - The event subscribers, null of no subscribers + + Raised when the simulator responds to a request - - Thread sync lock object + + Raised when the simulator responds to a request - - The event subscribers, null of no subscribers + + Raised when the simulator responds to a request - - Thread sync lock object + + Raised when the simulator responds to a Parcel Update request - - The event subscribers, null of no subscribers + + Raised when the parcel your agent is located sends a ParcelMediaCommand - - Thread sync lock object + + + Parcel Accesslist + - - The event subscribers, null of no subscribers + + Agents - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + Flags for specific entry in white/black lists - - Thread sync lock object + + + Owners of primitives on parcel + - - Raised when the simulator sends us data containing - an agents animation playlist + + Prim Owners - - Raised when the simulator sends us data containing - the appearance information for an agent + + True of owner is group - - Raised when the simulator sends us data containing - agent names/id values + + Total count of prims owned by OwnerID - - Raised when the simulator sends us data containing - the interests listed in an agents profile + + true of OwnerID is currently online and is not a group - - Raised when the simulator sends us data containing - profile property information for an agent + + The date of the most recent prim left by OwnerID - - Raised when the simulator sends us data containing - the group membership an agent is a member of + + + Called once parcel resource usage information has been collected + + Indicates if operation was successfull + Parcel resource usage information - - Raised when the simulator sends us data containing - name/id pair + + Contains a parcels dwell data returned from the simulator in response to an - - Raised when the simulator sends us data containing - the objects and effect when an agent is pointing at + + + Construct a new instance of the ParcelDwellReplyEventArgs class + + The global ID of the parcel + The simulator specific ID of the parcel + The calculated dwell for the parcel - - Raised when the simulator sends us data containing - the objects and effect when an agent is looking at + + Get the global ID of the parcel - - Raised when the simulator sends us data containing - an agents viewer effect information + + Get the simulator specific ID of the parcel - - Raised when the simulator sends us data containing - the top picks from an agents profile + + Get the calculated dwell - - Raised when the simulator sends us data containing - the Pick details + + Contains basic parcel information data returned from the + simulator in response to an request - - Raised when the simulator sends us data containing - the classified ads an agent has placed + + + Construct a new instance of the ParcelInfoReplyEventArgs class + + The object containing basic parcel info - - Raised when the simulator sends us data containing - the details of a classified ad + + Get the object containing basic parcel info - - Raises the AvatarAnimation Event - An AvatarAnimationEventArgs object containing - the data sent from the simulator + + Contains basic parcel information data returned from the simulator in response to an request - - Raises the AvatarAppearance Event - A AvatarAppearanceEventArgs object containing - the data sent from the simulator + + + Construct a new instance of the ParcelPropertiesEventArgs class + + The object containing the details + The object containing the details + The result of the request + The number of primitieves your agent is + currently selecting and or sitting on in this parcel + The user assigned ID used to correlate a request with + these results + TODO: - - Raises the UUIDNameReply Event - A UUIDNameReplyEventArgs object containing - the data sent from the simulator + + Get the simulator the parcel is located in - - Raises the AvatarInterestsReply Event - A AvatarInterestsReplyEventArgs object containing - the data sent from the simulator + + Get the object containing the details + If Result is NoData, this object will not contain valid data - - Raises the AvatarPropertiesReply Event - A AvatarPropertiesReplyEventArgs object containing - the data sent from the simulator + + Get the result of the request - - Raises the AvatarGroupsReply Event - A AvatarGroupsReplyEventArgs object containing - the data sent from the simulator + + Get the number of primitieves your agent is + currently selecting and or sitting on in this parcel - - Raises the AvatarPickerReply Event - A AvatarPickerReplyEventArgs object containing - the data sent from the simulator + + Get the user assigned ID used to correlate a request with + these results - - Raises the ViewerEffectPointAt Event - A ViewerEffectPointAtEventArgs object containing - the data sent from the simulator + + TODO: - - Raises the ViewerEffectLookAt Event - A ViewerEffectLookAtEventArgs object containing - the data sent from the simulator + + Contains blacklist and whitelist data returned from the simulator in response to an request - - Raises the ViewerEffect Event - A ViewerEffectEventArgs object containing - the data sent from the simulator + + + Construct a new instance of the ParcelAccessListReplyEventArgs class + + The simulator the parcel is located in + The user assigned ID used to correlate a request with + these results + The simulator specific ID of the parcel + TODO: + The list containing the white/blacklisted agents for the parcel - - Raises the AvatarPicksReply Event - A AvatarPicksReplyEventArgs object containing - the data sent from the simulator + + Get the simulator the parcel is located in - - Raises the PickInfoReply Event - A PickInfoReplyEventArgs object containing - the data sent from the simulator + + Get the user assigned ID used to correlate a request with + these results - - Raises the AvatarClassifiedReply Event - A AvatarClassifiedReplyEventArgs object containing - the data sent from the simulator + + Get the simulator specific ID of the parcel - - Raises the ClassifiedInfoReply Event - A ClassifiedInfoReplyEventArgs object containing - the data sent from the simulator + + TODO: - - Tracks the specified avatar on your map - Avatar ID to track + + Get the list containing the white/blacklisted agents for the parcel - - - Request a single avatar name - - The avatar key to retrieve a name for + + Contains blacklist and whitelist data returned from the + simulator in response to an request - + - Request a list of avatar names + Construct a new instance of the ParcelObjectOwnersReplyEventArgs class - The avatar keys to retrieve names for + The simulator the parcel is located in + The list containing prim ownership counts - - - Start a request for Avatar Properties - - - + + Get the simulator the parcel is located in - - - Search for an avatar (first name, last name) - - The name to search for - An ID to associate with this query + + Get the list containing prim ownership counts - + + Contains the data returned when all parcel data has been retrieved from a simulator + + - Start a request for Avatar Picks + Construct a new instance of the SimParcelsDownloadedEventArgs class - UUID of the avatar + The simulator the parcel data was retrieved from + The dictionary containing the parcel data + The multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. - + + Get the simulator the parcel data was retrieved from + + + A dictionary containing the parcel data where the key correlates to the ParcelMap entry + + + Get the multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. + + + Contains the data returned when a request + + - Start a request for Avatar Classifieds + Construct a new instance of the ForceSelectObjectsReplyEventArgs class - UUID of the avatar + The simulator the parcel data was retrieved from + The list of primitive IDs + true if the list is clean and contains the information + only for a given request - + + Get the simulator the parcel data was retrieved from + + + Get the list of primitive IDs + + + true if the list is clean and contains the information + only for a given request + + + Contains data when the media data for a parcel the avatar is on changes + + - Start a request for details of a specific profile pick + Construct a new instance of the ParcelMediaUpdateReplyEventArgs class - UUID of the avatar - UUID of the profile pick + the simulator the parcel media data was updated in + The updated media information - + + Get the simulator the parcel media data was updated in + + + Get the updated media information + + + Contains the media command for a parcel the agent is currently on + + - Start a request for details of a specific profile classified + Construct a new instance of the ParcelMediaCommandEventArgs class - UUID of the avatar - UUID of the profile classified + The simulator the parcel media command was issued in + + + The media command that was sent + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Get the simulator the parcel media command was issued in - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Get the media command that was sent - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - + - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. + Singleton logging class for the entire library - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + log4net logging engine - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Default constructor + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Send a log message to the logging engine + + The log message + The severity of the log entry - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Instance of the client - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Exception that was raised - - Provides data for the event - The event occurs when the simulator sends - the animation playlist for an agent - - The following code example uses the and - properties to display the animation playlist of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; - private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) - { - // create a dictionary of "known" animations from the Animations class using System.Reflection - Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); - Type type = typeof(Animations); - System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); - foreach (System.Reflection.FieldInfo field in fields) - { - systemAnimations.Add((UUID)field.GetValue(type), field.Name); - } - // find out which animations being played are known animations and which are assets - foreach (Animation animation in e.Animations) - { - if (systemAnimations.ContainsKey(animation.AnimationID)) - { - Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, - systemAnimations[animation.AnimationID], animation.AnimationSequence); - } - else - { - Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, - animation.AnimationID, animation.AnimationSequence); - } - } - } - + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Instance of the client + Exception that was raised - + - Construct a new instance of the AvatarAnimationEventArgs class + If the library is compiled with DEBUG defined, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine - The ID of the agent - The list of animations to start + The message to log at the DEBUG level to the + current logging engine - - Get the ID of the agent + + + If the library is compiled with DEBUG defined and + GridClient.Settings.DEBUG is true, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine + + The message to log at the DEBUG level to the + current logging engine + Instance of the client - - Get the list of animations to start + + Triggered whenever a message is logged. If this is left + null, log messages will go to the console - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - + + + Callback used for client apps to receive log messages from + the library + + Data being logged + The severity of the log entry from - + - Construct a new instance of the AvatarAppearanceEventArgs class + Map layer request type - The simulator request was from - The ID of the agent - true of the agent is a trial account - The default agent texture - The agents appearance layer textures - The for the agent - - Get the Simulator this request is from of the agent + + Objects and terrain are shown - - Get the ID of the agent + + Only the terrain is shown, no objects - - true if the agent is a trial account + + Overlay showing land for sale and for auction - - Get the default agent texture + + + Type of grid item, such as telehub, event, populator location, etc. + - - Get the agents appearance layer textures + + Telehub - - Get the for the agent + + PG rated event - - Represents the interests from the profile of an agent + + Mature rated event - - Get the ID of the agent + + Popular location - - The properties of an agent + + Locations of avatar groups in a region - - Get the ID of the agent + + Land for sale - - Get the ID of the agent + + Classified ad - - Get the ID of the agent + + Adult rated event - - Get the ID of the avatar + + Adult land for sale - + - Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. + Information about a region on the grid map - - - Searialize an animation asset into it's joints/keyframes/meta data - - - + + Sim X position on World Map - - - Rotation Keyframe count (used internally) - + + Sim Y position on World Map - - - Position Keyframe count (used internally) - + + Sim Name (NOTE: In lowercase!) - - - Animation Priority - + + - + + Appears to always be zero (None) + + + Sim's defined Water Height + + + + + + UUID of the World Map image + + + Unique identifier for this region, a combination of the X + and Y position + + - The animation length in seconds. + + - + - Expression set in the client. Null if [None] is selected + + - + - The time in seconds to start the animation + + + - + - The time in seconds to end the animation + Visual chunk of the grid map - + - Loop the animation + Base class for Map Items - + + The Global X position of the item + + + The Global Y position of the item + + + Get the Local X position of the item + + + Get the Local Y position of the item + + + Get the Handle of the region + + - Meta data. Ease in Seconds. + Represents an agent or group of agents location - + - Meta data. Ease out seconds. + Represents a Telehub location - + - Meta Data for the Hand Pose + Represents a non-adult parcel of land for sale - + - Number of joints defined in the animation + Represents an Adult parcel of land for sale - + - Contains an array of joints + Represents a PG Event - + - Variable length strings seem to be null terminated in the animation asset.. but.. - use with caution, home grown. - advances the index. + Represents a Mature event - The animation asset byte array - The offset to start reading - a string - + - Read in a Joint from an animation asset byte array - Variable length Joint fields, yay! - Advances the index + Represents an Adult event - animation asset byte array - Byte Offset of the start of the joint - The Joint data serialized into the binBVHJoint structure - + - Read Keyframes of a certain type - advance i + Manages grid-wide tasks such as the world map - Animation Byte array - Offset in the Byte Array. Will be advanced - Number of Keyframes - Scaling Min to pass to the Uint16ToFloat method - Scaling Max to pass to the Uint16ToFloat method - - - - - A Joint and it's associated meta data and keyframes - + + The event subscribers. null if no subcribers - - - Name of the Joint. Matches the avatar_skeleton.xml in client distros - + + Raises the CoarseLocationUpdate event + A CoarseLocationUpdateEventArgs object containing the + data sent by simulator - - - Joint Animation Override? Was the same as the Priority in testing.. - + + Thread sync lock object - - - Array of Rotation Keyframes in order from earliest to latest - + + The event subscribers. null if no subcribers - - - Array of Position Keyframes in order from earliest to latest - This seems to only be for the Pelvis? - + + Raises the GridRegion event + A GridRegionEventArgs object containing the + data sent by simulator - - - A Joint Keyframe. This is either a position or a rotation. - + + Thread sync lock object - - - Either a Vector3 position or a Vector3 Euler rotation - + + The event subscribers. null if no subcribers - - - Poses set in the animation metadata for the hands. - + + Raises the GridLayer event + A GridLayerEventArgs object containing the + data sent by simulator - - - Wrapper around a byte array that allows bit to be packed and unpacked - one at a time or by a variable amount. Useful for very tightly packed - data like LayerData packets - + + Thread sync lock object - - - Default constructor, initialize the bit packer / bit unpacker - with a byte array and starting position - - Byte array to pack bits in to or unpack from - Starting position in the byte array + + The event subscribers. null if no subcribers - - - + + Raises the GridItems event + A GridItemEventArgs object containing the + data sent by simulator - - - + + Thread sync lock object - - - + + The event subscribers. null if no subcribers - - - Pack a floating point value in to the data - - Floating point value to pack + + Raises the RegionHandleReply event + A RegionHandleReplyEventArgs object containing the + data sent by simulator - - - Pack part or all of an integer in to the data - - Integer containing the data to pack - Number of bits of the integer to pack + + Thread sync lock object - - - Pack part or all of an unsigned integer in to the data - - Unsigned integer containing the data to pack - Number of bits of the integer to pack + + A dictionary of all the regions, indexed by region name - - - Pack a single bit in to the data - - Bit to pack + + A dictionary of all the regions, indexed by region handle - + + Constructor - - - - - - - - + Instance of GridClient object to associate with this GridManager instance - + + - - + - + + Request a map layer - - + The name of the region + The type of layer - + - Unpacking a floating point value from the data + - Unpacked floating point value + + + + + + - + - Unpack a variable number of bits from the data in to integer format + - Number of bits to unpack - An integer containing the unpacked bits - This function is only useful up to 32 bits + + + + + - + - Unpack a variable number of bits from the data in to unsigned - integer format + - Number of bits to unpack - An unsigned integer containing the unpacked bits - This function is only useful up to 32 bits + + + - + - Unpack a 16-bit signed integer + Request data for all mainland (Linden managed) simulators - 16-bit signed integer - + - Unpack a 16-bit unsigned integer + Request the region handle for the specified region UUID - 16-bit unsigned integer + UUID of the region to look up - + - Unpack a 32-bit signed integer + Get grid region information using the region name, this function + will block until it can find the region or gives up - 32-bit signed integer + Name of sim you're looking for + Layer that you are requesting + Will contain a GridRegion for the sim you're + looking for if successful, otherwise an empty structure + True if the GridRegion was successfully fetched, otherwise + false - - - Unpack a 32-bit unsigned integer - - 32-bit unsigned integer + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Capabilities is the name of the bi-directional HTTP REST protocol - used to communicate non real-time transactions such as teleporting or - group messaging - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Default constructor - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Triggered when an event is received via the EventQueueGet - capability - - Event name - Decoded event data - The simulator that generated the event + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Reference to the simulator this system is connected to + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Capabilities URI this system was initialized with + + Raised when the simulator sends a + containing the location of agents in the simulator - - Whether the capabilities event queue is connected and - listening for incoming events + + Raised when the simulator sends a Region Data in response to + a Map request - - - Request the URI of a named capability - - Name of the capability to request - The URI of the requested capability, or String.Empty if - the capability does not exist + + Raised when the simulator sends GridLayer object containing + a map tile coordinates and texture information - - - Process any incoming events, check to see if we have a message created for the event, - - - - - + + Raised when the simulator sends GridItems object containing + details on events, land sales at a specific location - - - Attempts to convert an LLSD structure to a known Packet type - - Event name, this must match an actual - packet name for a Packet to be successfully built - LLSD to convert to a Packet - A Packet on success, otherwise null + + Raised in response to a Region lookup - - Origin position of this coordinate frame + + Unknown - - X axis of this coordinate frame, or Forward/At in grid terms + + Current direction of the sun - - Y axis of this coordinate frame, or Left in grid terms + + Current angular velocity of the sun - - Z axis of this coordinate frame, or Up in grid terms + + Current world time - + + Particle system specific enumerators, flags and methods. - Looking direction, must be a normalized vector - Up direction, must be a normalized vector - - - Align the coordinate frame X and Y axis with a given rotation - around the Z axis in radians - - Absolute rotation around the Z axis in - radians + + - - - Access to the data server which allows searching for land, events, people, etc - + + - - - Constructs a new instance of the DirectoryManager class - - An instance of GridClient + + - - Classified Ad categories + + - - Classified is listed in the Any category + + - - Classified is shopping related + + - - Classified is + + Foliage type for this primitive. Only applicable if this + primitive is foliage - - - + + Unknown - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - Event Categories + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + Identifies the owner if audio or a particle system is + active - - - + + - - - + + - - - + + - - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + Default constructor - + + Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters in to signed eight bit values + Floating point parameter to pack + Signed eight bit value containing the packed parameter - + - Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. - Flags can be combined using the | (pipe) character, not all flags are available in all queries + Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters from signed eight bit integers to floating point values + Signed eight bit value to unpack + Unpacked floating point value - - Query the People database + + - + + Current version of the media data for the prim - + + Array of media entries indexed by face number - - Query the Groups database + + - - Query the Events database + + - - Query the land holdings database for land owned by the currently connected agent + + Uses basic heuristics to estimate the primitive shape - + + Parameters used to construct a visual representation of a primitive - - Query the land holdings database for land which is owned by a Group + + - - Specifies the query should pre sort the results based upon traffic - when searching the Places database + + - - - + + - - - + + - - - + + - - - + + - - Specifies the query should pre sort the results in an ascending order when searching the land sales database. - This flag is only used when searching the land sales database + + - - Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. - This flag is only used when searching the land sales database + + - - Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. - This flag is only used when searching the land sales database + + - - Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. - This flag is only used when searching the land sales database + + - - Specifies the query should pre sort the results using the Name field when searching the land sales database. - This flag is only used when searching the land sales database + + - - When set, only parcels less than the specified Price will be included when searching the land sales database. - This flag is only used when searching the land sales database + + - - When set, only parcels greater than the specified Size will be included when searching the land sales database. - This flag is only used when searching the land sales database + + - - - + + - - - + + - - Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases + + - - Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases + + - - Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases + + - - - + + - - - Land types to search dataserver for - + + - - Search Auction, Mainland and Estate + + - - Land which is currently up for auction + + Attachment point to an avatar - - Parcels which are on the mainland (Linden owned) continents + + - - Parcels which are on privately owned simulators + + - + + + + + + + - The content rating of the event + Information on the flexible properties of a primitive - - Event is PG + + - - Event is Mature + + - - Event is Adult + + - + + + + + + + + + + - Classified Ad Options + Default constructor - There appear to be two formats the flags are packed in. - This set of flags is for the newer style - + + + + - + + + - + + + - + + Information on the light properties of a primitive - + + + + + + + + + + + + + + + + + Default constructor - + - Classified ad query options + + + - - Include all ads in results + + + + + - - Include PG ads in results + + + + + - - Include Mature ads in results + + + Information on the sculpt properties of a sculpted primitive + - - Include Adult ads in results + + + Default constructor + - + - The For Sale flag in PlacesReplyData + + + - - Parcel is not listed for sale + + + Render inside out (inverts the normals). + - - Parcel is For Sale + + + Render an X axis mirror of the sculpty. + - + - A classified ad on the grid + Extended properties to describe an object - - UUID for this ad, useful for looking up detailed - information about it + + - - The title of this classified ad + + - - Flags that show certain options applied to the classified + + - - Creation date of the ad + + - - Expiration date of the ad + + - - Price that was paid for this ad + + - - Print the struct data as a string - A string containing the field name, and field value + + - - - A parcel retrieved from the dataserver such as results from the - "For-Sale" listings or "Places" Search - + + - - The unique dataserver parcel ID - This id is used to obtain additional information from the entry - by using the method + + - - A string containing the name of the parcel + + - - The size of the parcel - This field is not returned for Places searches + + - - The price of the parcel - This field is not returned for Places searches + + - - If True, this parcel is flagged to be auctioned + + - - If true, this parcel is currently set for sale + + - - Parcel traffic + + - - Print the struct data as a string - A string containing the field name, and field value + + - - - An Avatar returned from the dataserver - + + - - Online status of agent - This field appears to be obsolete and always returns false + + - - The agents first name + + - - The agents last name + + - - The agents + + - - Print the struct data as a string - A string containing the field name, and field value + + - + + + + - Response to a "Groups" Search + Default constructor - - The Group ID - - - The name of the group - - - The current number of members - - - Print the struct data as a string - A string containing the field name, and field value + + + Set the properties that are set in an ObjectPropertiesFamily packet + + that has + been partially filled by an ObjectPropertiesFamily packet - + - Parcel information returned from a request - - Represents one of the following: - A parcel of land on the grid that has its Show In Search flag set - A parcel of land owned by the agent making the request - A parcel of land owned by a group the agent making the request is a member of - - In a request for Group Land, the First record will contain an empty record - - Note: This is not the same as searching the land for sale data source + Complete structure for the particle system - - The ID of the Agent of Group that owns the parcel + + Particle Flags + There appears to be more data packed in to this area + for many particle systems. It doesn't appear to be flag values + and serialization breaks unless there is a flag for every + possible bit so it is left as an unsigned integer - - The name + + pattern of particles - - The description + + A representing the maximimum age (in seconds) particle will be displayed + Maximum value is 30 seconds - - The Size of the parcel + + A representing the number of seconds, + from when the particle source comes into view, + or the particle system's creation, that the object will emits particles; + after this time period no more particles are emitted - - The billable Size of the parcel, for mainland - parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller - than the ActualArea. For Estate land this will always be 0 + + A in radians that specifies where particles will not be created - - Indicates the ForSale status of the parcel + + A in radians that specifies where particles will be created - - The Gridwide X position + + A representing the number of seconds between burts. - - The Gridwide Y position + + A representing the number of meters + around the center of the source where particles will be created. - - The Z position of the parcel, or 0 if no landing point set + + A representing in seconds, the minimum speed between bursts of new particles + being emitted - - The name of the Region the parcel is located in + + A representing in seconds the maximum speed of new particles being emitted. - - The Asset ID of the parcels Snapshot texture + + A representing the maximum number of particles emitted per burst - - The calculated visitor traffic + + A which represents the velocity (speed) from the source which particles are emitted - - The billing product SKU - Known values are: - 023Mainland / Full Region024Estate / Full Region027Estate / Openspace029Estate / Homestead129Mainland / Homestead (Linden Owned) + + A which represents the Acceleration from the source which particles are emitted - - No longer used, will always be 0 + + The Key of the texture displayed on the particle - - Get a SL URL for the parcel - A string, containing a standard SLURL + + The Key of the specified target object or avatar particles will follow - - Print the struct data as a string - A string containing the field name, and field value + + Flags of particle from - - - An "Event" Listing summary - + + Max Age particle system will emit particles for - - The ID of the event creator + + The the particle has at the beginning of its lifecycle - - The name of the event + + The the particle has at the ending of its lifecycle - - The events ID + + A that represents the starting X size of the particle + Minimum value is 0, maximum value is 4 - - A string containing the short date/time the event will begin + + A that represents the starting Y size of the particle + Minimum value is 0, maximum value is 4 - - The event start time in Unixtime (seconds since epoch) + + A that represents the ending X size of the particle + Minimum value is 0, maximum value is 4 - - The events maturity rating + + A that represents the ending Y size of the particle + Minimum value is 0, maximum value is 4 - - Print the struct data as a string - A string containing the field name, and field value + + + Decodes a byte[] array into a ParticleSystem Object + + ParticleSystem object + Start position for BitPacker - + - The details of an "Event" + Generate byte[] array from particle data + Byte array - - The events ID + + + Particle source pattern + - - The ID of the event creator + + None - - The name of the event + + Drop particles from source position with no force - - The category + + "Explode" particles in all directions - - The events description + + Particles shoot across a 2D area - - The short date/time the event will begin + + Particles shoot across a 3D Cone - - The event start time in Unixtime (seconds since epoch) UTC adjusted + + Inverse of AngleCone (shoot particles everywhere except the 3D cone defined - - The length of the event in minutes + + + Particle Data Flags + - - 0 if no cover charge applies + + None - - The cover charge amount in L$ if applicable + + Interpolate color and alpha from start to end - - The name of the region where the event is being held + + Interpolate scale from start to end - - The gridwide location of the event + + Bounce particles off particle sources Z height - - The maturity rating + + velocity of particles is dampened toward the simulators wind - - Get a SL URL for the parcel where the event is hosted - A string, containing a standard SLURL + + Particles follow the source - - Print the struct data as a string - A string containing the field name, and field value + + Particles point towards the direction of source's velocity - - The event subscribers. null if no subcribers + + Target of the particles - - Thread sync lock object + + Particles are sent in a straight line - - The event subscribers. null if no subcribers + + Particles emit a glow - - Thread sync lock object + + used for point/grab/touch - - The event subscribers. null if no subcribers + + + Particle Flags Enum + - - Thread sync lock object + + None - - The event subscribers. null if no subcribers + + Acceleration and velocity for particles are + relative to the object rotation - - Thread sync lock object + + Particles use new 'correct' angle parameters - - The event subscribers. null if no subcribers + + + Texture animation mode + - - Thread sync lock object + + Disable texture animation - - The event subscribers. null if no subcribers + + Enable texture animation - - Thread sync lock object + + Loop when animating textures - - The event subscribers. null if no subcribers + + Animate in reverse direction - - Thread sync lock object + + Animate forward then reverse - - The event subscribers. null if no subcribers + + Slide texture smoothly instead of frame-stepping - - Thread sync lock object + + Rotate texture instead of using frames - - Raised when the data server responds to a request. + + Scale texture instead of using frames - - Raised when the data server responds to a request. + + + A single textured face. Don't instantiate this class yourself, use the + methods in TextureEntry + - - Raised when the data server responds to a request. + + + Contains the definition for individual faces + + - - Raised when the data server responds to a request. + + + + + - - Raised when the data server responds to a request. + + - - Raised when the data server responds to a request. + + - - Raised when the data server responds to a request. + + - - Raised when the data server responds to a request. + + - - Raises the EventInfoReply event - An EventInfoReplyEventArgs object containing the - data returned from the data server + + - - Raises the DirEventsReply event - An DirEventsReplyEventArgs object containing the - data returned from the data server + + - - Raises the PlacesReply event - A PlacesReplyEventArgs object containing the - data returned from the data server + + - - Raises the DirPlacesReply event - A DirPlacesReplyEventArgs object containing the - data returned from the data server + + - - Raises the DirClassifiedsReply event - A DirClassifiedsReplyEventArgs object containing the - data returned from the data server + + - - Raises the DirGroupsReply event - A DirGroupsReplyEventArgs object containing the - data returned from the data server + + - - Raises the DirPeopleReply event - A DirPeopleReplyEventArgs object containing the - data returned from the data server + + In the future this will specify whether a webpage is + attached to this face - - Raises the DirLandReply event - A DirLandReplyEventArgs object containing the - data returned from the data server + + - + - Query the data server for a list of classified ads containing the specified string. - Defaults to searching for classified placed in any category, and includes PG, Adult and Mature - results. - Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - The event is raised when a response is received from the simulator + Represents all of the texturable faces for an object - A string containing a list of keywords to search for - A UUID to correlate the results when the event is raised + Grid objects have infinite faces, with each face + using the properties of the default face unless set otherwise. So if + you have a TextureEntry with a default texture uuid of X, and face 18 + has a texture UUID of Y, every face would be textured with X except for + face 18 that uses Y. In practice however, primitives utilize a maximum + of nine faces - + + + + + + + - Query the data server for a list of classified ads which contain specified keywords (Overload) - The event is raised when a response is received from the simulator + Constructor that takes a default texture UUID - A string containing a list of keywords to search for - The category to search - A set of flags which can be ORed to modify query options - such as classified maturity rating. - A UUID to correlate the results when the event is raised - - Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature - - UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); - - - Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - + Texture UUID to use as the default texture - + - Starts search for places (Overloaded) - The event is raised when a response is received from the simulator + Constructor that takes a TextureEntryFace for the + default face - Search text - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised + Face to use as the default face - + - Queries the dataserver for parcels of land which are flagged to be shown in search - The event is raised when a response is received from the simulator + Constructor that creates the TextureEntry class from a byte array - A string containing a list of keywords to search for separated by a space character - A set of flags which can be ORed to modify query options - such as classified maturity rating. - The category to search - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult - - UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); - - - Additional information on the results can be obtained by using the ParcelManager.InfoRequest method - + Byte array containing the TextureEntry field + Starting position of the TextureEntry field in + the byte array + Length of the TextureEntry field, in bytes - + - Starts a search for land sales using the directory - The event is raised when a response is received from the simulator + This will either create a new face if a custom face for the given + index is not defined, or return the custom face for that index if + it already exists - What type of land to search for. Auction, - estate, mainland, "first land", etc - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. + The index number of the face to create or + retrieve + A TextureEntryFace containing all the properties for that + face - + - Starts a search for land sales using the directory - The event is raised when a response is received from the simulator + - What type of land to search for. Auction, - estate, mainland, "first land", etc - Maximum price to search for - Maximum area to search for - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. + + - + - Send a request to the data server for land sales listings + - Flags sent to specify query options - Available flags: - Specify the parcel rating with one or more of the following: - IncludePG IncludeMature IncludeAdult - Specify the field to pre sort the results with ONLY ONE of the following: - PerMeterSort NameSort AreaSort PricesSort - Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order - SortAsc - Specify additional filters to limit the results with one or both of the following: - LimitByPrice LimitByArea - Flags can be combined by separating them with the | (pipe) character - Additional details can be found in - What type of land to search for. Auction, - Estate or Mainland - Maximum price to search for when the - DirFindFlags.LimitByPrice flag is specified in findFlags - Maximum area to search for when the - DirFindFlags.LimitByArea flag is specified in findFlags - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - - The event will be raised with the response from the simulator - There is no way to determine how many results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each reply. - Any land set for sale to either anybody or specific to the connected agent will be included in the - results if the land is included in the query - - - - // request all mainland, any maturity rating that is larger than 512 sq.m - StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); - - + - + - Search for Groups + - The name or portion of the name of the group you wish to search for - Start from the match number - - + - + - Search for Groups + - The name or portion of the name of the group you wish to search for - Start from the match number - Search flags - - + - + - Search the People directory for other avatars + Controls the texture animation of a particular prim - The name or portion of the name of the avatar you wish to search for - - - - - + + + + + + + + + + + + + + + + + + + + + + - Search Places for parcels of land you personally own + + + - + - Searches Places for land owned by the specified group + - ID of the group you want to recieve land list for (You must be a member of the group) - Transaction (Query) ID which can be associated with results from your request. + - + - Search the Places directory for parcels that are listed in search and contain the specified keywords + Represents a Sound Asset - A string containing the keywords to search for - Transaction (Query) ID which can be associated with results from your request. - + + Initializes a new instance of an AssetSound object + + + Initializes a new instance of an AssetSound object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + - Search Places - All Options + TODO: Encodes a sound file - One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. - One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer - A string containing a list of keywords to search for separated by a space character - String Simulator Name to search in - LLUID of group you want to recieve results for - Transaction (Query) ID which can be associated with results from your request. - Transaction (Query) ID which can be associated with results from your request. - + - Search All Events with specifid searchText in all categories, includes PG, Mature and Adult + TODO: Decode a sound file - A string containing a list of keywords to search for separated by a space character - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - UUID of query to correlate results in callback. + true - + + Override the base classes AssetType + + - Search Events + A linkset asset, containing a parent primitive and zero or more children - A string containing a list of keywords to search for separated by a space character - One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult - from the Enum - Multiple flags can be combined by separating the flags with the | (pipe) character - "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled - For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - EventCategory event is listed under. - UUID of query to correlate results in callback. - - Requests Event Details - ID of Event returned from the method + + Initializes a new instance of an AssetPrim object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Initializes a new instance of an AssetPrim object + + A unique specific to this asset + A byte array containing the raw asset data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + + - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from + + + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Override the base classes AssetType - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Contains the Event data returned from the data server from an EventInfoRequest - - - Construct a new instance of the EventInfoReplyEventArgs class - A single EventInfo object containing the details of an event + + + Only used internally for XML serialization/deserialization + - + - A single EventInfo object containing the details of an event + The deserialized form of a single primitive in a linkset asset - - Contains the "Event" detail data returned from the data server + + + Operation to apply when applying color to texture + - - Construct a new instance of the DirEventsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Events" returned by the search query + + + Information needed to translate visual param value to RGBA color + - - The ID returned by + + + Construct VisualColorParam + + Operation to apply when applying color to texture + Colors - - A list of "Events" returned by the data server + + + Represents alpha blending and bump infor for a visual parameter + such as sleive length + - - Contains the "Event" list data returned from the data server + + Stregth of the alpha to apply - - Construct a new instance of PlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Places" returned by the data server query + + File containing the alpha channel - - The ID returned by + + Skip blending if parameter value is 0 - - A list of "Places" returned by the data server + + Use miltiply insted of alpha blending - - Contains the places data returned from the data server + + + Create new alhpa information for a visual param + + Stregth of the alpha to apply + File containing the alpha channel + Skip blending if parameter value is 0 + Use miltiply insted of alpha blending - - Construct a new instance of the DirPlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing land data returned by the data server + + + A single visual characteristic of an avatar mesh, such as eyebrow height + - - The ID returned by + + Index of this visual param - - A list containing Places data returned by the data server + + Internal name - - Contains the classified data returned from the data server + + Group ID this parameter belongs to - - Construct a new instance of the DirClassifiedsReplyEventArgs class - A list of classified ad data returned from the data server + + Name of the wearable this parameter belongs to - - A list containing Classified Ads returned by the data server + + Displayable label of this characteristic - - Contains the group data returned from the data server + + Displayable label for the minimum value of this characteristic - - Construct a new instance of the DirGroupsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of groups data returned by the data server + + Displayable label for the maximum value of this characteristic - - The ID returned by + + Default value - - A list containing Groups data returned by the data server + + Minimum value - - Contains the people data returned from the data server + + Maximum value - - Construct a new instance of the DirPeopleReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of people data returned by the data server + + Is this param used for creation of bump layer? - - The ID returned by + + Alpha blending/bump info - - A list containing People data returned by the data server + + Color information - - Contains the land sales data returned from the data server + + Array of param IDs that are drivers for this parameter - - Construct a new instance of the DirLandReplyEventArgs class - A list of parcels for sale returned by the data server + + + Set all the values through the constructor + + Index of this visual param + Internal name + + + Displayable label of this characteristic + Displayable label for the minimum value of this characteristic + Displayable label for the maximum value of this characteristic + Default value + Minimum value + Maximum value + Is this param used for creation of bump layer? + Array of param IDs that are drivers for this parameter + Alpha blending/bump info + Color information - - A list containing land forsale data returned by the data server + + + Holds the Params array of all the avatar appearance parameters + - + - Represends individual HTTP Download request + NetworkManager is responsible for managing the network layer of + OpenMetaverse. It tracks all the server connections, serializes + outgoing traffic and deserializes incoming traffic, and provides + instances of delegates for network-related events. + + + Login Routines - - Default constructor + + The event subscribers, null of no subscribers - - Constructor + + Raises the PacketSent Event + A PacketSentEventArgs object containing + the data sent from the simulator - - URI of the item to fetch + + Thread sync lock object - - Timout specified in milliseconds + + The event subscribers, null of no subscribers - - Download progress callback + + Raises the LoggedOut Event + A LoggedOutEventArgs object containing + the data sent from the simulator - - Download completed callback + + Thread sync lock object - - Accept the following content type + + The event subscribers, null of no subscribers - - - Manages async HTTP downloads with a limit on maximum - concurrent downloads - + + Raises the SimConnecting Event + A SimConnectingEventArgs object containing + the data sent from the simulator - - Default constructor + + Thread sync lock object - - Maximum number of parallel downloads from a single endpoint + + The event subscribers, null of no subscribers - - Client certificate + + Raises the SimConnected Event + A SimConnectedEventArgs object containing + the data sent from the simulator - - Cleanup method + + Thread sync lock object - - Setup http download request + + The event subscribers, null of no subscribers - - Check the queue for pending work + + Raises the SimDisconnected Event + A SimDisconnectedEventArgs object containing + the data sent from the simulator - - Enqueue a new HTPP download + + Thread sync lock object - - Describes tasks returned in LandStatReply + + The event subscribers, null of no subscribers - - - Estate level administration and utilities - - - - - Constructor for EstateTools class - - - - - - Used in the ReportType field of a LandStatRequest - - - Used by EstateOwnerMessage packets - - - Used by EstateOwnerMessage packets - - - - - - - No flags set - - - Only return targets scripted objects - - - Only return targets objects if on others land - - - Returns target's scripted objects and objects on other parcels - - - Ground texture settings for each corner of the region - - - Used by GroundTextureHeightSettings - - - The high and low texture thresholds for each corner of the sim - - - Textures for each of the four terrain height levels - - - Upper/lower texture boundaries for each corner of the sim - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers + + Raises the Disconnected Event + A DisconnectedEventArgs object containing + the data sent from the simulator - + Thread sync lock object - - The event subscribers. null if no subcribers - - - Thread sync lock object + + The event subscribers, null of no subscribers - - The event subscribers. null if no subcribers + + Raises the SimChanged Event + A SimChangedEventArgs object containing + the data sent from the simulator - + Thread sync lock object - - The event subscribers. null if no subcribers - - - Thread sync lock object + + The event subscribers, null of no subscribers - - The event subscribers. null if no subcribers + + Raises the EventQueueRunning Event + A EventQueueRunningEventArgs object containing + the data sent from the simulator - + Thread sync lock object - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raises the TopCollidersReply event - A TopCollidersReplyEventArgs object containing the - data returned from the data server - - - Raises the TopScriptsReply event - A TopScriptsReplyEventArgs object containing the - data returned from the data server - - - Raises the EstateUsersReply event - A EstateUsersReplyEventArgs object containing the - data returned from the data server - - - Raises the EstateGroupsReply event - A EstateGroupsReplyEventArgs object containing the - data returned from the data server + + All of the simulators we are currently connected to - - Raises the EstateManagersReply event - A EstateManagersReplyEventArgs object containing the - data returned from the data server + + Handlers for incoming capability events - - Raises the EstateBansReply event - A EstateBansReplyEventArgs object containing the - data returned from the data server + + Handlers for incoming packets - - Raises the EstateCovenantReply event - A EstateCovenantReplyEventArgs object containing the - data returned from the data server + + Incoming packets that are awaiting handling - - Raises the EstateUpdateInfoReply event - A EstateUpdateInfoReplyEventArgs object containing the - data returned from the data server + + Outgoing packets that are awaiting handling - + - Requests estate information such as top scripts and colliders + Default constructor - - - - - - - - - - - Requests estate settings, including estate manager and access/ban lists - - - Requests the "Top Scripts" list for the current region - - - Requests the "Top Colliders" list for the current region + Reference to the GridClient object - + - Set several estate specific configuration variables + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library - The Height of the waterlevel over the entire estate. Defaults to 20 - The maximum height change allowed above the baked terrain. Defaults to 4 - The minimum height change allowed below the baked terrain. Defaults to -4 - true to use - if True forces the sun position to the position in SunPosition - The current position of the sun on the estate, or when FixedSun is true the static position - the sun will remain. 6.0 = Sunrise, 30.0 = Sunset + Packet type to trigger events for + Callback to fire when a packet of this type + is received - + - Request return of objects owned by specified avatar + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library - The Agents owning the primitives to return - specify the coverage and type of objects to be included in the return - true to perform return on entire estate + Packet type to trigger events for + Callback to fire when a packet of this type + is received + True if the callback should be ran + asynchronously. Only set this to false (synchronous for callbacks + that will always complete quickly) + If any callback for a packet type is marked as + asynchronous, all callbacks for that packet type will be fired + asynchronously - + + Unregister an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library - - - - + Packet type this callback is registered with + Callback to stop firing events for - + - Used for setting and retrieving various estate panel settings + Register a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library - EstateOwnerMessage Method field - List of parameters to include + Name of the CAPS event to register a handler for + Callback to fire when a CAPS event is received - + - Kick an avatar from an estate + Unregister a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library - Key of Agent to remove - - - - Ban an avatar from an estate - Key of Agent to remove - Ban user from this estate and all others owned by the estate owner + Name of the CAPS event this callback is + registered with + Callback to stop firing events for - - Unban an avatar from an estate - Key of Agent to remove - /// Unban user from this estate and all others owned by the estate owner - + - Send a message dialog to everyone in an entire estate + Send a packet to the simulator the avatar is currently occupying - Message to send all users in the estate + Packet to send - + - Send a message dialog to everyone in a simulator + Send a packet to a specified simulator - Message to send all users in the simulator + Packet to send + Simulator to send the packet to - + - Send an avatar back to their home location + Connect to a simulator - Key of avatar to send home + IP address to connect to + Port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null - + - Begin the region restart process + Connect to a simulator + IP address and port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null - + - Cancels a region restart + Initiate a blocking logout request. This will return when the logout + handshake has completed or when Settings.LOGOUT_TIMEOUT + has expired and the network layer is manually shut down - - Estate panel "Region" tab settings - - - Estate panel "Debug" tab settings - - - Used for setting the region's terrain textures for its four height levels - - - - - - - - - - - Used for setting sim terrain texture heights - - - Requests the estate covenant - - + - Upload a terrain RAW file + Initiate the logout process. Check if logout succeeded with the + OnLogoutReply event, and if this does not fire the + Shutdown() function needs to be manually called - A byte array containing the encoded terrain data - The name of the file being uploaded - The Id of the transfer request - + - Teleports all users home in current Estate + Close a connection to the given simulator + + - + - Remove estate manager - Key of Agent to Remove - removes manager to this estate and all others owned by the estate owner + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout + + Type of shutdown - + - Add estate manager - Key of Agent to Add - Add agent as manager to this estate and all others owned by the estate owner + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout + + Type of shutdown + Shutdown message - + - Add's an agent to the estate Allowed list - Key of Agent to Add - Add agent as an allowed reisdent to All estates if true + Searches through the list of currently connected simulators to find + one attached to the given IPEndPoint + + IPEndPoint of the Simulator to search for + A Simulator reference on success, otherwise null - + - Removes an agent from the estate Allowed list - Key of Agent to Remove - Removes agent as an allowed reisdent from All estates if true + Fire an event when an event queue connects for capabilities + + Simulator the event queue is attached to - - - Add's a group to the estate Allowed list - Key of Group to Add - Add Group as an allowed group to All estates if true + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Removes a group from the estate Allowed list - Key of Group to Remove - Removes Group as an allowed Group from All estates if true + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - - Raised on LandStatReply when the report type is for "top colliders" + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Construct a new instance of the TopCollidersReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - The number of returned items in LandStatReply - + + The event subscribers, null of no subscribers - - - A Dictionary of Object UUIDs to tasks returned in LandStatReply - + + Raises the LoginProgress Event + A LoginProgressEventArgs object containing + the data sent from the simulator - - Raised on LandStatReply when the report type is for "top Scripts" + + Thread sync lock object - - Construct a new instance of the TopScriptsReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply + + Seed CAPS URL returned from the login server - + + A list of packets obtained during the login process which + networkmanager will log but not process + + - The number of scripts returned in LandStatReply + Generate sane default values for a login request + Account first name + Account last name + Account password + Client application name + Client application version + A populated struct containing + sane defaults - + - A Dictionary of Object UUIDs to tasks returned in LandStatReply + Simplified login that takes the most common and required fields + Account first name + Account last name + Account password + Client application name + Client application version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateBansReplyEventArgs class - The estate's identifier on the grid - The number of returned items in LandStatReply - User UUIDs banned - - + - The identifier of the estate + Simplified login that takes the most common fields along with a + starting location URI, and can accept an MD5 string instead of a + plaintext password + Account first name + Account last name + Account password or MD5 hash of the password + such as $1$1682a1e45e9f957dcdf0bb56eb43319c + Client application name + Starting location URI that can be built with + StartLocation() + Client application version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - + - The number of returned itmes + Login that takes a struct of all the values that will be passed to + the login server + The values that will be passed to the login + server, all fields must be set even if they are String.Empty + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - + - List of UUIDs of Banned Users + Build a start location URI for passing to the Login function + Name of the simulator to start in + X coordinate to start at + Y coordinate to start at + Z coordinate to start at + String with a URI that can be used to login to a specified + location - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateUsersReplyEventArgs class - The estate's identifier on the grid - The number of users - Allowed users UUIDs + + + Handles response from XML-RPC login replies + - + - The identifier of the estate + Handle response from LLSD login replies + + + - + - The number of returned items + Get current OS + Either "Win" or "Linux" - + - List of UUIDs of Allowed Users + Get clients default Mac Address + A string containing the first found Mac Address - - Returned, along with other info, upon a successful .RequestInfo() + + Raised when the simulator sends us data containing + ... - - Construct a new instance of the EstateGroupsReplyEventArgs class - The estate's identifier on the grid - The number of Groups - Allowed Groups UUIDs + + Raised when the simulator sends us data containing + ... - - - The identifier of the estate - + + Raised when the simulator sends us data containing + ... - - - The number of returned items - + + Raised when the simulator sends us data containing + ... - - - List of UUIDs of Allowed Groups - + + Raised when the simulator sends us data containing + ... - - Returned, along with other info, upon a successful .RequestInfo() + + Raised when the simulator sends us data containing + ... - - Construct a new instance of the EstateManagersReplyEventArgs class - The estate's identifier on the grid - The number of Managers - Managers UUIDs + + Raised when the simulator sends us data containing + ... - - - The identifier of the estate - + + Raised when the simulator sends us data containing + ... - - - The number of returned items - + + Unique identifier associated with our connections to + simulators - - - List of UUIDs of the Estate's Managers - + + The simulator that the logged in avatar is currently + occupying - - Returned, along with other info, upon a successful .RequestInfo() + + Shows whether the network layer is logged in to the + grid or not - - Construct a new instance of the EstateCovenantReplyEventArgs class - The Covenant ID - The timestamp - The estate's name - The Estate Owner's ID (can be a GroupID) + + Number of packets in the incoming queue - - - The Covenant - + + Number of packets in the outgoing queue - - - The timestamp - + + Raised when the simulator sends us data containing + ... - - - The Estate name - + + Called when a reply is received from the login server, the + login sequence will block until this event returns - - - The Estate Owner's ID (can be a GroupID) - + + Current state of logging in - - Returned, along with other info, upon a successful .RequestInfo() + + Upon login failure, contains a short string key for the + type of login error that occurred - - Construct a new instance of the EstateUpdateInfoReplyEventArgs class - The estate's name - The Estate Owners ID (can be a GroupID) - The estate's identifier on the grid - - + + The raw XML-RPC reply from the login server, exactly as it + was received (minus the HTTP header) - - - The estate's name - + + During login this contains a descriptive version of + LoginStatusCode. After a successful login this will contain the + message of the day, and after a failed login a descriptive error + message will be returned - + - The Estate Owner's ID (can be a GroupID) + Explains why a simulator or the grid disconnected from us - - - The identifier of the estate on the grid - + + The client requested the logout or simulator disconnect - - - + + The server notified us that it is disconnecting - - - Registers, unregisters, and fires events generated by incoming packets - + + Either a socket was closed or network traffic timed out - - - Default constructor - - - + + The last active simulator shut down - + - Object that is passed to worker threads in the ThreadPool for - firing packet callbacks + Holds a simulator reference and a decoded packet, these structs are put in + the packet inbox for event handling - - Callback to fire for this packet - - + Reference to the simulator that this packet came from - - The packet that needs to be processed - - - Reference to the GridClient object + + Packet that needs to be processed - + - Register an event handler + Holds a simulator reference and a serialized packet, these structs are put in + the packet outbox for sending - Use PacketType.Default to fire this event on every - incoming packet - Packet type to register the handler for - Callback to be fired - True if this callback should be ran - asynchronously, false to run it synchronous - - - Unregister an event handler - - Packet type to unregister the handler for - Callback to be unregistered + + Reference to the simulator this packet is destined for - - - Fire the events registered for this packet type - - Incoming packet type - Incoming packet - Simulator this packet was received from + + Packet that needs to be sent - - - Registers, unregisters, and fires events generated by the Capabilities - event queue - + + Sequence number of the wrapped packet - + + Number of times this packet has been resent + + + Environment.TickCount when this packet was last sent over the wire + + - Default constructor + - Reference to the GridClient object + + + + + - + - Object that is passed to worker threads in the ThreadPool for - firing CAPS callbacks + Static helper functions and global variables - - Callback to fire for this packet - - - Name of the CAPS event + + This header flag signals that ACKs are appended to the packet - - Strongly typed decoded data + + This header flag signals that this packet has been sent before - - Reference to the simulator that generated this event + + This header flags signals that an ACK is expected for this packet - - Reference to the GridClient object + + This header flag signals that the message is compressed using zerocoding - + - Register an new event handler for a capabilities event sent via the EventQueue + - Use String.Empty to fire this event on every CAPS event - Capability event name to register the - handler for - Callback to fire + + - + - Unregister a previously registered capabilities handler + - Capability event name unregister the - handler for - Callback to unregister + + + - + - Fire the events registered for this event type synchronously + - Capability name - Decoded event body - Reference to the simulator that - generated this event + + - + - Fire the events registered for this event type asynchronously + - Capability name - Decoded event body - Reference to the simulator that - generated this event + + + - + + Given an X/Y location in absolute (grid-relative) terms, a region + handle is returned along with the local X/Y location in that region + The absolute X location, a number such as + 255360.35 + The absolute Y location, a number such as + 255360.35 + The sim-local X position of the global X + position, a value from 0.0 to 256.0 + The sim-local Y position of the global Y + position, a value from 0.0 to 256.0 + A 64-bit region handle that can be used to teleport to - - The avatar has no rights - - - The avatar can see the online status of the target avatar - - - The avatar can see the location of the target avatar on the map - - - The avatar can modify the ojects of the target avatar - - + - This class holds information about an avatar in the friends list. There are two ways - to interface to this class. The first is through the set of boolean properties. This is the typical - way clients of this class will use it. The second interface is through two bitflag properties, - TheirFriendsRights and MyFriendsRights + Converts a floating point number to a terse string format used for + transmitting numbers in wearable asset files + Floating point number to convert to a string + A terse string representation of the input number - + - Used internally when building the initial list of friends at login time + Convert a variable length field (byte array) to a string, with a + field name prepended to each line of the output - System ID of the avatar being prepesented - Rights the friend has to see you online and to modify your objects - Rights you have to see your friend online and to modify their objects + If the byte array has unprintable characters in it, a + hex dump will be written instead + The StringBuilder object to write to + The byte array to convert to a string + A field name to prepend to each line of output - + - System ID of the avatar + Decode a zerocoded byte array, used to decompress packets marked + with the zerocoded flag + Any time a zero is encountered, the next byte is a count + of how many zeroes to expand. One zero is encoded with 0x00 0x01, + two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The + first four bytes are copied directly to the output buffer. + + The byte array to decode + The length of the byte array to decode. This + would be the length of the packet up to (but not including) any + appended ACKs + The output byte array to decode to + The length of the output buffer - + - full name of the avatar + Encode a byte array with zerocoding. Used to compress packets marked + with the zerocoded flag. Any zeroes in the array are compressed down + to a single zero byte followed by a count of how many zeroes to expand + out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, + three zeroes becomes 0x00 0x03, etc. The first four bytes are copied + directly to the output buffer. + The byte array to encode + The length of the byte array to encode + The output byte array to encode to + The length of the output buffer - + - True if the avatar is online + Calculates the CRC (cyclic redundancy check) needed to upload inventory. + Creation date + Sale type + Inventory type + Type + Asset ID + Group ID + Sale price + Owner ID + Creator ID + Item ID + Folder ID + Everyone mask (permissions) + Flags + Next owner mask (permissions) + Group mask (permissions) + Owner mask (permissions) + The calculated CRC - + - True if the friend can see if I am online + Attempts to load a file embedded in the assembly + The filename of the resource to load + A Stream for the requested file, or null if the resource + was not successfully loaded - + - True if the friend can see me on the map + Attempts to load a file either embedded in the assembly or found in + a given search path + The filename of the resource to load + An optional path that will be searched if + the asset is not found embedded in the assembly + A Stream for the requested file, or null if the resource + was not successfully loaded - + - True if the freind can modify my objects + Converts a list of primitives to an object that can be serialized + with the LLSD system + Primitives to convert to a serializable object + An object that can be serialized with LLSD - + - True if I can see if my friend is online + Deserializes OSD in to a list of primitives + Structure holding the serialized primitive list, + must be of the SDMap type + A list of deserialized primitives - - - True if I can see if my friend is on the map - + + + Converts a struct or class object containing fields only into a key value separated string + + The struct object + A string containing the struct fields as the keys, and the field value as the value separated + + + // Add the following code to any struct or class containing only fields to override the ToString() + // method to display the values of the passed object + + /// Print the struct data as a string + ///A string containing the field name, and field value + public override string ToString() + { + return Helpers.StructToString(this); + } + + - + - True if I can modify my friend's objects + Passed to Logger.Log() to identify the severity of a log entry - - - My friend's rights represented as bitmapped flags - + + No logging information will be output - - - My rights represented as bitmapped flags - + + Non-noisy useful information, may be helpful in + debugging a problem - - - FriendInfo represented as a string - - A string reprentation of both my rights and my friends rights + + A non-critical error occurred. A warning will not + prevent the rest of the library from operating as usual, + although it may be indicative of an underlying issue - - - This class is used to add and remove avatars from your friends list and to manage their permission. + + A critical error has occurred. Generally this will + be followed by the network layer shutting down, although the + stability of the library after an error is uncertain + + + Used for internal testing, this logging level can + generate very noisy (long and/or repetitive) messages. Don't + pass this to the Log() function, use DebugLog() instead. - + - Internal constructor + Access to the data server which allows searching for land, events, people, etc - A reference to the GridClient Object - + The event subscribers. null if no subcribers - + + Raises the EventInfoReply event + An EventInfoReplyEventArgs object containing the + data returned from the data server + + Thread sync lock object - + The event subscribers. null if no subcribers - + + Raises the DirEventsReply event + An DirEventsReplyEventArgs object containing the + data returned from the data server + + Thread sync lock object - + The event subscribers. null if no subcribers - + + Raises the PlacesReply event + A PlacesReplyEventArgs object containing the + data returned from the data server + + Thread sync lock object - + The event subscribers. null if no subcribers - + + Raises the DirPlacesReply event + A DirPlacesReplyEventArgs object containing the + data returned from the data server + + Thread sync lock object - + The event subscribers. null if no subcribers - + + Raises the DirClassifiedsReply event + A DirClassifiedsReplyEventArgs object containing the + data returned from the data server + + Thread sync lock object - + The event subscribers. null if no subcribers - + + Raises the DirGroupsReply event + A DirGroupsReplyEventArgs object containing the + data returned from the data server + + Thread sync lock object - + The event subscribers. null if no subcribers - + + Raises the DirPeopleReply event + A DirPeopleReplyEventArgs object containing the + data returned from the data server + + Thread sync lock object - + The event subscribers. null if no subcribers - + + Raises the DirLandReply event + A DirLandReplyEventArgs object containing the + data returned from the data server + + Thread sync lock object - + - A dictionary of key/value pairs containing known friends of this avatar. - The Key is the of the friend, the value is a - object that contains detailed information including permissions you have and have given to the friend + Constructs a new instance of the DirectoryManager class + An instance of GridClient - + - A Dictionary of key/value pairs containing current pending frienship offers. - The key is the of the avatar making the request, - the value is the of the request which is used to accept - or decline the friendship offer + Query the data server for a list of classified ads containing the specified string. + Defaults to searching for classified placed in any category, and includes PG, Adult and Mature + results. + + Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + + The event is raised when a response is received from the simulator + A string containing a list of keywords to search for + A UUID to correlate the results when the event is raised - - Raised when the simulator sends notification one of the members in our friends list comes online - - - Raised when the simulator sends notification one of the members in our friends list goes offline - - - Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions - - - Raised when the simulator sends us the names on our friends list - - - Raised when the simulator sends notification another agent is offering us friendship - - - Raised when a request we sent to friend another agent is accepted or declined - - - Raised when the simulator sends notification one of the members in our friends list has terminated - our friendship - - - Raised when the simulator sends the location of a friend we have - requested map location info for - - - Raises the FriendOnline event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Raises the FriendOffline event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Raises the FriendRightsUpdate event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Raises the FriendNames event - A FriendNamesEventArgs object containing the - data returned from the data server - - - Raises the FriendshipOffered event - A FriendshipOfferedEventArgs object containing the - data returned from the data server + + + Query the data server for a list of classified ads which contain specified keywords (Overload) + + The event is raised when a response is received from the simulator + + A string containing a list of keywords to search for + The category to search + A set of flags which can be ORed to modify query options + such as classified maturity rating. + A UUID to correlate the results when the event is raised + + Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature + + UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); + + + + Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + - - Raises the FriendshipResponse event - A FriendshipResponseEventArgs object containing the - data returned from the data server + + + Starts search for places (Overloaded) + + The event is raised when a response is received from the simulator + + Search text + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised - - Raises the FriendshipTerminated event - A FriendshipTerminatedEventArgs object containing the - data returned from the data server + + + Queries the dataserver for parcels of land which are flagged to be shown in search + + The event is raised when a response is received from the simulator + + A string containing a list of keywords to search for separated by a space character + A set of flags which can be ORed to modify query options + such as classified maturity rating. + The category to search + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised + + Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult + + UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); + + + + Additional information on the results can be obtained by using the ParcelManager.InfoRequest method + - - Raises the FriendFoundReply event - A FriendFoundReplyEventArgs object containing the - data returned from the data server + + + Starts a search for land sales using the directory + + The event is raised when a response is received from the simulator + + What type of land to search for. Auction, + estate, mainland, "first land", etc + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. - + - Accept a friendship request + Starts a search for land sales using the directory + + The event is raised when a response is received from the simulator - agentID of avatatar to form friendship with - imSessionID of the friendship request message + What type of land to search for. Auction, + estate, mainland, "first land", etc + Maximum price to search for + Maximum area to search for + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. - + - Decline a friendship request + Send a request to the data server for land sales listings - - of friend - imSessionID of the friendship request message + + Flags sent to specify query options + + Available flags: + Specify the parcel rating with one or more of the following: + IncludePG IncludeMature IncludeAdult + + Specify the field to pre sort the results with ONLY ONE of the following: + PerMeterSort NameSort AreaSort PricesSort + + Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order + SortAsc + + Specify additional filters to limit the results with one or both of the following: + LimitByPrice LimitByArea + + Flags can be combined by separating them with the | (pipe) character + + Additional details can be found in + + What type of land to search for. Auction, + Estate or Mainland + Maximum price to search for when the + DirFindFlags.LimitByPrice flag is specified in findFlags + Maximum area to search for when the + DirFindFlags.LimitByArea flag is specified in findFlags + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + The event will be raised with the response from the simulator + + There is no way to determine how many results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each reply. + + Any land set for sale to either anybody or specific to the connected agent will be included in the + results if the land is included in the query + + + // request all mainland, any maturity rating that is larger than 512 sq.m + StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); + - + - Overload: Offer friendship to an avatar. + Search for Groups - System ID of the avatar you are offering friendship to + The name or portion of the name of the group you wish to search for + Start from the match number + - + - Offer friendship to an avatar. + Search for Groups - System ID of the avatar you are offering friendship to - A message to send with the request + The name or portion of the name of the group you wish to search for + Start from the match number + Search flags + - + - Terminate a friendship with an avatar + Search the People directory for other avatars - System ID of the avatar you are terminating the friendship with + The name or portion of the name of the avatar you wish to search for + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Search Places for parcels of land you personally own + - + - Change the rights of a friend avatar. + Searches Places for land owned by the specified group - the of the friend - the new rights to give the friend - This method will implicitly set the rights to those passed in the rights parameter. + ID of the group you want to recieve land list for (You must be a member of the group) + Transaction (Query) ID which can be associated with results from your request. - + - Use to map a friends location on the grid. + Search the Places directory for parcels that are listed in search and contain the specified keywords - Friends UUID to find - - - + A string containing the keywords to search for + Transaction (Query) ID which can be associated with results from your request. - + - Use to track a friends movement on the grid + Search Places - All Options - Friends Key + One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. + One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer + A string containing a list of keywords to search for separated by a space character + String Simulator Name to search in + LLUID of group you want to recieve results for + Transaction (Query) ID which can be associated with results from your request. + Transaction (Query) ID which can be associated with results from your request. - + - Ask for a notification of friend's online status + Search All Events with specifid searchText in all categories, includes PG, Mature and Adult - Friend's UUID + A string containing a list of keywords to search for separated by a space character + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + UUID of query to correlate results in callback. - + - This handles the asynchronous response of a RequestAvatarNames call. + Search Events - - - names cooresponding to the the list of IDs sent the the RequestAvatarNames call. + A string containing a list of keywords to search for separated by a space character + One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult + from the Enum + + Multiple flags can be combined by separating the flags with the | (pipe) character + "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled + For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + EventCategory event is listed under. + UUID of query to correlate results in callback. - + + Requests Event Details + ID of Event returned from the method + + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from + + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - - - Populate FriendList with data from the login reply - - true if login was successful - true if login request is requiring a redirect - A string containing the response to the login request - A string containing the reason for the request - A object containing the decoded - reply from the login server - - - Contains information on a member of our friends list + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from - - - Construct a new instance of the FriendInfoEventArgs class - - The FriendInfo - - - Get the FriendInfo + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Contains Friend Names + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Construct a new instance of the FriendNamesEventArgs class - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Sent when another agent requests a friendship with our agent + + Raised when the data server responds to a request. - - - Construct a new instance of the FriendshipOfferedEventArgs class - - The ID of the agent requesting friendship - The name of the agent requesting friendship - The ID of the session, used in accepting or declining the - friendship offer + + Raised when the data server responds to a request. - - Get the ID of the agent requesting friendship + + Raised when the data server responds to a request. - - Get the name of the agent requesting friendship + + Raised when the data server responds to a request. - - Get the ID of the session, used in accepting or declining the - friendship offer + + Raised when the data server responds to a request. - - A response containing the results of our request to form a friendship with another agent + + Raised when the data server responds to a request. - - - Construct a new instance of the FriendShipResponseEventArgs class - - The ID of the agent we requested a friendship with - The name of the agent we requested a friendship with - true if the agent accepted our friendship offer + + Raised when the data server responds to a request. - - Get the ID of the agent we requested a friendship with + + Raised when the data server responds to a request. - - Get the name of the agent we requested a friendship with + + Classified Ad categories - - true if the agent accepted our friendship offer + + Classified is listed in the Any category - - Contains data sent when a friend terminates a friendship with us + + Classified is shopping related - - - Construct a new instance of the FrindshipTerminatedEventArgs class - - The ID of the friend who terminated the friendship with us - The name of the friend who terminated the friendship with us + + Classified is - - Get the ID of the agent that terminated the friendship with us + + - - Get the name of the agent that terminated the friendship with us + + - - - Data sent in response to a request which contains the information to allow us to map the friends location - + + - - - Construct a new instance of the FriendFoundReplyEventArgs class - - The ID of the agent we have requested location information for - The region handle where our friend is located - The simulator local position our friend is located + + - - Get the ID of the agent we have received location information for + + - - Get the region handle where our mapped friend is located + + - - Get the simulator local position where our friend is located + + - - - Main class to expose grid functionality to clients. All of the - classes needed for sending and receiving data are accessible through - this class. - - - - // Example minimum code required to instantiate class and - // connect to a simulator. - using System; - using System.Collections.Generic; - using System.Text; - using OpenMetaverse; - namespace FirstBot - { - class Bot - { - public static GridClient Client; - static void Main(string[] args) - { - Client = new GridClient(); // instantiates the GridClient class - // to the global Client object - // Login to Simulator - Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); - // Wait for a Keypress - Console.ReadLine(); - // Logout of simulator - Client.Network.Logout(); - } - } - } - - + + Event Categories - - - Default constructor - + + - - Networking subsystem + + - - Settings class including constant values and changeable - parameters for everything + + - - Parcel (subdivided simulator lots) subsystem + + - - Our own avatars subsystem + + - - Other avatars subsystem + + - - Estate subsystem + + - - Friends list subsystem + + - - Grid (aka simulator group) subsystem + + - - Object subsystem + + - - Group subsystem + + - - Asset subsystem + + - - Appearance subsystem + + + Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. + + Flags can be combined using the | (pipe) character, not all flags are available in all queries + - - Inventory subsystem + + Query the People database - - Directory searches including classifieds, people, land - sales, etc + + - - Handles land, wind, and cloud heightmaps + + - - Handles sound-related networking + + Query the Groups database - - Throttling total bandwidth usage, or allocating bandwidth - for specific data stream types + + Query the Events database - - - Return the full name of this instance - - Client avatars full name + + Query the land holdings database for land owned by the currently connected agent - - - Map layer request type - + + - - Objects and terrain are shown + + Query the land holdings database for land which is owned by a Group - - Only the terrain is shown, no objects + + Specifies the query should pre sort the results based upon traffic + when searching the Places database - - Overlay showing land for sale and for auction + + - - - Type of grid item, such as telehub, event, populator location, etc. - + + - - Telehub + + - - PG rated event + + - - Mature rated event + + Specifies the query should pre sort the results in an ascending order when searching the land sales database. + This flag is only used when searching the land sales database - - Popular location + + Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. + This flag is only used when searching the land sales database - - Locations of avatar groups in a region + + Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. + This flag is only used when searching the land sales database - - Land for sale + + Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. + This flag is only used when searching the land sales database - - Classified ad + + Specifies the query should pre sort the results using the Name field when searching the land sales database. + This flag is only used when searching the land sales database - - Adult rated event - - - Adult land for sale + + When set, only parcels less than the specified Price will be included when searching the land sales database. + This flag is only used when searching the land sales database - - - Information about a region on the grid map - + + When set, only parcels greater than the specified Size will be included when searching the land sales database. + This flag is only used when searching the land sales database - - Sim X position on World Map + + - - Sim Y position on World Map + + - - Sim Name (NOTE: In lowercase!) + + Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases - - - + + Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases - - Appears to always be zero (None) + + Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases - - Sim's defined Water Height + + - + + Land types to search dataserver for - - UUID of the World Map image + + Search Auction, Mainland and Estate - - Unique identifier for this region, a combination of the X - and Y position + + Land which is currently up for auction - - - - - + + Parcels which are on the mainland (Linden owned) continents - - - - - + + Parcels which are on privately owned simulators - + + The content rating of the event - - - - - - - Visual chunk of the grid map - + + Event is PG - + + Event is Mature + + + Event is Adult + + - Base class for Map Items + Classified Ad Options + There appear to be two formats the flags are packed in. + This set of flags is for the newer style - - The Global X position of the item + + - - The Global Y position of the item + + - - Get the Local X position of the item + + - - Get the Local Y position of the item + + - - Get the Handle of the region + + - + - Represents an agent or group of agents location + Classified ad query options - - - Represents a Telehub location - + + Include all ads in results - - - Represents a non-adult parcel of land for sale - + + Include PG ads in results - - - Represents an Adult parcel of land for sale - + + Include Mature ads in results - - - Represents a PG Event - + + Include Adult ads in results - + - Represents a Mature event + The For Sale flag in PlacesReplyData - - - Represents an Adult event - + + Parcel is not listed for sale - - - Manages grid-wide tasks such as the world map - + + Parcel is For Sale - + - Constructor + A classified ad on the grid - Instance of GridClient object to associate with this GridManager instance - - The event subscribers. null if no subcribers + + UUID for this ad, useful for looking up detailed + information about it - - Thread sync lock object + + The title of this classified ad - - The event subscribers. null if no subcribers + + Flags that show certain options applied to the classified - - Thread sync lock object + + Creation date of the ad - - The event subscribers. null if no subcribers + + Expiration date of the ad - - Thread sync lock object + + Price that was paid for this ad - - The event subscribers. null if no subcribers + + Print the struct data as a string + A string containing the field name, and field value - - Thread sync lock object + + + A parcel retrieved from the dataserver such as results from the + "For-Sale" listings or "Places" Search + - - The event subscribers. null if no subcribers + + The unique dataserver parcel ID + This id is used to obtain additional information from the entry + by using the method - - Thread sync lock object + + A string containing the name of the parcel - - A dictionary of all the regions, indexed by region name + + The size of the parcel + This field is not returned for Places searches - - A dictionary of all the regions, indexed by region handle + + The price of the parcel + This field is not returned for Places searches - - Raised when the simulator sends a - containing the location of agents in the simulator + + If True, this parcel is flagged to be auctioned - - Raised when the simulator sends a Region Data in response to - a Map request + + If true, this parcel is currently set for sale - - Raised when the simulator sends GridLayer object containing - a map tile coordinates and texture information + + Parcel traffic - - Raised when the simulator sends GridItems object containing - details on events, land sales at a specific location + + Print the struct data as a string + A string containing the field name, and field value - - Raised in response to a Region lookup + + + An Avatar returned from the dataserver + - - Unknown + + Online status of agent + This field appears to be obsolete and always returns false - - Current direction of the sun + + The agents first name - - Current angular velocity of the sun + + The agents last name - - Current world time + + The agents - - Raises the CoarseLocationUpdate event - A CoarseLocationUpdateEventArgs object containing the - data sent by simulator + + Print the struct data as a string + A string containing the field name, and field value - - Raises the GridRegion event - A GridRegionEventArgs object containing the - data sent by simulator + + + Response to a "Groups" Search + - - Raises the GridLayer event - A GridLayerEventArgs object containing the - data sent by simulator - - - Raises the GridItems event - A GridItemEventArgs object containing the - data sent by simulator - - - Raises the RegionHandleReply event - A RegionHandleReplyEventArgs object containing the - data sent by simulator + + The Group ID - - - - - + + The name of the group - - - Request a map layer - - The name of the region - The type of layer + + The current number of members - - - - - - - - - - - - - - - + + Print the struct data as a string + A string containing the field name, and field value - + + Parcel information returned from a request + + Represents one of the following: + A parcel of land on the grid that has its Show In Search flag set + A parcel of land owned by the agent making the request + A parcel of land owned by a group the agent making the request is a member of + + + In a request for Group Land, the First record will contain an empty record + + Note: This is not the same as searching the land for sale data source - - - - - - - - - - - - - - - - - - - + + The ID of the Agent of Group that owns the parcel - - - Request data for all mainland (Linden managed) simulators - + + The name - - - Request the region handle for the specified region UUID - - UUID of the region to look up + + The description - - - Get grid region information using the region name, this function - will block until it can find the region or gives up - - Name of sim you're looking for - Layer that you are requesting - Will contain a GridRegion for the sim you're - looking for if successful, otherwise an empty structure - True if the GridRegion was successfully fetched, otherwise - false + + The Size of the parcel - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The billable Size of the parcel, for mainland + parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller + than the ActualArea. For Estate land this will always be 0 - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Indicates the ForSale status of the parcel - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The Gridwide X position - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The Gridwide Y position - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The Z position of the parcel, or 0 if no landing point set - - - Avatar group management - + + The name of the Region the parcel is located in - - Key of Group Member + + The Asset ID of the parcels Snapshot texture - - Total land contribution + + The calculated visitor traffic - - Online status information + + The billing product SKU + Known values are: + + 023Mainland / Full Region + 024Estate / Full Region + 027Estate / Openspace + 029Estate / Homestead + 129Mainland / Homestead (Linden Owned) + + - - Abilities that the Group Member has + + No longer used, will always be 0 - - Current group title + + Get a SL URL for the parcel + A string, containing a standard SLURL - - Is a group owner + + Print the struct data as a string + A string containing the field name, and field value - + - Role manager for a group + An "Event" Listing summary - - Key of the group + + The ID of the event creator - - Key of Role + + The name of the event - - Name of Role + + The events ID - - Group Title associated with Role + + A string containing the short date/time the event will begin - - Description of Role + + The event start time in Unixtime (seconds since epoch) - - Abilities Associated with Role + + The events maturity rating - - Returns the role's title - The role's title + + Print the struct data as a string + A string containing the field name, and field value - + - Class to represent Group Title + The details of an "Event" - - Key of the group - - - ID of the role title belongs to + + The events ID - - Group Title + + The ID of the event creator - - Whether title is Active + + The name of the event - - Returns group title + + The category - - - Represents a group on the grid - + + The events description - - Key of Group + + The short date/time the event will begin - - Key of Group Insignia + + The event start time in Unixtime (seconds since epoch) UTC adjusted - - Key of Group Founder + + The length of the event in minutes - - Key of Group Role for Owners + + 0 if no cover charge applies - - Name of Group + + The cover charge amount in L$ if applicable - - Text of Group Charter + + The name of the region where the event is being held - - Title of "everyone" role + + The gridwide location of the event - - Is the group open for enrolement to everyone + + The maturity rating - - Will group show up in search + + Get a SL URL for the parcel where the event is hosted + A string, containing a standard SLURL - - - - - - - - - - - + + Print the struct data as a string + A string containing the field name, and field value - - Is the group Mature + + Contains the Event data returned from the data server from an EventInfoRequest - - Cost of group membership + + Construct a new instance of the EventInfoReplyEventArgs class + A single EventInfo object containing the details of an event - + + A single EventInfo object containing the details of an event - - - + + Contains the "Event" detail data returned from the data server - - The total number of current members this group has + + Construct a new instance of the DirEventsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Events" returned by the search query - - The number of roles this group has configured + + The ID returned by - - Show this group in agent's profile + + A list of "Events" returned by the data server - - Returns the name of the group - A string containing the name of the group + + Contains the "Event" list data returned from the data server - - - A group Vote - + + Construct a new instance of PlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Places" returned by the data server query - - Key of Avatar who created Vote + + The ID returned by - - Text of the Vote proposal + + A list of "Places" returned by the data server - - Total number of votes + + Contains the places data returned from the data server - - - A group proposal - + + Construct a new instance of the DirPlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing land data returned by the data server - - The Text of the proposal + + The ID returned by - - The minimum number of members that must vote before proposal passes or failes + + A list containing Places data returned by the data server - - The required ration of yes/no votes required for vote to pass - The three options are Simple Majority, 2/3 Majority, and Unanimous - TODO: this should be an enum - - The duration in days votes are accepted + + Contains the classified data returned from the data server - - - + + Construct a new instance of the DirClassifiedsReplyEventArgs class + A list of classified ad data returned from the data server - - - + + A list containing Classified Ads returned by the data server - - - + + Contains the group data returned from the data server - - - + + Construct a new instance of the DirGroupsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of groups data returned by the data server - - - + + The ID returned by - - - + + A list containing Groups data returned by the data server - - - + + Contains the people data returned from the data server - - - + + Construct a new instance of the DirPeopleReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of people data returned by the data server - - - + + The ID returned by - - - + + A list containing People data returned by the data server - - - + + Contains the land sales data returned from the data server - - - + + Construct a new instance of the DirLandReplyEventArgs class + A list of parcels for sale returned by the data server - - - + + A list containing land forsale data returned by the data server - + + Capabilities is the name of the bi-directional HTTP REST protocol + used to communicate non real-time transactions such as teleporting or + group messaging - - - + + Reference to the simulator this system is connected to - + + Default constructor + + - + + Request the URI of a named capability + Name of the capability to request + The URI of the requested capability, or String.Empty if + the capability does not exist - + + Process any incoming events, check to see if we have a message created for the event, + + - - - + + Capabilities URI this system was initialized with - - - + + Whether the capabilities event queue is connected and + listening for incoming events - + - Struct representing a group notice + Triggered when an event is received via the EventQueueGet + capability + Event name + Decoded event data + The simulator that generated the event - + + Permission request flags, asked when a script wants to control an Avatar - - - + + Placeholder for empty values, shouldn't ever see this - - - + + Script wants ability to take money from you - - - + + Script wants to take camera controls for you - - - - - + + Script wants to remap avatars controls - - - Struct representing a group notice list entry - + + Script wants to trigger avatar animations + This function is not implemented on the grid - - Notice ID + + Script wants to attach or detach the prim or primset to your avatar - - Creation timestamp of notice + + Script wants permission to release ownership + This function is not implemented on the grid + The concept of "public" objects does not exist anymore. - - Agent name who created notice + + Script wants ability to link/delink with other prims - - Notice subject + + Script wants permission to change joints + This function is not implemented on the grid - - Is there an attachment? + + Script wants permissions to change permissions + This function is not implemented on the grid - - Attachment Type + + Script wants to track avatars camera position and rotation - + + Script wants to control your camera + + - Struct representing a member of a group chat session and their settings + Special commands used in Instant Messages - - The of the Avatar + + Indicates a regular IM from another agent - - True if user has voice chat enabled + + Simple notification box with an OK button - - True of Avatar has moderator abilities + + You've been invited to join a group. - - True if a moderator has muted this avatars chat + + Inventory offer - - True if a moderator has muted this avatars voice + + Accepted inventory offer - - - Role update flags - + + Declined inventory offer - - - + + Group vote - - - + + An object is offering its inventory - - - + + Accept an inventory offer from an object - - - + + Decline an inventory offer from an object - - - + + Unknown - - - + + Start a session, or add users to a session - - - + + Start a session, but don't prune offline users - - Can send invitations to groups default role + + Start a session with your group - - Can eject members from group + + Start a session without a calling card (finder or objects) - - Can toggle 'Open Enrollment' and change 'Signup fee' + + Send a message to a session - - Member is visible in the public member list + + Leave a session - - Can create new roles + + Indicates that the IM is from an object - - Can delete existing roles + + Sent an IM to a busy user, this is the auto response - - Can change Role names, titles and descriptions + + Shows the message in the console and chat history - - Can assign other members to assigners role + + Send a teleport lure - - Can assign other members to any role + + Response sent to the agent which inititiated a teleport invitation - - Can remove members from roles + + Response sent to the agent which inititiated a teleport invitation - - Can assign and remove abilities in roles + + Only useful if you have Linden permissions - - Can change group Charter, Insignia, 'Publish on the web' and which - members are publicly visible in group member listings + + A placeholder type for future expansion, currently not + used - - Can buy land or deed land to group + + IM to tell the user to go to an URL - - Can abandon group owned land to Governor Linden on mainland, or Estate owner for - private estates + + IM for help - - Can set land for-sale information on group owned parcels + + IM sent automatically on call for help, sends a lure + to each Helper reached - - Can subdivide and join parcels + + Like an IM but won't go to email - - Can join group chat sessions + + IM from a group officer to all group members - - Can use voice chat in Group Chat sessions + + Unknown - - Can moderate group chat sessions + + Unknown - - Can toggle "Show in Find Places" and set search category + + Accept a group invitation - - Can change parcel name, description, and 'Publish on web' settings + + Decline a group invitation - - Can set the landing point and teleport routing on group land + + Unknown - - Can change music and media settings + + An avatar is offering you friendship - - Can toggle 'Edit Terrain' option in Land settings + + An avatar has accepted your friendship offer - - Can toggle various About Land > Options settings + + An avatar has declined your friendship offer - - Can always terraform land, even if parcel settings have it turned off + + Indicates that a user has started typing - - Can always fly while over group owned land + + Indicates that a user has stopped typing - - Can always rez objects on group owned land + + + Flag in Instant Messages, whether the IM should be delivered to + offline avatars as well + - - Can always create landmarks for group owned parcels + + Only deliver to online avatars - - Can set home location on any group owned parcel + + If the avatar is offline the message will be held until + they login next, and possibly forwarded to their e-mail account - - Can modify public access settings for group owned parcels + + + Conversion type to denote Chat Packet types in an easier-to-understand format + - - Can manager parcel ban lists on group owned land + + Whisper (5m radius) - - Can manage pass list sales information + + Normal chat (10/20m radius), what the official viewer typically sends - - Can eject and freeze other avatars on group owned land + + Shouting! (100m radius) - - Can return objects set to group + + Event message when an Avatar has begun to type - - Can return non-group owned/set objects + + Event message when an Avatar has stopped typing - - Can return group owned objects + + Send the message to the debug channel - - Can landscape using Linden plants + + Event message when an object uses llOwnerSay - - Can deed objects to group + + Special value to support llRegionSay, never sent to the client - - Can move group owned objects + + + Identifies the source of a chat message + - - Can set group owned objects for-sale + + Chat from the grid or simulator - - Pay group liabilities and receive group dividends + + Chat from another avatar - - Can send group notices + + Chat from an object - - Can receive group notices + + + + - - Can create group proposals + + - - Can vote on group proposals + + - - - Handles all network traffic related to reading and writing group - information - + + - + - Construct a new instance of the GroupManager class + Effect type used in ViewerEffect packets - A reference to the current instance - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + Project a beam from a source to a destination, such as + the one used when editing an object - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + Create a swirl of particles around an object - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + Cause an avatar to look at an object - - Thread sync lock object + + Cause an avatar to point at an object - - The event subscribers. null if no subcribers + + + The action an avatar is doing when looking at something, used in + ViewerEffect packets for the LookAt effect + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + Deprecated - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + + The action an avatar is doing when pointing at something, used in + ViewerEffect packets for the PointAt effect + - - Thread sync lock object + + - - A reference to the current instance + + - - Currently-active group members requests + + - - Currently-active group roles requests + + - - Currently-active group role-member requests + + + Money transaction types + - - Dictionary keeping group members while request is in progress + + - - Dictionary keeping mebmer/role mapping while request is in progress + + - - Dictionary keeping GroupRole information while request is in progress + + - - Caches group name lookups + + - - Raised when the simulator sends us data containing - our current group membership + + - - Raised when the simulator responds to a RequestGroupName - or RequestGroupNames request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when a response to a RequestGroupAccountSummary is returned - by the simulator + + - - Raised when a request to create a group is successful + + - - Raised when a request to join a group either - fails or succeeds + + - - Raised when a request to leave a group either - fails or succeeds + + - - Raised when A group is removed from the group server + + - - Raised when a request to eject a member from a group either - fails or succeeds + + - - Raised when the simulator sends us group notices - + + - - Raised when another agent invites our avatar to join a group + + - - Raises the CurrentGroups event - A CurrentGroupsEventArgs object containing the - data sent from the simulator + + - - Raises the GroupNamesReply event - A GroupNamesEventArgs object containing the - data response from the simulator + + - - Raises the GroupProfile event - An GroupProfileEventArgs object containing the - data returned from the simulator + + - - Raises the GroupMembers event - A GroupMembersEventArgs object containing the - data returned from the simulator + + - - Raises the GroupRolesDataReply event - A GroupRolesDataReplyEventArgs object containing the - data returned from the simulator + + - - Raises the GroupRoleMembersReply event - A GroupRolesRoleMembersReplyEventArgs object containing the - data returned from the simulator + + - - Raises the GroupTitlesReply event - A GroupTitlesReplyEventArgs object containing the - data returned from the simulator + + - - Raises the GroupAccountSummary event - A GroupAccountSummaryReplyEventArgs object containing the - data returned from the simulator + + - - Raises the GroupCreated event - An GroupCreatedEventArgs object containing the - data returned from the simulator + + - - Raises the GroupJoined event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator + + - - Raises the GroupLeft event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator + + - - Raises the GroupDropped event - An GroupDroppedEventArgs object containing the - the group your agent left + + - - Raises the GroupMemberEjected event - An GroupMemberEjectedEventArgs object containing the - data returned from the simulator + + - - Raises the GroupNoticesListReply event - An GroupNoticesListReplyEventArgs object containing the - data returned from the simulator + + - - Raises the GroupInvitation event - An GroupInvitationEventArgs object containing the - data returned from the simulator + + - - - Request a current list of groups the avatar is a member of. - - CAPS Event Queue must be running for this to work since the results - come across CAPS. + + - - - Lookup name of group based on groupID - - groupID of group to lookup name for. + + - - - Request lookup of multiple group names - - List of group IDs to request. + + - - Lookup group profile data such as name, enrollment, founder, logo, etc - Subscribe to OnGroupProfile event to receive the results. - group ID (UUID) + + - - Request a list of group members. - Subscribe to OnGroupMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + - - Request group roles - Subscribe to OnGroupRoles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + - - Request members (members,role) role mapping for a group. - Subscribe to OnGroupRolesMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + - - Request a groups Titles - Subscribe to OnGroupTitles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + - - Begin to get the group account summary - Subscribe to the OnGroupAccountSummary event to receive the results. - group ID (UUID) - How long of an interval - Which interval (0 for current, 1 for last) + + - - Invites a user to a group - The group to invite to - A list of roles to invite a person to - Key of person to invite + + - - Set a group as the current active group - group ID (UUID) + + - - Change the role that determines your active title - Group ID to use - Role ID to change to + + - - Set this avatar's tier contribution - Group ID to change tier in - amount of tier to donate + + - - - Save wheather agent wants to accept group notices and list this group in their profile - - Group - Accept notices from this group - List this group in the profile + + - - Request to join a group - Subscribe to OnGroupJoined event for confirmation. - group ID (UUID) to join. + + - + + + + - Request to create a new group. If the group is successfully - created, L$100 will automatically be deducted + - Subscribe to OnGroupCreated event to receive confirmation. - Group struct containing the new group info - - Update a group's profile and other information - Groups ID (UUID) to update. - Group struct to update. + + - - Eject a user from a group - Group ID to eject the user from - Avatar's key to eject + + - - Update role information - Modified role to be updated + + - - Create a new group role - Group ID to update - Role to create + + - - Delete a group role - Group ID to update - Role to delete + + - - Remove an avatar from a role - Group ID to update - Role ID to be removed from - Avatar's Key to remove + + - - Assign an avatar to a role - Group ID to update - Role ID to assign to - Avatar's ID to assign to role + + + + - - Request the group notices list - Group ID to fetch notices for + + - - Request a group notice by key - ID of group notice + + - - Send out a group notice - Group ID to update - - GroupNotice structure containing notice data + + - - Start a group proposal (vote) - The Group ID to send proposal to - - GroupProposal structure containing the proposal + + - - Request to leave a group - Subscribe to OnGroupLeft event to receive confirmation - The group to leave + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Flags sent when a script takes or releases a control + + NOTE: (need to verify) These might be a subset of the ControlFlags enum in Movement, - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + No Flags set - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Forward (W or up Arrow) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Back (S or down arrow) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Move left (shift+A or left arrow) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Move right (shift+D or right arrow) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Up (E or PgUp) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Down (C or PgDown) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Rotate left (A or left arrow) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Rotate right (D or right arrow) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Left Mouse Button - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Left Mouse button in MouseLook - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Currently only used to hide your group title + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + No flags set - - Contains the current groups your agent is a member of + + Hide your group title - - Construct a new instance of the CurrentGroupsEventArgs class - The current groups your agent is a member of - - - Get the current groups your agent is a member of - - - A Dictionary of group names, where the Key is the groups ID and the value is the groups name - - - Construct a new instance of the GroupNamesEventArgs class - The Group names dictionary - - - Get the Group Names dictionary - - - Represents the members of a group - - + - Construct a new instance of the GroupMembersReplyEventArgs class + Action state of the avatar, which can currently be typing and + editing - The ID of the request - The ID of the group - The membership list of the group - - - Get the ID as returned by the request to correlate - this result set and the request - - Get the ID of the group + + - - Get the dictionary of members + + - - Represents the roles associated with a group + + - - Construct a new instance of the GroupRolesDataReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The dictionary containing the roles + + + Current teleport status + - - Get the ID as returned by the request to correlate - this result set and the request + + Unknown status - - Get the ID of the group + + Teleport initialized - - Get the dictionary containing the roles + + Teleport in progress - - Represents the Role to Member mappings for a group + + Teleport failed - - Construct a new instance of the GroupRolesMembersReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The member to roles map + + Teleport completed - - Get the ID as returned by the request to correlate - this result set and the request + + Teleport cancelled - - Get the ID of the group + + + + - - Get the member to roles map + + No flags set, or teleport failed - - Represents the titles for a group + + Set when newbie leaves help island for first time - - Construct a new instance of the GroupTitlesReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The titles + + - - Get the ID as returned by the request to correlate - this result set and the request + + Via Lure - - Get the ID of the group + + Via Landmark - - Get the titles + + Via Location - - Represents the summary data for a group + + Via Home - - Construct a new instance of the GroupAccountSummaryReplyEventArgs class - The ID of the group - The summary data + + Via Telehub - - Get the ID of the group + + Via Login - - Get the summary data + + Linden Summoned - - A response to a group create request + + Linden Forced me - - Construct a new instance of the GroupCreatedReplyEventArgs class - The ID of the group - the success or faulure of the request - A string containing additional information + + - - Get the ID of the group + + Agent Teleported Home via Script - - true of the group was created successfully + + - - A string containing the message + + - - Represents a response to a request + + - - Construct a new instance of the GroupOperationEventArgs class - The ID of the group - true of the request was successful + + forced to new location for example when avatar is banned or ejected - - Get the ID of the group + + Teleport Finished via a Lure - - true of the request was successful + + Finished, Sim Changed - - Represents your agent leaving a group + + Finished, Same Sim - - Construct a new instance of the GroupDroppedEventArgs class - The ID of the group + + + + - - Get the ID of the group + + - - Represents a list of active group notices + + - - Construct a new instance of the GroupNoticesListReplyEventArgs class - The ID of the group - The list containing active notices + + - - Get the ID of the group + + + + - - Get the notices list + + - - Represents the profile of a group + + - - Construct a new instance of the GroupProfileEventArgs class - The group profile + + - - Get the group profile + + - + - Provides notification of a group invitation request sent by another Avatar + Instant Message - The invitation is raised when another avatar makes an offer for our avatar - to join a group. - - The ID of the Avatar sending the group invitation + + Key of sender - - The name of the Avatar sending the group invitation + + Name of sender - - A message containing the request information which includes - the name of the group, the groups charter and the fee to join details + + Key of destination avatar - - The Simulator + + ID of originating estate - - Set to true to accept invitation, false to decline + + Key of originating region - - - Static helper functions and global variables - + + Coordinates in originating region - - - Passed to Logger.Log() to identify the severity of a log entry - + + Instant message type - - No logging information will be output + + Group IM session toggle - - Non-noisy useful information, may be helpful in - debugging a problem + + Key of IM session, for Group Messages, the groups UUID - - A non-critical error occurred. A warning will not - prevent the rest of the library from operating as usual, - although it may be indicative of an underlying issue + + Timestamp of the instant message - - A critical error has occurred. Generally this will - be followed by the network layer shutting down, although the - stability of the library after an error is uncertain + + Instant message text - - Used for internal testing, this logging level can - generate very noisy (long and/or repetitive) messages. Don't - pass this to the Log() function, use DebugLog() instead. + + Whether this message is held for offline avatars + + + Context specific packed data + + + Print the struct data as a string + A string containing the field name, and field value + + + + Manager class for our own avatar - - This header flag signals that ACKs are appended to the packet + + The event subscribers. null if no subcribers - - This header flag signals that this packet has been sent before + + Raises the ChatFromSimulator event + A ChatEventArgs object containing the + data returned from the data server - - This header flags signals that an ACK is expected for this packet + + Thread sync lock object - - This header flag signals that the message is compressed using zerocoding + + The event subscribers. null if no subcribers - - - - - - - + + Raises the ScriptDialog event + A SctriptDialogEventArgs object containing the + data returned from the data server - - - - - - - - - + + Thread sync lock object - - - - - - - + + The event subscribers. null if no subcribers - - - - - - - - - + + Raises the ScriptQuestion event + A ScriptQuestionEventArgs object containing the + data returned from the data server - - - Given an X/Y location in absolute (grid-relative) terms, a region - handle is returned along with the local X/Y location in that region - - The absolute X location, a number such as - 255360.35 - The absolute Y location, a number such as - 255360.35 - The sim-local X position of the global X - position, a value from 0.0 to 256.0 - The sim-local Y position of the global Y - position, a value from 0.0 to 256.0 - A 64-bit region handle that can be used to teleport to + + Thread sync lock object - - - Converts a floating point number to a terse string format used for - transmitting numbers in wearable asset files - - Floating point number to convert to a string - A terse string representation of the input number + + The event subscribers. null if no subcribers - - - Convert a variable length field (byte array) to a string, with a - field name prepended to each line of the output - - If the byte array has unprintable characters in it, a - hex dump will be written instead - The StringBuilder object to write to - The byte array to convert to a string - A field name to prepend to each line of output + + Raises the LoadURL event + A LoadUrlEventArgs object containing the + data returned from the data server - - - Decode a zerocoded byte array, used to decompress packets marked - with the zerocoded flag - - Any time a zero is encountered, the next byte is a count - of how many zeroes to expand. One zero is encoded with 0x00 0x01, - two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The - first four bytes are copied directly to the output buffer. - - The byte array to decode - The length of the byte array to decode. This - would be the length of the packet up to (but not including) any - appended ACKs - The output byte array to decode to - The length of the output buffer + + Thread sync lock object - - - Encode a byte array with zerocoding. Used to compress packets marked - with the zerocoded flag. Any zeroes in the array are compressed down - to a single zero byte followed by a count of how many zeroes to expand - out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, - three zeroes becomes 0x00 0x03, etc. The first four bytes are copied - directly to the output buffer. - - The byte array to encode - The length of the byte array to encode - The output byte array to encode to - The length of the output buffer + + The event subscribers. null if no subcribers - - - Calculates the CRC (cyclic redundancy check) needed to upload inventory. - - Creation date - Sale type - Inventory type - Type - Asset ID - Group ID - Sale price - Owner ID - Creator ID - Item ID - Folder ID - Everyone mask (permissions) - Flags - Next owner mask (permissions) - Group mask (permissions) - Owner mask (permissions) - The calculated CRC + + Raises the MoneyBalance event + A BalanceEventArgs object containing the + data returned from the data server - - - Attempts to load a file embedded in the assembly - - The filename of the resource to load - A Stream for the requested file, or null if the resource - was not successfully loaded + + Thread sync lock object - - - Attempts to load a file either embedded in the assembly or found in - a given search path - - The filename of the resource to load - An optional path that will be searched if - the asset is not found embedded in the assembly - A Stream for the requested file, or null if the resource - was not successfully loaded + + The event subscribers. null if no subcribers - - - Converts a list of primitives to an object that can be serialized - with the LLSD system - - Primitives to convert to a serializable object - An object that can be serialized with LLSD + + Raises the MoneyBalanceReply event + A MoneyBalanceReplyEventArgs object containing the + data returned from the data server - - - Deserializes OSD in to a list of primitives - - Structure holding the serialized primitive list, - must be of the SDMap type - A list of deserialized primitives + + Thread sync lock object - - - Converts a struct or class object containing fields only into a key value separated string - - The struct object - A string containing the struct fields as the keys, and the field value as the value separated - - - // Add the following code to any struct or class containing only fields to override the ToString() - // method to display the values of the passed object - /// Print the struct data as a string - ///A string containing the field name, and field value - public override string ToString() - { - return Helpers.StructToString(this); - } - - + + The event subscribers. null if no subcribers - - - The InternalDictionary class is used through the library for storing key/value pairs. - It is intended to be a replacement for the generic Dictionary class and should - be used in its place. It contains several methods for allowing access to the data from - outside the library that are read only and thread safe. - - Key - Value + + Raises the IM event + A InstantMessageEventArgs object containing the + data returned from the data server - - - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. - - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); - - + + Thread sync lock object - - - Initializes a new instance of the Class - with the specified key/value, has its initial valies copied from the specified - - - - to copy initial values from - - - // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. - // populates with copied values from example KeyNameCache Dictionary. - // create source dictionary - Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); - KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); - KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); - // Initialize new dictionary. - public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); - - + + The event subscribers. null if no subcribers - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); - - + + Raises the TeleportProgress event + A TeleportEventArgs object containing the + data returned from the data server - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking - on this member + + Thread sync lock object - - - Indexer for the dictionary - - The key - The value + + The event subscribers. null if no subcribers - - - Gets the number of Key/Value pairs contained in the + + Raises the AgentDataReply event + A AgentDataReplyEventArgs object containing the + data returned from the data server - - - Try to get entry from with specified key - - Key to use for lookup - Value returned - - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - + + Thread sync lock object - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - + + The event subscribers. null if no subcribers - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - + + Raises the AnimationsChanged event + A AnimationsChangedEventArgs object containing the + data returned from the data server - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - + + Thread sync lock object - - Perform an on each entry in an - - to perform - - - // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. - Client.Network.CurrentSim.ObjectsPrimitives.ForEach( - delegate(Primitive prim) - { - if (prim.Text != null) - { - Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", - prim.PropertiesFamily.Name, prim.ID, prim.Text); - } - }); - - + + The event subscribers. null if no subcribers - - Perform an on each key of an - - to perform + + Raises the MeanCollision event + A MeanCollisionEventArgs object containing the + data returned from the data server - - - Perform an on each KeyValuePair of an - - to perform + + Thread sync lock object - - Check if Key exists in Dictionary - Key to check for - - if found, otherwise + + The event subscribers. null if no subcribers - - Check if Value exists in Dictionary - Value to check for - - if found, otherwise + + Raises the RegionCrossed event + A RegionCrossedEventArgs object containing the + data returned from the data server - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - The key - The value + + Thread sync lock object - - - Removes the specified key, dictionary locking is not performed - - The key. - - if successful, otherwise + + The event subscribers. null if no subcribers + + + Raises the GroupChatJoined event + A GroupChatJoinedEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the AlertMessage event + A AlertMessageEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ScriptControlChange event + A ScriptControlEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the CameraConstraint event + A CameraConstraintEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ScriptSensorReply event + A ScriptSensorReplyEventArgs object containing the + data returned from the data server - - - Exception class to identify inventory exceptions - + + Thread sync lock object - - - Responsible for maintaining inventory structure. Inventory constructs nodes - and manages node children as is necessary to maintain a coherant hirarchy. - Other classes should not manipulate or create InventoryNodes explicitly. When - A node's parent changes (when a folder is moved, for example) simply pass - Inventory the updated InventoryFolder and it will make the appropriate changes - to its internal representation. - + + The event subscribers. null if no subcribers - - The event subscribers, null of no subscribers + + Raises the AvatarSitResponse event + A AvatarSitResponseEventArgs object containing the + data returned from the data server - + Thread sync lock object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - + + Raises the ChatSessionMemberAdded event + A ChatSessionMemberAddedEventArgs object containing the + data returned from the data server + + Thread sync lock object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - - Thread sync lock object + + Raises the ChatSessionMemberLeft event + A ChatSessionMemberLeftEventArgs object containing the + data returned from the data server - - Raised when the simulator sends us data containing - ... + + Thread sync lock object - - Raised when the simulator sends us data containing - ... + + Reference to the GridClient instance - - Raised when the simulator sends us data containing - ... + + Used for movement and camera tracking - - - By using the bracket operator on this class, the program can get the - InventoryObject designated by the specified uuid. If the value for the corresponding - UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). - If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), - the uuid parameter is ignored. - - The UUID of the InventoryObject to get or set, ignored if set to non-null value. - The InventoryObject corresponding to uuid. + + Currently playing animations for the agent. Can be used to + check the current movement status such as walking, hovering, aiming, + etc. by checking against system animations found in the Animations class - - - The root folder of this avatars inventory - + + Dictionary containing current Group Chat sessions and members - + - The default shared library folder + Constructor, setup callbacks for packets related to our avatar + A reference to the Class - + - The root node of the avatars inventory + Send a text message from the Agent to the Simulator + A containing the message + The channel to send the message on, 0 is the public channel. Channels above 0 + can be used however only scripts listening on the specified channel will see the message + Denotes the type of message being sent, shout, whisper, etc. - + - The root node of the default shared library + Request any instant messages sent while the client was offline to be resent. - - Raises the InventoryObjectUpdated Event - A InventoryObjectUpdatedEventArgs object containing - the data sent from the simulator - - - Raises the InventoryObjectRemoved Event - A InventoryObjectRemovedEventArgs object containing - the data sent from the simulator - - - Raises the InventoryObjectAdded Event - A InventoryObjectAddedEventArgs object containing - the data sent from the simulator - - + - Returns the contents of the specified folder + Send an Instant Message to another Avatar - A folder's UUID - The contents of the folder corresponding to folder - When folder does not exist in the inventory + The recipients + A containing the message to send - + - Updates the state of the InventoryNode and inventory data structure that - is responsible for the InventoryObject. If the item was previously not added to inventory, - it adds the item, and updates structure accordingly. If it was, it updates the - InventoryNode, changing the parent node if item.parentUUID does - not match node.Parent.Data.UUID. - You can not set the inventory root folder using this method + Send an Instant Message to an existing group chat or conference chat - The InventoryObject to store + The recipients + A containing the message to send + IM session ID (to differentiate between IM windows) - + - Removes the InventoryObject and all related node data from Inventory. + Send an Instant Message - The InventoryObject to remove. + The name this IM will show up as being from + Key of Avatar + Text message being sent + IM session ID (to differentiate between IM windows) + IDs of sessions for a conference - + - Used to find out if Inventory contains the InventoryObject - specified by uuid. + Send an Instant Message - The UUID to check. - true if inventory contains uuid, false otherwise + The name this IM will show up as being from + Key of Avatar + Text message being sent + IM session ID (to differentiate between IM windows) + Type of instant message to send + Whether to IM offline avatars as well + Senders Position + RegionID Sender is In + Packed binary data that is specific to + the dialog type - + - Saves the current inventory structure to a cache file + Send an Instant Message to a group - Name of the cache file to save to + of the group to send message to + Text Message being sent. - + - Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + Send an Instant Message to a group the agent is a member of - Name of the cache file to load - The number of inventory items sucessfully reconstructed into the inventory node tree - - - Sort by name - - - Sort by date - - - Sort folders by name, regardless of whether items are - sorted by name or date - - - Place system folders at the top + The name this IM will show up as being from + of the group to send message to + Text message being sent - + - Possible destinations for DeRezObject request + Send a request to join a group chat session + of Group to leave - + + Exit a group chat session. This will stop further Group chat messages + from being sent until session is rejoined. + of Group chat session to leave - - Copy from in-world to agent inventory - - - Derez to TaskInventory - - + + Reply to script dialog questions. + Channel initial request came on + Index of button you're "clicking" + Label of button you're "clicking" + of Object that sent the dialog request + - - Take Object - - + + Accept invite for to a chatterbox session + of session to accept invite to - - Delete Object - - - Put an avatar attachment into agent inventory - - + + Start a friends conference + List of UUIDs to start a conference with + the temportary session ID returned in the callback> - - Return an object back to the owner's inventory - - - Return a deeded object back to the last owner's inventory - - + - Upper half of the Flags field for inventory items + Start a particle stream between an agent and an object + Key of the source agent + Key of the target object + + The type from the enum + A unique for this effect - - Indicates that the NextOwner permission will be set to the - most restrictive set of permissions found in the object set - (including linkset items and object inventory items) on next rez - - - Indicates that the object sale information has been - changed - - - If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez - - - Indicates whether this object is composed of multiple - items or not - - - Indicates that the asset is only referenced by this - inventory item. If this item is deleted or updated to reference a - new assetID, the asset can be deleted - - + - Base Class for Inventory Items + Start a particle stream between an agent and an object + Key of the source agent + Key of the target object + A representing the beams offset from the source + A which sets the avatars lookat animation + of the Effect - + - Constructor, takes an itemID as a parameter + Create a particle beam between an avatar and an primitive - The of the item + The ID of source avatar + The ID of the target primitive + global offset + A object containing the combined red, green, blue and alpha + color values of particle beam + a float representing the duration the parcicle beam will last + A Unique ID for the beam + - + + Create a particle swirl around a target position using a packet - - + global offset + A object containing the combined red, green, blue and alpha + color values of particle beam + a float representing the duration the parcicle beam will last + A Unique ID for the beam - + - of item/folder + Sends a request to sit on the specified object + + of the object to sit on + Sit at offset - + - of parent folder - - - Name of item/folder + Follows a call to to actually sit on the object + - - Item/Folder Owners + + Stands up from sitting on a prim or the ground + true of AgentUpdate was sent - + + Does a "ground sit" at the avatar's current position - - - + - Generates a number corresponding to the value of the object to support the use of a hash table, - suitable for use in hashing algorithms and data structures such as a hash table + Starts or stops flying - A Hashcode of all the combined InventoryBase fields + True to start flying, false to stop flying - + - Determine whether the specified object is equal to the current object + Starts or stops crouching - InventoryBase object to compare against - true if objects are the same + True to start crouching, false to stop crouching - + - Determine whether the specified object is equal to the current object + Starts a jump (begin holding the jump key) - InventoryBase object to compare against - true if objects are the same - + - An Item in Inventory + Use the autopilot sim function to move the avatar to a new + position. Uses double precision to get precise movements + The z value is currently not handled properly by the simulator + Global X coordinate to move to + Global Y coordinate to move to + Z coordinate to move to - + - Construct a new InventoryItem object + Use the autopilot sim function to move the avatar to a new position - The of the item + The z value is currently not handled properly by the simulator + Integer value for the global X coordinate to move to + Integer value for the global Y coordinate to move to + Floating-point value for the Z coordinate to move to - + - Construct a new InventoryItem object of a specific Type + Use the autopilot sim function to move the avatar to a new position - The type of item from - - of the item + The z value is currently not handled properly by the simulator + Integer value for the local X coordinate to move to + Integer value for the local Y coordinate to move to + Floating-point value for the Z coordinate to move to - + + Macro to cancel autopilot sim function + Not certain if this is how it is really done + true if control flags were set and AgentUpdate was sent to the simulator + + + Grabs an object - - - - - The of this item - - - The combined of this item - - - The type of item from - - - The type of item from the enum - - - The of the creator of this item - - - A Description of this item - - - The s this item is set to or owned by - - - If true, item is owned by a group - - - The price this item can be purchased for - - - The type of sale from the enum - - - Combined flags from - - - Time and date this inventory item was created, stored as - UTC (Coordinated Universal Time) + an unsigned integer of the objects ID within the simulator + - - Used to update the AssetID in requests sent to the server + + + Overload: Grab a simulated object + + an unsigned integer of the objects ID within the simulator + + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - - The of the previous owner of the item + + + Drag an object + + of the object to drag + Drag target in region coordinates - + - Indicates inventory item is a link + Overload: Drag an object - True if inventory item is a link to another inventory item + of the object to drag + Drag target in region coordinates + + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - + + Release a grabbed object - - + The Objects Simulator Local ID + + + - + - Generates a number corresponding to the value of the object to support the use of a hash table. - Suitable for use in hashing algorithms and data structures such as a hash table + Release a grabbed object - A Hashcode of all the combined InventoryItem fields + The Objects Simulator Local ID + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - + - Compares an object + Touches an object - The object to compare - true if comparison object matches + an unsigned integer of the objects ID within the simulator + - + - Determine whether the specified object is equal to the current object + Request the current L$ balance - The object to compare against - true if objects are the same - + - Determine whether the specified object is equal to the current object + Give Money to destination Avatar - The object to compare against - true if objects are the same + UUID of the Target Avatar + Amount in L$ - + - InventoryTexture Class representing a graphical image + Give Money to destination Avatar - + UUID of the Target Avatar + Amount in L$ + Description that will show up in the + recipients transaction history - + - Construct an InventoryTexture object + Give L$ to an object - A which becomes the - objects AssetUUID + object to give money to + amount of L$ to give + name of object - + - Construct an InventoryTexture object from a serialization stream + Give L$ to a group + group to give money to + amount of L$ to give - + - InventorySound Class representing a playable sound + Give L$ to a group + group to give money to + amount of L$ to give + description of transaction - + - Construct an InventorySound object + Pay texture/animation upload fee - A which becomes the - objects AssetUUID - + - Construct an InventorySound object from a serialization stream + Pay texture/animation upload fee + description of the transaction - + - InventoryCallingCard Class, contains information on another avatar + Give Money to destination Object or Avatar + UUID of the Target Object/Avatar + Amount in L$ + Reason (Optional normally) + The type of transaction + Transaction flags, mostly for identifying group + transactions - + - Construct an InventoryCallingCard object + Plays a gesture - A which becomes the - objects AssetUUID + Asset of the gesture - + - Construct an InventoryCallingCard object from a serialization stream + Mark gesture active + Inventory of the gesture + Asset of the gesture - + - InventoryLandmark Class, contains details on a specific location + Mark gesture inactive + Inventory of the gesture - + - Construct an InventoryLandmark object + Send an AgentAnimation packet that toggles a single animation on - A which becomes the - objects AssetUUID + The of the animation to start playing + Whether to ensure delivery of this packet or not - + - Construct an InventoryLandmark object from a serialization stream + Send an AgentAnimation packet that toggles a single animation off + The of a + currently playing animation to stop playing + Whether to ensure delivery of this packet or not - + - Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited + Send an AgentAnimation packet that will toggle animations on or off + A list of animation s, and whether to + turn that animation on or off + Whether to ensure delivery of this packet or not - + - InventoryObject Class contains details on a primitive or coalesced set of primitives + Teleports agent to their stored home location + true on successful teleport to home location - + - Construct an InventoryObject object + Teleport agent to a landmark - A which becomes the - objects AssetUUID + of the landmark to teleport agent to + true on success, false on failure - + - Construct an InventoryObject object from a serialization stream + Attempt to look up a simulator name and teleport to the discovered + destination + Region name to look up + Position to teleport to + True if the lookup and teleport were successful, otherwise + false - + - Gets or sets the upper byte of the Flags value + Attempt to look up a simulator name and teleport to the discovered + destination + Region name to look up + Position to teleport to + Target to look at + True if the lookup and teleport were successful, otherwise + false - + - Gets or sets the object attachment point, the lower byte of the Flags value + Teleport agent to another region + handle of region to teleport agent to + position in destination sim to teleport to + true on success, false on failure + This call is blocking - + - InventoryNotecard Class, contains details on an encoded text document + Teleport agent to another region + handle of region to teleport agent to + position in destination sim to teleport to + direction in destination sim agent will look at + true on success, false on failure + This call is blocking - + - Construct an InventoryNotecard object + Request teleport to a another simulator - A which becomes the - objects AssetUUID + handle of region to teleport agent to + position in destination sim to teleport to - + - Construct an InventoryNotecard object from a serialization stream + Request teleport to a another simulator + handle of region to teleport agent to + position in destination sim to teleport to + direction in destination sim agent will look at - + - InventoryCategory Class + Teleport agent to a landmark - TODO: Is this even used for anything? + of the landmark to teleport agent to - + - Construct an InventoryCategory object + Send a teleport lure to another avatar with default "Join me in ..." invitation message - A which becomes the - objects AssetUUID + target avatars to lure - + - Construct an InventoryCategory object from a serialization stream + Send a teleport lure to another avatar with custom invitation message + target avatars to lure + custom message to send with invitation - + - InventoryLSL Class, represents a Linden Scripting Language object + Respond to a teleport lure by either accepting it and initiating + the teleport, or denying it + of the avatar sending the lure + true to accept the lure, false to decline it - + - Construct an InventoryLSL object + Update agent profile - A which becomes the - objects AssetUUID + struct containing updated + profile information - + - Construct an InventoryLSL object from a serialization stream + Update agents profile interests + selection of interests from struct - + - InventorySnapshot Class, an image taken with the viewer + Set the height and the width of the client window. This is used + by the server to build a virtual camera frustum for our avatar + New height of the viewer window + New width of the viewer window - + - Construct an InventorySnapshot object + Request the list of muted objects and avatars for this agent - A which becomes the - objects AssetUUID - + - Construct an InventorySnapshot object from a serialization stream + Sets home location to agents current position + will fire an AlertMessage () with + success or failure message - + - InventoryAttachment Class, contains details on an attachable object + Move an agent in to a simulator. This packet is the last packet + needed to complete the transition in to a new simulator + Object - + - Construct an InventoryAttachment object + Reply to script permissions request - A which becomes the - objects AssetUUID + Object + of the itemID requesting permissions + of the taskID requesting permissions + list of permissions to allow - + - Construct an InventoryAttachment object from a serialization stream + Respond to a group invitation by either accepting or denying it + UUID of the group (sent in the AgentID field of the invite message) + IM Session ID from the group invitation message + Accept the group invitation or deny it - + - Get the last AttachmentPoint this object was attached to + Requests script detection of objects and avatars + name of the object/avatar to search for + UUID of the object or avatar to search for + Type of search from ScriptSensorTypeFlags + range of scan (96 max?) + the arc in radians to search within + an user generated ID to correlate replies with + Simulator to perform search in - + - InventoryWearable Class, details on a clothing item or body part + Create or update profile pick + UUID of the pick to update, or random UUID to create a new pick + Is this a top pick? (typically false) + UUID of the parcel (UUID.Zero for the current parcel) + Name of the pick + Global position of the pick landmark + UUID of the image displayed with the pick + Long description of the pick - + - Construct an InventoryWearable object + Delete profile pick - A which becomes the - objects AssetUUID + UUID of the pick to delete - + - Construct an InventoryWearable object from a serialization stream + Create or update profile Classified + UUID of the classified to update, or random UUID to create a new classified + Defines what catagory the classified is in + UUID of the image displayed with the classified + Price that the classified will cost to place for a week + Global position of the classified landmark + Name of the classified + Long description of the classified + if true, auto renew classified after expiration - + - The , Skin, Shape, Skirt, Etc + Create or update profile Classified + UUID of the classified to update, or random UUID to create a new classified + Defines what catagory the classified is in + UUID of the image displayed with the classified + Price that the classified will cost to place for a week + Name of the classified + Long description of the classified + if true, auto renew classified after expiration - + - InventoryAnimation Class, A bvh encoded object which animates an avatar + Delete a classified ad + The classified ads ID - + - Construct an InventoryAnimation object + Fetches resource usage by agents attachmetns - A which becomes the - objects AssetUUID + Called when the requested information is collected - + - Construct an InventoryAnimation object from a serialization stream + Take an incoming ImprovedInstantMessage packet, auto-parse, and if + OnInstantMessage is defined call that with the appropriate arguments + The sender + The EventArgs object containing the packet data - + - InventoryGesture Class, details on a series of animations, sounds, and actions + Take an incoming Chat packet, auto-parse, and if OnChat is defined call + that with the appropriate arguments. + The sender + The EventArgs object containing the packet data - + - Construct an InventoryGesture object + Used for parsing llDialogs - A which becomes the - objects AssetUUID + The sender + The EventArgs object containing the packet data - + - Construct an InventoryGesture object from a serialization stream + Used for parsing llRequestPermissions dialogs + The sender + The EventArgs object containing the packet data - + - A folder contains s and has certain attributes specific - to itself + Handles Script Control changes when Script with permissions releases or takes a control + The sender + The EventArgs object containing the packet data - + - Constructor + Used for parsing llLoadURL Dialogs - UUID of the folder + The sender + The EventArgs object containing the packet data - + - Construct an InventoryFolder object from a serialization stream + Update client's Position, LookAt and region handle from incoming packet + The sender + The EventArgs object containing the packet data + This occurs when after an avatar moves into a new sim - - The Preferred for a folder. - - - The Version of this folder + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Number of child items this folder contains. + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Get Serilization data for this InventoryFolder object + Process TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why. + The Message Key + An IMessage object Deserialized from the recieved message event + The simulator originating the event message - + + Process TeleportFinish from Event Queue and pass it onto our TeleportHandler - - + The message system key for this event + IMessage object containing decoded data from OSD + The simulator originating the event message - - - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Tools for dealing with agents inventory + Crossed region handler for message that comes across the EventQueue. Sent to an agent + when the agent crosses a sim border into a new region. + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - - Default constructor - - Reference to the GridClient object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + This packet is now being sent via the EventQueue - + - Callback for inventory item creation finishing + Group Chat event handler - Whether the request to create an inventory - item succeeded or not - Inventory item being created. If success is - false this will be null + The capability Key + IMessage object containing decoded data from OSD + - + - Callback for an inventory item being create from an uploaded asset + Response from request to join a group chat - true if inventory item creation was successful - - - - - - + + IMessage object containing decoded data from OSD + - + + Someone joined or left group chat - - + + IMessage object containing decoded data from OSD + - + - Reply received when uploading an inventory asset + Handle a group chat Invitation - Has upload been successful - Error message if upload failed - Inventory asset UUID - New asset UUID + Caps Key + IMessage object containing decoded data from OSD + Originating Simulator - + - Delegate that is invoked when script upload is completed + Moderate a chat session - Has upload succeded (note, there still might be compile errors) - Upload status message - Is compilation successful - If compilation failed, list of error messages, null on compilation success - Script inventory UUID - Script's new asset UUID - - - Used for converting shadow_id to asset_id - - - The event subscribers, null of no subscribers - - - Thread sync lock object + the of the session to moderate, for group chats this will be the groups UUID + the of the avatar to moderate + Either "voice" to moderate users voice, or "text" to moderate users text session + true to moderate (silence user), false to allow avatar to speak - - The event subscribers, null of no subscribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers, null of no subscribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers, null of no subscribers + + Raised when a scripted object or agent within range sends a public message - - Thread sync lock object + + Raised when a scripted object sends a dialog box containing possible + options an agent can respond to - - The event subscribers, null of no subscribers + + Raised when an object requests a change in the permissions an agent has permitted - - Thread sync lock object + + Raised when a script requests an agent open the specified URL - - The event subscribers, null of no subscribers + + Raised when an agents currency balance is updated - - Thread sync lock object + + Raised when a transaction occurs involving currency such as a land purchase - - The event subscribers, null of no subscribers + + Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from + private messaging to friendship offers. The Dialog field defines what type of message has arrived - - Thread sync lock object + + Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times + for each teleport indicating the progress of the request - - The event subscribers, null of no subscribers + + Raised when a simulator sends agent specific information for our avatar. - - Thread sync lock object + + Raised when our agents animation playlist changes - - Partial mapping of AssetTypes to folder names + + Raised when an object or avatar forcefully collides with our agent - - Raised when the simulator sends us data containing - ... + + Raised when our agent crosses a region border into another region - - Raised when the simulator sends us data containing - ... + + Raised when our agent succeeds or fails to join a group chat session - - Raised when the simulator sends us data containing - an inventory object sent by another avatar or primitive + + Raised when a simulator sends an urgent message usually indication the recent failure of + another action we have attempted to take such as an attempt to enter a parcel where we are denied access - - Raised when the simulator sends us data containing - ... + + Raised when a script attempts to take or release specified controls for our agent - - Raised when the simulator sends us data containing - ... + + Raised when the simulator detects our agent is trying to view something + beyond its limits - - Raised when the simulator sends us data containing - ... + + Raised when a script sensor reply is received from a simulator - - Raised when the simulator sends us data containing - ... + + Raised in response to a request - - Raised when the simulator sends us data containing - ... + + Raised when an avatar enters a group chat session we are participating in - - - Get this agents Inventory data - + + Raised when an agent exits a group chat session we are participating in - - Raises the ItemReceived Event - A ItemReceivedEventArgs object containing - the data sent from the simulator + + Your (client) avatars + "client", "agent", and "avatar" all represent the same thing - - Raises the FolderUpdated Event - A FolderUpdatedEventArgs object containing - the data sent from the simulator + + Temporary assigned to this session, used for + verifying our identity in packets - - Raises the InventoryObjectOffered Event - A InventoryObjectOfferedEventArgs object containing - the data sent from the simulator + + Shared secret that is never sent over the wire - - Raises the TaskItemReceived Event - A TaskItemReceivedEventArgs object containing - the data sent from the simulator + + Your (client) avatar ID, local to the current region/sim - - Raises the FindObjectByPath Event - A FindObjectByPathEventArgs object containing - the data sent from the simulator + + Where the avatar started at login. Can be "last", "home" + or a login - - Raises the TaskInventoryReply Event - A TaskInventoryReplyEventArgs object containing - the data sent from the simulator + + The access level of this agent, usually M or PG - - Raises the SaveAssetToInventory Event - A SaveAssetToInventoryEventArgs object containing - the data sent from the simulator + + The CollisionPlane of Agent - - Raises the ScriptRunningReply Event - A ScriptRunningReplyEventArgs object containing - the data sent from the simulator + + An representing the velocity of our agent - - - Fetch an inventory item from the dataserver - - The items - The item Owners - a integer representing the number of milliseconds to wait for results - An object on success, or null if no item was found - Items will also be sent to the event + + An representing the acceleration of our agent - - - Request A single inventory item - - The items - The item Owners - + + A which specifies the angular speed, and axis about which an Avatar is rotating. - - - Request inventory items - - Inventory items to request - Owners of the inventory items - + + Position avatar client will goto when login to 'home' or during + teleport request to 'home' region. - - - Get contents of a folder - - The of the folder to search - The of the folders owner - true to retrieve folders - true to retrieve items - sort order to return results in - a integer representing the number of milliseconds to wait for results - A list of inventory items matching search criteria within folder - - InventoryFolder.DescendentCount will only be accurate if both folders and items are - requested + + LookAt point saved/restored with HomePosition - - - Request the contents of an inventory folder - - The folder to search - The folder owners - true to return s contained in folder - true to return s containd in folder - the sort order to return items in - + + Avatar First Name (i.e. Philip) - - - Returns the UUID of the folder (category) that defaults to - containing 'type'. The folder is not necessarily only for that - type - - This will return the root folder if one does not exist - - - The UUID of the desired folder if found, the UUID of the RootFolder - if not found, or UUID.Zero on failure + + Avatar Last Name (i.e. Linden) - - - Find an object in inventory using a specific path to search - - The folder to begin the search in - The object owners - A string path to search - milliseconds to wait for a reply - Found items or if - timeout occurs or item is not found + + Avatar Full Name (i.e. Philip Linden) - - - Find inventory items by path - - The folder to begin the search in - The object owners - A string path to search, folders/objects separated by a '/' - Results are sent to the event + + Gets the health of the agent - - - Search inventory Store object for an item or folder - - The folder to begin the search in - An array which creates a path to search - Number of levels below baseFolder to conduct searches - if True, will stop searching after first match is found - A list of inventory items found + + Gets the current balance of the agent - - - Move an inventory item or folder to a new location - - The item or folder to move - The to move item or folder to + + Gets the local ID of the prim the agent is sitting on, + zero if the avatar is not currently sitting - - - Move an inventory item or folder to a new location and change its name - - The item or folder to move - The to move item or folder to - The name to change the item or folder to + + Gets the of the agents active group. - - - Move and rename a folder - - The source folders - The destination folders - The name to change the folder to + + Gets the Agents powers in the currently active group - - - Update folder properties - - - of the folder to update - Sets folder's parent to - Folder name - Folder type + + Current status message for teleporting - - - Move a folder - - The source folders - The destination folders + + Current position of the agent as a relative offset from + the simulator, or the parent object if we are sitting on something - - - Move multiple folders, the keys in the Dictionary parameter, - to a new parents, the value of that folder's key. - - A Dictionary containing the - of the source as the key, and the - of the destination as the value + + Current rotation of the agent as a relative rotation from + the simulator, or the parent object if we are sitting on something - - - Move an inventory item to a new folder - - The of the source item to move - The of the destination folder + + Current position of the agent in the simulator - + - Move and rename an inventory item + A representing the agents current rotation - The of the source item to move - The of the destination folder - The name to change the folder to - - - Move multiple inventory items to new locations - - A Dictionary containing the - of the source item as the key, and the - of the destination folder as the value + + Returns the global grid position of the avatar - + - Remove descendants of a folder + Called once attachment resource usage information has been collected - The of the folder + Indicates if operation was successfull + Attachment resource usage information - - - Remove a single item from inventory - - The of the inventory item to remove + + + Agent movement and camera control + + Agent movement is controlled by setting specific + After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags + This is most easily accomplished by setting one or more of the AgentMovement properties + + Movement of an avatar is always based on a compass direction, for example AtPos will move the + agent from West to East or forward on the X Axis, AtNeg will of course move agent from + East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis + The Z axis is Up, finer grained control of movements can be done using the Nudge properties + - - - Remove a folder from inventory - - The of the folder to remove + + Agent camera controls - - - Remove multiple items or folders from inventory - - A List containing the s of items to remove - A List containing the s of the folders to remove + + Currently only used for hiding your group title - - - Empty the Lost and Found folder - + + Action state of the avatar, which can currently be + typing and editing - - - Empty the Trash folder - + + - - - - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - - - + + - - - - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - - - - - + + - - - Creates a new inventory folder - - ID of the folder to put this folder in - Name of the folder to create - The UUID of the newly created folder + + - - - Creates a new inventory folder - - ID of the folder to put this folder in - Name of the folder to create - Sets this folder as the default folder - for new assets of the specified type. Use AssetType.Unknown - to create a normal folder, otherwise it will likely create a - duplicate of an existing folder type - The UUID of the newly created folder - If you specify a preferred type of AsseType.Folder - it will create a new root folder which may likely cause all sorts - of strange problems + + - - - Create an inventory item and upload asset data - - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Delegate that will receive feedback on success or failure + + - - - Create an inventory item and upload asset data - - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Permission of the newly created item - (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) - Delegate that will receive feedback on success or failure + + - - - Creates inventory link to another inventory item or folder - - Put newly created link in folder with this UUID - Inventory item or folder - Method to call upon creation of the link + + - - - Creates inventory link to another inventory item - - Put newly created link in folder with this UUID - Original inventory item - Method to call upon creation of the link + + + + + Timer for sending AgentUpdate packets + + + Default constructor - + - Creates inventory link to another inventory folder + Send an AgentUpdate with the camera set at the current agent + position and pointing towards the heading specified - Put newly created link in folder with this UUID - Original inventory folder - Method to call upon creation of the link + Camera rotation in radians + Whether to send the AgentUpdate reliable + or not - + - Creates inventory link to another inventory item or folder + Rotates the avatar body and camera toward a target position. + This will also anchor the camera position on the avatar - Put newly created link in folder with this UUID - Original item's UUID - Name - Description - Asset Type - Inventory Type - Transaction UUID - Method to call upon creation of the link + Region coordinates to turn toward - + + Send new AgentUpdate packet to update our current camera + position and rotation - - - - - - - - - + + Send new AgentUpdate packet to update our current camera + position and rotation - - - - - - - - - - + Whether to require server acknowledgement + of this packet - + + Send new AgentUpdate packet to update our current camera + position and rotation - - - - - - - - - - + Whether to require server acknowledgement + of this packet + Simulator to send the update to - + - Request a copy of an asset embedded within a notecard + Builds an AgentUpdate packet entirely from parameters. This + will not touch the state of Self.Movement or + Self.Movement.Camera in any way - Usually UUID.Zero for copying an asset from a notecard - UUID of the notecard to request an asset from - Target folder for asset to go to in your inventory - UUID of the embedded asset - callback to run when item is copied to inventory + + + + + + + + + + + - - - - - + + Move agent positive along the X axis - - - - - + + Move agent negative along the X axis - - - - - - - + + Move agent positive along the Y axis - - - - - - - - - + + Move agent negative along the Y axis - - - Save changes to notecard embedded in object contents - - Encoded notecard asset data - Notecard UUID - Object's UUID - Called upon finish of the upload with status information + + Move agent positive along the Z axis - - - Upload new gesture asset for an inventory gesture item - - Encoded gesture asset - Gesture inventory UUID - Callback whick will be called when upload is complete + + Move agent negative along the Z axis - - - Update an existing script in an agents Inventory - - A byte[] array containing the encoded scripts contents - the itemID of the script - if true, sets the script content to run on the mono interpreter - - + + - - - Update an existing script in an task Inventory - - A byte[] array containing the encoded scripts contents - the itemID of the script - UUID of the prim containting the script - if true, sets the script content to run on the mono interpreter - if true, sets the script to running - - + + - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details + + - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object + + - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - User defined queryID to correlate replies - If set to true, the CreateSelected flag - will be set on the rezzed object + + - - - DeRez an object from the simulator to the agents Objects folder in the agents Inventory - - The simulator Local ID of the object - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed + + - - - DeRez an object from the simulator and return to inventory - - The simulator Local ID of the object - The type of destination from the enum - The destination inventory folders -or- - if DeRezzing object to a tasks Inventory, the Tasks - The transaction ID for this request which - can be used to correlate this request with other packets - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed + + - - - Rez an item from inventory to its previous simulator location - - - - - - - - - + + Causes simulator to make agent fly - + + Stop movement + + + Finish animation + + + Stand up from a sit + + + Tells simulator to sit agent on ground + + + Place agent into mouselook mode + + + Nudge agent positive along the X axis + + + Nudge agent negative along the X axis + + + Nudge agent positive along the Y axis + + + Nudge agent negative along the Y axis + + + Nudge agent positive along the Z axis + + + Nudge agent negative along the Z axis + + + + + + + + + Tell simulator to mark agent as away + + + + + + + + + + + + + + - Give an inventory item to another avatar + Returns "always run" value, or changes it by sending a SetAlwaysRunPacket - The of the item to give - The name of the item - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer - + + The current value of the agent control flags + + + Gets or sets the interval in milliseconds at which + AgentUpdate packets are sent to the current simulator. Setting + this to a non-zero value will also enable the packet sending if + it was previously off, and setting it to zero will disable + + + Gets or sets whether AgentUpdate packets are sent to + the current simulator + + + Reset movement controls every time we send an update + + - Give an inventory Folder with contents to another avatar + Camera controls for the agent, mostly a thin wrapper around + CoordinateFrame. This class is only responsible for state + tracking and math, it does not send any packets - The of the Folder to give - The name of the folder - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer - - - Copy or move an from agent inventory to a task (primitive) inventory - - The target object - The item to copy or move from inventory - - - For items with copy permissions a copy of the item is placed in the tasks inventory, - for no-copy items the object is moved to the tasks inventory + + - - - Retrieve a listing of the items contained in a task (Primitive) - - The tasks - The tasks simulator local ID - milliseconds to wait for reply from simulator - A list containing the inventory items inside the task or null - if a timeout occurs - This request blocks until the response from the simulator arrives - or timeoutMS is exceeded + + The camera is a local frame of reference inside of + the larger grid space. This is where the math happens - + - Request the contents of a tasks (primitives) inventory from the - current simulator + Default constructor - The LocalID of the object - - - - Request the contents of a tasks (primitives) inventory - - The simulator Local ID of the object - A reference to the simulator object that contains the object - + + - - - Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory - - LocalID of the object in the simulator - UUID of the task item to move - The ID of the destination folder in this agents inventory - Simulator Object - Raises the event + + - - - Remove an item from an objects (Prim) Inventory - - LocalID of the object in the simulator - UUID of the task item to remove - Simulator Object - You can confirm the removal by comparing the tasks inventory serial before and after the - request with the request combined with - the event + + - - - Copy an InventoryScript item from the Agents Inventory into a primitives task inventory - - An unsigned integer representing a primitive being simulated - An which represents a script object from the agents inventory - true to set the scripts running state to enabled - A Unique Transaction ID - - The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory - and assumes the script exists in the agents inventory. - - uint primID = 95899503; // Fake prim ID - UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory - Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, - false, true, InventorySortOrder.ByName, 10000); - Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); - + + - + - Request the running status of a script contained in a task (primitive) inventory + Used to specify movement actions for your agent - The ID of the primitive containing the script - The ID of the script - The event can be used to obtain the results of the - request - - - - Send a request to set the running state of a script contained in a task (primitive) inventory - - The ID of the primitive containing the script - The ID of the script - true to set the script running, false to stop a running script - To verify the change you can use the method combined - with the event + + Empty flag - - - Create a CRC from an InventoryItem - - The source InventoryItem - A uint representing the source InventoryItem as a CRC + + Move Forward (SL Keybinding: W/Up Arrow) - - - Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id - - Obfuscated shadow_id value - Deobfuscated asset_id value + + Move Backward (SL Keybinding: S/Down Arrow) - - - Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id - - asset_id value to obfuscate - Obfuscated shadow_id value + + Move Left (SL Keybinding: Shift-(A/Left Arrow)) - - - Wrapper for creating a new object - - The type of item from the enum - The of the newly created object - An object with the type and id passed + + Move Right (SL Keybinding: Shift-(D/Right Arrow)) - - - Parse the results of a RequestTaskInventory() response - - A string which contains the data from the task reply - A List containing the items contained within the tasks inventory + + Not Flying: Jump/Flying: Move Up (SL Keybinding: E) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Unused - - - UpdateCreateInventoryItem packets are received when a new inventory item - is created. This may occur when an object that's rezzed in world is - taken into inventory, when an item is created using the CreateInventoryItem - packet, or when an object is purchased - - The sender - The EventArgs object containing the packet data + + Unused - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Unused - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Unused - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + ORed with AGENT_CONTROL_AT_* if the keyboard is being used - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used - - Set to true to accept offer, false to decline it + + ORed with AGENT_CONTROL_UP_* if the keyboard is being used - - The folder to accept the inventory into, if null default folder for will be used + + Fly - - - Callback when an inventory object is accepted and received from a - task inventory. This is the callback in which you actually get - the ItemID, as in ObjectOfferedCallback it is null when received - from a task. - + + - - - + + Finish our current animation - - - - - + + Stand up from the ground or a prim seat - - - De-serialization constructor for the InventoryNode Class - + + Sit on the ground at our current location - - - De-serialization handler for the InventoryNode Class - + + Whether mouselook is currently enabled - - - + + Legacy, used if a key was pressed for less than a certain amount of time - - - + + Legacy, used if a key was pressed for less than a certain amount of time - - - + + Legacy, used if a key was pressed for less than a certain amount of time - - - + + Legacy, used if a key was pressed for less than a certain amount of time - - - For inventory folder nodes specifies weather the folder needs to be - refreshed from the server - + + Legacy, used if a key was pressed for less than a certain amount of time - - - Serialization handler for the InventoryNode Class - + + Legacy, used if a key was pressed for less than a certain amount of time - - - - - + + - - - Singleton logging class for the entire library - + + - - - Default constructor - + + Set when the avatar is idled or set to away. Note that the away animation is + activated separately from setting this flag - - - Callback used for client apps to receive log messages from - the library - - Data being logged - The severity of the log entry from + + + + + - - log4net logging engine + + - - Triggered whenever a message is logged. If this is left - null, log messages will go to the console + + - + - Send a log message to the logging engine + - The log message - The severity of the log entry - + - Send a log message to the logging engine + Construct a new instance of the ChatEventArgs object - The log message - The severity of the log entry - Instance of the client + Sim from which the message originates + The message sent + The audible level of the message + The type of message sent: whisper, shout, etc + The source type of the message sender + The name of the agent or object sending the message + The ID of the agent or object sending the message + The ID of the object owner, or the agent ID sending the message + The position of the agent or object sending the message - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Exception that was raised + + Get the simulator sending the message - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Instance of the client - Exception that was raised + + Get the message sent - - - If the library is compiled with DEBUG defined, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - - The message to log at the DEBUG level to the - current logging engine + + Get the audible level of the message - - - If the library is compiled with DEBUG defined and - GridClient.Settings.DEBUG is true, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - - The message to log at the DEBUG level to the - current logging engine - Instance of the client + + Get the type of message sent: whisper, shout, etc - - - + + Get the source type of the message sender - - - + + Get the name of the agent or object sending the message - - - + + Get the ID of the agent or object sending the message - - - + + Get the ID of the object owner, or the agent ID sending the message - - - + + Get the position of the agent or object sending the message - - - + + Contains the data sent when a primitive opens a dialog with this agent - + + Construct a new instance of the ScriptDialogEventArgs + The dialog message + The name of the object that sent the dialog request + The ID of the image to be displayed + The ID of the primitive sending the dialog + The first name of the senders owner + The last name of the senders owner + The communication channel the dialog was sent on + The string labels containing the options presented in this dialog - - - + + Get the dialog message - - - Login Request Parameters - + + Get the name of the object that sent the dialog request - - - Default constuctor, initializes sane default values - + + Get the ID of the image to be displayed - - - Instantiates new LoginParams object and fills in the values - - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number + + Get the ID of the primitive sending the dialog - - - Instantiates new LoginParams object and fills in the values - - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number - URI of the login server + + Get the first name of the senders owner - - The URL of the Login Server + + Get the last name of the senders owner - - The number of milliseconds to wait before a login is considered - failed due to timeout + + Get the communication channel the dialog was sent on, responses + should also send responses on this same channel - - The request method - login_to_simulator is currently the only supported method + + Get the string labels containing the options presented in this dialog - - The Agents First name + + Contains the data sent when a primitive requests debit or other permissions + requesting a YES or NO answer - - The Agents Last name + + + Construct a new instance of the ScriptQuestionEventArgs + + The simulator containing the object sending the request + The ID of the script making the request + The ID of the primitive containing the script making the request + The name of the primitive making the request + The name of the owner of the object making the request + The permissions being requested - - A md5 hashed password - plaintext password will be automatically hashed + + Get the simulator containing the object sending the request - - The agents starting location once logged in - Either "last", "home", or a string encoded URI - containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 + + Get the ID of the script making the request - - A string containing the client software channel information - Second Life Release + + Get the ID of the primitive containing the script making the request - - The client software version information - The official viewer uses: Second Life Release n.n.n.n - where n is replaced with the current version of the viewer + + Get the name of the primitive making the request - - A string containing the platform information the agent is running on + + Get the name of the owner of the object making the request - - A string hash of the network cards Mac Address + + Get the permissions being requested - - Unknown or deprecated + + Contains the data sent when a primitive sends a request + to an agent to open the specified URL - - A string hash of the first disk drives ID used to identify this clients uniqueness + + + Construct a new instance of the LoadUrlEventArgs + + The name of the object sending the request + The ID of the object sending the request + The ID of the owner of the object sending the request + True if the object is owned by a group + The message sent with the request + The URL the object sent - - A string containing the viewers Software, this is not directly sent to the login server but - instead is used to generate the Version string + + Get the name of the object sending the request - - A string representing the software creator. This is not directly sent to the login server but - is used by the library to generate the Version information + + Get the ID of the object sending the request - - If true, this agent agrees to the Terms of Service of the grid its connecting to + + Get the ID of the owner of the object sending the request - - Unknown + + True if the object is owned by a group - - An array of string sent to the login server to enable various options + + Get the message sent with the request - - A randomly generated ID to distinguish between login attempts. This value is only used - internally in the library and is never sent over the wire + + Get the URL the object sent + + + The date received from an ImprovedInstantMessage - + - The decoded data returned from the login server after a successful login + Construct a new instance of the InstantMessageEventArgs object + the InstantMessage object + the simulator where the InstantMessage origniated - - true, false, indeterminate + + Get the InstantMessage object - - Login message of the day + + Get the simulator where the InstantMessage origniated - - M or PG, also agent_region_access and agent_access_max + + Contains the currency balance - + - Parse LLSD Login Reply Data + Construct a new BalanceEventArgs object - An - contaning the login response data - XML-RPC logins do not require this as XML-RPC.NET - automatically populates the struct properly using attributes + The currenct balance - - - Login Routines - + - NetworkManager is responsible for managing the network layer of - OpenMetaverse. It tracks all the server connections, serializes - outgoing traffic and deserializes incoming traffic, and provides - instances of delegates for network-related events. + Get the currenct balance - - - Default constructor - - Reference to the GridClient object + + Contains the transaction summary when an item is purchased, + money is given, or land is purchased - + - Explains why a simulator or the grid disconnected from us + Construct a new instance of the MoneyBalanceReplyEventArgs object + The ID of the transaction + True of the transaction was successful + The current currency balance + The meters credited + The meters comitted + A brief description of the transaction - - The client requested the logout or simulator disconnect + + Get the ID of the transaction - - The server notified us that it is disconnecting + + True of the transaction was successful - - Either a socket was closed or network traffic timed out + + Get the remaining currency balance - - The last active simulator shut down + + Get the meters credited - - - Holds a simulator reference and a decoded packet, these structs are put in - the packet inbox for event handling - + + Get the meters comitted - - Reference to the simulator that this packet came from + + Get the description of the transaction - - Packet that needs to be processed + + Data sent from the simulator containing information about your agent and active group information - + - Holds a simulator reference and a serialized packet, these structs are put in - the packet outbox for sending + Construct a new instance of the AgentDataReplyEventArgs object + The agents first name + The agents last name + The agents active group ID + The group title of the agents active group + The combined group powers the agent has in the active group + The name of the group the agent has currently active - - Reference to the simulator this packet is destined for + + Get the agents first name - - Packet that needs to be sent + + Get the agents last name - - Sequence number of the wrapped packet + + Get the active group ID of your agent - - Number of times this packet has been resent + + Get the active groups title of your agent - - Environment.TickCount when this packet was last sent over the wire + + Get the combined group powers of your agent - + + Get the active group name of your agent + + + Data sent by the simulator to indicate the active/changed animations + applied to your agent + + + Construct a new instance of the AnimationsChangedEventArgs class - - - - - - - - - - + The dictionary that contains the changed animations - - The event subscribers, null of no subscribers + + Get the dictionary that contains the changed animations - - Thread sync lock object + + + Data sent from a simulator indicating a collision with your agent + - - Seed CAPS URL returned from the login server + + + Construct a new instance of the MeanCollisionEventArgs class + + The type of collision that occurred + The ID of the agent or object that perpetrated the agression + The ID of the Victim + The strength of the collision + The Time the collision occurred - - A list of packets obtained during the login process which - networkmanager will log but not process + + Get the Type of collision - - The event subscribers, null of no subscribers + + Get the ID of the agent or object that collided with your agent - - Thread sync lock object + + Get the ID of the agent that was attacked - - The event subscribers, null of no subscribers + + A value indicating the strength of the collision - - Thread sync lock object + + Get the time the collision occurred - - The event subscribers, null of no subscribers + + Data sent to your agent when it crosses region boundaries - - Thread sync lock object + + + Construct a new instance of the RegionCrossedEventArgs class + + The simulator your agent just left + The simulator your agent is now in - - The event subscribers, null of no subscribers + + Get the simulator your agent just left - - Thread sync lock object + + Get the simulator your agent is now in - - The event subscribers, null of no subscribers + + Data sent from the simulator when your agent joins a group chat session - - Thread sync lock object + + + Construct a new instance of the GroupChatJoinedEventArgs class + + The ID of the session + The name of the session + A temporary session id used for establishing new sessions + True of your agent successfully joined the session - - The event subscribers, null of no subscribers + + Get the ID of the group chat session - - Thread sync lock object + + Get the name of the session - - The event subscribers, null of no subscribers + + Get the temporary session ID used for establishing new sessions - - Thread sync lock object + + True if your agent successfully joined the session - - The event subscribers, null of no subscribers + + Data sent by the simulator containing urgent messages - - Thread sync lock object + + + Construct a new instance of the AlertMessageEventArgs class + + The alert message - - All of the simulators we are currently connected to + + Get the alert message + + + Data sent by a script requesting to take or release specified controls to your agent + + + + Construct a new instance of the ScriptControlEventArgs class + + The controls the script is attempting to take or release to the agent + True if the script is passing controls back to the agent + True if the script is requesting controls be released to the script + + + Get the controls the script is attempting to take or release to the agent + + + True if the script is passing controls back to the agent + + + True if the script is requesting controls be released to the script - - Handlers for incoming capability events + + + Data sent from the simulator to an agent to indicate its view limits + - - Handlers for incoming packets + + + Construct a new instance of the CameraConstraintEventArgs class + + The collision plane - - Incoming packets that are awaiting handling + + Get the collision plane - - Outgoing packets that are awaiting handling + + + Data containing script sensor requests which allow an agent to know the specific details + of a primitive sending script sensor requests + - - Raised when the simulator sends us data containing - ... + + + Construct a new instance of the ScriptSensorReplyEventArgs + + The ID of the primitive sending the sensor + The ID of the group associated with the primitive + The name of the primitive sending the sensor + The ID of the primitive sending the sensor + The ID of the owner of the primitive sending the sensor + The position of the primitive sending the sensor + The range the primitive specified to scan + The rotation of the primitive sending the sensor + The type of sensor the primitive sent + The velocity of the primitive sending the sensor - - Called when a reply is received from the login server, the - login sequence will block until this event returns + + Get the ID of the primitive sending the sensor - - Raised when the simulator sends us data containing - ... + + Get the ID of the group associated with the primitive - - Raised when the simulator sends us data containing - ... + + Get the name of the primitive sending the sensor - - Raised when the simulator sends us data containing - ... + + Get the ID of the primitive sending the sensor - - Raised when the simulator sends us data containing - ... + + Get the ID of the owner of the primitive sending the sensor - - Raised when the simulator sends us data containing - ... + + Get the position of the primitive sending the sensor - - Raised when the simulator sends us data containing - ... + + Get the range the primitive specified to scan - - Raised when the simulator sends us data containing - ... + + Get the rotation of the primitive sending the sensor - - Raised when the simulator sends us data containing - ... + + Get the type of sensor the primitive sent - - Current state of logging in + + Get the velocity of the primitive sending the sensor - - Upon login failure, contains a short string key for the - type of login error that occurred + + Contains the response data returned from the simulator in response to a - - The raw XML-RPC reply from the login server, exactly as it - was received (minus the HTTP header) + + Construct a new instance of the AvatarSitResponseEventArgs object - - During login this contains a descriptive version of - LoginStatusCode. After a successful login this will contain the - message of the day, and after a failed login a descriptive error - message will be returned + + Get the ID of the primitive the agent will be sitting on - - Unique identifier associated with our connections to - simulators + + True if the simulator Autopilot functions were involved - - The simulator that the logged in avatar is currently - occupying + + Get the camera offset of the agent when seated - - Shows whether the network layer is logged in to the - grid or not + + Get the camera eye offset of the agent when seated - - Number of packets in the incoming queue + + True of the agent will be in mouselook mode when seated - - Number of packets in the outgoing queue + + Get the position of the agent when seated - - Raises the LoginProgress Event - A LoginProgressEventArgs object containing - the data sent from the simulator + + Get the rotation of the agent when seated - - - Generate sane default values for a login request - - Account first name - Account last name - Account password - Client application name - Client application version - A populated struct containing - sane defaults + + Data sent when an agent joins a chat session your agent is currently participating in - + - Simplified login that takes the most common and required fields + Construct a new instance of the ChatSessionMemberAddedEventArgs object - Account first name - Account last name - Account password - Client application name - Client application version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error + The ID of the chat session + The ID of the agent joining - - - Simplified login that takes the most common fields along with a - starting location URI, and can accept an MD5 string instead of a - plaintext password - - Account first name - Account last name - Account password or MD5 hash of the password - such as $1$1682a1e45e9f957dcdf0bb56eb43319c - Client application name - Starting location URI that can be built with - StartLocation() - Client application version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error + + Get the ID of the chat session - - - Login that takes a struct of all the values that will be passed to - the login server - - The values that will be passed to the login - server, all fields must be set even if they are String.Empty - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error + + Get the ID of the agent that joined - + + Data sent when an agent exits a chat session your agent is currently participating in + + - Build a start location URI for passing to the Login function + Construct a new instance of the ChatSessionMemberLeftEventArgs object - Name of the simulator to start in - X coordinate to start at - Y coordinate to start at - Z coordinate to start at - String with a URI that can be used to login to a specified - location + The ID of the chat session + The ID of the Agent that left - + + Get the ID of the chat session + + + Get the ID of the agent that left + + - Handles response from XML-RPC login replies + Starts a thread that keeps the daemon running + + - + - Handle response from LLSD login replies + Stops the daemon and the thread keeping it running - - - - - - - + - Get current OS + - Either "Win" or "Linux" + + + - + - Get clients default Mac Address + This is used to initialize and stop the Connector as a whole. The Connector + Create call must be completed successfully before any other requests are made + (typically during application initialization). The shutdown should be called + when the application is shutting down to gracefully release resources - A string containing the first found Mac Address - - - Raises the PacketSent Event - A PacketSentEventArgs object containing - the data sent from the simulator - - - Raises the LoggedOut Event - A LoggedOutEventArgs object containing - the data sent from the simulator - - - Raises the SimConnecting Event - A SimConnectingEventArgs object containing - the data sent from the simulator - - - Raises the SimConnected Event - A SimConnectedEventArgs object containing - the data sent from the simulator - - - Raises the SimDisconnected Event - A SimDisconnectedEventArgs object containing - the data sent from the simulator - - - Raises the Disconnected Event - A DisconnectedEventArgs object containing - the data sent from the simulator - - - Raises the SimChanged Event - A SimChangedEventArgs object containing - the data sent from the simulator - - - Raises the EventQueueRunning Event - A EventQueueRunningEventArgs object containing - the data sent from the simulator + A string value indicting the Application name + URL for the management server + LoggingSettings + + - + - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library + Shutdown Connector -- Should be called when the application is shutting down + to gracefully release resources - Packet type to trigger events for - Callback to fire when a packet of this type - is received + Handle returned from successful Connector ‘create’ request - + - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library + Mute or unmute the microphone - Packet type to trigger events for - Callback to fire when a packet of this type - is received - True if the callback should be ran - asynchronously. Only set this to false (synchronous for callbacks - that will always complete quickly) - If any callback for a packet type is marked as - asynchronous, all callbacks for that packet type will be fired - asynchronously + Handle returned from successful Connector ‘create’ request + true (mute) or false (unmute) - + - Unregister an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library + Mute or unmute the speaker - Packet type this callback is registered with - Callback to stop firing events for + Handle returned from successful Connector ‘create’ request + true (mute) or false (unmute) - + - Register a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library + Set microphone volume - Name of the CAPS event to register a handler for - Callback to fire when a CAPS event is received + Handle returned from successful Connector ‘create’ request + The level of the audio, a number between -100 and 100 where + 0 represents ‘normal’ speaking volume - + - Unregister a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library + Set local speaker volume - Name of the CAPS event this callback is - registered with - Callback to stop firing events for + Handle returned from successful Connector ‘create’ request + The level of the audio, a number between -100 and 100 where + 0 represents ‘normal’ speaking volume - + - Send a packet to the simulator the avatar is currently occupying + Create a Session + Sessions typically represent a connection to a media session with one or more + participants. This is used to generate an ‘outbound’ call to another user or + channel. The specifics depend on the media types involved. A session handle is + required to control the local user functions within the session (or remote + users if the current account has rights to do so). Currently creating a + session automatically connects to the audio media, there is no need to call + Session.Connect at this time, this is reserved for future use. - Packet to send + Handle returned from successful Connector ‘create’ request + This is the URI of the terminating point of the session (ie who/what is being called) + This is the display name of the entity being called (user or channel) + Only needs to be supplied when the target URI is password protected + This indicates the format of the password as passed in. This can either be + “ClearText” or “SHA1UserName”. If this element does not exist, it is assumed to be “ClearText”. If it is + “SHA1UserName”, the password as passed in is the SHA1 hash of the password and username concatenated together, + then base64 encoded, with the final “=” character stripped off. + + + - + - Send a packet to a specified simulator + Used to accept a call - Packet to send - Simulator to send the packet to + SessionHandle such as received from SessionNewEvent + "default" + - + - Connect to a simulator + This command is used to start the audio render process, which will then play + the passed in file through the selected audio render device. This command + should not be issued if the user is on a call. - IP address to connect to - Port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null + The fully qualified path to the sound file. + True if the file is to be played continuously and false if it is should be played once. + - + - Connect to a simulator + This command is used to stop the audio render process. - IP address and port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null + The fully qualified path to the sound file issued in the start render command. + - + - Initiate a blocking logout request. This will return when the logout - handshake has completed or when Settings.LOGOUT_TIMEOUT - has expired and the network layer is manually shut down + This is used to ‘end’ an established session (i.e. hang-up or disconnect). + Handle returned from successful Session ‘create’ request or a SessionNewEvent + - + - Initiate the logout process. Check if logout succeeded with the - OnLogoutReply event, and if this does not fire the - Shutdown() function needs to be manually called + Set the combined speaking and listening position in 3D space. + Handle returned from successful Session ‘create’ request or a SessionNewEvent + Speaking position + Listening position + - + - Close a connection to the given simulator + Set User Volume for a particular user. Does not affect how other users hear that user. - - - - + Handle returned from successful Session ‘create’ request or a SessionNewEvent + + The level of the audio, a number between -100 and 100 where 0 represents ‘normal’ speaking volume + - + - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout - Type of shutdown + This is used to get a list of audio devices that can be used for capture (input) of voice. + + - + - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout - Type of shutdown - Shutdown message + This is used to get a list of audio devices that can be used for render (playback) of voice. + - + - Searches through the list of currently connected simulators to find - one attached to the given IPEndPoint + This command is used to select the render device. - IPEndPoint of the Simulator to search for - A Simulator reference on success, otherwise null + The name of the device as returned by the Aux.GetRenderDevices command. - + - Fire an event when an event queue connects for capabilities + This command is used to select the capture device. - Simulator the event queue is attached to - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + The name of the device as returned by the Aux.GetCaptureDevices command. - + - A Name Value pair with additional settings, used in the protocol - primarily to transmit avatar names and active group in object packets + This command is used to start the audio capture process which will cause + AuxAudioProperty Events to be raised. These events can be used to display a + microphone VU meter for the currently selected capture device. This command + should not be issued if the user is on a call. + (unused but required) + - + - Constructor that takes all the fields as parameters + This command is used to stop the audio capture process. - - - - - - - - - - + - + - Constructor that takes a single line from a NameValue field + This command is used to set the mic volume while in the audio tuning process. + Once an acceptable mic level is attained, the application must issue a + connector set mic volume command to have that level be used while on voice + calls. - - - - - Type of the value - - - Unknown - - - String value + the microphone volume (-100 to 100 inclusive) + - + + This command is used to set the speaker volume while in the audio tuning + process. Once an acceptable speaker level is attained, the application must + issue a connector set speaker volume command to have that level be used while + on voice calls. + the speaker volume (-100 to 100 inclusive) + - + + Start up the Voice service. - + + Handle miscellaneous request status + + + ///If something goes wrong, we log it. - + + Cleanup oject resources - - Deprecated - - - String value, but designated as an asset + + + Request voice cap when changing regions + - + + Handle a change in session state - + + Close a voice session + - + + Locate a Session context from its handle + Creates the session context if it does not exist. - + + Handle completion of main voice cap request. + + + - + + Daemon has started so connect to it. - + + The daemon TCP connection is open. - + + Handle creation of the Connector. - + + Handle response to audio output device query - + + Handle response to audio input device query - + + + Set voice channel for new parcel + + + + + Request info from a parcel capability Uri. + - + + Receive parcel voice cap + + + - + + Tell Vivox where we are standing + This has to be called when we move or turn. - + + Start and stop updating out position. + - + + This is used to login a specific user account(s). It may only be called after + Connector initialization has completed successfully + Handle returned from successful Connector ‘create’ request + User's account name + User's account password + Values may be “AutoAnswer” or “VerifyAnswer” + "" + This is an integer that specifies how often + the daemon will send participant property events while in a channel. If this is not set + the default will be “on state change”, which means that the events will be sent when + the participant starts talking, stops talking, is muted, is unmuted. + The valid values are: + 0 – Never + 5 – 10 times per second + 10 – 5 times per second + 50 – 1 time per second + 100 – on participant state change (this is the default) + false + - + + This is used to logout a user session. It should only be called with a valid AccountHandle. + Handle returned from successful Connector ‘login’ request + - + + List of audio input devices - + + List of audio output devices - + + Set audio test mode - - No report - - - Unknown report type - - - Bug report - - - Complaint report - - - Customer service report - - + - Bitflag field for ObjectUpdateCompressed data blocks, describing - which options are present for each object + Event for most mundane request reposnses. - - Unknown - - - Whether the object has a TreeSpecies - - - Whether the object has floating text ala llSetText - - - Whether the object has an active particle system - - - Whether the object has sound attached to it - - - Whether the object is attached to a root object or not - - - Whether the object has texture animation settings - - - Whether the object has an angular velocity + + Response to Connector.Create request - - Whether the object has a name value pairs string + + Response to Aux.GetCaptureDevices request - - Whether the object has a Media URL set + + Response to Aux.GetRenderDevices request - - - Specific Flags for MultipleObjectUpdate requests - + + Audio Properties Events are sent after audio capture is started. + These events are used to display a microphone VU meter - - None + + Response to Account.Login request - - Change position of prims + + This event message is sent whenever the login state of the + particular Account has transitioned from one value to another - - Change rotation of prims + + Enable logging - - Change size of prims + + The folder where any logs will be created - - Perform operation on link set + + This will be prepended to beginning of each log file - - Scale prims uniformly, same as selecing ctrl+shift in the - viewer. Used in conjunction with Scale + + The suffix or extension to be appended to each log file - + - Special values in PayPriceReply. If the price is not one of these - literal value of the price should be use + 0: NONE - No logging + 1: ERROR - Log errors only + 2: WARNING - Log errors and warnings + 3: INFO - Log errors, warnings and info + 4: DEBUG - Log errors, warnings, info and debug - + - Indicates that this pay option should be hidden + Constructor for default logging settings - - - Indicates that this pay option should have the default value - + + Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter - + - Contains the variables sent in an object update packet for objects. - Used to track position and movement of prims and avatars + - - - + + - - - + + - - - + + - + + Thrown when a packet could not be successfully deserialized - + + Default constructor - + + Constructor that takes an additional error message + An error message to attach to this exception - + + The header of a message template packet. Holds packet flags, sequence + number, packet ID, and any ACKs that will be appended at the end of + the packet - + + Convert the AckList to a byte array, used for packet serializing + Reference to the target byte array + Beginning position to start writing to in the byte + array, will be updated with the ending position of the ACK list - + + + + + + - + + + + + - + - Handles all network traffic related to prims and avatar positions and - movement. + A block of data in a packet. Packets are composed of one or more blocks, + each block containing one or more fields - + - Construct a new instance of the ObjectManager class + Create a block from a byte array - A reference to the instance + Byte array containing the serialized block + Starting position of the block in the byte array. + This will point to the data after the end of the block when the + call returns - + - Callback for getting object media data via CAP + Serialize this block into a byte array - Indicates if the operation was succesfull - Object media version string - Array indexed on prim face of media entry data + Byte array to serialize this block into + Starting position in the byte array to serialize to. + This will point to the position directly after the end of the + serialized block when the call returns - - The event subscribers, null of no subscribers + + Current length of the data in this packet - - Thread sync lock object + + A generic value, not an actual packet type - - The event subscribers, null of no subscribers + + + Attempts to convert an LLSD structure to a known Packet type + + Event name, this must match an actual + packet name for a Packet to be successfully built + LLSD to convert to a Packet + A Packet on success, otherwise null - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - Reference to the GridClient object + + - - Does periodic dead reckoning calculation to convert - velocity and acceleration to new positions for objects + + - - Raised when the simulator sends us data containing - A , Foliage or Attachment - - + + - - Raised when the simulator sends us data containing - additional information - - + + - - Raised when the simulator sends us data containing - Primitive.ObjectProperties for an object we are currently tracking + + - - Raised when the simulator sends us data containing - additional and details - + + - - Raised when the simulator sends us data containing - updated information for an + + - - Raised when the simulator sends us data containing - and movement changes + + - - Raised when the simulator sends us data containing - updates to an Objects DataBlock + + - - Raised when the simulator informs us an - or is no longer within view + + - - Raised when the simulator sends us data containing - updated sit information for our + + - - Raised when the simulator sends us data containing - purchase price information for a + + - - Raises the ObjectProperties Event - A ObjectPropertiesEventArgs object containing - the data sent from the simulator + + - - Raises the ObjectPropertiesUpdated Event - A ObjectPropertiesUpdatedEventArgs object containing - the data sent from the simulator + + - - Raises the ObjectPropertiesFamily Event - A ObjectPropertiesFamilyEventArgs object containing - the data sent from the simulator + + - - Raises the AvatarUpdate Event - A AvatarUpdateEventArgs object containing - the data sent from the simulator + + - - Raises the ObjectDataBlockUpdate Event - A ObjectDataBlockUpdateEventArgs object containing - the data sent from the simulator + + - - Raises the KillObject Event - A KillObjectEventArgs object containing - the data sent from the simulator + + - - Raises the AvatarSitChanged Event - A AvatarSitChangedEventArgs object containing - the data sent from the simulator + + - - Raises the PayPriceReply Event - A PayPriceReplyEventArgs object containing - the data sent from the simulator + + - - - Request information for a single object from a - you are currently connected to - - The the object is located - The Local ID of the object + + - - - Request information for multiple objects contained in - the same simulator - - The the objects are located - An array containing the Local IDs of the objects + + - - - Attempt to purchase an original object, a copy, or the contents of - an object - - The the object is located - The Local ID of the object - Whether the original, a copy, or the object - contents are on sale. This is used for verification, if the this - sale type is not valid for the object the purchase will fail - Price of the object. This is used for - verification, if it does not match the actual price the purchase - will fail - Group ID that will be associated with the new - purchase - Inventory folder UUID where the object or objects - purchased should be placed - - - BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, - 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); - - + + - - - Request prices that should be displayed in pay dialog. This will triggger the simulator - to send us back a PayPriceReply which can be handled by OnPayPriceReply event - - The the object is located - The ID of the object - The result is raised in the event + + - - - Select a single object. This will cause the to send us - an which will raise the event - - The the object is located - The Local ID of the object - + + - - - Select a single object. This will cause the to send us - an which will raise the event - - The the object is located - The Local ID of the object - if true, a call to is - made immediately following the request - + + - - - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - Should objects be deselected immediately after selection - + + - - - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - + + - - - Update the properties of an object - - The the object is located - The Local ID of the object - true to turn the objects physical property on - true to turn the objects temporary property on - true to turn the objects phantom property on - true to turn the objects cast shadows property on + + - - - Sets the sale properties of a single object - - The the object is located - The Local ID of the object - One of the options from the enum - The price of the object + + - - - Sets the sale properties of multiple objects - - The the objects are located - An array containing the Local IDs of the objects - One of the options from the enum - The price of the object + + - - - Deselect a single object - - The the object is located - The Local ID of the object + + - - - Deselect multiple objects. - - The the objects are located - An array containing the Local IDs of the objects + + - - - Perform a click action on an object - - The the object is located - The Local ID of the object + + - - - Perform a click action (Grab) on a single object - - The the object is located - The Local ID of the object - The texture coordinates to touch - The surface coordinates to touch - The face of the position to touch - The region coordinates of the position to touch - The surface normal of the position to touch (A normal is a vector perpindicular to the surface) - The surface binormal of the position to touch (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space + + - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties + + - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Specify the - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties + + - - - Rez a Linden tree - - A reference to the object where the object resides - The size of the tree - The rotation of the tree - The position of the tree - The Type of tree - The of the group to set the tree to, - or UUID.Zero if no group is to be set - true to use the "new" Linden trees, false to use the old + + - - - Rez grass and ground cover - - A reference to the object where the object resides - The size of the grass - The rotation of the grass - The position of the grass - The type of grass from the enum - The of the group to set the tree to, - or UUID.Zero if no group is to be set + + - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply + + - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply - A media URL (not used) + + - - - Set the Light data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + - - - Set the flexible data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + - - - Set the sculptie texture and data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + - - - Unset additional primitive parameters on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The extra parameters to set + + - - - Link multiple prims into a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to link - The last object in the array will be the root object of the linkset TODO: Is this true? + + - - - Delink/Unlink multiple prims from a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to delink + + - - - Change the rotation of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation of the object + + - - - Set the name of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new name of the object + + - - - Set the name of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the name of - An array which contains the new names of the objects + + - - - Set the description of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new description of the object + + - - - Set the descriptions of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the description of - An array which contains the new descriptions of the objects + + - - - Attach an object to this avatar - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The point on the avatar the object will be attached - The rotation of the attached object + + - - - Drop an attached object from this avatar - - A reference to the - object where the objects reside. This will always be the simulator the avatar is currently in - - The object's ID which is local to the simulator the object is in + + - - - Detach an object from yourself - - A reference to the - object where the objects reside - This will always be the simulator the avatar is currently in - - An array which contains the IDs of the objects to detach + + - - - Change the position of an object, Will change position of entire linkset - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object + + - - - Change the position of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - if true, will change position of (this) child prim only, not entire linkset + + - - - Change the Scale (size) of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change scale of this prim only, not entire linkset - True to resize prims uniformly + + - - - Change the Rotation of an object that is either a child or a whole linkset - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change rotation of this prim only, not entire linkset + + - - - Send a Multiple Object Update packet to change the size, scale or rotation of a primitive - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation, size, or position of the target object - The flags from the Enum + + - - - Deed an object (prim) to a group, Object must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The of the group to deed the object to + + - - - Deed multiple objects (prims) to a group, Objects must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - An array which contains the IDs of the objects to deed - The of the group to deed the object to + + - - - Set the permissions on multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the permissions on - The new Who mask to set - The new Permissions mark to set - TODO: What does this do? + + - - - Request additional properties for an object - - A reference to the object where the object resides - - + + - - - Request additional properties for an object - - A reference to the object where the object resides - Absolute UUID of the object - Whether to require server acknowledgement of this request + + - - - Set the ownership of a list of objects to the specified group - - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the group id on - The Groups ID + + - - - Update current URL of the previously set prim media - - UUID of the prim - Set current URL to this - Prim face number - Simulator in which prim is located + + - - - Set object media - - UUID of the prim - Array the length of prims number of faces. Null on face indexes where there is - no media, on faces which contain the media - Simulatior in which prim is located + + - - - Retrieve information about object media - - UUID of the primitive - Simulator where prim is located - Call this callback when done + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - - A terse object update, used when a transformation matrix or - velocity/acceleration for an object changes but nothing else - (scale/position/rotation/acceleration/velocity) - - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + + + + + + + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - - Setup construction data for a basic primitive shape - - Primitive shape to construct - Construction data that can be plugged into a + + - - - - - - - - - - - + + - - - - - - - + + - - - Set the Shape data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - Data describing the prim shape + + - - - Set the Material data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new material of the object + + - - - - - - - - - - - + + - - - - - - - - - - - + + - - Provides data for the event - - The event occurs when the simulator sends - an containing a Primitive, Foliage or Attachment data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or - if an Avatar crosses the border into a new simulator and returns to the current simulator - - - The following code example uses the , , and - properties to display new Primitives and Attachments on the window. - - // Subscribe to the event that gives us prim and foliage information - Client.Objects.ObjectUpdate += Objects_ObjectUpdate; - private void Objects_ObjectUpdate(object sender, PrimEventArgs e) - { - Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); - } - - - - + + - - - Construct a new instance of the PrimEventArgs class - - The simulator the object originated from - The Primitive - The simulator time dilation - The prim was not in the dictionary before this update - true if the primitive represents an attachment to an agent + + - - Get the simulator the originated from + + - - Get the details + + - - true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) + + - - true if the is attached to an + + - - Get the simulator Time Dilation + + - - Provides data for the event - - The event occurs when the simulator sends - an containing Avatar data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator - - - The following code example uses the property to make a request for the top picks - using the method in the class to display the names - of our own agents picks listings on the window. - - // subscribe to the AvatarUpdate event to get our information - Client.Objects.AvatarUpdate += Objects_AvatarUpdate; - Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; - private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) - { - // we only want our own data - if (e.Avatar.LocalID == Client.Self.LocalID) - { - // Unsubscribe from the avatar update event to prevent a loop - // where we continually request the picks every time we get an update for ourselves - Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; - // make the top picks request through AvatarManager - Client.Avatars.RequestAvatarPicks(e.Avatar.ID); - } - } - private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) - { - // we'll unsubscribe from the AvatarPicksReply event since we now have the data - // we were looking for - Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; - // loop through the dictionary and extract the names of the top picks from our profile - foreach (var pickName in e.Picks.Values) - { - Console.WriteLine(pickName); - } - } - - - + + - - - Construct a new instance of the AvatarUpdateEventArgs class - - The simulator the packet originated from - The data - The simulator time dilation - The avatar was not in the dictionary before this update + + - - Get the simulator the object originated from + + - - Get the data + + - - Get the simulator time dilation + + - - true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) + + - - Provides additional primitive data for the event - - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment data - The event is also raised when a request is - made. - - - The following code example uses the , and - - properties to display new attachments and send a request for additional properties containing the name of the - attachment then display it on the window. - - // Subscribe to the event that provides additional primitive details - Client.Objects.ObjectProperties += Objects_ObjectProperties; - // handle the properties data that arrives - private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) - { - Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); - } - + + - - - Construct a new instance of the ObjectPropertiesEventArgs class - - The simulator the object is located - The primitive Properties + + - - Get the simulator the object is located + + - - Get the primitive properties + + - - Provides additional primitive data for the event - - The event occurs when the simulator sends - an containing additional details for a Primitive or Foliage data that is currently - being tracked in the dictionary - The event is also raised when a request is - made and is enabled - + + - - - Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class - - The simulator the object is located - The Primitive - The primitive Properties + + - - Get the simulator the object is located + + - - Get the primitive details + + - - Get the primitive properties + + - - Provides additional primitive data, permissions and sale info for the event - - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment. This includes - Permissions, Sale info, and other basic details on an object - The event is also raised when a request is - made, the viewer equivalent is hovering the mouse cursor over an object - + + - - Get the simulator the object is located + + - - - + + - - - + + - - Provides primitive data containing updated location, velocity, rotation, textures for the event - - The event occurs when the simulator sends updated location, velocity, rotation, etc - + + - - Get the simulator the object is located + + - - Get the primitive details + + - - - + + - - - + + - - - + + - - Get the simulator the object is located + + - - Get the primitive details + + - - - + + - - - + + - - - + + - - - + + - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event + + - - Get the simulator the object is located + + - - The LocalID of the object + + - - - Provides updates sit position data - + + - - Get the simulator the object is located + + - - - + + + + + + + + - - - + + - - - + + - - - + + - - Get the simulator the object is located + + - - - + + - - - + + - - - + + - - - Indicates if the operation was successful - + + - - - Media version string - + + - - - Array of media entries indexed by face number - + + - - - Create an allocated UDP packet buffer for receiving a packet - + + - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host + + - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host - Size of the buffer to allocate for packet data + + - - Size of the byte array used to store raw packet data + + - - Raw packet data buffer + + - - Length of the data to transmit + + - - EndPoint of the remote host + + - - - Object pool for packet buffers. This is used to allocate memory for all - incoming and outgoing packets, and zerocoding buffers for those packets - + + - - - Initialize the object pool in client mode - - Server to connect to - - - - + + - - - Initialize the object pool in server mode - - - - - + + - - - Returns a packet buffer with EndPoint set if the buffer is in - client mode, or with EndPoint set to null in server mode - - Initialized UDPPacketBuffer object + + - - - Default constructor - + + - - - Check a packet buffer out of the pool - - A packet buffer object + + - - - Returns an instance of the class that has been checked out of the Object Pool. - + + - - - Checks the instance back into the object pool - + + - - - Creates a new instance of the ObjectPoolBase class. Initialize MUST be called - after using this constructor. - + + - - - Creates a new instance of the ObjectPool Base class. - - The object pool is composed of segments, which - are allocated whenever the size of the pool is exceeded. The number of items - in a segment should be large enough that allocating a new segmeng is a rare - thing. For example, on a server that will have 10k people logged in at once, - the receive buffer object pool should have segment sizes of at least 1000 - byte arrays per segment. - - The minimun number of segments that may exist. - Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. - The frequency which segments are checked to see if they're eligible for cleanup. + + - - - The total number of segments created. Intended to be used by the Unit Tests. - + + - - - The number of items that are in a segment. Items in a segment - are all allocated at the same time, and are hopefully close to - each other in the managed heap. - + + - - - The minimum number of segments. When segments are reclaimed, - this number of segments will always be left alone. These - segments are allocated at startup. - + + - - - The age a segment must be before it's eligible for cleanup. - This is used to prevent thrash, and typical values are in - the 5 minute range. - + + - - - The frequence which the cleanup thread runs. This is typically - expected to be in the 5 minute range. - + + - - - Forces the segment cleanup algorithm to be run. This method is intended - primarly for use from the Unit Test libraries. - + + - - - Responsible for allocate 1 instance of an object that will be stored in a segment. - - An instance of whatever objec the pool is pooling. + + - - - Checks in an instance of T owned by the object pool. This method is only intended to be called - by the WrappedObject class. - - The segment from which the instance is checked out. - The instance of T to check back into the segment. + + - - - Checks an instance of T from the pool. If the pool is not sufficient to - allow the checkout, a new segment is created. - - A WrappedObject around the instance of T. To check - the instance back into the segment, be sureto dispose the WrappedObject - when finished. + + - - - + + - - - + + - - - + + - - - + + - - - The ObservableDictionary class is used for storing key/value pairs. It has methods for firing - events to subscribers when items are added, removed, or changed. - - Key - Value + + - - - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. - - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); - - + + - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); - - + + - - - A dictionary of callbacks to fire when specified action occurs - + + - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking + + - - - Indexer for the dictionary - - The key - The value + + - - - Gets the number of Key/Value pairs contained in the + + - - - Register a callback to be fired when an action occurs - - The action - The callback to fire + + + + + - - - Unregister a callback - - The action - The callback to fire + + - - - - - - - + + - - - Try to get entry from the with specified key - - Key to use for lookup - Value returned - - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - + + - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - + + - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - + + - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - + + - - Check if Key exists in Dictionary - Key to check for - - if found, otherwise + + - - Check if Value exists in Dictionary - Value to check for - - if found, otherwise + + - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - The key - The value + + - - - Removes the specified key, dictionary locking is not performed - - The key. - - if successful, otherwise + + - - - Clear the contents of the dictionary - + + - - - Enumerator for iterating dictionary entries - - - + + - - - A custom decoder callback - - The key of the object - the data to decode - A string represending the fieldData + + - - - Add a custom decoder callback - - The key of the field to decode - The custom decode handler + + - - - Remove a custom decoder callback - - The key of the field to decode - The custom decode handler + + - - - Creates a formatted string containing the values of a Packet - - The Packet - A formatted string of values of the nested items in the Packet object + + - - - Decode an IMessage object into a beautifully formatted string - - The IMessage object - Recursion level (used for indenting) - A formatted string containing the names and values of the source object + + - - - Type of return to use when returning objects from a parcel - + + - - - + + - - Return objects owned by parcel owner + + - - Return objects set to group + + - - Return objects not owned by parcel owner or set to group + + - - Return a specific list of objects on parcel + + - - Return objects that are marked for-sale + + - - - Blacklist/Whitelist flags used in parcels Access List - + + - - Agent is denied access + + - - Agent is granted access + + - - - The result of a request for parcel properties - + + - - No matches were found for the request + + - - Request matched a single parcel + + - - Request matched multiple parcels + + - - - Flags used in the ParcelAccessListRequest packet to specify whether - we want the access list (whitelist), ban list (blacklist), or both - + + - - Request the access list + + - - Request the ban list + + - - Request both White and Black lists + + - - - Sequence ID in ParcelPropertiesReply packets (sent when avatar - tries to cross a parcel border) - + + - - Parcel is currently selected + + - - Parcel restricted to a group the avatar is not a - member of + + - - Avatar is banned from the parcel + + - - Parcel is restricted to an access list that the - avatar is not on + + - - Response to hovering over a parcel + + - - - The tool to use when modifying terrain levels - + + - - Level the terrain + + - - Raise the terrain + + - - Lower the terrain + + - - Smooth the terrain + + - - Add random noise to the terrain + + - - Revert terrain to simulator default + + - - - The tool size to use when changing terrain levels - + + - - Small + + - - Medium + + - - Large + + - - - Reasons agent is denied access to a parcel on the simulator - + + - - Agent is not denied, access is granted + + - - Agent is not a member of the group set for the parcel, or which owns the parcel + + - - Agent is not on the parcels specific allow list + + + + + - - Agent is on the parcels ban list + + - - Unknown + + - - Agent is not age verified and parcel settings deny access to non age verified avatars + + - - - Parcel overlay type. This is used primarily for highlighting and - coloring which is why it is a single integer instead of a set of - flags - - These values seem to be poorly thought out. The first three - bits represent a single value, not flags. For example Auction (0x05) is - not a combination of OwnedByOther (0x01) and ForSale(0x04). However, - the BorderWest and BorderSouth values are bit flags that get attached - to the value stored in the first three bits. Bits four, five, and six - are unused + + - - Public land + + - - Land is owned by another avatar + + - - Land is owned by a group + + - - Land is owned by the current avatar + + - - Land is for sale + + - - Land is being auctioned + + - - To the west of this area is a parcel border + + - - To the south of this area is a parcel border + + - - - Various parcel properties - + + - - No flags set + + - - Allow avatars to fly (a client-side only restriction) + + - - Allow foreign scripts to run + + - - This parcel is for sale + + - - Allow avatars to create a landmark on this parcel + + - - Allows all avatars to edit the terrain on this parcel + + - - Avatars have health and can take damage on this parcel. - If set, avatars can be killed and sent home here + + - - Foreign avatars can create objects here + + - - All objects on this parcel can be purchased + + - - Access is restricted to a group + + - - Access is restricted to a whitelist + + - - Ban blacklist is enabled + + - - Unknown + + - - List this parcel in the search directory + + - - Allow personally owned parcels to be deeded to group + + - - If Deeded, owner contributes required tier to group parcel is deeded to + + - - Restrict sounds originating on this parcel to the - parcel boundaries + + - - Objects on this parcel are sold when the land is - purchsaed + + - - Allow this parcel to be published on the web + + - - The information for this parcel is mature content + + - - The media URL is an HTML page + + - - The media URL is a raw HTML string + + - - Restrict foreign object pushes + + - - Ban all non identified/transacted avatars + + - - Allow group-owned scripts to run + + - - Allow object creation by group members or group - objects + + - - Allow all objects to enter this parcel + + - - Only allow group and owner objects to enter this parcel + + - - Voice Enabled on this parcel + + - - Use Estate Voice channel for Voice on this parcel + + - - Deny Age Unverified Users + + - - - Parcel ownership status - + + - - Placeholder + + - - Parcel is leased (owned) by an avatar or group + + - - Parcel is in process of being leased (purchased) by an avatar or group + + - - Parcel has been abandoned back to Governor Linden + + - - - Category parcel is listed in under search - + + - - No assigned category + + - - Linden Infohub or public area + + - - Adult themed area + + - - Arts and Culture + + - - Business + + - - Educational + + - - Gaming + + - - Hangout or Club + + - - Newcomer friendly + + - - Parks and Nature + + - - Residential + + - - Shopping + + - - Not Used? + + - - Other + + - - Not an actual category, only used for queries + + - - - Type of teleport landing for a parcel - + + - - Unset, simulator default + + - - Specific landing point set for this parcel + + - - No landing point set, direct teleports enabled for - this parcel + + - - - Parcel Media Command used in ParcelMediaCommandMessage - + + - - Stop the media stream and go back to the first frame + + - - Pause the media stream (stop playing but stay on current frame) + + - - Start the current media stream playing and stop when the end is reached + + - - Start the current media stream playing, - loop to the beginning when the end is reached and continue to play + + - - Specifies the texture to replace with video - If passing the key of a texture, it must be explicitly typecast as a key, - not just passed within double quotes. + + - - Specifies the movie URL (254 characters max) + + - - Specifies the time index at which to begin playing + + + + + - - Specifies a single agent to apply the media command to + + - - Unloads the stream. While the stop command sets the texture to the first frame of the movie, - unload resets it to the real texture that the movie was replacing. + + - - Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties - (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. + + - - Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). - Use "text/html" for HTML. + + - - Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). - This might still not be working + + - - Sets a description for the media being displayed (1.19.1 RC0 and later only). + + - - - Some information about a parcel of land returned from a DirectoryManager search - + + - - Global Key of record + + - - Parcel Owners + + - - Name field of parcel, limited to 128 characters + + - - Description field of parcel, limited to 256 characters + + - - Total Square meters of parcel + + - - Total area billable as Tier, for group owned land this will be 10% less than ActualArea + + - - True of parcel is in Mature simulator + + - - Grid global X position of parcel + + - - Grid global Y position of parcel + + - - Grid global Z position of parcel (not used) + + - - Name of simulator parcel is located in + + - - Texture of parcels display picture + + - - Float representing calculated traffic based on time spent on parcel by avatars + + - - Sale price of parcel (not used) + + - - Auction ID of parcel + + - - - Parcel Media Information - + + - - A byte, if 0x1 viewer should auto scale media to fit object + + - - A boolean, if true the viewer should loop the media + + - - The Asset UUID of the Texture which when applied to a - primitive will display the media + + - - A URL which points to any Quicktime supported media type + + - - A description of the media + + - - An Integer which represents the height of the media + + - - An integer which represents the width of the media + + - - A string which contains the mime type of the media + + - - - Parcel of land, a portion of virtual real estate in a simulator - + + - - - Defalt constructor - - Local ID of this parcel + + - - The total number of contiguous 4x4 meter blocks your agent owns within this parcel + + - - The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own + + - - Deprecated, Value appears to always be 0 + + - - Simulator-local ID of this parcel + + - - UUID of the owner of this parcel + + - - Whether the land is deeded to a group or not + + - - - + + - - Date land was claimed + + - - Appears to always be zero + + - - This field is no longer used + + - - Minimum corner of the axis-aligned bounding box for this - parcel + + - - Maximum corner of the axis-aligned bounding box for this - parcel + + - - Bitmap describing land layout in 4x4m squares across the - entire region + + - - Total parcel land area + + - - - + + - - Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used + + - - Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel - owned by the agent or group that owns this parcel + + - - Maximum number of primitives this parcel supports + + - - Total number of primitives on this parcel + + - - For group-owned parcels this indicates the total number of prims deeded to the group, - for parcels owned by an individual this inicates the number of prims owned by the individual + + - - Total number of primitives owned by the parcel group on - this parcel, or for parcels owned by an individual with a group set the - total number of prims set to that group. + + - - Total number of prims owned by other avatars that are not set to group, or not the parcel owner + + - - A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect - the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed + + - - Autoreturn value in minutes for others' objects + + - - - + + - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it + + - - Parcel Name + + - - Parcel Description + + - - URL For Music Stream + + - - - + + - - Price for a temporary pass + + - - How long is pass valid for + + - - - + + - - Key of authorized buyer + + - - Key of parcel snapshot + + - - The landing point location + + - - The landing point LookAt + + - - The type of landing enforced from the enum + + - - - + + - - - + + - - - + + - - Access list of who is whitelisted on this - parcel + + - - Access list of who is blacklisted on this - parcel + + - - TRUE of region denies access to age unverified users + + - - true to obscure (hide) media url + + - - true to obscure (hide) music url + + - - A struct containing media details + + - - - Displays a parcel object in string format - - string containing key=value pairs of a parcel object + + - - - Update the simulator with any local changes to this Parcel object - - Simulator to send updates to - Whether we want the simulator to confirm - the update with a reply packet or not + + - - - Set Autoreturn time - - Simulator to send the update to + + - - - Parcel (subdivided simulator lots) subsystem - + + - - - Default constructor - - A reference to the GridClient object + + - - - Parcel Accesslist - + + - - Agents + + - - - + + - - Flags for specific entry in white/black lists + + - - - Owners of primitives on parcel - + + - - Prim Owners + + - - True of owner is group + + - - Total count of prims owned by OwnerID + + - - true of OwnerID is currently online and is not a group + + - - The date of the most recent prim left by OwnerID + + - - - Called once parcel resource usage information has been collected - - Indicates if operation was successfull - Parcel resource usage information + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a Parcel Update request + + - - Raised when the parcel your agent is located sends a ParcelMediaCommand + + - - Raises the ParcelDwellReply event - A ParcelDwellReplyEventArgs object containing the - data returned from the simulator + + - - Raises the ParcelInfoReply event - A ParcelInfoReplyEventArgs object containing the - data returned from the simulator + + - - Raises the ParcelProperties event - A ParcelPropertiesEventArgs object containing the - data returned from the simulator + + - - Raises the ParcelAccessListReply event - A ParcelAccessListReplyEventArgs object containing the - data returned from the simulator + + - - Raises the ParcelObjectOwnersReply event - A ParcelObjectOwnersReplyEventArgs object containing the - data returned from the simulator + + - - Raises the SimParcelsDownloaded event - A SimParcelsDownloadedEventArgs object containing the - data returned from the simulator + + - - Raises the ForceSelectObjectsReply event - A ForceSelectObjectsReplyEventArgs object containing the - data returned from the simulator + + - - Raises the ParcelMediaUpdateReply event - A ParcelMediaUpdateReplyEventArgs object containing the - data returned from the simulator + + - - Raises the ParcelMediaCommand event - A ParcelMediaCommandEventArgs object containing the - data returned from the simulator + + - - - Request basic information for a single parcel - - Simulator-local ID of the parcel + + - - - Request properties of a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - multiple simultaneous requests + + - - - Request the access list for a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelAccessList reply, useful for distinguishing between - multiple simultaneous requests - - + + - - - Request properties of parcels using a bounding box selection - - Simulator containing the parcel - Northern boundary of the parcel selection - Eastern boundary of the parcel selection - Southern boundary of the parcel selection - Western boundary of the parcel selection - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - different types of parcel property requests - A boolean that is returned with the - ParcelProperties reply, useful for snapping focus to a single - parcel + + - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) + + - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) - If TRUE, will force a full refresh - Number of milliseconds to pause in between each request + + - - - Request the dwell value for a parcel - - Simulator containing the parcel - Simulator-local ID of the parcel + + - - - Send a request to Purchase a parcel of land - - The Simulator the parcel is located in - The parcels region specific local ID - true if this parcel is being purchased by a group - The groups - true to remove tier contribution if purchase is successful - The parcels size - The purchase price of the parcel - - + + - - - Reclaim a parcel of land - - The simulator the parcel is in - The parcels region specific local ID + + - - - Deed a parcel to a group - - The simulator the parcel is in - The parcels region specific local ID - The groups + + - - - Request prim owners of a parcel of land. - - Simulator parcel is in - The parcels region specific local ID + + - - - Return objects from a parcel - - Simulator parcel is in - The parcels region specific local ID - the type of objects to return, - A list containing object owners s to return + + - - - Subdivide (split) a parcel - - - - - - - - - - - + + - - - Join two parcels of land creating a single parcel - - - - - - - - - - - + + - - - Get a parcels LocalID - - Simulator parcel is in - Vector3 position in simulator (Z not used) - 0 on failure, or parcel LocalID on success. - A call to Parcels.RequestAllSimParcels is required to populate map and - dictionary. + + - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + + - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + + - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + + - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - Height at which the terraform operation is acting at + + - - - Sends a request to the simulator to return a list of objects owned by specific owners - - Simulator local ID of parcel - Owners, Others, Etc - List containing keys of avatars objects to select; - if List is null will return Objects of type selectType - Response data is returned in the event + + - - - Eject and optionally ban a user from a parcel - - target key of avatar to eject - true to also ban target + + - - - Freeze or unfreeze an avatar over your land - - target key to freeze - true to freeze, false to unfreeze + + - - - Abandon a parcel of land - - Simulator parcel is in - Simulator local ID of parcel + + - - - Requests the UUID of the parcel in a remote region at a specified location - - Location of the parcel in the remote region - Remote region handle - Remote region UUID - If successful UUID of the remote parcel, UUID.Zero otherwise + + - - - Retrieves information on resources used by the parcel - - UUID of the parcel - Should per object resource usage be requested - Callback invoked when the request is complete + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + - - Contains a parcels dwell data returned from the simulator in response to an + + - - - Construct a new instance of the ParcelDwellReplyEventArgs class - - The global ID of the parcel - The simulator specific ID of the parcel - The calculated dwell for the parcel + + - - Get the global ID of the parcel + + - - Get the simulator specific ID of the parcel + + - - Get the calculated dwell + + - - Contains basic parcel information data returned from the - simulator in response to an request + + - - - Construct a new instance of the ParcelInfoReplyEventArgs class - - The object containing basic parcel info + + - - Get the object containing basic parcel info + + - - Contains basic parcel information data returned from the simulator in response to an request + + - - - Construct a new instance of the ParcelPropertiesEventArgs class - - The object containing the details - The object containing the details - The result of the request - The number of primitieves your agent is - currently selecting and or sitting on in this parcel - The user assigned ID used to correlate a request with - these results - TODO: + + - - Get the simulator the parcel is located in + + - - Get the object containing the details - If Result is NoData, this object will not contain valid data + + - - Get the result of the request + + - - Get the number of primitieves your agent is - currently selecting and or sitting on in this parcel + + - - Get the user assigned ID used to correlate a request with - these results + + - - TODO: + + - - Contains blacklist and whitelist data returned from the simulator in response to an request + + - - - Construct a new instance of the ParcelAccessListReplyEventArgs class - - The simulator the parcel is located in - The user assigned ID used to correlate a request with - these results - The simulator specific ID of the parcel - TODO: - The list containing the white/blacklisted agents for the parcel + + - - Get the simulator the parcel is located in + + - - Get the user assigned ID used to correlate a request with - these results + + - - Get the simulator specific ID of the parcel + + - - TODO: + + - - Get the list containing the white/blacklisted agents for the parcel + + - - Contains blacklist and whitelist data returned from the - simulator in response to an request + + - - - Construct a new instance of the ParcelObjectOwnersReplyEventArgs class - - The simulator the parcel is located in - The list containing prim ownership counts + + - - Get the simulator the parcel is located in + + - - Get the list containing prim ownership counts + + - - Contains the data returned when all parcel data has been retrieved from a simulator + + - - - Construct a new instance of the SimParcelsDownloadedEventArgs class - - The simulator the parcel data was retrieved from - The dictionary containing the parcel data - The multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + + - - Get the simulator the parcel data was retrieved from + + - - A dictionary containing the parcel data where the key correlates to the ParcelMap entry + + - - Get the multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + + - - Contains the data returned when a request + + - - - Construct a new instance of the ForceSelectObjectsReplyEventArgs class - - The simulator the parcel data was retrieved from - The list of primitive IDs - true if the list is clean and contains the information - only for a given request + + - - Get the simulator the parcel data was retrieved from + + - - Get the list of primitive IDs + + - - true if the list is clean and contains the information - only for a given request + + - - Contains data when the media data for a parcel the avatar is on changes + + - - - Construct a new instance of the ParcelMediaUpdateReplyEventArgs class - - the simulator the parcel media data was updated in - The updated media information + + - - Get the simulator the parcel media data was updated in + + - - Get the updated media information + + - - Contains the media command for a parcel the agent is currently on + + - - - Construct a new instance of the ParcelMediaCommandEventArgs class - - The simulator the parcel media command was issued in - - - - - The media command that was sent - - + + - - Get the simulator the parcel media command was issued in + + - - - + + - - - + + - - Get the media command that was sent + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - - - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - - - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - - - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - - - - - + + - - - - - - - + + - - - - - - - - - + + - - - + + - - - - - - - + + - - - - - - - + + - - - - - + + - - - Class for controlling various system settings. - - Some values are readonly because they affect things that - happen when the GridClient object is initialized, so changing them at - runtime won't do any good. Non-readonly values may affect things that - happen at login or dynamically + + - - Constructor - Reference to a GridClient object + + - - Main grid login server + + - - Beta grid login server + + - - - InventoryManager requests inventory information on login, - GridClient initializes an Inventory store for main inventory. - + + - - - InventoryManager requests library information on login, - GridClient initializes an Inventory store for the library. - + + - - Number of milliseconds between sending pings to each sim + + - - Number of milliseconds between sending camera updates + + - - Number of milliseconds between updating the current - positions of moving, non-accelerating and non-colliding objects + + - - Millisecond interval between ticks, where all ACKs are - sent out and the age of unACKed packets is checked + + - - The initial size of the packet inbox, where packets are - stored before processing + + - - Maximum size of packet that we want to send over the wire + + - - The maximum value of a packet sequence number before it - rolls over back to one + + - - The maximum size of the sequence number archive, used to - check for resent and/or duplicate packets + + - - The relative directory where external resources are kept + + - - Login server to connect to + + - - IP Address the client will bind to + + - - Use XML-RPC Login or LLSD Login, default is XML-RPC Login + + - - Number of milliseconds before an asset transfer will time - out + + - - Number of milliseconds before a teleport attempt will time - out + + - - Number of milliseconds before NetworkManager.Logout() will - time out + + - - Number of milliseconds before a CAPS call will time out - Setting this too low will cause web requests time out and - possibly retry repeatedly + + - - Number of milliseconds for xml-rpc to timeout + + - - Milliseconds before a packet is assumed lost and resent + + + + + - - Milliseconds without receiving a packet before the - connection to a simulator is assumed lost + + - - Milliseconds to wait for a simulator info request through - the grid interface + + - - Maximum number of queued ACKs to be sent before SendAcks() - is forced + + - - Network stats queue length (seconds) + + - - Enable/disable storing terrain heightmaps in the - TerrainManager + + - - Enable/disable sending periodic camera updates + + - - Enable/disable automatically setting agent appearance at - login and after sim crossing + + - - Enable/disable automatically setting the bandwidth throttle - after connecting to each simulator - The default throttle uses the equivalent of the maximum - bandwidth setting in the official client. If you do not set a - throttle your connection will by default be throttled well below - the minimum values and you may experience connection problems + + - - Enable/disable the sending of pings to monitor lag and - packet loss + + - - Should we connect to multiple sims? This will allow - viewing in to neighboring simulators and sim crossings - (Experimental) + + - - If true, all object update packets will be decoded in to - native objects. If false, only updates for our own agent will be - decoded. Registering an event handler will force objects for that - type to always be decoded. If this is disabled the object tracking - will have missing or partial prim and avatar information + + - - If true, when a cached object check is received from the - server the full object info will automatically be requested + + - - Whether to establish connections to HTTP capabilities - servers for simulators + + - - Whether to decode sim stats + + - - The capabilities servers are currently designed to - periodically return a 502 error which signals for the client to - re-establish a connection. Set this to true to log those 502 errors + + - - If true, any reference received for a folder or item - the library is not aware of will automatically be fetched + + - - If true, and SEND_AGENT_UPDATES is true, - AgentUpdate packets will continuously be sent out to give the bot - smoother movement and autopiloting + + - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectAvatars. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received + + - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectPrimitives. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received + + - - If true, position and velocity will periodically be - interpolated (extrapolated, technically) for objects and - avatars that are being tracked by the library. This is - necessary to increase the accuracy of speed and position - estimates for simulated objects + + - - - If true, utilization statistics will be tracked. There is a minor penalty - in CPU time for enabling this option. - + + - - If true, parcel details will be stored in the - Simulator.Parcels dictionary as they are received + + - - - If true, an incoming parcel properties reply will automatically send - a request for the parcel access list - + + - - - if true, an incoming parcel properties reply will automatically send - a request for the traffic count. - + + - - - If true, images, and other assets downloaded from the server - will be cached in a local directory - + + - - Path to store cached texture data + + - - Maximum size cached files are allowed to take on disk (bytes) + + - - Default color used for viewer particle effects + + - - Maximum number of times to resend a failed packet + + - - Throttle outgoing packet rate + + - - UUID of a texture used by some viewers to indentify type of client used + + - - - Download textures using GetTexture capability when available - + + - - The maximum number of concurrent texture downloads allowed - Increasing this number will not necessarily increase texture retrieval times due to - simulator throttles + + - - - The Refresh timer inteval is used to set the delay between checks for stalled texture downloads - - This is a static variable which applies to all instances + + - - - Textures taking longer than this value will be flagged as timed out and removed from the pipeline - + + - - - Get or set the minimum log level to output to the console by default - If the library is not compiled with DEBUG defined and this level is set to DEBUG - You will get no output on the console. This behavior can be overriden by creating - a logger configuration file for log4net - + + - - Attach avatar names to log messages + + - - Log packet retransmission info + + - - Cost of uploading an asset - Read-only since this value is dynamically fetched at login + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - - Simulator (region) properties - + + - - No flags set + + - - Agents can take damage and be killed + + - - Landmarks can be created here + + - - Home position can be set in this sim + + - - Home position is reset when an agent teleports away + + - - Sun does not move + + - - No object, land, etc. taxes + + - - Disable heightmap alterations (agents can still plant - foliage) + + - - Land cannot be released, sold, or purchased + + - - All content is wiped nightly + + - - Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) + + - - Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. + + - - Region does not update agent prim interest lists. Internal debugging option. + + - - No collision detection for non-agent objects + + - - No scripts are ran + + - - All physics processing is turned off + + - - Region can be seen from other regions on world map. (Legacy world map option?) + + - - Region can be seen from mainland on world map. (Legacy world map option?) + + - - Agents not explicitly on the access list can visit the region. + + - - Traffic calculations are not run across entire region, overrides parcel settings. + + - - Flight is disabled (not currently enforced by the sim) + + - - Allow direct (p2p) teleporting + + - - Estate owner has temporarily disabled scripting + + - - Restricts the usage of the LSL llPushObject function, applies to whole region. + + + + + - - Deny agents with no payment info on file + + - - Deny agents with payment info on file + + - - Deny agents who have made a monetary transaction + + - - Parcels within the region may be joined or divided by anyone, not just estate owners/managers. + + - - Abuse reports sent from within this region are sent to the estate owner defined email. + + - - Region is Voice Enabled + + - - Removes the ability from parcel owners to set their parcels to show in search. + + - - Deny agents who have not been age verified from entering the region. + + - - - Access level for a simulator - + + - - Unknown or invalid access level + + - - Trial accounts allowed + + - - PG rating + + - - Mature rating + + - - Adult rating + + - - Simulator is offline + + - - Simulator does not exist + + - - - + + - - - - Reference to the GridClient object - IPEndPoint of the simulator - handle of the simulator + + - - - Simulator Statistics - + + - - Total number of packets sent by this simulator to this agent + + - - Total number of packets received by this simulator to this agent + + - - Total number of bytes sent by this simulator to this agent + + - - Total number of bytes received by this simulator to this agent + + - - Time in seconds agent has been connected to simulator + + - - Total number of packets that have been resent + + - - Total number of resent packets recieved + + - - Total number of pings sent to this simulator by this agent + + - - Total number of ping replies sent to this agent by this simulator + + - - - Incoming bytes per second - - It would be nice to have this claculated on the fly, but - this is far, far easier + + - - - Outgoing bytes per second - - It would be nice to have this claculated on the fly, but - this is far, far easier + + - - Time last ping was sent + + - - ID of last Ping sent + + - - - + + - - - + + - - Current time dilation of this simulator + + - - Current Frames per second of simulator + + - - Current Physics frames per second of simulator + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - Total number of objects Simulator is simulating + + - - Total number of Active (Scripted) objects running + + - - Number of agents currently in this simulator + + - - Number of agents in neighbor simulators + + - - Number of Active scripts running in this simulator + + - - - + + - - - + + - - - + + - - Number of downloads pending + + - - Number of uploads pending + + - - - + + - - - + + - - Number of local uploads pending + + - - Unacknowledged bytes in queue + + - - A public reference to the client that this Simulator object - is attached to + + - - A Unique Cache identifier for this simulator + + - - The capabilities for this simulator + + - - - + + - - The current version of software this simulator is running + + - - - + + - - A 64x64 grid of parcel coloring values. The values stored - in this array are of the type + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - true if your agent has Estate Manager rights on this region + + - - - + + - - - + + - - - + + - - Statistics information for this simulator and the - connection to the simulator, calculated by the simulator itself - and the library + + - - The regions Unique ID + + - - The physical data center the simulator is located - Known values are: - DallasChandlerSF + + - - The CPU Class of the simulator - Most full mainland/estate sims appear to be 5, - Homesteads and Openspace appear to be 501 + + - - The number of regions sharing the same CPU as this one - "Full Sims" appear to be 1, Homesteads appear to be 4 + + - - The billing product name - Known values are: - Mainland / Full Region (Sku: 023)Estate / Full Region (Sku: 024)Estate / Openspace (Sku: 027)Estate / Homestead (Sku: 029)Mainland / Homestead (Sku: 129) (Linden Owned)Mainland / Linden Homes (Sku: 131) + + - - The billing product SKU - Known values are: - 023 Mainland / Full Region024 Estate / Full Region027 Estate / Openspace029 Estate / Homestead129 Mainland / Homestead (Linden Owned)131 Linden Homes / Full Region + + - - The current sequence number for packets sent to this - simulator. Must be Interlocked before modifying. Only - useful for applications manipulating sequence numbers + + - - - A thread-safe dictionary containing avatars in a simulator - + + - - - A thread-safe dictionary containing primitives in a simulator - + + - - - Provides access to an internal thread-safe dictionary containing parcel - information found in this simulator - + + - - Used internally to track sim disconnections + + - - Event that is triggered when the simulator successfully - establishes a connection + + - - Whether this sim is currently connected or not. Hooked up - to the property Connected + + - - Coarse locations of avatars in this simulator + + - - AvatarPositions key representing TrackAgent target + + - - Sequence numbers of packets we've received - (for duplicate checking) + + - - Packets we sent out that need ACKs from the simulator + + - - Sequence number for pause/resume + + - - Indicates if UDP connection to the sim is fully established + + - - - Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - + + - - The IP address and port of the server + + - - Whether there is a working connection to the simulator or - not + + - - Coarse locations of avatars in this simulator + + - - AvatarPositions key representing TrackAgent target + + - - Indicates if UDP connection to the sim is fully established + + - - - Checks simulator parcel map to make sure it has downloaded all data successfully - - true if map is full (contains no 0's) + + - - - Called when this Simulator object is being destroyed - + + - - - Attempt to connect to this simulator - - Whether to move our agent in to this sim or not - True if the connection succeeded or connection status is - unknown, false if there was a failure + + - - - Initiates connection to the simulator - + + - - - Disconnect from this simulator - + + - - - Instructs the simulator to stop sending update (and possibly other) packets - + + - - - Instructs the simulator to resume sending update packets (unpause) - + + - - - Retrieve the terrain height at a given coordinate - - Sim X coordinate, valid range is from 0 to 255 - Sim Y coordinate, valid range is from 0 to 255 - The terrain height at the given point if the - lookup was successful, otherwise 0.0f - True if the lookup was successful, otherwise false + + - - - Sends a packet - - Packet to be sent + + - - - + + - - - Returns Simulator Name as a String - - - + + - - - - - + + - - - - - - - + + - - - Sends out pending acknowledgements - - Number of ACKs sent + + - - - Resend unacknowledged packets - + + - - - + + - - - Construct a new instance of the SoundManager class, used for playing and receiving - sound assets - - A reference to the current GridClient instance + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - Raised when the simulator sends us data containing - sound + + - - Raised when the simulator sends us data containing - ... + + - - Raised when the simulator sends us data containing - ... + + - - Raised when the simulator sends us data containing - ... + + - - Raises the AttachedSound Event - A AttachedSoundEventArgs object containing - the data sent from the simulator + + - - Raises the AttachedSoundGainChange Event - A AttachedSoundGainChangeEventArgs object containing - the data sent from the simulator + + - - Raises the SoundTrigger Event - A SoundTriggerEventArgs object containing - the data sent from the simulator + + - - Raises the PreloadSound Event - A PreloadSoundEventArgs object containing - the data sent from the simulator + + - - - Plays a sound in the current region at full volume from avatar position - - UUID of the sound to be played + + - - - Plays a sound in the current region at full volume - - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. + + - - - Plays a sound in the current region - - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 + + - - - Plays a sound in the specified sim - - UUID of the sound to be played. - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 + + - - - Play a sound asset - - UUID of the sound to be played. - handle id for the sim to be played in. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Provides data for the event - The event occurs when the simulator sends - the sound data which emits from an agents attachment - - The following code example shows the process to subscribe to the event - and a stub to handle the data passed from the simulator - - // Subscribe to the AttachedSound event - Client.Sound.AttachedSound += Sound_AttachedSound; - // process the data raised in the event here - private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) - { - // ... Process AttachedSoundEventArgs here ... - } - + + - - - Construct a new instance of the SoundTriggerEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The volume level - The + + - - Simulator where the event originated + + - - Get the sound asset id + + - - Get the ID of the owner + + - - Get the ID of the Object + + - - Get the volume level + + - - Get the + + - - Provides data for the event - The event occurs when an attached sound - changes its volume level + + - - - Construct a new instance of the AttachedSoundGainChangedEventArgs class - - Simulator where the event originated - The ID of the Object - The new volume level + + - - Simulator where the event originated + + - - Get the ID of the Object + + - - Get the volume level + + - - Provides data for the event - - The event occurs when the simulator forwards - a request made by yourself or another agent to play either an asset sound or a built in sound - Requests to play sounds where the is not one of the built-in - will require sending a request to download the sound asset before it can be played - - - The following code example uses the , - and - properties to display some information on a sound request on the window. - - // subscribe to the event - Client.Sound.SoundTrigger += Sound_SoundTrigger; - // play the pre-defined BELL_TING sound - Client.Sound.SendSoundTrigger(Sounds.BELL_TING); - // handle the response data - private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) - { - Console.WriteLine("{0} played the sound {1} at volume {2}", - e.OwnerID, e.SoundID, e.Gain); - } - + + - - - Construct a new instance of the SoundTriggerEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The ID of the objects parent - The volume level - The regionhandle - The source position + + - - Simulator where the event originated + + - - Get the sound asset id + + - - Get the ID of the owner + + - - Get the ID of the Object + + - - Get the ID of the objects parent + + - - Get the volume level + + - - Get the regionhandle + + - - Get the source position + + - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - + + - - - Construct a new instance of the PreloadSoundEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object + + - - Simulator where the event originated + + - - Get the sound asset id + + - - Get the ID of the owner + + - - Get the ID of the Object + + - - - pre-defined built in sounds - + + + + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - coins + + - - cash register bell + + - - - + + - - - + + - - rubber + + - - plastic + + - - flesh + + - - wood splintering? + + - - glass break + + - - metal clunk + + - - whoosh + + - - shake + + - - - + + - - ding + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - A dictionary containing all pre-defined sounds - - A dictionary containing the pre-defined sounds, - where the key is the sounds ID, and the value is a string - containing a name to identify the purpose of the sound + + - - X position of this patch + + - - Y position of this patch + + - - A 16x16 array of floats holding decompressed layer data + + - - - Creates a LayerData packet for compressed land data given a full - simulator heightmap and an array of indices of patches to compress - - A 256 * 256 array of floating point values - specifying the height at each meter in the simulator - Array of indexes in the 16x16 grid of patches - for this simulator. For example if 1 and 17 are specified, patches - x=1,y=0 and x=1,y=1 are sent - - + + - - - Add a patch of terrain to a BitPacker - - BitPacker to write the patch to - Heightmap of the simulator, must be a 256 * - 256 float array - X offset of the patch to create, valid values are - from 0 to 15 - Y offset of the patch to create, valid values are - from 0 to 15 + + - - - Default constructor - - - + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - Raised when the simulator responds sends + + - - Raises the LandPatchReceived event - A LandPatchReceivedEventArgs object containing the - data returned from the simulator + + - - Simulator from that sent tha data + + - - Sim coordinate of the patch + + - - Sim coordinate of the patch + + - - Size of tha patch + + - - Heightmap for the patch + + - - - The current status of a texture request as it moves through the pipeline or final result of a texture request. - + + - - The initial state given to a request. Requests in this state - are waiting for an available slot in the pipeline + + - - A request that has been added to the pipeline and the request packet - has been sent to the simulator + + - - A request that has received one or more packets back from the simulator + + - - A request that has received all packets back from the simulator + + - - A request that has taken longer than - to download OR the initial packet containing the packet information was never received + + - - The texture request was aborted by request of the agent + + - - The simulator replied to the request that it was not able to find the requested texture + + - - - Texture request download handler, allows a configurable number of download slots which manage multiple - concurrent texture downloads from the - This class makes full use of the internal - system for full texture downloads. + + - - - Default constructor, Instantiates a new copy of the TexturePipeline class - - Reference to the instantiated object + + - - - A request task containing information and status of a request as it is processed through the + + - - The current which identifies the current status of the request + + - - The Unique Request ID, This is also the Asset ID of the texture being requested + + - - The slot this request is occupying in the threadpoolSlots array + + + + + - - The ImageType of the request. + + - - The callback to fire when the request is complete, will include - the and the - object containing the result data + + - - If true, indicates the callback will be fired whenever new data is returned from the simulator. - This is used to progressively render textures as portions of the texture are received. + + - - An object that maintains the data of an request thats in-process. + + - - A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID - and also the Asset Texture ID, and the value is an object containing the current state of the request and also - the asset data as it is being re-assembled + + - - Holds the reference to the client object + + - - Maximum concurrent texture requests allowed at a time + + - - An array of objects used to manage worker request threads + + - - An array of worker slots which shows the availablity status of the slot + + - - The primary thread which manages the requests. + + - - true if the TexturePipeline is currently running + + - - A synchronization object used by the primary thread + + - - A refresh timer used to increase the priority of stalled requests + + - - Current number of pending and in-process transfers + + - - - Initialize callbacks required for the TexturePipeline to operate - + + - - - Shutdown the TexturePipeline and cleanup any callbacks or transfers - + + - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request + + - - - Sends the actual request packet to the simulator - - The image to download - Type of the image to download, either a baked - avatar texture or a normal texture - Priority level of the download. Default is - 1,013,000.0f - Number of quality layers to discard. - This controls the end marker of the data sent - Packet number to start the download at. - This controls the start marker of the data sent - Sending a priority of 0 and a discardlevel of -1 aborts - download + + - - - Cancel a pending or in process texture request - - The texture assets unique ID + + - - - Master Download Thread, Queues up downloads in the threadpool - + + - - - The worker thread that sends the request and handles timeouts - - A object containing the request details + + - - - Handle responses from the simulator that tell us a texture we have requested is unable to be located - or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use - - The sender - The EventArgs object containing the packet data + + - - - Handles the remaining Image data that did not fit in the initial ImageData packet - - The sender - The EventArgs object containing the packet data + + - - - Handle the initial ImageDataPacket sent from the simulator - - The sender - The EventArgs object containing the packet data + + - - - + + - - - Delegate to wrap another delegate and its arguments - - - - - + + - - - An instance of DelegateWrapper which calls InvokeWrappedDelegate, - which in turn calls the DynamicInvoke method of the wrapped - delegate - + + - - - Callback used to call EndInvoke on the asynchronously - invoked DelegateWrapper - + + - - - Executes the specified delegate with the specified arguments - asynchronously on a thread pool thread - - - - - + + - - - Invokes the wrapped delegate synchronously - - - - - + + - - - Calls EndInvoke on the wrapper and Close on the resulting WaitHandle - to prevent resource leaks - - - + + - - - + + - - - Initialize the UDP packet handler in server mode - - Port to listening for incoming UDP packets on + + - - - Initialize the UDP packet handler in client mode - - Remote UDP server to connect to + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - Thrown when a packet could not be successfully deserialized - + + - - - Default constructor - + + - - - Constructor that takes an additional error message - - An error message to attach to this exception + + - - - The header of a message template packet. Holds packet flags, sequence - number, packet ID, and any ACKs that will be appended at the end of - the packet - + + - - - Convert the AckList to a byte array, used for packet serializing - - Reference to the target byte array - Beginning position to start writing to in the byte - array, will be updated with the ending position of the ACK list + + - - - - - - - - - - - + + - - - - - - - - - + + - - - A block of data in a packet. Packets are composed of one or more blocks, - each block containing one or more fields - + + - - Current length of the data in this packet + + - - - Create a block from a byte array - - Byte array containing the serialized block - Starting position of the block in the byte array. - This will point to the data after the end of the block when the - call returns + + - - - Serialize this block into a byte array - - Byte array to serialize this block into - Starting position in the byte array to serialize to. - This will point to the position directly after the end of the - serialized block when the call returns + + - - A generic value, not an actual packet type + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + Avatar group management + - - + + Key of Group Member - - + + Total land contribution - - + + Online status information - - + + Abilities that the Group Member has - - + + Current group title - - + + Is a group owner - - + + + Role manager for a group + - - + + Key of the group - - + + Key of Role - - + + Name of Role - - + + Group Title associated with Role - - + + Description of Role - - + + Abilities Associated with Role - - + + Returns the role's title + The role's title - - + + + Class to represent Group Title + - - + + Key of the group - - + + ID of the role title belongs to - - + + Group Title - - + + Whether title is Active - - + + Returns group title - - + + + Represents a group on the grid + - - + + Key of Group - - + + Key of Group Insignia - - + + Key of Group Founder - - + + Key of Group Role for Owners - - + + Name of Group - - + + Text of Group Charter - - + + Title of "everyone" role - - + + Is the group open for enrolement to everyone - - + + Will group show up in search - - + + - - + + - - + + - - + + Is the group Mature - - + + Cost of group membership - - + + - - + + - - + + The total number of current members this group has - - + + The number of roles this group has configured - - + + Show this group in agent's profile - - + + Returns the name of the group + A string containing the name of the group - - + + + A group Vote + - - + + Key of Avatar who created Vote - - + + Text of the Vote proposal - - + + Total number of votes - - + + + A group proposal + - - + + The Text of the proposal - - + + The minimum number of members that must vote before proposal passes or failes - - + + The required ration of yes/no votes required for vote to pass + The three options are Simple Majority, 2/3 Majority, and Unanimous + TODO: this should be an enum - - + + The duration in days votes are accepted - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + Struct representing a group notice + - - + + - - + + - - + + - - + + - - + + + + + - - + + + Struct representing a group notice list entry + - - + + Notice ID - - + + Creation timestamp of notice - - + + Agent name who created notice - - + + Notice subject - - + + Is there an attachment? - - + + Attachment Type - - + + + Struct representing a member of a group chat session and their settings + - - + + The of the Avatar - - + + True if user has voice chat enabled - - + + True of Avatar has moderator abilities - - + + True if a moderator has muted this avatars chat - - + + True if a moderator has muted this avatars voice - - + + + Role update flags + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + Can send invitations to groups default role - - + + Can eject members from group - - + + Can toggle 'Open Enrollment' and change 'Signup fee' - - + + Member is visible in the public member list - - + + Can create new roles - - + + Can delete existing roles - - + + Can change Role names, titles and descriptions - - + + Can assign other members to assigners role - - + + Can assign other members to any role - - + + Can remove members from roles - - + + Can assign and remove abilities in roles - - + + Can change group Charter, Insignia, 'Publish on the web' and which + members are publicly visible in group member listings - - + + Can buy land or deed land to group - - + + Can abandon group owned land to Governor Linden on mainland, or Estate owner for + private estates - - + + Can set land for-sale information on group owned parcels - - + + Can subdivide and join parcels - - + + Can join group chat sessions - - + + Can use voice chat in Group Chat sessions - - + + Can moderate group chat sessions - - + + Can toggle "Show in Find Places" and set search category - - + + Can change parcel name, description, and 'Publish on web' settings - - + + Can set the landing point and teleport routing on group land - - + + Can change music and media settings - - + + Can toggle 'Edit Terrain' option in Land settings - - + + Can toggle various About Land > Options settings - - + + Can always terraform land, even if parcel settings have it turned off - - + + Can always fly while over group owned land - - + + Can always rez objects on group owned land - - + + Can always create landmarks for group owned parcels - - + + Can set home location on any group owned parcel - - + + Can modify public access settings for group owned parcels - - + + Can manager parcel ban lists on group owned land - - + + Can manage pass list sales information - - + + Can eject and freeze other avatars on group owned land - - + + Can return objects set to group - - + + Can return non-group owned/set objects - - + + Can return group owned objects - - + + Can landscape using Linden plants - - + + Can deed objects to group - - + + Can move group owned objects - - + + Can set group owned objects for-sale - - + + Pay group liabilities and receive group dividends - - + + Can send group notices - - + + Can receive group notices - - + + Can create group proposals - - + + Can vote on group proposals - - + + + Handles all network traffic related to reading and writing group + information + - - + + The event subscribers. null if no subcribers - - + + Raises the CurrentGroups event + A CurrentGroupsEventArgs object containing the + data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupNamesReply event + A GroupNamesEventArgs object containing the + data response from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupProfile event + An GroupProfileEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupMembers event + A GroupMembersEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupRolesDataReply event + A GroupRolesDataReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupRoleMembersReply event + A GroupRolesRoleMembersReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupTitlesReply event + A GroupTitlesReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupAccountSummary event + A GroupAccountSummaryReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupCreated event + An GroupCreatedEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupJoined event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupLeft event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupDropped event + An GroupDroppedEventArgs object containing the + the group your agent left - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupMemberEjected event + An GroupMemberEjectedEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupNoticesListReply event + An GroupNoticesListReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupInvitation event + An GroupInvitationEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + A reference to the current instance - - + + Currently-active group members requests - - + + Currently-active group roles requests - - + + Currently-active group role-member requests - - + + Dictionary keeping group members while request is in progress - - + + Dictionary keeping mebmer/role mapping while request is in progress - - + + Dictionary keeping GroupRole information while request is in progress - - + + Caches group name lookups - - + + + Construct a new instance of the GroupManager class + + A reference to the current instance - - + + + Request a current list of groups the avatar is a member of. + + CAPS Event Queue must be running for this to work since the results + come across CAPS. - - + + + Lookup name of group based on groupID + + groupID of group to lookup name for. - - + + + Request lookup of multiple group names + + List of group IDs to request. - - + + Lookup group profile data such as name, enrollment, founder, logo, etc + Subscribe to OnGroupProfile event to receive the results. + group ID (UUID) - - + + Request a list of group members. + Subscribe to OnGroupMembers event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - + + Request group roles + Subscribe to OnGroupRoles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - + + Request members (members,role) role mapping for a group. + Subscribe to OnGroupRolesMembers event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - + + Request a groups Titles + Subscribe to OnGroupTitles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - + + Begin to get the group account summary + Subscribe to the OnGroupAccountSummary event to receive the results. + group ID (UUID) + How long of an interval + Which interval (0 for current, 1 for last) - - + + Invites a user to a group + The group to invite to + A list of roles to invite a person to + Key of person to invite - - + + Set a group as the current active group + group ID (UUID) - - + + Change the role that determines your active title + Group ID to use + Role ID to change to - - + + Set this avatar's tier contribution + Group ID to change tier in + amount of tier to donate - - + + + Save wheather agent wants to accept group notices and list this group in their profile + + Group + Accept notices from this group + List this group in the profile - - + + Request to join a group + Subscribe to OnGroupJoined event for confirmation. + group ID (UUID) to join. - - + + + Request to create a new group. If the group is successfully + created, L$100 will automatically be deducted + + Subscribe to OnGroupCreated event to receive confirmation. + Group struct containing the new group info - - + + Update a group's profile and other information + Groups ID (UUID) to update. + Group struct to update. - - + + Eject a user from a group + Group ID to eject the user from + Avatar's key to eject - - + + Update role information + Modified role to be updated - - + + Create a new group role + Group ID to update + Role to create - - + + Delete a group role + Group ID to update + Role to delete - - + + Remove an avatar from a role + Group ID to update + Role ID to be removed from + Avatar's Key to remove - - + + Assign an avatar to a role + Group ID to update + Role ID to assign to + Avatar's ID to assign to role - - + + Request the group notices list + Group ID to fetch notices for - - + + Request a group notice by key + ID of group notice - - + + Send out a group notice + Group ID to update + GroupNotice structure containing notice data - - + + Start a group proposal (vote) + The Group ID to send proposal to + GroupProposal structure containing the proposal - - + + Request to leave a group + Subscribe to OnGroupLeft event to receive confirmation + The group to leave - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Raised when the simulator sends us data containing + our current group membership - - + + Raised when the simulator responds to a RequestGroupName + or RequestGroupNames request - - + + Raised when the simulator responds to a request - - + + Raised when the simulator responds to a request - - + + Raised when the simulator responds to a request - - + + Raised when the simulator responds to a request - - + + Raised when the simulator responds to a request - - + + Raised when a response to a RequestGroupAccountSummary is returned + by the simulator - - + + Raised when a request to create a group is successful - - + + Raised when a request to join a group either + fails or succeeds - - + + Raised when a request to leave a group either + fails or succeeds - - + + Raised when A group is removed from the group server - - + + Raised when a request to eject a member from a group either + fails or succeeds - - + + Raised when the simulator sends us group notices + - - + + Raised when another agent invites our avatar to join a group - - + + Contains the current groups your agent is a member of - - + + Construct a new instance of the CurrentGroupsEventArgs class + The current groups your agent is a member of - - + + Get the current groups your agent is a member of - - + + A Dictionary of group names, where the Key is the groups ID and the value is the groups name - - + + Construct a new instance of the GroupNamesEventArgs class + The Group names dictionary - - + + Get the Group Names dictionary - - + + Represents the members of a group - - + + + Construct a new instance of the GroupMembersReplyEventArgs class + + The ID of the request + The ID of the group + The membership list of the group - - + + Get the ID as returned by the request to correlate + this result set and the request - - + + Get the ID of the group - - + + Get the dictionary of members - - + + Represents the roles associated with a group - - + + Construct a new instance of the GroupRolesDataReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The dictionary containing the roles - - + + Get the ID as returned by the request to correlate + this result set and the request - - + + Get the ID of the group - - + + Get the dictionary containing the roles - - + + Represents the Role to Member mappings for a group - - + + Construct a new instance of the GroupRolesMembersReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The member to roles map - - + + Get the ID as returned by the request to correlate + this result set and the request - - + + Get the ID of the group - - + + Get the member to roles map - - + + Represents the titles for a group - - + + Construct a new instance of the GroupTitlesReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The titles - - + + Get the ID as returned by the request to correlate + this result set and the request - - + + Get the ID of the group - - + + Get the titles - - + + Represents the summary data for a group - - + + Construct a new instance of the GroupAccountSummaryReplyEventArgs class + The ID of the group + The summary data - - + + Get the ID of the group - - + + Get the summary data - - + + A response to a group create request - - + + Construct a new instance of the GroupCreatedReplyEventArgs class + The ID of the group + the success or faulure of the request + A string containing additional information - - + + Get the ID of the group - - + + true of the group was created successfully - - + + A string containing the message - - + + Represents a response to a request - - + + Construct a new instance of the GroupOperationEventArgs class + The ID of the group + true of the request was successful - - + + Get the ID of the group - - + + true of the request was successful - - + + Represents your agent leaving a group - - + + Construct a new instance of the GroupDroppedEventArgs class + The ID of the group - - + + Get the ID of the group - - + + Represents a list of active group notices - - + + Construct a new instance of the GroupNoticesListReplyEventArgs class + The ID of the group + The list containing active notices - - + + Get the ID of the group - - + + Get the notices list - - + + Represents the profile of a group - - + + Construct a new instance of the GroupProfileEventArgs class + The group profile - - + + Get the group profile - - + + + Provides notification of a group invitation request sent by another Avatar + + The invitation is raised when another avatar makes an offer for our avatar + to join a group. - - + + The ID of the Avatar sending the group invitation - - + + The name of the Avatar sending the group invitation - - + + A message containing the request information which includes + the name of the group, the groups charter and the fee to join details - - + + The Simulator - - + + Set to true to accept invitation, false to decline - - + + + A Wrapper around openjpeg to encode and decode images to and from byte arrays + - - + + TGA Header size - - + + OpenJPEG is not threadsafe, so this object is used to lock + during calls into unmanaged code - - + + + Encode a object into a byte array + + The object to encode + true to enable lossless conversion, only useful for small images ie: sculptmaps + A byte array containing the encoded Image object - - + + + Encode a object into a byte array + + The object to encode + a byte array of the encoded image - - + + + Decode JPEG2000 data to an and + + + JPEG2000 encoded data + ManagedImage object to decode to + Image object to decode to + True if the decode succeeds, otherwise false - - + + + + + + + - - + + + + + + + + - - + + + Encode a object into a byte array + + The source object to encode + true to enable lossless decoding + A byte array containing the source Bitmap object - - + + + Defines the beginning and ending file positions of a layer in an + LRCP-progression JPEG2000 file + - - + + + This structure is used to marshal both encoded and decoded images. + MUST MATCH THE STRUCT IN dotnet.h! + - - + + + Information about a single packet in a JPEG2000 stream + - - + + Packet start position - - + + Packet header end position - - + + Packet end position - - + + + Represents a Landmark with RegionID and Position vector + - - + + UUID of the Landmark target region - - + + Local position of the target - - + + Construct an Asset of type Landmark - - + + + Construct an Asset object of type Landmark + + A unique specific to this asset + A byte array containing the raw asset data - - + + + Encode the raw contents of a string with the specific Landmark format + - - + + + Decode the raw asset data, populating the RegionID and Position + + true if the AssetData was successfully decoded to a UUID and Vector - - + + Override the base classes AssetType - - + + + Represents an that can be worn on an avatar + such as a Shirt, Pants, etc. + - - + + Initializes a new instance of an AssetScriptBinary object - - + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + Override the base classes AssetType - - + + + + - - + + + + - - + + + + - - + + + + - - + + + + + + - - + + + The ObservableDictionary class is used for storing key/value pairs. It has methods for firing + events to subscribers when items are added, removed, or changed. + + Key + Value - - + + + A dictionary of callbacks to fire when specified action occurs + - - + + + Register a callback to be fired when an action occurs + + The action + The callback to fire - - + + + Unregister a callback + + The action + The callback to fire - - + + + + + + - - + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking - - + + + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. + + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); + + - - + + + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. + + Initial size of dictionary + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); + + - - + + + Try to get entry from the with specified key + + Key to use for lookup + Value returned + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + - - + + + Finds the specified match. + + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + - - + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + - - + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + - - + + Check if Key exists in Dictionary + Key to check for + if found, otherwise - - + + Check if Value exists in Dictionary + Value to check for + if found, otherwise - - + + + Adds the specified key to the dictionary, dictionary locking is not performed, + + + The key + The value - - + + + Removes the specified key, dictionary locking is not performed + + The key. + if successful, otherwise - - + + + Clear the contents of the dictionary + - - + + + Enumerator for iterating dictionary entries + + - - + + + Gets the number of Key/Value pairs contained in the + - - + + + Indexer for the dictionary + + The key + The value - - + + Describes tasks returned in LandStatReply - - + + + Estate level administration and utilities + - - + + Textures for each of the four terrain height levels - - + + Upper/lower texture boundaries for each corner of the sim - - + + + Constructor for EstateTools class + + - - + + The event subscribers. null if no subcribers - - + + Raises the TopCollidersReply event + A TopCollidersReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the TopScriptsReply event + A TopScriptsReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the EstateUsersReply event + A EstateUsersReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the EstateGroupsReply event + A EstateGroupsReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the EstateManagersReply event + A EstateManagersReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the EstateBansReply event + A EstateBansReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the EstateCovenantReply event + A EstateCovenantReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the EstateUpdateInfoReply event + A EstateUpdateInfoReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + + Requests estate information such as top scripts and colliders + + + + + - - + + Requests estate settings, including estate manager and access/ban lists - - + + Requests the "Top Scripts" list for the current region - - + + Requests the "Top Colliders" list for the current region - - + + + Set several estate specific configuration variables + + The Height of the waterlevel over the entire estate. Defaults to 20 + The maximum height change allowed above the baked terrain. Defaults to 4 + The minimum height change allowed below the baked terrain. Defaults to -4 + true to use + if True forces the sun position to the position in SunPosition + The current position of the sun on the estate, or when FixedSun is true the static position + the sun will remain. 6.0 = Sunrise, 30.0 = Sunset - - + + + Request return of objects owned by specified avatar + + The Agents owning the primitives to return + specify the coverage and type of objects to be included in the return + true to perform return on entire estate - - + + + + - - + + + Used for setting and retrieving various estate panel settings + + EstateOwnerMessage Method field + List of parameters to include - - + + + Kick an avatar from an estate + + Key of Agent to remove - - + + + Ban an avatar from an estate + Key of Agent to remove + Ban user from this estate and all others owned by the estate owner - - + + Unban an avatar from an estate + Key of Agent to remove + /// Unban user from this estate and all others owned by the estate owner - - + + + Send a message dialog to everyone in an entire estate + + Message to send all users in the estate - - + + + Send a message dialog to everyone in a simulator + + Message to send all users in the simulator - - + + + Send an avatar back to their home location + + Key of avatar to send home - - + + + Begin the region restart process + - - + + + Cancels a region restart + - - + + Estate panel "Region" tab settings - - + + Estate panel "Debug" tab settings - - + + Used for setting the region's terrain textures for its four height levels + + + + - - + + Used for setting sim terrain texture heights - - + + Requests the estate covenant - - + + + Upload a terrain RAW file + + A byte array containing the encoded terrain data + The name of the file being uploaded + The Id of the transfer request - - + + + Teleports all users home in current Estate + - - + + + Remove estate manager + Key of Agent to Remove + removes manager to this estate and all others owned by the estate owner - - + + + Add estate manager + Key of Agent to Add + Add agent as manager to this estate and all others owned by the estate owner - - + + + Add's an agent to the estate Allowed list + Key of Agent to Add + Add agent as an allowed reisdent to All estates if true - - + + + Removes an agent from the estate Allowed list + Key of Agent to Remove + Removes agent as an allowed reisdent from All estates if true - - + + + + Add's a group to the estate Allowed list + Key of Group to Add + Add Group as an allowed group to All estates if true - - + + + + Removes a group from the estate Allowed list + Key of Group to Remove + Removes Group as an allowed Group from All estates if true - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Used in the ReportType field of a LandStatRequest - - + + Used by EstateOwnerMessage packets - - + + Used by EstateOwnerMessage packets - - + + + + - - + + No flags set - - + + Only return targets scripted objects - - + + Only return targets objects if on others land - - + + Returns target's scripted objects and objects on other parcels - - + + Ground texture settings for each corner of the region - - + + Used by GroundTextureHeightSettings - - + + The high and low texture thresholds for each corner of the sim - - + + Raised on LandStatReply when the report type is for "top colliders" - - + + Construct a new instance of the TopCollidersReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply - - + + + The number of returned items in LandStatReply + - - + + + A Dictionary of Object UUIDs to tasks returned in LandStatReply + - - + + Raised on LandStatReply when the report type is for "top Scripts" - - + + Construct a new instance of the TopScriptsReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply - - + + + The number of scripts returned in LandStatReply + - - + + + A Dictionary of Object UUIDs to tasks returned in LandStatReply + - - + + Returned, along with other info, upon a successful .RequestInfo() - - + + Construct a new instance of the EstateBansReplyEventArgs class + The estate's identifier on the grid + The number of returned items in LandStatReply + User UUIDs banned - - + + + The identifier of the estate + - - + + + The number of returned itmes + - - + + + List of UUIDs of Banned Users + - - + + Returned, along with other info, upon a successful .RequestInfo() - - + + Construct a new instance of the EstateUsersReplyEventArgs class + The estate's identifier on the grid + The number of users + Allowed users UUIDs - - + + + The identifier of the estate + - - + + + The number of returned items + - - + + + List of UUIDs of Allowed Users + - - + + Returned, along with other info, upon a successful .RequestInfo() - - + + Construct a new instance of the EstateGroupsReplyEventArgs class + The estate's identifier on the grid + The number of Groups + Allowed Groups UUIDs - - + + + The identifier of the estate + - - + + + The number of returned items + - - + + + List of UUIDs of Allowed Groups + - - + + Returned, along with other info, upon a successful .RequestInfo() - - + + Construct a new instance of the EstateManagersReplyEventArgs class + The estate's identifier on the grid + The number of Managers + Managers UUIDs - - + + + The identifier of the estate + - - + + + The number of returned items + - - + + + List of UUIDs of the Estate's Managers + - - + + Returned, along with other info, upon a successful .RequestInfo() - - + + Construct a new instance of the EstateCovenantReplyEventArgs class + The Covenant ID + The timestamp + The estate's name + The Estate Owner's ID (can be a GroupID) - - + + + The Covenant + - - + + + The timestamp + - - + + + The Estate name + - - + + + The Estate Owner's ID (can be a GroupID) + - - + + Returned, along with other info, upon a successful .RequestInfo() - - + + Construct a new instance of the EstateUpdateInfoReplyEventArgs class + The estate's name + The Estate Owners ID (can be a GroupID) + The estate's identifier on the grid + - - + + + The estate's name + - - + + + The Estate Owner's ID (can be a GroupID) + - - + + + The identifier of the estate on the grid + - - + + - - + + + Wrapper around a byte array that allows bit to be packed and unpacked + one at a time or by a variable amount. Useful for very tightly packed + data like LayerData packets + - - + + - - + + + Default constructor, initialize the bit packer / bit unpacker + with a byte array and starting position + + Byte array to pack bits in to or unpack from + Starting position in the byte array - - + + + Pack a floating point value in to the data + + Floating point value to pack - - + + + Pack part or all of an integer in to the data + + Integer containing the data to pack + Number of bits of the integer to pack - - + + + Pack part or all of an unsigned integer in to the data + + Unsigned integer containing the data to pack + Number of bits of the integer to pack - - + + + Pack a single bit in to the data + + Bit to pack - - + + + + + + + + - - + + + + + - - + + + + + - - + + + Unpacking a floating point value from the data + + Unpacked floating point value - - + + + Unpack a variable number of bits from the data in to integer format + + Number of bits to unpack + An integer containing the unpacked bits + This function is only useful up to 32 bits - - + + + Unpack a variable number of bits from the data in to unsigned + integer format + + Number of bits to unpack + An unsigned integer containing the unpacked bits + This function is only useful up to 32 bits - - + + + Unpack a 16-bit signed integer + + 16-bit signed integer - - + + + Unpack a 16-bit unsigned integer + + 16-bit unsigned integer - - + + + Unpack a 32-bit signed integer + + 32-bit signed integer - - + + + Unpack a 32-bit unsigned integer + + 32-bit unsigned integer - - + + - - + + - - + + + Checks the instance back into the object pool + - - + + + Returns an instance of the class that has been checked out of the Object Pool. + - - + + + Creates a new instance of the ObjectPoolBase class. Initialize MUST be called + after using this constructor. + - - + + + Creates a new instance of the ObjectPool Base class. + + The object pool is composed of segments, which + are allocated whenever the size of the pool is exceeded. The number of items + in a segment should be large enough that allocating a new segmeng is a rare + thing. For example, on a server that will have 10k people logged in at once, + the receive buffer object pool should have segment sizes of at least 1000 + byte arrays per segment. + + The minimun number of segments that may exist. + Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. + The frequency which segments are checked to see if they're eligible for cleanup. - - + + + Forces the segment cleanup algorithm to be run. This method is intended + primarly for use from the Unit Test libraries. + - - + + + Responsible for allocate 1 instance of an object that will be stored in a segment. + + An instance of whatever objec the pool is pooling. - - + + + Checks in an instance of T owned by the object pool. This method is only intended to be called + by the WrappedObject class. + + The segment from which the instance is checked out. + The instance of T to check back into the segment. - - + + + Checks an instance of T from the pool. If the pool is not sufficient to + allow the checkout, a new segment is created. + + A WrappedObject around the instance of T. To check + the instance back into the segment, be sureto dispose the WrappedObject + when finished. - - + + + The total number of segments created. Intended to be used by the Unit Tests. + - - + + + The number of items that are in a segment. Items in a segment + are all allocated at the same time, and are hopefully close to + each other in the managed heap. + - - + + + The minimum number of segments. When segments are reclaimed, + this number of segments will always be left alone. These + segments are allocated at startup. + - - + + + The age a segment must be before it's eligible for cleanup. + This is used to prevent thrash, and typical values are in + the 5 minute range. + - - + + + The frequence which the cleanup thread runs. This is typically + expected to be in the 5 minute range. + - - + + = - - + + Number of times we've received an unknown CAPS exception in series. - - + + For exponential backoff on error. - - + + + Represents a texture + - - + + A object containing image data - - + + - - + + - - + + Initializes a new instance of an AssetTexture object - - + + + Initializes a new instance of an AssetTexture object + + A unique specific to this asset + A byte array containing the raw asset data - - + + + Initializes a new instance of an AssetTexture object + + A object containing texture data - - + + + Populates the byte array with a JPEG2000 + encoded image created from the data in + - - + + + Decodes the JPEG2000 data in AssetData to the + object + + True if the decoding was successful, otherwise false - - + + + Decodes the begin and end byte positions for each quality layer in + the image + + - - + + Override the base classes AssetType - - + + + A Name Value pair with additional settings, used in the protocol + primarily to transmit avatar names and active group in object packets + - - + + - - + + - - + + - - + + - - + + - - + + + Constructor that takes all the fields as parameters + + + + + + - - + + + Constructor that takes a single line from a NameValue field + + - - + + Type of the value - - + + Unknown - - + + String value - - + + - - + + - - + + - - + + - - + + Deprecated - - + + String value, but designated as an asset - - + + - - + + + + - - + + - - + + - - + + - - + + - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + + Represents a single Voice Session to the Vivox service. + - - + + + Close this session. + - - + + + Look up an existing Participants in this session + + + - - + + + Represents an Animation + - - + + Default Constructor - - + + + Construct an Asset object of type Animation + + A unique specific to this asset + A byte array containing the raw asset data - - + + Override the base classes AssetType - - + + + Constants for the archiving module + - - + + + The location of the archive control file + - - + + + Path for the assets held in an archive + - - + + + Path for the prims file + - - + + + Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. + - - + + + Path for region settings. + - - + + + The character the separates the uuid from extension information in an archived asset filename + - - + + + Extensions used for asset types in the archive + - - + + + Represents an AssetScriptBinary object containing the + LSO compiled bytecode of an LSL script + - - + + Initializes a new instance of an AssetScriptBinary object - - + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + + TODO: Encodes a scripts contents into a LSO Bytecode file + - - + + + TODO: Decode LSO Bytecode into a string + + true - - + + Override the base classes AssetType - - + + + + - - + + No report - - + + Unknown report type - - + + Bug report - - + + Complaint report - - + + Customer service report - - + + + Bitflag field for ObjectUpdateCompressed data blocks, describing + which options are present for each object + - - + + Unknown - - + + Whether the object has a TreeSpecies - - + + Whether the object has floating text ala llSetText - - + + Whether the object has an active particle system - - + + Whether the object has sound attached to it - - + + Whether the object is attached to a root object or not - - + + Whether the object has texture animation settings - - + + Whether the object has an angular velocity - - + + Whether the object has a name value pairs string - - + + Whether the object has a Media URL set - - + + + Specific Flags for MultipleObjectUpdate requests + - - + + None - - + + Change position of prims - - + + Change rotation of prims - - + + Change size of prims - - + + Perform operation on link set - - + + Scale prims uniformly, same as selecing ctrl+shift in the + viewer. Used in conjunction with Scale - - + + + Special values in PayPriceReply. If the price is not one of these + literal value of the price should be use + - - + + + Indicates that this pay option should be hidden + - - + + + Indicates that this pay option should have the default value + - - + + + Contains the variables sent in an object update packet for objects. + Used to track position and movement of prims and avatars + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + Handles all network traffic related to prims and avatar positions and + movement. + - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the ObjectProperties Event + A ObjectPropertiesEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the ObjectPropertiesUpdated Event + A ObjectPropertiesUpdatedEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the ObjectPropertiesFamily Event + A ObjectPropertiesFamilyEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the AvatarUpdate Event + A AvatarUpdateEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the ObjectDataBlockUpdate Event + A ObjectDataBlockUpdateEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the KillObject Event + A KillObjectEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the AvatarSitChanged Event + A AvatarSitChangedEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the PayPriceReply Event + A PayPriceReplyEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Reference to the GridClient object - - + + Does periodic dead reckoning calculation to convert + velocity and acceleration to new positions for objects - - + + + Construct a new instance of the ObjectManager class + + A reference to the instance - - + + + Request information for a single object from a + you are currently connected to + + The the object is located + The Local ID of the object - - + + + Request information for multiple objects contained in + the same simulator + + The the objects are located + An array containing the Local IDs of the objects - - + + + Attempt to purchase an original object, a copy, or the contents of + an object + + The the object is located + The Local ID of the object + Whether the original, a copy, or the object + contents are on sale. This is used for verification, if the this + sale type is not valid for the object the purchase will fail + Price of the object. This is used for + verification, if it does not match the actual price the purchase + will fail + Group ID that will be associated with the new + purchase + Inventory folder UUID where the object or objects + purchased should be placed + + + BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, + 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); + + - - + + + Request prices that should be displayed in pay dialog. This will triggger the simulator + to send us back a PayPriceReply which can be handled by OnPayPriceReply event + + The the object is located + The ID of the object + The result is raised in the event - - + + + Select a single object. This will cause the to send us + an which will raise the event + + The the object is located + The Local ID of the object + - - + + + Select a single object. This will cause the to send us + an which will raise the event + + The the object is located + The Local ID of the object + if true, a call to is + made immediately following the request + - - + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + Should objects be deselected immediately after selection + - - + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + - - + + + Update the properties of an object + + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on - - + + + Sets the sale properties of a single object + + The the object is located + The Local ID of the object + One of the options from the enum + The price of the object - - + + + Sets the sale properties of multiple objects + + The the objects are located + An array containing the Local IDs of the objects + One of the options from the enum + The price of the object - - + + + Deselect a single object + + The the object is located + The Local ID of the object - - + + + Deselect multiple objects. + + The the objects are located + An array containing the Local IDs of the objects - - + + + Perform a click action on an object + + The the object is located + The Local ID of the object - - + + + Perform a click action (Grab) on a single object + + The the object is located + The Local ID of the object + The texture coordinates to touch + The surface coordinates to touch + The face of the position to touch + The region coordinates of the position to touch + The surface normal of the position to touch (A normal is a vector perpindicular to the surface) + The surface binormal of the position to touch (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - - + + + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties - - + + + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Specify the + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties - - + + + Rez a Linden tree + + A reference to the object where the object resides + The size of the tree + The rotation of the tree + The position of the tree + The Type of tree + The of the group to set the tree to, + or UUID.Zero if no group is to be set + true to use the "new" Linden trees, false to use the old - - + + + Rez grass and ground cover + + A reference to the object where the object resides + The size of the grass + The rotation of the grass + The position of the grass + The type of grass from the enum + The of the group to set the tree to, + or UUID.Zero if no group is to be set - - + + + Set the textures to apply to the faces of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply - - + + + Set the textures to apply to the faces of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply + A media URL (not used) - - + + + Set the Light data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - - + + + Set the flexible data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - - + + + Set the sculptie texture and data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - - + + + Unset additional primitive parameters on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The extra parameters to set - - + + + Link multiple prims into a linkset + + A reference to the object where the objects reside + An array which contains the IDs of the objects to link + The last object in the array will be the root object of the linkset TODO: Is this true? - - + + + Delink/Unlink multiple prims from a linkset + + A reference to the object where the objects reside + An array which contains the IDs of the objects to delink - - + + + Change the rotation of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation of the object - - + + + Set the name of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new name of the object - - + + + Set the name of multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the name of + An array which contains the new names of the objects - - + + + Set the description of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new description of the object - - + + + Set the descriptions of multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the description of + An array which contains the new descriptions of the objects - - + + + Attach an object to this avatar + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The point on the avatar the object will be attached + The rotation of the attached object - - + + + Drop an attached object from this avatar + + A reference to the + object where the objects reside. This will always be the simulator the avatar is currently in + + The object's ID which is local to the simulator the object is in - - + + + Detach an object from yourself + + A reference to the + object where the objects reside + + This will always be the simulator the avatar is currently in + + An array which contains the IDs of the objects to detach - - + + + Change the position of an object, Will change position of entire linkset + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object - - + + + Change the position of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object + if true, will change position of (this) child prim only, not entire linkset - - + + + Change the Scale (size) of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change scale of this prim only, not entire linkset + True to resize prims uniformly - - + + + Change the Rotation of an object that is either a child or a whole linkset + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change rotation of this prim only, not entire linkset - - + + + Send a Multiple Object Update packet to change the size, scale or rotation of a primitive + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation, size, or position of the target object + The flags from the Enum - - + + + Deed an object (prim) to a group, Object must be shared with group which + can be accomplished with SetPermissions() + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The of the group to deed the object to - - + + + Deed multiple objects (prims) to a group, Objects must be shared with group which + can be accomplished with SetPermissions() + + A reference to the object where the object resides + An array which contains the IDs of the objects to deed + The of the group to deed the object to - - + + + Set the permissions on multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the permissions on + The new Who mask to set + The new Permissions mark to set + TODO: What does this do? - - + + + Request additional properties for an object + + A reference to the object where the object resides + - - + + + Request additional properties for an object + + A reference to the object where the object resides + Absolute UUID of the object + Whether to require server acknowledgement of this request - - + + + Set the ownership of a list of objects to the specified group + + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the group id on + The Groups ID - - + + + Update current URL of the previously set prim media + + UUID of the prim + Set current URL to this + Prim face number + Simulator in which prim is located - - + + + Set object media + + UUID of the prim + Array the length of prims number of faces. Null on face indexes where there is + no media, on faces which contain the media + Simulatior in which prim is located - - + + + Retrieve information about object media + + UUID of the primitive + Simulator where prim is located + Call this callback when done - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + + A terse object update, used when a transformation matrix or + velocity/acceleration for an object changes but nothing else + (scale/position/rotation/acceleration/velocity) + + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + + Setup construction data for a basic primitive shape + + Primitive shape to construct + Construction data that can be plugged into a - - + + + + + + + + - - + + + + + + - - + + + Set the Shape data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + Data describing the prim shape - - + + + Set the Material data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new material of the object - - + + + + + + + + - - + + + + + + + + - - + + Raised when the simulator sends us data containing + A , Foliage or Attachment + + - - + + Raised when the simulator sends us data containing + additional information + + - - + + Raised when the simulator sends us data containing + Primitive.ObjectProperties for an object we are currently tracking - - + + Raised when the simulator sends us data containing + additional and details + - - + + Raised when the simulator sends us data containing + updated information for an - - + + Raised when the simulator sends us data containing + and movement changes - - + + Raised when the simulator sends us data containing + updates to an Objects DataBlock - - + + Raised when the simulator informs us an + or is no longer within view - - + + Raised when the simulator sends us data containing + updated sit information for our - - + + Raised when the simulator sends us data containing + purchase price information for a - - + + + Callback for getting object media data via CAP + + Indicates if the operation was succesfull + Object media version string + Array indexed on prim face of media entry data - - + + Provides data for the event + The event occurs when the simulator sends + an containing a Primitive, Foliage or Attachment data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or + if an Avatar crosses the border into a new simulator and returns to the current simulator + + + The following code example uses the , , and + properties to display new Primitives and Attachments on the window. + + // Subscribe to the event that gives us prim and foliage information + Client.Objects.ObjectUpdate += Objects_ObjectUpdate; + + + private void Objects_ObjectUpdate(object sender, PrimEventArgs e) + { + Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); + } + + + + + - - + + + Construct a new instance of the PrimEventArgs class + + The simulator the object originated from + The Primitive + The simulator time dilation + The prim was not in the dictionary before this update + true if the primitive represents an attachment to an agent - - + + Get the simulator the originated from - - + + Get the details - - + + true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) - - + + true if the is attached to an - - + + Get the simulator Time Dilation - - + + Provides data for the event + The event occurs when the simulator sends + an containing Avatar data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator + + + The following code example uses the property to make a request for the top picks + using the method in the class to display the names + of our own agents picks listings on the window. + + // subscribe to the AvatarUpdate event to get our information + Client.Objects.AvatarUpdate += Objects_AvatarUpdate; + Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; + + private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) + { + // we only want our own data + if (e.Avatar.LocalID == Client.Self.LocalID) + { + // Unsubscribe from the avatar update event to prevent a loop + // where we continually request the picks every time we get an update for ourselves + Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; + // make the top picks request through AvatarManager + Client.Avatars.RequestAvatarPicks(e.Avatar.ID); + } + } + + private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) + { + // we'll unsubscribe from the AvatarPicksReply event since we now have the data + // we were looking for + Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; + // loop through the dictionary and extract the names of the top picks from our profile + foreach (var pickName in e.Picks.Values) + { + Console.WriteLine(pickName); + } + } + + + + - - + + + Construct a new instance of the AvatarUpdateEventArgs class + + The simulator the packet originated from + The data + The simulator time dilation + The avatar was not in the dictionary before this update - - + + Get the simulator the object originated from - - + + Get the data - - + + Get the simulator time dilation - - + + true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) - - + + Provides additional primitive data for the event + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment data + The event is also raised when a request is + made. + + + The following code example uses the , and + + properties to display new attachments and send a request for additional properties containing the name of the + attachment then display it on the window. + + // Subscribe to the event that provides additional primitive details + Client.Objects.ObjectProperties += Objects_ObjectProperties; + + // handle the properties data that arrives + private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) + { + Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); + } + + - - + + + Construct a new instance of the ObjectPropertiesEventArgs class + + The simulator the object is located + The primitive Properties - - + + Get the simulator the object is located - - + + Get the primitive properties - - + + Provides additional primitive data for the event + The event occurs when the simulator sends + an containing additional details for a Primitive or Foliage data that is currently + being tracked in the dictionary + The event is also raised when a request is + made and is enabled + - - + + + Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class + + The simulator the object is located + The Primitive + The primitive Properties - - + + Get the simulator the object is located - - + + Get the primitive details - - + + Get the primitive properties - - + + Provides additional primitive data, permissions and sale info for the event + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment. This includes + Permissions, Sale info, and other basic details on an object + The event is also raised when a request is + made, the viewer equivalent is hovering the mouse cursor over an object + - - + + Get the simulator the object is located - - + + - - + + - - + + Provides primitive data containing updated location, velocity, rotation, textures for the event + The event occurs when the simulator sends updated location, velocity, rotation, etc + - - + + Get the simulator the object is located - - + + Get the primitive details - - + + - - + + - - + + + + - - + + Get the simulator the object is located - - + + Get the primitive details - - + + - - + + - - + + - - + + - - + + Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the + event - - + + Get the simulator the object is located - - + + The LocalID of the object - - + + + Provides updates sit position data + - - + + Get the simulator the object is located - - + + - - + + - - + + - - + + + + - - + + Get the simulator the object is located - - + + - - + + - - + + - - + + + Indicates if the operation was successful + - - + + + Media version string + - - + + + Array of media entries indexed by face number + - - + + + + - - + + + + + - - + + + De-serialization constructor for the InventoryNode Class + - - + + + Serialization handler for the InventoryNode Class + - - + + + De-serialization handler for the InventoryNode Class + - - + + + + + - - + + - - + + - - + + - - + + - - + + + For inventory folder nodes specifies weather the folder needs to be + refreshed from the server + - - + + + Main class to expose grid functionality to clients. All of the + classes needed for sending and receiving data are accessible through + this class. + + + + // Example minimum code required to instantiate class and + // connect to a simulator. + using System; + using System.Collections.Generic; + using System.Text; + using OpenMetaverse; + + namespace FirstBot + { + class Bot + { + public static GridClient Client; + static void Main(string[] args) + { + Client = new GridClient(); // instantiates the GridClient class + // to the global Client object + // Login to Simulator + Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); + // Wait for a Keypress + Console.ReadLine(); + // Logout of simulator + Client.Network.Logout(); + } + } + } + + - - + + Networking subsystem - - + + Settings class including constant values and changeable + parameters for everything - - + + Parcel (subdivided simulator lots) subsystem - - + + Our own avatars subsystem - - + + Other avatars subsystem - - + + Estate subsystem - - + + Friends list subsystem - - + + Grid (aka simulator group) subsystem - - + + Object subsystem - - + + Group subsystem - - + + Asset subsystem - - + + Appearance subsystem - - + + Inventory subsystem - - + + Directory searches including classifieds, people, land + sales, etc - - + + Handles land, wind, and cloud heightmaps - - + + Handles sound-related networking - - + + Throttling total bandwidth usage, or allocating bandwidth + for specific data stream types - - + + + Default constructor + - - + + + Return the full name of this instance + + Client avatars full name - - + + + Class that handles the local asset cache + - - + + + Default constructor + + A reference to the GridClient object - - + + + Disposes cleanup timer + - - + + + Only create timer when needed + - - + + + Return bytes read from the local asset cache, null if it does not exist + + UUID of the asset we want to get + Raw bytes of the asset, or null on failure - - + + + Returns ImageDownload object of the + image from the local image cache, null if it does not exist + + UUID of the image we want to get + ImageDownload object containing the image, or null on failure - - + + + Constructs a file name of the cached asset + + UUID of the asset + String with the file name of the cahced asset - - + + + Saves an asset to the local cache + + UUID of the asset + Raw bytes the asset consists of + Weather the operation was successfull - - + + + Get the file name of the asset stored with gived UUID + + UUID of the asset + Null if we don't have that UUID cached on disk, file name if found in the cache folder - - + + + Checks if the asset exists in the local cache + + UUID of the asset + True is the asset is stored in the cache, otherwise false - - + + + Wipes out entire cache + - - + + + Brings cache size to the 90% of the max size + - - + + + Asynchronously brings cache size to the 90% of the max size + - - + + + Adds up file sizes passes in a FileInfo array + - - + + + Checks whether caching is enabled + - - + + + Periodically prune the cache + - - + + + Nicely formats file sizes + + Byte size we want to output + String with humanly readable file size - - + + + Allows setting weather to periodicale prune the cache if it grows too big + Default is enabled, when caching is enabled + - - + + + How long (in ms) between cache checks (default is 5 min.) + - - + + + Helper class for sorting files by their last accessed time + - - + + + Permissions for control of object media + - - + + + Style of cotrols that shold be displayed to the user + - - + + + Class representing media data for a single face + - - + + Is display of the alternative image enabled - - + + Should media auto loop - - + + Shoule media be auto played - - + + Auto scale media to prim face - - + + Should viewer automatically zoom in on the face when clicked - - + + Should viewer interpret first click as interaction with the media + or when false should the first click be treated as zoom in commadn - - + + Style of controls viewer should display when + viewer media on this face - - + + Starting URL for the media - - + + Currently navigated URL - - + + Media height in pixes - - + + Media width in pixels - - + + Who can controls the media - - + + Who can interact with the media - - + + Is URL whitelist enabled - - + + Array of URLs that are whitelisted - - + + + Serialize to OSD + + OSDMap with the serialized data - - + + + Deserialize from OSD data + + Serialized OSD data + Deserialized object - - + + + Class for controlling various system settings. + + Some values are readonly because they affect things that + happen when the GridClient object is initialized, so changing them at + runtime won't do any good. Non-readonly values may affect things that + happen at login or dynamically - - + + Main grid login server - - + + Beta grid login server - - + + + InventoryManager requests inventory information on login, + GridClient initializes an Inventory store for main inventory. + - - + + + InventoryManager requests library information on login, + GridClient initializes an Inventory store for the library. + - - + + Number of milliseconds between sending pings to each sim - - + + Number of milliseconds between sending camera updates - - + + Number of milliseconds between updating the current + positions of moving, non-accelerating and non-colliding objects - - + + Millisecond interval between ticks, where all ACKs are + sent out and the age of unACKed packets is checked - - + + The initial size of the packet inbox, where packets are + stored before processing - - + + Maximum size of packet that we want to send over the wire - - + + The maximum value of a packet sequence number before it + rolls over back to one - - + + The maximum size of the sequence number archive, used to + check for resent and/or duplicate packets - - + + The relative directory where external resources are kept - - + + Login server to connect to - - + + IP Address the client will bind to - - + + Use XML-RPC Login or LLSD Login, default is XML-RPC Login - - + + Number of milliseconds before an asset transfer will time + out - - + + Number of milliseconds before a teleport attempt will time + out - - + + Number of milliseconds before NetworkManager.Logout() will + time out - - + + Number of milliseconds before a CAPS call will time out + Setting this too low will cause web requests time out and + possibly retry repeatedly - - + + Number of milliseconds for xml-rpc to timeout - - + + Milliseconds before a packet is assumed lost and resent - - + + Milliseconds without receiving a packet before the + connection to a simulator is assumed lost - - + + Milliseconds to wait for a simulator info request through + the grid interface - - + + Maximum number of queued ACKs to be sent before SendAcks() + is forced - - + + Network stats queue length (seconds) - - + + Enable/disable storing terrain heightmaps in the + TerrainManager - - + + Enable/disable sending periodic camera updates - - + + Enable/disable automatically setting agent appearance at + login and after sim crossing - - + + Enable/disable automatically setting the bandwidth throttle + after connecting to each simulator + The default throttle uses the equivalent of the maximum + bandwidth setting in the official client. If you do not set a + throttle your connection will by default be throttled well below + the minimum values and you may experience connection problems - - + + Enable/disable the sending of pings to monitor lag and + packet loss - - + + Should we connect to multiple sims? This will allow + viewing in to neighboring simulators and sim crossings + (Experimental) - - + + If true, all object update packets will be decoded in to + native objects. If false, only updates for our own agent will be + decoded. Registering an event handler will force objects for that + type to always be decoded. If this is disabled the object tracking + will have missing or partial prim and avatar information - - + + If true, when a cached object check is received from the + server the full object info will automatically be requested - - + + Whether to establish connections to HTTP capabilities + servers for simulators - - + + Whether to decode sim stats - - + + The capabilities servers are currently designed to + periodically return a 502 error which signals for the client to + re-establish a connection. Set this to true to log those 502 errors - - + + If true, any reference received for a folder or item + the library is not aware of will automatically be fetched - - + + If true, and SEND_AGENT_UPDATES is true, + AgentUpdate packets will continuously be sent out to give the bot + smoother movement and autopiloting - - + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectAvatars. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received - - + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectPrimitives. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received - - + + If true, position and velocity will periodically be + interpolated (extrapolated, technically) for objects and + avatars that are being tracked by the library. This is + necessary to increase the accuracy of speed and position + estimates for simulated objects - - + + + If true, utilization statistics will be tracked. There is a minor penalty + in CPU time for enabling this option. + - - + + If true, parcel details will be stored in the + Simulator.Parcels dictionary as they are received - - + + + If true, an incoming parcel properties reply will automatically send + a request for the parcel access list + - - + + + if true, an incoming parcel properties reply will automatically send + a request for the traffic count. + - - + + + If true, images, and other assets downloaded from the server + will be cached in a local directory + - - + + Path to store cached texture data - - + + Maximum size cached files are allowed to take on disk (bytes) - - + + Default color used for viewer particle effects - - + + Maximum number of times to resend a failed packet - - + + Throttle outgoing packet rate - - + + UUID of a texture used by some viewers to indentify type of client used - - + + + Download textures using GetTexture capability when available + - - + + The maximum number of concurrent texture downloads allowed + Increasing this number will not necessarily increase texture retrieval times due to + simulator throttles - - + + + The Refresh timer inteval is used to set the delay between checks for stalled texture downloads + + This is a static variable which applies to all instances - - + + + Textures taking longer than this value will be flagged as timed out and removed from the pipeline + - - + + + Get or set the minimum log level to output to the console by default + + If the library is not compiled with DEBUG defined and this level is set to DEBUG + You will get no output on the console. This behavior can be overriden by creating + a logger configuration file for log4net + - - + + Attach avatar names to log messages - - + + Log packet retransmission info - - + + Constructor + Reference to a GridClient object - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Cost of uploading an asset + Read-only since this value is dynamically fetched at login - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + Login Request Parameters + - - + + The URL of the Login Server - - + + The number of milliseconds to wait before a login is considered + failed due to timeout - - + + The request method + login_to_simulator is currently the only supported method - - + + The Agents First name - - + + The Agents Last name - - + + A md5 hashed password + plaintext password will be automatically hashed - - + + The agents starting location once logged in + Either "last", "home", or a string encoded URI + containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 - - + + A string containing the client software channel information + Second Life Release - - + + The client software version information + The official viewer uses: Second Life Release n.n.n.n + where n is replaced with the current version of the viewer - - + + A string containing the platform information the agent is running on - - + + A string hash of the network cards Mac Address - - + + Unknown or deprecated - - + + A string hash of the first disk drives ID used to identify this clients uniqueness - - + + A string containing the viewers Software, this is not directly sent to the login server but + instead is used to generate the Version string - - + + A string representing the software creator. This is not directly sent to the login server but + is used by the library to generate the Version information - - + + If true, this agent agrees to the Terms of Service of the grid its connecting to - - + + Unknown - - + + An array of string sent to the login server to enable various options - - + + A randomly generated ID to distinguish between login attempts. This value is only used + internally in the library and is never sent over the wire - - + + + Default constuctor, initializes sane default values + - - + + + Instantiates new LoginParams object and fills in the values + + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number - - + + + Instantiates new LoginParams object and fills in the values + + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number + URI of the login server - - + + + The decoded data returned from the login server after a successful login + - - + + true, false, indeterminate - - + + Login message of the day - - + + M or PG, also agent_region_access and agent_access_max - - + + + Parse LLSD Login Reply Data + + An + contaning the login response data + XML-RPC logins do not require this as XML-RPC.NET + automatically populates the struct properly using attributes - - + + + Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. + - - + + + Rotation Keyframe count (used internally) + - - + + + Position Keyframe count (used internally) + - - + + + Animation Priority + - - + + + The animation length in seconds. + - - + + + Expression set in the client. Null if [None] is selected + - - + + + The time in seconds to start the animation + - - + + + The time in seconds to end the animation + - - + + + Loop the animation + - - + + + Meta data. Ease in Seconds. + - - + + + Meta data. Ease out seconds. + - - + + + Meta Data for the Hand Pose + - - + + + Number of joints defined in the animation + - - + + + Contains an array of joints + - - + + + Searialize an animation asset into it's joints/keyframes/meta data + + - - + + + Variable length strings seem to be null terminated in the animation asset.. but.. + use with caution, home grown. + advances the index. + + The animation asset byte array + The offset to start reading + a string - - + + + Read in a Joint from an animation asset byte array + Variable length Joint fields, yay! + Advances the index + + animation asset byte array + Byte Offset of the start of the joint + The Joint data serialized into the binBVHJoint structure - - + + + Read Keyframes of a certain type + advance i + + Animation Byte array + Offset in the Byte Array. Will be advanced + Number of Keyframes + Scaling Min to pass to the Uint16ToFloat method + Scaling Max to pass to the Uint16ToFloat method + - - + + + A Joint and it's associated meta data and keyframes + - - + + + Name of the Joint. Matches the avatar_skeleton.xml in client distros + - - + + + Joint Animation Override? Was the same as the Priority in testing.. + - - + + + Array of Rotation Keyframes in order from earliest to latest + - - + + + Array of Position Keyframes in order from earliest to latest + This seems to only be for the Pelvis? + - - + + + A Joint Keyframe. This is either a position or a rotation. + - - + + + Either a Vector3 position or a Vector3 Euler rotation + - - + + + Poses set in the animation metadata for the hands. + - - + + + Avatar profile flags + - - + + + Represents an avatar (other than your own) + - - + + Groups that this avatar is a member of - - + + Positive and negative ratings - - + + Avatar properties including about text, profile URL, image IDs and + publishing settings - - + + Avatar interests including spoken languages, skills, and "want to" + choices - - + + Movement control flags for avatars. Typically not set or used by + clients. To move your avatar, use Client.Self.Movement instead - - + + + Contains the visual parameters describing the deformation of the avatar + - - + + + Default constructor + - - + + First name - - + + Last name - - + + Full name - - + + Active group - - + + + Positive and negative ratings + - - + + Positive ratings for Behavior - - + + Negative ratings for Behavior - - + + Positive ratings for Appearance - - + + Negative ratings for Appearance - - + + Positive ratings for Building - - + + Negative ratings for Building - - + + Positive ratings given by this avatar - - + + Negative ratings given by this avatar - - + + + Avatar properties including about text, profile URL, image IDs and + publishing settings + - - + + First Life about text - - + + First Life image ID - - + + - - + + - - + + - - + + - - + + Profile image ID - - + + Flags of the profile - - + + Web URL for this profile - - + + Should this profile be published on the web - - + + Avatar Online Status - - - Operation to apply when applying color to texture - + + Is this a mature profile - - - Information needed to translate visual param value to RGBA color - + + - - - Construct VisualColorParam - - Operation to apply when applying color to texture - Colors + + - + - Represents alpha blending and bump infor for a visual parameter - such as sleive length + Avatar interests including spoken languages, skills, and "want to" + choices - - - Create new alhpa information for a visual param - - Stregth of the alpha to apply - File containing the alpha channel - Skip blending if parameter value is 0 - Use miltiply insted of alpha blending + + Languages profile field - - Stregth of the alpha to apply + + - - File containing the alpha channel + + - - Skip blending if parameter value is 0 + + - - Use miltiply insted of alpha blending + + - + - A single visual characteristic of an avatar mesh, such as eyebrow height + Extract the avatar UUID encoded in a SIP URI + + - + - Set all the values through the constructor + The type of bump-mapping applied to a face - Index of this visual param - Internal name - - - - - Displayable label of this characteristic - Displayable label for the minimum value of this characteristic - Displayable label for the maximum value of this characteristic - Default value - Minimum value - Maximum value - Is this param used for creation of bump layer? - Array of param IDs that are drivers for this parameter - Alpha blending/bump info - Color information - - Index of this visual param + + - - Internal name + + - - Group ID this parameter belongs to + + - - Name of the wearable this parameter belongs to + + - - Displayable label of this characteristic + + - - Displayable label for the minimum value of this characteristic + + - - Displayable label for the maximum value of this characteristic + + - - Default value + + - - Minimum value + + - - Maximum value + + - - Is this param used for creation of bump layer? + + - - Alpha blending/bump info + + - - Color information + + - - Array of param IDs that are drivers for this parameter + + - - - Holds the Params array of all the avatar appearance parameters - + + - - - Base class for all Asset types - + + - - - Construct a new Asset object - + + - + + + + - Construct a new Asset object + The level of shininess applied to a face - A unique specific to this asset - A byte array containing the raw asset data - - A byte array containing the raw asset data - - - True if the asset it only stored on the server temporarily + + - - A unique ID + + - - The assets unique ID + + - - - The "type" of asset, Notecard, Animation, etc - + + - + - Regenerates the AssetData byte array from the properties - of the derived class. + The texture mapping style used for a face - - - Decodes the AssetData, placing it in appropriate properties of the derived - class. - - True if the asset decoding succeeded, otherwise false + + - - - Constants for the archiving module - + + - - - The location of the archive control file - + + - - - Path for the assets held in an archive - + + - + - Path for the prims file + Flags in the TextureEntry block that describe which properties are + set - - - Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. - + + - - - Path for region settings. - + + - - - The character the separates the uuid from extension information in an archived asset filename - + + - - - Extensions used for asset types in the archive - + + - - - Archives assets - + + - - - Archive assets - + + - - - Archive the assets given to this archiver to the given archive. - - - + + - - - Write an assets metadata file to the given archive - - - + + - - - Write asset data files to the given archive - - - + + - - - Temporary code to do the bare minimum required to read a tar archive for our purposes - + + - - - Generate a tar reader which reads from the given stream. - - - + + - - - Binary reader for the underlying stream - + + - + - Used to trim off null chars + - - - Used to trim off space chars - + + - - - Read the next entry in the tar file. - - - - - - the data for the entry. Returns null if there are no more entries + + - - - Read the next 512 byte chunk of data as a tar header. - - A tar header struct. null if we have reached the end of the archive. + + - - - Read data following a header - - - - - + + - - - Convert octal bytes to a decimal representation - - - - - - - - - + + - - - Temporary code to produce a tar archive in tar v7 format - + + - - - Binary writer for the underlying stream - + + - - - Write a directory entry to the tar archive. We can only handle one path level right now! - - - + + - - - Write a file to the tar archive - - - - - + + - - - Write a file to the tar archive - - - - - + + - - - Finish writing the raw tar archive data to a stream. The stream will be closed on completion. - + + - - - Write a particular entry - - - - - - - + + - - - Represents an Animation - + + - - Default Constructor + + - - - Construct an Asset object of type Animation - - A unique specific to this asset - A byte array containing the raw asset data + + - - Override the base classes AssetType + + - - - Represents an that represents an avatars body ie: Hair, Etc. - + + - - Initializes a new instance of an AssetBodyPart object + + - - Initializes a new instance of an AssetBodyPart object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + - - Override the base classes AssetType + + - + + + + - Represents an that can be worn on an avatar - such as a Shirt, Pants, etc. + - - Initializes a new instance of an AssetScriptBinary object + + - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + - - Override the base classes AssetType + + - - - Type of gesture step - + + - + - Base class for gesture steps + + + - + - Retururns what kind of gesture step this is + - - - Describes animation step of a gesture - + + - - - If true, this step represents start of animation, otherwise animation stop - + + - - - Animation asset + + - + + + + - Animation inventory name + + + - + - Returns what kind of gesture step this is + - + + + + + + + + + + + + + + + + + + + - Describes sound step of a gesture + - - - Sound asset + + - + + + + + + + + + + + + + - Sound inventory name + + + - + - Returns what kind of gesture step this is + + + - + - Describes sound step of a gesture + + + - + - Text to output in chat + + + + - + - Returns what kind of gesture step this is + - + - Describes sound step of a gesture + + + - + - If true in this step we wait for all animations to finish + + + - + - If true gesture player should wait for the specified amount of time + + + + + Positional vector of the users position + + + Velocity vector of the position + + + At Orientation (X axis) of the position + + + Up Orientation (Y axis) of the position + + + Left Orientation (Z axis) of the position - + - Time in seconds to wait if WaitForAnimation is false + Image width - + - Returns what kind of gesture step this is + Image height - + - Describes the final step of a gesture + Image channel flags - + - Returns what kind of gesture step this is + Red channel data - + - Represents a sequence of animations, sounds, and chat actions + Green channel data - + - Constructs guesture asset + Blue channel data - + - Constructs guesture asset + Alpha channel data - A unique specific to this asset - A byte array containing the raw asset data - + - Keyboard key that triggers the gestyre + Bump channel data - + - Modifier to the trigger key + Create a new blank image + width + height + channel flags - + - String that triggers playing of the gesture sequence + + - + - Text that replaces trigger in chat once gesture is triggered + Convert the channels in the image. Channels are created or destroyed as required. + new channel flags - + - Sequence of gesture steps + Resize or stretch the image using nearest neighbor (ugly) resampling + new width + new height - + - Returns asset type + Create a byte array containing 32-bit RGBA data with a bottom-left + origin, suitable for feeding directly into OpenGL + A byte array containing raw texture data - + - Encodes gesture asset suitable for uplaod + pre-defined built in sounds - - - Decodes gesture assset into play sequence - - true if the asset data was decoded successfully + + - - - Represents a Landmark with RegionID and Position vector - + + - - Construct an Asset of type Landmark + + - - - Construct an Asset object of type Landmark - - A unique specific to this asset - A byte array containing the raw asset data + + - - UUID of the Landmark target region + + - - Local position of the target + + - - Override the base classes AssetType + + - - - Encode the raw contents of a string with the specific Landmark format - + + - - - Decode the raw asset data, populating the RegionID and Position - - true if the AssetData was successfully decoded to a UUID and Vector + + coins - - - Represents a string of characters encoded with specific formatting properties - + + cash register bell - - Construct an Asset of type Notecard + + - - - Construct an Asset object of type Notecard - - A unique specific to this asset - A byte array containing the raw asset data + + - - A text string containing main text of the notecard + + rubber - - List of s embedded on the notecard + + plastic - - Override the base classes AssetType + + flesh - - - Encode the raw contents of a string with the specific Linden Text properties - + + wood splintering? - - - Decode the raw asset data including the Linden Text properties - - true if the AssetData was successfully decoded + + glass break - - - A linkset asset, containing a parent primitive and zero or more children - + + metal clunk - - Initializes a new instance of an AssetPrim object + + whoosh - - - Initializes a new instance of an AssetPrim object - - A unique specific to this asset - A byte array containing the raw asset data + + shake - - - Only used internally for XML serialization/deserialization - + + - - Override the base classes AssetType + + ding - - - + + - - - - - + + - - - The deserialized form of a single primitive in a linkset asset - + + - - - Represents an AssetScriptBinary object containing the - LSO compiled bytecode of an LSL script - + + - - Initializes a new instance of an AssetScriptBinary object + + - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + - - Override the base classes AssetType + + - - - TODO: Encodes a scripts contents into a LSO Bytecode file - + + - - - TODO: Decode LSO Bytecode into a string - - true + + - + + + + + + + + + + + + + + + + - Represents an LSL Text object containing a string of UTF encoded characters + A dictionary containing all pre-defined sounds + A dictionary containing the pre-defined sounds, + where the key is the sounds ID, and the value is a string + containing a name to identify the purpose of the sound - - Initializes a new AssetScriptText object - - + - Initializes a new AssetScriptText object with parameters + - A unique specific to this asset - A byte array containing the raw asset data - - A string of characters represting the script contents + + The avatar has no rights - - Override the base classes AssetType + + The avatar can see the online status of the target avatar - - - Encode a string containing the scripts contents into byte encoded AssetData - + + The avatar can see the location of the target avatar on the map - + + The avatar can modify the ojects of the target avatar + + - Decode a byte array containing the scripts contents into a string + This class holds information about an avatar in the friends list. There are two ways + to interface to this class. The first is through the set of boolean properties. This is the typical + way clients of this class will use it. The second interface is through two bitflag properties, + TheirFriendsRights and MyFriendsRights - true if decoding is successful - + - Represents a Sound Asset + Used internally when building the initial list of friends at login time + System ID of the avatar being prepesented + Rights the friend has to see you online and to modify your objects + Rights you have to see your friend online and to modify their objects - - Initializes a new instance of an AssetSound object - - - Initializes a new instance of an AssetSound object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - Override the base classes AssetType - - + - TODO: Encodes a sound file + FriendInfo represented as a string + A string reprentation of both my rights and my friends rights - + - TODO: Decode a sound file + System ID of the avatar - true - + - Represents a texture + full name of the avatar - - Initializes a new instance of an AssetTexture object - - + - Initializes a new instance of an AssetTexture object + True if the avatar is online - A unique specific to this asset - A byte array containing the raw asset data - + - Initializes a new instance of an AssetTexture object + True if the friend can see if I am online - A object containing texture data - - A object containing image data - - + + True if the friend can see me on the map - + + True if the freind can modify my objects - - Override the base classes AssetType - - + - Populates the byte array with a JPEG2000 - encoded image created from the data in + True if I can see if my friend is online + - + - Decodes the JPEG2000 data in AssetData to the - object - True if the decoding was successful, otherwise false + True if I can see if my friend is on the map + - + - Decodes the begin and end byte positions for each quality layer in - the image + True if I can modify my friend's objects - - - + - Represents a Wearable Asset, Clothing, Hair, Skin, Etc + My friend's rights represented as bitmapped flags - - Initializes a new instance of an AssetWearable object - - - Initializes a new instance of an AssetWearable object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - A string containing the name of the asset - - - A string containing a short description of the asset - - - The Assets WearableType - - - The For-Sale status of the object - - - An Integer representing the purchase price of the asset - - - The of the assets creator - - - The of the assets current owner - - - The of the assets prior owner - - - The of the Group this asset is set to - - - True if the asset is owned by a - - - The Permissions mask of the asset - - - A Dictionary containing Key/Value pairs of the objects parameters - - - A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures - - + - Decode an assets byte encoded data to a string + My rights represented as bitmapped flags - true if the asset data was decoded successfully - + - Encode the assets string represantion into a format consumable by the asset server + This class is used to add and remove avatars from your friends list and to manage their permission. - - = + + The event subscribers. null if no subcribers - - Number of times we've received an unknown CAPS exception in series. + + Raises the FriendOnline event + A FriendInfoEventArgs object containing the + data returned from the data server - - For exponential backoff on error. + + Thread sync lock object - - - A set of textures that are layered on texture of each other and "baked" - in to a single texture, for avatar appearances - + + The event subscribers. null if no subcribers - - - Default constructor - - Bake type + + Raises the FriendOffline event + A FriendInfoEventArgs object containing the + data returned from the data server - - Final baked texture + + Thread sync lock object - - Component layers + + The event subscribers. null if no subcribers - - Width of the final baked image and scratchpad + + Raises the FriendRightsUpdate event + A FriendInfoEventArgs object containing the + data returned from the data server - - Height of the final baked image and scratchpad + + Thread sync lock object - - Bake type + + The event subscribers. null if no subcribers - - Final baked texture + + Raises the FriendNames event + A FriendNamesEventArgs object containing the + data returned from the data server - - Component layers + + Thread sync lock object - - Width of the final baked image and scratchpad + + The event subscribers. null if no subcribers - - Height of the final baked image and scratchpad + + Raises the FriendshipOffered event + A FriendshipOfferedEventArgs object containing the + data returned from the data server - - Bake type + + Thread sync lock object - - Is this one of the 3 skin bakes + + The event subscribers. null if no subcribers - - - Adds layer for baking - - TexturaData struct that contains texture and its params + + Raises the FriendshipResponse event + A FriendshipResponseEventArgs object containing the + data returned from the data server - - - Converts avatar texture index (face) to Bake type - - Face number (AvatarTextureIndex) - BakeType, layer to which this texture belongs to + + Thread sync lock object - - - Make sure images exist, resize source if needed to match the destination - - Destination image - Source image - Sanitization was succefull + + The event subscribers. null if no subcribers - - - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color - - Color of the base of this layer + + Raises the FriendshipTerminated event + A FriendshipTerminatedEventArgs object containing the + data returned from the data server - - - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color - - Red value - Green value - Blue value + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendFoundReply event + A FriendFoundReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object - + - Create a new blank image + A dictionary of key/value pairs containing known friends of this avatar. + + The Key is the of the friend, the value is a + object that contains detailed information including permissions you have and have given to the friend - width - height - channel flags - + + A Dictionary of key/value pairs containing current pending frienship offers. + + The key is the of the avatar making the request, + the value is the of the request which is used to accept + or decline the friendship offer - - - + - Image width + Internal constructor + A reference to the GridClient Object - + - Image height + Accept a friendship request + agentID of avatatar to form friendship with + imSessionID of the friendship request message - + - Image channel flags + Decline a friendship request + of friend + imSessionID of the friendship request message - + - Red channel data + Overload: Offer friendship to an avatar. + System ID of the avatar you are offering friendship to - + - Green channel data + Offer friendship to an avatar. + System ID of the avatar you are offering friendship to + A message to send with the request - + - Blue channel data + Terminate a friendship with an avatar + System ID of the avatar you are terminating the friendship with - - - Alpha channel data - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Bump channel data + Change the rights of a friend avatar. + the of the friend + the new rights to give the friend + This method will implicitly set the rights to those passed in the rights parameter. - + - Convert the channels in the image. Channels are created or destroyed as required. + Use to map a friends location on the grid. - new channel flags + Friends UUID to find + - + - Resize or stretch the image using nearest neighbor (ugly) resampling + Use to track a friends movement on the grid - new width - new height + Friends Key - + - Create a byte array containing 32-bit RGBA data with a bottom-left - origin, suitable for feeding directly into OpenGL + Ask for a notification of friend's online status - A byte array containing raw texture data + Friend's UUID - + - A Wrapper around openjpeg to encode and decode images to and from byte arrays + This handles the asynchronous response of a RequestAvatarNames call. + + names cooresponding to the the list of IDs sent the the RequestAvatarNames call. - - - Defines the beginning and ending file positions of a layer in an - LRCP-progression JPEG2000 file - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - This structure is used to marshal both encoded and decoded images. - MUST MATCH THE STRUCT IN dotnet.h! - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + - Information about a single packet in a JPEG2000 stream + Populate FriendList with data from the login reply + true if login was successful + true if login request is requiring a redirect + A string containing the response to the login request + A string containing the reason for the request + A object containing the decoded + reply from the login server - - Packet start position - - - Packet header end position + + Raised when the simulator sends notification one of the members in our friends list comes online - - Packet end position + + Raised when the simulator sends notification one of the members in our friends list goes offline - - TGA Header size + + Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions - - OpenJPEG is not threadsafe, so this object is used to lock - during calls into unmanaged code + + Raised when the simulator sends us the names on our friends list - - - Encode a object into a byte array - - The object to encode - true to enable lossless conversion, only useful for small images ie: sculptmaps - A byte array containing the encoded Image object + + Raised when the simulator sends notification another agent is offering us friendship - - - Encode a object into a byte array - - The object to encode - a byte array of the encoded image + + Raised when a request we sent to friend another agent is accepted or declined - - - Decode JPEG2000 data to an and - - JPEG2000 encoded data - ManagedImage object to decode to - Image object to decode to - True if the decode succeeds, otherwise false + + Raised when the simulator sends notification one of the members in our friends list has terminated + our friendship - - - - - - - - - + + Raised when the simulator sends the location of a friend we have + requested map location info for - - - - - - - - - - - + + Contains information on a member of our friends list - + - Encode a object into a byte array + Construct a new instance of the FriendInfoEventArgs class - The source object to encode - true to enable lossless decoding - A byte array containing the source Bitmap object + The FriendInfo - - - Capability to load TGAs to Bitmap - + + Get the FriendInfo - - - Interface requirements for Messaging system - + + Contains Friend Names - + - Abstract base for rendering plugins + Construct a new instance of the FriendNamesEventArgs class + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name - - - Generates a basic mesh structure from a primitive - - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh + + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name - - - Generates a basic mesh structure from a sculpted primitive and - texture - - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh + + Sent when another agent requests a friendship with our agent - + - Generates a series of faces, each face containing a mesh and - metadata + Construct a new instance of the FriendshipOfferedEventArgs class - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh + The ID of the agent requesting friendship + The name of the agent requesting friendship + The ID of the session, used in accepting or declining the + friendship offer - - - Generates a series of faces for a sculpted prim, each face - containing a mesh and metadata - - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh + + Get the ID of the agent requesting friendship - - - Apply texture coordinate modifications from a - to a list of vertices - - Vertex list to modify texture coordinates for - Center-point of the face - Face texture parameters + + Get the name of the agent requesting friendship - - - Sent to the client to indicate a teleport request has completed - + + Get the ID of the session, used in accepting or declining the + friendship offer - - The of the agent + + A response containing the results of our request to form a friendship with another agent - + + Construct a new instance of the FriendShipResponseEventArgs class + The ID of the agent we requested a friendship with + The name of the agent we requested a friendship with + true if the agent accepted our friendship offer - - The simulators handle the agent teleported to - - - A Uri which contains a list of Capabilities the simulator supports - - - Indicates the level of access required - to access the simulator, or the content rating, or the simulators - map status - - - The IP Address of the simulator + + Get the ID of the agent we requested a friendship with - - The UDP Port the simulator will listen for UDP traffic on + + Get the name of the agent we requested a friendship with - - Status flags indicating the state of the Agent upon arrival, Flying, etc. + + true if the agent accepted our friendship offer - - - Serialize the object - - An containing the objects data + + Contains data sent when a friend terminates a friendship with us - + - Deserialize the message + Construct a new instance of the FrindshipTerminatedEventArgs class - An containing the data + The ID of the friend who terminated the friendship with us + The name of the friend who terminated the friendship with us - - - Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. - + + Get the ID of the agent that terminated the friendship with us - - - Serialize the object - - An containing the objects data + + Get the name of the agent that terminated the friendship with us - + - Deserialize the message + Data sent in response to a request which contains the information to allow us to map the friends location - An containing the data - + - Serialize the object + Construct a new instance of the FriendFoundReplyEventArgs class - An containing the objects data + The ID of the agent we have requested location information for + The region handle where our friend is located + The simulator local position our friend is located - - - Deserialize the message - - An containing the data + + Get the ID of the agent we have received location information for - - - Serialize the object - - An containing the objects data + + Get the region handle where our mapped friend is located - - - Deserialize the message - - An containing the data + + Get the simulator local position where our friend is located - + - A message sent to the client which indicates a teleport request has failed - and contains some information on why it failed + Return a decoded capabilities message as a strongly typed object + A string containing the name of the capabilities message key + An to decode + A strongly typed object containing the decoded information from the capabilities message, or null + if no existing Message object exists for the specified event - + + Represents an that represents an avatars body ie: Hair, Etc. - - A string key of the reason the teleport failed e.g. CouldntTPCloser - Which could be used to look up a value in a dictionary or enum + + Initializes a new instance of an AssetBodyPart object - - The of the Agent + + Initializes a new instance of an AssetBodyPart object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - A string human readable message containing the reason - An example: Could not teleport closer to destination + + Override the base classes AssetType - + - Serialize the object + Archives assets - An containing the objects data - + - Deserialize the message + Archive assets - An containing the data - + - Serialize the object + Archive the assets given to this archiver to the given archive. - An containing the objects data + - + - Deserialize the message + Write an assets metadata file to the given archive - An containing the data + - + - Contains a list of prim owner information for a specific parcel in a simulator + Write asset data files to the given archive - - A Simulator will always return at least 1 entry - If agent does not have proper permission the OwnerID will be UUID.Zero - If agent does not have proper permission OR there are no primitives on parcel - the DataBlocksExtended map will not be sent from the simulator - + - + - Prim ownership information for a specified owner on a single parcel + - - The of the prim owner, - UUID.Zero if agent has no permission to view prim owner information - - - The total number of prims - - - True if the OwnerID is a - - - True if the owner is online - This is no longer used by the LL Simulators - - - The date the most recent prim was rezzed - - - An Array of objects - - + - Serialize the object + An instance of DelegateWrapper which calls InvokeWrappedDelegate, + which in turn calls the DynamicInvoke method of the wrapped + delegate - An containing the objects data - + - Deserialize the message + Callback used to call EndInvoke on the asynchronously + invoked DelegateWrapper - An containing the data - + - The details of a single parcel in a region, also contains some regionwide globals + Executes the specified delegate with the specified arguments + asynchronously on a thread pool thread + + - - Simulator-local ID of this parcel - - - Maximum corner of the axis-aligned bounding box for this - parcel - - - Minimum corner of the axis-aligned bounding box for this - parcel - - - Total parcel land area - - + + Invokes the wrapped delegate synchronously + + - - Key of authorized buyer - - - Bitmap describing land layout in 4x4m squares across the - entire region - - + + Calls EndInvoke on the wrapper and Close on the resulting WaitHandle + to prevent resource leaks + - - Date land was claimed - - - Appears to always be zero - - - Parcel Description - - + + Delegate to wrap another delegate and its arguments + + - - - + + The event subscribers. null if no subcribers - - Total number of primitives owned by the parcel group on - this parcel + + Raises the LandPatchReceived event + A LandPatchReceivedEventArgs object containing the + data returned from the simulator - - Whether the land is deeded to a group or not + + Thread sync lock object - + + Default constructor + - - Maximum number of primitives this parcel supports - - - The Asset UUID of the Texture which when applied to a - primitive will display the media + + Raised when the simulator responds sends - - A URL which points to any Quicktime supported media type + + Simulator from that sent tha data - - A byte, if 0x1 viewer should auto scale media to fit object + + Sim coordinate of the patch - - URL For Music Stream + + Sim coordinate of the patch - - Parcel Name + + Size of tha patch - - Autoreturn value in minutes for others' objects + + Heightmap for the patch - - - + + Size of the byte array used to store raw packet data - - Total number of other primitives on this parcel + + Raw packet data buffer - - UUID of the owner of this parcel + + Length of the data to transmit - - Total number of primitives owned by the parcel owner on - this parcel + + EndPoint of the remote host - + + Create an allocated UDP packet buffer for receiving a packet - - How long is pass valid for - - - Price for a temporary pass - - + + Create an allocated UDP packet buffer for sending a packet + EndPoint of the remote host - + + Create an allocated UDP packet buffer for sending a packet + EndPoint of the remote host + Size of the buffer to allocate for packet data - + + Object pool for packet buffers. This is used to allocate memory for all + incoming and outgoing packets, and zerocoding buffers for those packets - + + Initialize the object pool in client mode + Server to connect to + + - - True if the region denies access to age unverified users - - + + Initialize the object pool in server mode + + - - This field is no longer used - - - The result of a request for parcel properties - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it - - + - Number of primitives your avatar is currently - selecting and sitting on in this parcel + Returns a packet buffer with EndPoint set if the buffer is in + client mode, or with EndPoint set to null in server mode + Initialized UDPPacketBuffer object - + + Default constructor - + - A number which increments by 1, starting at 0 for each ParcelProperties request. - Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. - a Negative number indicates the action in has occurred. + Check a packet buffer out of the pool + A packet buffer object - - Maximum primitives across the entire simulator - - - Total primitives across the entire simulator + + + + + Looking direction, must be a normalized vector + Up direction, must be a normalized vector - + + Align the coordinate frame X and Y axis with a given rotation + around the Z axis in radians + Absolute rotation around the Z axis in + radians - - Key of parcel snapshot + + Origin position of this coordinate frame - - Parcel ownership status + + X axis of this coordinate frame, or Forward/At in grid terms - - Total number of primitives on this parcel + + Y axis of this coordinate frame, or Left in grid terms - - - + + Z axis of this coordinate frame, or Up in grid terms - + + Static pre-defined animations available to all agents - - A description of the media + + Agent with afraid expression on face - - An Integer which represents the height of the media + + Agent aiming a bazooka (right handed) - - An integer which represents the width of the media + + Agent aiming a bow (left handed) - - A boolean, if true the viewer should loop the media + + Agent aiming a hand gun (right handed) - - A string which contains the mime type of the media + + Agent aiming a rifle (right handed) - - true to obscure (hide) media url + + Agent with angry expression on face - - true to obscure (hide) music url + + Agent hunched over (away) - - - Serialize the object - - An containing the objects data + + Agent doing a backflip - - - Deserialize the message - - An containing the data + + Agent laughing while holding belly - - A message sent from the viewer to the simulator to updated a specific parcels settings + + Agent blowing a kiss - - The of the agent authorized to purchase this - parcel of land or a NULL if the sale is authorized to anyone + + Agent with bored expression on face - - true to enable auto scaling of the parcel media + + Agent bowing to audience - - The category of this parcel used when search is enabled to restrict - search results + + Agent brushing himself/herself off - - A string containing the description to set + + Agent in busy mode - - The of the which allows for additional - powers and restrictions. + + Agent clapping hands - - The which specifies how avatars which teleport - to this parcel are handled + + Agent doing a curtsey bow - - The LocalID of the parcel to update settings on + + Agent crouching - - A string containing the description of the media which can be played - to visitors + + Agent crouching while walking - - - + + Agent crying - - - + + Agent unanimated with arms out (e.g. setting appearance) - - - + + Agent re-animated after set appearance finished - - - + + Agent dancing - - - + + Agent dancing - - - + + Agent dancing - - - + + Agent dancing - - - + + Agent dancing - - - + + Agent dancing - - - + + Agent dancing - - - + + Agent dancing - - - + + Agent on ground unanimated - - - + + Agent boozing it up - - - + + Agent with embarassed expression on face + + + Agent with afraid expression on face + + + Agent with angry expression on face + + + Agent with bored expression on face - - - + + Agent crying - - - + + Agent showing disdain (dislike) for something - - - + + Agent with embarassed expression on face - - - Deserialize the message - - An containing the data + + Agent with frowning expression on face - - - Serialize the object - - An containing the objects data + + Agent with kissy face - - Base class used for the RemoteParcelRequest message + + Agent expressing laughgter - - - A message sent from the viewer to the simulator to request information - on a remote parcel - + + Agent with open mouth - - Local sim position of the parcel we are looking up + + Agent with repulsed expression on face - - Region handle of the parcel we are looking up + + Agent expressing sadness - - Region of the parcel we are looking up + + Agent shrugging shoulders - - - Serialize the object - - An containing the objects data + + Agent with a smile - - - Deserialize the message - - An containing the data + + Agent expressing surprise - - - A message sent from the simulator to the viewer in response to a - which will contain parcel information - + + Agent sticking tongue out - - The grid-wide unique parcel ID + + Agent with big toothy smile - - - Serialize the object - - An containing the objects data + + Agent winking - - - Deserialize the message - - An containing the data + + Agent expressing worry - - - A message containing a request for a remote parcel from a viewer, or a response - from the simulator to that request - + + Agent falling down - - The request or response details block + + Agent walking (feminine version) - - - Serialize the object - - An containing the objects data + + Agent wagging finger (disapproval) - - - Deserialize the message - - An containing the data + + I'm not sure I want to know - - - Serialize the object - - An containing the objects data + + Agent in superman position - - - Deserialize the message - - An containing the data + + Agent in superman position - - - Serialize the object - - An containing the objects data + + Agent greeting another - - - Deserialize the message - - An containing the data + + Agent holding bazooka (right handed) - - - A message sent from the simulator to an agent which contains - the groups the agent is in - + + Agent holding a bow (left handed) - - Group Details specific to the agent + + Agent holding a handgun (right handed) - - true of the agent accepts group notices + + Agent holding a rifle (right handed) - - The agents tier contribution to the group + + Agent throwing an object (right handed) - - The Groups + + Agent in static hover - - The of the groups insignia + + Agent hovering downward - - The name of the group + + Agent hovering upward - - The aggregate permissions the agent has in the group for all roles the agent - is assigned + + Agent being impatient - - An optional block containing additional agent specific information + + Agent jumping - - true of the agent allows this group to be - listed in their profile + + Agent jumping with fervor - - The Agent receiving the message + + Agent point to lips then rear end - - An array containing information - for each the agent is a member of + + Agent landing from jump, finished flight, etc - - An array containing information - for each the agent is a member of + + Agent laughing - - - Serialize the object - - An containing the objects data + + Agent landing from jump, finished flight, etc - - - Deserialize the message - - An containing the data + + Agent sitting on a motorcycle - - - A message sent from the viewer to the simulator which - specifies the language and permissions for others to detect - the language specified - + + - - A string containng the default language - to use for the agent + + Agent moving head side to side - - true of others are allowed to - know the language setting + + Agent moving head side to side with unhappy expression - - - Serialize the object - - An containing the objects data + + Agent taunting another - - - Deserialize the message - - An containing the data + + - - - An EventQueue message sent from the simulator to an agent when the agent - leaves a group - + + Agent giving peace sign - - An object containing the Agents UUID, and the Groups UUID + + Agent pointing at self - - The ID of the Agent leaving the group + + Agent pointing at another - - The GroupID the Agent is leaving + + Agent preparing for jump (bending knees) - - - An Array containing the AgentID and GroupID - + + Agent punching with left hand - - - Serialize the object - - An containing the objects data + + Agent punching with right hand + + + Agent acting repulsed - - - Deserialize the message - - An containing the data + + Agent trying to be Chuck Norris - - Base class for Asset uploads/results via Capabilities + + Rocks, Paper, Scissors 1, 2, 3 - - - The request state - + + Agent with hand flat over other hand - - - Serialize the object - - An containing the objects data + + Agent with fist over other hand - - - Deserialize the message - - An containing the data + + Agent with two fingers spread over other hand - - - A message sent from the viewer to the simulator to request a temporary upload capability - which allows an asset to be uploaded - + + Agent running - - The Capability URL sent by the simulator to upload the baked texture to + + Agent appearing sad - - - A message sent from the simulator that will inform the agent the upload is complete, - and the UUID of the uploaded asset - + + Agent saluting - - The uploaded texture asset ID + + Agent shooting bow (left handed) - - - A message sent from the viewer to the simulator to request a temporary - capability URI which is used to upload an agents baked appearance textures - + + Agent cupping mouth as if shouting - - Object containing request or response + + Agent shrugging shoulders - - - Serialize the object - - An containing the objects data + + Agent in sit position - - - Deserialize the message - - An containing the data + + Agent in sit position (feminine) - - - A message sent from the simulator which indicates the minimum version required for - using voice chat - + + Agent in sit position (generic) - - Major Version Required + + Agent sitting on ground - - Minor version required + + Agent sitting on ground - - The name of the region sending the version requrements + + - - - Serialize the object - - An containing the objects data + + Agent sleeping on side - - - Deserialize the message - - An containing the data + + Agent smoking - - - A message sent from the simulator to the viewer containing the - voice server URI - + + Agent inhaling smoke - - The Parcel ID which the voice server URI applies + + - - The name of the region + + Agent taking a picture - - A uri containing the server/channel information - which the viewer can utilize to participate in voice conversations + + Agent standing - - - Serialize the object - - An containing the objects data + + Agent standing up - - - Deserialize the message - - An containing the data + + Agent standing - - - + + Agent standing - - - + + Agent standing - - - + + Agent standing - - - Serialize the object - - An containing the objects data + + Agent stretching - - - Deserialize the message - - An containing the data + + Agent in stride (fast walk) - - - A message sent by the viewer to the simulator to request a temporary - capability for a script contained with in a Tasks inventory to be updated - + + Agent surfing - - Object containing request or response + + Agent acting surprised - - - Serialize the object - - An containing the objects data + + Agent striking with a sword - - - Deserialize the message - - An containing the data + + Agent talking (lips moving) - - - A message sent from the simulator to the viewer to indicate - a Tasks scripts status. - + + Agent throwing a tantrum - - The Asset ID of the script + + Agent throwing an object (right handed) - - True of the script is compiled/ran using the mono interpreter, false indicates it - uses the older less efficient lsl2 interprter + + Agent trying on a shirt - - The Task containing the scripts + + Agent turning to the left - - true of the script is in a running state + + Agent turning to the right - - - Serialize the object - - An containing the objects data + + Agent typing - - - Deserialize the message - - An containing the data + + Agent walking - - - A message containing the request/response used for updating a gesture - contained with an agents inventory - + + Agent whispering - - Object containing request or response + + Agent whispering with fingers in mouth - - - Serialize the object - - An containing the objects data + + Agent winking - - - Deserialize the message - - An containing the data + + Agent winking - - - A message request/response which is used to update a notecard contained within - a tasks inventory - + + Agent worried - - The of the Task containing the notecard asset to update + + Agent nodding yes - - The notecard assets contained in the tasks inventory + + Agent nodding yes with happy face - + + Agent floating with legs and arms crossed + + - Serialize the object + A dictionary containing all pre-defined animations - An containing the objects data + A dictionary containing the pre-defined animations, + where the key is the animations ID, and the value is a string + containing a name to identify the purpose of the animation - + - Deserialize the message + Type of gesture step - An containing the data - + - A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability - which is used to update an asset in an agents inventory + Base class for gesture steps - + - The Notecard AssetID to replace + Retururns what kind of gesture step this is - + - Serialize the object + Describes animation step of a gesture - An containing the objects data - + - Deserialize the message + If true, this step represents start of animation, otherwise animation stop - An containing the data - + - A message containing the request/response used for updating a notecard - contained with an agents inventory + Animation asset - - Object containing request or response - - + - Serialize the object + Animation inventory name - An containing the objects data - + - Deserialize the message + Returns what kind of gesture step this is - An containing the data - + - Serialize the object + Describes sound step of a gesture - An containing the objects data - + - Deserialize the message + Sound asset - An containing the data - + - A message sent from the simulator to the viewer which indicates - an error occurred while attempting to update a script in an agents or tasks - inventory + Sound inventory name - - true of the script was successfully compiled by the simulator - - - A string containing the error which occured while trying - to update the script - - - A new AssetID assigned to the script - - + - A message sent from the viewer to the simulator - requesting the update of an existing script contained - within a tasks inventory + Returns what kind of gesture step this is - - if true, set the script mode to running - - - The scripts InventoryItem ItemID to update - - - A lowercase string containing either "mono" or "lsl2" which - specifies the script is compiled and ran on the mono runtime, or the older - lsl runtime - - - The tasks which contains the script to update - - + - Serialize the object + Describes sound step of a gesture - An containing the objects data - + - Deserialize the message + Text to output in chat - An containing the data - + - A message containing either the request or response used in updating a script inside - a tasks inventory + Returns what kind of gesture step this is - - Object containing request or response - - + - Serialize the object + Describes sound step of a gesture - An containing the objects data - + - Deserialize the message + If true in this step we wait for all animations to finish - An containing the data - + - Response from the simulator to notify the viewer the upload is completed, and - the UUID of the script asset and its compiled status + If true gesture player should wait for the specified amount of time - - The uploaded texture asset ID - - - true of the script was compiled successfully - - + - A message sent from a viewer to the simulator requesting a temporary uploader capability - used to update a script contained in an agents inventory + Time in seconds to wait if WaitForAnimation is false - - The existing asset if of the script in the agents inventory to replace - - - The language of the script - Defaults to lsl version 2, "mono" might be another possible option - - + - Serialize the object + Returns what kind of gesture step this is - An containing the objects data - + - Deserialize the message + Describes the final step of a gesture - An containing the data - + - A message containing either the request or response used in updating a script inside - an agents inventory + Returns what kind of gesture step this is - - Object containing request or response + + + Represents a sequence of animations, sounds, and chat actions + - + - Serialize the object + Keyboard key that triggers the gestyre - An containing the objects data - + - Deserialize the message + Modifier to the trigger key - An containing the data - + - Serialize the object + String that triggers playing of the gesture sequence - An containing the objects data - + - Deserialize the message + Text that replaces trigger in chat once gesture is triggered - An containing the data - - Base class for Map Layers via Capabilities + + + Sequence of gesture steps + - + + Constructs guesture asset - + - Serialize the object + Constructs guesture asset - An containing the objects data + A unique specific to this asset + A byte array containing the raw asset data - + - Deserialize the message + Encodes gesture asset suitable for uplaod - An containing the data - + - Sent by an agent to the capabilities server to request map layers + Decodes gesture assset into play sequence + true if the asset data was decoded successfully - + - A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates + Returns asset type - + - An object containing map location details + Simulator (region) properties - - The Asset ID of the regions tile overlay + + No flags set - - The grid location of the southern border of the map tile + + Agents can take damage and be killed - - The grid location of the western border of the map tile + + Landmarks can be created here - - The grid location of the eastern border of the map tile + + Home position can be set in this sim - - The grid location of the northern border of the map tile + + Home position is reset when an agent teleports away - - An array containing LayerData items + + Sun does not move - - - Serialize the object - - An containing the objects data + + No object, land, etc. taxes - - - Deserialize the message - - An containing the data + + Disable heightmap alterations (agents can still plant + foliage) - - Object containing request or response + + Land cannot be released, sold, or purchased - - - Serialize the object - - An containing the objects data + + All content is wiped nightly - - - Deserialize the message - - An containing the data + + Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) - - - New as of 1.23 RC1, no details yet. - + + Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. - - - Serialize the object - - An containing the objects data + + Region does not update agent prim interest lists. Internal debugging option. - - - Deserialize the message - - An containing the data + + No collision detection for non-agent objects - - - Serialize the object - - An containing the objects data + + No scripts are ran - - - Deserialize the message - - An containing the data + + All physics processing is turned off - - A string containing the method used + + Region can be seen from other regions on world map. (Legacy world map option?) - - - A request sent from an agent to the Simulator to begin a new conference. - Contains a list of Agents which will be included in the conference - + + Region can be seen from mainland on world map. (Legacy world map option?) - - An array containing the of the agents invited to this conference + + Agents not explicitly on the access list can visit the region. - - The conferences Session ID + + Traffic calculations are not run across entire region, overrides parcel settings. - - - Serialize the object - - An containing the objects data + + Flight is disabled (not currently enforced by the sim) - - - Deserialize the message - - An containing the data + + Allow direct (p2p) teleporting - - - A moderation request sent from a conference moderator - Contains an agent and an optional action to take - + + Estate owner has temporarily disabled scripting - - The Session ID + + Restricts the usage of the LSL llPushObject function, applies to whole region. - - - + + Deny agents with no payment info on file - - A list containing Key/Value pairs, known valid values: - key: text value: true/false - allow/disallow specified agents ability to use text in session - key: voice value: true/false - allow/disallow specified agents ability to use voice in session - - "text" or "voice" + + Deny agents with payment info on file - - - + + Deny agents who have made a monetary transaction - - - Serialize the object - - An containing the objects data + + Parcels within the region may be joined or divided by anyone, not just estate owners/managers. - - - Deserialize the message - - An containing the data + + Abuse reports sent from within this region are sent to the estate owner defined email. - - - A message sent from the agent to the simulator which tells the - simulator we've accepted a conference invitation - + + Region is Voice Enabled - - The conference SessionID + + Removes the ability from parcel owners to set their parcels to show in search. - - - Serialize the object - - An containing the objects data + + Deny agents who have not been age verified from entering the region. - + - Deserialize the message + Access level for a simulator - An containing the data - - - Serialize the object - - An containing the objects data + + Unknown or invalid access level - - - Deserialize the message - - An containing the data + + Trial accounts allowed - - - Serialize the object - - An containing the objects data + + PG rating - - - Deserialize the message - - An containing the data + + Mature rating - - - Serialize the object - - An containing the objects data + + Adult rating - + + Simulator is offline + + + Simulator does not exist + + - Deserialize the message + - An containing the data - - - Key of sender - - Name of sender + + A public reference to the client that this Simulator object + is attached to - - Key of destination avatar + + A Unique Cache identifier for this simulator - - ID of originating estate + + The capabilities for this simulator - - Key of originating region + + - - Coordinates in originating region + + The current version of software this simulator is running - - Instant message type + + - - Group IM session toggle + + A 64x64 grid of parcel coloring values. The values stored + in this array are of the type - - Key of IM session, for Group Messages, the groups UUID + + - - Timestamp of the instant message + + - - Instant message text + + - - Whether this message is held for offline avatars + + - - Context specific packed data + + - - Is this invitation for voice group/conference chat + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Sent from the simulator to the viewer. - When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including - a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate - this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" - During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are - excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with - the string "ENTER" or "LEAVE" respectively. - + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - An EventQueue message sent when the agent is forcibly removed from a chatterbox session - + + - - - A string containing the reason the agent was removed - + + - - - The ChatterBoxSession's SessionID - + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + true if your agent has Estate Manager rights on this region - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + Statistics information for this simulator and the + connection to the simulator, calculated by the simulator itself + and the library - - - + + The regions Unique ID - - - Serialize the object - - An containing the objects data + + The physical data center the simulator is located + Known values are: + + Dallas + Chandler + SF + + - - - Deserialize the message - - An containing the data + + The CPU Class of the simulator + Most full mainland/estate sims appear to be 5, + Homesteads and Openspace appear to be 501 - - - Serialize the object - - An containing the objects data + + The number of regions sharing the same CPU as this one + "Full Sims" appear to be 1, Homesteads appear to be 4 - - - Deserialize the message - - An containing the data + + The billing product name + Known values are: + + Mainland / Full Region (Sku: 023) + Estate / Full Region (Sku: 024) + Estate / Openspace (Sku: 027) + Estate / Homestead (Sku: 029) + Mainland / Homestead (Sku: 129) (Linden Owned) + Mainland / Linden Homes (Sku: 131) + + - - - Serialize the object - - An containing the objects data + + The billing product SKU + Known values are: + + 023 Mainland / Full Region + 024 Estate / Full Region + 027 Estate / Openspace + 029 Estate / Homestead + 129 Mainland / Homestead (Linden Owned) + 131 Linden Homes / Full Region + + - - - Deserialize the message - - An containing the data + + The current sequence number for packets sent to this + simulator. Must be Interlocked before modifying. Only + useful for applications manipulating sequence numbers - + - A message sent from the viewer to the simulator which - specifies that the user has changed current URL - of the specific media on a prim face + A thread-safe dictionary containing avatars in a simulator - + - New URL + A thread-safe dictionary containing primitives in a simulator - + - Prim UUID where navigation occured + Provides access to an internal thread-safe dictionary containing parcel + information found in this simulator - + - Face index + Checks simulator parcel map to make sure it has downloaded all data successfully + true if map is full (contains no 0's) - - - Serialize the object - - An containing the objects data + + Used internally to track sim disconnections - - - Deserialize the message - - An containing the data + + Event that is triggered when the simulator successfully + establishes a connection - - Base class used for the ObjectMedia message + + Whether this sim is currently connected or not. Hooked up + to the property Connected - - - Message used to retrive prim media data - + + Coarse locations of avatars in this simulator - - - Prim UUID - + + AvatarPositions key representing TrackAgent target - - - Requested operation, either GET or UPDATE - + + Sequence numbers of packets we've received + (for duplicate checking) - - - Serialize object - - Serialized object as OSDMap + + Packets we sent out that need ACKs from the simulator - - - Deserialize the message - - An containing the data + + Sequence number for pause/resume - - - Message used to update prim media data - + + Indicates if UDP connection to the sim is fully established - + - Prim UUID + + Reference to the GridClient object + IPEndPoint of the simulator + handle of the simulator - + - Array of media entries indexed by face number + Called when this Simulator object is being destroyed - + - Media version string + Attempt to connect to this simulator + Whether to move our agent in to this sim or not + True if the connection succeeded or connection status is + unknown, false if there was a failure - + - Serialize object + Initiates connection to the simulator - Serialized object as OSDMap - + - Deserialize the message + Disconnect from this simulator - An containing the data - + - Message used to update prim media data + Instructs the simulator to stop sending update (and possibly other) packets - + - Prim UUID + Instructs the simulator to resume sending update packets (unpause) - + - Array of media entries indexed by face number + Retrieve the terrain height at a given coordinate + Sim X coordinate, valid range is from 0 to 255 + Sim Y coordinate, valid range is from 0 to 255 + The terrain height at the given point if the + lookup was successful, otherwise 0.0f + True if the lookup was successful, otherwise false - + - Requested operation, either GET or UPDATE + Sends a packet + Packet to be sent - + - Serialize object + - Serialized object as OSDMap - + - Deserialize the message + Returns Simulator Name as a String - An containing the data + - + - Message for setting or getting per face MediaEntry + + - - The request or response details block - - + - Serialize the object + - An containing the objects data + + - + - Deserialize the message + Sends out pending acknowledgements - An containing the data - - - Details about object resource usage - - - Object UUID - - - Object name - - - Indicates if object is group owned - - - Locatio of the object - - - Object owner - - - Resource usage, keys are resource names, values are resource usage for that specific resource + Number of ACKs sent - + - Deserializes object from OSD + Resend unacknowledged packets - An containing the data - + - Makes an instance based on deserialized data + Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. - - serialized data - Instance containg deserialized data - - - Details about parcel resource usage - - - Parcel UUID - - Parcel local ID + + The IP address and port of the server - - Parcel name + + Whether there is a working connection to the simulator or + not - - Indicates if parcel is group owned + + Coarse locations of avatars in this simulator - - Parcel owner + + AvatarPositions key representing TrackAgent target - - Array of containing per object resource usage + + Indicates if UDP connection to the sim is fully established - + - Deserializes object from OSD + Simulator Statistics - An containing the data - - - Makes an instance based on deserialized data - - - serialized data - Instance containg deserialized data + + Total number of packets sent by this simulator to this agent - - Resource usage base class, both agent and parcel resource - usage contains summary information + + Total number of packets received by this simulator to this agent - - Summary of available resources, keys are resource names, - values are resource usage for that specific resource + + Total number of bytes sent by this simulator to this agent - - Summary resource usage, keys are resource names, - values are resource usage for that specific resource + + Total number of bytes received by this simulator to this agent - - - Serializes object - - - serialized data + + Time in seconds agent has been connected to simulator - - - Deserializes object from OSD - - An containing the data + + Total number of packets that have been resent - - Agent resource usage + + Total number of resent packets recieved - - Per attachment point object resource usage + + Total number of pings sent to this simulator by this agent - - - Deserializes object from OSD - - An containing the data + + Total number of ping replies sent to this agent by this simulator - + - Makes an instance based on deserialized data + Incoming bytes per second - - serialized data - Instance containg deserialized data + It would be nice to have this claculated on the fly, but + this is far, far easier - + - Detects which class handles deserialization of this message + Outgoing bytes per second - An containing the data - Object capable of decoding this message + It would be nice to have this claculated on the fly, but + this is far, far easier - - Request message for parcel resource usage + + Time last ping was sent - - UUID of the parel to request resource usage info + + ID of last Ping sent - - - Serializes object - - - serialized data + + - - - Deserializes object from OSD - - An containing the data + + - - Response message for parcel resource usage + + Current time dilation of this simulator - - URL where parcel resource usage details can be retrieved + + Current Frames per second of simulator - - URL where parcel resource usage summary can be retrieved + + Current Physics frames per second of simulator - - - Serializes object - - - serialized data + + - - - Deserializes object from OSD - - An containing the data + + - - - Detects which class handles deserialization of this message - - An containing the data - Object capable of decoding this message + + - - Parcel resource usage + + - - Array of containing per percal resource usage + + - - - Deserializes object from OSD - - An containing the data + + - - - Return a decoded capabilities message as a strongly typed object - - A string containing the name of the capabilities message key - An to decode - A strongly typed object containing the decoded information from the capabilities message, or null - if no existing Message object exists for the specified event + + - - - Permissions for control of object media - + + - - - Style of cotrols that shold be displayed to the user - + + Total number of objects Simulator is simulating - - - Class representing media data for a single face - + + Total number of Active (Scripted) objects running - - Is display of the alternative image enabled + + Number of agents currently in this simulator - - Should media auto loop + + Number of agents in neighbor simulators - - Shoule media be auto played + + Number of Active scripts running in this simulator - - Auto scale media to prim face + + - - Should viewer automatically zoom in on the face when clicked + + - - Should viewer interpret first click as interaction with the media - or when false should the first click be treated as zoom in commadn + + - - Style of controls viewer should display when - viewer media on this face + + Number of downloads pending - - Starting URL for the media + + Number of uploads pending - - Currently navigated URL + + - - Media height in pixes + + - - Media width in pixels + + Number of local uploads pending - - Who can controls the media + + Unacknowledged bytes in queue + + + + Exception class to identify inventory exceptions + + + + + Responsible for maintaining inventory structure. Inventory constructs nodes + and manages node children as is necessary to maintain a coherant hirarchy. + Other classes should not manipulate or create InventoryNodes explicitly. When + A node's parent changes (when a folder is moved, for example) simply pass + Inventory the updated InventoryFolder and it will make the appropriate changes + to its internal representation. + + + + The event subscribers, null of no subscribers + + + Raises the InventoryObjectUpdated Event + A InventoryObjectUpdatedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the InventoryObjectRemoved Event + A InventoryObjectRemovedEventArgs object containing + the data sent from the simulator - - Who can interact with the media + + Thread sync lock object - - Is URL whitelist enabled + + The event subscribers, null of no subscribers - - Array of URLs that are whitelisted + + Raises the InventoryObjectAdded Event + A InventoryObjectAddedEventArgs object containing + the data sent from the simulator - - - Serialize to OSD - - OSDMap with the serialized data + + Thread sync lock object - + - Deserialize from OSD data + Returns the contents of the specified folder - Serialized OSD data - Deserialized object + A folder's UUID + The contents of the folder corresponding to folder + When folder does not exist in the inventory - + - Particle system specific enumerators, flags and methods. + Updates the state of the InventoryNode and inventory data structure that + is responsible for the InventoryObject. If the item was previously not added to inventory, + it adds the item, and updates structure accordingly. If it was, it updates the + InventoryNode, changing the parent node if item.parentUUID does + not match node.Parent.Data.UUID. + + You can not set the inventory root folder using this method + The InventoryObject to store - + - Default constructor + Removes the InventoryObject and all related node data from Inventory. + The InventoryObject to remove. - + - Complete structure for the particle system + Used to find out if Inventory contains the InventoryObject + specified by uuid. + The UUID to check. + true if inventory contains uuid, false otherwise - + - Decodes a byte[] array into a ParticleSystem Object + Saves the current inventory structure to a cache file - ParticleSystem object - Start position for BitPacker + Name of the cache file to save to - + - Particle source pattern + Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + Name of the cache file to load + The number of inventory items sucessfully reconstructed into the inventory node tree - - None - - - Drop particles from source position with no force - - - "Explode" particles in all directions + + Raised when the simulator sends us data containing + ... - - Particles shoot across a 2D area + + Raised when the simulator sends us data containing + ... - - Particles shoot across a 3D Cone + + Raised when the simulator sends us data containing + ... - - Inverse of AngleCone (shoot particles everywhere except the 3D cone defined + + + The root folder of this avatars inventory + - + - Particle Data Flags + The default shared library folder - - None + + + The root node of the avatars inventory + - - Interpolate color and alpha from start to end + + + The root node of the default shared library + - - Interpolate scale from start to end + + + By using the bracket operator on this class, the program can get the + InventoryObject designated by the specified uuid. If the value for the corresponding + UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). + If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), + the uuid parameter is ignored. + + The UUID of the InventoryObject to get or set, ignored if set to non-null value. + The InventoryObject corresponding to uuid. - - Bounce particles off particle sources Z height + + + Holds group information for Avatars such as those you might find in a profile + - - velocity of particles is dampened toward the simulators wind + + true of Avatar accepts group notices - - Particles follow the source + + Groups Key - - Particles point towards the direction of source's velocity + + Texture Key for groups insignia - - Target of the particles + + Name of the group - - Particles are sent in a straight line + + Powers avatar has in the group - - Particles emit a glow + + Avatars Currently selected title - - used for point/grab/touch + + true of Avatar has chosen to list this in their profile - + - Particle Flags Enum + Contains an animation currently being played by an agent - - None - - - Acceleration and velocity for particles are - relative to the object rotation + + The ID of the animation asset - - Particles use new 'correct' angle parameters + + A number to indicate start order of currently playing animations + On Linden Grids this number is unique per region, with OpenSim it is per client - - Particle Flags - There appears to be more data packed in to this area - for many particle systems. It doesn't appear to be flag values - and serialization breaks unless there is a flag for every - possible bit so it is left as an unsigned integer + + - + - pattern of particles - - - A representing the maximimum age (in seconds) particle will be displayed - Maximum value is 30 seconds - - - A representing the number of seconds, - from when the particle source comes into view, - or the particle system's creation, that the object will emits particles; - after this time period no more particles are emitted - - - A in radians that specifies where particles will not be created + Holds group information on an individual profile pick + - - A in radians that specifies where particles will be created + + + Retrieve friend status notifications, and retrieve avatar names and + profiles + - - A representing the number of seconds between burts. + + The event subscribers, null of no subscribers - - A representing the number of meters - around the center of the source where particles will be created. + + Raises the AvatarAnimation Event + An AvatarAnimationEventArgs object containing + the data sent from the simulator - - A representing in seconds, the minimum speed between bursts of new particles - being emitted + + Thread sync lock object - - A representing in seconds the maximum speed of new particles being emitted. + + The event subscribers, null of no subscribers - - A representing the maximum number of particles emitted per burst + + Raises the AvatarAppearance Event + A AvatarAppearanceEventArgs object containing + the data sent from the simulator - - A which represents the velocity (speed) from the source which particles are emitted + + Thread sync lock object - - A which represents the Acceleration from the source which particles are emitted + + The event subscribers, null of no subscribers - - The Key of the texture displayed on the particle + + Raises the UUIDNameReply Event + A UUIDNameReplyEventArgs object containing + the data sent from the simulator - - The Key of the specified target object or avatar particles will follow + + Thread sync lock object - - Flags of particle from + + The event subscribers, null of no subscribers - - Max Age particle system will emit particles for + + Raises the AvatarInterestsReply Event + A AvatarInterestsReplyEventArgs object containing + the data sent from the simulator - - The the particle has at the beginning of its lifecycle + + Thread sync lock object - - The the particle has at the ending of its lifecycle + + The event subscribers, null of no subscribers - - A that represents the starting X size of the particle - Minimum value is 0, maximum value is 4 + + Raises the AvatarPropertiesReply Event + A AvatarPropertiesReplyEventArgs object containing + the data sent from the simulator - - A that represents the starting Y size of the particle - Minimum value is 0, maximum value is 4 + + Thread sync lock object - - A that represents the ending X size of the particle - Minimum value is 0, maximum value is 4 + + The event subscribers, null of no subscribers - - A that represents the ending Y size of the particle - Minimum value is 0, maximum value is 4 + + Raises the AvatarGroupsReply Event + A AvatarGroupsReplyEventArgs object containing + the data sent from the simulator - - - Generate byte[] array from particle data - - Byte array + + Thread sync lock object - - - Parameters used to construct a visual representation of a primitive - + + The event subscribers, null of no subscribers - - - + + Raises the AvatarPickerReply Event + A AvatarPickerReplyEventArgs object containing + the data sent from the simulator - - - + + Thread sync lock object - - - + + The event subscribers, null of no subscribers - - - + + Raises the ViewerEffectPointAt Event + A ViewerEffectPointAtEventArgs object containing + the data sent from the simulator - - - + + Thread sync lock object - - - + + The event subscribers, null of no subscribers - - - + + Raises the ViewerEffectLookAt Event + A ViewerEffectLookAtEventArgs object containing + the data sent from the simulator - - - + + Thread sync lock object - - - + + The event subscribers, null of no subscribers - - - + + Raises the ViewerEffect Event + A ViewerEffectEventArgs object containing + the data sent from the simulator - - - + + Thread sync lock object - - - + + The event subscribers, null of no subscribers - - - + + Raises the AvatarPicksReply Event + A AvatarPicksReplyEventArgs object containing + the data sent from the simulator - - - + + Thread sync lock object - - - + + The event subscribers, null of no subscribers - - - + + Raises the PickInfoReply Event + A PickInfoReplyEventArgs object containing + the data sent from the simulator - - - + + Thread sync lock object - - - + + The event subscribers, null of no subscribers - - - + + Raises the AvatarClassifiedReply Event + A AvatarClassifiedReplyEventArgs object containing + the data sent from the simulator - - - + + Thread sync lock object - - - + + The event subscribers, null of no subscribers - - Attachment point to an avatar + + Raises the ClassifiedInfoReply Event + A ClassifiedInfoReplyEventArgs object containing + the data sent from the simulator - - - + + Thread sync lock object - + + Represents other avatars + - - - + + Tracks the specified avatar on your map + Avatar ID to track - + + Request a single avatar name + The avatar key to retrieve a name for - + - Information on the flexible properties of a primitive + Request a list of avatar names + The avatar keys to retrieve names for - + - Default constructor + Start a request for Avatar Properties + - + + Search for an avatar (first name, last name) - - - - + The name to search for + An ID to associate with this query - + + Start a request for Avatar Picks + UUID of the avatar - + + Start a request for Avatar Classifieds + UUID of the avatar - + + Start a request for details of a specific profile pick + UUID of the avatar + UUID of the profile pick - + + Start a request for details of a specific profile classified + UUID of the avatar + UUID of the profile classified - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Information on the light properties of a primitive - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Default constructor + Crossed region handler for message that comes across the EventQueue. Sent to an agent + when the agent crosses a sim border into a new region. + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - - - + + Raised when the simulator sends us data containing + an agents animation playlist - - - Information on the sculpt properties of a sculpted primitive - + + Raised when the simulator sends us data containing + the appearance information for an agent - - - Default constructor - + + Raised when the simulator sends us data containing + agent names/id values - - - - - - - + + Raised when the simulator sends us data containing + the interests listed in an agents profile - - - Render inside out (inverts the normals). - + + Raised when the simulator sends us data containing + profile property information for an agent - - - Render an X axis mirror of the sculpty. - + + Raised when the simulator sends us data containing + the group membership an agent is a member of - - - Extended properties to describe an object - + + Raised when the simulator sends us data containing + name/id pair - - - Default constructor - + + Raised when the simulator sends us data containing + the objects and effect when an agent is pointing at - - - + + Raised when the simulator sends us data containing + the objects and effect when an agent is looking at - - - + + Raised when the simulator sends us data containing + an agents viewer effect information - - - + + Raised when the simulator sends us data containing + the top picks from an agents profile - - - + + Raised when the simulator sends us data containing + the Pick details - - - + + Raised when the simulator sends us data containing + the classified ads an agent has placed - - - + + Raised when the simulator sends us data containing + the details of a classified ad - - - + + Provides data for the event + The event occurs when the simulator sends + the animation playlist for an agent + + The following code example uses the and + properties to display the animation playlist of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; + + private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) + { + // create a dictionary of "known" animations from the Animations class using System.Reflection + Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); + Type type = typeof(Animations); + System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); + foreach (System.Reflection.FieldInfo field in fields) + { + systemAnimations.Add((UUID)field.GetValue(type), field.Name); + } + + // find out which animations being played are known animations and which are assets + foreach (Animation animation in e.Animations) + { + if (systemAnimations.ContainsKey(animation.AnimationID)) + { + Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, + systemAnimations[animation.AnimationID], animation.AnimationSequence); + } + else + { + Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, + animation.AnimationID, animation.AnimationSequence); + } + } + } + + - + + Construct a new instance of the AvatarAnimationEventArgs class + The ID of the agent + The list of animations to start - - - + + Get the ID of the agent - - - + + Get the list of animations to start - - - + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + + - + + Construct a new instance of the AvatarAppearanceEventArgs class + The simulator request was from + The ID of the agent + true of the agent is a trial account + The default agent texture + The agents appearance layer textures + The for the agent - - - + + Get the Simulator this request is from of the agent - - - + + Get the ID of the agent - - - + + true if the agent is a trial account - - - + + Get the default agent texture - - - + + Get the agents appearance layer textures - - - + + Get the for the agent - - - + + Represents the interests from the profile of an agent - - - + + Get the ID of the agent - - - + + The properties of an agent - - - + + Get the ID of the agent - - - + + Get the ID of the agent - - - Set the properties that are set in an ObjectPropertiesFamily packet - - - that has - been partially filled by an ObjectPropertiesFamily packet + + Get the ID of the agent - + + Get the ID of the avatar + + - Texture animation mode + - - Disable texture animation + + OK - - Enable texture animation + + Transfer completed - - Loop when animating textures + + - - Animate in reverse direction + + - - Animate forward then reverse + + Unknown error occurred - - Slide texture smoothly instead of frame-stepping + + Equivalent to a 404 error - - Rotate texture instead of using frames + + Client does not have permission for that resource - - Scale texture instead of using frames + + Unknown status - + - A single textured face. Don't instantiate this class yourself, use the - methods in TextureEntry + - + + + + + Unknown + + + Virtually all asset transfers use this channel + + - Contains the definition for individual faces + - - - - - + + + + + Asset from the asset server + + + Inventory item + + + Estate asset, such as an estate covenant - + + - - - + + - - - + + - - - + + - + + - - - + + - - - + + - + + Image file format - + + - - In the future this will specify whether a webpage is - attached to this face + + Number of milliseconds passed since the last transfer + packet was received - + + - + + - - - + - Represents all of the texturable faces for an object + - Grid objects have infinite faces, with each face - using the properties of the default face unless set otherwise. So if - you have a TextureEntry with a default texture uuid of X, and face 18 - has a texture UUID of Y, every face would be textured with X except for - face 18 that uses Y. In practice however, primitives utilize a maximum - of nine faces - + - Constructor that takes a default texture UUID + - Texture UUID to use as the default texture - + - Constructor that takes a TextureEntryFace for the - default face + - Face to use as the default face - + - Constructor that creates the TextureEntry class from a byte array + - Byte array containing the TextureEntry field - Starting position of the TextureEntry field in - the byte array - Length of the TextureEntry field, in bytes + + + + - + + - - - + + Number of milliseconds to wait for a transfer header packet if out of order data was received - - - This will either create a new face if a custom face for the given - index is not defined, or return the custom face for that index if - it already exists - - The index number of the face to create or - retrieve - A TextureEntryFace containing all the properties for that - face + + The event subscribers. null if no subcribers - - - - - - - + + Raises the XferReceived event + A XferReceivedEventArgs object containing the + data returned from the simulator - - - - - + + Thread sync lock object - - - - - + + The event subscribers. null if no subcribers - - - - - + + Raises the AssetUploaded event + A AssetUploadedEventArgs object containing the + data returned from the simulator - - - Controls the texture animation of a particular prim - + + Thread sync lock object - - - - - - - + + The event subscribers. null if no subcribers - - - + + Raises the UploadProgress event + A UploadProgressEventArgs object containing the + data returned from the simulator - - - + + Thread sync lock object - - - + + The event subscribers. null if no subcribers - - - + + Raises the InitiateDownload event + A InitiateDownloadEventArgs object containing the + data returned from the simulator - - - + + Thread sync lock object - - - + + The event subscribers. null if no subcribers - - - + + Raises the ImageReceiveProgress event + A ImageReceiveProgressEventArgs object containing the + data returned from the simulator - - - - - + + Thread sync lock object - + + Texture download cache + + - Current version of the media data for the prim + Default constructor + A reference to the GridClient object - + - Array of media entries indexed by face number + Request an asset download + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + The callback to fire when the simulator responds with the asset data - + + Request an asset download + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + The callback to fire when the simulator responds with the asset data - + + Request an asset download + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + UUID of the transaction + The callback to fire when the simulator responds with the asset data - + + Request an asset download through the almost deprecated Xfer system + Filename of the asset to request + Whether or not to delete the asset + off the server after it is retrieved + Use large transfer packets or not + UUID of the file to request, if filename is + left empty + Asset type of vFileID, or + AssetType.Unknown if filename is not empty + Sets the FilePath in the request to Cache + (4) if true, otherwise Unknown (0) is used + - + + + Use UUID.Zero if you do not have the + asset ID but have all the necessary permissions + The item ID of this asset in the inventory + Use UUID.Zero if you are not requesting an + asset from an object inventory + The owner of this asset + Asset type + Whether to prioritize this asset download or not + - + + Used to force asset data into the PendingUpload property, ie: for raw terrain uploads + An AssetUpload object containing the data to upload to the simulator - + + Request an asset be uploaded to the simulator + The Object containing the asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - + + Request an asset be uploaded to the simulator + The of the asset being uploaded + A byte array containing the encoded asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - - Foliage type for this primitive. Only applicable if this - primitive is foliage - - - Unknown - - + + Request an asset be uploaded to the simulator + + Asset type to upload this data as + A byte array containing the encoded asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - + + Initiate an asset upload + The ID this asset will have if the + upload succeeds + Asset type to upload this data as + Raw asset data to upload + Whether to store this asset on the local + simulator or the grid-wide asset server + The tranaction id for the upload + The transaction ID of this transfer - - - + + + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress + transfer. + A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority + indicating an off-by-one error. + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request + + Request an image and fire a callback when the request is complete + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); + + private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); + } + } + + Request an image and use an inline anonymous method to handle the downloaded texture data + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); + } + } + ); + + Request a texture, decode the texture to a bitmap image and apply it to a imagebox + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); + + private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + ManagedImage imgData; + Image bitmap; + + if (state == TextureRequestState.Finished) + { + OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); + picInsignia.Image = bitmap; + } + } + } + + - + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + The of the texture asset to download + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data - + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data - + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request - + + Cancel a texture request + The texture assets - + + Lets TexturePipeline class fire the progress event + The texture ID currently being downloaded + the number of bytes transferred + the total number of bytes expected - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Identifies the owner if audio or a particle system is - active + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Raised when the simulator responds sends - - - + + Raised during upload completes - - - + + Raised during upload with progres update - - - + + Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files - - - + + Fired when a texture is in the process of being downloaded by the TexturePipeline class - + + Callback used for various asset download requests + Transfer information + Downloaded asset, null on fail - + + Callback used upon competition of baked texture upload + Asset UUID of the newly uploaded baked texture - - - + + Xfer data - - - + + Upload data - - - + + Filename used on the simulator - - - + + Filename used by the client - - Uses basic heuristics to estimate the primitive shape + + UUID of the image that is in progress - - - Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters in to signed eight bit values - - Floating point parameter to pack - Signed eight bit value containing the packed parameter + + Number of bytes received so far - - - Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters from signed eight bit integers to floating point values - - Signed eight bit value to unpack - Unpacked floating point value + + Image size in bytes - + - The type of bump-mapping applied to a face + A set of textures that are layered on texture of each other and "baked" + in to a single texture, for avatar appearances - - - + + Final baked texture - - - + + Component layers - - - + + Width of the final baked image and scratchpad - - - + + Height of the final baked image and scratchpad - - - + + Bake type - + + Default constructor + Bake type - + + Adds layer for baking + TexturaData struct that contains texture and its params - + + Converts avatar texture index (face) to Bake type + Face number (AvatarTextureIndex) + BakeType, layer to which this texture belongs to - + + Make sure images exist, resize source if needed to match the destination + Destination image + Source image + Sanitization was succefull - + + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if + the image is a pure solid color + Color of the base of this layer - + + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if + the image is a pure solid color + Red value + Green value + Blue value - + + Final baked texture + + + Component layers + + + Width of the final baked image and scratchpad + + + Height of the final baked image and scratchpad + + + Bake type + + + Is this one of the 3 skin bakes + + + Represents a string of characters encoded with specific formatting properties - + + A text string containing main text of the notecard + + + List of s embedded on the notecard + + + Construct an Asset of type Notecard + + + Construct an Asset object of type Notecard + A unique specific to this asset + A byte array containing the raw asset data - + + Encode the raw contents of a string with the specific Linden Text properties - + + Decode the raw asset data including the Linden Text properties + true if the AssetData was successfully decoded - - - + + Override the base classes AssetType - + + Add a custom decoder callback + The key of the field to decode + The custom decode handler - + + Remove a custom decoder callback + The key of the field to decode + The custom decode handler - + - The level of shininess applied to a face + Creates a formatted string containing the values of a Packet + The Packet + A formatted string of values of the nested items in the Packet object - + + Decode an IMessage object into a beautifully formatted string + The IMessage object + Recursion level (used for indenting) + A formatted string containing the names and values of the source object - + + A custom decoder callback + The key of the object + the data to decode + A string represending the fieldData - + + Registers, unregisters, and fires events generated by incoming packets - - - + + Reference to the GridClient object - + - The texture mapping style used for a face + Default constructor + - + + Register an event handler + Use PacketType.Default to fire this event on every + incoming packet + Packet type to register the handler for + Callback to be fired + True if this callback should be ran + asynchronously, false to run it synchronous - + + Unregister an event handler + Packet type to unregister the handler for + Callback to be unregistered - + + Fire the events registered for this packet type + Incoming packet type + Incoming packet + Simulator this packet was received from - + + Object that is passed to worker threads in the ThreadPool for + firing packet callbacks - - - Flags in the TextureEntry block that describe which properties are - set - + + Callback to fire for this packet - + + Reference to the simulator that this packet came from + + + The packet that needs to be processed + + + Registers, unregisters, and fires events generated by the Capabilities + event queue - + + Reference to the GridClient object + + + Default constructor + Reference to the GridClient object - + + Register an new event handler for a capabilities event sent via the EventQueue + Use String.Empty to fire this event on every CAPS event + Capability event name to register the + handler for + Callback to fire - + + Unregister a previously registered capabilities handler + Capability event name unregister the + handler for + Callback to unregister - + + Fire the events registered for this event type synchronously + Capability name + Decoded event body + Reference to the simulator that + generated this event - + + Fire the events registered for this event type asynchronously + Capability name + Decoded event body + Reference to the simulator that + generated this event - + + Object that is passed to worker threads in the ThreadPool for + firing CAPS callbacks - + + Callback to fire for this packet + + + Name of the CAPS event + + + Strongly typed decoded data + + + Reference to the simulator that generated this event + + + Represends individual HTTP Download request - + + URI of the item to fetch + + + Timout specified in milliseconds + + + Download progress callback + + + Download completed callback + + + Accept the following content type + + + Default constructor + + + Constructor + + + Manages async HTTP downloads with a limit on maximum + concurrent downloads - + + Default constructor + + + Cleanup method + + + Setup http download request + + + Check the queue for pending work + + + Enqueue a new HTPP download + + + Maximum number of parallel downloads from a single endpoint + + + Client certificate + + + Index of TextureEntry slots for avatar appearances - + + Bake layers for avatar appearance - - - + + Maximum number of concurrent downloads for wearable assets and textures + + + Maximum number of concurrent uploads for baked textures + + + Timeout for fetching inventory listings + + + Timeout for fetching a single wearable, or receiving a single packet response + + + Timeout for fetching a single texture + + + Timeout for uploading a single baked texture + + + Number of times to retry bake upload + + + When changing outfit, kick off rebake after + 20 seconds has passed since the last change + + + Total number of wearables for each avatar + + + Total number of baked textures on each avatar + + + Total number of wearables per bake layer + + + Total number of textures on an avatar, baked or not + + + Mapping between BakeType and AvatarTextureIndex + + + Map of what wearables are included in each bake + + + Magic values to finalize the cache check hashes for each + bake + + + Default avatar texture, used to detect when a custom + texture is not set for a face + + + The event subscribers. null if no subcribers + + + Raises the AgentWearablesReply event + An AgentWearablesReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers - - - Level of Detail mesh - + + Raises the CachedBakesReply event + An AgentCachedBakesReplyEventArgs object containing the + data returned from the data server AgentCachedTextureResponse - - - Constructor for default logging settings - + + Thread sync lock object - - Enable logging + + The event subscribers. null if no subcribers - - The folder where any logs will be created + + Raises the AppearanceSet event + An AppearanceSetEventArgs object indicating if the operatin was successfull - - This will be prepended to beginning of each log file + + Thread sync lock object - - The suffix or extension to be appended to each log file + + The event subscribers. null if no subcribers - - - 0: NONE - No logging - 1: ERROR - Log errors only - 2: WARNING - Log errors and warnings - 3: INFO - Log errors, warnings and info - 4: DEBUG - Log errors, warnings, info and debug - + + Raises the RebakeAvatarRequested event + An RebakeAvatarTexturesEventArgs object containing the + data returned from the data server - - Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter - - - Event for most mundane request reposnses. - + + Thread sync lock object - - Response to Connector.Create request + + A cache of wearables currently being worn - - Response to Aux.GetCaptureDevices request + + A cache of textures currently being worn - - Response to Aux.GetRenderDevices request + + Incrementing serial number for AgentCachedTexture packets - - Audio Properties Events are sent after audio capture is started. - These events are used to display a microphone VU meter + + Incrementing serial number for AgentSetAppearance packets - - Response to Account.Login request + + Indicates whether or not the appearance thread is currently + running, to prevent multiple appearance threads from running + simultaneously - - This event message is sent whenever the login state of the - particular Account has transitioned from one value to another + + Reference to our agent - + - List of audio input devices + Timer used for delaying rebake on changing outfit - + - List of audio output devices + Main appearance thread - + - Set audio test mode + Default constructor + A reference to our agent - + - This is used to login a specific user account(s). It may only be called after - Connector initialization has completed successfully + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread - Handle returned from successful Connector �create� request - User's account name - User's account password - Values may be �AutoAnswer� or �VerifyAnswer� - "" - This is an integer that specifies how often - the daemon will send participant property events while in a channel. If this is not set - the default will be �on state change�, which means that the events will be sent when - the participant starts talking, stops talking, is muted, is unmuted. - The valid values are: - 0 � Never - 5 � 10 times per second - 10 � 5 times per second - 50 � 1 time per second - 100 � on participant state change (this is the default) - false - - - + - This is used to logout a user session. It should only be called with a valid AccountHandle. + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread - Handle returned from successful Connector �login� request - - + Unused parameter - + - This is used to get a list of audio devices that can be used for capture (input) of voice. + Starts the appearance setting thread - - - + - This is used to get a list of audio devices that can be used for render (playback) of voice. + Starts the appearance setting thread + True to force rebaking, otherwise false - + - This command is used to select the render device. + Ask the server what textures our agent is currently wearing - The name of the device as returned by the Aux.GetRenderDevices command. - + - This command is used to select the capture device. + Build hashes out of the texture assetIDs for each baking layer to + ask the simulator whether it has cached copies of each baked texture - The name of the device as returned by the Aux.GetCaptureDevices command. - + - This command is used to start the audio capture process which will cause - AuxAudioProperty Events to be raised. These events can be used to display a - microphone VU meter for the currently selected capture device. This command - should not be issued if the user is on a call. + Returns the AssetID of the asset that is currently being worn in a + given WearableType slot - (unused but required) - - + WearableType slot to get the AssetID for + The UUID of the asset being worn in the given slot, or + UUID.Zero if no wearable is attached to the given slot or wearables + have not been downloaded yet - + - This command is used to stop the audio capture process. + Add a wearable to the current outfit and set appearance - - + Wearable to be added to the outfit - + - This command is used to set the mic volume while in the audio tuning process. - Once an acceptable mic level is attained, the application must issue a - connector set mic volume command to have that level be used while on voice - calls. + Add a list of wearables to the current outfit and set appearance - the microphone volume (-100 to 100 inclusive) - - + List of wearable inventory items to + be added to the outfit - + - This command is used to set the speaker volume while in the audio tuning - process. Once an acceptable speaker level is attained, the application must - issue a connector set speaker volume command to have that level be used while - on voice calls. + Remove a wearable from the current outfit and set appearance - the speaker volume (-100 to 100 inclusive) - - + Wearable to be removed from the outfit - + - This is used to initialize and stop the Connector as a whole. The Connector - Create call must be completed successfully before any other requests are made - (typically during application initialization). The shutdown should be called - when the application is shutting down to gracefully release resources + Removes a list of wearables from the current outfit and set appearance - A string value indicting the Application name - URL for the management server - LoggingSettings - - - - + List of wearable inventory items to + be removed from the outfit - + - Shutdown Connector -- Should be called when the application is shutting down - to gracefully release resources + Replace the current outfit with a list of wearables and set appearance - Handle returned from successful Connector �create� request + List of wearable inventory items that + define a new outfit - + - Mute or unmute the microphone + Checks if an inventory item is currently being worn - Handle returned from successful Connector �create� request - true (mute) or false (unmute) + The inventory item to check against the agent + wearables + The WearableType slot that the item is being worn in, + or WearbleType.Invalid if it is not currently being worn - + - Mute or unmute the speaker + Returns a copy of the agents currently worn wearables - Handle returned from successful Connector �create� request - true (mute) or false (unmute) + A copy of the agents currently worn wearables + Avoid calling this function multiple times as it will make + a copy of all of the wearable data each time - + - Set microphone volume + Calls either or + depending on the value of + replaceItems - Handle returned from successful Connector �create� request - The level of the audio, a number between -100 and 100 where - 0 represents �normal� speaking volume + List of wearable inventory items to add + to the outfit or become a new outfit + True to replace existing items with the + new list of items, false to add these items to the existing outfit - + - Set local speaker volume + Adds a list of attachments to our agent - Handle returned from successful Connector �create� request - The level of the audio, a number between -100 and 100 where - 0 represents �normal� speaking volume + A List containing the attachments to add + If true, tells simulator to remove existing attachment + first - + - Start up the Voice service. + Attach an item to our agent at a specific attach point + A to attach + the on the avatar + to attach the item to - - - Handle miscellaneous request status - - - - - - ///If something goes wrong, we log it. - + - Cleanup oject resources + Attach an item to our agent specifying attachment details + The of the item to attach + The attachments owner + The name of the attachment + The description of the attahment + The to apply when attached + The of the attachment + The on the agent + to attach the item to - + - Request voice cap when changing regions + Detach an item from our agent using an object + An object - + - Handle a change in session state + Detach an item from our agent + The inventory itemID of the item to detach - + - Close a voice session + Inform the sim which wearables are part of our current outfit - - - + - Locate a Session context from its handle + Replaces the Wearables collection with a list of new wearable items - Creates the session context if it does not exist. + Wearable items to replace the Wearables collection with - + - Handle completion of main voice cap request. + Calculates base color/tint for a specific wearable + based on its params - - - - - - + All the color info gathered from wearable's VisualParams + passed as list of ColorParamInfo tuples + Base color/tint for the wearable - + - Daemon has started so connect to it. + Blocking method to populate the Wearables dictionary + True on success, otherwise false - + - The daemon TCP connection is open. + Blocking method to populate the Textures array with cached bakes + True on success, otherwise false - + - Handle creation of the Connector. + Populates textures and visual params from a decoded asset + Wearable to decode - + - Handle response to audio output device query + Blocking method to download and parse currently worn wearable assets + True on success, otherwise false - + - Handle response to audio input device query + Get a list of all of the textures that need to be downloaded for a + single bake layer + Bake layer to get texture AssetIDs for + A list of texture AssetIDs to download - + - Set voice channel for new parcel + Helper method to lookup the TextureID for a single layer and add it + to a list if it is not already present + + - + - Request info from a parcel capability Uri. + Blocking method to download all of the textures needed for baking + the given bake layers - - + A list of layers that need baking + No return value is given because the baking will happen + whether or not all textures are successfully downloaded - + - Receive parcel voice cap + Blocking method to create and upload baked textures for all of the + missing bakes - - - - - - + True on success, otherwise false - + - Tell Vivox where we are standing + Blocking method to create and upload a baked texture for a single + bake layer - This has to be called when we move or turn. + Layer to bake + True on success, otherwise false - + - Start and stop updating out position. + Blocking method to upload a baked texture - - + Five channel JPEG2000 texture data to upload + UUID of the newly created asset on success, otherwise UUID.Zero - + - Starts a thread that keeps the daemon running + Creates a dictionary of visual param values from the downloaded wearables - - - - + A dictionary of visual param indices mapping to visual param + values for our agent that can be fed to the Baker class - + - Stops the daemon and the thread keeping it running + Create an AgentSetAppearance packet from Wearables data and the + Textures array and send it - + + Converts a WearableType to a bodypart or clothing WearableType - - - - - - + A WearableType + AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown - + - Create a Session - Sessions typically represent a connection to a media session with one or more - participants. This is used to generate an �outbound� call to another user or - channel. The specifics depend on the media types involved. A session handle is - required to control the local user functions within the session (or remote - users if the current account has rights to do so). Currently creating a - session automatically connects to the audio media, there is no need to call - Session.Connect at this time, this is reserved for future use. + Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex - Handle returned from successful Connector �create� request - This is the URI of the terminating point of the session (ie who/what is being called) - This is the display name of the entity being called (user or channel) - Only needs to be supplied when the target URI is password protected - This indicates the format of the password as passed in. This can either be - �ClearText� or �SHA1UserName�. If this element does not exist, it is assumed to be �ClearText�. If it is - �SHA1UserName�, the password as passed in is the SHA1 hash of the password and username concatenated together, - then base64 encoded, with the final �=� character stripped off. - - - - - - + A BakeType + The AvatarTextureIndex slot that holds the given BakeType - + - Used to accept a call + Gives the layer number that is used for morph mask - SessionHandle such as received from SessionNewEvent - "default" - - + >A BakeType + Which layer number as defined in BakeTypeToTextures is used for morph mask - + - This command is used to start the audio render process, which will then play - the passed in file through the selected audio render device. This command - should not be issued if the user is on a call. + Converts a BakeType to a list of the texture slots that make up that bake - The fully qualified path to the sound file. - True if the file is to be played continuously and false if it is should be played once. - - + A BakeType + A list of texture slots that are inputs for the given bake - + + Triggered when an AgentWearablesUpdate packet is received, + telling us what our avatar is currently wearing + request. + + + Raised when an AgentCachedTextureResponse packet is + received, giving a list of cached bakes that were found on the + simulator + request. + + - This command is used to stop the audio render process. + Raised when appearance data is sent to the simulator, also indicates + the main appearance thread is finished. - The fully qualified path to the sound file issued in the start render command. - - + request. - + - This is used to �end� an established session (i.e. hang-up or disconnect). + Triggered when the simulator requests the agent rebake its appearance. - Handle returned from successful Session �create� request or a SessionNewEvent - - + - + - Set the combined speaking and listening position in 3D space. + Returns true if AppearanceManager is busy and trying to set or change appearance will fail - Handle returned from successful Session �create� request or a SessionNewEvent - Speaking position - Listening position - - - + - Set User Volume for a particular user. Does not affect how other users hear that user. + Contains information about a wearable inventory item - Handle returned from successful Session �create� request or a SessionNewEvent - - - The level of the audio, a number between -100 and 100 where 0 represents �normal� speaking volume - - - - Positional vector of the users position + + Inventory ItemID of the wearable - - Velocity vector of the position + + AssetID of the wearable asset - - At Orientation (X axis) of the position + + WearableType of the wearable - - Up Orientation (Y axis) of the position + + AssetType of the wearable - - Left Orientation (Z axis) of the position + + Asset data for the wearable - + - Extract the avatar UUID encoded in a SIP URI + Data collected from visual params for each wearable + needed for the calculation of the color - - - - - + - Represents a single Voice Session to the Vivox service. + Holds a texture assetID and the data needed to bake this layer into + an outfit texture. Used to keep track of currently worn textures + and baking data - - - Close this session. - + + A texture AssetID - - - Look up an existing Participants in this session - - - - - + + Asset data for the texture - + + Collection of alpha masks that needs applying + + + Tint that should be applied to the texture + + + Contains the Event data returned from the data server from an AgentWearablesRequest + + + Construct a new instance of the AgentWearablesReplyEventArgs class + + + Contains the Event data returned from the data server from an AgentCachedTextureResponse + + + Construct a new instance of the AgentCachedBakesReplyEventArgs class + + + Contains the Event data returned from an AppearanceSetRequest + + - - - - - + Triggered when appearance data is sent to the sim and + the main appearance thread is done. + Indicates whether appearance setting was successful - + + Indicates whether appearance setting was successful + + + Contains the Event data returned from the data server from an RebakeAvatarTextures + + - A callback fired to indicate the status or final state of the requested texture. For progressive - downloads this will fire each time new asset data is returned from the simulator. + Triggered when the simulator sends a request for this agent to rebake + its appearance - The indicating either Progress for textures not fully downloaded, - or the final result of the request after it has been processed through the TexturePipeline - The object containing the Assets ID, raw data - and other information. For progressive rendering the will contain - the data from the beginning of the file. For failed, aborted and timed out requests it will contain - an empty byte array. + The ID of the Texture Layer to bake + + + The ID of the Texture Layer to bake diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index b9c73b7..8f02186 100644 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverse.dll.config b/bin/OpenMetaverse.dll.config index dc36a45..13fdc11 100644 --- a/bin/OpenMetaverse.dll.config +++ b/bin/OpenMetaverse.dll.config @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/bin/OpenMetaverseTypes.XML b/bin/OpenMetaverseTypes.XML index 69e5c1b..9b19851 100644 --- a/bin/OpenMetaverseTypes.XML +++ b/bin/OpenMetaverseTypes.XML @@ -1,239 +1,23 @@ - /home/root/libopenmetaverse/bin/OpenMetaverseTypes + OpenMetaverseTypes - - - Same as Queue except Dequeue function blocks until there is an object to return. - Note: This class does not need to be synchronized - - - - - Create new BlockingQueue. - - The System.Collections.ICollection to copy elements from - - - - Create new BlockingQueue. - - The initial number of elements that the queue can contain - - - - Create new BlockingQueue. - - - - - Gets flag indicating if queue has been closed. - - - - - BlockingQueue Destructor (Close queue, resume any waiting thread). - - - - - Remove all objects from the Queue. - - - - - Remove all objects from the Queue, resume all dequeue threads. - - - - - Removes and returns the object at the beginning of the Queue. - - Object in queue. - - - - Removes and returns the object at the beginning of the Queue. - - time to wait before returning - Object in queue. - - - - Removes and returns the object at the beginning of the Queue. - - time to wait before returning (in milliseconds) - Object in queue. - - - - Adds an object to the end of the Queue - - Object to put in queue - - - - Open Queue. - - - - - Copy constructor - - Circular queue to copy - - - - An 8-bit color structure including an alpha channel - - - - - - - - - - - - - - - - - Builds a color from a byte array - - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - - - - Returns the raw bytes for this vector - - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted - A 16 byte array containing R, G, B, and A - - - - Copy constructor - - Color to copy - - - Red - - - Green - - - Blue - - - Alpha - - - A Color4 with zero RGB values and fully opaque (alpha 1.0) - - - A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) - - - - IComparable.CompareTo implementation - - Sorting ends up like this: |--Grayscale--||--Color--|. - Alpha is only used when the colors are otherwise equivalent - - - - Builds a color from a byte array - - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted - - - - Writes the raw bytes for this color to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - - - - Serializes this color into four bytes in a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 4 bytes before the end of the array - True to invert the output (1.0 becomes 0 - instead of 255) - - - - Writes the raw bytes for this color to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - - - - Ensures that values are in range 0-1 - - - - - Create an RGB color from a hue, saturation, value combination - - Hue - Saturation - Value - An fully opaque RGB color (alpha is 1.0) - - - - Performs linear interpolation between two colors - - Color to start at - Color to end at - Amount to interpolate - The interpolated color - Attribute class that allows extra attributes to be attached to ENUMs + + Text used when presenting ENUM to user + Default initializer Text used when presenting ENUM to user - - Text used when presenting ENUM to user - The different types of grid assets @@ -255,11 +39,11 @@ Link to a location in world - Collection of textures and parameters that can be + Collection of textures and parameters that can be worn by an avatar - Primitive that can contain textures, sounds, + Primitive that can contain textures, sounds, scripts and more @@ -367,42 +151,34 @@ Notecard - - + Folder - - + an LSL Script - - + - - + - - + - - + - - + - - + @@ -474,1830 +250,1734 @@ Invalid wearable asset - + - Identifier code for primitive types + Copy constructor + Circular queue to copy - - None - - - A Primitive + + X value - - A Avatar + + Y value - - Linden grass + + Z value - - Linden tree + + W value - - A primitive that acts as the source for a particle stream - - - A Linden tree - - + - Primary parameters for primitives such as Physics Enabled or Phantom + Build a quaternion from normalized float values + X value from -1.0 to 1.0 + Y value from -1.0 to 1.0 + Z value from -1.0 to 1.0 - - Deprecated - - - Whether physics are enabled for this object - - + + Constructor, builds a quaternion object from a byte array + Byte array containing four four-byte floats + Offset in the byte array to start reading at + Whether the source data is normalized or + not. If this is true 12 bytes will be read, otherwise 16 bytes will + be read. - + + Normalizes the quaternion - + + Builds a quaternion object from a byte array + The source byte array + Offset in the byte array to start reading at + Whether the source data is normalized or + not. If this is true 12 bytes will be read, otherwise 16 bytes will + be read. - + + Normalize this quaternion and serialize it to a byte array + A 12 byte array containing normalized X, Y, and Z floating + point values in order using little endian byte ordering - + + Writes the raw bytes for this quaternion to a byte array + Destination byte array + Position in the destination array to start + writing. Must be at least 12 bytes before the end of the array - + + Convert this quaternion to euler angles + X euler angle + Y euler angle + Z euler angle - - Whether this object contains an active touch script - - + + Convert this quaternion to an angle around an axis + Unit vector describing the axis + Angle around the axis, in radians - - Whether this object can receive payments - - - Whether this object is phantom (no collisions) - - + + Returns the conjugate (spatial inverse) of a quaternion - + + Build a quaternion from an axis and an angle of rotation around + that axis - + + Build a quaternion from an axis and an angle of rotation around + that axis + Axis of rotation + Angle of rotation - + + Creates a quaternion from a vector containing roll, pitch, and yaw + in radians + Vector representation of the euler angles in + radians + Quaternion representation of the euler angles - - Deprecated - - + + Creates a quaternion from roll, pitch, and yaw euler angles in + radians + X angle in radians + Y angle in radians + Z angle in radians + Quaternion representation of the euler angles - + + Conjugates and renormalizes a vector - + + Spherical linear interpolation between two quaternions - - Deprecated - - + + Get a string representation of the quaternion elements with up to three + decimal digits and separated by spaces only + Raw string representation of the quaternion - - - + + A quaternion with a value of 0,0,0,1 - + + A hierarchical token bucket for bandwidth throttling. See + http://en.wikipedia.org/wiki/Token_bucket for more information - - - + + Parent bucket to this bucket, or null if this is a root + bucket - - Server flag, will not be sent to clients. Specifies that - the object is destroyed when it touches a simulator edge + + Size of the bucket in bytes. If zero, the bucket has + infinite capacity - - Server flag, will not be sent to clients. Specifies that - the object will be returned to the owner's inventory when it - touches a simulator edge + + Rate that the bucket fills, in bytes per millisecond. If + zero, the bucket always remains full - - Server flag, will not be sent to clients. + + Number of tokens currently in the bucket - - Server flag, will not be sent to client. Specifies that - the object is hovering/flying + + Time of the last drip, in system ticks - + + Default constructor + Parent bucket if this is a child bucket, or + null if this is a root bucket + Maximum size of the bucket in bytes, or + zero if this bucket has no maximum capacity + Rate that the bucket fills, in bytes per + second. If zero, the bucket always remains full - + + Remove a given number of tokens from the bucket + Number of tokens to remove from the bucket + True if the requested number of tokens were removed from + the bucket, otherwise false - + + Remove a given number of tokens from the bucket + Number of tokens to remove from the bucket + True if tokens were added to the bucket + during this call, otherwise false + True if the requested number of tokens were removed from + the bucket, otherwise false - + + Add tokens to the bucket over time. The number of tokens added each + call depends on the length of time that has passed since the last + call to Drip + True if tokens were added to the bucket, otherwise false - + - Sound flags for sounds attached to primitives + The parent bucket of this bucket, or null if this bucket has no + parent. The parent bucket will limit the aggregate bandwidth of all + of its children buckets - + + Maximum burst rate in bytes per second. This is the maximum number + of tokens that can accumulate in the bucket at any one time - + + The speed limit of this bucket in bytes per second. This is the + number of tokens that are added to the bucket per second + Tokens are added to the bucket any time + is called, at the granularity of + the system tick interval (typically around 15-22ms) - + + The number of bytes that can be sent at this moment. This is the + current number of tokens in the bucket + If this bucket has a parent bucket that does not have + enough tokens for a request, will + return false regardless of the content of this bucket - + + Same as Queue except Dequeue function blocks until there is an object to return. + Note: This class does not need to be synchronized - + + Create new BlockingQueue. + The System.Collections.ICollection to copy elements from - + + Create new BlockingQueue. + The initial number of elements that the queue can contain - + + Create new BlockingQueue. - + - Material type for a primitive + BlockingQueue Destructor (Close queue, resume any waiting thread). - + + Remove all objects from the Queue. - + + Remove all objects from the Queue, resume all dequeue threads. - + + Removes and returns the object at the beginning of the Queue. + Object in queue. - + + Removes and returns the object at the beginning of the Queue. + time to wait before returning + Object in queue. - + + Removes and returns the object at the beginning of the Queue. + time to wait before returning (in milliseconds) + Object in queue. - + + Adds an object to the end of the Queue + Object to put in queue - + + Open Queue. - + + Gets flag indicating if queue has been closed. - + - Used in a helper function to roughly determine prim shape + Determines the appropriate events to set, leaves the locks, and sets the events. - + - Extra parameters for primitives, these flags are for features that have - been added after the original ObjectFlags that has all eight bits - reserved already + A routine for lazily creating a event outside the lock (so if errors + happen they are outside the lock and that we don't do much work + while holding a spin lock). If all goes well, reenter the lock and + set 'waitEvent' - - Whether this object has flexible parameters + + + Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. + Before the wait 'numWaiters' is incremented and is restored before leaving this routine. + - - Whether this object has light parameters + + Used for converting degrees to radians - - Whether this object is a sculpted prim + + Used for converting radians to degrees - + + Convert the first two bytes starting in the byte array in + little endian ordering to a signed short integer + An array two bytes or longer + A signed short integer, will be zero if a short can't be + read at the given position - + + Convert the first two bytes starting at the given position in + little endian ordering to a signed short integer + An array two bytes or longer + Position in the array to start reading + A signed short integer, will be zero if a short can't be + read at the given position - + + Convert the first four bytes starting at the given position in + little endian ordering to a signed integer + An array four bytes or longer + Position to start reading the int from + A signed integer, will be zero if an int can't be read + at the given position - + + Convert the first four bytes of the given array in little endian + ordering to a signed integer + An array four bytes or longer + A signed integer, will be zero if the array contains + less than four bytes - + + Convert the first eight bytes of the given array in little endian + ordering to a signed long integer + An array eight bytes or longer + A signed long integer, will be zero if the array contains + less than eight bytes - + + Convert the first eight bytes starting at the given position in + little endian ordering to a signed long integer + An array eight bytes or longer + Position to start reading the long from + A signed long integer, will be zero if a long can't be read + at the given position - + + Convert the first two bytes starting at the given position in + little endian ordering to an unsigned short + Byte array containing the ushort + Position to start reading the ushort from + An unsigned short, will be zero if a ushort can't be read + at the given position - + + Convert two bytes in little endian ordering to an unsigned short + Byte array containing the ushort + An unsigned short, will be zero if a ushort can't be + read - + + Convert the first four bytes starting at the given position in + little endian ordering to an unsigned integer + Byte array containing the uint + Position to start reading the uint from + An unsigned integer, will be zero if a uint can't be read + at the given position - + + Convert the first four bytes of the given array in little endian + ordering to an unsigned integer + An array four bytes or longer + An unsigned integer, will be zero if the array contains + less than four bytes - + + Convert the first eight bytes of the given array in little endian + ordering to an unsigned 64-bit integer + An array eight bytes or longer + An unsigned 64-bit integer, will be zero if the array + contains less than eight bytes - + + Convert four bytes in little endian ordering to a floating point + value + Byte array containing a little ending floating + point value + Starting position of the floating point value in + the byte array + Single precision value - + + Convert an integer to a byte array in little endian format + The integer to convert + A four byte little endian array - + + Convert an integer to a byte array in big endian format + The integer to convert + A four byte big endian array - + + Convert a 64-bit integer to a byte array in little endian format + The value to convert + An 8 byte little endian array - + + Convert a 64-bit unsigned integer to a byte array in little endian + format + The value to convert + An 8 byte little endian array - + + Convert a floating point value to four bytes in little endian + ordering + A floating point value + A four byte array containing the value in little endian + ordering - + + Converts an unsigned integer to a hexadecimal string + An unsigned integer to convert to a string + A hexadecimal string 10 characters long + 0x7fffffff - + + Convert a variable length UTF8 byte array to a string + The UTF8 encoded byte array to convert + The decoded string - + + Converts a byte array to a string containing hexadecimal characters + The byte array to convert to a string + The name of the field to prepend to each + line of the string + A string containing hexadecimal characters on multiple + lines. Each line is prepended with the field name - + + Converts a byte array to a string containing hexadecimal characters + The byte array to convert to a string + Number of bytes in the array to parse + A string to prepend to each line of the hex + dump + A string containing hexadecimal characters on multiple + lines. Each line is prepended with the field name - + + Convert a string to a UTF8 encoded byte array + The string to convert + A null-terminated UTF8 byte array - + + Converts a string containing hexadecimal characters to a byte array + String containing hexadecimal characters + If true, gracefully handles null, empty and + uneven strings as well as stripping unconvertable characters + The converted byte array - + + Returns true is c is a hexadecimal digit (A-F, a-f, 0-9) + Character to test + true if hex digit, false if not - + + Converts 1 or 2 character string into equivalant byte value + 1 or 2 character string + byte - + + Convert a float value to a byte given a minimum and maximum range + Value to convert to a byte + Minimum value range + Maximum value range + A single byte representing the original float value - + + Convert a byte to a float value given a minimum and maximum range + Byte array to get the byte from + Position in the byte array the desired byte is at + Minimum value range + Maximum value range + A float value inclusively between lower and upper - + + Convert a byte to a float value given a minimum and maximum range + Byte to convert to a float value + Minimum value range + Maximum value range + A float value inclusively between lower and upper - + + Attempts to parse a floating point value from a string, using an + EN-US number format + String to parse + Resulting floating point number + True if the parse was successful, otherwise false - + + Attempts to parse a floating point value from a string, using an + EN-US number format + String to parse + Resulting floating point number + True if the parse was successful, otherwise false - + + Tries to parse an unsigned 32-bit integer from a hexadecimal string + String to parse + Resulting integer + True if the parse was successful, otherwise false - + - Attachment points for objects on avatar bodies + Returns text specified in EnumInfo attribute of the enumerator + To add the text use [EnumInfo(Text = "Some nice text here")] before declaration + of enum values - - Both InventoryObject and InventoryAttachment types can be attached - - - - Right hand if object was not previously attached + Enum value + Text representation of the enum - - Chest + + + Takes an AssetType and returns the string representation + + The source + The string version of the AssetType - - Skull + + + Translate a string name of an AssetType into the proper Type + + A string containing the AssetType name + The AssetType which matches the string name, or AssetType.Unknown if no match was found - - Left shoulder + + + Convert an InventoryType to a string + + The to convert + A string representation of the source - - Right shoulder - - - Left hand - - - Right hand - - - Left foot - - - Right foot - - - Spine - - - Pelvis - - - Mouth - - - Chin - - - Left ear - - - Right ear - - - Left eyeball - - - Right eyeball - - - Nose - - - Right upper arm - - - Right forearm - - - Left upper arm - - - Left forearm - - - Right hip - - - Right upper leg - - - Right lower leg - - - Left hip - - - Left upper leg - - - Left lower leg - - - Stomach - - - Left pectoral - - - Right pectoral - - - HUD Center position 2 - - - HUD Top-right - - - HUD Top - - - HUD Top-left - - - HUD Center - - - HUD Bottom-left - - - HUD Bottom - - - HUD Bottom-right - - + - Tree foliage types + Convert a string into a valid InventoryType + A string representation of the InventoryType to convert + A InventoryType object which matched the type - - Pine1 tree - - - Oak tree - - - Tropical Bush1 - - - Palm1 tree - - - Dogwood tree - - - Tropical Bush2 - - - Palm2 tree - - - Cypress1 tree - - - Cypress2 tree - - - Pine2 tree - - - Plumeria - - - Winter pinetree1 - - - Winter Aspen tree - - - Winter pinetree2 - - - Eucalyptus tree - - - Fern - - - Eelgrass + + + Convert a SaleType to a string + + The to convert + A string representation of the source - - Sea Sword + + + Convert a string into a valid SaleType + + A string representation of the SaleType to convert + A SaleType object which matched the type - - Kelp1 plant + + + Converts a string used in LLSD to AttachmentPoint type + + String representation of AttachmentPoint to convert + AttachmentPoint enum - - Beach grass + + + Copy a byte array + + Byte array to copy + A copy of the given byte array - - Kelp2 plant + + + Packs to 32-bit unsigned integers in to a 64-bit unsigned integer + + The left-hand (or X) value + The right-hand (or Y) value + A 64-bit integer containing the two 32-bit input values - + - Grass foliage types + Unpacks two 32-bit unsigned integers from a 64-bit unsigned integer + The 64-bit input integer + The left-hand (or X) output value + The right-hand (or Y) output value - + + Convert an IP address object to an unsigned 32-bit integer + IP address to convert + 32-bit unsigned integer holding the IP address bits - + + Gets a unix timestamp for the current time + An unsigned integer representing a unix timestamp for now - + + Convert a UNIX timestamp to a native DateTime object + An unsigned integer representing a UNIX + timestamp + A DateTime object containing the same time specified in + the given timestamp - + + Convert a UNIX timestamp to a native DateTime object + A signed integer representing a UNIX + timestamp + A DateTime object containing the same time specified in + the given timestamp - + + Convert a native DateTime object to a UNIX timestamp + A DateTime object you want to convert to a + timestamp + An unsigned integer representing a UNIX timestamp - + + Swap two values + Type of the values to swap + First value + Second value - + - Action associated with clicking on an object + Try to parse an enumeration value from a string + Enumeration type + String value to parse + Enumeration value on success + True if the parsing succeeded, otherwise false - - Touch object + + + Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa + + Byte to swap the words in + Byte value with the words swapped - - Sit on object - - - Purchase object or contents - - - Pay the object + + + Attempts to convert a string representation of a hostname or IP + address to a + + Hostname to convert to an IPAddress + Converted IP address object, or null if the conversion + failed - - Open task inventory + + Provide a single instance of the CultureInfo class to + help parsing in situations where the grid assumes an en-us + culture - - Play parcel media + + UNIX epoch in DateTime format - - Open parcel media + + Provide a single instance of the MD5 class to avoid making + duplicate copies and handle thread safety - - For thread safety + + Provide a single instance of the SHA-1 class to avoid + making duplicate copies and handle thread safety - - For thread safety + + Provide a single instance of a random number generator + to avoid making duplicate copies and handle thread safety - + - Purges expired objects from the cache. Called automatically by the purge timer. + Clamp a given value between a range + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper - + - A thread-safe lockless queue that supports multiple readers and - multiple writers + Clamp a given value between a range + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper - + - Constructor + Clamp a given value between a range + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper - + - Provides a node container for data in a singly linked list + Round a floating-point value to the nearest integer + Floating point number to round + Integer - + - Constructor + Test if a single precision float is a finite number - + - Constructor + Test if a double precision float is a finite number - - Pointer to the next node in list - - - The data contained by the node - - - Queue head - - - Queue tail - - - Queue item count - - - Gets the current number of items in the queue. Since this - is a lockless collection this value should be treated as a close - estimate - - + - Enqueue an item + Get the distance between two floating-point values - Item to enqeue + First value + Second value + The distance between the two values - + - Try to dequeue an item + Compute the MD5 hash for a byte array - Dequeued item if the dequeue was successful - True if an item was successfully deqeued, otherwise false - - - A 4x4 matrix containing all zeroes - - - A 4x4 identity matrix + Byte array to compute the hash for + MD5 hash of the input data - + - Convert this matrix to euler rotations + Compute the SHA1 hash for a byte array - X euler angle - Y euler angle - Z euler angle + Byte array to compute the hash for + SHA1 hash of the input data - + - Convert this matrix to a quaternion rotation + Calculate the SHA1 hash of a given string - A quaternion representation of this rotation matrix + The string to hash + The SHA1 hash as a string - + - Construct a matrix from euler rotation values in radians + Compute the SHA256 hash for a byte array - X euler angle in radians - Y euler angle in radians - Z euler angle in radians + Byte array to compute the hash for + SHA256 hash of the input data - + - Get a formatted string representation of the vector + Calculate the SHA256 hash of a given string - A string representation of the vector + The string to hash + The SHA256 hash as a string - + - Provides helper methods for parallelizing loops + Calculate the MD5 hash of a given string + The password to hash + An MD5 hash in string format, with $1$ prepended - + - Executes a for loop in which iterations may run in parallel + Calculate the MD5 hash of a given string - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop + The string to hash + The MD5 hash as a string - + - Executes a for loop in which iterations may run in parallel + Generate a random double precision floating point value - The number of concurrent execution threads to run - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop + Random value of type double - + - Executes a foreach loop in which iterations may run in parallel + Get the current running platform - Object type that the collection wraps - An enumerable collection to iterate over - Method body to run for each object in the collection + Enumeration of the current platform we are running on - + - Executes a foreach loop in which iterations may run in parallel + Get the current running runtime - Object type that the collection wraps - The number of concurrent execution threads to run - An enumerable collection to iterate over - Method body to run for each object in the collection + Enumeration of the current runtime we are running on - + - Executes a series of tasks in parallel + Operating system - A series of method bodies to execute - - - Executes a series of tasks in parallel - - The number of concurrent execution threads to run - A series of method bodies to execute + + Unknown - - - Build a quaternion from normalized float values - - X value from -1.0 to 1.0 - Y value from -1.0 to 1.0 - Z value from -1.0 to 1.0 + + Microsoft Windows - - - Constructor, builds a quaternion object from a byte array - - Byte array containing four four-byte floats - Offset in the byte array to start reading at - Whether the source data is normalized or - not. If this is true 12 bytes will be read, otherwise 16 bytes will - be read. + + Microsoft Windows CE - - X value + + Linux - - Y value + + Apple OSX - - Z value + + + Runtime platform + - - W value + + .NET runtime - - A quaternion with a value of 0,0,0,1 + + Mono runtime: http://www.mono-project.com/ - + - Normalizes the quaternion + An 8-bit color structure including an alpha channel - - - Builds a quaternion object from a byte array - - The source byte array - Offset in the byte array to start reading at - Whether the source data is normalized or - not. If this is true 12 bytes will be read, otherwise 16 bytes will - be read. + + Red - + + Green + + + Blue + + + Alpha + + - Normalize this quaternion and serialize it to a byte array + - A 12 byte array containing normalized X, Y, and Z floating - point values in order using little endian byte ordering + + + + - + - Writes the raw bytes for this quaternion to a byte array + Builds a color from a byte array - Destination byte array - Position in the destination array to start - writing. Must be at least 12 bytes before the end of the array + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 - + - Convert this quaternion to euler angles + Returns the raw bytes for this vector - X euler angle - Y euler angle - Z euler angle + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + True if the alpha value is inverted in + addition to whatever the inverted parameter is. Setting inverted true + and alphaInverted true will flip the alpha value back to non-inverted, + but keep the other color bytes inverted + A 16 byte array containing R, G, B, and A - + - Convert this quaternion to an angle around an axis + Copy constructor - Unit vector describing the axis - Angle around the axis, in radians + Color to copy - + - Returns the conjugate (spatial inverse) of a quaternion + IComparable.CompareTo implementation + Sorting ends up like this: |--Grayscale--||--Color--|. + Alpha is only used when the colors are otherwise equivalent - + - Build a quaternion from an axis and an angle of rotation around - that axis + Builds a color from a byte array + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + True if the alpha value is inverted in + addition to whatever the inverted parameter is. Setting inverted true + and alphaInverted true will flip the alpha value back to non-inverted, + but keep the other color bytes inverted - + - Build a quaternion from an axis and an angle of rotation around - that axis + Writes the raw bytes for this color to a byte array - Axis of rotation - Angle of rotation + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array - + - Creates a quaternion from a vector containing roll, pitch, and yaw - in radians + Serializes this color into four bytes in a byte array - Vector representation of the euler angles in - radians - Quaternion representation of the euler angles + Destination byte array + Position in the destination array to start + writing. Must be at least 4 bytes before the end of the array + True to invert the output (1.0 becomes 0 + instead of 255) - + - Creates a quaternion from roll, pitch, and yaw euler angles in - radians + Writes the raw bytes for this color to a byte array - X angle in radians - Y angle in radians - Z angle in radians - Quaternion representation of the euler angles + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array - + - Conjugates and renormalizes a vector + Ensures that values are in range 0-1 - + - Spherical linear interpolation between two quaternions + Create an RGB color from a hue, saturation, value combination + Hue + Saturation + Value + An fully opaque RGB color (alpha is 1.0) - + - Get a string representation of the quaternion elements with up to three - decimal digits and separated by spaces only + Performs linear interpolation between two colors - Raw string representation of the quaternion + Color to start at + Color to end at + Amount to interpolate + The interpolated color - + + A Color4 with zero RGB values and fully opaque (alpha 1.0) + + + A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) + + + For thread safety + + + For thread safety + + - Determines the appropriate events to set, leaves the locks, and sets the events. + Purges expired objects from the cache. Called automatically by the purge timer. - + - A routine for lazily creating a event outside the lock (so if errors - happen they are outside the lock and that we don't do much work - while holding a spin lock). If all goes well, reenter the lock and - set 'waitEvent' + Provides helper methods for parallelizing loops - + - Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. - Before the wait 'numWaiters' is incremented and is restored before leaving this routine. + Executes a for loop in which iterations may run in parallel + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop - + - A hierarchical token bucket for bandwidth throttling. See - http://en.wikipedia.org/wiki/Token_bucket for more information + Executes a for loop in which iterations may run in parallel + The number of concurrent execution threads to run + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop - + - Default constructor + Executes a foreach loop in which iterations may run in parallel - Parent bucket if this is a child bucket, or - null if this is a root bucket - Maximum size of the bucket in bytes, or - zero if this bucket has no maximum capacity - Rate that the bucket fills, in bytes per - second. If zero, the bucket always remains full - - - Parent bucket to this bucket, or null if this is a root - bucket - - - Size of the bucket in bytes. If zero, the bucket has - infinite capacity - - - Rate that the bucket fills, in bytes per millisecond. If - zero, the bucket always remains full - - - Number of tokens currently in the bucket - - - Time of the last drip, in system ticks + Object type that the collection wraps + An enumerable collection to iterate over + Method body to run for each object in the collection - + - The parent bucket of this bucket, or null if this bucket has no - parent. The parent bucket will limit the aggregate bandwidth of all - of its children buckets + Executes a foreach loop in which iterations may run in parallel + Object type that the collection wraps + The number of concurrent execution threads to run + An enumerable collection to iterate over + Method body to run for each object in the collection - + - Maximum burst rate in bytes per second. This is the maximum number - of tokens that can accumulate in the bucket at any one time + Executes a series of tasks in parallel + A series of method bodies to execute - + - The speed limit of this bucket in bytes per second. This is the - number of tokens that are added to the bucket per second + Executes a series of tasks in parallel - Tokens are added to the bucket any time - is called, at the granularity of - the system tick interval (typically around 15-22ms) + The number of concurrent execution threads to run + A series of method bodies to execute - + - The number of bytes that can be sent at this moment. This is the - current number of tokens in the bucket - If this bucket has a parent bucket that does not have - enough tokens for a request, will - return false regardless of the content of this bucket + Convert this matrix to euler rotations + + X euler angle + Y euler angle + Z euler angle - + - Remove a given number of tokens from the bucket + Convert this matrix to a quaternion rotation - Number of tokens to remove from the bucket - True if the requested number of tokens were removed from - the bucket, otherwise false + A quaternion representation of this rotation matrix - + - Remove a given number of tokens from the bucket + Construct a matrix from euler rotation values in radians - Number of tokens to remove from the bucket - True if tokens were added to the bucket - during this call, otherwise false - True if the requested number of tokens were removed from - the bucket, otherwise false + X euler angle in radians + Y euler angle in radians + Z euler angle in radians - + - Add tokens to the bucket over time. The number of tokens added each - call depends on the length of time that has passed since the last - call to Drip + Get a formatted string representation of the vector - True if tokens were added to the bucket, otherwise false + A string representation of the vector - - - A 128-bit Universally Unique Identifier, used throughout the Second - Life networking protocol - + + A 4x4 matrix containing all zeroes - - - Constructor that takes a string UUID representation - - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") + + A 4x4 identity matrix - + - Constructor that takes a System.Guid object + Identifier code for primitive types - A Guid object that contains the unique identifier - to be represented by this UUID - - - Constructor that takes a byte array containing a UUID - - Byte array containing a 16 byte UUID - Beginning offset in the array + + None - - - Constructor that takes an unsigned 64-bit unsigned integer to - convert to a UUID - - 64-bit unsigned integer to convert to a UUID + + A Primitive - - - Copy constructor - - UUID to copy + + A Avatar - - The System.Guid object this struct wraps around + + Linden grass - - An UUID with a value of all zeroes + + Linden tree - - A cache of UUID.Zero as a string to optimize a common path + + A primitive that acts as the source for a particle stream - - - IComparable.CompareTo implementation - + + A Linden tree - + - Assigns this UUID from 16 bytes out of a byte array + Primary parameters for primitives such as Physics Enabled or Phantom - Byte array containing the UUID to assign this UUID to - Starting position of the UUID in the byte array - - - Returns a copy of the raw bytes for this UUID - - A 16 byte array containing this UUID + + Deprecated - - - Writes the raw bytes for this UUID to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array + + Whether physics are enabled for this object - - - Calculate an LLCRC (cyclic redundancy check) for this UUID - - The CRC checksum for this UUID + + - - - Create a 64-bit integer representation from the second half of this UUID - - An integer created from the last eight bytes of this UUID + + - - - Generate a UUID from a string - - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") + + - - - Generate a UUID from a string - - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - Will contain the parsed UUID if successful, - otherwise null - True if the string was successfully parse, otherwise false - UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) + + - - - Combine two UUIDs together by taking the MD5 hash of a byte array - containing both UUIDs - - First UUID to combine - Second UUID to combine - The UUID product of the combination + + - - - - - + + - - - Return a hash code for this UUID, used by .NET for hash tables - - An integer composed of all the UUID bytes XORed together + + Whether this object contains an active touch script - - - Comparison function - - An object to compare to this UUID - True if the object is a UUID and both UUIDs are equal + + - - - Comparison function - - UUID to compare to - True if the UUIDs are equal, otherwise false + + Whether this object can receive payments - - - Get a hyphenated string representation of this UUID - - A string representation of this UUID, lowercase and - with hyphens - 11f8aa9c-b071-4242-836b-13b7abe0d489 + + Whether this object is phantom (no collisions) - - - Equals operator - - First UUID for comparison - Second UUID for comparison - True if the UUIDs are byte for byte equal, otherwise false + + - - - Not equals operator - - First UUID for comparison - Second UUID for comparison - True if the UUIDs are not equal, otherwise true + + - - - XOR operator - - First UUID - Second UUID - A UUID that is a XOR combination of the two input UUIDs + + - - - String typecasting operator - - A UUID in string form. Case insensitive, - hyphenated or non-hyphenated - A UUID built from the string representation + + - - - Operating system - + + Deprecated - - Unknown + + - - Microsoft Windows + + - - Microsoft Windows CE + + - - Linux + + Deprecated - - Apple OSX + + - - - Runtime platform - + + - - .NET runtime + + - - Mono runtime: http://www.mono-project.com/ + + - - Used for converting degrees to radians + + Server flag, will not be sent to clients. Specifies that + the object is destroyed when it touches a simulator edge - - Used for converting radians to degrees + + Server flag, will not be sent to clients. Specifies that + the object will be returned to the owner's inventory when it + touches a simulator edge - - Provide a single instance of the CultureInfo class to - help parsing in situations where the grid assumes an en-us - culture + + Server flag, will not be sent to clients. - - UNIX epoch in DateTime format + + Server flag, will not be sent to client. Specifies that + the object is hovering/flying - - Provide a single instance of the MD5 class to avoid making - duplicate copies and handle thread safety + + - - Provide a single instance of the SHA-1 class to avoid - making duplicate copies and handle thread safety + + - - Provide a single instance of a random number generator - to avoid making duplicate copies and handle thread safety + + - - - Clamp a given value between a range - - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper + + - + - Clamp a given value between a range + Sound flags for sounds attached to primitives - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper - - - Clamp a given value between a range - - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper + + - - - Round a floating-point value to the nearest integer - - Floating point number to round - Integer + + - - - Test if a single precision float is a finite number - + + - - - Test if a double precision float is a finite number - + + - - - Get the distance between two floating-point values - - First value - Second value - The distance between the two values + + - - - Compute the MD5 hash for a byte array - - Byte array to compute the hash for - MD5 hash of the input data + + - - - Compute the SHA1 hash for a byte array - - Byte array to compute the hash for - SHA1 hash of the input data + + - + - Calculate the SHA1 hash of a given string + Material type for a primitive - The string to hash - The SHA1 hash as a string - - - Compute the SHA256 hash for a byte array - - Byte array to compute the hash for - SHA256 hash of the input data + + - - - Calculate the SHA256 hash of a given string - - The string to hash - The SHA256 hash as a string + + - - - Calculate the MD5 hash of a given string - - The password to hash - An MD5 hash in string format, with $1$ prepended + + - - - Calculate the MD5 hash of a given string - - The string to hash - The MD5 hash as a string + + - - - Generate a random double precision floating point value - - Random value of type double + + - - - Get the current running platform - - Enumeration of the current platform we are running on + + - - - Get the current running runtime - - Enumeration of the current runtime we are running on + + - - - Convert the first two bytes starting in the byte array in - little endian ordering to a signed short integer - - An array two bytes or longer - A signed short integer, will be zero if a short can't be - read at the given position + + - + - Convert the first two bytes starting at the given position in - little endian ordering to a signed short integer + Used in a helper function to roughly determine prim shape - An array two bytes or longer - Position in the array to start reading - A signed short integer, will be zero if a short can't be - read at the given position - + - Convert the first four bytes starting at the given position in - little endian ordering to a signed integer + Extra parameters for primitives, these flags are for features that have + been added after the original ObjectFlags that has all eight bits + reserved already - An array four bytes or longer - Position to start reading the int from - A signed integer, will be zero if an int can't be read - at the given position - - - Convert the first four bytes of the given array in little endian - ordering to a signed integer - - An array four bytes or longer - A signed integer, will be zero if the array contains - less than four bytes + + Whether this object has flexible parameters - - - Convert the first eight bytes of the given array in little endian - ordering to a signed long integer - - An array eight bytes or longer - A signed long integer, will be zero if the array contains - less than eight bytes + + Whether this object has light parameters - - - Convert the first eight bytes starting at the given position in - little endian ordering to a signed long integer - - An array eight bytes or longer - Position to start reading the long from - A signed long integer, will be zero if a long can't be read - at the given position + + Whether this object is a sculpted prim - + - Convert the first two bytes starting at the given position in - little endian ordering to an unsigned short + - Byte array containing the ushort - Position to start reading the ushort from - An unsigned short, will be zero if a ushort can't be read - at the given position - - - Convert two bytes in little endian ordering to an unsigned short - - Byte array containing the ushort - An unsigned short, will be zero if a ushort can't be - read + + - - - Convert the first four bytes starting at the given position in - little endian ordering to an unsigned integer - - Byte array containing the uint - Position to start reading the uint from - An unsigned integer, will be zero if a uint can't be read - at the given position + + - - - Convert the first four bytes of the given array in little endian - ordering to an unsigned integer - - An array four bytes or longer - An unsigned integer, will be zero if the array contains - less than four bytes + + - + - Convert the first eight bytes of the given array in little endian - ordering to an unsigned 64-bit integer + - An array eight bytes or longer - An unsigned 64-bit integer, will be zero if the array - contains less than eight bytes - - - Convert four bytes in little endian ordering to a floating point - value - - Byte array containing a little ending floating - point value - Starting position of the floating point value in - the byte array - Single precision value + + - - - Convert an integer to a byte array in little endian format - - The integer to convert - A four byte little endian array + + - - - Convert an integer to a byte array in big endian format - - The integer to convert - A four byte big endian array + + - - - Convert a 64-bit integer to a byte array in little endian format - - The value to convert - An 8 byte little endian array + + - - - Convert a 64-bit unsigned integer to a byte array in little endian - format - - The value to convert - An 8 byte little endian array + + - - - Convert a floating point value to four bytes in little endian - ordering - - A floating point value - A four byte array containing the value in little endian - ordering + + - - - Converts an unsigned integer to a hexadecimal string - - An unsigned integer to convert to a string - A hexadecimal string 10 characters long - 0x7fffffff + + - - - Convert a variable length UTF8 byte array to a string - - The UTF8 encoded byte array to convert - The decoded string + + - + - Converts a byte array to a string containing hexadecimal characters + - The byte array to convert to a string - The name of the field to prepend to each - line of the string - A string containing hexadecimal characters on multiple - lines. Each line is prepended with the field name - - - Converts a byte array to a string containing hexadecimal characters - - The byte array to convert to a string - Number of bytes in the array to parse - A string to prepend to each line of the hex - dump - A string containing hexadecimal characters on multiple - lines. Each line is prepended with the field name + + - - - Convert a string to a UTF8 encoded byte array - - The string to convert - A null-terminated UTF8 byte array + + - - - Converts a string containing hexadecimal characters to a byte array - - String containing hexadecimal characters - If true, gracefully handles null, empty and - uneven strings as well as stripping unconvertable characters - The converted byte array + + - + + + + + + + + + + + + + + + + + + + - Returns true is c is a hexadecimal digit (A-F, a-f, 0-9) + - Character to test - true if hex digit, false if not - - - Converts 1 or 2 character string into equivalant byte value - - 1 or 2 character string - byte + + + + + + + + + + + + + + + + + + + + + + + + Attachment points for objects on avatar bodies + + + Both InventoryObject and InventoryAttachment types can be attached + + + + Right hand if object was not previously attached + + + Chest + + + Skull + + + Left shoulder + + + Right shoulder + + + Left hand + + + Right hand + + + Left foot + + + Right foot + + + Spine + + + Pelvis + + + Mouth + + + Chin + + + Left ear + + + Right ear + + + Left eyeball + + + Right eyeball + + + Nose + + + Right upper arm + + + Right forearm + + + Left upper arm + + + Left forearm + + + Right hip + + + Right upper leg + + + Right lower leg + + + Left hip + + + Left upper leg + + + Left lower leg + + + Stomach + + + Left pectoral + + + Right pectoral + + + HUD Center position 2 + + + HUD Top-right + + + HUD Top + + + HUD Top-left + + + HUD Center + + + HUD Bottom-left + + + HUD Bottom + + + HUD Bottom-right - + - Convert a float value to a byte given a minimum and maximum range + Tree foliage types - Value to convert to a byte - Minimum value range - Maximum value range - A single byte representing the original float value - - - Convert a byte to a float value given a minimum and maximum range - - Byte array to get the byte from - Position in the byte array the desired byte is at - Minimum value range - Maximum value range - A float value inclusively between lower and upper + + Pine1 tree - - - Convert a byte to a float value given a minimum and maximum range - - Byte to convert to a float value - Minimum value range - Maximum value range - A float value inclusively between lower and upper + + Oak tree - - - Attempts to parse a floating point value from a string, using an - EN-US number format - - String to parse - Resulting floating point number - True if the parse was successful, otherwise false + + Tropical Bush1 - - - Attempts to parse a floating point value from a string, using an - EN-US number format - - String to parse - Resulting floating point number - True if the parse was successful, otherwise false + + Palm1 tree - - - Tries to parse an unsigned 32-bit integer from a hexadecimal string - - String to parse - Resulting integer - True if the parse was successful, otherwise false + + Dogwood tree - - - Returns text specified in EnumInfo attribute of the enumerator - To add the text use [EnumInfo(Text = "Some nice text here")] before declaration - of enum values - - Enum value - Text representation of the enum + + Tropical Bush2 - - - Takes an AssetType and returns the string representation - - The source - The string version of the AssetType + + Palm2 tree - - - Translate a string name of an AssetType into the proper Type - - A string containing the AssetType name - The AssetType which matches the string name, or AssetType.Unknown if no match was found + + Cypress1 tree - - - Convert an InventoryType to a string - - The to convert - A string representation of the source + + Cypress2 tree - - - Convert a string into a valid InventoryType - - A string representation of the InventoryType to convert - A InventoryType object which matched the type + + Pine2 tree - - - Convert a SaleType to a string - - The to convert - A string representation of the source + + Plumeria - - - Convert a string into a valid SaleType - - A string representation of the SaleType to convert - A SaleType object which matched the type + + Winter pinetree1 - - - Converts a string used in LLSD to AttachmentPoint type - - String representation of AttachmentPoint to convert - AttachmentPoint enum + + Winter Aspen tree - - - Copy a byte array - - Byte array to copy - A copy of the given byte array + + Winter pinetree2 - - - Packs to 32-bit unsigned integers in to a 64-bit unsigned integer - - The left-hand (or X) value - The right-hand (or Y) value - A 64-bit integer containing the two 32-bit input values + + Eucalyptus tree - - - Unpacks two 32-bit unsigned integers from a 64-bit unsigned integer - - The 64-bit input integer - The left-hand (or X) output value - The right-hand (or Y) output value + + Fern - - - Convert an IP address object to an unsigned 32-bit integer - - IP address to convert - 32-bit unsigned integer holding the IP address bits + + Eelgrass - - - Gets a unix timestamp for the current time - - An unsigned integer representing a unix timestamp for now + + Sea Sword - - - Convert a UNIX timestamp to a native DateTime object - - An unsigned integer representing a UNIX - timestamp - A DateTime object containing the same time specified in - the given timestamp + + Kelp1 plant - - - Convert a UNIX timestamp to a native DateTime object - - A signed integer representing a UNIX - timestamp - A DateTime object containing the same time specified in - the given timestamp + + Beach grass - - - Convert a native DateTime object to a UNIX timestamp - - A DateTime object you want to convert to a - timestamp - An unsigned integer representing a UNIX timestamp + + Kelp2 plant - + - Swap two values + Grass foliage types - Type of the values to swap - First value - Second value - - - Try to parse an enumeration value from a string - - Enumeration type - String value to parse - Enumeration value on success - True if the parsing succeeded, otherwise false + + - - - Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa - - Byte to swap the words in - Byte value with the words swapped + + - - - Attempts to convert a string representation of a hostname or IP - address to a - Hostname to convert to an IPAddress - Converted IP address object, or null if the conversion - failed + + - + + + + + + + + + + - A two-dimensional vector with floating-point values + Action associated with clicking on an object - + + Touch object + + + Sit on object + + + Purchase object or contents + + + Pay the object + + + Open task inventory + + + Play parcel media + + + Open parcel media + + X value - + Y value - - A vector with a value of 0,0 - - - A vector with a value of 1,1 + + Z value - - A vector with a value of 1,0 + + W value - - A vector with a value of 0,1 + + + Constructor, builds a vector from a byte array + + Byte array containing four four-byte floats + Beginning position in the byte array - + Test if this vector is equal to another vector, within a given tolerance range @@ -2308,74 +1988,67 @@ True if the magnitude of difference between the two vectors is less than the given tolerance, otherwise false - + - Test if this vector is composed of all finite numbers + IComparable.CompareTo implementation - + - IComparable.CompareTo implementation + Test if this vector is composed of all finite numbers - + Builds a vector from a byte array - Byte array containing two four-byte floats + Byte array containing a 16 byte vector Beginning position in the byte array - + Returns the raw bytes for this vector - An eight-byte array containing X and Y + A 16 byte array containing X, Y, Z, and W - + Writes the raw bytes for this vector to a byte array Destination byte array Position in the destination array to start - writing. Must be at least 8 bytes before the end of the array - - - - Parse a vector from a string - - A string representation of a 2D vector, enclosed - in arrow brackets and separated by commas - - - - Interpolates between two vectors using a cubic equation - - - - - Get a formatted string representation of the vector - - A string representation of the vector + writing. Must be at least 16 bytes before the end of the array - + Get a string representation of the vector elements with up to three decimal digits and separated by spaces only Raw string representation of the vector + + A vector with a value of 0,0,0,0 + + + A vector with a value of 1,1,1,1 + + + A vector with a value of 1,0,0,0 + + + A vector with a value of 0,1,0,0 + + + A vector with a value of 0,0,1,0 + + + A vector with a value of 0,0,0,1 + A three-dimensional vector with floating-point values - - - Constructor, builds a vector from a byte array - - Byte array containing three four-byte floats - Beginning position in the byte array - X value @@ -2385,20 +2058,12 @@ Z value - - A vector with a value of 0,0,0 - - - A vector with a value of 1,1,1 - - - A unit vector facing forward (X axis), value 1,0,0 - - - A unit vector facing left (Y axis), value 0,1,0 - - - A unit vector facing up (Z axis), value 0,0,1 + + + Constructor, builds a vector from a byte array + + Byte array containing three four-byte floats + Beginning position in the byte array @@ -2446,7 +2111,7 @@ Parse a vector from a string - A string representation of a 3D vector, enclosed + A string representation of a 3D vector, enclosed in arrow brackets and separated by commas @@ -2479,11 +2144,94 @@ Cross product between two vectors + + A vector with a value of 0,0,0 + + + A vector with a value of 1,1,1 + + + A unit vector facing forward (X axis), value 1,0,0 + + + A unit vector facing left (Y axis), value 0,1,0 + + + A unit vector facing up (Z axis), value 0,0,1 + + + + A thread-safe lockless queue that supports multiple readers and + multiple writers + + + + Queue head + + + Queue tail + + + Queue item count + + + + Constructor + + + + + Enqueue an item + + Item to enqeue + + + + Try to dequeue an item + + Dequeued item if the dequeue was successful + True if an item was successfully deqeued, otherwise false + + + Gets the current number of items in the queue. Since this + is a lockless collection this value should be treated as a close + estimate + + + + Provides a node container for data in a singly linked list + + + + Pointer to the next node in list + + + The data contained by the node + + + + Constructor + + + + + Constructor + + A three-dimensional vector with doubleing-point values + + X value + + + Y value + + + Z value + Constructor, builds a vector from a byte array @@ -2491,14 +2239,77 @@ Byte array containing three eight-byte doubles Beginning position in the byte array - - X value + + + Test if this vector is equal to another vector, within a given + tolerance range + + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false - - Y value + + + IComparable.CompareTo implementation + + + + + Test if this vector is composed of all finite numbers + + + + + Builds a vector from a byte array + + Byte array containing a 24 byte vector + Beginning position in the byte array + + + + Returns the raw bytes for this vector + + A 24 byte array containing X, Y, and Z + + + + Writes the raw bytes for this vector to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 24 bytes before the end of the array + + + + Parse a vector from a string + + A string representation of a 3D vector, enclosed + in arrow brackets and separated by commas + + + + Interpolates between two vectors using a cubic equation + + + + + Get a formatted string representation of the vector + + A string representation of the vector + + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector - - Z value + + + Cross product between two vectors + A vector with a value of 0,0,0 @@ -2515,7 +2326,18 @@ A unit vector facing up (Z axis), value of 0,0,1 - + + + A two-dimensional vector with floating-point values + + + + X value + + + Y value + + Test if this vector is equal to another vector, within a given tolerance range @@ -2526,152 +2348,255 @@ True if the magnitude of difference between the two vectors is less than the given tolerance, otherwise false - + - IComparable.CompareTo implementation + Test if this vector is composed of all finite numbers - + - Test if this vector is composed of all finite numbers + IComparable.CompareTo implementation - + Builds a vector from a byte array - Byte array containing a 24 byte vector + Byte array containing two four-byte floats Beginning position in the byte array - + Returns the raw bytes for this vector - A 24 byte array containing X, Y, and Z + An eight-byte array containing X and Y - + Writes the raw bytes for this vector to a byte array Destination byte array Position in the destination array to start - writing. Must be at least 24 bytes before the end of the array + writing. Must be at least 8 bytes before the end of the array - + Parse a vector from a string - A string representation of a 3D vector, enclosed + A string representation of a 2D vector, enclosed in arrow brackets and separated by commas - + Interpolates between two vectors using a cubic equation - + Get a formatted string representation of the vector A string representation of the vector - + Get a string representation of the vector elements with up to three decimal digits and separated by spaces only Raw string representation of the vector - + + A vector with a value of 0,0 + + + A vector with a value of 1,1 + + + A vector with a value of 1,0 + + + A vector with a value of 0,1 + + - Cross product between two vectors + A 128-bit Universally Unique Identifier, used throughout the Second + Life networking protocol - + + The System.Guid object this struct wraps around + + - Constructor, builds a vector from a byte array + Constructor that takes a string UUID representation - Byte array containing four four-byte floats - Beginning position in the byte array + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") - - X value + + + Constructor that takes a System.Guid object + + A Guid object that contains the unique identifier + to be represented by this UUID - - Y value + + + Constructor that takes a byte array containing a UUID + + Byte array containing a 16 byte UUID + Beginning offset in the array - - Z value + + + Constructor that takes an unsigned 64-bit unsigned integer to + convert to a UUID + + 64-bit unsigned integer to convert to a UUID - - W value + + + Copy constructor + + UUID to copy - - A vector with a value of 0,0,0,0 + + + IComparable.CompareTo implementation + - - A vector with a value of 1,1,1,1 + + + Assigns this UUID from 16 bytes out of a byte array + + Byte array containing the UUID to assign this UUID to + Starting position of the UUID in the byte array - - A vector with a value of 1,0,0,0 + + + Returns a copy of the raw bytes for this UUID + + A 16 byte array containing this UUID - - A vector with a value of 0,1,0,0 + + + Writes the raw bytes for this UUID to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array - - A vector with a value of 0,0,1,0 + + + Calculate an LLCRC (cyclic redundancy check) for this UUID + + The CRC checksum for this UUID - - A vector with a value of 0,0,0,1 + + + Create a 64-bit integer representation from the second half of this UUID + + An integer created from the last eight bytes of this UUID - + - Test if this vector is equal to another vector, within a given - tolerance range + Generate a UUID from a string - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") - + - IComparable.CompareTo implementation + Generate a UUID from a string + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + Will contain the parsed UUID if successful, + otherwise null + True if the string was successfully parse, otherwise false + UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) - + - Test if this vector is composed of all finite numbers + Combine two UUIDs together by taking the MD5 hash of a byte array + containing both UUIDs + First UUID to combine + Second UUID to combine + The UUID product of the combination - + - Builds a vector from a byte array + - Byte array containing a 16 byte vector - Beginning position in the byte array + - + - Returns the raw bytes for this vector + Return a hash code for this UUID, used by .NET for hash tables - A 16 byte array containing X, Y, Z, and W + An integer composed of all the UUID bytes XORed together - + - Writes the raw bytes for this vector to a byte array + Comparison function - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array + An object to compare to this UUID + True if the object is a UUID and both UUIDs are equal - + - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only + Comparison function - Raw string representation of the vector + UUID to compare to + True if the UUIDs are equal, otherwise false + + + + Get a hyphenated string representation of this UUID + + A string representation of this UUID, lowercase and + with hyphens + 11f8aa9c-b071-4242-836b-13b7abe0d489 + + + + Equals operator + + First UUID for comparison + Second UUID for comparison + True if the UUIDs are byte for byte equal, otherwise false + + + + Not equals operator + + First UUID for comparison + Second UUID for comparison + True if the UUIDs are not equal, otherwise true + + + + XOR operator + + First UUID + Second UUID + A UUID that is a XOR combination of the two input UUIDs + + + + String typecasting operator + + A UUID in string form. Case insensitive, + hyphenated or non-hyphenated + A UUID built from the string representation + + + An UUID with a value of all zeroes + + + A cache of UUID.Zero as a string to optimize a common path diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index b989bad..7ebf45e 100644 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From e6a8d2872c3ff4992cd7e9615f69e0c6773e461f Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 29 Oct 2010 18:59:53 +0200 Subject: Preliminary work on appearance layers. No user functionality yet. --- bin/assets/TexturesAssetSet/TexturesAssetSet.xml | 6 +++++ .../BodyPartsLibrary/BodyPartsLibraryItems.xml | 28 ++++++++++++++++++++++ 2 files changed, 34 insertions(+) (limited to 'bin') diff --git a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml index c5cafa7..7c74a48 100644 --- a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml +++ b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml @@ -1,4 +1,10 @@ +
+ + + + +
diff --git a/bin/inventory/BodyPartsLibrary/BodyPartsLibraryItems.xml b/bin/inventory/BodyPartsLibrary/BodyPartsLibraryItems.xml index aa8d9d9..5cb71c0 100644 --- a/bin/inventory/BodyPartsLibrary/BodyPartsLibraryItems.xml +++ b/bin/inventory/BodyPartsLibrary/BodyPartsLibraryItems.xml @@ -16,6 +16,34 @@
--> +
+ +
+ + +
diff --git a/bin/assets/CollisionSoundsAssetSet/CollisionSoundsAssetSet.xml b/bin/assets/CollisionSoundsAssetSet/CollisionSoundsAssetSet.xml new file mode 100644 index 0000000..7498ae0 --- /dev/null +++ b/bin/assets/CollisionSoundsAssetSet/CollisionSoundsAssetSet.xml @@ -0,0 +1,341 @@ + + + +
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
diff --git a/bin/assets/CollisionSoundsAssetSet/attribution.txt b/bin/assets/CollisionSoundsAssetSet/attribution.txt new file mode 100644 index 0000000..876419b --- /dev/null +++ b/bin/assets/CollisionSoundsAssetSet/attribution.txt @@ -0,0 +1,8 @@ +thanvannispen - http://www.freesound.org/people/thanvannispen/sounds/30012/ +hoobtastic - http://www.freesound.org/people/hoobtastic/sounds/132627/ +kbnevel - http://www.freesound.org/people/kbnevel/sounds/119859/ +adcbicycle - http://www.freesound.org/people/adcbicycle/sounds/13856/ +adcbicycle - http://www.freesound.org/people/adcbicycle/sounds/13855/ +110110010 - http://www.freesound.org/people/110110010/sounds/66397/ +qubodup - http://www.freesound.org/people/qubodup/sounds/50941/ +vibe_crc - http://www.freesound.org/people/vibe_crc/sounds/59317/ \ No newline at end of file diff --git a/bin/assets/CollisionSoundsAssetSet/snd_FleshFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_FleshFlesh.ogg new file mode 100644 index 0000000..5f3aeb7 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_FleshFlesh.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_FleshGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_FleshGlass.ogg new file mode 100644 index 0000000..3a322c6 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_FleshGlass.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_FleshMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_FleshMetal.ogg new file mode 100644 index 0000000..edcf17a Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_FleshMetal.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_FleshPlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_FleshPlastic.ogg new file mode 100644 index 0000000..acf53e5 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_FleshPlastic.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_FleshRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_FleshRubber.ogg new file mode 100644 index 0000000..6373610 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_FleshRubber.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_FleshStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_FleshStone.ogg new file mode 100644 index 0000000..eccbbb8 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_FleshStone.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_FleshWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_FleshWood.ogg new file mode 100644 index 0000000..6713380 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_FleshWood.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_GlassFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_GlassFlesh.ogg new file mode 100644 index 0000000..6951d44 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_GlassFlesh.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_GlassGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_GlassGlass.ogg new file mode 100644 index 0000000..1806a55 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_GlassGlass.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_GlassMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_GlassMetal.ogg new file mode 100644 index 0000000..f147024 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_GlassMetal.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_GlassPlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_GlassPlastic.ogg new file mode 100644 index 0000000..204a4c6 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_GlassPlastic.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_GlassRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_GlassRubber.ogg new file mode 100644 index 0000000..243f185 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_GlassRubber.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_GlassStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_GlassStone.ogg new file mode 100644 index 0000000..0852135 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_GlassStone.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_GlassWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_GlassWood.ogg new file mode 100644 index 0000000..2c13690 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_GlassWood.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_MetalFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_MetalFlesh.ogg new file mode 100644 index 0000000..c11d19f Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_MetalFlesh.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_MetalGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_MetalGlass.ogg new file mode 100644 index 0000000..36348e1 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_MetalGlass.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_MetalMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_MetalMetal.ogg new file mode 100644 index 0000000..957b3c2 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_MetalMetal.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_MetalPlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_MetalPlastic.ogg new file mode 100644 index 0000000..5674907 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_MetalPlastic.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_MetalRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_MetalRubber.ogg new file mode 100644 index 0000000..0f9ba2e Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_MetalRubber.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_MetalStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_MetalStone.ogg new file mode 100644 index 0000000..dc489d8 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_MetalStone.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_MetalWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_MetalWood.ogg new file mode 100644 index 0000000..de04317 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_MetalWood.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_PlasticFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_PlasticFlesh.ogg new file mode 100644 index 0000000..a9d6983 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_PlasticFlesh.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_PlasticGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_PlasticGlass.ogg new file mode 100644 index 0000000..c7dcdf1 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_PlasticGlass.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_PlasticMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_PlasticMetal.ogg new file mode 100644 index 0000000..4dd270f Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_PlasticMetal.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_PlasticPlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_PlasticPlastic.ogg new file mode 100644 index 0000000..9994745 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_PlasticPlastic.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_PlasticRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_PlasticRubber.ogg new file mode 100644 index 0000000..e5c408f Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_PlasticRubber.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_PlasticStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_PlasticStone.ogg new file mode 100644 index 0000000..9865c6e Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_PlasticStone.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_PlasticWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_PlasticWood.ogg new file mode 100644 index 0000000..9f921b9 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_PlasticWood.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_RubberFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_RubberFlesh.ogg new file mode 100644 index 0000000..b56f7dc Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_RubberFlesh.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_RubberGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_RubberGlass.ogg new file mode 100644 index 0000000..9f44fca Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_RubberGlass.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_RubberMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_RubberMetal.ogg new file mode 100644 index 0000000..9ff064a Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_RubberMetal.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_RubberPlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_RubberPlastic.ogg new file mode 100644 index 0000000..8e601b1 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_RubberPlastic.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_RubberRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_RubberRubber.ogg new file mode 100644 index 0000000..c84f8e5 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_RubberRubber.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_RubberStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_RubberStone.ogg new file mode 100644 index 0000000..d398f6f Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_RubberStone.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_RubberWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_RubberWood.ogg new file mode 100644 index 0000000..ebb24e3 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_RubberWood.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_StoneFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_StoneFlesh.ogg new file mode 100644 index 0000000..90275ad Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_StoneFlesh.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_StoneGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_StoneGlass.ogg new file mode 100644 index 0000000..b2b33cf Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_StoneGlass.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_StoneMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_StoneMetal.ogg new file mode 100644 index 0000000..accdfdf Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_StoneMetal.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_StonePlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_StonePlastic.ogg new file mode 100644 index 0000000..15f93b6 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_StonePlastic.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_StoneRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_StoneRubber.ogg new file mode 100644 index 0000000..4b756ff Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_StoneRubber.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_StoneStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_StoneStone.ogg new file mode 100644 index 0000000..88b8033 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_StoneStone.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_StoneWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_StoneWood.ogg new file mode 100644 index 0000000..4a5b7f3 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_StoneWood.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_TerrainFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_TerrainFlesh.ogg new file mode 100644 index 0000000..1d3038a Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_TerrainFlesh.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_TerrainGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_TerrainGlass.ogg new file mode 100644 index 0000000..637fa16 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_TerrainGlass.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_TerrainMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_TerrainMetal.ogg new file mode 100644 index 0000000..919c59b Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_TerrainMetal.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_TerrainPlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_TerrainPlastic.ogg new file mode 100644 index 0000000..23fa329 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_TerrainPlastic.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_TerrainRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_TerrainRubber.ogg new file mode 100644 index 0000000..c18d242 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_TerrainRubber.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_TerrainStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_TerrainStone.ogg new file mode 100644 index 0000000..6bd9e09 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_TerrainStone.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_TerrainWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_TerrainWood.ogg new file mode 100644 index 0000000..f405517 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_TerrainWood.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_WoodFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_WoodFlesh.ogg new file mode 100644 index 0000000..02621c2 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_WoodFlesh.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_WoodGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_WoodGlass.ogg new file mode 100644 index 0000000..03b7fb5 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_WoodGlass.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_WoodMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_WoodMetal.ogg new file mode 100644 index 0000000..e26afae Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_WoodMetal.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_WoodPlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_WoodPlastic.ogg new file mode 100644 index 0000000..abe419b Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_WoodPlastic.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_WoodRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_WoodRubber.ogg new file mode 100644 index 0000000..30ccc32 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_WoodRubber.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_WoodStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_WoodStone.ogg new file mode 100644 index 0000000..ad96818 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_WoodStone.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_WoodWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_WoodWood.ogg new file mode 100644 index 0000000..76ae52c Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_WoodWood.ogg differ -- cgit v1.1 From 22906386b4fd16be36dc056809dd9ab7bccfa473 Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 8 Jun 2012 03:25:51 +0200 Subject: Replace the stock libomv with our home grown 0.9.1 with the texture bug fixed. --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 11776 bytes bin/OpenMetaverse.StructuredData.XML | 408 +- bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 95232 bytes bin/OpenMetaverse.XML | 34362 +++++++++++++------------- bin/OpenMetaverse.dll | Bin 1753088 -> 1812992 bytes bin/OpenMetaverseTypes.XML | 3247 +-- bin/OpenMetaverseTypes.dll | Bin 114688 -> 105984 bytes 7 files changed, 19755 insertions(+), 18262 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index e0a3aa5..43c7557 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.XML b/bin/OpenMetaverse.StructuredData.XML index 897a330..d6c31df 100644 --- a/bin/OpenMetaverse.StructuredData.XML +++ b/bin/OpenMetaverse.StructuredData.XML @@ -1,333 +1,377 @@ - OpenMetaverse.StructuredData + /home/root/libomv-0.9.1-source/bin/OpenMetaverse.StructuredData - + - + + - + + - - + - Deserializes binary LLSD - Serialized data - OSD containting deserialized data - + - Deserializes binary LLSD - Stream to read the data from - OSD containting deserialized data - + - - - - + - - - - + - - - + - - - - - + - - - - - + - - - - - + - - - - + - - - - + - - - - + - + Uses reflection to create an SDMap from all of the SD + serializable types in an object - - + Class or struct containing serializable types + An SDMap holding the serialized values from the + container object - + - + Uses reflection to deserialize member variables in an object from + an SDMap - - + Reference to an object to fill with deserialized + values + Serialized values to put in the target + object - + - - - - + - - - - + - - - - + - - - - + - - - - - + - - - - + - - - - + - - - - + - - - - + - - - - + + + + + - - - - - + - + Deserializes binary LLSD - - - - + Serialized data + OSD containting deserialized data - + - + Deserializes binary LLSD - - - + Stream to read the data from + OSD containting deserialized data - + - + Serializes OSD to binary format. It does no prepend header - - - + OSD to serialize + Serialized data - + - + Serializes OSD to binary format + OSD to serialize + + + Serialized data - - + + + Serializes OSD to binary format. It does no prepend header + + OSD to serialize + Serialized data - - + + + Serializes OSD to binary format + + OSD to serialize + + + Serialized data - - + + + + + - - + + + + + + + + + - - + + + + + + + + + - - + + + + + + + + + - - + + + + + + + - - + + + + + + + - - + + + + + + + - - + + + + + + + - - + + + + + + + - + - + + + + - + - + + + + - + - Uses reflection to create an SDMap from all of the SD - serializable types in an object - Class or struct containing serializable types - An SDMap holding the serialized values from the - container object + + + + + + - + - Uses reflection to deserialize member variables in an object from - an SDMap - Reference to an object to fill with deserialized - values - Serialized values to put in the target - object + + + + + + + + - + - + + + + + + - + - + + + + + + - + - + + + + - + - + + + + - + - + + + + - + - + + + + - + - + + + + - + - + + + + - + - + + + + + + - + - + + + + diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index aa05418..bf76863 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.XML b/bin/OpenMetaverse.XML index 6e57fed..81cc005 100644 --- a/bin/OpenMetaverse.XML +++ b/bin/OpenMetaverse.XML @@ -1,3320 +1,3231 @@ - OpenMetaverse + /home/root/libomv-0.9.1-source/bin/OpenMetaverse - - = + + + Permission request flags, asked when a script wants to control an Avatar + - - Number of times we've received an unknown CAPS exception in series. + + Placeholder for empty values, shouldn't ever see this - - For exponential backoff on error. + + Script wants ability to take money from you - - - Add a custom decoder callback - - The key of the field to decode - The custom decode handler + + Script wants to take camera controls for you - - - Remove a custom decoder callback - - The key of the field to decode - The custom decode handler + + Script wants to remap avatars controls - - - Creates a formatted string containing the values of a Packet - - The Packet - A formatted string of values of the nested items in the Packet object + + Script wants to trigger avatar animations + This function is not implemented on the grid - - - Decode an IMessage object into a beautifully formatted string - - The IMessage object - Recursion level (used for indenting) - A formatted string containing the names and values of the source object + + Script wants to attach or detach the prim or primset to your avatar - - - A custom decoder callback - - The key of the object - the data to decode - A string represending the fieldData + + Script wants permission to release ownership + This function is not implemented on the grid + The concept of "public" objects does not exist anymore. - + + Script wants ability to link/delink with other prims + + + Script wants permission to change joints + This function is not implemented on the grid + + + Script wants permissions to change permissions + This function is not implemented on the grid + + + Script wants to track avatars camera position and rotation + + + Script wants to control your camera + + - Access to the data server which allows searching for land, events, people, etc + Special commands used in Instant Messages - - The event subscribers. null if no subcribers + + Indicates a regular IM from another agent - - Raises the EventInfoReply event - An EventInfoReplyEventArgs object containing the - data returned from the data server + + Simple notification box with an OK button - - Thread sync lock object + + You've been invited to join a group. - - The event subscribers. null if no subcribers + + Inventory offer - - Raises the DirEventsReply event - An DirEventsReplyEventArgs object containing the - data returned from the data server + + Accepted inventory offer - - Thread sync lock object + + Declined inventory offer - - The event subscribers. null if no subcribers + + Group vote - - Raises the PlacesReply event - A PlacesReplyEventArgs object containing the - data returned from the data server + + An object is offering its inventory - - Thread sync lock object + + Accept an inventory offer from an object - - The event subscribers. null if no subcribers + + Decline an inventory offer from an object - - Raises the DirPlacesReply event - A DirPlacesReplyEventArgs object containing the - data returned from the data server + + Unknown - - Thread sync lock object + + Start a session, or add users to a session - - The event subscribers. null if no subcribers + + Start a session, but don't prune offline users - - Raises the DirClassifiedsReply event - A DirClassifiedsReplyEventArgs object containing the - data returned from the data server + + Start a session with your group - - Thread sync lock object + + Start a session without a calling card (finder or objects) - - The event subscribers. null if no subcribers + + Send a message to a session - - Raises the DirGroupsReply event - A DirGroupsReplyEventArgs object containing the - data returned from the data server + + Leave a session - - Thread sync lock object + + Indicates that the IM is from an object - - The event subscribers. null if no subcribers + + Sent an IM to a busy user, this is the auto response - - Raises the DirPeopleReply event - A DirPeopleReplyEventArgs object containing the - data returned from the data server + + Shows the message in the console and chat history - - Thread sync lock object + + Send a teleport lure - - The event subscribers. null if no subcribers + + Response sent to the agent which inititiated a teleport invitation - - Raises the DirLandReply event - A DirLandReplyEventArgs object containing the - data returned from the data server + + Response sent to the agent which inititiated a teleport invitation - - Thread sync lock object + + Only useful if you have Linden permissions - - - Constructs a new instance of the DirectoryManager class - - An instance of GridClient + + A placeholder type for future expansion, currently not + used - - - Query the data server for a list of classified ads containing the specified string. - Defaults to searching for classified placed in any category, and includes PG, Adult and Mature - results. - - Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for - A UUID to correlate the results when the event is raised + + IM to tell the user to go to an URL - - - Query the data server for a list of classified ads which contain specified keywords (Overload) - - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for - The category to search - A set of flags which can be ORed to modify query options - such as classified maturity rating. - A UUID to correlate the results when the event is raised - - Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature - - UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); - - - - Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - + + IM for help - - - Starts search for places (Overloaded) - - The event is raised when a response is received from the simulator - - Search text - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised + + IM sent automatically on call for help, sends a lure + to each Helper reached - - - Queries the dataserver for parcels of land which are flagged to be shown in search - - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for separated by a space character - A set of flags which can be ORed to modify query options - such as classified maturity rating. - The category to search - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult - - UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); - - - - Additional information on the results can be obtained by using the ParcelManager.InfoRequest method - + + Like an IM but won't go to email - + + IM from a group officer to all group members + + + Unknown + + + Unknown + + + Accept a group invitation + + + Decline a group invitation + + + Unknown + + + An avatar is offering you friendship + + + An avatar has accepted your friendship offer + + + An avatar has declined your friendship offer + + + Indicates that a user has started typing + + + Indicates that a user has stopped typing + + - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator + Flag in Instant Messages, whether the IM should be delivered to + offline avatars as well - What type of land to search for. Auction, - estate, mainland, "first land", etc - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. - + + Only deliver to online avatars + + + If the avatar is offline the message will be held until + they login next, and possibly forwarded to their e-mail account + + - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator + Conversion type to denote Chat Packet types in an easier-to-understand format - What type of land to search for. Auction, - estate, mainland, "first land", etc - Maximum price to search for - Maximum area to search for - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. - + + Whisper (5m radius) + + + Normal chat (10/20m radius), what the official viewer typically sends + + + Shouting! (100m radius) + + + Event message when an Avatar has begun to type + + + Event message when an Avatar has stopped typing + + + Send the message to the debug channel + + + Event message when an object uses llOwnerSay + + + Special value to support llRegionSay, never sent to the client + + - Send a request to the data server for land sales listings + Identifies the source of a chat message - - Flags sent to specify query options - - Available flags: - Specify the parcel rating with one or more of the following: - IncludePG IncludeMature IncludeAdult - - Specify the field to pre sort the results with ONLY ONE of the following: - PerMeterSort NameSort AreaSort PricesSort - - Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order - SortAsc - - Specify additional filters to limit the results with one or both of the following: - LimitByPrice LimitByArea - - Flags can be combined by separating them with the | (pipe) character - - Additional details can be found in - - What type of land to search for. Auction, - Estate or Mainland - Maximum price to search for when the - DirFindFlags.LimitByPrice flag is specified in findFlags - Maximum area to search for when the - DirFindFlags.LimitByArea flag is specified in findFlags - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - The event will be raised with the response from the simulator - - There is no way to determine how many results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each reply. - - Any land set for sale to either anybody or specific to the connected agent will be included in the - results if the land is included in the query - - - // request all mainland, any maturity rating that is larger than 512 sq.m - StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); - - + + Chat from the grid or simulator + + + Chat from another avatar + + + Chat from an object + + - Search for Groups - The name or portion of the name of the group you wish to search for - Start from the match number - - + - Search for Groups - The name or portion of the name of the group you wish to search for - Start from the match number - Search flags - - + - Search the People directory for other avatars - The name or portion of the name of the avatar you wish to search for - - - + - Search Places for parcels of land you personally own - + - Searches Places for land owned by the specified group + Effect type used in ViewerEffect packets - ID of the group you want to recieve land list for (You must be a member of the group) - Transaction (Query) ID which can be associated with results from your request. - + - Search the Places directory for parcels that are listed in search and contain the specified keywords - A string containing the keywords to search for - Transaction (Query) ID which can be associated with results from your request. - + - Search Places - All Options - One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. - One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer - A string containing a list of keywords to search for separated by a space character - String Simulator Name to search in - LLUID of group you want to recieve results for - Transaction (Query) ID which can be associated with results from your request. - Transaction (Query) ID which can be associated with results from your request. - + - Search All Events with specifid searchText in all categories, includes PG, Mature and Adult - A string containing a list of keywords to search for separated by a space character - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - UUID of query to correlate results in callback. - + - Search Events - A string containing a list of keywords to search for separated by a space character - One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult - from the Enum - - Multiple flags can be combined by separating the flags with the | (pipe) character - "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled - For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - EventCategory event is listed under. - UUID of query to correlate results in callback. - - - Requests Event Details - ID of Event returned from the method - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Project a beam from a source to a destination, such as + the one used when editing an object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Create a swirl of particles around an object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Raised when the data server responds to a request. + + Cause an avatar to look at an object - - Raised when the data server responds to a request. + + Cause an avatar to point at an object - - Raised when the data server responds to a request. + + + The action an avatar is doing when looking at something, used in + ViewerEffect packets for the LookAt effect + - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. + + + - - Raised when the data server responds to a request. + + + - - Raised when the data server responds to a request. + + + - - Raised when the data server responds to a request. + + + - - Classified Ad categories + + + - - Classified is listed in the Any category + + + - - Classified is shopping related + + Deprecated - - Classified is + + + - - + + + - - + + + - - + + + - - + + + The action an avatar is doing when pointing at something, used in + ViewerEffect packets for the PointAt effect + - - + + + - - + + + - - + + + - - Event Categories + + + - - + + + Money transaction types + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - + - Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. - - Flags can be combined using the | (pipe) character, not all flags are available in all queries - - Query the People database + + + - - + + + - - + + + - - Query the Groups database + + + - - Query the Events database + + + - - Query the land holdings database for land owned by the currently connected agent + + + - - + + + - - Query the land holdings database for land which is owned by a Group + + + - - Specifies the query should pre sort the results based upon traffic - when searching the Places database + + + - - + + + - - + + + - - + + + - - + + + - - Specifies the query should pre sort the results in an ascending order when searching the land sales database. - This flag is only used when searching the land sales database + + + - - Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. - This flag is only used when searching the land sales database + + + - - Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. - This flag is only used when searching the land sales database + + + - - Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. - This flag is only used when searching the land sales database + + + - - Specifies the query should pre sort the results using the Name field when searching the land sales database. - This flag is only used when searching the land sales database + + + - - When set, only parcels less than the specified Price will be included when searching the land sales database. - This flag is only used when searching the land sales database + + + - - When set, only parcels greater than the specified Size will be included when searching the land sales database. - This flag is only used when searching the land sales database + + + - - + + + - - + + + - - Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + - - Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + - - Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + - - + + + - + - Land types to search dataserver for - - Search Auction, Mainland and Estate + + + - - Land which is currently up for auction - - - Parcels which are on the mainland (Linden owned) continents - - - Parcels which are on privately owned simulators - - + - The content rating of the event - - Event is PG - - - Event is Mature - - - Event is Adult + + + - + - Classified Ad Options - There appear to be two formats the flags are packed in. - This set of flags is for the newer style - - + + + - - + + + - - + + + - - + + + - - + + + - + - Classified ad query options - - Include all ads in results + + + - - Include PG ads in results + + + - - Include Mature ads in results + + + - - Include Adult ads in results + + + - + - The For Sale flag in PlacesReplyData - - Parcel is not listed for sale + + + - - Parcel is For Sale + + + - + - A classified ad on the grid - - UUID for this ad, useful for looking up detailed - information about it + + + - - The title of this classified ad + + + - - Flags that show certain options applied to the classified + + + - - Creation date of the ad + + + - - Expiration date of the ad + + + - - Price that was paid for this ad + + + - - Print the struct data as a string - A string containing the field name, and field value + + + - + - A parcel retrieved from the dataserver such as results from the - "For-Sale" listings or "Places" Search + Flags sent when a script takes or releases a control + NOTE: (need to verify) These might be a subset of the ControlFlags enum in Movement, - - The unique dataserver parcel ID - This id is used to obtain additional information from the entry - by using the method + + No Flags set - - A string containing the name of the parcel + + Forward (W or up Arrow) - - The size of the parcel - This field is not returned for Places searches + + Back (S or down arrow) - - The price of the parcel - This field is not returned for Places searches + + Move left (shift+A or left arrow) - - If True, this parcel is flagged to be auctioned + + Move right (shift+D or right arrow) - - If true, this parcel is currently set for sale + + Up (E or PgUp) - - Parcel traffic + + Down (C or PgDown) - - Print the struct data as a string - A string containing the field name, and field value + + Rotate left (A or left arrow) - - - An Avatar returned from the dataserver - + + Rotate right (D or right arrow) - - Online status of agent - This field appears to be obsolete and always returns false + + Left Mouse Button - - The agents first name + + Left Mouse button in MouseLook - - The agents last name + + + Currently only used to hide your group title + - - The agents + + No flags set - - Print the struct data as a string - A string containing the field name, and field value + + Hide your group title - + - Response to a "Groups" Search + Action state of the avatar, which can currently be typing and + editing - - The Group ID - - - The name of the group + + + - - The current number of members + + + - - Print the struct data as a string - A string containing the field name, and field value + + + - + - Parcel information returned from a request - - Represents one of the following: - A parcel of land on the grid that has its Show In Search flag set - A parcel of land owned by the agent making the request - A parcel of land owned by a group the agent making the request is a member of - - - In a request for Group Land, the First record will contain an empty record - - Note: This is not the same as searching the land for sale data source + Current teleport status - - The ID of the Agent of Group that owns the parcel + + Unknown status - - The name + + Teleport initialized - - The description + + Teleport in progress - - The Size of the parcel + + Teleport failed - - The billable Size of the parcel, for mainland - parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller - than the ActualArea. For Estate land this will always be 0 + + Teleport completed - - Indicates the ForSale status of the parcel + + Teleport cancelled - - The Gridwide X position + + + - - The Gridwide Y position + + No flags set, or teleport failed - - The Z position of the parcel, or 0 if no landing point set + + Set when newbie leaves help island for first time - - The name of the Region the parcel is located in + + + - - The Asset ID of the parcels Snapshot texture + + Via Lure - - The calculated visitor traffic + + Via Landmark - - The billing product SKU - Known values are: - - 023Mainland / Full Region - 024Estate / Full Region - 027Estate / Openspace - 029Estate / Homestead - 129Mainland / Homestead (Linden Owned) - - + + Via Location - - No longer used, will always be 0 + + Via Home - - Get a SL URL for the parcel - A string, containing a standard SLURL + + Via Telehub - - Print the struct data as a string - A string containing the field name, and field value + + Via Login - + + Linden Summoned + + + Linden Forced me + + - An "Event" Listing summary - - The ID of the event creator + + Agent Teleported Home via Script - - The name of the event + + + - - The events ID + + + - - A string containing the short date/time the event will begin + + + - - The event start time in Unixtime (seconds since epoch) + + forced to new location for example when avatar is banned or ejected - - The events maturity rating + + Teleport Finished via a Lure - - Print the struct data as a string - A string containing the field name, and field value + + Finished, Sim Changed - + + Finished, Same Sim + + - The details of an "Event" - - The events ID + + + - - The ID of the event creator + + + - - The name of the event + + + - - The category + + + - - The events description + + + - - The short date/time the event will begin + + + - - The event start time in Unixtime (seconds since epoch) UTC adjusted + + + - - The length of the event in minutes + + + - - 0 if no cover charge applies + + + Type of mute entry + - - The cover charge amount in L$ if applicable + + Object muted by name - - The name of the region where the event is being held + + Muted residet - - The gridwide location of the event + + Object muted by UUID - - The maturity rating + + Muted group - - Get a SL URL for the parcel where the event is hosted - A string, containing a standard SLURL + + Muted external entry - - Print the struct data as a string - A string containing the field name, and field value + + + Flags of mute entry + - - Contains the Event data returned from the data server from an EventInfoRequest + + No exceptions - - Construct a new instance of the EventInfoReplyEventArgs class - A single EventInfo object containing the details of an event + + Don't mute text chat - + + Don't mute voice chat + + + Don't mute particles + + + Don't mute sounds + + + Don't mute + + - A single EventInfo object containing the details of an event + Instant Message - - Contains the "Event" detail data returned from the data server + + Key of sender - - Construct a new instance of the DirEventsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Events" returned by the search query + + Name of sender - - The ID returned by + + Key of destination avatar - - A list of "Events" returned by the data server + + ID of originating estate - - Contains the "Event" list data returned from the data server + + Key of originating region - - Construct a new instance of PlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Places" returned by the data server query + + Coordinates in originating region - - The ID returned by + + Instant message type - - A list of "Places" returned by the data server + + Group IM session toggle - - Contains the places data returned from the data server + + Key of IM session, for Group Messages, the groups UUID - - Construct a new instance of the DirPlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing land data returned by the data server + + Timestamp of the instant message - - The ID returned by + + Instant message text - - A list containing Places data returned by the data server + + Whether this message is held for offline avatars - - Contains the classified data returned from the data server + + Context specific packed data - - Construct a new instance of the DirClassifiedsReplyEventArgs class - A list of classified ad data returned from the data server + + Print the struct data as a string + A string containing the field name, and field value - - A list containing Classified Ads returned by the data server + + Represents muted object or resident - - Contains the group data returned from the data server + + Type of the mute entry - - Construct a new instance of the DirGroupsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of groups data returned by the data server + + UUID of the mute etnry - - The ID returned by + + Mute entry name - - A list containing Groups data returned by the data server + + Mute flags - - Contains the people data returned from the data server + + Transaction detail sent with MoneyBalanceReply message - - Construct a new instance of the DirPeopleReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of people data returned by the data server + + Type of the transaction - - The ID returned by + + UUID of the transaction source - - A list containing People data returned by the data server + + Is the transaction source a group - - Contains the land sales data returned from the data server + + UUID of the transaction destination - - Construct a new instance of the DirLandReplyEventArgs class - A list of parcels for sale returned by the data server + + Is transaction destination a group - - A list containing land forsale data returned by the data server + + Transaction amount - + + Transaction description + + - Sent to the client to indicate a teleport request has completed + Manager class for our own avatar - + - Interface requirements for Messaging system + Constructor, setup callbacks for packets related to our avatar + A reference to the Class - - The of the agent + + + Agent movement and camera control + Agent movement is controlled by setting specific + After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags + This is most easily accomplished by setting one or more of the AgentMovement properties + Movement of an avatar is always based on a compass direction, for example AtPos will move the + agent from West to East or forward on the X Axis, AtNeg will of course move agent from + East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis + The Z axis is Up, finer grained control of movements can be done using the Nudge properties + - - + + Default constructor - - The simulators handle the agent teleported to + + + Camera controls for the agent, mostly a thin wrapper around + CoordinateFrame. This class is only responsible for state + tracking and math, it does not send any packets + - - A Uri which contains a list of Capabilities the simulator supports + + + Default constructor + - - Indicates the level of access required - to access the simulator, or the content rating, or the simulators - map status + + + - - The IP Address of the simulator + + The camera is a local frame of reference inside of + the larger grid space. This is where the math happens - - The UDP Port the simulator will listen for UDP traffic on + + + - - Status flags indicating the state of the Agent upon arrival, Flying, etc. + + + - + - Serialize the object - An containing the objects data - + - Deserialize the message - An containing the data - + + Agent camera controls + + + Currently only used for hiding your group title + + + Action state of the avatar, which can currently be + typing and editing + + - Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. - + - Serialize the object - An containing the objects data - + - Deserialize the message - An containing the data - + - Serialize the object - An containing the objects data - + - Deserialize the message - An containing the data - + - Serialize the object - An containing the objects data - + - Deserialize the message - An containing the data - + - A message sent to the client which indicates a teleport request has failed - and contains some information on why it failed - - + + + - - A string key of the reason the teleport failed e.g. CouldntTPCloser - Which could be used to look up a value in a dictionary or enum + + Timer for sending AgentUpdate packets - - The of the Agent + + Move agent positive along the X axis - - A string human readable message containing the reason - An example: Could not teleport closer to destination + + Move agent negative along the X axis - - - Serialize the object - - An containing the objects data + + Move agent positive along the Y axis - + + Move agent negative along the Y axis + + + Move agent positive along the Z axis + + + Move agent negative along the Z axis + + - Deserialize the message - An containing the data - + - Serialize the object - An containing the objects data - + - Deserialize the message - An containing the data - + - Contains a list of prim owner information for a specific parcel in a simulator - - A Simulator will always return at least 1 entry - If agent does not have proper permission the OwnerID will be UUID.Zero - If agent does not have proper permission OR there are no primitives on parcel - the DataBlocksExtended map will not be sent from the simulator - - - An Array of objects - - + - Serialize the object - An containing the objects data - + - Deserialize the message - An containing the data - + - Prim ownership information for a specified owner on a single parcel - - The of the prim owner, - UUID.Zero if agent has no permission to view prim owner information - - - The total number of prims + + Causes simulator to make agent fly - - True if the OwnerID is a + + Stop movement - - True if the owner is online - This is no longer used by the LL Simulators + + Finish animation - - The date the most recent prim was rezzed + + Stand up from a sit - - - The details of a single parcel in a region, also contains some regionwide globals - + + Tells simulator to sit agent on ground - - Simulator-local ID of this parcel + + Place agent into mouselook mode - - Maximum corner of the axis-aligned bounding box for this - parcel + + Nudge agent positive along the X axis - - Minimum corner of the axis-aligned bounding box for this - parcel + + Nudge agent negative along the X axis - - Total parcel land area + + Nudge agent positive along the Y axis - - + + Nudge agent negative along the Y axis - - Key of authorized buyer + + Nudge agent positive along the Z axis - - Bitmap describing land layout in 4x4m squares across the - entire region + + Nudge agent negative along the Z axis - - + + + - - Date land was claimed + + + - - Appears to always be zero + + Tell simulator to mark agent as away - - Parcel Description + + + - - + + + - - + + + - - Total number of primitives owned by the parcel group on - this parcel + + + - - Whether the land is deeded to a group or not + + + Returns "always run" value, or changes it by sending a SetAlwaysRunPacket + - - + + The current value of the agent control flags - - Maximum number of primitives this parcel supports + + Gets or sets the interval in milliseconds at which + AgentUpdate packets are sent to the current simulator. Setting + this to a non-zero value will also enable the packet sending if + it was previously off, and setting it to zero will disable - - The Asset UUID of the Texture which when applied to a - primitive will display the media + + Gets or sets whether AgentUpdate packets are sent to + the current simulator - - A URL which points to any Quicktime supported media type + + Reset movement controls every time we send an update - - A byte, if 0x1 viewer should auto scale media to fit object + + + Send an AgentUpdate with the camera set at the current agent + position and pointing towards the heading specified + + Camera rotation in radians + Whether to send the AgentUpdate reliable + or not - - URL For Music Stream + + + Rotates the avatar body and camera toward a target position. + This will also anchor the camera position on the avatar + + Region coordinates to turn toward - - Parcel Name + + + Send new AgentUpdate packet to update our current camera + position and rotation + - - Autoreturn value in minutes for others' objects + + + Send new AgentUpdate packet to update our current camera + position and rotation + + Whether to require server acknowledgement + of this packet - - + + + Send new AgentUpdate packet to update our current camera + position and rotation + + Whether to require server acknowledgement + of this packet + Simulator to send the update to - - Total number of other primitives on this parcel + + + Builds an AgentUpdate packet entirely from parameters. This + will not touch the state of Self.Movement or + Self.Movement.Camera in any way + + + + + + + + + + + + + + + + + + + + + + + - - UUID of the owner of this parcel + + + Used to specify movement actions for your agent + - - Total number of primitives owned by the parcel owner on - this parcel + + Empty flag - - + + Move Forward (SL Keybinding: W/Up Arrow) - - How long is pass valid for + + Move Backward (SL Keybinding: S/Down Arrow) - - Price for a temporary pass + + Move Left (SL Keybinding: Shift-(A/Left Arrow)) - - + + Move Right (SL Keybinding: Shift-(D/Right Arrow)) - - + + Not Flying: Jump/Flying: Move Up (SL Keybinding: E) - - + + Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) - - + + Unused - - True if the region denies access to age unverified users + + Unused - - + + Unused - - This field is no longer used + + Unused - - The result of a request for parcel properties + + ORed with AGENT_CONTROL_AT_* if the keyboard is being used - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it + + ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used - - - Number of primitives your avatar is currently - selecting and sitting on in this parcel - + + ORed with AGENT_CONTROL_UP_* if the keyboard is being used - - + + Fly - + - A number which increments by 1, starting at 0 for each ParcelProperties request. - Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. - a Negative number indicates the action in has occurred. - - Maximum primitives across the entire simulator + + Finish our current animation - - Total primitives across the entire simulator + + Stand up from the ground or a prim seat - - + + Sit on the ground at our current location - - Key of parcel snapshot + + Whether mouselook is currently enabled - - Parcel ownership status + + Legacy, used if a key was pressed for less than a certain amount of time - - Total number of primitives on this parcel + + Legacy, used if a key was pressed for less than a certain amount of time - - + + Legacy, used if a key was pressed for less than a certain amount of time - - + + Legacy, used if a key was pressed for less than a certain amount of time - - A description of the media + + Legacy, used if a key was pressed for less than a certain amount of time - - An Integer which represents the height of the media + + Legacy, used if a key was pressed for less than a certain amount of time - - An integer which represents the width of the media + + + - - A boolean, if true the viewer should loop the media + + + - - A string which contains the mime type of the media + + Set when the avatar is idled or set to away. Note that the away animation is + activated separately from setting this flag - - true to obscure (hide) media url + + + - - true to obscure (hide) music url + + + - + - Serialize the object - An containing the objects data - + - Deserialize the message - An containing the data - - A message sent from the viewer to the simulator to updated a specific parcels settings + + + Called once attachment resource usage information has been collected + + Indicates if operation was successfull + Attachment resource usage information - - The of the agent authorized to purchase this - parcel of land or a NULL if the sale is authorized to anyone + + The event subscribers. null if no subcribers - - true to enable auto scaling of the parcel media + + Thread sync lock object - - The category of this parcel used when search is enabled to restrict - search results + + The event subscribers. null if no subcribers - - A string containing the description to set + + Thread sync lock object - - The of the which allows for additional - powers and restrictions. + + The event subscribers. null if no subcribers - - The which specifies how avatars which teleport - to this parcel are handled + + Thread sync lock object - - The LocalID of the parcel to update settings on + + The event subscribers. null if no subcribers - - A string containing the description of the media which can be played - to visitors + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - - Deserialize the message - - An containing the data + + Thread sync lock object - - - Serialize the object - - An containing the objects data + + The event subscribers. null if no subcribers - - Base class used for the RemoteParcelRequest message + + Thread sync lock object - - - A message sent from the viewer to the simulator to request information - on a remote parcel - + + The event subscribers. null if no subcribers - - Local sim position of the parcel we are looking up + + Thread sync lock object - - Region handle of the parcel we are looking up + + The event subscribers. null if no subcribers - - Region of the parcel we are looking up + + Thread sync lock object - - - Serialize the object - - An containing the objects data + + The event subscribers. null if no subcribers - - - Deserialize the message - - An containing the data + + Thread sync lock object - - - A message sent from the simulator to the viewer in response to a - which will contain parcel information - + + The event subscribers. null if no subcribers - - The grid-wide unique parcel ID + + Thread sync lock object - - - Serialize the object - - An containing the objects data + + The event subscribers. null if no subcribers - - - Deserialize the message - - An containing the data + + Thread sync lock object - - - A message containing a request for a remote parcel from a viewer, or a response - from the simulator to that request - + + The event subscribers. null if no subcribers - - The request or response details block + + Thread sync lock object - - - Serialize the object - - An containing the objects data + + The event subscribers, null of no subscribers - - - Deserialize the message - - An containing the data + + Thread sync lock object - - - Serialize the object - - An containing the objects data + + The event subscribers. null if no subcribers - - - Deserialize the message - - An containing the data + + Thread sync lock object - - - Serialize the object - - An containing the objects data + + Reference to the GridClient instance - - - Deserialize the message - - An containing the data + + Used for movement and camera tracking - - - A message sent from the simulator to an agent which contains - the groups the agent is in - + + Currently playing animations for the agent. Can be used to + check the current movement status such as walking, hovering, aiming, + etc. by checking against system animations found in the Animations class - - The Agent receiving the message + + Dictionary containing current Group Chat sessions and members - - An array containing information - for each the agent is a member of + + Dictionary containing mute list keyead on mute name and key - - An array containing information - for each the agent is a member of + + Raised when a scripted object or agent within range sends a public message - - - Serialize the object - - An containing the objects data + + Raised when a scripted object sends a dialog box containing possible + options an agent can respond to - - - Deserialize the message - - An containing the data + + Raised when an object requests a change in the permissions an agent has permitted - - Group Details specific to the agent + + Raised when a script requests an agent open the specified URL - - true of the agent accepts group notices + + Raised when an agents currency balance is updated - - The agents tier contribution to the group + + Raised when a transaction occurs involving currency such as a land purchase - - The Groups + + Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from + private messaging to friendship offers. The Dialog field defines what type of message has arrived - - The of the groups insignia + + Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times + for each teleport indicating the progress of the request - - The name of the group + + Raised when a simulator sends agent specific information for our avatar. - - The aggregate permissions the agent has in the group for all roles the agent - is assigned + + Raised when our agents animation playlist changes - - An optional block containing additional agent specific information + + Raised when an object or avatar forcefully collides with our agent - - true of the agent allows this group to be - listed in their profile + + Raised when our agent crosses a region border into another region - - - A message sent from the viewer to the simulator which - specifies the language and permissions for others to detect - the language specified - + + Raised when our agent succeeds or fails to join a group chat session - - A string containng the default language - to use for the agent + + Raised when a simulator sends an urgent message usually indication the recent failure of + another action we have attempted to take such as an attempt to enter a parcel where we are denied access - - true of others are allowed to - know the language setting + + Raised when a script attempts to take or release specified controls for our agent - - - Serialize the object - - An containing the objects data + + Raised when the simulator detects our agent is trying to view something + beyond its limits - - - Deserialize the message - - An containing the data + + Raised when a script sensor reply is received from a simulator - - - An EventQueue message sent from the simulator to an agent when the agent - leaves a group - + + Raised in response to a request - - - An Array containing the AgentID and GroupID - + + Raised when an avatar enters a group chat session we are participating in - - - Serialize the object - - An containing the objects data + + Raised when an agent exits a group chat session we are participating in - - - Deserialize the message - - An containing the data + + Raised when the simulator sends us data containing + the details of display name change - - An object containing the Agents UUID, and the Groups UUID + + Raised when a scripted object or agent within range sends a public message - - The ID of the Agent leaving the group + + Your (client) avatars + "client", "agent", and "avatar" all represent the same thing - - The GroupID the Agent is leaving + + Temporary assigned to this session, used for + verifying our identity in packets - - Base class for Asset uploads/results via Capabilities + + Shared secret that is never sent over the wire - - - The request state - + + Your (client) avatar ID, local to the current region/sim - - - Serialize the object - - An containing the objects data + + Where the avatar started at login. Can be "last", "home" + or a login - - - Deserialize the message - - An containing the data + + The access level of this agent, usually M or PG - - - A message sent from the viewer to the simulator to request a temporary upload capability - which allows an asset to be uploaded - + + The CollisionPlane of Agent - - The Capability URL sent by the simulator to upload the baked texture to + + An representing the velocity of our agent - - - A message sent from the simulator that will inform the agent the upload is complete, - and the UUID of the uploaded asset - + + An representing the acceleration of our agent - - The uploaded texture asset ID + + A which specifies the angular speed, and axis about which an Avatar is rotating. - - - A message sent from the viewer to the simulator to request a temporary - capability URI which is used to upload an agents baked appearance textures - + + Position avatar client will goto when login to 'home' or during + teleport request to 'home' region. - - Object containing request or response + + LookAt point saved/restored with HomePosition - - - Serialize the object - - An containing the objects data + + Avatar First Name (i.e. Philip) - - - Deserialize the message - - An containing the data + + Avatar Last Name (i.e. Linden) - - - A message sent from the simulator which indicates the minimum version required for - using voice chat - + + Avatar Full Name (i.e. Philip Linden) - - Major Version Required + + Gets the health of the agent - - Minor version required + + Gets the current balance of the agent - - The name of the region sending the version requrements + + Gets the local ID of the prim the agent is sitting on, + zero if the avatar is not currently sitting - - - Serialize the object - - An containing the objects data + + Gets the of the agents active group. - - - Deserialize the message - - An containing the data + + Gets the Agents powers in the currently active group - - - A message sent from the simulator to the viewer containing the - voice server URI - + + Current status message for teleporting - - The Parcel ID which the voice server URI applies + + Current position of the agent as a relative offset from + the simulator, or the parent object if we are sitting on something - - The name of the region + + Current rotation of the agent as a relative rotation from + the simulator, or the parent object if we are sitting on something - - A uri containing the server/channel information - which the viewer can utilize to participate in voice conversations + + Current position of the agent in the simulator - + - Serialize the object + A representing the agents current rotation - An containing the objects data - - - Deserialize the message - - An containing the data + + Returns the global grid position of the avatar - - - - + + Raises the ChatFromSimulator event + A ChatEventArgs object containing the + data returned from the data server - - + + Raises the ScriptDialog event + A SctriptDialogEventArgs object containing the + data returned from the data server - - + + Raises the ScriptQuestion event + A ScriptQuestionEventArgs object containing the + data returned from the data server - - - Serialize the object - - An containing the objects data + + Raises the LoadURL event + A LoadUrlEventArgs object containing the + data returned from the data server - - - Deserialize the message - - An containing the data + + Raises the MoneyBalance event + A BalanceEventArgs object containing the + data returned from the data server - - - A message sent by the viewer to the simulator to request a temporary - capability for a script contained with in a Tasks inventory to be updated - + + Raises the MoneyBalanceReply event + A MoneyBalanceReplyEventArgs object containing the + data returned from the data server - - Object containing request or response + + Raises the IM event + A InstantMessageEventArgs object containing the + data returned from the data server - - - Serialize the object - - An containing the objects data + + Raises the TeleportProgress event + A TeleportEventArgs object containing the + data returned from the data server - - - Deserialize the message - - An containing the data + + Raises the AgentDataReply event + A AgentDataReplyEventArgs object containing the + data returned from the data server - - - A message sent from the simulator to the viewer to indicate - a Tasks scripts status. - + + Raises the AnimationsChanged event + A AnimationsChangedEventArgs object containing the + data returned from the data server - - The Asset ID of the script + + Raises the MeanCollision event + A MeanCollisionEventArgs object containing the + data returned from the data server - - True of the script is compiled/ran using the mono interpreter, false indicates it - uses the older less efficient lsl2 interprter + + Raises the RegionCrossed event + A RegionCrossedEventArgs object containing the + data returned from the data server - - The Task containing the scripts + + Raises the GroupChatJoined event + A GroupChatJoinedEventArgs object containing the + data returned from the data server - - true of the script is in a running state + + Raises the AlertMessage event + A AlertMessageEventArgs object containing the + data returned from the data server - - - Serialize the object - - An containing the objects data + + Raises the ScriptControlChange event + A ScriptControlEventArgs object containing the + data returned from the data server - - - Deserialize the message - - An containing the data + + Raises the CameraConstraint event + A CameraConstraintEventArgs object containing the + data returned from the data server - - - A message containing the request/response used for updating a gesture - contained with an agents inventory - - - - Object containing request or response + + Raises the ScriptSensorReply event + A ScriptSensorReplyEventArgs object containing the + data returned from the data server - - - Serialize the object - - An containing the objects data + + Raises the AvatarSitResponse event + A AvatarSitResponseEventArgs object containing the + data returned from the data server - - - Deserialize the message - - An containing the data + + Raises the ChatSessionMemberAdded event + A ChatSessionMemberAddedEventArgs object containing the + data returned from the data server - - - A message request/response which is used to update a notecard contained within - a tasks inventory - + + Raises the ChatSessionMemberLeft event + A ChatSessionMemberLeftEventArgs object containing the + data returned from the data server - - The of the Task containing the notecard asset to update + + Raises the SetDisplayNameReply Event + A SetDisplayNameReplyEventArgs object containing + the data sent from the simulator - - The notecard assets contained in the tasks inventory + + Raises the MuteListUpdated event + A EventArgs object containing the + data returned from the data server - + - Serialize the object + Send a text message from the Agent to the Simulator - An containing the objects data + A containing the message + The channel to send the message on, 0 is the public channel. Channels above 0 + can be used however only scripts listening on the specified channel will see the message + Denotes the type of message being sent, shout, whisper, etc. - + - Deserialize the message + Request any instant messages sent while the client was offline to be resent. - An containing the data - + - A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability - which is used to update an asset in an agents inventory + Send an Instant Message to another Avatar + The recipients + A containing the message to send - + - The Notecard AssetID to replace + Send an Instant Message to an existing group chat or conference chat + The recipients + A containing the message to send + IM session ID (to differentiate between IM windows) - + - Serialize the object + Send an Instant Message - An containing the objects data + The name this IM will show up as being from + Key of Avatar + Text message being sent + IM session ID (to differentiate between IM windows) + IDs of sessions for a conference - + - Deserialize the message + Send an Instant Message - An containing the data + The name this IM will show up as being from + Key of Avatar + Text message being sent + IM session ID (to differentiate between IM windows) + Type of instant message to send + Whether to IM offline avatars as well + Senders Position + RegionID Sender is In + Packed binary data that is specific to + the dialog type - + - A message containing the request/response used for updating a notecard - contained with an agents inventory + Send an Instant Message to a group + + of the group to send message to + Text Message being sent. - - Object containing request or response - - + - Serialize the object + Send an Instant Message to a group the agent is a member of - An containing the objects data + The name this IM will show up as being from + + of the group to send message to + Text message being sent - + - Deserialize the message + Send a request to join a group chat session - An containing the data + + of Group to leave - + - Serialize the object + Exit a group chat session. This will stop further Group chat messages + from being sent until session is rejoined. - An containing the objects data + + of Group chat session to leave - + - Deserialize the message + Reply to script dialog questions. - An containing the data + Channel initial request came on + Index of button you're "clicking" + Label of button you're "clicking" + + of Object that sent the dialog request + - + - A message sent from the simulator to the viewer which indicates - an error occurred while attempting to update a script in an agents or tasks - inventory + Accept invite for to a chatterbox session + + of session to accept invite to - - true of the script was successfully compiled by the simulator - - - A string containing the error which occured while trying - to update the script - - - A new AssetID assigned to the script - - + - A message sent from the viewer to the simulator - requesting the update of an existing script contained - within a tasks inventory + Start a friends conference + + List of UUIDs to start a conference with + the temportary session ID returned in the callback> - - if true, set the script mode to running - - - The scripts InventoryItem ItemID to update - - - A lowercase string containing either "mono" or "lsl2" which - specifies the script is compiled and ran on the mono runtime, or the older - lsl runtime - - - The tasks which contains the script to update - - + - Serialize the object + Start a particle stream between an agent and an object - An containing the objects data + + Key of the source agent + + Key of the target object + + + The type from the enum + A unique for this effect - + - Deserialize the message + Start a particle stream between an agent and an object - An containing the data + + Key of the source agent + + Key of the target object + A representing the beams offset from the source + A which sets the avatars lookat animation + + of the Effect - + - A message containing either the request or response used in updating a script inside - a tasks inventory + Create a particle beam between an avatar and an primitive + The ID of source avatar + The ID of the target primitive + global offset + A object containing the combined red, green, blue and alpha + color values of particle beam + a float representing the duration the parcicle beam will last + A Unique ID for the beam + - - Object containing request or response - - + - Serialize the object + Create a particle swirl around a target position using a packet - An containing the objects data + global offset + A object containing the combined red, green, blue and alpha + color values of particle beam + a float representing the duration the parcicle beam will last + A Unique ID for the beam - + - Deserialize the message + Sends a request to sit on the specified object - An containing the data + + of the object to sit on + Sit at offset - + - Response from the simulator to notify the viewer the upload is completed, and - the UUID of the script asset and its compiled status + Follows a call to to actually sit on the object - - The uploaded texture asset ID - - - true of the script was compiled successfully + + Stands up from sitting on a prim or the ground + true of AgentUpdate was sent - + - A message sent from a viewer to the simulator requesting a temporary uploader capability - used to update a script contained in an agents inventory + Does a "ground sit" at the avatar's current position - - The existing asset if of the script in the agents inventory to replace - - - The language of the script - Defaults to lsl version 2, "mono" might be another possible option - - + - Serialize the object + Starts or stops flying - An containing the objects data + True to start flying, false to stop flying - + - Deserialize the message + Starts or stops crouching - An containing the data + True to start crouching, false to stop crouching - + - A message containing either the request or response used in updating a script inside - an agents inventory + Starts a jump (begin holding the jump key) - - Object containing request or response - - + - Serialize the object + Use the autopilot sim function to move the avatar to a new + position. Uses double precision to get precise movements - An containing the objects data + The z value is currently not handled properly by the simulator + Global X coordinate to move to + Global Y coordinate to move to + Z coordinate to move to - + - Deserialize the message + Use the autopilot sim function to move the avatar to a new position - An containing the data + The z value is currently not handled properly by the simulator + Integer value for the global X coordinate to move to + Integer value for the global Y coordinate to move to + Floating-point value for the Z coordinate to move to - + - Serialize the object + Use the autopilot sim function to move the avatar to a new position - An containing the objects data + The z value is currently not handled properly by the simulator + Integer value for the local X coordinate to move to + Integer value for the local Y coordinate to move to + Floating-point value for the Z coordinate to move to - + + Macro to cancel autopilot sim function + Not certain if this is how it is really done + true if control flags were set and AgentUpdate was sent to the simulator + + - Deserialize the message + Grabs an object - An containing the data + an unsigned integer of the objects ID within the simulator + - - Base class for Map Layers via Capabilities - - - - - + - Serialize the object + Overload: Grab a simulated object - An containing the objects data + an unsigned integer of the objects ID within the simulator + + + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - + - Deserialize the message + Drag an object - An containing the data + + of the object to drag + Drag target in region coordinates - + - Sent by an agent to the capabilities server to request map layers + Overload: Drag an object + + of the object to drag + Drag target in region coordinates + + + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - + - A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates + Release a grabbed object + The Objects Simulator Local ID + + + - - An array containing LayerData items - - + - Serialize the object + Release a grabbed object - An containing the objects data + The Objects Simulator Local ID + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - + - Deserialize the message + Touches an object - An containing the data + an unsigned integer of the objects ID within the simulator + - + - An object containing map location details + Request the current L$ balance - - The Asset ID of the regions tile overlay - - - The grid location of the southern border of the map tile - - - The grid location of the western border of the map tile - - - The grid location of the eastern border of the map tile - - - The grid location of the northern border of the map tile - - - Object containing request or response - - + - Serialize the object + Give Money to destination Avatar - An containing the objects data + UUID of the Target Avatar + Amount in L$ - + - Deserialize the message + Give Money to destination Avatar - An containing the data + UUID of the Target Avatar + Amount in L$ + Description that will show up in the + recipients transaction history - + - New as of 1.23 RC1, no details yet. + Give L$ to an object + object to give money to + amount of L$ to give + name of object - + - Serialize the object + Give L$ to a group - An containing the objects data + group to give money to + amount of L$ to give - + - Deserialize the message + Give L$ to a group - An containing the data + group to give money to + amount of L$ to give + description of transaction - + - Serialize the object + Pay texture/animation upload fee - An containing the objects data - + - Deserialize the message + Pay texture/animation upload fee - An containing the data - - - A string containing the method used + description of the transaction - + - A request sent from an agent to the Simulator to begin a new conference. - Contains a list of Agents which will be included in the conference - - - - An array containing the of the agents invited to this conference - - - The conferences Session ID + Give Money to destination Object or Avatar +
+ UUID of the Target Object/Avatar + Amount in L$ + Reason (Optional normally) + The type of transaction + Transaction flags, mostly for identifying group + transactions
- + - Serialize the object + Plays a gesture - An containing the objects data + Asset of the gesture - + - Deserialize the message + Mark gesture active - An containing the data + Inventory of the gesture + Asset of the gesture - + - A moderation request sent from a conference moderator - Contains an agent and an optional action to take - - - - The Session ID + Mark gesture inactive +
+ Inventory of the gesture
- - + + + Send an AgentAnimation packet that toggles a single animation on + + The of the animation to start playing + Whether to ensure delivery of this packet or not - - A list containing Key/Value pairs, known valid values: - key: text value: true/false - allow/disallow specified agents ability to use text in session - key: voice value: true/false - allow/disallow specified agents ability to use voice in session + + + Send an AgentAnimation packet that toggles a single animation off - "text" or "voice" + The of a + currently playing animation to stop playing + Whether to ensure delivery of this packet or not - - + + + Send an AgentAnimation packet that will toggle animations on or off + + A list of animation s, and whether to + turn that animation on or off + Whether to ensure delivery of this packet or not - + - Serialize the object + Teleports agent to their stored home location - An containing the objects data + true on successful teleport to home location - + - Deserialize the message + Teleport agent to a landmark - An containing the data + + of the landmark to teleport agent to + true on success, false on failure - + - A message sent from the agent to the simulator which tells the - simulator we've accepted a conference invitation + Attempt to look up a simulator name and teleport to the discovered + destination + Region name to look up + Position to teleport to + True if the lookup and teleport were successful, otherwise + false - - The conference SessionID + + + Attempt to look up a simulator name and teleport to the discovered + destination + + Region name to look up + Position to teleport to + Target to look at + True if the lookup and teleport were successful, otherwise + false - + - Serialize the object + Teleport agent to another region - An containing the objects data + handle of region to teleport agent to + + position in destination sim to teleport to + true on success, false on failure + This call is blocking - + - Deserialize the message + Teleport agent to another region - An containing the data + handle of region to teleport agent to + + position in destination sim to teleport to + + direction in destination sim agent will look at + true on success, false on failure + This call is blocking - + - Serialize the object + Request teleport to a another simulator - An containing the objects data + handle of region to teleport agent to + + position in destination sim to teleport to - + - Deserialize the message + Request teleport to a another simulator - An containing the data + handle of region to teleport agent to + + position in destination sim to teleport to + + direction in destination sim agent will look at - + - Serialize the object + Teleport agent to a landmark - An containing the objects data + + of the landmark to teleport agent to - + - Deserialize the message + Send a teleport lure to another avatar with default "Join me in ..." invitation message - An containing the data + target avatars to lure - + - Serialize the object + Send a teleport lure to another avatar with custom invitation message - An containing the objects data + target avatars to lure + custom message to send with invitation - + - Deserialize the message + Respond to a teleport lure by either accepting it and initiating + the teleport, or denying it - An containing the data + + of the avatar sending the lure + IM session of the incoming lure request + true to accept the lure, false to decline it - - Key of sender - - - Name of sender - - - Key of destination avatar - - - ID of originating estate - - - Key of originating region - - - Coordinates in originating region - - - Instant message type - - - Group IM session toggle - - - Key of IM session, for Group Messages, the groups UUID - - - Timestamp of the instant message - - - Instant message text - - - Whether this message is held for offline avatars - - - Context specific packed data - - - Is this invitation for voice group/conference chat - - + - Serialize the object + Update agent profile - An containing the objects data + + struct containing updated + profile information - + - Deserialize the message + Update agents profile interests - An containing the data + selection of interests from struct - + - Sent from the simulator to the viewer. - - When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including - a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate - this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" - - During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are - excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with - the string "ENTER" or "LEAVE" respectively. + Set the height and the width of the client window. This is used + by the server to build a virtual camera frustum for our avatar + New height of the viewer window + New width of the viewer window - + - Serialize the object + Request the list of muted objects and avatars for this agent - An containing the objects data - + - Deserialize the message + Mute an object, resident, etc. - An containing the data + Mute type + Mute UUID + Mute name - + - An EventQueue message sent when the agent is forcibly removed from a chatterbox session + Mute an object, resident, etc. + Mute type + Mute UUID + Mute name + Mute flags - + - A string containing the reason the agent was removed + Unmute an object, resident, etc. + Mute UUID + Mute name - + - The ChatterBoxSession's SessionID + Sets home location to agents current position + will fire an AlertMessage () with + success or failure message - + - Serialize the object + Move an agent in to a simulator. This packet is the last packet + needed to complete the transition in to a new simulator - An containing the objects data + + Object - + - Deserialize the message + Reply to script permissions request - An containing the data + + Object + + of the itemID requesting permissions + + of the taskID requesting permissions + + list of permissions to allow - + - Serialize the object + Respond to a group invitation by either accepting or denying it - An containing the objects data + UUID of the group (sent in the AgentID field of the invite message) + IM Session ID from the group invitation message + Accept the group invitation or deny it - + - Deserialize the message + Requests script detection of objects and avatars - An containing the data + name of the object/avatar to search for + UUID of the object or avatar to search for + Type of search from ScriptSensorTypeFlags + range of scan (96 max?) + the arc in radians to search within + an user generated ID to correlate replies with + Simulator to perform search in - + - Serialize the object + Create or update profile pick - An containing the objects data + UUID of the pick to update, or random UUID to create a new pick + Is this a top pick? (typically false) + UUID of the parcel (UUID.Zero for the current parcel) + Name of the pick + Global position of the pick landmark + UUID of the image displayed with the pick + Long description of the pick - + - Deserialize the message + Delete profile pick - An containing the data + UUID of the pick to delete - + - Serialize the object + Create or update profile Classified - An containing the objects data + UUID of the classified to update, or random UUID to create a new classified + Defines what catagory the classified is in + UUID of the image displayed with the classified + Price that the classified will cost to place for a week + Global position of the classified landmark + Name of the classified + Long description of the classified + if true, auto renew classified after expiration - + - Deserialize the message + Create or update profile Classified - An containing the data + UUID of the classified to update, or random UUID to create a new classified + Defines what catagory the classified is in + UUID of the image displayed with the classified + Price that the classified will cost to place for a week + Name of the classified + Long description of the classified + if true, auto renew classified after expiration - + - Serialize the object + Delete a classified ad - An containing the objects data + The classified ads ID - + - Deserialize the message + Fetches resource usage by agents attachmetns - An containing the data + Called when the requested information is collected - + - + Initates request to set a new display name + Previous display name + Desired new display name - + - Serialize the object + Tells the sim what UI language is used, and if it's ok to share that with scripts - An containing the objects data + Two letter language code + Share language info with scripts - + - Deserialize the message + Take an incoming ImprovedInstantMessage packet, auto-parse, and if + OnInstantMessage is defined call that with the appropriate arguments - An containing the data + The sender + The EventArgs object containing the packet data - + - Serialize the object + Take an incoming Chat packet, auto-parse, and if OnChat is defined call + that with the appropriate arguments. - An containing the objects data + The sender + The EventArgs object containing the packet data - + - Deserialize the message + Used for parsing llDialogs - An containing the data + The sender + The EventArgs object containing the packet data - + - Serialize the object + Used for parsing llRequestPermissions dialogs - An containing the objects data + The sender + The EventArgs object containing the packet data - + - Deserialize the message + Handles Script Control changes when Script with permissions releases or takes a control - An containing the data + The sender + The EventArgs object containing the packet data - + - A message sent from the viewer to the simulator which - specifies that the user has changed current URL - of the specific media on a prim face + Used for parsing llLoadURL Dialogs + The sender + The EventArgs object containing the packet data - + - New URL + Update client's Position, LookAt and region handle from incoming packet + The sender + The EventArgs object containing the packet data + This occurs when after an avatar moves into a new sim - - - Prim UUID where navigation occured - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Face index - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Serialize the object - - An containing the objects data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Deserialize the message + EQ Message fired with the result of SetDisplayName request - An containing the data - - - Base class used for the ObjectMedia message + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - + - Message used to retrive prim media data + Process TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why. + The Message Key + An IMessage object Deserialized from the recieved message event + The simulator originating the event message - + - Prim UUID + Process TeleportFinish from Event Queue and pass it onto our TeleportHandler + The message system key for this event + IMessage object containing decoded data from OSD + The simulator originating the event message - - - Requested operation, either GET or UPDATE - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Serialize object - - Serialized object as OSDMap + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Deserialize the message - - An containing the data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Message used to update prim media data + Crossed region handler for message that comes across the EventQueue. Sent to an agent + when the agent crosses a sim border into a new region. + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - - Prim UUID - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + This packet is now being sent via the EventQueue - + - Array of media entries indexed by face number + Group Chat event handler + The capability Key + IMessage object containing decoded data from OSD + + - + - Media version string + Response from request to join a group chat + + + IMessage object containing decoded data from OSD + + - + - Serialize object + Someone joined or left group chat - Serialized object as OSDMap + + + IMessage object containing decoded data from OSD + + - + - Deserialize the message + Handle a group chat Invitation - An containing the data + Caps Key + IMessage object containing decoded data from OSD + Originating Simulator - + - Message used to update prim media data + Moderate a chat session + the of the session to moderate, for group chats this will be the groups UUID + the of the avatar to moderate + Either "voice" to moderate users voice, or "text" to moderate users text session + true to moderate (silence user), false to allow avatar to speak - - - Prim UUID - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Array of media entries indexed by face number - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Requested operation, either GET or UPDATE - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Serialize object - - Serialized object as OSDMap + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Deserialize the message - An containing the data - + - Message for setting or getting per face MediaEntry + Construct a new instance of the ChatEventArgs object + Sim from which the message originates + The message sent + The audible level of the message + The type of message sent: whisper, shout, etc + The source type of the message sender + The name of the agent or object sending the message + The ID of the agent or object sending the message + The ID of the object owner, or the agent ID sending the message + The position of the agent or object sending the message - - The request or response details block + + Get the simulator sending the message - - - Serialize the object - - An containing the objects data + + Get the message sent - - - Deserialize the message - - An containing the data + + Get the audible level of the message - - Details about object resource usage + + Get the type of message sent: whisper, shout, etc - - Object UUID + + Get the source type of the message sender - - Object name + + Get the name of the agent or object sending the message - - Indicates if object is group owned + + Get the ID of the agent or object sending the message - - Locatio of the object + + Get the ID of the object owner, or the agent ID sending the message - - Object owner + + Get the position of the agent or object sending the message - - Resource usage, keys are resource names, values are resource usage for that specific resource + + Contains the data sent when a primitive opens a dialog with this agent - + - Deserializes object from OSD + Construct a new instance of the ScriptDialogEventArgs - An containing the data + The dialog message + The name of the object that sent the dialog request + The ID of the image to be displayed + The ID of the primitive sending the dialog + The first name of the senders owner + The last name of the senders owner + The communication channel the dialog was sent on + The string labels containing the options presented in this dialog + UUID of the scritped object owner - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data + + Get the dialog message - - Details about parcel resource usage + + Get the name of the object that sent the dialog request - - Parcel UUID + + Get the ID of the image to be displayed - - Parcel local ID + + Get the ID of the primitive sending the dialog - - Parcel name + + Get the first name of the senders owner - - Indicates if parcel is group owned + + Get the last name of the senders owner - - Parcel owner + + Get the communication channel the dialog was sent on, responses + should also send responses on this same channel - - Array of containing per object resource usage + + Get the string labels containing the options presented in this dialog - - - Deserializes object from OSD - - An containing the data + + UUID of the scritped object owner - + + Contains the data sent when a primitive requests debit or other permissions + requesting a YES or NO answer + + - Makes an instance based on deserialized data + Construct a new instance of the ScriptQuestionEventArgs - serialized data - Instance containg deserialized data + The simulator containing the object sending the request + The ID of the script making the request + The ID of the primitive containing the script making the request + The name of the primitive making the request + The name of the owner of the object making the request + The permissions being requested - - Resource usage base class, both agent and parcel resource - usage contains summary information + + Get the simulator containing the object sending the request - - Summary of available resources, keys are resource names, - values are resource usage for that specific resource + + Get the ID of the script making the request - - Summary resource usage, keys are resource names, - values are resource usage for that specific resource + + Get the ID of the primitive containing the script making the request - - - Serializes object - - serialized data + + Get the name of the primitive making the request - - - Deserializes object from OSD - - An containing the data + + Get the name of the owner of the object making the request - - Agent resource usage + + Get the permissions being requested - - Per attachment point object resource usage + + Contains the data sent when a primitive sends a request + to an agent to open the specified URL - + - Deserializes object from OSD + Construct a new instance of the LoadUrlEventArgs - An containing the data + The name of the object sending the request + The ID of the object sending the request + The ID of the owner of the object sending the request + True if the object is owned by a group + The message sent with the request + The URL the object sent - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data + + Get the name of the object sending the request - - - Detects which class handles deserialization of this message - - An containing the data - Object capable of decoding this message + + Get the ID of the object sending the request - - Request message for parcel resource usage + + Get the ID of the owner of the object sending the request - - UUID of the parel to request resource usage info + + True if the object is owned by a group - - - Serializes object - - serialized data + + Get the message sent with the request - + + Get the URL the object sent + + + The date received from an ImprovedInstantMessage + + - Deserializes object from OSD + Construct a new instance of the InstantMessageEventArgs object - An containing the data + the InstantMessage object + the simulator where the InstantMessage origniated - - Response message for parcel resource usage + + Get the InstantMessage object - - URL where parcel resource usage details can be retrieved + + Get the simulator where the InstantMessage origniated - - URL where parcel resource usage summary can be retrieved + + Contains the currency balance - + - Serializes object + Construct a new BalanceEventArgs object - serialized data + The currenct balance - + - Deserializes object from OSD + Get the currenct balance - An containing the data - + + Contains the transaction summary when an item is purchased, + money is given, or land is purchased + + - Detects which class handles deserialization of this message + Construct a new instance of the MoneyBalanceReplyEventArgs object - An containing the data - Object capable of decoding this message + The ID of the transaction + True of the transaction was successful + The current currency balance + The meters credited + The meters comitted + A brief description of the transaction - - Parcel resource usage + + Get the ID of the transaction - - Array of containing per percal resource usage + + True of the transaction was successful - - - Deserializes object from OSD - - An containing the data + + Get the remaining currency balance - - - Type of gesture step - + + Get the meters credited - - - Base class for gesture steps - + + Get the meters comitted - - - Retururns what kind of gesture step this is - + + Get the description of the transaction - - - Describes animation step of a gesture - + + Detailed transaction information - - - If true, this step represents start of animation, otherwise animation stop - + + Data sent from the simulator containing information about your agent and active group information - + - Animation asset + Construct a new instance of the AgentDataReplyEventArgs object + The agents first name + The agents last name + The agents active group ID + The group title of the agents active group + The combined group powers the agent has in the active group + The name of the group the agent has currently active - - - Animation inventory name - + + Get the agents first name - - - Returns what kind of gesture step this is - + + Get the agents last name - - - Describes sound step of a gesture - + + Get the active group ID of your agent - - - Sound asset - + + Get the active groups title of your agent - - - Sound inventory name - + + Get the combined group powers of your agent - - - Returns what kind of gesture step this is - + + Get the active group name of your agent - - - Describes sound step of a gesture - + + Data sent by the simulator to indicate the active/changed animations + applied to your agent - + - Text to output in chat + Construct a new instance of the AnimationsChangedEventArgs class + The dictionary that contains the changed animations - - - Returns what kind of gesture step this is - + + Get the dictionary that contains the changed animations - + - Describes sound step of a gesture + Data sent from a simulator indicating a collision with your agent - + - If true in this step we wait for all animations to finish + Construct a new instance of the MeanCollisionEventArgs class + The type of collision that occurred + The ID of the agent or object that perpetrated the agression + The ID of the Victim + The strength of the collision + The Time the collision occurred - - - If true gesture player should wait for the specified amount of time - + + Get the Type of collision - - - Time in seconds to wait if WaitForAnimation is false - + + Get the ID of the agent or object that collided with your agent - - - Returns what kind of gesture step this is - + + Get the ID of the agent that was attacked - - - Describes the final step of a gesture - + + A value indicating the strength of the collision - - - Returns what kind of gesture step this is - + + Get the time the collision occurred - - - Represents a sequence of animations, sounds, and chat actions - + + Data sent to your agent when it crosses region boundaries - + - Base class for all Asset types + Construct a new instance of the RegionCrossedEventArgs class + The simulator your agent just left + The simulator your agent is now in - - A byte array containing the raw asset data - - - True if the asset it only stored on the server temporarily + + Get the simulator your agent just left - - A unique ID + + Get the simulator your agent is now in - - - Construct a new Asset object - + + Data sent from the simulator when your agent joins a group chat session - + - Construct a new Asset object + Construct a new instance of the GroupChatJoinedEventArgs class - A unique specific to this asset - A byte array containing the raw asset data + The ID of the session + The name of the session + A temporary session id used for establishing new sessions + True of your agent successfully joined the session - - - Regenerates the AssetData byte array from the properties - of the derived class. - + + Get the ID of the group chat session - - - Decodes the AssetData, placing it in appropriate properties of the derived - class. - - True if the asset decoding succeeded, otherwise false + + Get the name of the session - - The assets unique ID + + Get the temporary session ID used for establishing new sessions - - - The "type" of asset, Notecard, Animation, etc - + + True if your agent successfully joined the session - - - Keyboard key that triggers the gestyre - + + Data sent by the simulator containing urgent messages - + - Modifier to the trigger key + Construct a new instance of the AlertMessageEventArgs class + The alert message - - - String that triggers playing of the gesture sequence - + + Get the alert message - - - Text that replaces trigger in chat once gesture is triggered - + + Data sent by a script requesting to take or release specified controls to your agent - + - Sequence of gesture steps + Construct a new instance of the ScriptControlEventArgs class + The controls the script is attempting to take or release to the agent + True if the script is passing controls back to the agent + True if the script is requesting controls be released to the script - - - Constructs guesture asset - + + Get the controls the script is attempting to take or release to the agent - - - Constructs guesture asset - - A unique specific to this asset - A byte array containing the raw asset data + + True if the script is passing controls back to the agent - - - Encodes gesture asset suitable for uplaod - + + True if the script is requesting controls be released to the script - + - Decodes gesture assset into play sequence + Data sent from the simulator to an agent to indicate its view limits - true if the asset data was decoded successfully - + - Returns asset type + Construct a new instance of the CameraConstraintEventArgs class + The collision plane - - - Archives assets - + + Get the collision plane - + - Archive assets + Data containing script sensor requests which allow an agent to know the specific details + of a primitive sending script sensor requests - + - Archive the assets given to this archiver to the given archive. + Construct a new instance of the ScriptSensorReplyEventArgs - + The ID of the primitive sending the sensor + The ID of the group associated with the primitive + The name of the primitive sending the sensor + The ID of the primitive sending the sensor + The ID of the owner of the primitive sending the sensor + The position of the primitive sending the sensor + The range the primitive specified to scan + The rotation of the primitive sending the sensor + The type of sensor the primitive sent + The velocity of the primitive sending the sensor - - - Write an assets metadata file to the given archive - - + + Get the ID of the primitive sending the sensor - - - Write asset data files to the given archive - - + + Get the ID of the group associated with the primitive - - - Constants for the archiving module - + + Get the name of the primitive sending the sensor - - - The location of the archive control file - + + Get the ID of the primitive sending the sensor - - - Path for the assets held in an archive - + + Get the ID of the owner of the primitive sending the sensor - - - Path for the prims file - + + Get the position of the primitive sending the sensor - - - Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. - + + Get the range the primitive specified to scan - - - Path for region settings. - + + Get the rotation of the primitive sending the sensor - - - The character the separates the uuid from extension information in an archived asset filename - + + Get the type of sensor the primitive sent - - - Extensions used for asset types in the archive - + + Get the velocity of the primitive sending the sensor - - - Capabilities is the name of the bi-directional HTTP REST protocol - used to communicate non real-time transactions such as teleporting or - group messaging - + + Contains the response data returned from the simulator in response to a - - Reference to the simulator this system is connected to + + Construct a new instance of the AvatarSitResponseEventArgs object - - - Default constructor - - - + + Get the ID of the primitive the agent will be sitting on - - - Request the URI of a named capability - - Name of the capability to request - The URI of the requested capability, or String.Empty if - the capability does not exist + + True if the simulator Autopilot functions were involved - - - Process any incoming events, check to see if we have a message created for the event, - - - + + Get the camera offset of the agent when seated - - Capabilities URI this system was initialized with + + Get the camera eye offset of the agent when seated - - Whether the capabilities event queue is connected and - listening for incoming events + + True of the agent will be in mouselook mode when seated - - - Triggered when an event is received via the EventQueueGet - capability - - Event name - Decoded event data - The simulator that generated the event + + Get the position of the agent when seated - - - Throttles the network traffic for various different traffic types. - Access this class through GridClient.Throttle - + + Get the rotation of the agent when seated - - - Default constructor, uses a default high total of 1500 KBps (1536000) - + + Data sent when an agent joins a chat session your agent is currently participating in - + - Constructor that decodes an existing AgentThrottle packet in to - individual values + Construct a new instance of the ChatSessionMemberAddedEventArgs object - Reference to the throttle data in an AgentThrottle - packet - Offset position to start reading at in the - throttle data - This is generally not needed in clients as the server will - never send a throttle packet to the client - - + The ID of the chat session + The ID of the agent joining + + + Get the ID of the chat session + + + Get the ID of the agent that joined + + + Data sent when an agent exits a chat session your agent is currently participating in + + - Send an AgentThrottle packet to the current server using the - current values + Construct a new instance of the ChatSessionMemberLeftEventArgs object + The ID of the chat session + The ID of the Agent that left - + + Get the ID of the chat session + + + Get the ID of the agent that left + + + Event arguments with the result of setting display name operation + + + Default constructor + + + Status code, 200 indicates settign display name was successful + + + Textual description of the status + + + Details of the newly set display name + + - Send an AgentThrottle packet to the specified server using the - current values + Throttles the network traffic for various different traffic types. + Access this class through GridClient.Throttle - + - Convert the current throttle values to a byte array that can be put - in an AgentThrottle packet + Default constructor, uses a default high total of 1500 KBps (1536000) - Byte array containing all the throttle values + + + + Constructor that decodes an existing AgentThrottle packet in to + individual values + + Reference to the throttle data in an AgentThrottle + packet + Offset position to start reading at in the + throttle data + This is generally not needed in clients as the server will + never send a throttle packet to the client Maximum bits per second for resending unacknowledged packets @@ -3341,13585 +3252,14689 @@ Maximum bits per second the entire connection, divided up between invidiual streams using default multipliers - + - Particle system specific enumerators, flags and methods. + Send an AgentThrottle packet to the current server using the + current values - - + + + Send an AgentThrottle packet to the specified server using the + current values + - - + + + Convert the current throttle values to a byte array that can be put + in an AgentThrottle packet + + Byte array containing all the throttle values - - + + + Static pre-defined animations available to all agents + - - + + Agent with afraid expression on face - - + + Agent aiming a bazooka (right handed) - - + + Agent aiming a bow (left handed) - - Foliage type for this primitive. Only applicable if this - primitive is foliage + + Agent aiming a hand gun (right handed) - - Unknown + + Agent aiming a rifle (right handed) - - + + Agent with angry expression on face - - + + Agent hunched over (away) - - + + Agent doing a backflip - - + + Agent laughing while holding belly - - + + Agent blowing a kiss - - + + Agent with bored expression on face - - + + Agent bowing to audience - - + + Agent brushing himself/herself off - - + + Agent in busy mode - - + + Agent clapping hands - - + + Agent doing a curtsey bow - - + + Agent crouching - - Identifies the owner if audio or a particle system is - active + + Agent crouching while walking - - + + Agent crying - - + + Agent unanimated with arms out (e.g. setting appearance) - - + + Agent re-animated after set appearance finished - - + + Agent dancing - - + + Agent dancing - - + + Agent dancing - - + + Agent dancing - - + + Agent dancing - - + + Agent dancing - - + + Agent dancing - - + + Agent dancing - - + + Agent on ground unanimated - - - Default constructor - + + Agent boozing it up - - - Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters in to signed eight bit values - - Floating point parameter to pack - Signed eight bit value containing the packed parameter + + Agent with embarassed expression on face - - - Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters from signed eight bit integers to floating point values - - Signed eight bit value to unpack - Unpacked floating point value + + Agent with afraid expression on face - - + + Agent with angry expression on face - - - Current version of the media data for the prim - + + Agent with bored expression on face - - - Array of media entries indexed by face number - + + Agent crying - - + + Agent showing disdain (dislike) for something - - + + Agent with embarassed expression on face - - Uses basic heuristics to estimate the primitive shape + + Agent with frowning expression on face - - - Parameters used to construct a visual representation of a primitive - + + Agent with kissy face - - + + Agent expressing laughgter - - + + Agent with open mouth - - + + Agent with repulsed expression on face - - + + Agent expressing sadness - - + + Agent shrugging shoulders - - + + Agent with a smile - - + + Agent expressing surprise - - + + Agent sticking tongue out - - + + Agent with big toothy smile - - + + Agent winking - - + + Agent expressing worry - - + + Agent falling down - - + + Agent walking (feminine version) - - + + Agent wagging finger (disapproval) - - + + I'm not sure I want to know - - + + Agent in superman position - - + + Agent in superman position - - + + Agent greeting another - - + + Agent holding bazooka (right handed) - - + + Agent holding a bow (left handed) - - + + Agent holding a handgun (right handed) - - Attachment point to an avatar + + Agent holding a rifle (right handed) - - + + Agent throwing an object (right handed) - - + + Agent in static hover - - + + Agent hovering downward - - + + Agent hovering upward - - - Information on the flexible properties of a primitive - + + Agent being impatient - - + + Agent jumping - - + + Agent jumping with fervor - - + + Agent point to lips then rear end - - + + Agent landing from jump, finished flight, etc - - + + Agent laughing - - + + Agent landing from jump, finished flight, etc - - - Default constructor - + + Agent sitting on a motorcycle - + - - - - - - - - + + Agent moving head side to side - - - - - + + Agent moving head side to side with unhappy expression - + + Agent taunting another + + - Information on the light properties of a primitive - - + + Agent giving peace sign - - + + Agent pointing at self - - + + Agent pointing at another - - + + Agent preparing for jump (bending knees) - - + + Agent punching with left hand - - - Default constructor - + + Agent punching with right hand - - - - - - + + Agent acting repulsed - - - - - + + Agent trying to be Chuck Norris - - - - - + + Rocks, Paper, Scissors 1, 2, 3 - - - Information on the sculpt properties of a sculpted primitive - + + Agent with hand flat over other hand - - - Default constructor - + + Agent with fist over other hand - - - - - - + + Agent with two fingers spread over other hand - - - Render inside out (inverts the normals). - + + Agent running - - - Render an X axis mirror of the sculpty. - + + Agent appearing sad - - - Extended properties to describe an object - + + Agent saluting - - + + Agent shooting bow (left handed) - - + + Agent cupping mouth as if shouting - - + + Agent shrugging shoulders - - + + Agent in sit position - - + + Agent in sit position (feminine) - - + + Agent in sit position (generic) - - + + Agent sitting on ground - - + + Agent sitting on ground - - + + + - - + + Agent sleeping on side - - + + Agent smoking - - + + Agent inhaling smoke - - + + + - - + + Agent taking a picture - - + + Agent standing - - + + Agent standing up - - + + Agent standing - - + + Agent standing - - + + Agent standing - - + + Agent standing - - + + Agent stretching - - + + Agent in stride (fast walk) - - + + Agent surfing - - - Default constructor - + + Agent acting surprised - - - Set the properties that are set in an ObjectPropertiesFamily packet - - that has - been partially filled by an ObjectPropertiesFamily packet + + Agent striking with a sword - - - Complete structure for the particle system - + + Agent talking (lips moving) - - Particle Flags - There appears to be more data packed in to this area - for many particle systems. It doesn't appear to be flag values - and serialization breaks unless there is a flag for every - possible bit so it is left as an unsigned integer - - - pattern of particles - - - A representing the maximimum age (in seconds) particle will be displayed - Maximum value is 30 seconds - - - A representing the number of seconds, - from when the particle source comes into view, - or the particle system's creation, that the object will emits particles; - after this time period no more particles are emitted - - - A in radians that specifies where particles will not be created - - - A in radians that specifies where particles will be created - - - A representing the number of seconds between burts. + + Agent throwing a tantrum - - A representing the number of meters - around the center of the source where particles will be created. + + Agent throwing an object (right handed) - - A representing in seconds, the minimum speed between bursts of new particles - being emitted + + Agent trying on a shirt - - A representing in seconds the maximum speed of new particles being emitted. + + Agent turning to the left - - A representing the maximum number of particles emitted per burst + + Agent turning to the right - - A which represents the velocity (speed) from the source which particles are emitted + + Agent typing - - A which represents the Acceleration from the source which particles are emitted + + Agent walking - - The Key of the texture displayed on the particle + + Agent whispering - - The Key of the specified target object or avatar particles will follow + + Agent whispering with fingers in mouth - - Flags of particle from + + Agent winking - - Max Age particle system will emit particles for + + Agent winking - - The the particle has at the beginning of its lifecycle + + Agent worried - - The the particle has at the ending of its lifecycle + + Agent nodding yes - - A that represents the starting X size of the particle - Minimum value is 0, maximum value is 4 + + Agent nodding yes with happy face - - A that represents the starting Y size of the particle - Minimum value is 0, maximum value is 4 + + Agent floating with legs and arms crossed - - A that represents the ending X size of the particle - Minimum value is 0, maximum value is 4 + + + A dictionary containing all pre-defined animations + + A dictionary containing the pre-defined animations, + where the key is the animations ID, and the value is a string + containing a name to identify the purpose of the animation - - A that represents the ending Y size of the particle - Minimum value is 0, maximum value is 4 + + + Index of TextureEntry slots for avatar appearances + - + - Decodes a byte[] array into a ParticleSystem Object + Bake layers for avatar appearance - ParticleSystem object - Start position for BitPacker - + - Generate byte[] array from particle data + Default constructor - Byte array + A reference to our agent - + - Particle source pattern + Contains information about a wearable inventory item - - None + + Inventory ItemID of the wearable - - Drop particles from source position with no force + + AssetID of the wearable asset - - "Explode" particles in all directions + + WearableType of the wearable - - Particles shoot across a 2D area + + AssetType of the wearable - - Particles shoot across a 3D Cone + + Asset data for the wearable - - Inverse of AngleCone (shoot particles everywhere except the 3D cone defined + + + Data collected from visual params for each wearable + needed for the calculation of the color + - + - Particle Data Flags + Holds a texture assetID and the data needed to bake this layer into + an outfit texture. Used to keep track of currently worn textures + and baking data - - None + + A texture AssetID - - Interpolate color and alpha from start to end + + Asset data for the texture - - Interpolate scale from start to end + + Collection of alpha masks that needs applying - - Bounce particles off particle sources Z height + + Tint that should be applied to the texture - - velocity of particles is dampened toward the simulators wind + + Where on avatar does this texture belong - - Particles follow the source + + Maximum number of concurrent downloads for wearable assets and textures - - Particles point towards the direction of source's velocity + + Maximum number of concurrent uploads for baked textures - - Target of the particles + + Timeout for fetching inventory listings - - Particles are sent in a straight line + + Timeout for fetching a single wearable, or receiving a single packet response - - Particles emit a glow + + Timeout for fetching a single texture - - used for point/grab/touch + + Timeout for uploading a single baked texture - - - Particle Flags Enum - + + Number of times to retry bake upload - - None + + When changing outfit, kick off rebake after + 20 seconds has passed since the last change - - Acceleration and velocity for particles are - relative to the object rotation + + Total number of wearables for each avatar - - Particles use new 'correct' angle parameters + + Total number of baked textures on each avatar - - - Texture animation mode - + + Total number of wearables per bake layer - - Disable texture animation + + Mapping between BakeType and AvatarTextureIndex - - Enable texture animation + + Map of what wearables are included in each bake - - Loop when animating textures + + Magic values to finalize the cache check hashes for each + bake - - Animate in reverse direction + + Default avatar texture, used to detect when a custom + texture is not set for a face - - Animate forward then reverse + + The event subscribers. null if no subcribers - - Slide texture smoothly instead of frame-stepping + + Thread sync lock object - - Rotate texture instead of using frames + + The event subscribers. null if no subcribers - - Scale texture instead of using frames + + Thread sync lock object - - - A single textured face. Don't instantiate this class yourself, use the - methods in TextureEntry - + + The event subscribers. null if no subcribers - - - Contains the definition for individual faces - - + + Thread sync lock object - - - - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - - - - - - - + + Visual parameters last sent to the sim - - + + Textures about this client sent to the sim - - + + A cache of wearables currently being worn - - + + A cache of textures currently being worn - - + + Incrementing serial number for AgentCachedTexture packets - - + + Incrementing serial number for AgentSetAppearance packets - - + + Indicates whether or not the appearance thread is currently + running, to prevent multiple appearance threads from running + simultaneously - - In the future this will specify whether a webpage is - attached to this face + + Reference to our agent - - + + + Timer used for delaying rebake on changing outfit + - + - Represents all of the texturable faces for an object + Main appearance thread - Grid objects have infinite faces, with each face - using the properties of the default face unless set otherwise. So if - you have a TextureEntry with a default texture uuid of X, and face 18 - has a texture UUID of Y, every face would be textured with X except for - face 18 that uses Y. In practice however, primitives utilize a maximum - of nine faces - - + + Triggered when an AgentWearablesUpdate packet is received, + telling us what our avatar is currently wearing + request. - - + + Raised when an AgentCachedTextureResponse packet is + received, giving a list of cached bakes that were found on the + simulator + request. - + - Constructor that takes a default texture UUID + Raised when appearance data is sent to the simulator, also indicates + the main appearance thread is finished. - Texture UUID to use as the default texture - - + request. + - Constructor that takes a TextureEntryFace for the - default face + Triggered when the simulator requests the agent rebake its appearance. - Face to use as the default face + - + - Constructor that creates the TextureEntry class from a byte array + Returns true if AppearanceManager is busy and trying to set or change appearance will fail - Byte array containing the TextureEntry field - Starting position of the TextureEntry field in - the byte array - Length of the TextureEntry field, in bytes - + + Raises the AgentWearablesReply event + An AgentWearablesReplyEventArgs object containing the + data returned from the data server + + + Raises the CachedBakesReply event + An AgentCachedBakesReplyEventArgs object containing the + data returned from the data server AgentCachedTextureResponse + + + Raises the AppearanceSet event + An AppearanceSetEventArgs object indicating if the operatin was successfull + + + Raises the RebakeAvatarRequested event + An RebakeAvatarTexturesEventArgs object containing the + data returned from the data server + + - This will either create a new face if a custom face for the given - index is not defined, or return the custom face for that index if - it already exists + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread - The index number of the face to create or - retrieve - A TextureEntryFace containing all the properties for that - face - + - + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread - - + Unused parameter - + - + Starts the appearance setting thread - - + - + Starts the appearance setting thread - + True to force rebaking, otherwise false - + - + Ask the server what textures our agent is currently wearing - - + - Controls the texture animation of a particular prim + Build hashes out of the texture assetIDs for each baking layer to + ask the simulator whether it has cached copies of each baked texture - - - - - - - - - - - - - - - - - - - - - - + - + Returns the AssetID of the asset that is currently being worn in a + given WearableType slot - - + WearableType slot to get the AssetID for + The UUID of the asset being worn in the given slot, or + UUID.Zero if no wearable is attached to the given slot or wearables + have not been downloaded yet - + - + Add a wearable to the current outfit and set appearance - + Wearable to be added to the outfit - + - A Wrapper around openjpeg to encode and decode images to and from byte arrays + Add a list of wearables to the current outfit and set appearance + List of wearable inventory items to + be added to the outfit - - TGA Header size - - - OpenJPEG is not threadsafe, so this object is used to lock - during calls into unmanaged code - - + - Encode a object into a byte array + Remove a wearable from the current outfit and set appearance - The object to encode - true to enable lossless conversion, only useful for small images ie: sculptmaps - A byte array containing the encoded Image object + Wearable to be removed from the outfit - + - Encode a object into a byte array + Removes a list of wearables from the current outfit and set appearance - The object to encode - a byte array of the encoded image + List of wearable inventory items to + be removed from the outfit - + - Decode JPEG2000 data to an and - + Replace the current outfit with a list of wearables and set appearance - JPEG2000 encoded data - ManagedImage object to decode to - Image object to decode to - True if the decode succeeds, otherwise false + List of wearable inventory items that + define a new outfit - + - + Replace the current outfit with a list of wearables and set appearance - - - + List of wearable inventory items that + define a new outfit + Check if we have all body parts, set this to false only + if you know what you're doing - + - + Checks if an inventory item is currently being worn - - - - + The inventory item to check against the agent + wearables + The WearableType slot that the item is being worn in, + or WearbleType.Invalid if it is not currently being worn - + - Encode a object into a byte array + Returns a copy of the agents currently worn wearables - The source object to encode - true to enable lossless decoding - A byte array containing the source Bitmap object + A copy of the agents currently worn wearables + Avoid calling this function multiple times as it will make + a copy of all of the wearable data each time - + - Defines the beginning and ending file positions of a layer in an - LRCP-progression JPEG2000 file + Calls either or + depending on the value of + replaceItems + List of wearable inventory items to add + to the outfit or become a new outfit + True to replace existing items with the + new list of items, false to add these items to the existing outfit - + - This structure is used to marshal both encoded and decoded images. - MUST MATCH THE STRUCT IN dotnet.h! + Adds a list of attachments to our agent + A List containing the attachments to add + If true, tells simulator to remove existing attachment + first - + - Information about a single packet in a JPEG2000 stream + Attach an item to our agent at a specific attach point + A to attach + the on the avatar + to attach the item to - - Packet start position - - - Packet header end position - - - Packet end position + + + Attach an item to our agent specifying attachment details + + The of the item to attach + The attachments owner + The name of the attachment + The description of the attahment + The to apply when attached + The of the attachment + The on the agent + to attach the item to - + - Represents an that represents an avatars body ie: Hair, Etc. + Detach an item from our agent using an object + An object - + - Represents a Wearable Asset, Clothing, Hair, Skin, Etc + Detach an item from our agent + The inventory itemID of the item to detach - - A string containing the name of the asset + + + Inform the sim which wearables are part of our current outfit + - - A string containing a short description of the asset + + + Replaces the Wearables collection with a list of new wearable items + + Wearable items to replace the Wearables collection with - - The Assets WearableType - - - The For-Sale status of the object - - - An Integer representing the purchase price of the asset - - - The of the assets creator - - - The of the assets current owner - - - The of the assets prior owner - - - The of the Group this asset is set to - - - True if the asset is owned by a - - - The Permissions mask of the asset - - - A Dictionary containing Key/Value pairs of the objects parameters - - - A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures - - - Initializes a new instance of an AssetWearable object - - - Initializes a new instance of an AssetWearable object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - + - Decode an assets byte encoded data to a string + Calculates base color/tint for a specific wearable + based on its params - true if the asset data was decoded successfully + All the color info gathered from wearable's VisualParams + passed as list of ColorParamInfo tuples + Base color/tint for the wearable - + - Encode the assets string represantion into a format consumable by the asset server + Blocking method to populate the Wearables dictionary + True on success, otherwise false - - Initializes a new instance of an AssetBodyPart object - - - Initializes a new instance of an AssetBodyPart object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - Override the base classes AssetType - - + - + Blocking method to populate the Textures array with cached bakes + True on success, otherwise false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + Populates textures and visual params from a decoded asset + Wearable to decode - - + + + Blocking method to download and parse currently worn wearable assets + + True on success, otherwise false - - + + + Get a list of all of the textures that need to be downloaded for a + single bake layer + + Bake layer to get texture AssetIDs for + A list of texture AssetIDs to download - - + + + Helper method to lookup the TextureID for a single layer and add it + to a list if it is not already present + + + + + - - + + + Blocking method to download all of the textures needed for baking + the given bake layers + + A list of layers that need baking + No return value is given because the baking will happen + whether or not all textures are successfully downloaded - + - + Blocking method to create and upload baked textures for all of the + missing bakes - - + True on success, otherwise false - + - + Blocking method to create and upload a baked texture for a single + bake layer + Layer to bake + True on success, otherwise false - - + + + Blocking method to upload a baked texture + + Five channel JPEG2000 texture data to upload + UUID of the newly created asset on success, otherwise UUID.Zero - - + + + Creates a dictionary of visual param values from the downloaded wearables + + A dictionary of visual param indices mapping to visual param + values for our agent that can be fed to the Baker class - - + + + Create an AgentSetAppearance packet from Wearables data and the + Textures array and send it + - - + + + Converts a WearableType to a bodypart or clothing WearableType + + A WearableType + AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown - + - + Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex - - + A BakeType + The AvatarTextureIndex slot that holds the given BakeType - + - + Gives the layer number that is used for morph mask + >A BakeType + Which layer number as defined in BakeTypeToTextures is used for morph mask - - + + + Converts a BakeType to a list of the texture slots that make up that bake + + A BakeType + A list of texture slots that are inputs for the given bake - - + + Contains the Event data returned from the data server from an AgentWearablesRequest - - + + Construct a new instance of the AgentWearablesReplyEventArgs class - - + + Contains the Event data returned from the data server from an AgentCachedTextureResponse - - + + Construct a new instance of the AgentCachedBakesReplyEventArgs class - - + + Contains the Event data returned from an AppearanceSetRequest - + - - - - - + Triggered when appearance data is sent to the sim and + the main appearance thread is done. + Indicates whether appearance setting was successful - - + + Indicates whether appearance setting was successful - - + + Contains the Event data returned from the data server from an RebakeAvatarTextures - - + + + Triggered when the simulator sends a request for this agent to rebake + its appearance + + The ID of the Texture Layer to bake - - + + The ID of the Texture Layer to bake - + - + Class that handles the local asset cache - - - + - + Default constructor - - + A reference to the GridClient object - + - + Helper class for sorting files by their last accessed time - - - + - + Allows setting weather to periodicale prune the cache if it grows too big + Default is enabled, when caching is enabled - - - - + - + How long (in ms) between cache checks (default is 5 min.) - + - + Disposes cleanup timer - - - + - + Only create timer when needed - - - + - + Return bytes read from the local asset cache, null if it does not exist - + UUID of the asset we want to get + Raw bytes of the asset, or null on failure - + - Permission request flags, asked when a script wants to control an Avatar + Returns ImageDownload object of the + image from the local image cache, null if it does not exist + UUID of the image we want to get + ImageDownload object containing the image, or null on failure - - Placeholder for empty values, shouldn't ever see this + + + Constructs a file name of the cached asset + + UUID of the asset + String with the file name of the cahced asset - - Script wants ability to take money from you + + + Constructs a file name of the static cached asset + + UUID of the asset + String with the file name of the static cached asset - - Script wants to take camera controls for you + + + Saves an asset to the local cache + + UUID of the asset + Raw bytes the asset consists of + Weather the operation was successfull - - Script wants to remap avatars controls + + + Get the file name of the asset stored with gived UUID + + UUID of the asset + Null if we don't have that UUID cached on disk, file name if found in the cache folder - - Script wants to trigger avatar animations - This function is not implemented on the grid + + + Checks if the asset exists in the local cache + + UUID of the asset + True is the asset is stored in the cache, otherwise false - - Script wants to attach or detach the prim or primset to your avatar + + + Wipes out entire cache + - - Script wants permission to release ownership - This function is not implemented on the grid - The concept of "public" objects does not exist anymore. + + + Brings cache size to the 90% of the max size + - - Script wants ability to link/delink with other prims + + + Asynchronously brings cache size to the 90% of the max size + - - Script wants permission to change joints - This function is not implemented on the grid + + + Adds up file sizes passes in a FileInfo array + - - Script wants permissions to change permissions - This function is not implemented on the grid + + + Checks whether caching is enabled + - - Script wants to track avatars camera position and rotation + + + Periodically prune the cache + - - Script wants to control your camera + + + Nicely formats file sizes + + Byte size we want to output + String with humanly readable file size - + - Special commands used in Instant Messages - - Indicates a regular IM from another agent + + OK - - Simple notification box with an OK button + + Transfer completed - - You've been invited to join a group. + + + - - Inventory offer + + + - - Accepted inventory offer + + Unknown error occurred - - Declined inventory offer + + Equivalent to a 404 error - - Group vote + + Client does not have permission for that resource - - An object is offering its inventory + + Unknown status - - Accept an inventory offer from an object + + + - - Decline an inventory offer from an object + + + - + Unknown - - Start a session, or add users to a session + + Virtually all asset transfers use this channel - - Start a session, but don't prune offline users + + + - - Start a session with your group + + + - - Start a session without a calling card (finder or objects) + + Asset from the asset server - - Send a message to a session + + Inventory item - - Leave a session + + Estate asset, such as an estate covenant - - Indicates that the IM is from an object + + + - - Sent an IM to a busy user, this is the auto response + + + - - Shows the message in the console and chat history + + + - - Send a teleport lure + + + - - Response sent to the agent which inititiated a teleport invitation + + + - - Response sent to the agent which inititiated a teleport invitation + + + - - Only useful if you have Linden permissions + + + - - A placeholder type for future expansion, currently not - used + + + Image file format + - - IM to tell the user to go to an URL + + + - - IM for help + + Number of milliseconds passed since the last transfer + packet was received - - IM sent automatically on call for help, sends a lure - to each Helper reached + + + - - Like an IM but won't go to email + + + - - IM from a group officer to all group members + + + - - Unknown + + + - - Unknown + + + - - Accept a group invitation + + + + + + + + + + + - - Decline a group invitation - - - Unknown - - - An avatar is offering you friendship - - - An avatar has accepted your friendship offer - - - An avatar has declined your friendship offer - - - Indicates that a user has started typing - - - Indicates that a user has stopped typing - - + - Flag in Instant Messages, whether the IM should be delivered to - offline avatars as well - - Only deliver to online avatars - - - If the avatar is offline the message will be held until - they login next, and possibly forwarded to their e-mail account - - + - Conversion type to denote Chat Packet types in an easier-to-understand format + Default constructor + A reference to the GridClient object - - Whisper (5m radius) - - - Normal chat (10/20m radius), what the official viewer typically sends - - - Shouting! (100m radius) - - - Event message when an Avatar has begun to type - - - Event message when an Avatar has stopped typing - - - Send the message to the debug channel - - - Event message when an object uses llOwnerSay - - - Special value to support llRegionSay, never sent to the client - - + - Identifies the source of a chat message + Callback used for various asset download requests + Transfer information + Downloaded asset, null on fail - - Chat from the grid or simulator - - - Chat from another avatar - - - Chat from an object - - + - + Callback used upon competition of baked texture upload + Asset UUID of the newly uploaded baked texture - - - - - - - - - - + - Effect type used in ViewerEffect packets + A callback that fires upon the completition of the RequestMesh call + Was the download successfull + Resulting mesh or null on problems - - - - - - - - - - - - - - - - - + + Number of milliseconds to wait for a transfer header packet if out of order data was received - - + + The event subscribers. null if no subcribers - - Project a beam from a source to a destination, such as - the one used when editing an object + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - Create a swirl of particles around an object + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - Cause an avatar to look at an object + + The event subscribers. null if no subcribers - - Cause an avatar to point at an object + + Thread sync lock object - - - The action an avatar is doing when looking at something, used in - ViewerEffect packets for the LookAt effect - + + Texture download cache - - + + Raised when the simulator responds sends - - + + Raised during upload completes - - + + Raised during upload with progres update - - + + Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files - - + + Fired when a texture is in the process of being downloaded by the TexturePipeline class - - + + Raises the XferReceived event + A XferReceivedEventArgs object containing the + data returned from the simulator - - Deprecated + + Raises the AssetUploaded event + A AssetUploadedEventArgs object containing the + data returned from the simulator - - + + Raises the UploadProgress event + A UploadProgressEventArgs object containing the + data returned from the simulator - - + + Raises the InitiateDownload event + A InitiateDownloadEventArgs object containing the + data returned from the simulator - - + + Raises the ImageReceiveProgress event + A ImageReceiveProgressEventArgs object containing the + data returned from the simulator - - + + + Request an asset download + + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + The callback to fire when the simulator responds with the asset data - + - The action an avatar is doing when pointing at something, used in - ViewerEffect packets for the PointAt effect + Request an asset download + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + The callback to fire when the simulator responds with the asset data - - + + + Request an asset download + + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + UUID of the transaction + The callback to fire when the simulator responds with the asset data - - + + + Request an asset download through the almost deprecated Xfer system + + Filename of the asset to request + Whether or not to delete the asset + off the server after it is retrieved + Use large transfer packets or not + UUID of the file to request, if filename is + left empty + Asset type of vFileID, or + AssetType.Unknown if filename is not empty + Sets the FilePath in the request to Cache + (4) if true, otherwise Unknown (0) is used + + - - + + + + Use UUID.Zero if you do not have the + asset ID but have all the necessary permissions + The item ID of this asset in the inventory + Use UUID.Zero if you are not requesting an + asset from an object inventory + The owner of this asset + Asset type + Whether to prioritize this asset download or not + + - - + + + Used to force asset data into the PendingUpload property, ie: for raw terrain uploads + + An AssetUpload object containing the data to upload to the simulator - + - Money transaction types + Request an asset be uploaded to the simulator + The Object containing the asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - - + + + Request an asset be uploaded to the simulator + + The of the asset being uploaded + A byte array containing the encoded asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - - + + + Request an asset be uploaded to the simulator + + + + Asset type to upload this data as + A byte array containing the encoded asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - - + + + Initiate an asset upload + + The ID this asset will have if the + upload succeeds + Asset type to upload this data as + Raw asset data to upload + Whether to store this asset on the local + simulator or the grid-wide asset server + The tranaction id for the upload + The transaction ID of this transfer - - + + + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress + transfer. + A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority + indicating an off-by-one error. + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request + + Request an image and fire a callback when the request is complete + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); + private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); + } + } + + Request an image and use an inline anonymous method to handle the downloaded texture data + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); + } + } + ); + + Request a texture, decode the texture to a bitmap image and apply it to a imagebox + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); + private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + ManagedImage imgData; + Image bitmap; + if (state == TextureRequestState.Finished) + { + OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); + picInsignia.Image = bitmap; + } + } + } + - - + + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data - - + + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data - - + + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request - - + + + Cancel a texture request + + The texture assets - - + + + Requests download of a mesh asset + + UUID of the mesh asset + Callback when the request completes - - + + + Lets TexturePipeline class fire the progress event + + The texture ID currently being downloaded + the number of bytes transferred + the total number of bytes expected - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Xfer data - - + + Upload data - - + + Filename used on the simulator - - + + Filename used by the client - - + + UUID of the image that is in progress - - + + Number of bytes received so far - - + + Image size in bytes - - + + + Avatar profile flags + - - + + + Represents an avatar (other than your own) + - - + + + Default constructor + - - + + + Positive and negative ratings + - - + + Positive ratings for Behavior - - + + Negative ratings for Behavior - - + + Positive ratings for Appearance - - + + Negative ratings for Appearance - - + + Positive ratings for Building - - + + Negative ratings for Building - - + + Positive ratings given by this avatar - - + + Negative ratings given by this avatar - - + + + Avatar properties including about text, profile URL, image IDs and + publishing settings + - - + + First Life about text - - + + First Life image ID - - + + + - - + + + - - + + + - - + + + - - + + Profile image ID - - + + Flags of the profile - - + + Web URL for this profile - - + + Should this profile be published on the web - - + + Avatar Online Status - - + + Is this a mature profile - + - - - - - - + + + - - + + + Avatar interests including spoken languages, skills, and "want to" + choices + - - + + Languages profile field - - + + + - - + + + - + - - - + + + - - + + Groups that this avatar is a member of - - + + Positive and negative ratings - - + + Avatar properties including about text, profile URL, image IDs and + publishing settings - - + + Avatar interests including spoken languages, skills, and "want to" + choices - - + + Movement control flags for avatars. Typically not set or used by + clients. To move your avatar, use Client.Self.Movement instead - + - Flags sent when a script takes or releases a control + Contains the visual parameters describing the deformation of the avatar - NOTE: (need to verify) These might be a subset of the ControlFlags enum in Movement, - - No Flags set + + First name - - Forward (W or up Arrow) + + Last name - - Back (S or down arrow) + + Full name - - Move left (shift+A or left arrow) + + Active group - - Move right (shift+D or right arrow) + + Information about agents display name - - Up (E or PgUp) + + Agent UUID - - Down (C or PgDown) + + Username - - Rotate left (A or left arrow) + + Display name - - Rotate right (D or right arrow) + + First name (legacy) - - Left Mouse Button + + Last name (legacy) - - Left Mouse button in MouseLook + + Is display name default display name - + + Cache display name until + + + Full name (legacy) + + - Currently only used to hide your group title + Creates AgentDisplayName object from OSD + Incoming OSD data + AgentDisplayName object - - No flags set - - - Hide your group title + + + Return object as OSD map + + OSD containing agent's display name data - + - Action state of the avatar, which can currently be typing and - editing + Holds group information for Avatars such as those you might find in a profile - - + + true of Avatar accepts group notices - - + + Groups Key - - + + Texture Key for groups insignia - - - Current teleport status - + + Name of the group - - Unknown status + + Powers avatar has in the group - - Teleport initialized + + Avatars Currently selected title - - Teleport in progress + + true of Avatar has chosen to list this in their profile - - Teleport failed + + + Contains an animation currently being played by an agent + - - Teleport completed + + The ID of the animation asset - - Teleport cancelled + + A number to indicate start order of currently playing animations + On Linden Grids this number is unique per region, with OpenSim it is per client - + - - - No flags set, or teleport failed + + + Holds group information on an individual profile pick + - - Set when newbie leaves help island for first time + + + Retrieve friend status notifications, and retrieve avatar names and + profiles + - - + + + Represents other avatars + + + - - Via Lure + + + Callback giving results when fetching display names + + If the request was successful + Array of display names + Array of UUIDs that could not be fetched - - Via Landmark + + The event subscribers, null of no subscribers - - Via Location + + Thread sync lock object - - Via Home + + The event subscribers, null of no subscribers - - Via Telehub + + Thread sync lock object - - Via Login + + The event subscribers, null of no subscribers - - Linden Summoned + + Thread sync lock object - - Linden Forced me + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - Agent Teleported Home via Script + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - forced to new location for example when avatar is banned or ejected + + The event subscribers, null of no subscribers - - Teleport Finished via a Lure + + Thread sync lock object - - Finished, Sim Changed + + The event subscribers, null of no subscribers - - Finished, Same Sim + + Thread sync lock object - - - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - - Instant Message - - - - Key of sender + + Thread sync lock object - - Name of sender + + The event subscribers, null of no subscribers - - Key of destination avatar + + Thread sync lock object - - ID of originating estate + + The event subscribers, null of no subscribers - - Key of originating region + + Thread sync lock object - - Coordinates in originating region + + Raised when the simulator sends us data containing + an agents animation playlist - - Instant message type + + Raised when the simulator sends us data containing + the appearance information for an agent - - Group IM session toggle + + Raised when the simulator sends us data containing + agent names/id values - - Key of IM session, for Group Messages, the groups UUID + + Raised when the simulator sends us data containing + the interests listed in an agents profile - - Timestamp of the instant message + + Raised when the simulator sends us data containing + profile property information for an agent - - Instant message text + + Raised when the simulator sends us data containing + the group membership an agent is a member of - - Whether this message is held for offline avatars + + Raised when the simulator sends us data containing + name/id pair - - Context specific packed data + + Raised when the simulator sends us data containing + the objects and effect when an agent is pointing at - - Print the struct data as a string - A string containing the field name, and field value + + Raised when the simulator sends us data containing + the objects and effect when an agent is looking at - - - Manager class for our own avatar - + + Raised when the simulator sends us data containing + an agents viewer effect information - - The event subscribers. null if no subcribers + + Raised when the simulator sends us data containing + the top picks from an agents profile - - Raises the ChatFromSimulator event - A ChatEventArgs object containing the - data returned from the data server + + Raised when the simulator sends us data containing + the Pick details - - Thread sync lock object + + Raised when the simulator sends us data containing + the classified ads an agent has placed - - The event subscribers. null if no subcribers + + Raised when the simulator sends us data containing + the details of a classified ad - - Raises the ScriptDialog event - A SctriptDialogEventArgs object containing the - data returned from the data server + + Raised when the simulator sends us data containing + the details of display name change - - Thread sync lock object + + Raises the AvatarAnimation Event + An AvatarAnimationEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the AvatarAppearance Event + A AvatarAppearanceEventArgs object containing + the data sent from the simulator - - Raises the ScriptQuestion event - A ScriptQuestionEventArgs object containing the - data returned from the data server + + Raises the UUIDNameReply Event + A UUIDNameReplyEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the AvatarInterestsReply Event + A AvatarInterestsReplyEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the AvatarPropertiesReply Event + A AvatarPropertiesReplyEventArgs object containing + the data sent from the simulator - - Raises the LoadURL event - A LoadUrlEventArgs object containing the - data returned from the data server + + Raises the AvatarGroupsReply Event + A AvatarGroupsReplyEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the AvatarPickerReply Event + A AvatarPickerReplyEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the ViewerEffectPointAt Event + A ViewerEffectPointAtEventArgs object containing + the data sent from the simulator - - Raises the MoneyBalance event - A BalanceEventArgs object containing the - data returned from the data server + + Raises the ViewerEffectLookAt Event + A ViewerEffectLookAtEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the ViewerEffect Event + A ViewerEffectEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the AvatarPicksReply Event + A AvatarPicksReplyEventArgs object containing + the data sent from the simulator - - Raises the MoneyBalanceReply event - A MoneyBalanceReplyEventArgs object containing the - data returned from the data server + + Raises the PickInfoReply Event + A PickInfoReplyEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the AvatarClassifiedReply Event + A AvatarClassifiedReplyEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the ClassifiedInfoReply Event + A ClassifiedInfoReplyEventArgs object containing + the data sent from the simulator - - Raises the IM event - A InstantMessageEventArgs object containing the - data returned from the data server + + Raises the DisplayNameUpdate Event + A DisplayNameUpdateEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Tracks the specified avatar on your map + Avatar ID to track - - The event subscribers. null if no subcribers + + + Request a single avatar name + + The avatar key to retrieve a name for - - Raises the TeleportProgress event - A TeleportEventArgs object containing the - data returned from the data server + + + Request a list of avatar names + + The avatar keys to retrieve names for - - Thread sync lock object + + + Check if Display Names functionality is available + + True if Display name functionality is available - - The event subscribers. null if no subcribers + + + Request retrieval of display names (max 90 names per request) + + List of UUIDs to lookup + Callback to report result of the operation - - Raises the AgentDataReply event - A AgentDataReplyEventArgs object containing the - data returned from the data server + + + Start a request for Avatar Properties + + + - - Thread sync lock object + + + Search for an avatar (first name, last name) + + The name to search for + An ID to associate with this query - - The event subscribers. null if no subcribers + + + Start a request for Avatar Picks + + UUID of the avatar - - Raises the AnimationsChanged event - A AnimationsChangedEventArgs object containing the - data returned from the data server + + + Start a request for Avatar Classifieds + + UUID of the avatar - - Thread sync lock object + + + Start a request for details of a specific profile pick + + UUID of the avatar + UUID of the profile pick - - The event subscribers. null if no subcribers + + + Start a request for details of a specific profile classified + + UUID of the avatar + UUID of the profile classified - - Raises the MeanCollision event - A MeanCollisionEventArgs object containing the - data returned from the data server + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers. null if no subcribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Raises the RegionCrossed event - A RegionCrossedEventArgs object containing the - data returned from the data server + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers. null if no subcribers + + + EQ Message fired when someone nearby changes their display name + + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - Raises the GroupChatJoined event - A GroupChatJoinedEventArgs object containing the - data returned from the data server + + + Crossed region handler for message that comes across the EventQueue. Sent to an agent + when the agent crosses a sim border into a new region. + + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers. null if no subcribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Raises the AlertMessage event - A AlertMessageEventArgs object containing the - data returned from the data server + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers. null if no subcribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Raises the ScriptControlChange event - A ScriptControlEventArgs object containing the - data returned from the data server + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers. null if no subcribers + + Provides data for the event + The event occurs when the simulator sends + the animation playlist for an agent + + The following code example uses the and + properties to display the animation playlist of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; + private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) + { + // create a dictionary of "known" animations from the Animations class using System.Reflection + Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); + Type type = typeof(Animations); + System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); + foreach (System.Reflection.FieldInfo field in fields) + { + systemAnimations.Add((UUID)field.GetValue(type), field.Name); + } + // find out which animations being played are known animations and which are assets + foreach (Animation animation in e.Animations) + { + if (systemAnimations.ContainsKey(animation.AnimationID)) + { + Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, + systemAnimations[animation.AnimationID], animation.AnimationSequence); + } + else + { + Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, + animation.AnimationID, animation.AnimationSequence); + } + } + } + - - Raises the CameraConstraint event - A CameraConstraintEventArgs object containing the - data returned from the data server + + + Construct a new instance of the AvatarAnimationEventArgs class + + The ID of the agent + The list of animations to start - - Thread sync lock object + + Get the ID of the agent - - The event subscribers. null if no subcribers + + Get the list of animations to start - - Raises the ScriptSensorReply event - A ScriptSensorReplyEventArgs object containing the - data returned from the data server + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + - - Thread sync lock object + + + Construct a new instance of the AvatarAppearanceEventArgs class + + The simulator request was from + The ID of the agent + true of the agent is a trial account + The default agent texture + The agents appearance layer textures + The for the agent - - The event subscribers. null if no subcribers + + Get the Simulator this request is from of the agent - - Raises the AvatarSitResponse event - A AvatarSitResponseEventArgs object containing the - data returned from the data server + + Get the ID of the agent - - Thread sync lock object + + true if the agent is a trial account - - The event subscribers. null if no subcribers + + Get the default agent texture - - Raises the ChatSessionMemberAdded event - A ChatSessionMemberAddedEventArgs object containing the - data returned from the data server + + Get the agents appearance layer textures - - Thread sync lock object + + Get the for the agent - - The event subscribers. null if no subcribers + + Represents the interests from the profile of an agent - - Raises the ChatSessionMemberLeft event - A ChatSessionMemberLeftEventArgs object containing the - data returned from the data server + + Get the ID of the agent - - Thread sync lock object + + The properties of an agent - - Reference to the GridClient instance + + Get the ID of the agent - - Used for movement and camera tracking + + Get the ID of the agent - - Currently playing animations for the agent. Can be used to - check the current movement status such as walking, hovering, aiming, - etc. by checking against system animations found in the Animations class + + Get the ID of the agent - - Dictionary containing current Group Chat sessions and members + + Get the ID of the avatar - + - Constructor, setup callbacks for packets related to our avatar + Event args class for display name notification messages - A reference to the Class - + - Send a text message from the Agent to the Simulator + Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. - A containing the message - The channel to send the message on, 0 is the public channel. Channels above 0 - can be used however only scripts listening on the specified channel will see the message - Denotes the type of message being sent, shout, whisper, etc. - + - Request any instant messages sent while the client was offline to be resent. + Searialize an animation asset into it's joints/keyframes/meta data + + - + - Send an Instant Message to another Avatar + Rotation Keyframe count (used internally) - The recipients - A containing the message to send - + - Send an Instant Message to an existing group chat or conference chat + Position Keyframe count (used internally) - The recipients - A containing the message to send - IM session ID (to differentiate between IM windows) - + - Send an Instant Message + Animation Priority - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - IDs of sessions for a conference - + - Send an Instant Message + The animation length in seconds. - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - Type of instant message to send - Whether to IM offline avatars as well - Senders Position - RegionID Sender is In - Packed binary data that is specific to - the dialog type - + - Send an Instant Message to a group + Expression set in the client. Null if [None] is selected - of the group to send message to - Text Message being sent. - + - Send an Instant Message to a group the agent is a member of + The time in seconds to start the animation - The name this IM will show up as being from - of the group to send message to - Text message being sent - + - Send a request to join a group chat session + The time in seconds to end the animation - of Group to leave - + - Exit a group chat session. This will stop further Group chat messages - from being sent until session is rejoined. + Loop the animation - of Group chat session to leave - + - Reply to script dialog questions. + Meta data. Ease in Seconds. - Channel initial request came on - Index of button you're "clicking" - Label of button you're "clicking" - of Object that sent the dialog request - - + - Accept invite for to a chatterbox session + Meta data. Ease out seconds. - of session to accept invite to - + - Start a friends conference + Meta Data for the Hand Pose - List of UUIDs to start a conference with - the temportary session ID returned in the callback> - + - Start a particle stream between an agent and an object + Number of joints defined in the animation - Key of the source agent - Key of the target object - - The type from the enum - A unique for this effect - + - Start a particle stream between an agent and an object + Contains an array of joints - Key of the source agent - Key of the target object - A representing the beams offset from the source - A which sets the avatars lookat animation - of the Effect - + - Create a particle beam between an avatar and an primitive + Variable length strings seem to be null terminated in the animation asset.. but.. + use with caution, home grown. + advances the index. - The ID of source avatar - The ID of the target primitive - global offset - A object containing the combined red, green, blue and alpha - color values of particle beam - a float representing the duration the parcicle beam will last - A Unique ID for the beam - + The animation asset byte array + The offset to start reading + a string - + - Create a particle swirl around a target position using a packet + Read in a Joint from an animation asset byte array + Variable length Joint fields, yay! + Advances the index - global offset - A object containing the combined red, green, blue and alpha - color values of particle beam - a float representing the duration the parcicle beam will last - A Unique ID for the beam + animation asset byte array + Byte Offset of the start of the joint + The Joint data serialized into the binBVHJoint structure - + - Sends a request to sit on the specified object + Read Keyframes of a certain type + advance i - of the object to sit on - Sit at offset + Animation Byte array + Offset in the Byte Array. Will be advanced + Number of Keyframes + Scaling Min to pass to the Uint16ToFloat method + Scaling Max to pass to the Uint16ToFloat method + + - + - Follows a call to to actually sit on the object + A Joint and it's associated meta data and keyframes - - Stands up from sitting on a prim or the ground - true of AgentUpdate was sent - - + - Does a "ground sit" at the avatar's current position + Name of the Joint. Matches the avatar_skeleton.xml in client distros - + - Starts or stops flying + Joint Animation Override? Was the same as the Priority in testing.. - True to start flying, false to stop flying - + - Starts or stops crouching + Array of Rotation Keyframes in order from earliest to latest - True to start crouching, false to stop crouching - + - Starts a jump (begin holding the jump key) + Array of Position Keyframes in order from earliest to latest + This seems to only be for the Pelvis? - + - Use the autopilot sim function to move the avatar to a new - position. Uses double precision to get precise movements + Custom application data that can be attached to a joint - The z value is currently not handled properly by the simulator - Global X coordinate to move to - Global Y coordinate to move to - Z coordinate to move to - + - Use the autopilot sim function to move the avatar to a new position + A Joint Keyframe. This is either a position or a rotation. - The z value is currently not handled properly by the simulator - Integer value for the global X coordinate to move to - Integer value for the global Y coordinate to move to - Floating-point value for the Z coordinate to move to - + - Use the autopilot sim function to move the avatar to a new position + Either a Vector3 position or a Vector3 Euler rotation - The z value is currently not handled properly by the simulator - Integer value for the local X coordinate to move to - Integer value for the local Y coordinate to move to - Floating-point value for the Z coordinate to move to - - - Macro to cancel autopilot sim function - Not certain if this is how it is really done - true if control flags were set and AgentUpdate was sent to the simulator - + - Grabs an object + Poses set in the animation metadata for the hands. - an unsigned integer of the objects ID within the simulator - - + - Overload: Grab a simulated object + Wrapper around a byte array that allows bit to be packed and unpacked + one at a time or by a variable amount. Useful for very tightly packed + data like LayerData packets - an unsigned integer of the objects ID within the simulator - - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - + - Drag an object + Default constructor, initialize the bit packer / bit unpacker + with a byte array and starting position - of the object to drag - Drag target in region coordinates + Byte array to pack bits in to or unpack from + Starting position in the byte array - + - Overload: Drag an object - of the object to drag - Drag target in region coordinates - - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - + - Release a grabbed object - The Objects Simulator Local ID - - - - + - Release a grabbed object - The Objects Simulator Local ID - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - + - Touches an object + Pack a floating point value in to the data - an unsigned integer of the objects ID within the simulator - + Floating point value to pack - + - Request the current L$ balance + Pack part or all of an integer in to the data + Integer containing the data to pack + Number of bits of the integer to pack - + - Give Money to destination Avatar + Pack part or all of an unsigned integer in to the data - UUID of the Target Avatar - Amount in L$ + Unsigned integer containing the data to pack + Number of bits of the integer to pack - + - Give Money to destination Avatar + Pack a single bit in to the data - UUID of the Target Avatar - Amount in L$ - Description that will show up in the - recipients transaction history + Bit to pack - + - Give L$ to an object - object to give money to - amount of L$ to give - name of object + + + + + + + + - + - Give L$ to a group - group to give money to - amount of L$ to give + + - + - Give L$ to a group - group to give money to - amount of L$ to give - description of transaction + + - + - Pay texture/animation upload fee + Unpacking a floating point value from the data + Unpacked floating point value - + - Pay texture/animation upload fee + Unpack a variable number of bits from the data in to integer format - description of the transaction + Number of bits to unpack + An integer containing the unpacked bits + This function is only useful up to 32 bits - + - Give Money to destination Object or Avatar + Unpack a variable number of bits from the data in to unsigned + integer format - UUID of the Target Object/Avatar - Amount in L$ - Reason (Optional normally) - The type of transaction - Transaction flags, mostly for identifying group - transactions + Number of bits to unpack + An unsigned integer containing the unpacked bits + This function is only useful up to 32 bits - + - Plays a gesture + Unpack a 16-bit signed integer - Asset of the gesture + 16-bit signed integer - + - Mark gesture active + Unpack a 16-bit unsigned integer - Inventory of the gesture - Asset of the gesture + 16-bit unsigned integer - + - Mark gesture inactive + Unpack a 32-bit signed integer - Inventory of the gesture + 32-bit signed integer - + - Send an AgentAnimation packet that toggles a single animation on + Unpack a 32-bit unsigned integer - The of the animation to start playing - Whether to ensure delivery of this packet or not + 32-bit unsigned integer - + - Send an AgentAnimation packet that toggles a single animation off + Capabilities is the name of the bi-directional HTTP REST protocol + used to communicate non real-time transactions such as teleporting or + group messaging - The of a - currently playing animation to stop playing - Whether to ensure delivery of this packet or not - + - Send an AgentAnimation packet that will toggle animations on or off + Default constructor - A list of animation s, and whether to - turn that animation on or off - Whether to ensure delivery of this packet or not + + + + - + - Teleports agent to their stored home location + Triggered when an event is received via the EventQueueGet + capability - true on successful teleport to home location + Event name + Decoded event data + The simulator that generated the event - + + Reference to the simulator this system is connected to + + + Capabilities URI this system was initialized with + + + Whether the capabilities event queue is connected and + listening for incoming events + + - Teleport agent to a landmark + Request the URI of a named capability - of the landmark to teleport agent to - true on success, false on failure + Name of the capability to request + The URI of the requested capability, or String.Empty if + the capability does not exist - + - Attempt to look up a simulator name and teleport to the discovered - destination + Process any incoming events, check to see if we have a message created for the event, - Region name to look up - Position to teleport to - True if the lookup and teleport were successful, otherwise - false + + + + - + - Attempt to look up a simulator name and teleport to the discovered - destination + Attempts to convert an LLSD structure to a known Packet type - Region name to look up - Position to teleport to - Target to look at - True if the lookup and teleport were successful, otherwise - false + Event name, this must match an actual + packet name for a Packet to be successfully built + LLSD to convert to a Packet + A Packet on success, otherwise null - + + Origin position of this coordinate frame + + + X axis of this coordinate frame, or Forward/At in grid terms + + + Y axis of this coordinate frame, or Left in grid terms + + + Z axis of this coordinate frame, or Up in grid terms + + - Teleport agent to another region - handle of region to teleport agent to - position in destination sim to teleport to - true on success, false on failure - This call is blocking + Looking direction, must be a normalized vector + Up direction, must be a normalized vector - + - Teleport agent to another region + Align the coordinate frame X and Y axis with a given rotation + around the Z axis in radians - handle of region to teleport agent to - position in destination sim to teleport to - direction in destination sim agent will look at - true on success, false on failure - This call is blocking + Absolute rotation around the Z axis in + radians - + - Request teleport to a another simulator + Access to the data server which allows searching for land, events, people, etc - handle of region to teleport agent to - position in destination sim to teleport to - + - Request teleport to a another simulator + Constructs a new instance of the DirectoryManager class - handle of region to teleport agent to - position in destination sim to teleport to - direction in destination sim agent will look at + An instance of GridClient - + + Classified Ad categories + + + Classified is listed in the Any category + + + Classified is shopping related + + + Classified is + + - Teleport agent to a landmark - of the landmark to teleport agent to - + - Send a teleport lure to another avatar with default "Join me in ..." invitation message - target avatars to lure - + - Send a teleport lure to another avatar with custom invitation message - target avatars to lure - custom message to send with invitation - + - Respond to a teleport lure by either accepting it and initiating - the teleport, or denying it - of the avatar sending the lure - IM session of the incoming lure request - true to accept the lure, false to decline it - + - Update agent profile - struct containing updated - profile information - + - Update agents profile interests - selection of interests from struct - + - Set the height and the width of the client window. This is used - by the server to build a virtual camera frustum for our avatar - New height of the viewer window - New width of the viewer window - + + Event Categories + + - Request the list of muted objects and avatars for this agent - + - Sets home location to agents current position - will fire an AlertMessage () with - success or failure message - + - Move an agent in to a simulator. This packet is the last packet - needed to complete the transition in to a new simulator - Object - + - Reply to script permissions request - Object - of the itemID requesting permissions - of the taskID requesting permissions - list of permissions to allow - + - Respond to a group invitation by either accepting or denying it - UUID of the group (sent in the AgentID field of the invite message) - IM Session ID from the group invitation message - Accept the group invitation or deny it - + - Requests script detection of objects and avatars - name of the object/avatar to search for - UUID of the object or avatar to search for - Type of search from ScriptSensorTypeFlags - range of scan (96 max?) - the arc in radians to search within - an user generated ID to correlate replies with - Simulator to perform search in - + - Create or update profile pick - UUID of the pick to update, or random UUID to create a new pick - Is this a top pick? (typically false) - UUID of the parcel (UUID.Zero for the current parcel) - Name of the pick - Global position of the pick landmark - UUID of the image displayed with the pick - Long description of the pick - + - Delete profile pick - UUID of the pick to delete - + - Create or update profile Classified - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Global position of the classified landmark - Name of the classified - Long description of the classified - if true, auto renew classified after expiration - + - Create or update profile Classified - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Name of the classified - Long description of the classified - if true, auto renew classified after expiration - + - Delete a classified ad - The classified ads ID - + - Fetches resource usage by agents attachmetns - Called when the requested information is collected - + - Take an incoming ImprovedInstantMessage packet, auto-parse, and if - OnInstantMessage is defined call that with the appropriate arguments + Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. + Flags can be combined using the | (pipe) character, not all flags are available in all queries - The sender - The EventArgs object containing the packet data - + + Query the People database + + - Take an incoming Chat packet, auto-parse, and if OnChat is defined call - that with the appropriate arguments. - The sender - The EventArgs object containing the packet data - + - Used for parsing llDialogs - The sender - The EventArgs object containing the packet data - + + Query the Groups database + + + Query the Events database + + + Query the land holdings database for land owned by the currently connected agent + + - Used for parsing llRequestPermissions dialogs - The sender - The EventArgs object containing the packet data - + + Query the land holdings database for land which is owned by a Group + + + Specifies the query should pre sort the results based upon traffic + when searching the Places database + + - Handles Script Control changes when Script with permissions releases or takes a control - The sender - The EventArgs object containing the packet data - + - Used for parsing llLoadURL Dialogs - The sender - The EventArgs object containing the packet data - + - Update client's Position, LookAt and region handle from incoming packet - The sender - The EventArgs object containing the packet data - This occurs when after an avatar moves into a new sim - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Specifies the query should pre sort the results in an ascending order when searching the land sales database. + This flag is only used when searching the land sales database - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. + This flag is only used when searching the land sales database - + + Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. + This flag is only used when searching the land sales database + + + Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. + This flag is only used when searching the land sales database + + + Specifies the query should pre sort the results using the Name field when searching the land sales database. + This flag is only used when searching the land sales database + + + When set, only parcels less than the specified Price will be included when searching the land sales database. + This flag is only used when searching the land sales database + + + When set, only parcels greater than the specified Size will be included when searching the land sales database. + This flag is only used when searching the land sales database + + - Process TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why. - The Message Key - An IMessage object Deserialized from the recieved message event - The simulator originating the event message - + - Process TeleportFinish from Event Queue and pass it onto our TeleportHandler - The message system key for this event - IMessage object containing decoded data from OSD - The simulator originating the event message - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases - + - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - This packet is now being sent via the EventQueue + + + Land types to search dataserver for + - + + Search Auction, Mainland and Estate + + + Land which is currently up for auction + + + Parcels which are on the mainland (Linden owned) continents + + + Parcels which are on privately owned simulators + + - Group Chat event handler + The content rating of the event - The capability Key - IMessage object containing decoded data from OSD - - + + Event is PG + + + Event is Mature + + + Event is Adult + + - Response from request to join a group chat + Classified Ad Options - - IMessage object containing decoded data from OSD - + There appear to be two formats the flags are packed in. + This set of flags is for the newer style - + - Someone joined or left group chat - - IMessage object containing decoded data from OSD - - + - Handle a group chat Invitation - Caps Key - IMessage object containing decoded data from OSD - Originating Simulator - + - Moderate a chat session - the of the session to moderate, for group chats this will be the groups UUID - the of the avatar to moderate - Either "voice" to moderate users voice, or "text" to moderate users text session - true to moderate (silence user), false to allow avatar to speak - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Classified ad query options + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Include all ads in results - - Raised when a scripted object or agent within range sends a public message + + Include PG ads in results - - Raised when a scripted object sends a dialog box containing possible - options an agent can respond to + + Include Mature ads in results - - Raised when an object requests a change in the permissions an agent has permitted + + Include Adult ads in results - - Raised when a script requests an agent open the specified URL + + + The For Sale flag in PlacesReplyData + - - Raised when an agents currency balance is updated + + Parcel is not listed for sale - - Raised when a transaction occurs involving currency such as a land purchase + + Parcel is For Sale - - Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from - private messaging to friendship offers. The Dialog field defines what type of message has arrived + + + A classified ad on the grid + - - Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times - for each teleport indicating the progress of the request + + UUID for this ad, useful for looking up detailed + information about it - - Raised when a simulator sends agent specific information for our avatar. + + The title of this classified ad - - Raised when our agents animation playlist changes + + Flags that show certain options applied to the classified - - Raised when an object or avatar forcefully collides with our agent + + Creation date of the ad - - Raised when our agent crosses a region border into another region + + Expiration date of the ad - - Raised when our agent succeeds or fails to join a group chat session + + Price that was paid for this ad - - Raised when a simulator sends an urgent message usually indication the recent failure of - another action we have attempted to take such as an attempt to enter a parcel where we are denied access + + Print the struct data as a string + A string containing the field name, and field value - - Raised when a script attempts to take or release specified controls for our agent + + + A parcel retrieved from the dataserver such as results from the + "For-Sale" listings or "Places" Search + - - Raised when the simulator detects our agent is trying to view something - beyond its limits + + The unique dataserver parcel ID + This id is used to obtain additional information from the entry + by using the method - - Raised when a script sensor reply is received from a simulator + + A string containing the name of the parcel - - Raised in response to a request + + The size of the parcel + This field is not returned for Places searches - - Raised when an avatar enters a group chat session we are participating in + + The price of the parcel + This field is not returned for Places searches - - Raised when an agent exits a group chat session we are participating in + + If True, this parcel is flagged to be auctioned - - Your (client) avatars - "client", "agent", and "avatar" all represent the same thing + + If true, this parcel is currently set for sale - - Temporary assigned to this session, used for - verifying our identity in packets + + Parcel traffic - - Shared secret that is never sent over the wire + + Print the struct data as a string + A string containing the field name, and field value - - Your (client) avatar ID, local to the current region/sim + + + An Avatar returned from the dataserver + - - Where the avatar started at login. Can be "last", "home" - or a login + + Online status of agent + This field appears to be obsolete and always returns false - - The access level of this agent, usually M or PG + + The agents first name - - The CollisionPlane of Agent + + The agents last name - - An representing the velocity of our agent + + The agents - - An representing the acceleration of our agent + + Print the struct data as a string + A string containing the field name, and field value - - A which specifies the angular speed, and axis about which an Avatar is rotating. + + + Response to a "Groups" Search + - - Position avatar client will goto when login to 'home' or during - teleport request to 'home' region. + + The Group ID - - LookAt point saved/restored with HomePosition + + The name of the group - - Avatar First Name (i.e. Philip) + + The current number of members - - Avatar Last Name (i.e. Linden) + + Print the struct data as a string + A string containing the field name, and field value - - Avatar Full Name (i.e. Philip Linden) + + + Parcel information returned from a request + + Represents one of the following: + A parcel of land on the grid that has its Show In Search flag set + A parcel of land owned by the agent making the request + A parcel of land owned by a group the agent making the request is a member of + + In a request for Group Land, the First record will contain an empty record + + Note: This is not the same as searching the land for sale data source + - - Gets the health of the agent + + The ID of the Agent of Group that owns the parcel - - Gets the current balance of the agent + + The name - - Gets the local ID of the prim the agent is sitting on, - zero if the avatar is not currently sitting + + The description - - Gets the of the agents active group. + + The Size of the parcel - - Gets the Agents powers in the currently active group + + The billable Size of the parcel, for mainland + parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller + than the ActualArea. For Estate land this will always be 0 - - Current status message for teleporting + + Indicates the ForSale status of the parcel - - Current position of the agent as a relative offset from - the simulator, or the parent object if we are sitting on something + + The Gridwide X position - - Current rotation of the agent as a relative rotation from - the simulator, or the parent object if we are sitting on something + + The Gridwide Y position - - Current position of the agent in the simulator + + The Z position of the parcel, or 0 if no landing point set - - - A representing the agents current rotation - + + The name of the Region the parcel is located in - - Returns the global grid position of the avatar + + The Asset ID of the parcels Snapshot texture - - - Called once attachment resource usage information has been collected - - Indicates if operation was successfull - Attachment resource usage information + + The calculated visitor traffic - - - Used to specify movement actions for your agent - + + The billing product SKU + Known values are: + 023Mainland / Full Region024Estate / Full Region027Estate / Openspace029Estate / Homestead129Mainland / Homestead (Linden Owned) - - Empty flag + + No longer used, will always be 0 - - Move Forward (SL Keybinding: W/Up Arrow) + + Get a SL URL for the parcel + A string, containing a standard SLURL - - Move Backward (SL Keybinding: S/Down Arrow) + + Print the struct data as a string + A string containing the field name, and field value - - Move Left (SL Keybinding: Shift-(A/Left Arrow)) + + + An "Event" Listing summary + - - Move Right (SL Keybinding: Shift-(D/Right Arrow)) + + The ID of the event creator - - Not Flying: Jump/Flying: Move Up (SL Keybinding: E) + + The name of the event - - Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) + + The events ID - - Unused + + A string containing the short date/time the event will begin - - Unused + + The event start time in Unixtime (seconds since epoch) - - Unused + + The events maturity rating - - Unused + + Print the struct data as a string + A string containing the field name, and field value - - ORed with AGENT_CONTROL_AT_* if the keyboard is being used + + + The details of an "Event" + - - ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used + + The events ID - - ORed with AGENT_CONTROL_UP_* if the keyboard is being used + + The ID of the event creator - - Fly + + The name of the event - - + + The category - - Finish our current animation + + The events description - - Stand up from the ground or a prim seat + + The short date/time the event will begin - - Sit on the ground at our current location + + The event start time in Unixtime (seconds since epoch) UTC adjusted - - Whether mouselook is currently enabled + + The length of the event in minutes - - Legacy, used if a key was pressed for less than a certain amount of time + + 0 if no cover charge applies - - Legacy, used if a key was pressed for less than a certain amount of time + + The cover charge amount in L$ if applicable - - Legacy, used if a key was pressed for less than a certain amount of time + + The name of the region where the event is being held - - Legacy, used if a key was pressed for less than a certain amount of time + + The gridwide location of the event - - Legacy, used if a key was pressed for less than a certain amount of time + + The maturity rating - - Legacy, used if a key was pressed for less than a certain amount of time + + Get a SL URL for the parcel where the event is hosted + A string, containing a standard SLURL - - + + Print the struct data as a string + A string containing the field name, and field value - - + + The event subscribers. null if no subcribers - - Set when the avatar is idled or set to away. Note that the away animation is - activated separately from setting this flag + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - - Agent movement and camera control - - Agent movement is controlled by setting specific - After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags - This is most easily accomplished by setting one or more of the AgentMovement properties - - Movement of an avatar is always based on a compass direction, for example AtPos will move the - agent from West to East or forward on the X Axis, AtNeg will of course move agent from - East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis - The Z axis is Up, finer grained control of movements can be done using the Nudge properties - + + The event subscribers. null if no subcribers - - Agent camera controls + + Thread sync lock object - - Currently only used for hiding your group title + + The event subscribers. null if no subcribers - - Action state of the avatar, which can currently be - typing and editing + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - Timer for sending AgentUpdate packets + + Raised when the data server responds to a request. - - Default constructor + + Raised when the data server responds to a request. - + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raises the EventInfoReply event + An EventInfoReplyEventArgs object containing the + data returned from the data server + + + Raises the DirEventsReply event + An DirEventsReplyEventArgs object containing the + data returned from the data server + + + Raises the PlacesReply event + A PlacesReplyEventArgs object containing the + data returned from the data server + + + Raises the DirPlacesReply event + A DirPlacesReplyEventArgs object containing the + data returned from the data server + + + Raises the DirClassifiedsReply event + A DirClassifiedsReplyEventArgs object containing the + data returned from the data server + + + Raises the DirGroupsReply event + A DirGroupsReplyEventArgs object containing the + data returned from the data server + + + Raises the DirPeopleReply event + A DirPeopleReplyEventArgs object containing the + data returned from the data server + + + Raises the DirLandReply event + A DirLandReplyEventArgs object containing the + data returned from the data server + + - Send an AgentUpdate with the camera set at the current agent - position and pointing towards the heading specified + Query the data server for a list of classified ads containing the specified string. + Defaults to searching for classified placed in any category, and includes PG, Adult and Mature + results. + Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + The event is raised when a response is received from the simulator - Camera rotation in radians - Whether to send the AgentUpdate reliable - or not + A string containing a list of keywords to search for + A UUID to correlate the results when the event is raised - + - Rotates the avatar body and camera toward a target position. - This will also anchor the camera position on the avatar + Query the data server for a list of classified ads which contain specified keywords (Overload) + The event is raised when a response is received from the simulator - Region coordinates to turn toward + A string containing a list of keywords to search for + The category to search + A set of flags which can be ORed to modify query options + such as classified maturity rating. + A UUID to correlate the results when the event is raised + + Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature + + UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); + + + Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + - + - Send new AgentUpdate packet to update our current camera - position and rotation + Starts search for places (Overloaded) + The event is raised when a response is received from the simulator + Search text + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised - + - Send new AgentUpdate packet to update our current camera - position and rotation + Queries the dataserver for parcels of land which are flagged to be shown in search + The event is raised when a response is received from the simulator - Whether to require server acknowledgement - of this packet + A string containing a list of keywords to search for separated by a space character + A set of flags which can be ORed to modify query options + such as classified maturity rating. + The category to search + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised + + Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult + + UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); + + + Additional information on the results can be obtained by using the ParcelManager.InfoRequest method + - + - Send new AgentUpdate packet to update our current camera - position and rotation + Starts a search for land sales using the directory + The event is raised when a response is received from the simulator - Whether to require server acknowledgement - of this packet - Simulator to send the update to + What type of land to search for. Auction, + estate, mainland, "first land", etc + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. - + - Builds an AgentUpdate packet entirely from parameters. This - will not touch the state of Self.Movement or - Self.Movement.Camera in any way + Starts a search for land sales using the directory + The event is raised when a response is received from the simulator - - - - - - - - - - - + What type of land to search for. Auction, + estate, mainland, "first land", etc + Maximum price to search for + Maximum area to search for + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. - - Move agent positive along the X axis + + + Send a request to the data server for land sales listings + + Flags sent to specify query options + Available flags: + Specify the parcel rating with one or more of the following: + IncludePG IncludeMature IncludeAdult + Specify the field to pre sort the results with ONLY ONE of the following: + PerMeterSort NameSort AreaSort PricesSort + Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order + SortAsc + Specify additional filters to limit the results with one or both of the following: + LimitByPrice LimitByArea + Flags can be combined by separating them with the | (pipe) character + Additional details can be found in + What type of land to search for. Auction, + Estate or Mainland + Maximum price to search for when the + DirFindFlags.LimitByPrice flag is specified in findFlags + Maximum area to search for when the + DirFindFlags.LimitByArea flag is specified in findFlags + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + + The event will be raised with the response from the simulator + There is no way to determine how many results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each reply. + Any land set for sale to either anybody or specific to the connected agent will be included in the + results if the land is included in the query + + + + // request all mainland, any maturity rating that is larger than 512 sq.m + StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); + + - - Move agent negative along the X axis + + + Search for Groups + + The name or portion of the name of the group you wish to search for + Start from the match number + + - - Move agent positive along the Y axis + + + Search for Groups + + The name or portion of the name of the group you wish to search for + Start from the match number + Search flags + + - - Move agent negative along the Y axis + + + Search the People directory for other avatars + + The name or portion of the name of the avatar you wish to search for + + + + - - Move agent positive along the Z axis + + + Search Places for parcels of land you personally own + - - Move agent negative along the Z axis + + + Searches Places for land owned by the specified group + + ID of the group you want to recieve land list for (You must be a member of the group) + Transaction (Query) ID which can be associated with results from your request. - - + + + Search the Places directory for parcels that are listed in search and contain the specified keywords + + A string containing the keywords to search for + Transaction (Query) ID which can be associated with results from your request. - - + + + Search Places - All Options + + One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. + One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer + A string containing a list of keywords to search for separated by a space character + String Simulator Name to search in + LLUID of group you want to recieve results for + Transaction (Query) ID which can be associated with results from your request. + Transaction (Query) ID which can be associated with results from your request. - - + + + Search All Events with specifid searchText in all categories, includes PG, Mature and Adult + + A string containing a list of keywords to search for separated by a space character + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + UUID of query to correlate results in callback. - - + + + Search Events + + A string containing a list of keywords to search for separated by a space character + One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult + from the Enum + Multiple flags can be combined by separating the flags with the | (pipe) character + "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled + For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + EventCategory event is listed under. + UUID of query to correlate results in callback. - - + + Requests Event Details + ID of Event returned from the method - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Causes simulator to make agent fly + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from - - Stop movement + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Finish animation + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Stand up from a sit + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from - - Tells simulator to sit agent on ground + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Place agent into mouselook mode + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Nudge agent positive along the X axis + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Nudge agent negative along the X axis + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Nudge agent positive along the Y axis + + Contains the Event data returned from the data server from an EventInfoRequest - - Nudge agent negative along the Y axis + + Construct a new instance of the EventInfoReplyEventArgs class + A single EventInfo object containing the details of an event - - Nudge agent positive along the Z axis + + + A single EventInfo object containing the details of an event + - - Nudge agent negative along the Z axis + + Contains the "Event" detail data returned from the data server - - + + Construct a new instance of the DirEventsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Events" returned by the search query - - + + The ID returned by - - Tell simulator to mark agent as away + + A list of "Events" returned by the data server - - + + Contains the "Event" list data returned from the data server - - + + Construct a new instance of PlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Places" returned by the data server query - - + + The ID returned by - - + + A list of "Places" returned by the data server - - - Returns "always run" value, or changes it by sending a SetAlwaysRunPacket - + + Contains the places data returned from the data server - - The current value of the agent control flags + + Construct a new instance of the DirPlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing land data returned by the data server - - Gets or sets the interval in milliseconds at which - AgentUpdate packets are sent to the current simulator. Setting - this to a non-zero value will also enable the packet sending if - it was previously off, and setting it to zero will disable + + The ID returned by - - Gets or sets whether AgentUpdate packets are sent to - the current simulator + + A list containing Places data returned by the data server - - Reset movement controls every time we send an update + + Contains the classified data returned from the data server - - - Camera controls for the agent, mostly a thin wrapper around - CoordinateFrame. This class is only responsible for state - tracking and math, it does not send any packets - + + Construct a new instance of the DirClassifiedsReplyEventArgs class + A list of classified ad data returned from the data server - - + + A list containing Classified Ads returned by the data server - - The camera is a local frame of reference inside of - the larger grid space. This is where the math happens + + Contains the group data returned from the data server - - - Default constructor - + + Construct a new instance of the DirGroupsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of groups data returned by the data server - - + + The ID returned by - - + + A list containing Groups data returned by the data server - - + + Contains the people data returned from the data server - - + + Construct a new instance of the DirPeopleReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of people data returned by the data server - - - - + + The ID returned by - - - Construct a new instance of the ChatEventArgs object - - Sim from which the message originates - The message sent - The audible level of the message - The type of message sent: whisper, shout, etc - The source type of the message sender - The name of the agent or object sending the message - The ID of the agent or object sending the message - The ID of the object owner, or the agent ID sending the message - The position of the agent or object sending the message + + A list containing People data returned by the data server - - Get the simulator sending the message + + Contains the land sales data returned from the data server - - Get the message sent + + Construct a new instance of the DirLandReplyEventArgs class + A list of parcels for sale returned by the data server - - Get the audible level of the message + + A list containing land forsale data returned by the data server - - Get the type of message sent: whisper, shout, etc + + + Represends individual HTTP Download request + - - Get the source type of the message sender + + Default constructor - - Get the name of the agent or object sending the message + + Constructor - - Get the ID of the agent or object sending the message + + URI of the item to fetch - - Get the ID of the object owner, or the agent ID sending the message + + Timout specified in milliseconds - - Get the position of the agent or object sending the message + + Download progress callback - - Contains the data sent when a primitive opens a dialog with this agent + + Download completed callback + + + Accept the following content type - + - Construct a new instance of the ScriptDialogEventArgs + Manages async HTTP downloads with a limit on maximum + concurrent downloads - The dialog message - The name of the object that sent the dialog request - The ID of the image to be displayed - The ID of the primitive sending the dialog - The first name of the senders owner - The last name of the senders owner - The communication channel the dialog was sent on - The string labels containing the options presented in this dialog - - Get the dialog message + + Default constructor - - Get the name of the object that sent the dialog request + + Maximum number of parallel downloads from a single endpoint - - Get the ID of the image to be displayed + + Client certificate - - Get the ID of the primitive sending the dialog + + Cleanup method - - Get the first name of the senders owner + + Setup http download request - - Get the last name of the senders owner + + Check the queue for pending work - - Get the communication channel the dialog was sent on, responses - should also send responses on this same channel + + Enqueue a new HTPP download - - Get the string labels containing the options presented in this dialog + + Describes tasks returned in LandStatReply - - Contains the data sent when a primitive requests debit or other permissions - requesting a YES or NO answer + + + Estate level administration and utilities + - + - Construct a new instance of the ScriptQuestionEventArgs + Constructor for EstateTools class - The simulator containing the object sending the request - The ID of the script making the request - The ID of the primitive containing the script making the request - The name of the primitive making the request - The name of the owner of the object making the request - The permissions being requested + + - - Get the simulator containing the object sending the request + + Used in the ReportType field of a LandStatRequest - - Get the ID of the script making the request + + Used by EstateOwnerMessage packets - - Get the ID of the primitive containing the script making the request + + Used by EstateOwnerMessage packets - - Get the name of the primitive making the request + + + - - Get the name of the owner of the object making the request + + No flags set - - Get the permissions being requested + + Only return targets scripted objects - - Contains the data sent when a primitive sends a request - to an agent to open the specified URL + + Only return targets objects if on others land - - - Construct a new instance of the LoadUrlEventArgs - - The name of the object sending the request - The ID of the object sending the request - The ID of the owner of the object sending the request - True if the object is owned by a group - The message sent with the request - The URL the object sent + + Returns target's scripted objects and objects on other parcels - - Get the name of the object sending the request + + Ground texture settings for each corner of the region - - Get the ID of the object sending the request + + Used by GroundTextureHeightSettings - - Get the ID of the owner of the object sending the request + + The high and low texture thresholds for each corner of the sim - - True if the object is owned by a group + + Textures for each of the four terrain height levels - - Get the message sent with the request + + Upper/lower texture boundaries for each corner of the sim - - Get the URL the object sent + + The event subscribers. null if no subcribers - - The date received from an ImprovedInstantMessage + + Thread sync lock object - - - Construct a new instance of the InstantMessageEventArgs object - - the InstantMessage object - the simulator where the InstantMessage origniated + + The event subscribers. null if no subcribers - - Get the InstantMessage object + + Thread sync lock object - - Get the simulator where the InstantMessage origniated + + The event subscribers. null if no subcribers - - Contains the currency balance + + Thread sync lock object - - - Construct a new BalanceEventArgs object - - The currenct balance + + The event subscribers. null if no subcribers - - - Get the currenct balance - + + Thread sync lock object - - Contains the transaction summary when an item is purchased, - money is given, or land is purchased + + The event subscribers. null if no subcribers - - - Construct a new instance of the MoneyBalanceReplyEventArgs object - - The ID of the transaction - True of the transaction was successful - The current currency balance - The meters credited - The meters comitted - A brief description of the transaction + + Thread sync lock object - - Get the ID of the transaction + + The event subscribers. null if no subcribers - - True of the transaction was successful + + Thread sync lock object - - Get the remaining currency balance + + The event subscribers. null if no subcribers - - Get the meters credited + + Thread sync lock object - - Get the meters comitted + + The event subscribers. null if no subcribers - - Get the description of the transaction + + Thread sync lock object - - Data sent from the simulator containing information about your agent and active group information - - - - Construct a new instance of the AgentDataReplyEventArgs object - - The agents first name - The agents last name - The agents active group ID - The group title of the agents active group - The combined group powers the agent has in the active group - The name of the group the agent has currently active - - - Get the agents first name - - - Get the agents last name + + Raised when the data server responds to a request. - - Get the active group ID of your agent + + Raised when the data server responds to a request. - - Get the active groups title of your agent + + Raised when the data server responds to a request. - - Get the combined group powers of your agent + + Raised when the data server responds to a request. - - Get the active group name of your agent + + Raised when the data server responds to a request. - - Data sent by the simulator to indicate the active/changed animations - applied to your agent + + Raised when the data server responds to a request. - - - Construct a new instance of the AnimationsChangedEventArgs class - - The dictionary that contains the changed animations + + Raised when the data server responds to a request. - - Get the dictionary that contains the changed animations + + Raised when the data server responds to a request. - - - Data sent from a simulator indicating a collision with your agent - + + Raises the TopCollidersReply event + A TopCollidersReplyEventArgs object containing the + data returned from the data server - - - Construct a new instance of the MeanCollisionEventArgs class - - The type of collision that occurred - The ID of the agent or object that perpetrated the agression - The ID of the Victim - The strength of the collision - The Time the collision occurred + + Raises the TopScriptsReply event + A TopScriptsReplyEventArgs object containing the + data returned from the data server - - Get the Type of collision + + Raises the EstateUsersReply event + A EstateUsersReplyEventArgs object containing the + data returned from the data server - - Get the ID of the agent or object that collided with your agent + + Raises the EstateGroupsReply event + A EstateGroupsReplyEventArgs object containing the + data returned from the data server - - Get the ID of the agent that was attacked + + Raises the EstateManagersReply event + A EstateManagersReplyEventArgs object containing the + data returned from the data server - - A value indicating the strength of the collision + + Raises the EstateBansReply event + A EstateBansReplyEventArgs object containing the + data returned from the data server - - Get the time the collision occurred + + Raises the EstateCovenantReply event + A EstateCovenantReplyEventArgs object containing the + data returned from the data server - - Data sent to your agent when it crosses region boundaries + + Raises the EstateUpdateInfoReply event + A EstateUpdateInfoReplyEventArgs object containing the + data returned from the data server - + - Construct a new instance of the RegionCrossedEventArgs class + Requests estate information such as top scripts and colliders - The simulator your agent just left - The simulator your agent is now in + + + + + + + + - - Get the simulator your agent just left + + Requests estate settings, including estate manager and access/ban lists - - Get the simulator your agent is now in + + Requests the "Top Scripts" list for the current region - - Data sent from the simulator when your agent joins a group chat session + + Requests the "Top Colliders" list for the current region - + - Construct a new instance of the GroupChatJoinedEventArgs class + Set several estate specific configuration variables - The ID of the session - The name of the session - A temporary session id used for establishing new sessions - True of your agent successfully joined the session - - - Get the ID of the group chat session - - - Get the name of the session - - - Get the temporary session ID used for establishing new sessions - - - True if your agent successfully joined the session - - - Data sent by the simulator containing urgent messages + The Height of the waterlevel over the entire estate. Defaults to 20 + The maximum height change allowed above the baked terrain. Defaults to 4 + The minimum height change allowed below the baked terrain. Defaults to -4 + true to use + if True forces the sun position to the position in SunPosition + The current position of the sun on the estate, or when FixedSun is true the static position + the sun will remain. 6.0 = Sunrise, 30.0 = Sunset - + - Construct a new instance of the AlertMessageEventArgs class + Request return of objects owned by specified avatar - The alert message - - - Get the alert message - - - Data sent by a script requesting to take or release specified controls to your agent + The Agents owning the primitives to return + specify the coverage and type of objects to be included in the return + true to perform return on entire estate - + - Construct a new instance of the ScriptControlEventArgs class - The controls the script is attempting to take or release to the agent - True if the script is passing controls back to the agent - True if the script is requesting controls be released to the script + + + + - - Get the controls the script is attempting to take or release to the agent + + + Used for setting and retrieving various estate panel settings + + EstateOwnerMessage Method field + List of parameters to include - - True if the script is passing controls back to the agent + + + Kick an avatar from an estate + + Key of Agent to remove - - True if the script is requesting controls be released to the script + + + Ban an avatar from an estate + Key of Agent to remove + Ban user from this estate and all others owned by the estate owner - + + Unban an avatar from an estate + Key of Agent to remove + /// Unban user from this estate and all others owned by the estate owner + - Data sent from the simulator to an agent to indicate its view limits + Send a message dialog to everyone in an entire estate + Message to send all users in the estate - + - Construct a new instance of the CameraConstraintEventArgs class + Send a message dialog to everyone in a simulator - The collision plane + Message to send all users in the simulator - - Get the collision plane + + + Send an avatar back to their home location + + Key of avatar to send home - + - Data containing script sensor requests which allow an agent to know the specific details - of a primitive sending script sensor requests + Begin the region restart process - + - Construct a new instance of the ScriptSensorReplyEventArgs + Cancels a region restart - The ID of the primitive sending the sensor - The ID of the group associated with the primitive - The name of the primitive sending the sensor - The ID of the primitive sending the sensor - The ID of the owner of the primitive sending the sensor - The position of the primitive sending the sensor - The range the primitive specified to scan - The rotation of the primitive sending the sensor - The type of sensor the primitive sent - The velocity of the primitive sending the sensor - - Get the ID of the primitive sending the sensor + + Estate panel "Region" tab settings - - Get the ID of the group associated with the primitive + + Estate panel "Debug" tab settings - - Get the name of the primitive sending the sensor + + Used for setting the region's terrain textures for its four height levels + + + + + + + + - - Get the ID of the primitive sending the sensor + + Used for setting sim terrain texture heights - - Get the ID of the owner of the primitive sending the sensor - - - Get the position of the primitive sending the sensor + + Requests the estate covenant - - Get the range the primitive specified to scan + + + Upload a terrain RAW file + + A byte array containing the encoded terrain data + The name of the file being uploaded + The Id of the transfer request - - Get the rotation of the primitive sending the sensor + + + Teleports all users home in current Estate + - - Get the type of sensor the primitive sent + + + Remove estate manager + Key of Agent to Remove + removes manager to this estate and all others owned by the estate owner - - Get the velocity of the primitive sending the sensor + + + Add estate manager + Key of Agent to Add + Add agent as manager to this estate and all others owned by the estate owner - - Contains the response data returned from the simulator in response to a + + + Add's an agent to the estate Allowed list + Key of Agent to Add + Add agent as an allowed reisdent to All estates if true - - Construct a new instance of the AvatarSitResponseEventArgs object + + + Removes an agent from the estate Allowed list + Key of Agent to Remove + Removes agent as an allowed reisdent from All estates if true - - Get the ID of the primitive the agent will be sitting on + + + Add's a group to the estate Allowed list + Key of Group to Add + Add Group as an allowed group to All estates if true - - True if the simulator Autopilot functions were involved + + + Removes a group from the estate Allowed list + Key of Group to Remove + Removes Group as an allowed Group from All estates if true - - Get the camera offset of the agent when seated + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Get the camera eye offset of the agent when seated + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - True of the agent will be in mouselook mode when seated + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Get the position of the agent when seated + + Raised on LandStatReply when the report type is for "top colliders" - - Get the rotation of the agent when seated + + Construct a new instance of the TopCollidersReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply - - Data sent when an agent joins a chat session your agent is currently participating in + + + The number of returned items in LandStatReply + - + - Construct a new instance of the ChatSessionMemberAddedEventArgs object + A Dictionary of Object UUIDs to tasks returned in LandStatReply - The ID of the chat session - The ID of the agent joining - - Get the ID of the chat session + + Raised on LandStatReply when the report type is for "top Scripts" - - Get the ID of the agent that joined + + Construct a new instance of the TopScriptsReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply - - Data sent when an agent exits a chat session your agent is currently participating in + + + The number of scripts returned in LandStatReply + - + - Construct a new instance of the ChatSessionMemberLeftEventArgs object + A Dictionary of Object UUIDs to tasks returned in LandStatReply - The ID of the chat session - The ID of the Agent that left - - Get the ID of the chat session + + Returned, along with other info, upon a successful .RequestInfo() - - Get the ID of the agent that left + + Construct a new instance of the EstateBansReplyEventArgs class + The estate's identifier on the grid + The number of returned items in LandStatReply + User UUIDs banned - + - Return a decoded capabilities message as a strongly typed object + The identifier of the estate - A string containing the name of the capabilities message key - An to decode - A strongly typed object containing the decoded information from the capabilities message, or null - if no existing Message object exists for the specified event - + - Represents a string of characters encoded with specific formatting properties + The number of returned itmes - - A text string containing main text of the notecard + + + List of UUIDs of Banned Users + - - List of s embedded on the notecard + + Returned, along with other info, upon a successful .RequestInfo() - - Construct an Asset of type Notecard + + Construct a new instance of the EstateUsersReplyEventArgs class + The estate's identifier on the grid + The number of users + Allowed users UUIDs - + - Construct an Asset object of type Notecard + The identifier of the estate - A unique specific to this asset - A byte array containing the raw asset data - + - Encode the raw contents of a string with the specific Linden Text properties + The number of returned items - + - Decode the raw asset data including the Linden Text properties + List of UUIDs of Allowed Users - true if the AssetData was successfully decoded - - Override the base classes AssetType + + Returned, along with other info, upon a successful .RequestInfo() - + + Construct a new instance of the EstateGroupsReplyEventArgs class + The estate's identifier on the grid + The number of Groups + Allowed Groups UUIDs + + - Class for controlling various system settings. + The identifier of the estate - Some values are readonly because they affect things that - happen when the GridClient object is initialized, so changing them at - runtime won't do any good. Non-readonly values may affect things that - happen at login or dynamically - - - Main grid login server - - - Beta grid login server - + - InventoryManager requests inventory information on login, - GridClient initializes an Inventory store for main inventory. + The number of returned items - + - InventoryManager requests library information on login, - GridClient initializes an Inventory store for the library. + List of UUIDs of Allowed Groups - - Number of milliseconds between sending pings to each sim - - - Number of milliseconds between sending camera updates + + Returned, along with other info, upon a successful .RequestInfo() - - Number of milliseconds between updating the current - positions of moving, non-accelerating and non-colliding objects + + Construct a new instance of the EstateManagersReplyEventArgs class + The estate's identifier on the grid + The number of Managers + Managers UUIDs - - Millisecond interval between ticks, where all ACKs are - sent out and the age of unACKed packets is checked + + + The identifier of the estate + - - The initial size of the packet inbox, where packets are - stored before processing + + + The number of returned items + - - Maximum size of packet that we want to send over the wire + + + List of UUIDs of the Estate's Managers + - - The maximum value of a packet sequence number before it - rolls over back to one + + Returned, along with other info, upon a successful .RequestInfo() - - The maximum size of the sequence number archive, used to - check for resent and/or duplicate packets + + Construct a new instance of the EstateCovenantReplyEventArgs class + The Covenant ID + The timestamp + The estate's name + The Estate Owner's ID (can be a GroupID) - - The relative directory where external resources are kept + + + The Covenant + - - Login server to connect to - - - IP Address the client will bind to - - - Use XML-RPC Login or LLSD Login, default is XML-RPC Login - - - Number of milliseconds before an asset transfer will time - out - - - Number of milliseconds before a teleport attempt will time - out - - - Number of milliseconds before NetworkManager.Logout() will - time out - - - Number of milliseconds before a CAPS call will time out - Setting this too low will cause web requests time out and - possibly retry repeatedly - - - Number of milliseconds for xml-rpc to timeout - - - Milliseconds before a packet is assumed lost and resent - - - Milliseconds without receiving a packet before the - connection to a simulator is assumed lost - - - Milliseconds to wait for a simulator info request through - the grid interface - - - Maximum number of queued ACKs to be sent before SendAcks() - is forced - - - Network stats queue length (seconds) - - - Enable/disable storing terrain heightmaps in the - TerrainManager + + + The timestamp + - - Enable/disable sending periodic camera updates + + + The Estate name + - - Enable/disable automatically setting agent appearance at - login and after sim crossing + + + The Estate Owner's ID (can be a GroupID) + - - Enable/disable automatically setting the bandwidth throttle - after connecting to each simulator - The default throttle uses the equivalent of the maximum - bandwidth setting in the official client. If you do not set a - throttle your connection will by default be throttled well below - the minimum values and you may experience connection problems + + Returned, along with other info, upon a successful .RequestInfo() - - Enable/disable the sending of pings to monitor lag and - packet loss + + Construct a new instance of the EstateUpdateInfoReplyEventArgs class + The estate's name + The Estate Owners ID (can be a GroupID) + The estate's identifier on the grid + + - - Should we connect to multiple sims? This will allow - viewing in to neighboring simulators and sim crossings - (Experimental) + + + The estate's name + - - If true, all object update packets will be decoded in to - native objects. If false, only updates for our own agent will be - decoded. Registering an event handler will force objects for that - type to always be decoded. If this is disabled the object tracking - will have missing or partial prim and avatar information + + + The Estate Owner's ID (can be a GroupID) + - - If true, when a cached object check is received from the - server the full object info will automatically be requested + + + The identifier of the estate on the grid + - - Whether to establish connections to HTTP capabilities - servers for simulators + + + - - Whether to decode sim stats + + + Registers, unregisters, and fires events generated by incoming packets + - - The capabilities servers are currently designed to - periodically return a 502 error which signals for the client to - re-establish a connection. Set this to true to log those 502 errors + + + Default constructor + + + - - If true, any reference received for a folder or item - the library is not aware of will automatically be fetched + + + Object that is passed to worker threads in the ThreadPool for + firing packet callbacks + - - If true, and SEND_AGENT_UPDATES is true, - AgentUpdate packets will continuously be sent out to give the bot - smoother movement and autopiloting + + Callback to fire for this packet - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectAvatars. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received + + Reference to the simulator that this packet came from - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectPrimitives. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received + + The packet that needs to be processed - - If true, position and velocity will periodically be - interpolated (extrapolated, technically) for objects and - avatars that are being tracked by the library. This is - necessary to increase the accuracy of speed and position - estimates for simulated objects + + Reference to the GridClient object - + - If true, utilization statistics will be tracked. There is a minor penalty - in CPU time for enabling this option. + Register an event handler + Use PacketType.Default to fire this event on every + incoming packet + Packet type to register the handler for + Callback to be fired + True if this callback should be ran + asynchronously, false to run it synchronous - - If true, parcel details will be stored in the - Simulator.Parcels dictionary as they are received + + + Unregister an event handler + + Packet type to unregister the handler for + Callback to be unregistered - + - If true, an incoming parcel properties reply will automatically send - a request for the parcel access list + Fire the events registered for this packet type + Incoming packet type + Incoming packet + Simulator this packet was received from - + - if true, an incoming parcel properties reply will automatically send - a request for the traffic count. + Registers, unregisters, and fires events generated by the Capabilities + event queue - + - If true, images, and other assets downloaded from the server - will be cached in a local directory + Default constructor + Reference to the GridClient object - - Path to store cached texture data + + + Object that is passed to worker threads in the ThreadPool for + firing CAPS callbacks + - - Maximum size cached files are allowed to take on disk (bytes) + + Callback to fire for this packet - - Default color used for viewer particle effects + + Name of the CAPS event - - Maximum number of times to resend a failed packet + + Strongly typed decoded data - - Throttle outgoing packet rate + + Reference to the simulator that generated this event - - UUID of a texture used by some viewers to indentify type of client used + + Reference to the GridClient object - + - Download textures using GetTexture capability when available + Register an new event handler for a capabilities event sent via the EventQueue + Use String.Empty to fire this event on every CAPS event + Capability event name to register the + handler for + Callback to fire - - The maximum number of concurrent texture downloads allowed - Increasing this number will not necessarily increase texture retrieval times due to - simulator throttles - - + - The Refresh timer inteval is used to set the delay between checks for stalled texture downloads + Unregister a previously registered capabilities handler - This is a static variable which applies to all instances + Capability event name unregister the + handler for + Callback to unregister - + - Textures taking longer than this value will be flagged as timed out and removed from the pipeline + Fire the events registered for this event type synchronously + Capability name + Decoded event body + Reference to the simulator that + generated this event - + - Get or set the minimum log level to output to the console by default - - If the library is not compiled with DEBUG defined and this level is set to DEBUG - You will get no output on the console. This behavior can be overriden by creating - a logger configuration file for log4net + Fire the events registered for this event type asynchronously + Capability name + Decoded event body + Reference to the simulator that + generated this event - - Attach avatar names to log messages - - - Log packet retransmission info - - - Constructor - Reference to a GridClient object - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Cost of uploading an asset - Read-only since this value is dynamically fetched at login - - - - NetworkManager is responsible for managing the network layer of - OpenMetaverse. It tracks all the server connections, serializes - outgoing traffic and deserializes incoming traffic, and provides - instances of delegates for network-related events. - + - Login Routines - - The event subscribers, null of no subscribers - - - Raises the PacketSent Event - A PacketSentEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the LoggedOut Event - A LoggedOutEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the SimConnecting Event - A SimConnectingEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the SimConnected Event - A SimConnectedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the SimDisconnected Event - A SimDisconnectedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the Disconnected Event - A DisconnectedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the SimChanged Event - A SimChangedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the EventQueueRunning Event - A EventQueueRunningEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - All of the simulators we are currently connected to - - - Handlers for incoming capability events + + The avatar has no rights - - Handlers for incoming packets + + The avatar can see the online status of the target avatar - - Incoming packets that are awaiting handling + + The avatar can see the location of the target avatar on the map - - Outgoing packets that are awaiting handling + + The avatar can modify the ojects of the target avatar - + - Default constructor + This class holds information about an avatar in the friends list. There are two ways + to interface to this class. The first is through the set of boolean properties. This is the typical + way clients of this class will use it. The second interface is through two bitflag properties, + TheirFriendsRights and MyFriendsRights - Reference to the GridClient object - + - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library + Used internally when building the initial list of friends at login time - Packet type to trigger events for - Callback to fire when a packet of this type - is received + System ID of the avatar being prepesented + Rights the friend has to see you online and to modify your objects + Rights you have to see your friend online and to modify their objects - + - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library + System ID of the avatar - Packet type to trigger events for - Callback to fire when a packet of this type - is received - True if the callback should be ran - asynchronously. Only set this to false (synchronous for callbacks - that will always complete quickly) - If any callback for a packet type is marked as - asynchronous, all callbacks for that packet type will be fired - asynchronously - + - Unregister an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library + full name of the avatar - Packet type this callback is registered with - Callback to stop firing events for - + - Register a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library + True if the avatar is online - Name of the CAPS event to register a handler for - Callback to fire when a CAPS event is received - + - Unregister a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library + True if the friend can see if I am online - Name of the CAPS event this callback is - registered with - Callback to stop firing events for - + - Send a packet to the simulator the avatar is currently occupying + True if the friend can see me on the map - Packet to send - + - Send a packet to a specified simulator + True if the freind can modify my objects - Packet to send - Simulator to send the packet to - + - Connect to a simulator + True if I can see if my friend is online - IP address to connect to - Port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null - + - Connect to a simulator + True if I can see if my friend is on the map - IP address and port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null - + - Initiate a blocking logout request. This will return when the logout - handshake has completed or when Settings.LOGOUT_TIMEOUT - has expired and the network layer is manually shut down + True if I can modify my friend's objects - + - Initiate the logout process. Check if logout succeeded with the - OnLogoutReply event, and if this does not fire the - Shutdown() function needs to be manually called + My friend's rights represented as bitmapped flags - + - Close a connection to the given simulator + My rights represented as bitmapped flags - - - + - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout + FriendInfo represented as a string - Type of shutdown + A string reprentation of both my rights and my friends rights - + - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout + This class is used to add and remove avatars from your friends list and to manage their permission. - Type of shutdown - Shutdown message - + - Searches through the list of currently connected simulators to find - one attached to the given IPEndPoint + Internal constructor - IPEndPoint of the Simulator to search for - A Simulator reference on success, otherwise null + A reference to the GridClient Object - - - Fire an event when an event queue connects for capabilities - - Simulator the event queue is attached to + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - - Raises the LoginProgress Event - A LoginProgressEventArgs object containing - the data sent from the simulator + + Thread sync lock object - + + The event subscribers. null if no subcribers + + Thread sync lock object - - Seed CAPS URL returned from the login server + + The event subscribers. null if no subcribers - - A list of packets obtained during the login process which - networkmanager will log but not process + + Thread sync lock object - + + The event subscribers. null if no subcribers + + + Thread sync lock object + + - Generate sane default values for a login request + A dictionary of key/value pairs containing known friends of this avatar. + The Key is the of the friend, the value is a + object that contains detailed information including permissions you have and have given to the friend - Account first name - Account last name - Account password - Client application name - Client application version - A populated struct containing - sane defaults - + - Simplified login that takes the most common and required fields + A Dictionary of key/value pairs containing current pending frienship offers. + The key is the of the avatar making the request, + the value is the of the request which is used to accept + or decline the friendship offer - Account first name - Account last name - Account password - Client application name - Client application version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - + + Raised when the simulator sends notification one of the members in our friends list comes online + + + Raised when the simulator sends notification one of the members in our friends list goes offline + + + Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions + + + Raised when the simulator sends us the names on our friends list + + + Raised when the simulator sends notification another agent is offering us friendship + + + Raised when a request we sent to friend another agent is accepted or declined + + + Raised when the simulator sends notification one of the members in our friends list has terminated + our friendship + + + Raised when the simulator sends the location of a friend we have + requested map location info for + + + Raises the FriendOnline event + A FriendInfoEventArgs object containing the + data returned from the data server + + + Raises the FriendOffline event + A FriendInfoEventArgs object containing the + data returned from the data server + + + Raises the FriendRightsUpdate event + A FriendInfoEventArgs object containing the + data returned from the data server + + + Raises the FriendNames event + A FriendNamesEventArgs object containing the + data returned from the data server + + + Raises the FriendshipOffered event + A FriendshipOfferedEventArgs object containing the + data returned from the data server + + + Raises the FriendshipResponse event + A FriendshipResponseEventArgs object containing the + data returned from the data server + + + Raises the FriendshipTerminated event + A FriendshipTerminatedEventArgs object containing the + data returned from the data server + + + Raises the FriendFoundReply event + A FriendFoundReplyEventArgs object containing the + data returned from the data server + + - Simplified login that takes the most common fields along with a - starting location URI, and can accept an MD5 string instead of a - plaintext password + Accept a friendship request - Account first name - Account last name - Account password or MD5 hash of the password - such as $1$1682a1e45e9f957dcdf0bb56eb43319c - Client application name - Starting location URI that can be built with - StartLocation() - Client application version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error + agentID of avatatar to form friendship with + imSessionID of the friendship request message - + - Login that takes a struct of all the values that will be passed to - the login server + Decline a friendship request - The values that will be passed to the login - server, all fields must be set even if they are String.Empty - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error + + of friend + imSessionID of the friendship request message - + - Build a start location URI for passing to the Login function + Overload: Offer friendship to an avatar. - Name of the simulator to start in - X coordinate to start at - Y coordinate to start at - Z coordinate to start at - String with a URI that can be used to login to a specified - location + System ID of the avatar you are offering friendship to - + - Handles response from XML-RPC login replies + Offer friendship to an avatar. + System ID of the avatar you are offering friendship to + A message to send with the request - + - Handle response from LLSD login replies + Terminate a friendship with an avatar - - - + System ID of the avatar you are terminating the friendship with - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + - Get current OS + Change the rights of a friend avatar. - Either "Win" or "Linux" + the of the friend + the new rights to give the friend + This method will implicitly set the rights to those passed in the rights parameter. - + - Get clients default Mac Address + Use to map a friends location on the grid. - A string containing the first found Mac Address - - - Raised when the simulator sends us data containing - ... + Friends UUID to find + + + - - Raised when the simulator sends us data containing - ... + + + Use to track a friends movement on the grid + + Friends Key - - Raised when the simulator sends us data containing - ... + + + Ask for a notification of friend's online status + + Friend's UUID - - Raised when the simulator sends us data containing - ... + + + This handles the asynchronous response of a RequestAvatarNames call. + + + + names cooresponding to the the list of IDs sent the the RequestAvatarNames call. - - Raised when the simulator sends us data containing - ... + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Raised when the simulator sends us data containing - ... + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Raised when the simulator sends us data containing - ... + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Raised when the simulator sends us data containing - ... + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Unique identifier associated with our connections to - simulators + + + Populate FriendList with data from the login reply + + true if login was successful + true if login request is requiring a redirect + A string containing the response to the login request + A string containing the reason for the request + A object containing the decoded + reply from the login server - - The simulator that the logged in avatar is currently - occupying + + Contains information on a member of our friends list - - Shows whether the network layer is logged in to the - grid or not + + + Construct a new instance of the FriendInfoEventArgs class + + The FriendInfo - - Number of packets in the incoming queue + + Get the FriendInfo - - Number of packets in the outgoing queue + + Contains Friend Names - - Raised when the simulator sends us data containing - ... + + + Construct a new instance of the FriendNamesEventArgs class + + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name - - Called when a reply is received from the login server, the - login sequence will block until this event returns + + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name - - Current state of logging in + + Sent when another agent requests a friendship with our agent - - Upon login failure, contains a short string key for the - type of login error that occurred + + + Construct a new instance of the FriendshipOfferedEventArgs class + + The ID of the agent requesting friendship + The name of the agent requesting friendship + The ID of the session, used in accepting or declining the + friendship offer - - The raw XML-RPC reply from the login server, exactly as it - was received (minus the HTTP header) + + Get the ID of the agent requesting friendship - - During login this contains a descriptive version of - LoginStatusCode. After a successful login this will contain the - message of the day, and after a failed login a descriptive error - message will be returned + + Get the name of the agent requesting friendship - + + Get the ID of the session, used in accepting or declining the + friendship offer + + + A response containing the results of our request to form a friendship with another agent + + - Explains why a simulator or the grid disconnected from us + Construct a new instance of the FriendShipResponseEventArgs class + The ID of the agent we requested a friendship with + The name of the agent we requested a friendship with + true if the agent accepted our friendship offer - - The client requested the logout or simulator disconnect + + Get the ID of the agent we requested a friendship with - - The server notified us that it is disconnecting + + Get the name of the agent we requested a friendship with - - Either a socket was closed or network traffic timed out + + true if the agent accepted our friendship offer - - The last active simulator shut down + + Contains data sent when a friend terminates a friendship with us - + - Holds a simulator reference and a decoded packet, these structs are put in - the packet inbox for event handling + Construct a new instance of the FrindshipTerminatedEventArgs class + The ID of the friend who terminated the friendship with us + The name of the friend who terminated the friendship with us - - Reference to the simulator that this packet came from + + Get the ID of the agent that terminated the friendship with us - - Packet that needs to be processed + + Get the name of the agent that terminated the friendship with us - + - Holds a simulator reference and a serialized packet, these structs are put in - the packet outbox for sending + Data sent in response to a request which contains the information to allow us to map the friends location - - Reference to the simulator this packet is destined for - - - Packet that needs to be sent + + + Construct a new instance of the FriendFoundReplyEventArgs class + + The ID of the agent we have requested location information for + The region handle where our friend is located + The simulator local position our friend is located - - Sequence number of the wrapped packet + + Get the ID of the agent we have received location information for - - Number of times this packet has been resent + + Get the region handle where our mapped friend is located - - Environment.TickCount when this packet was last sent over the wire + + Get the simulator local position where our friend is located - + - + Main class to expose grid functionality to clients. All of the + classes needed for sending and receiving data are accessible through + this class. - - - - - + + + // Example minimum code required to instantiate class and + // connect to a simulator. + using System; + using System.Collections.Generic; + using System.Text; + using OpenMetaverse; + namespace FirstBot + { + class Bot + { + public static GridClient Client; + static void Main(string[] args) + { + Client = new GridClient(); // instantiates the GridClient class + // to the global Client object + // Login to Simulator + Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); + // Wait for a Keypress + Console.ReadLine(); + // Logout of simulator + Client.Network.Logout(); + } + } + } + + - + - Type of return to use when returning objects from a parcel + Default constructor - - - - - Return objects owned by parcel owner + + Networking subsystem - - Return objects set to group + + Settings class including constant values and changeable + parameters for everything - - Return objects not owned by parcel owner or set to group + + Parcel (subdivided simulator lots) subsystem - - Return a specific list of objects on parcel + + Our own avatars subsystem - - Return objects that are marked for-sale + + Other avatars subsystem - - - Blacklist/Whitelist flags used in parcels Access List - + + Estate subsystem - - Agent is denied access + + Friends list subsystem - - Agent is granted access + + Grid (aka simulator group) subsystem - - - The result of a request for parcel properties - + + Object subsystem - - No matches were found for the request + + Group subsystem - - Request matched a single parcel + + Asset subsystem - - Request matched multiple parcels + + Appearance subsystem - - - Flags used in the ParcelAccessListRequest packet to specify whether - we want the access list (whitelist), ban list (blacklist), or both - + + Inventory subsystem - - Request the access list + + Directory searches including classifieds, people, land + sales, etc - - Request the ban list + + Handles land, wind, and cloud heightmaps - - Request both White and Black lists + + Handles sound-related networking - + + Throttling total bandwidth usage, or allocating bandwidth + for specific data stream types + + - Sequence ID in ParcelPropertiesReply packets (sent when avatar - tries to cross a parcel border) + Return the full name of this instance + Client avatars full name - - Parcel is currently selected - - - Parcel restricted to a group the avatar is not a - member of + + + Map layer request type + - - Avatar is banned from the parcel + + Objects and terrain are shown - - Parcel is restricted to an access list that the - avatar is not on + + Only the terrain is shown, no objects - - Response to hovering over a parcel + + Overlay showing land for sale and for auction - + - The tool to use when modifying terrain levels + Type of grid item, such as telehub, event, populator location, etc. - - Level the terrain + + Telehub - - Raise the terrain + + PG rated event - - Lower the terrain + + Mature rated event - - Smooth the terrain + + Popular location - - Add random noise to the terrain + + Locations of avatar groups in a region - - Revert terrain to simulator default + + Land for sale - + + Classified ad + + + Adult rated event + + + Adult land for sale + + - The tool size to use when changing terrain levels + Information about a region on the grid map - - Small + + Sim X position on World Map - - Medium + + Sim Y position on World Map - - Large + + Sim Name (NOTE: In lowercase!) - + - Reasons agent is denied access to a parcel on the simulator - - Agent is not denied, access is granted + + Appears to always be zero (None) - - Agent is not a member of the group set for the parcel, or which owns the parcel + + Sim's defined Water Height - - Agent is not on the parcels specific allow list + + + - - Agent is on the parcels ban list + + UUID of the World Map image - - Unknown + + Unique identifier for this region, a combination of the X + and Y position - - Agent is not age verified and parcel settings deny access to non age verified avatars + + + + + - + - Parcel overlay type. This is used primarily for highlighting and - coloring which is why it is a single integer instead of a set of - flags - These values seem to be poorly thought out. The first three - bits represent a single value, not flags. For example Auction (0x05) is - not a combination of OwnedByOther (0x01) and ForSale(0x04). However, - the BorderWest and BorderSouth values are bit flags that get attached - to the value stored in the first three bits. Bits four, five, and six - are unused + + - - Public land + + + + + + + - - Land is owned by another avatar + + + Visual chunk of the grid map + - - Land is owned by a group + + + Base class for Map Items + - - Land is owned by the current avatar + + The Global X position of the item - - Land is for sale + + The Global Y position of the item - - Land is being auctioned + + Get the Local X position of the item - - To the west of this area is a parcel border + + Get the Local Y position of the item - - To the south of this area is a parcel border + + Get the Handle of the region - + - Various parcel properties + Represents an agent or group of agents location - - No flags set + + + Represents a Telehub location + - - Allow avatars to fly (a client-side only restriction) + + + Represents a non-adult parcel of land for sale + - - Allow foreign scripts to run + + + Represents an Adult parcel of land for sale + - - This parcel is for sale + + + Represents a PG Event + - - Allow avatars to create a landmark on this parcel + + + Represents a Mature event + - - Allows all avatars to edit the terrain on this parcel + + + Represents an Adult event + - - Avatars have health and can take damage on this parcel. - If set, avatars can be killed and sent home here + + + Manages grid-wide tasks such as the world map + - - Foreign avatars can create objects here + + + Constructor + + Instance of GridClient object to associate with this GridManager instance - - All objects on this parcel can be purchased + + The event subscribers. null if no subcribers - - Access is restricted to a group + + Thread sync lock object - - Access is restricted to a whitelist + + The event subscribers. null if no subcribers - - Ban blacklist is enabled + + Thread sync lock object - - Unknown + + The event subscribers. null if no subcribers - - List this parcel in the search directory + + Thread sync lock object - - Allow personally owned parcels to be deeded to group + + The event subscribers. null if no subcribers - - If Deeded, owner contributes required tier to group parcel is deeded to + + Thread sync lock object - - Restrict sounds originating on this parcel to the - parcel boundaries + + The event subscribers. null if no subcribers - - Objects on this parcel are sold when the land is - purchsaed + + Thread sync lock object - - Allow this parcel to be published on the web + + A dictionary of all the regions, indexed by region name - - The information for this parcel is mature content + + A dictionary of all the regions, indexed by region handle - - The media URL is an HTML page + + Raised when the simulator sends a + containing the location of agents in the simulator - - The media URL is a raw HTML string + + Raised when the simulator sends a Region Data in response to + a Map request - - Restrict foreign object pushes + + Raised when the simulator sends GridLayer object containing + a map tile coordinates and texture information - - Ban all non identified/transacted avatars + + Raised when the simulator sends GridItems object containing + details on events, land sales at a specific location - - Allow group-owned scripts to run + + Raised in response to a Region lookup - - Allow object creation by group members or group - objects + + Unknown - - Allow all objects to enter this parcel + + Current direction of the sun - - Only allow group and owner objects to enter this parcel + + Current angular velocity of the sun - - Voice Enabled on this parcel + + Microseconds since the start of SL 4-hour day - - Use Estate Voice channel for Voice on this parcel + + Raises the CoarseLocationUpdate event + A CoarseLocationUpdateEventArgs object containing the + data sent by simulator - - Deny Age Unverified Users + + Raises the GridRegion event + A GridRegionEventArgs object containing the + data sent by simulator - + + Raises the GridLayer event + A GridLayerEventArgs object containing the + data sent by simulator + + + Raises the GridItems event + A GridItemEventArgs object containing the + data sent by simulator + + + Raises the RegionHandleReply event + A RegionHandleReplyEventArgs object containing the + data sent by simulator + + - Parcel ownership status + + - - Placeholder - - - Parcel is leased (owned) by an avatar or group + + + Request a map layer + + The name of the region + The type of layer - - Parcel is in process of being leased (purchased) by an avatar or group + + + + + + + + + + + + + + + - - Parcel has been abandoned back to Governor Linden + + + + + + + + + + + + + - + - Category parcel is listed in under search + + + + + + - - No assigned category + + + Request data for all mainland (Linden managed) simulators + - - Linden Infohub or public area + + + Request the region handle for the specified region UUID + + UUID of the region to look up - - Adult themed area + + + Get grid region information using the region name, this function + will block until it can find the region or gives up + + Name of sim you're looking for + Layer that you are requesting + Will contain a GridRegion for the sim you're + looking for if successful, otherwise an empty structure + True if the GridRegion was successfully fetched, otherwise + false - - Arts and Culture + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Business + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Educational + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Gaming + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Hangout or Club + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Newcomer friendly + + + Avatar group management + - - Parks and Nature + + Key of Group Member - - Residential + + Total land contribution - - Shopping + + Online status information - - Not Used? + + Abilities that the Group Member has - - Other + + Current group title - - Not an actual category, only used for queries + + Is a group owner - + - Type of teleport landing for a parcel + Role manager for a group - - Unset, simulator default + + Key of the group - - Specific landing point set for this parcel + + Key of Role - - No landing point set, direct teleports enabled for - this parcel + + Name of Role - - - Parcel Media Command used in ParcelMediaCommandMessage - + + Group Title associated with Role - - Stop the media stream and go back to the first frame + + Description of Role - - Pause the media stream (stop playing but stay on current frame) + + Abilities Associated with Role - - Start the current media stream playing and stop when the end is reached + + Returns the role's title + The role's title - - Start the current media stream playing, - loop to the beginning when the end is reached and continue to play + + + Class to represent Group Title + - - Specifies the texture to replace with video - If passing the key of a texture, it must be explicitly typecast as a key, - not just passed within double quotes. + + Key of the group - - Specifies the movie URL (254 characters max) - - - Specifies the time index at which to begin playing - - - Specifies a single agent to apply the media command to - - - Unloads the stream. While the stop command sets the texture to the first frame of the movie, - unload resets it to the real texture that the movie was replacing. - - - Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties - (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. + + ID of the role title belongs to - - Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). - Use "text/html" for HTML. + + Group Title - - Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). - This might still not be working + + Whether title is Active - - Sets a description for the media being displayed (1.19.1 RC0 and later only). + + Returns group title - + - Some information about a parcel of land returned from a DirectoryManager search + Represents a group on the grid - - Global Key of record + + Key of Group - - Parcel Owners + + Key of Group Insignia - - Name field of parcel, limited to 128 characters + + Key of Group Founder - - Description field of parcel, limited to 256 characters + + Key of Group Role for Owners - - Total Square meters of parcel + + Name of Group - - Total area billable as Tier, for group owned land this will be 10% less than ActualArea + + Text of Group Charter - - True of parcel is in Mature simulator + + Title of "everyone" role - - Grid global X position of parcel + + Is the group open for enrolement to everyone - - Grid global Y position of parcel + + Will group show up in search - - Grid global Z position of parcel (not used) + + + - - Name of simulator parcel is located in + + + - - Texture of parcels display picture + + + - - Float representing calculated traffic based on time spent on parcel by avatars + + Is the group Mature - - Sale price of parcel (not used) + + Cost of group membership - - Auction ID of parcel + + + - + - Parcel Media Information - - A byte, if 0x1 viewer should auto scale media to fit object + + The total number of current members this group has - - A boolean, if true the viewer should loop the media + + The number of roles this group has configured - - The Asset UUID of the Texture which when applied to a - primitive will display the media + + Show this group in agent's profile - - A URL which points to any Quicktime supported media type + + Returns the name of the group + A string containing the name of the group - - A description of the media + + + A group Vote + - - An Integer which represents the height of the media + + Key of Avatar who created Vote - - An integer which represents the width of the media + + Text of the Vote proposal - - A string which contains the mime type of the media + + Total number of votes - + - Parcel of land, a portion of virtual real estate in a simulator + A group proposal - - The total number of contiguous 4x4 meter blocks your agent owns within this parcel + + The Text of the proposal - - The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own + + The minimum number of members that must vote before proposal passes or failes - - Deprecated, Value appears to always be 0 + + The required ration of yes/no votes required for vote to pass + The three options are Simple Majority, 2/3 Majority, and Unanimous + TODO: this should be an enum + + The duration in days votes are accepted - - Simulator-local ID of this parcel + + + - - UUID of the owner of this parcel + + + - - Whether the land is deeded to a group or not + + + - - + + + - - Date land was claimed + + + - - Appears to always be zero + + + - - This field is no longer used + + + - - Minimum corner of the axis-aligned bounding box for this - parcel + + + - - Maximum corner of the axis-aligned bounding box for this - parcel + + + - - Bitmap describing land layout in 4x4m squares across the - entire region + + + - - Total parcel land area + + + - - + + + - - Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used + + + - - Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel - owned by the agent or group that owns this parcel + + + - - Maximum number of primitives this parcel supports + + + - - Total number of primitives on this parcel + + + - - For group-owned parcels this indicates the total number of prims deeded to the group, - for parcels owned by an individual this inicates the number of prims owned by the individual + + + - - Total number of primitives owned by the parcel group on - this parcel, or for parcels owned by an individual with a group set the - total number of prims set to that group. + + + - - Total number of prims owned by other avatars that are not set to group, or not the parcel owner + + + - - A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect - the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed + + + - - Autoreturn value in minutes for others' objects - - - - - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it + + + Struct representing a group notice + - - Parcel Name + + + - - Parcel Description + + + - - URL For Music Stream + + + - - + + + - - Price for a temporary pass + + + + + - - How long is pass valid for + + + Struct representing a group notice list entry + - - + + Notice ID - - Key of authorized buyer + + Creation timestamp of notice - - Key of parcel snapshot + + Agent name who created notice - - The landing point location + + Notice subject - - The landing point LookAt + + Is there an attachment? - - The type of landing enforced from the enum + + Attachment Type - - + + + Struct representing a member of a group chat session and their settings + - - + + The of the Avatar - - + + True if user has voice chat enabled - - Access list of who is whitelisted on this - parcel + + True of Avatar has moderator abilities - - Access list of who is blacklisted on this - parcel + + True if a moderator has muted this avatars chat - - TRUE of region denies access to age unverified users + + True if a moderator has muted this avatars voice - - true to obscure (hide) media url + + + Role update flags + - - true to obscure (hide) music url + + + - - A struct containing media details + + + - + - Displays a parcel object in string format - string containing key=value pairs of a parcel object - + - Defalt constructor - Local ID of this parcel - + - Update the simulator with any local changes to this Parcel object - Simulator to send updates to - Whether we want the simulator to confirm - the update with a reply packet or not - + - Set Autoreturn time - Simulator to send the update to - + - Parcel (subdivided simulator lots) subsystem - - The event subscribers. null if no subcribers + + Can send invitations to groups default role - - Raises the ParcelDwellReply event - A ParcelDwellReplyEventArgs object containing the - data returned from the simulator + + Can eject members from group - - Thread sync lock object + + Can toggle 'Open Enrollment' and change 'Signup fee' - - The event subscribers. null if no subcribers + + Member is visible in the public member list - - Raises the ParcelInfoReply event - A ParcelInfoReplyEventArgs object containing the - data returned from the simulator + + Can create new roles - - Thread sync lock object + + Can delete existing roles - - The event subscribers. null if no subcribers + + Can change Role names, titles and descriptions - - Raises the ParcelProperties event - A ParcelPropertiesEventArgs object containing the - data returned from the simulator + + Can assign other members to assigners role - - Thread sync lock object + + Can assign other members to any role - - The event subscribers. null if no subcribers + + Can remove members from roles - - Raises the ParcelAccessListReply event - A ParcelAccessListReplyEventArgs object containing the - data returned from the simulator + + Can assign and remove abilities in roles - - Thread sync lock object + + Can change group Charter, Insignia, 'Publish on the web' and which + members are publicly visible in group member listings - - The event subscribers. null if no subcribers + + Can buy land or deed land to group - - Raises the ParcelObjectOwnersReply event - A ParcelObjectOwnersReplyEventArgs object containing the - data returned from the simulator + + Can abandon group owned land to Governor Linden on mainland, or Estate owner for + private estates - - Thread sync lock object + + Can set land for-sale information on group owned parcels - - The event subscribers. null if no subcribers + + Can subdivide and join parcels - - Raises the SimParcelsDownloaded event - A SimParcelsDownloadedEventArgs object containing the - data returned from the simulator + + Can join group chat sessions - - Thread sync lock object + + Can use voice chat in Group Chat sessions - - The event subscribers. null if no subcribers + + Can moderate group chat sessions - - Raises the ForceSelectObjectsReply event - A ForceSelectObjectsReplyEventArgs object containing the - data returned from the simulator + + Can toggle "Show in Find Places" and set search category - - Thread sync lock object + + Can change parcel name, description, and 'Publish on web' settings - - The event subscribers. null if no subcribers + + Can set the landing point and teleport routing on group land - - Raises the ParcelMediaUpdateReply event - A ParcelMediaUpdateReplyEventArgs object containing the - data returned from the simulator + + Can change music and media settings - - Thread sync lock object + + Can toggle 'Edit Terrain' option in Land settings - - The event subscribers. null if no subcribers + + Can toggle various About Land > Options settings - - Raises the ParcelMediaCommand event - A ParcelMediaCommandEventArgs object containing the - data returned from the simulator + + Can always terraform land, even if parcel settings have it turned off - - Thread sync lock object + + Can always fly while over group owned land - - - Default constructor - - A reference to the GridClient object + + Can always rez objects on group owned land - - - Request basic information for a single parcel - - Simulator-local ID of the parcel + + Can always create landmarks for group owned parcels - - - Request properties of a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - multiple simultaneous requests + + Can set home location on any group owned parcel - - - Request the access list for a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelAccessList reply, useful for distinguishing between - multiple simultaneous requests - + + Can modify public access settings for group owned parcels - - - Request properties of parcels using a bounding box selection - - Simulator containing the parcel - Northern boundary of the parcel selection - Eastern boundary of the parcel selection - Southern boundary of the parcel selection - Western boundary of the parcel selection - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - different types of parcel property requests - A boolean that is returned with the - ParcelProperties reply, useful for snapping focus to a single - parcel + + Can manager parcel ban lists on group owned land - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) + + Can manage pass list sales information - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) - If TRUE, will force a full refresh - Number of milliseconds to pause in between each request + + Can eject and freeze other avatars on group owned land - - - Request the dwell value for a parcel - - Simulator containing the parcel - Simulator-local ID of the parcel + + Can return objects set to group - - - Send a request to Purchase a parcel of land - - The Simulator the parcel is located in - The parcels region specific local ID - true if this parcel is being purchased by a group - The groups - true to remove tier contribution if purchase is successful - The parcels size - The purchase price of the parcel - + + Can return non-group owned/set objects - - - Reclaim a parcel of land - - The simulator the parcel is in - The parcels region specific local ID + + Can return group owned objects - - - Deed a parcel to a group - - The simulator the parcel is in - The parcels region specific local ID - The groups + + Can landscape using Linden plants - - - Request prim owners of a parcel of land. - - Simulator parcel is in - The parcels region specific local ID + + Can deed objects to group - - - Return objects from a parcel - - Simulator parcel is in - The parcels region specific local ID - the type of objects to return, - A list containing object owners s to return + + Can move group owned objects - - - Subdivide (split) a parcel - - - - - - + + Can set group owned objects for-sale - - - Join two parcels of land creating a single parcel - - - - - - + + Pay group liabilities and receive group dividends - - - Get a parcels LocalID - - Simulator parcel is in - Vector3 position in simulator (Z not used) - 0 on failure, or parcel LocalID on success. - A call to Parcels.RequestAllSimParcels is required to populate map and - dictionary. + + Can send group notices - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + + Can receive group notices - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + + Can create group proposals - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + + Can vote on group proposals - + - Terraform (raise, lower, etc) an area or whole parcel of land + Handles all network traffic related to reading and writing group + information - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - Height at which the terraform operation is acting at - + - Sends a request to the simulator to return a list of objects owned by specific owners + Construct a new instance of the GroupManager class - Simulator local ID of parcel - Owners, Others, Etc - List containing keys of avatars objects to select; - if List is null will return Objects of type selectType - Response data is returned in the event + A reference to the current instance - - - Eject and optionally ban a user from a parcel - - target key of avatar to eject - true to also ban target + + The event subscribers. null if no subcribers - - - Freeze or unfreeze an avatar over your land - - target key to freeze - true to freeze, false to unfreeze + + Thread sync lock object - - - Abandon a parcel of land - - Simulator parcel is in - Simulator local ID of parcel + + The event subscribers. null if no subcribers - - - Requests the UUID of the parcel in a remote region at a specified location - - Location of the parcel in the remote region - Remote region handle - Remote region UUID - If successful UUID of the remote parcel, UUID.Zero otherwise + + Thread sync lock object - - - Retrieves information on resources used by the parcel - - UUID of the parcel - Should per object resource usage be requested - Callback invoked when the request is complete + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Thread sync lock object - - Raised when the simulator responds to a request + + The event subscribers. null if no subcribers - - Raised when the simulator responds to a request + + Thread sync lock object - - Raised when the simulator responds to a request + + The event subscribers. null if no subcribers - - Raised when the simulator responds to a request + + Thread sync lock object - - Raised when the simulator responds to a request + + The event subscribers. null if no subcribers - - Raised when the simulator responds to a request + + Thread sync lock object - - Raised when the simulator responds to a request + + The event subscribers. null if no subcribers - - Raised when the simulator responds to a Parcel Update request + + Thread sync lock object - - Raised when the parcel your agent is located sends a ParcelMediaCommand + + The event subscribers. null if no subcribers - - - Parcel Accesslist - + + Thread sync lock object - - Agents + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - Flags for specific entry in white/black lists + + The event subscribers. null if no subcribers - - - Owners of primitives on parcel - + + Thread sync lock object - - Prim Owners + + The event subscribers. null if no subcribers - - True of owner is group + + Thread sync lock object - - Total count of prims owned by OwnerID + + The event subscribers. null if no subcribers - - true of OwnerID is currently online and is not a group + + Thread sync lock object - - The date of the most recent prim left by OwnerID + + A reference to the current instance - - - Called once parcel resource usage information has been collected - - Indicates if operation was successfull - Parcel resource usage information + + Currently-active group members requests - - Contains a parcels dwell data returned from the simulator in response to an + + Currently-active group roles requests - - - Construct a new instance of the ParcelDwellReplyEventArgs class - - The global ID of the parcel - The simulator specific ID of the parcel - The calculated dwell for the parcel + + Currently-active group role-member requests - - Get the global ID of the parcel + + Dictionary keeping group members while request is in progress - - Get the simulator specific ID of the parcel + + Dictionary keeping mebmer/role mapping while request is in progress - - Get the calculated dwell + + Dictionary keeping GroupRole information while request is in progress - - Contains basic parcel information data returned from the - simulator in response to an request + + Caches group name lookups - - - Construct a new instance of the ParcelInfoReplyEventArgs class - - The object containing basic parcel info + + Raised when the simulator sends us data containing + our current group membership - - Get the object containing basic parcel info + + Raised when the simulator responds to a RequestGroupName + or RequestGroupNames request - - Contains basic parcel information data returned from the simulator in response to an request + + Raised when the simulator responds to a request - - - Construct a new instance of the ParcelPropertiesEventArgs class - - The object containing the details - The object containing the details - The result of the request - The number of primitieves your agent is - currently selecting and or sitting on in this parcel - The user assigned ID used to correlate a request with - these results - TODO: + + Raised when the simulator responds to a request - - Get the simulator the parcel is located in + + Raised when the simulator responds to a request - - Get the object containing the details - If Result is NoData, this object will not contain valid data + + Raised when the simulator responds to a request - - Get the result of the request + + Raised when the simulator responds to a request - - Get the number of primitieves your agent is - currently selecting and or sitting on in this parcel + + Raised when a response to a RequestGroupAccountSummary is returned + by the simulator - - Get the user assigned ID used to correlate a request with - these results + + Raised when a request to create a group is successful - - TODO: + + Raised when a request to join a group either + fails or succeeds - - Contains blacklist and whitelist data returned from the simulator in response to an request + + Raised when a request to leave a group either + fails or succeeds - - - Construct a new instance of the ParcelAccessListReplyEventArgs class - - The simulator the parcel is located in - The user assigned ID used to correlate a request with - these results - The simulator specific ID of the parcel - TODO: - The list containing the white/blacklisted agents for the parcel + + Raised when A group is removed from the group server - - Get the simulator the parcel is located in + + Raised when a request to eject a member from a group either + fails or succeeds - - Get the user assigned ID used to correlate a request with - these results + + Raised when the simulator sends us group notices + - - Get the simulator specific ID of the parcel + + Raised when another agent invites our avatar to join a group - - TODO: + + Raises the CurrentGroups event + A CurrentGroupsEventArgs object containing the + data sent from the simulator - - Get the list containing the white/blacklisted agents for the parcel + + Raises the GroupNamesReply event + A GroupNamesEventArgs object containing the + data response from the simulator - - Contains blacklist and whitelist data returned from the - simulator in response to an request + + Raises the GroupProfile event + An GroupProfileEventArgs object containing the + data returned from the simulator - - - Construct a new instance of the ParcelObjectOwnersReplyEventArgs class - - The simulator the parcel is located in - The list containing prim ownership counts + + Raises the GroupMembers event + A GroupMembersEventArgs object containing the + data returned from the simulator - - Get the simulator the parcel is located in + + Raises the GroupRolesDataReply event + A GroupRolesDataReplyEventArgs object containing the + data returned from the simulator - - Get the list containing prim ownership counts + + Raises the GroupRoleMembersReply event + A GroupRolesRoleMembersReplyEventArgs object containing the + data returned from the simulator - - Contains the data returned when all parcel data has been retrieved from a simulator - - - - Construct a new instance of the SimParcelsDownloadedEventArgs class - - The simulator the parcel data was retrieved from - The dictionary containing the parcel data - The multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + + Raises the GroupTitlesReply event + A GroupTitlesReplyEventArgs object containing the + data returned from the simulator - - Get the simulator the parcel data was retrieved from + + Raises the GroupAccountSummary event + A GroupAccountSummaryReplyEventArgs object containing the + data returned from the simulator - - A dictionary containing the parcel data where the key correlates to the ParcelMap entry + + Raises the GroupCreated event + An GroupCreatedEventArgs object containing the + data returned from the simulator - - Get the multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + + Raises the GroupJoined event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator - - Contains the data returned when a request + + Raises the GroupLeft event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator - - - Construct a new instance of the ForceSelectObjectsReplyEventArgs class - - The simulator the parcel data was retrieved from - The list of primitive IDs - true if the list is clean and contains the information - only for a given request + + Raises the GroupDropped event + An GroupDroppedEventArgs object containing the + the group your agent left - - Get the simulator the parcel data was retrieved from + + Raises the GroupMemberEjected event + An GroupMemberEjectedEventArgs object containing the + data returned from the simulator - - Get the list of primitive IDs + + Raises the GroupNoticesListReply event + An GroupNoticesListReplyEventArgs object containing the + data returned from the simulator - - true if the list is clean and contains the information - only for a given request + + Raises the GroupInvitation event + An GroupInvitationEventArgs object containing the + data returned from the simulator - - Contains data when the media data for a parcel the avatar is on changes + + + Request a current list of groups the avatar is a member of. + + CAPS Event Queue must be running for this to work since the results + come across CAPS. - + - Construct a new instance of the ParcelMediaUpdateReplyEventArgs class + Lookup name of group based on groupID - the simulator the parcel media data was updated in - The updated media information + groupID of group to lookup name for. - - Get the simulator the parcel media data was updated in + + + Request lookup of multiple group names + + List of group IDs to request. - - Get the updated media information + + Lookup group profile data such as name, enrollment, founder, logo, etc + Subscribe to OnGroupProfile event to receive the results. + group ID (UUID) - - Contains the media command for a parcel the agent is currently on + + Request a list of group members. + Subscribe to OnGroupMembers event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - - Construct a new instance of the ParcelMediaCommandEventArgs class - - The simulator the parcel media command was issued in - - - The media command that was sent - + + Request group roles + Subscribe to OnGroupRoles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - Get the simulator the parcel media command was issued in + + Request members (members,role) role mapping for a group. + Subscribe to OnGroupRolesMembers event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - + + Request a groups Titles + Subscribe to OnGroupTitles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - + + Begin to get the group account summary + Subscribe to the OnGroupAccountSummary event to receive the results. + group ID (UUID) + How long of an interval + Which interval (0 for current, 1 for last) - - Get the media command that was sent + + Invites a user to a group + The group to invite to + A list of roles to invite a person to + Key of person to invite - - + + Set a group as the current active group + group ID (UUID) - - - - + + Change the role that determines your active title + Group ID to use + Role ID to change to - - - - + + Set this avatar's tier contribution + Group ID to change tier in + amount of tier to donate - + - + Save wheather agent wants to accept group notices and list this group in their profile + Group + Accept notices from this group + List this group in the profile - - - - + + Request to join a group + Subscribe to OnGroupJoined event for confirmation. + group ID (UUID) to join. - + - + Request to create a new group. If the group is successfully + created, L$100 will automatically be deducted - - + Subscribe to OnGroupCreated event to receive confirmation. + Group struct containing the new group info - - - The ObservableDictionary class is used for storing key/value pairs. It has methods for firing - events to subscribers when items are added, removed, or changed. - - Key - Value + + Update a group's profile and other information + Groups ID (UUID) to update. + Group struct to update. - - - A dictionary of callbacks to fire when specified action occurs - + + Eject a user from a group + Group ID to eject the user from + Avatar's key to eject - - - Register a callback to be fired when an action occurs - - The action - The callback to fire + + Update role information + Modified role to be updated - - - Unregister a callback - - The action - The callback to fire + + Create a new group role + Group ID to update + Role to create - - - - - - + + Delete a group role + Group ID to update + Role to delete - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking + + Remove an avatar from a role + Group ID to update + Role ID to be removed from + Avatar's Key to remove - - - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. - - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); - - + + Assign an avatar to a role + Group ID to update + Role ID to assign to + Avatar's ID to assign to role - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); - - + + Request the group notices list + Group ID to fetch notices for - - - Try to get entry from the with specified key - - Key to use for lookup - Value returned - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - - - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - + + Request a group notice by key + ID of group notice - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - + + Send out a group notice + Group ID to update + + GroupNotice structure containing notice data - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - + + Start a group proposal (vote) + The Group ID to send proposal to + + GroupProposal structure containing the proposal - - Check if Key exists in Dictionary - Key to check for - if found, otherwise + + Request to leave a group + Subscribe to OnGroupLeft event to receive confirmation + The group to leave - - Check if Value exists in Dictionary - Value to check for - if found, otherwise + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - - The key - The value + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Removes the specified key, dictionary locking is not performed - - The key. - if successful, otherwise + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Clear the contents of the dictionary - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Enumerator for iterating dictionary entries - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Gets the number of Key/Value pairs contained in the - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Indexer for the dictionary - - The key - The value + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Avatar group management - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Key of Group Member + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Total land contribution + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Online status information + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Abilities that the Group Member has + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Current group title + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Is a group owner + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Role manager for a group - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Key of the group + + Contains the current groups your agent is a member of - - Key of Role + + Construct a new instance of the CurrentGroupsEventArgs class + The current groups your agent is a member of - - Name of Role + + Get the current groups your agent is a member of - - Group Title associated with Role + + A Dictionary of group names, where the Key is the groups ID and the value is the groups name - - Description of Role + + Construct a new instance of the GroupNamesEventArgs class + The Group names dictionary - - Abilities Associated with Role + + Get the Group Names dictionary - - Returns the role's title - The role's title + + Represents the members of a group - + - Class to represent Group Title + Construct a new instance of the GroupMembersReplyEventArgs class + The ID of the request + The ID of the group + The membership list of the group - - Key of the group + + Get the ID as returned by the request to correlate + this result set and the request - - ID of the role title belongs to + + Get the ID of the group - - Group Title + + Get the dictionary of members - - Whether title is Active + + Represents the roles associated with a group - - Returns group title + + Construct a new instance of the GroupRolesDataReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The dictionary containing the roles - - - Represents a group on the grid - + + Get the ID as returned by the request to correlate + this result set and the request - - Key of Group + + Get the ID of the group - - Key of Group Insignia + + Get the dictionary containing the roles - - Key of Group Founder + + Represents the Role to Member mappings for a group - - Key of Group Role for Owners + + Construct a new instance of the GroupRolesMembersReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The member to roles map - - Name of Group + + Get the ID as returned by the request to correlate + this result set and the request - - Text of Group Charter + + Get the ID of the group - - Title of "everyone" role - - - Is the group open for enrolement to everyone - - - Will group show up in search + + Get the member to roles map - - + + Represents the titles for a group - - + + Construct a new instance of the GroupTitlesReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The titles - - + + Get the ID as returned by the request to correlate + this result set and the request - - Is the group Mature + + Get the ID of the group - - Cost of group membership + + Get the titles - - + + Represents the summary data for a group - - + + Construct a new instance of the GroupAccountSummaryReplyEventArgs class + The ID of the group + The summary data - - The total number of current members this group has + + Get the ID of the group - - The number of roles this group has configured + + Get the summary data - - Show this group in agent's profile + + A response to a group create request - - Returns the name of the group - A string containing the name of the group + + Construct a new instance of the GroupCreatedReplyEventArgs class + The ID of the group + the success or faulure of the request + A string containing additional information - - - A group Vote - + + Get the ID of the group - - Key of Avatar who created Vote + + true of the group was created successfully - - Text of the Vote proposal + + A string containing the message - - Total number of votes + + Represents a response to a request - - - A group proposal - + + Construct a new instance of the GroupOperationEventArgs class + The ID of the group + true of the request was successful - - The Text of the proposal + + Get the ID of the group - - The minimum number of members that must vote before proposal passes or failes + + true of the request was successful - - The required ration of yes/no votes required for vote to pass - The three options are Simple Majority, 2/3 Majority, and Unanimous - TODO: this should be an enum + + Represents your agent leaving a group - - The duration in days votes are accepted + + Construct a new instance of the GroupDroppedEventArgs class + The ID of the group - - - - + + Get the ID of the group - - + + Represents a list of active group notices - - + + Construct a new instance of the GroupNoticesListReplyEventArgs class + The ID of the group + The list containing active notices - - + + Get the ID of the group - - + + Get the notices list - - + + Represents the profile of a group - - + + Construct a new instance of the GroupProfileEventArgs class + The group profile - - + + Get the group profile - - + + + Provides notification of a group invitation request sent by another Avatar + + The invitation is raised when another avatar makes an offer for our avatar + to join a group. - - + + The ID of the Avatar sending the group invitation - - + + The name of the Avatar sending the group invitation - - + + A message containing the request information which includes + the name of the group, the groups charter and the fee to join details - - + + The Simulator - - + + Set to true to accept invitation, false to decline - - + + + Static helper functions and global variables + - - + + + Passed to Logger.Log() to identify the severity of a log entry + - - + + No logging information will be output - - + + Non-noisy useful information, may be helpful in + debugging a problem - - + + A non-critical error occurred. A warning will not + prevent the rest of the library from operating as usual, + although it may be indicative of an underlying issue - - + + A critical error has occurred. Generally this will + be followed by the network layer shutting down, although the + stability of the library after an error is uncertain - - - Struct representing a group notice + + Used for internal testing, this logging level can + generate very noisy (long and/or repetitive) messages. Don't + pass this to the Log() function, use DebugLog() instead. - - + + This header flag signals that ACKs are appended to the packet - - + + This header flag signals that this packet has been sent before - - + + This header flags signals that an ACK is expected for this packet - - + + This header flag signals that the message is compressed using zerocoding - + - - + + + + - + - Struct representing a group notice list entry + + + + + + - - Notice ID - - - Creation timestamp of notice - - - Agent name who created notice - - - Notice subject - - - Is there an attachment? - - - Attachment Type - - + - Struct representing a member of a group chat session and their settings + + + + - - The of the Avatar - - - True if user has voice chat enabled - - - True of Avatar has moderator abilities - - - True if a moderator has muted this avatars chat - - - True if a moderator has muted this avatars voice + + + + + + + + + - + - Role update flags + Given an X/Y location in absolute (grid-relative) terms, a region + handle is returned along with the local X/Y location in that region + The absolute X location, a number such as + 255360.35 + The absolute Y location, a number such as + 255360.35 + The sim-local X position of the global X + position, a value from 0.0 to 256.0 + The sim-local Y position of the global Y + position, a value from 0.0 to 256.0 + A 64-bit region handle that can be used to teleport to - - + + + Converts a floating point number to a terse string format used for + transmitting numbers in wearable asset files + + Floating point number to convert to a string + A terse string representation of the input number + + + + Convert a variable length field (byte array) to a string, with a + field name prepended to each line of the output + + If the byte array has unprintable characters in it, a + hex dump will be written instead + The StringBuilder object to write to + The byte array to convert to a string + A field name to prepend to each line of output + + + + Decode a zerocoded byte array, used to decompress packets marked + with the zerocoded flag + + Any time a zero is encountered, the next byte is a count + of how many zeroes to expand. One zero is encoded with 0x00 0x01, + two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The + first four bytes are copied directly to the output buffer. + + The byte array to decode + The length of the byte array to decode. This + would be the length of the packet up to (but not including) any + appended ACKs + The output byte array to decode to + The length of the output buffer + + + + Encode a byte array with zerocoding. Used to compress packets marked + with the zerocoded flag. Any zeroes in the array are compressed down + to a single zero byte followed by a count of how many zeroes to expand + out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, + three zeroes becomes 0x00 0x03, etc. The first four bytes are copied + directly to the output buffer. + + The byte array to encode + The length of the byte array to encode + The output byte array to encode to + The length of the output buffer + + + + Calculates the CRC (cyclic redundancy check) needed to upload inventory. + + Creation date + Sale type + Inventory type + Type + Asset ID + Group ID + Sale price + Owner ID + Creator ID + Item ID + Folder ID + Everyone mask (permissions) + Flags + Next owner mask (permissions) + Group mask (permissions) + Owner mask (permissions) + The calculated CRC + + + + Attempts to load a file embedded in the assembly + + The filename of the resource to load + A Stream for the requested file, or null if the resource + was not successfully loaded + + + + Attempts to load a file either embedded in the assembly or found in + a given search path + + The filename of the resource to load + An optional path that will be searched if + the asset is not found embedded in the assembly + A Stream for the requested file, or null if the resource + was not successfully loaded + + + + Converts a list of primitives to an object that can be serialized + with the LLSD system + + Primitives to convert to a serializable object + An object that can be serialized with LLSD + + + + Deserializes OSD in to a list of primitives + + Structure holding the serialized primitive list, + must be of the SDMap type + A list of deserialized primitives + + + + Converts a struct or class object containing fields only into a key value separated string + + The struct object + A string containing the struct fields as the keys, and the field value as the value separated + + + // Add the following code to any struct or class containing only fields to override the ToString() + // method to display the values of the passed object + /// Print the struct data as a string + ///A string containing the field name, and field value + public override string ToString() + { + return Helpers.StructToString(this); + } + + + + + + The InternalDictionary class is used through the library for storing key/value pairs. + It is intended to be a replacement for the generic Dictionary class and should + be used in its place. It contains several methods for allowing access to the data from + outside the library that are read only and thread safe. + + Key + Value + + + + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. + + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); + + + + + + Initializes a new instance of the Class + with the specified key/value, has its initial valies copied from the specified + + + + to copy initial values from + + + // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. + // populates with copied values from example KeyNameCache Dictionary. + // create source dictionary + Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); + KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); + KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); + // Initialize new dictionary. + public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); + + + + + + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. + + Initial size of dictionary + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); + + + + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking + on this member + + + + Indexer for the dictionary + + The key + The value + + + + Gets the number of Key/Value pairs contained in the + + + + Try to get entry from with specified key + + Key to use for lookup + Value returned + + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + + + + + Finds the specified match. + + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + + + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + + + Perform an on each entry in an + + to perform + + + // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. + Client.Network.CurrentSim.ObjectsPrimitives.ForEach( + delegate(Primitive prim) + { + if (prim.Text != null) + { + Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", + prim.PropertiesFamily.Name, prim.ID, prim.Text); + } + }); + + + + + Perform an on each key of an + + to perform + + + + Perform an on each KeyValuePair of an + + to perform + + + Check if Key exists in Dictionary + Key to check for + + if found, otherwise + + + Check if Value exists in Dictionary + Value to check for + + if found, otherwise + + + + Adds the specified key to the dictionary, dictionary locking is not performed, + + The key + The value + + + + Removes the specified key, dictionary locking is not performed + + The key. + + if successful, otherwise + + + + Exception class to identify inventory exceptions + + + + + Responsible for maintaining inventory structure. Inventory constructs nodes + and manages node children as is necessary to maintain a coherant hirarchy. + Other classes should not manipulate or create InventoryNodes explicitly. When + A node's parent changes (when a folder is moved, for example) simply pass + Inventory the updated InventoryFolder and it will make the appropriate changes + to its internal representation. + + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + + By using the bracket operator on this class, the program can get the + InventoryObject designated by the specified uuid. If the value for the corresponding + UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). + If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), + the uuid parameter is ignored. + + The UUID of the InventoryObject to get or set, ignored if set to non-null value. + The InventoryObject corresponding to uuid. + + + + The root folder of this avatars inventory + + + + + The default shared library folder + + + + + The root node of the avatars inventory + + + + + The root node of the default shared library + + + + Raises the InventoryObjectUpdated Event + A InventoryObjectUpdatedEventArgs object containing + the data sent from the simulator + + + Raises the InventoryObjectRemoved Event + A InventoryObjectRemovedEventArgs object containing + the data sent from the simulator + + + Raises the InventoryObjectAdded Event + A InventoryObjectAddedEventArgs object containing + the data sent from the simulator + + + + Returns the contents of the specified folder + + A folder's UUID + The contents of the folder corresponding to folder + When folder does not exist in the inventory + + + + Updates the state of the InventoryNode and inventory data structure that + is responsible for the InventoryObject. If the item was previously not added to inventory, + it adds the item, and updates structure accordingly. If it was, it updates the + InventoryNode, changing the parent node if item.parentUUID does + not match node.Parent.Data.UUID. + You can not set the inventory root folder using this method + + The InventoryObject to store + + + + Removes the InventoryObject and all related node data from Inventory. + + The InventoryObject to remove. + + + + Used to find out if Inventory contains the InventoryObject + specified by uuid. + + The UUID to check. + true if inventory contains uuid, false otherwise + + + + Saves the current inventory structure to a cache file + + Name of the cache file to save to + + + + Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + + Name of the cache file to load + The number of inventory items sucessfully reconstructed into the inventory node tree + + + Sort by name + + + Sort by date + + + Sort folders by name, regardless of whether items are + sorted by name or date + + + Place system folders at the top + + + + Possible destinations for DeRezObject request + + + + + + + + Copy from in-world to agent inventory + + + Derez to TaskInventory + + + + + + + Take Object + + + + + + + Delete Object + + + Put an avatar attachment into agent inventory + + + + + + + Return an object back to the owner's inventory + + + Return a deeded object back to the last owner's inventory + + + + Upper half of the Flags field for inventory items + + + + Indicates that the NextOwner permission will be set to the + most restrictive set of permissions found in the object set + (including linkset items and object inventory items) on next rez + + + Indicates that the object sale information has been + changed + + + If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez + + + Indicates whether this object is composed of multiple + items or not + + + Indicates that the asset is only referenced by this + inventory item. If this item is deleted or updated to reference a + new assetID, the asset can be deleted + + + + Base Class for Inventory Items + + + + + Constructor, takes an itemID as a parameter + + The of the item + + + + + + + + + + of item/folder + + + + of parent folder + + + Name of item/folder + + + Item/Folder Owners + + + + + + + + + + Generates a number corresponding to the value of the object to support the use of a hash table, + suitable for use in hashing algorithms and data structures such as a hash table + + A Hashcode of all the combined InventoryBase fields + + + + Determine whether the specified object is equal to the current object + + InventoryBase object to compare against + true if objects are the same + + + + Determine whether the specified object is equal to the current object + + InventoryBase object to compare against + true if objects are the same + + + + An Item in Inventory + + + + + Construct a new InventoryItem object + + The of the item + + + + Construct a new InventoryItem object of a specific Type + + The type of item from + + of the item + + + + + + + + + The of this item + + + The combined of this item + + + The type of item from + + + The type of item from the enum + + + The of the creator of this item + + + A Description of this item + + + The s this item is set to or owned by + + + If true, item is owned by a group + + + The price this item can be purchased for + + + The type of sale from the enum + + + Combined flags from + + + Time and date this inventory item was created, stored as + UTC (Coordinated Universal Time) + + + Used to update the AssetID in requests sent to the server + + + The of the previous owner of the item + + + + Indicates inventory item is a link + + True if inventory item is a link to another inventory item + + + + + + + + + + Generates a number corresponding to the value of the object to support the use of a hash table. + Suitable for use in hashing algorithms and data structures such as a hash table + + A Hashcode of all the combined InventoryItem fields + + + + Compares an object + + The object to compare + true if comparison object matches + + + + Determine whether the specified object is equal to the current object + + The object to compare against + true if objects are the same + + + + Determine whether the specified object is equal to the current object + + The object to compare against + true if objects are the same + + + + InventoryTexture Class representing a graphical image + + + + + + Construct an InventoryTexture object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryTexture object from a serialization stream + + + + + InventorySound Class representing a playable sound + - - + + + Construct an InventorySound object + + A which becomes the + objects AssetUUID - - + + + Construct an InventorySound object from a serialization stream + - - + + + InventoryCallingCard Class, contains information on another avatar + - - + + + Construct an InventoryCallingCard object + + A which becomes the + objects AssetUUID - - + + + Construct an InventoryCallingCard object from a serialization stream + - - + + + InventoryLandmark Class, contains details on a specific location + - - Can send invitations to groups default role + + + Construct an InventoryLandmark object + + A which becomes the + objects AssetUUID - - Can eject members from group + + + Construct an InventoryLandmark object from a serialization stream + - - Can toggle 'Open Enrollment' and change 'Signup fee' + + + Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited + - - Member is visible in the public member list + + + InventoryObject Class contains details on a primitive or coalesced set of primitives + - - Can create new roles + + + Construct an InventoryObject object + + A which becomes the + objects AssetUUID - - Can delete existing roles + + + Construct an InventoryObject object from a serialization stream + - - Can change Role names, titles and descriptions + + + Gets or sets the upper byte of the Flags value + - - Can assign other members to assigners role + + + Gets or sets the object attachment point, the lower byte of the Flags value + - - Can assign other members to any role + + + InventoryNotecard Class, contains details on an encoded text document + - - Can remove members from roles + + + Construct an InventoryNotecard object + + A which becomes the + objects AssetUUID - - Can assign and remove abilities in roles + + + Construct an InventoryNotecard object from a serialization stream + - - Can change group Charter, Insignia, 'Publish on the web' and which - members are publicly visible in group member listings + + + InventoryCategory Class + + TODO: Is this even used for anything? - - Can buy land or deed land to group + + + Construct an InventoryCategory object + + A which becomes the + objects AssetUUID - - Can abandon group owned land to Governor Linden on mainland, or Estate owner for - private estates + + + Construct an InventoryCategory object from a serialization stream + - - Can set land for-sale information on group owned parcels + + + InventoryLSL Class, represents a Linden Scripting Language object + - - Can subdivide and join parcels + + + Construct an InventoryLSL object + + A which becomes the + objects AssetUUID - - Can join group chat sessions + + + Construct an InventoryLSL object from a serialization stream + - - Can use voice chat in Group Chat sessions + + + InventorySnapshot Class, an image taken with the viewer + - - Can moderate group chat sessions + + + Construct an InventorySnapshot object + + A which becomes the + objects AssetUUID - - Can toggle "Show in Find Places" and set search category + + + Construct an InventorySnapshot object from a serialization stream + - - Can change parcel name, description, and 'Publish on web' settings + + + InventoryAttachment Class, contains details on an attachable object + - - Can set the landing point and teleport routing on group land + + + Construct an InventoryAttachment object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryAttachment object from a serialization stream + + + + + Get the last AttachmentPoint this object was attached to + + + + + InventoryWearable Class, details on a clothing item or body part + + + + + Construct an InventoryWearable object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryWearable object from a serialization stream + + + + + The , Skin, Shape, Skirt, Etc + + + + + InventoryAnimation Class, A bvh encoded object which animates an avatar + + + + + Construct an InventoryAnimation object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryAnimation object from a serialization stream + + + + + InventoryGesture Class, details on a series of animations, sounds, and actions + + + + + Construct an InventoryGesture object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryGesture object from a serialization stream + + + + + A folder contains s and has certain attributes specific + to itself + + + + + Constructor + + UUID of the folder + + + + Construct an InventoryFolder object from a serialization stream + + + + The Preferred for a folder. + + + The Version of this folder + + + Number of child items this folder contains. + + + + + + + + + + Get Serilization data for this InventoryFolder object + - - Can change music and media settings + + + + + - - Can toggle 'Edit Terrain' option in Land settings + + + + + + + - - Can toggle various About Land > Options settings + + + + + + + - - Can always terraform land, even if parcel settings have it turned off + + + + + + + - - Can always fly while over group owned land + + + Tools for dealing with agents inventory + - - Can always rez objects on group owned land + + + Default constructor + + Reference to the GridClient object - - Can always create landmarks for group owned parcels + + + Callback for inventory item creation finishing + + Whether the request to create an inventory + item succeeded or not + Inventory item being created. If success is + false this will be null - - Can set home location on any group owned parcel + + + Callback for an inventory item being create from an uploaded asset + + true if inventory item creation was successful + + + + + + - - Can modify public access settings for group owned parcels + + + + + - - Can manager parcel ban lists on group owned land + + + Reply received when uploading an inventory asset + + Has upload been successful + Error message if upload failed + Inventory asset UUID + New asset UUID - - Can manage pass list sales information + + + Delegate that is invoked when script upload is completed + + Has upload succeded (note, there still might be compile errors) + Upload status message + Is compilation successful + If compilation failed, list of error messages, null on compilation success + Script inventory UUID + Script's new asset UUID - - Can eject and freeze other avatars on group owned land + + Used for converting shadow_id to asset_id - - Can return objects set to group + + The event subscribers, null of no subscribers - - Can return non-group owned/set objects + + Thread sync lock object - - Can return group owned objects + + The event subscribers, null of no subscribers - - Can landscape using Linden plants + + Thread sync lock object - - Can deed objects to group + + The event subscribers, null of no subscribers - - Can move group owned objects + + Thread sync lock object - - Can set group owned objects for-sale + + The event subscribers, null of no subscribers - - Pay group liabilities and receive group dividends + + Thread sync lock object - - Can send group notices + + The event subscribers, null of no subscribers - - Can receive group notices + + Thread sync lock object - - Can create group proposals + + The event subscribers, null of no subscribers - - Can vote on group proposals + + Thread sync lock object - - - Handles all network traffic related to reading and writing group - information - + + The event subscribers, null of no subscribers - - The event subscribers. null if no subcribers + + Thread sync lock object - - Raises the CurrentGroups event - A CurrentGroupsEventArgs object containing the - data sent from the simulator + + The event subscribers, null of no subscribers - + Thread sync lock object - - The event subscribers. null if no subcribers + + Partial mapping of AssetTypes to folder names - - Raises the GroupNamesReply event - A GroupNamesEventArgs object containing the - data response from the simulator + + Raised when the simulator sends us data containing + ... - - Thread sync lock object + + Raised when the simulator sends us data containing + ... - - The event subscribers. null if no subcribers + + Raised when the simulator sends us data containing + an inventory object sent by another avatar or primitive - - Raises the GroupProfile event - An GroupProfileEventArgs object containing the - data returned from the simulator + + Raised when the simulator sends us data containing + ... - - Thread sync lock object + + Raised when the simulator sends us data containing + ... - - The event subscribers. null if no subcribers + + Raised when the simulator sends us data containing + ... - - Raises the GroupMembers event - A GroupMembersEventArgs object containing the - data returned from the simulator + + Raised when the simulator sends us data containing + ... - - Thread sync lock object + + Raised when the simulator sends us data containing + ... - - The event subscribers. null if no subcribers + + + Get this agents Inventory data + - - Raises the GroupRolesDataReply event - A GroupRolesDataReplyEventArgs object containing the - data returned from the simulator + + Raises the ItemReceived Event + A ItemReceivedEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the FolderUpdated Event + A FolderUpdatedEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the InventoryObjectOffered Event + A InventoryObjectOfferedEventArgs object containing + the data sent from the simulator - - Raises the GroupRoleMembersReply event - A GroupRolesRoleMembersReplyEventArgs object containing the - data returned from the simulator + + Raises the TaskItemReceived Event + A TaskItemReceivedEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the FindObjectByPath Event + A FindObjectByPathEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the TaskInventoryReply Event + A TaskInventoryReplyEventArgs object containing + the data sent from the simulator - - Raises the GroupTitlesReply event - A GroupTitlesReplyEventArgs object containing the - data returned from the simulator + + Raises the SaveAssetToInventory Event + A SaveAssetToInventoryEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the ScriptRunningReply Event + A ScriptRunningReplyEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + + Fetch an inventory item from the dataserver + + The items + The item Owners + a integer representing the number of milliseconds to wait for results + An object on success, or null if no item was found + Items will also be sent to the event - - Raises the GroupAccountSummary event - A GroupAccountSummaryReplyEventArgs object containing the - data returned from the simulator + + + Request A single inventory item + + The items + The item Owners + - - Thread sync lock object + + + Request inventory items + + Inventory items to request + Owners of the inventory items + - - The event subscribers. null if no subcribers + + + Get contents of a folder + + The of the folder to search + The of the folders owner + true to retrieve folders + true to retrieve items + sort order to return results in + a integer representing the number of milliseconds to wait for results + A list of inventory items matching search criteria within folder + + InventoryFolder.DescendentCount will only be accurate if both folders and items are + requested - - Raises the GroupCreated event - An GroupCreatedEventArgs object containing the - data returned from the simulator + + + Request the contents of an inventory folder + + The folder to search + The folder owners + true to return s contained in folder + true to return s containd in folder + the sort order to return items in + - - Thread sync lock object + + + Request the contents of an inventory folder using HTTP capabilities + + The folder to search + The folder owners + true to return s contained in folder + true to return s containd in folder + the sort order to return items in + - - The event subscribers. null if no subcribers + + + Returns the UUID of the folder (category) that defaults to + containing 'type'. The folder is not necessarily only for that + type + + This will return the root folder if one does not exist + + + The UUID of the desired folder if found, the UUID of the RootFolder + if not found, or UUID.Zero on failure - - Raises the GroupJoined event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator + + + Find an object in inventory using a specific path to search + + The folder to begin the search in + The object owners + A string path to search + milliseconds to wait for a reply + Found items or if + timeout occurs or item is not found - - Thread sync lock object + + + Find inventory items by path + + The folder to begin the search in + The object owners + A string path to search, folders/objects separated by a '/' + Results are sent to the event - - The event subscribers. null if no subcribers + + + Search inventory Store object for an item or folder + + The folder to begin the search in + An array which creates a path to search + Number of levels below baseFolder to conduct searches + if True, will stop searching after first match is found + A list of inventory items found - - Raises the GroupLeft event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator + + + Move an inventory item or folder to a new location + + The item or folder to move + The to move item or folder to - - Thread sync lock object + + + Move an inventory item or folder to a new location and change its name + + The item or folder to move + The to move item or folder to + The name to change the item or folder to - - The event subscribers. null if no subcribers + + + Move and rename a folder + + The source folders + The destination folders + The name to change the folder to - - Raises the GroupDropped event - An GroupDroppedEventArgs object containing the - the group your agent left + + + Update folder properties + + + of the folder to update + Sets folder's parent to + Folder name + Folder type - - Thread sync lock object + + + Move a folder + + The source folders + The destination folders - - The event subscribers. null if no subcribers + + + Move multiple folders, the keys in the Dictionary parameter, + to a new parents, the value of that folder's key. + + A Dictionary containing the + of the source as the key, and the + of the destination as the value - - Raises the GroupMemberEjected event - An GroupMemberEjectedEventArgs object containing the - data returned from the simulator + + + Move an inventory item to a new folder + + The of the source item to move + The of the destination folder - - Thread sync lock object + + + Move and rename an inventory item + + The of the source item to move + The of the destination folder + The name to change the folder to - - The event subscribers. null if no subcribers + + + Move multiple inventory items to new locations + + A Dictionary containing the + of the source item as the key, and the + of the destination folder as the value - - Raises the GroupNoticesListReply event - An GroupNoticesListReplyEventArgs object containing the - data returned from the simulator + + + Remove descendants of a folder + + The of the folder - - Thread sync lock object + + + Remove a single item from inventory + + The of the inventory item to remove - - The event subscribers. null if no subcribers + + + Remove a folder from inventory + + The of the folder to remove - - Raises the GroupInvitation event - An GroupInvitationEventArgs object containing the - data returned from the simulator + + + Remove multiple items or folders from inventory + + A List containing the s of items to remove + A List containing the s of the folders to remove - - Thread sync lock object + + + Empty the Lost and Found folder + - - A reference to the current instance + + + Empty the Trash folder + - - Currently-active group members requests + + + + + + + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + + + + - - Currently-active group roles requests + + + + + + + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + + + + + + - - Currently-active group role-member requests + + + Creates a new inventory folder + + ID of the folder to put this folder in + Name of the folder to create + The UUID of the newly created folder - - Dictionary keeping group members while request is in progress + + + Creates a new inventory folder + + ID of the folder to put this folder in + Name of the folder to create + Sets this folder as the default folder + for new assets of the specified type. Use AssetType.Unknown + to create a normal folder, otherwise it will likely create a + duplicate of an existing folder type + The UUID of the newly created folder + If you specify a preferred type of AsseType.Folder + it will create a new root folder which may likely cause all sorts + of strange problems - - Dictionary keeping mebmer/role mapping while request is in progress + + + Create an inventory item and upload asset data + + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Delegate that will receive feedback on success or failure - - Dictionary keeping GroupRole information while request is in progress + + + Create an inventory item and upload asset data + + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Permission of the newly created item + (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) + Delegate that will receive feedback on success or failure - - Caches group name lookups + + + Creates inventory link to another inventory item or folder + + Put newly created link in folder with this UUID + Inventory item or folder + Method to call upon creation of the link - + - Construct a new instance of the GroupManager class + Creates inventory link to another inventory item - A reference to the current instance + Put newly created link in folder with this UUID + Original inventory item + Method to call upon creation of the link - + - Request a current list of groups the avatar is a member of. + Creates inventory link to another inventory folder - CAPS Event Queue must be running for this to work since the results - come across CAPS. + Put newly created link in folder with this UUID + Original inventory folder + Method to call upon creation of the link - + - Lookup name of group based on groupID + Creates inventory link to another inventory item or folder - groupID of group to lookup name for. + Put newly created link in folder with this UUID + Original item's UUID + Name + Description + Asset Type + Inventory Type + Transaction UUID + Method to call upon creation of the link - + - Request lookup of multiple group names - List of group IDs to request. + + + + + + + + - - Lookup group profile data such as name, enrollment, founder, logo, etc - Subscribe to OnGroupProfile event to receive the results. - group ID (UUID) + + + + + + + + + + + + + - - Request a list of group members. - Subscribe to OnGroupMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + + + + + + + + + + + + - - Request group roles - Subscribe to OnGroupRoles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + + Request a copy of an asset embedded within a notecard + + Usually UUID.Zero for copying an asset from a notecard + UUID of the notecard to request an asset from + Target folder for asset to go to in your inventory + UUID of the embedded asset + callback to run when item is copied to inventory - - Request members (members,role) role mapping for a group. - Subscribe to OnGroupRolesMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + + + + - - Request a groups Titles - Subscribe to OnGroupTitles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + + + + - - Begin to get the group account summary - Subscribe to the OnGroupAccountSummary event to receive the results. - group ID (UUID) - How long of an interval - Which interval (0 for current, 1 for last) + + + + + + + - - Invites a user to a group - The group to invite to - A list of roles to invite a person to - Key of person to invite + + + + + + + + + - - Set a group as the current active group - group ID (UUID) + + + Save changes to notecard embedded in object contents + + Encoded notecard asset data + Notecard UUID + Object's UUID + Called upon finish of the upload with status information - - Change the role that determines your active title - Group ID to use - Role ID to change to + + + Upload new gesture asset for an inventory gesture item + + Encoded gesture asset + Gesture inventory UUID + Callback whick will be called when upload is complete - - Set this avatar's tier contribution - Group ID to change tier in - amount of tier to donate + + + Update an existing script in an agents Inventory + + A byte[] array containing the encoded scripts contents + the itemID of the script + if true, sets the script content to run on the mono interpreter + + - + - Save wheather agent wants to accept group notices and list this group in their profile + Update an existing script in an task Inventory - Group - Accept notices from this group - List this group in the profile + A byte[] array containing the encoded scripts contents + the itemID of the script + UUID of the prim containting the script + if true, sets the script content to run on the mono interpreter + if true, sets the script to running + + - - Request to join a group - Subscribe to OnGroupJoined event for confirmation. - group ID (UUID) to join. + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details - + - Request to create a new group. If the group is successfully - created, L$100 will automatically be deducted + Rez an object from inventory - Subscribe to OnGroupCreated event to receive confirmation. - Group struct containing the new group info + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object - - Update a group's profile and other information - Groups ID (UUID) to update. - Group struct to update. + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object + User defined queryID to correlate replies + If set to true, the CreateSelected flag + will be set on the rezzed object - - Eject a user from a group - Group ID to eject the user from - Avatar's key to eject + + + DeRez an object from the simulator to the agents Objects folder in the agents Inventory + + The simulator Local ID of the object + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - Update role information - Modified role to be updated + + + DeRez an object from the simulator and return to inventory + + The simulator Local ID of the object + The type of destination from the enum + The destination inventory folders -or- + if DeRezzing object to a tasks Inventory, the Tasks + The transaction ID for this request which + can be used to correlate this request with other packets + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - Create a new group role - Group ID to update - Role to create + + + Rez an item from inventory to its previous simulator location + + + + + + + + + - - Delete a group role - Group ID to update - Role to delete + + + Give an inventory item to another avatar + + The of the item to give + The name of the item + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer - - Remove an avatar from a role - Group ID to update - Role ID to be removed from - Avatar's Key to remove + + + Give an inventory Folder with contents to another avatar + + The of the Folder to give + The name of the folder + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer - - Assign an avatar to a role - Group ID to update - Role ID to assign to - Avatar's ID to assign to role + + + Copy or move an from agent inventory to a task (primitive) inventory + + The target object + The item to copy or move from inventory + + + For items with copy permissions a copy of the item is placed in the tasks inventory, + for no-copy items the object is moved to the tasks inventory - - Request the group notices list - Group ID to fetch notices for + + + Retrieve a listing of the items contained in a task (Primitive) + + The tasks + The tasks simulator local ID + milliseconds to wait for reply from simulator + A list containing the inventory items inside the task or null + if a timeout occurs + This request blocks until the response from the simulator arrives + or timeoutMS is exceeded - - Request a group notice by key - ID of group notice + + + Request the contents of a tasks (primitives) inventory from the + current simulator + + The LocalID of the object + - - Send out a group notice - Group ID to update - GroupNotice structure containing notice data + + + Request the contents of a tasks (primitives) inventory + + The simulator Local ID of the object + A reference to the simulator object that contains the object + - - Start a group proposal (vote) - The Group ID to send proposal to - GroupProposal structure containing the proposal + + + Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory + + LocalID of the object in the simulator + UUID of the task item to move + The ID of the destination folder in this agents inventory + Simulator Object + Raises the event - - Request to leave a group - Subscribe to OnGroupLeft event to receive confirmation - The group to leave + + + Remove an item from an objects (Prim) Inventory + + LocalID of the object in the simulator + UUID of the task item to remove + Simulator Object + You can confirm the removal by comparing the tasks inventory serial before and after the + request with the request combined with + the event - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Copy an InventoryScript item from the Agents Inventory into a primitives task inventory + + An unsigned integer representing a primitive being simulated + An which represents a script object from the agents inventory + true to set the scripts running state to enabled + A Unique Transaction ID + + The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory + and assumes the script exists in the agents inventory. + + uint primID = 95899503; // Fake prim ID + UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory + Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, + false, true, InventorySortOrder.ByName, 10000); + Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Request the running status of a script contained in a task (primitive) inventory + + The ID of the primitive containing the script + The ID of the script + The event can be used to obtain the results of the + request + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Send a request to set the running state of a script contained in a task (primitive) inventory + + The ID of the primitive containing the script + The ID of the script + true to set the script running, false to stop a running script + To verify the change you can use the method combined + with the event - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Create a CRC from an InventoryItem + + The source InventoryItem + A uint representing the source InventoryItem as a CRC - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id + + Obfuscated shadow_id value + Deobfuscated asset_id value - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id + + asset_id value to obfuscate + Obfuscated shadow_id value - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Wrapper for creating a new object + + The type of item from the enum + The of the newly created object + An object with the type and id passed - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Parse the results of a RequestTaskInventory() response + + A string which contains the data from the task reply + A List containing the items contained within the tasks inventory - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events + + + UpdateCreateInventoryItem packets are received when a new inventory item + is created. This may occur when an object that's rezzed in world is + taken into inventory, when an item is created using the CreateInventoryItem + packet, or when an object is purchased + The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - - Raised when the simulator sends us data containing - our current group membership - - - Raised when the simulator responds to a RequestGroupName - or RequestGroupNames request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when a response to a RequestGroupAccountSummary is returned - by the simulator - - - Raised when a request to create a group is successful + + Set to true to accept offer, false to decline it - - Raised when a request to join a group either - fails or succeeds + + The folder to accept the inventory into, if null default folder for will be used - - Raised when a request to leave a group either - fails or succeeds + + + Callback when an inventory object is accepted and received from a + task inventory. This is the callback in which you actually get + the ItemID, as in ObjectOfferedCallback it is null when received + from a task. + - - Raised when A group is removed from the group server + + + - - Raised when a request to eject a member from a group either - fails or succeeds + + + + + - - Raised when the simulator sends us group notices - + + + De-serialization constructor for the InventoryNode Class + - - Raised when another agent invites our avatar to join a group + + + De-serialization handler for the InventoryNode Class + - - Contains the current groups your agent is a member of + + + - - Construct a new instance of the CurrentGroupsEventArgs class - The current groups your agent is a member of + + + - - Get the current groups your agent is a member of + + + - - A Dictionary of group names, where the Key is the groups ID and the value is the groups name + + + - - Construct a new instance of the GroupNamesEventArgs class - The Group names dictionary + + + For inventory folder nodes specifies weather the folder needs to be + refreshed from the server + - - Get the Group Names dictionary + + + Serialization handler for the InventoryNode Class + - - Represents the members of a group + + + + + - + - Construct a new instance of the GroupMembersReplyEventArgs class + Singleton logging class for the entire library - The ID of the request - The ID of the group - The membership list of the group - - Get the ID as returned by the request to correlate - this result set and the request + + + Default constructor + - - Get the ID of the group + + + Callback used for client apps to receive log messages from + the library + + Data being logged + The severity of the log entry from - - Get the dictionary of members + + log4net logging engine - - Represents the roles associated with a group + + Triggered whenever a message is logged. If this is left + null, log messages will go to the console - - Construct a new instance of the GroupRolesDataReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The dictionary containing the roles + + + Send a log message to the logging engine + + The log message + The severity of the log entry - - Get the ID as returned by the request to correlate - this result set and the request + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Instance of the client - - Get the ID of the group + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Exception that was raised - - Get the dictionary containing the roles + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Instance of the client + Exception that was raised - - Represents the Role to Member mappings for a group + + + If the library is compiled with DEBUG defined, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine + + The message to log at the DEBUG level to the + current logging engine - - Construct a new instance of the GroupRolesMembersReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The member to roles map + + + If the library is compiled with DEBUG defined and + GridClient.Settings.DEBUG is true, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine + + The message to log at the DEBUG level to the + current logging engine + Instance of the client - - Get the ID as returned by the request to correlate - this result set and the request + + + - - Get the ID of the group + + + - - Get the member to roles map + + + - - Represents the titles for a group + + + - - Construct a new instance of the GroupTitlesReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The titles + + + - - Get the ID as returned by the request to correlate - this result set and the request + + + - - Get the ID of the group + + + - - Get the titles + + + - - Represents the summary data for a group + + + Login Request Parameters + - - Construct a new instance of the GroupAccountSummaryReplyEventArgs class - The ID of the group - The summary data + + + Default constuctor, initializes sane default values + - - Get the ID of the group + + + Instantiates new LoginParams object and fills in the values + + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number - - Get the summary data + + + Instantiates new LoginParams object and fills in the values + + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number + URI of the login server - - A response to a group create request + + The URL of the Login Server - - Construct a new instance of the GroupCreatedReplyEventArgs class - The ID of the group - the success or faulure of the request - A string containing additional information + + The number of milliseconds to wait before a login is considered + failed due to timeout - - Get the ID of the group + + The request method + login_to_simulator is currently the only supported method - - true of the group was created successfully + + The Agents First name - - A string containing the message + + The Agents Last name - - Represents a response to a request + + A md5 hashed password + plaintext password will be automatically hashed - - Construct a new instance of the GroupOperationEventArgs class - The ID of the group - true of the request was successful + + The agents starting location once logged in + Either "last", "home", or a string encoded URI + containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 - - Get the ID of the group + + A string containing the client software channel information + Second Life Release - - true of the request was successful + + The client software version information + The official viewer uses: Second Life Release n.n.n.n + where n is replaced with the current version of the viewer - - Represents your agent leaving a group + + A string containing the platform information the agent is running on - - Construct a new instance of the GroupDroppedEventArgs class - The ID of the group + + A string hash of the network cards Mac Address - - Get the ID of the group + + Unknown or deprecated - - Represents a list of active group notices + + A string hash of the first disk drives ID used to identify this clients uniqueness - - Construct a new instance of the GroupNoticesListReplyEventArgs class - The ID of the group - The list containing active notices + + A string containing the viewers Software, this is not directly sent to the login server but + instead is used to generate the Version string - - Get the ID of the group + + A string representing the software creator. This is not directly sent to the login server but + is used by the library to generate the Version information - - Get the notices list + + If true, this agent agrees to the Terms of Service of the grid its connecting to - - Represents the profile of a group + + Unknown - - Construct a new instance of the GroupProfileEventArgs class - The group profile + + An array of string sent to the login server to enable various options - - Get the group profile + + A randomly generated ID to distinguish between login attempts. This value is only used + internally in the library and is never sent over the wire - + - Provides notification of a group invitation request sent by another Avatar + The decoded data returned from the login server after a successful login - The invitation is raised when another avatar makes an offer for our avatar - to join a group. - - The ID of the Avatar sending the group invitation - - - The name of the Avatar sending the group invitation - - - A message containing the request information which includes - the name of the group, the groups charter and the fee to join details + + true, false, indeterminate - - The Simulator + + Login message of the day - - Set to true to accept invitation, false to decline + + M or PG, also agent_region_access and agent_access_max - + - + Parse LLSD Login Reply Data - Looking direction, must be a normalized vector - Up direction, must be a normalized vector + An + contaning the login response data + XML-RPC logins do not require this as XML-RPC.NET + automatically populates the struct properly using attributes - + - Align the coordinate frame X and Y axis with a given rotation - around the Z axis in radians + Login Routines - Absolute rotation around the Z axis in - radians - - - Origin position of this coordinate frame - - - X axis of this coordinate frame, or Forward/At in grid terms - - - Y axis of this coordinate frame, or Left in grid terms - - - Z axis of this coordinate frame, or Up in grid terms - - - Avatar profile flags + NetworkManager is responsible for managing the network layer of + OpenMetaverse. It tracks all the server connections, serializes + outgoing traffic and deserializes incoming traffic, and provides + instances of delegates for network-related events. - + - Represents an avatar (other than your own) + Default constructor + Reference to the GridClient object - - Groups that this avatar is a member of + + + Explains why a simulator or the grid disconnected from us + - - Positive and negative ratings + + The client requested the logout or simulator disconnect - - Avatar properties including about text, profile URL, image IDs and - publishing settings + + The server notified us that it is disconnecting - - Avatar interests including spoken languages, skills, and "want to" - choices + + Either a socket was closed or network traffic timed out - - Movement control flags for avatars. Typically not set or used by - clients. To move your avatar, use Client.Self.Movement instead + + The last active simulator shut down - + - Contains the visual parameters describing the deformation of the avatar + Holds a simulator reference and a decoded packet, these structs are put in + the packet inbox for event handling - + + Reference to the simulator that this packet came from + + + Packet that needs to be processed + + - Default constructor + Holds a simulator reference and a serialized packet, these structs are put in + the packet outbox for sending - - First name + + Reference to the simulator this packet is destined for - - Last name + + Packet that needs to be sent - - Full name + + Sequence number of the wrapped packet - - Active group + + Number of times this packet has been resent - + + Environment.TickCount when this packet was last sent over the wire + + + Type of the packet + + - Positive and negative ratings + + + + + + + + + + - - Positive ratings for Behavior - - - Negative ratings for Behavior + + The event subscribers, null of no subscribers - - Positive ratings for Appearance + + Thread sync lock object - - Negative ratings for Appearance + + Seed CAPS URL returned from the login server - - Positive ratings for Building + + Maximum number of groups an agent can belong to, -1 for unlimited - - Negative ratings for Building + + XMPP server to connect to for Group chat and IM services - - Positive ratings given by this avatar + + A list of packets obtained during the login process which + networkmanager will log but not process - - Negative ratings given by this avatar + + The event subscribers, null of no subscribers - - - Avatar properties including about text, profile URL, image IDs and - publishing settings - + + Thread sync lock object - - First Life about text + + The event subscribers, null of no subscribers - - First Life image ID + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - Profile image ID + + The event subscribers, null of no subscribers - - Flags of the profile + + Thread sync lock object - - Web URL for this profile + + The event subscribers, null of no subscribers - - Should this profile be published on the web + + Thread sync lock object - - Avatar Online Status + + The event subscribers, null of no subscribers - - Is this a mature profile + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - - Avatar interests including spoken languages, skills, and "want to" - choices - + + All of the simulators we are currently connected to - - Languages profile field + + Handlers for incoming capability events - - + + Handlers for incoming packets - - + + Incoming packets that are awaiting handling - - + + Outgoing packets that are awaiting handling - - + + Raised when the simulator sends us data containing + ... - - - Extract the avatar UUID encoded in a SIP URI - - - + + Called when a reply is received from the login server, the + login sequence will block until this event returns - - - Permissions for control of object media - + + Raised when the simulator sends us data containing + ... - - - Style of cotrols that shold be displayed to the user - + + Raised when the simulator sends us data containing + ... - - - Class representing media data for a single face - + + Raised when the simulator sends us data containing + ... - - Is display of the alternative image enabled + + Raised when the simulator sends us data containing + ... - - Should media auto loop + + Raised when the simulator sends us data containing + ... - - Shoule media be auto played + + Raised when the simulator sends us data containing + ... - - Auto scale media to prim face + + Raised when the simulator sends us data containing + ... - - Should viewer automatically zoom in on the face when clicked + + Raised when the simulator sends us data containing + ... - - Should viewer interpret first click as interaction with the media - or when false should the first click be treated as zoom in commadn + + Current state of logging in - - Style of controls viewer should display when - viewer media on this face + + Upon login failure, contains a short string key for the + type of login error that occurred - - Starting URL for the media + + The raw XML-RPC reply from the login server, exactly as it + was received (minus the HTTP header) - - Currently navigated URL + + During login this contains a descriptive version of + LoginStatusCode. After a successful login this will contain the + message of the day, and after a failed login a descriptive error + message will be returned - - Media height in pixes + + Unique identifier associated with our connections to + simulators - - Media width in pixels + + The simulator that the logged in avatar is currently + occupying - - Who can controls the media + + Shows whether the network layer is logged in to the + grid or not - - Who can interact with the media + + Number of packets in the incoming queue - - Is URL whitelist enabled + + Number of packets in the outgoing queue - - Array of URLs that are whitelisted + + Raises the LoginProgress Event + A LoginProgressEventArgs object containing + the data sent from the simulator - + - Serialize to OSD + Generate sane default values for a login request - OSDMap with the serialized data + Account first name + Account last name + Account password + Client application name + Client application version + A populated struct containing + sane defaults - + - Deserialize from OSD data + Simplified login that takes the most common and required fields - Serialized OSD data - Deserialized object + Account first name + Account last name + Account password + Client application name + Client application version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - + - Operation to apply when applying color to texture + Simplified login that takes the most common fields along with a + starting location URI, and can accept an MD5 string instead of a + plaintext password + Account first name + Account last name + Account password or MD5 hash of the password + such as $1$1682a1e45e9f957dcdf0bb56eb43319c + Client application name + Starting location URI that can be built with + StartLocation() + Client application version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - + - Information needed to translate visual param value to RGBA color + Login that takes a struct of all the values that will be passed to + the login server + The values that will be passed to the login + server, all fields must be set even if they are String.Empty + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - + - Construct VisualColorParam + Build a start location URI for passing to the Login function - Operation to apply when applying color to texture - Colors + Name of the simulator to start in + X coordinate to start at + Y coordinate to start at + Z coordinate to start at + String with a URI that can be used to login to a specified + location - + - Represents alpha blending and bump infor for a visual parameter - such as sleive length + LoginParams and the initial login XmlRpcRequest were made on a remote machine. + This method now initializes libomv with the results. - - Stregth of the alpha to apply - - - File containing the alpha channel - - - Skip blending if parameter value is 0 - - - Use miltiply insted of alpha blending - - + - Create new alhpa information for a visual param + Handles response from XML-RPC login replies - Stregth of the alpha to apply - File containing the alpha channel - Skip blending if parameter value is 0 - Use miltiply insted of alpha blending - + - A single visual characteristic of an avatar mesh, such as eyebrow height + Handles response from XML-RPC login replies with already parsed LoginResponseData - - Index of this visual param - - - Internal name + + + Handle response from LLSD login replies + + + + + + + - - Group ID this parameter belongs to + + + Get current OS + + Either "Win" or "Linux" - - Name of the wearable this parameter belongs to + + + Get clients default Mac Address + + A string containing the first found Mac Address - - Displayable label of this characteristic + + Raises the PacketSent Event + A PacketSentEventArgs object containing + the data sent from the simulator - - Displayable label for the minimum value of this characteristic + + Raises the LoggedOut Event + A LoggedOutEventArgs object containing + the data sent from the simulator - - Displayable label for the maximum value of this characteristic + + Raises the SimConnecting Event + A SimConnectingEventArgs object containing + the data sent from the simulator - - Default value + + Raises the SimConnected Event + A SimConnectedEventArgs object containing + the data sent from the simulator - - Minimum value + + Raises the SimDisconnected Event + A SimDisconnectedEventArgs object containing + the data sent from the simulator - - Maximum value + + Raises the Disconnected Event + A DisconnectedEventArgs object containing + the data sent from the simulator - - Is this param used for creation of bump layer? + + Raises the SimChanged Event + A SimChangedEventArgs object containing + the data sent from the simulator - - Alpha blending/bump info + + Raises the EventQueueRunning Event + A EventQueueRunningEventArgs object containing + the data sent from the simulator - - Color information + + + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + + Packet type to trigger events for + Callback to fire when a packet of this type + is received - - Array of param IDs that are drivers for this parameter + + + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + + Packet type to trigger events for + Callback to fire when a packet of this type + is received + True if the callback should be ran + asynchronously. Only set this to false (synchronous for callbacks + that will always complete quickly) + If any callback for a packet type is marked as + asynchronous, all callbacks for that packet type will be fired + asynchronously - + - Set all the values through the constructor + Unregister an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library - Index of this visual param - Internal name - - - Displayable label of this characteristic - Displayable label for the minimum value of this characteristic - Displayable label for the maximum value of this characteristic - Default value - Minimum value - Maximum value - Is this param used for creation of bump layer? - Array of param IDs that are drivers for this parameter - Alpha blending/bump info - Color information + Packet type this callback is registered with + Callback to stop firing events for - + - Holds the Params array of all the avatar appearance parameters + Register a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library + Name of the CAPS event to register a handler for + Callback to fire when a CAPS event is received - + - The InternalDictionary class is used through the library for storing key/value pairs. - It is intended to be a replacement for the generic Dictionary class and should - be used in its place. It contains several methods for allowing access to the data from - outside the library that are read only and thread safe. - + Unregister a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library - Key - Value + Name of the CAPS event this callback is + registered with + Callback to stop firing events for - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking - on this member + + + Send a packet to the simulator the avatar is currently occupying + + Packet to send - + - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. + Send a packet to a specified simulator - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); - - + Packet to send + Simulator to send the packet to - + - Initializes a new instance of the Class - with the specified key/value, has its initial valies copied from the specified - + Connect to a simulator - - to copy initial values from - - - // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. - // populates with copied values from example KeyNameCache Dictionary. - - // create source dictionary - Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); - KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); - KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); - - // Initialize new dictionary. - public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); - - + IP address to connect to + Port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null - + - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. + Connect to a simulator - Initial size of dictionary - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); - - + IP address and port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null - + - Try to get entry from with specified key + Initiate a blocking logout request. This will return when the logout + handshake has completed or when Settings.LOGOUT_TIMEOUT + has expired and the network layer is manually shut down - Key to use for lookup - Value returned - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - - + - Finds the specified match. + Initiate the logout process. Check if logout succeeded with the + OnLogoutReply event, and if this does not fire the + Shutdown() function needs to be manually called - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - + + + Close a connection to the given simulator + + + + + - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - + + + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout + Type of shutdown - - Perform an on each entry in an - to perform - - - // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. - Client.Network.CurrentSim.ObjectsPrimitives.ForEach( - delegate(Primitive prim) - { - if (prim.Text != null) - { - Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", - prim.PropertiesFamily.Name, prim.ID, prim.Text); - } - }); - - + + + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout + Type of shutdown + Shutdown message - - Perform an on each key of an - to perform + + + Searches through the list of currently connected simulators to find + one attached to the given IPEndPoint + + IPEndPoint of the Simulator to search for + A Simulator reference on success, otherwise null - + - Perform an on each KeyValuePair of an + Fire an event when an event queue connects for capabilities - to perform + Simulator the event queue is attached to - - Check if Key exists in Dictionary - Key to check for - if found, otherwise + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Check if Value exists in Dictionary - Value to check for - if found, otherwise + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - - The key - The value + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Removes the specified key, dictionary locking is not performed + A Name Value pair with additional settings, used in the protocol + primarily to transmit avatar names and active group in object packets - The key. - if successful, otherwise - + - Gets the number of Key/Value pairs contained in the + Constructor that takes all the fields as parameters + + + + + + + + + + - + - Indexer for the dictionary + Constructor that takes a single line from a NameValue field - The key - The value + + - - - This is used to initialize and stop the Connector as a whole. The Connector - Create call must be completed successfully before any other requests are made - (typically during application initialization). The shutdown should be called - when the application is shutting down to gracefully release resources - - A string value indicting the Application name - URL for the management server - LoggingSettings - - + + Type of the value - - - Shutdown Connector -- Should be called when the application is shutting down - to gracefully release resources - - Handle returned from successful Connector ‘create’ request + + Unknown - - - Mute or unmute the microphone - - Handle returned from successful Connector ‘create’ request - true (mute) or false (unmute) + + String value - + - Mute or unmute the speaker - Handle returned from successful Connector ‘create’ request - true (mute) or false (unmute) - + - Set microphone volume - Handle returned from successful Connector ‘create’ request - The level of the audio, a number between -100 and 100 where - 0 represents ‘normal’ speaking volume - + - Set local speaker volume - Handle returned from successful Connector ‘create’ request - The level of the audio, a number between -100 and 100 where - 0 represents ‘normal’ speaking volume - + - Starts a thread that keeps the daemon running - - - - - Stops the daemon and the thread keeping it running - + + Deprecated - - - - - - - + + String value, but designated as an asset - + - This is used to get a list of audio devices that can be used for capture (input) of voice. - - + - This is used to get a list of audio devices that can be used for render (playback) of voice. - + - This command is used to select the render device. - The name of the device as returned by the Aux.GetRenderDevices command. - + - This command is used to select the capture device. - The name of the device as returned by the Aux.GetCaptureDevices command. - + - This command is used to start the audio capture process which will cause - AuxAudioProperty Events to be raised. These events can be used to display a - microphone VU meter for the currently selected capture device. This command - should not be issued if the user is on a call. - (unused but required) - - + - This command is used to stop the audio capture process. - - + - This command is used to set the mic volume while in the audio tuning process. - Once an acceptable mic level is attained, the application must issue a - connector set mic volume command to have that level be used while on voice - calls. - the microphone volume (-100 to 100 inclusive) - - + - This command is used to set the speaker volume while in the audio tuning - process. Once an acceptable speaker level is attained, the application must - issue a connector set speaker volume command to have that level be used while - on voice calls. - the speaker volume (-100 to 100 inclusive) - - + - Create a Session - Sessions typically represent a connection to a media session with one or more - participants. This is used to generate an ‘outbound’ call to another user or - channel. The specifics depend on the media types involved. A session handle is - required to control the local user functions within the session (or remote - users if the current account has rights to do so). Currently creating a - session automatically connects to the audio media, there is no need to call - Session.Connect at this time, this is reserved for future use. - Handle returned from successful Connector ‘create’ request - This is the URI of the terminating point of the session (ie who/what is being called) - This is the display name of the entity being called (user or channel) - Only needs to be supplied when the target URI is password protected - This indicates the format of the password as passed in. This can either be - “ClearText” or “SHA1UserName”. If this element does not exist, it is assumed to be “ClearText”. If it is - “SHA1UserName”, the password as passed in is the SHA1 hash of the password and username concatenated together, - then base64 encoded, with the final “=” character stripped off. - - - - + - Used to accept a call - SessionHandle such as received from SessionNewEvent - "default" - - + - This command is used to start the audio render process, which will then play - the passed in file through the selected audio render device. This command - should not be issued if the user is on a call. - The fully qualified path to the sound file. - True if the file is to be played continuously and false if it is should be played once. - - + - This command is used to stop the audio render process. - The fully qualified path to the sound file issued in the start render command. - - + - This is used to ‘end’ an established session (i.e. hang-up or disconnect). - Handle returned from successful Session ‘create’ request or a SessionNewEvent - - + - Set the combined speaking and listening position in 3D space. - Handle returned from successful Session ‘create’ request or a SessionNewEvent - Speaking position - Listening position - - + - Set User Volume for a particular user. Does not affect how other users hear that user. - Handle returned from successful Session ‘create’ request or a SessionNewEvent - - The level of the audio, a number between -100 and 100 where 0 represents ‘normal’ speaking volume - - + - Start up the Voice service. - + - Handle miscellaneous request status - - - ///If something goes wrong, we log it. - + - Cleanup oject resources - - - Request voice cap when changing regions - + + No report - - - Handle a change in session state - + + Unknown report type - - - Close a voice session - - + + Bug report - - - Locate a Session context from its handle - - Creates the session context if it does not exist. + + Complaint report - - - Handle completion of main voice cap request. - - - - + + Customer service report - + - Daemon has started so connect to it. + Bitflag field for ObjectUpdateCompressed data blocks, describing + which options are present for each object - - - The daemon TCP connection is open. - + + Unknown - - - Handle creation of the Connector. - + + Whether the object has a TreeSpecies - - - Handle response to audio output device query - + + Whether the object has floating text ala llSetText - - - Handle response to audio input device query - + + Whether the object has an active particle system - - - Set voice channel for new parcel - - + + Whether the object has sound attached to it - + + Whether the object is attached to a root object or not + + + Whether the object has texture animation settings + + + Whether the object has an angular velocity + + + Whether the object has a name value pairs string + + + Whether the object has a Media URL set + + - Request info from a parcel capability Uri. + Specific Flags for MultipleObjectUpdate requests - - - - Receive parcel voice cap - - - - + + None + + + Change position of prims + + + Change rotation of prims + + + Change size of prims + + + Perform operation on link set + + + Scale prims uniformly, same as selecing ctrl+shift in the + viewer. Used in conjunction with Scale - + - Tell Vivox where we are standing + Special values in PayPriceReply. If the price is not one of these + literal value of the price should be use - This has to be called when we move or turn. - + - Start and stop updating out position. + Indicates that this pay option should be hidden - - + - This is used to login a specific user account(s). It may only be called after - Connector initialization has completed successfully + Indicates that this pay option should have the default value - Handle returned from successful Connector ‘create’ request - User's account name - User's account password - Values may be “AutoAnswer” or “VerifyAnswer” - "" - This is an integer that specifies how often - the daemon will send participant property events while in a channel. If this is not set - the default will be “on state change”, which means that the events will be sent when - the participant starts talking, stops talking, is muted, is unmuted. - The valid values are: - 0 – Never - 5 – 10 times per second - 10 – 5 times per second - 50 – 1 time per second - 100 – on participant state change (this is the default) - false - - + - This is used to logout a user session. It should only be called with a valid AccountHandle. + Contains the variables sent in an object update packet for objects. + Used to track position and movement of prims and avatars - Handle returned from successful Connector ‘login’ request - - + - Event for most mundane request reposnses. - - Response to Connector.Create request - - - Response to Aux.GetCaptureDevices request - - - Response to Aux.GetRenderDevices request - - - Audio Properties Events are sent after audio capture is started. - These events are used to display a microphone VU meter - - - Response to Account.Login request - - - This event message is sent whenever the login state of the - particular Account has transitioned from one value to another - - + - List of audio input devices - + - List of audio output devices - + - Set audio test mode - - Enable logging - - - The folder where any logs will be created - - - This will be prepended to beginning of each log file - - - The suffix or extension to be appended to each log file - - + - 0: NONE - No logging - 1: ERROR - Log errors only - 2: WARNING - Log errors and warnings - 3: INFO - Log errors, warnings and info - 4: DEBUG - Log errors, warnings, info and debug - + - Constructor for default logging settings - - Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter - - + - Abstract base for rendering plugins - + - Generates a basic mesh structure from a primitive - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh - + - Generates a basic mesh structure from a sculpted primitive and - texture - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh - + - Generates a series of faces, each face containing a mesh and - metadata - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh - + - Generates a series of faces for a sculpted prim, each face - containing a mesh and metadata + Handles all network traffic related to prims and avatar positions and + movement. - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh - + - Apply texture coordinate modifications from a - to a list of vertices + Construct a new instance of the ObjectManager class - Vertex list to modify texture coordinates for - Center-point of the face - Face texture parameters + A reference to the instance - + - pre-defined built in sounds + Callback for getting object media data via CAP + Indicates if the operation was succesfull + Object media version string + Array indexed on prim face of media entry data - - - - - - - - - - - - - - - - - - - - - - - - - - coins - - - cash register bell - - - - - - - - - rubber - - - plastic - - - flesh + + The event subscribers, null of no subscribers - - wood splintering? + + Thread sync lock object - - glass break + + The event subscribers, null of no subscribers - - metal clunk + + Thread sync lock object - - whoosh + + The event subscribers, null of no subscribers - - shake + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - ding + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - - A dictionary containing all pre-defined sounds - - A dictionary containing the pre-defined sounds, - where the key is the sounds ID, and the value is a string - containing a name to identify the purpose of the sound + + Reference to the GridClient object - - - Simulator (region) properties - + + Does periodic dead reckoning calculation to convert + velocity and acceleration to new positions for objects - - No flags set + + Raised when the simulator sends us data containing + A , Foliage or Attachment + + - - Agents can take damage and be killed + + Raised when the simulator sends us data containing + additional information + + - - Landmarks can be created here + + Raised when the simulator sends us data containing + Primitive.ObjectProperties for an object we are currently tracking - - Home position can be set in this sim + + Raised when the simulator sends us data containing + additional and details + - - Home position is reset when an agent teleports away + + Raised when the simulator sends us data containing + updated information for an - - Sun does not move + + Raised when the simulator sends us data containing + and movement changes - - No object, land, etc. taxes + + Raised when the simulator sends us data containing + updates to an Objects DataBlock - - Disable heightmap alterations (agents can still plant - foliage) + + Raised when the simulator informs us an + or is no longer within view - - Land cannot be released, sold, or purchased + + Raised when the simulator sends us data containing + updated sit information for our - - All content is wiped nightly + + Raised when the simulator sends us data containing + purchase price information for a - - Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) + + Raised when the simulator sends us data containing + additional information + + - - Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. + + Raises the ObjectProperties Event + A ObjectPropertiesEventArgs object containing + the data sent from the simulator - - Region does not update agent prim interest lists. Internal debugging option. + + Raises the ObjectPropertiesUpdated Event + A ObjectPropertiesUpdatedEventArgs object containing + the data sent from the simulator - - No collision detection for non-agent objects + + Raises the ObjectPropertiesFamily Event + A ObjectPropertiesFamilyEventArgs object containing + the data sent from the simulator - - No scripts are ran + + Raises the AvatarUpdate Event + A AvatarUpdateEventArgs object containing + the data sent from the simulator - - All physics processing is turned off + + Raises the ObjectDataBlockUpdate Event + A ObjectDataBlockUpdateEventArgs object containing + the data sent from the simulator - - Region can be seen from other regions on world map. (Legacy world map option?) + + Raises the KillObject Event + A KillObjectEventArgs object containing + the data sent from the simulator - - Region can be seen from mainland on world map. (Legacy world map option?) + + Raises the AvatarSitChanged Event + A AvatarSitChangedEventArgs object containing + the data sent from the simulator - - Agents not explicitly on the access list can visit the region. + + Raises the PayPriceReply Event + A PayPriceReplyEventArgs object containing + the data sent from the simulator - - Traffic calculations are not run across entire region, overrides parcel settings. + + Raises the PhysicsProperties Event + A PhysicsPropertiesEventArgs object containing + the data sent from the simulator - - Flight is disabled (not currently enforced by the sim) + + + Request information for a single object from a + you are currently connected to + + The the object is located + The Local ID of the object - - Allow direct (p2p) teleporting + + + Request information for multiple objects contained in + the same simulator + + The the objects are located + An array containing the Local IDs of the objects - - Estate owner has temporarily disabled scripting + + + Attempt to purchase an original object, a copy, or the contents of + an object + + The the object is located + The Local ID of the object + Whether the original, a copy, or the object + contents are on sale. This is used for verification, if the this + sale type is not valid for the object the purchase will fail + Price of the object. This is used for + verification, if it does not match the actual price the purchase + will fail + Group ID that will be associated with the new + purchase + Inventory folder UUID where the object or objects + purchased should be placed + + + BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, + 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); + + - - Restricts the usage of the LSL llPushObject function, applies to whole region. + + + Request prices that should be displayed in pay dialog. This will triggger the simulator + to send us back a PayPriceReply which can be handled by OnPayPriceReply event + + The the object is located + The ID of the object + The result is raised in the event - - Deny agents with no payment info on file + + + Select a single object. This will cause the to send us + an which will raise the event + + The the object is located + The Local ID of the object + - - Deny agents with payment info on file + + + Select a single object. This will cause the to send us + an which will raise the event + + The the object is located + The Local ID of the object + if true, a call to is + made immediately following the request + - - Deny agents who have made a monetary transaction + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + Should objects be deselected immediately after selection + - - Parcels within the region may be joined or divided by anyone, not just estate owners/managers. + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + - - Abuse reports sent from within this region are sent to the estate owner defined email. + + + Update the properties of an object + + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on - - Region is Voice Enabled + + + Update the properties of an object + + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on + Type of the represetnation prim will have in the physics engine + Density - normal value 1000 + Friction - normal value 0.6 + Restitution - standard value 0.5 + Gravity multiplier - standar value 1.0 - - Removes the ability from parcel owners to set their parcels to show in search. + + + Sets the sale properties of a single object + + The the object is located + The Local ID of the object + One of the options from the enum + The price of the object - - Deny agents who have not been age verified from entering the region. + + + Sets the sale properties of multiple objects + + The the objects are located + An array containing the Local IDs of the objects + One of the options from the enum + The price of the object - + - Access level for a simulator + Deselect a single object + The the object is located + The Local ID of the object - - Unknown or invalid access level + + + Deselect multiple objects. + + The the objects are located + An array containing the Local IDs of the objects - - Trial accounts allowed + + + Perform a click action on an object + + The the object is located + The Local ID of the object - - PG rating + + + Perform a click action (Grab) on a single object + + The the object is located + The Local ID of the object + The texture coordinates to touch + The surface coordinates to touch + The face of the position to touch + The region coordinates of the position to touch + The surface normal of the position to touch (A normal is a vector perpindicular to the surface) + The surface binormal of the position to touch (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - - Mature rating + + + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties - - Adult rating + + + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Specify the + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties - - Simulator is offline + + + Rez a Linden tree + + A reference to the object where the object resides + The size of the tree + The rotation of the tree + The position of the tree + The Type of tree + The of the group to set the tree to, + or UUID.Zero if no group is to be set + true to use the "new" Linden trees, false to use the old - - Simulator does not exist + + + Rez grass and ground cover + + A reference to the object where the object resides + The size of the grass + The rotation of the grass + The position of the grass + The type of grass from the enum + The of the group to set the tree to, + or UUID.Zero if no group is to be set - + - + Set the textures to apply to the faces of an object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply - + - + Set the textures to apply to the faces of an object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply + A media URL (not used) - + - Initialize the UDP packet handler in server mode + Set the Light data on an object - Port to listening for incoming UDP packets on + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - + - Initialize the UDP packet handler in client mode + Set the flexible data on an object - Remote UDP server to connect to + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - + - + Set the sculptie texture and data on an object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - + - + Unset additional primitive parameters on an object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The extra parameters to set - + - + Link multiple prims into a linkset + A reference to the object where the objects reside + An array which contains the IDs of the objects to link + The last object in the array will be the root object of the linkset TODO: Is this true? - - A public reference to the client that this Simulator object - is attached to - - - A Unique Cache identifier for this simulator - - - The capabilities for this simulator - - - - - - The current version of software this simulator is running - - - - - - A 64x64 grid of parcel coloring values. The values stored - in this array are of the type - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true if your agent has Estate Manager rights on this region - - - - - - - - - - - - Statistics information for this simulator and the - connection to the simulator, calculated by the simulator itself - and the library - - - The regions Unique ID - - - The physical data center the simulator is located - Known values are: - - Dallas - Chandler - SF - - - - - The CPU Class of the simulator - Most full mainland/estate sims appear to be 5, - Homesteads and Openspace appear to be 501 - - - The number of regions sharing the same CPU as this one - "Full Sims" appear to be 1, Homesteads appear to be 4 - - - The billing product name - Known values are: - - Mainland / Full Region (Sku: 023) - Estate / Full Region (Sku: 024) - Estate / Openspace (Sku: 027) - Estate / Homestead (Sku: 029) - Mainland / Homestead (Sku: 129) (Linden Owned) - Mainland / Linden Homes (Sku: 131) - - - - - The billing product SKU - Known values are: - - 023 Mainland / Full Region - 024 Estate / Full Region - 027 Estate / Openspace - 029 Estate / Homestead - 129 Mainland / Homestead (Linden Owned) - 131 Linden Homes / Full Region - - - - - The current sequence number for packets sent to this - simulator. Must be Interlocked before modifying. Only - useful for applications manipulating sequence numbers - - + - A thread-safe dictionary containing avatars in a simulator + Delink/Unlink multiple prims from a linkset + A reference to the object where the objects reside + An array which contains the IDs of the objects to delink - + - A thread-safe dictionary containing primitives in a simulator + Change the rotation of an object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation of the object - + - Provides access to an internal thread-safe dictionary containing parcel - information found in this simulator + Set the name of an object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new name of the object - + - Checks simulator parcel map to make sure it has downloaded all data successfully + Set the name of multiple objects - true if map is full (contains no 0's) - - - Used internally to track sim disconnections - - - Event that is triggered when the simulator successfully - establishes a connection - - - Whether this sim is currently connected or not. Hooked up - to the property Connected - - - Coarse locations of avatars in this simulator - - - AvatarPositions key representing TrackAgent target + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the name of + An array which contains the new names of the objects - - Sequence numbers of packets we've received - (for duplicate checking) + + + Set the description of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new description of the object - - Packets we sent out that need ACKs from the simulator + + + Set the descriptions of multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the description of + An array which contains the new descriptions of the objects - - Sequence number for pause/resume + + + Attach an object to this avatar + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The point on the avatar the object will be attached + The rotation of the attached object - - Indicates if UDP connection to the sim is fully established + + + Drop an attached object from this avatar + + A reference to the + object where the objects reside. This will always be the simulator the avatar is currently in + + The object's ID which is local to the simulator the object is in - + - + Detach an object from yourself - Reference to the GridClient object - IPEndPoint of the simulator - handle of the simulator + A reference to the + object where the objects reside + This will always be the simulator the avatar is currently in + + An array which contains the IDs of the objects to detach - + - Called when this Simulator object is being destroyed + Change the position of an object, Will change position of entire linkset + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object - + - Attempt to connect to this simulator + Change the position of an object - Whether to move our agent in to this sim or not - True if the connection succeeded or connection status is - unknown, false if there was a failure + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object + if true, will change position of (this) child prim only, not entire linkset - + - Initiates connection to the simulator + Change the Scale (size) of an object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change scale of this prim only, not entire linkset + True to resize prims uniformly - + - Disconnect from this simulator + Change the Rotation of an object that is either a child or a whole linkset + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change rotation of this prim only, not entire linkset - + - Instructs the simulator to stop sending update (and possibly other) packets + Send a Multiple Object Update packet to change the size, scale or rotation of a primitive + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation, size, or position of the target object + The flags from the Enum - + - Instructs the simulator to resume sending update packets (unpause) + Deed an object (prim) to a group, Object must be shared with group which + can be accomplished with SetPermissions() + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The of the group to deed the object to - + - Retrieve the terrain height at a given coordinate + Deed multiple objects (prims) to a group, Objects must be shared with group which + can be accomplished with SetPermissions() - Sim X coordinate, valid range is from 0 to 255 - Sim Y coordinate, valid range is from 0 to 255 - The terrain height at the given point if the - lookup was successful, otherwise 0.0f - True if the lookup was successful, otherwise false + A reference to the object where the object resides + An array which contains the IDs of the objects to deed + The of the group to deed the object to - + - Sends a packet + Set the permissions on multiple objects - Packet to be sent + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the permissions on + The new Who mask to set + Which permission to modify + The new state of permission - + - + Request additional properties for an object + A reference to the object where the object resides + + - + - Returns Simulator Name as a String + Request additional properties for an object - + A reference to the object where the object resides + Absolute UUID of the object + Whether to require server acknowledgement of this request - + - + Set the ownership of a list of objects to the specified group - + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the group id on + The Groups ID - + - + Update current URL of the previously set prim media - - + UUID of the prim + Set current URL to this + Prim face number + Simulator in which prim is located - + - Sends out pending acknowledgements + Set object media - Number of ACKs sent + UUID of the prim + Array the length of prims number of faces. Null on face indexes where there is + no media, on faces which contain the media + Simulatior in which prim is located - + - Resend unacknowledged packets + Retrieve information about object media + UUID of the primitive + Simulator where prim is located + Call this callback when done - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + - Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + A terse object update, used when a transformation matrix or + velocity/acceleration for an object changes but nothing else + (scale/position/rotation/acceleration/velocity) + The sender + The EventArgs object containing the packet data - - The IP address and port of the server + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Whether there is a working connection to the simulator or - not + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Coarse locations of avatars in this simulator + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - AvatarPositions key representing TrackAgent target + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Indicates if UDP connection to the sim is fully established + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + - Simulator Statistics + + + + + + - - Total number of packets sent by this simulator to this agent - - - Total number of packets received by this simulator to this agent - - - Total number of bytes sent by this simulator to this agent - - - Total number of bytes received by this simulator to this agent - - - Time in seconds agent has been connected to simulator + + + Setup construction data for a basic primitive shape + + Primitive shape to construct + Construction data that can be plugged into a - - Total number of packets that have been resent + + + + + + + + + + + - - Total number of resent packets recieved + + + + + + + - - Total number of pings sent to this simulator by this agent + + + Set the Shape data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + Data describing the prim shape - - Total number of ping replies sent to this agent by this simulator + + + Set the Material data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new material of the object - + - Incoming bytes per second - It would be nice to have this claculated on the fly, but - this is far, far easier + + + + + + + + - + - Outgoing bytes per second - It would be nice to have this claculated on the fly, but - this is far, far easier + + + + + + + + - - Time last ping was sent + + Provides data for the event + + The event occurs when the simulator sends + an containing a Primitive, Foliage or Attachment data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or + if an Avatar crosses the border into a new simulator and returns to the current simulator + + + The following code example uses the , , and + properties to display new Primitives and Attachments on the window. + + // Subscribe to the event that gives us prim and foliage information + Client.Objects.ObjectUpdate += Objects_ObjectUpdate; + private void Objects_ObjectUpdate(object sender, PrimEventArgs e) + { + Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); + } + + + + - - ID of last Ping sent + + + Construct a new instance of the PrimEventArgs class + + The simulator the object originated from + The Primitive + The simulator time dilation + The prim was not in the dictionary before this update + true if the primitive represents an attachment to an agent - - + + Get the simulator the originated from - - + + Get the details - - Current time dilation of this simulator + + true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) - - Current Frames per second of simulator + + true if the is attached to an - - Current Physics frames per second of simulator + + Get the simulator Time Dilation - - + + Provides data for the event + + The event occurs when the simulator sends + an containing Avatar data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator + + + The following code example uses the property to make a request for the top picks + using the method in the class to display the names + of our own agents picks listings on the window. + + // subscribe to the AvatarUpdate event to get our information + Client.Objects.AvatarUpdate += Objects_AvatarUpdate; + Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; + private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) + { + // we only want our own data + if (e.Avatar.LocalID == Client.Self.LocalID) + { + // Unsubscribe from the avatar update event to prevent a loop + // where we continually request the picks every time we get an update for ourselves + Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; + // make the top picks request through AvatarManager + Client.Avatars.RequestAvatarPicks(e.Avatar.ID); + } + } + private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) + { + // we'll unsubscribe from the AvatarPicksReply event since we now have the data + // we were looking for + Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; + // loop through the dictionary and extract the names of the top picks from our profile + foreach (var pickName in e.Picks.Values) + { + Console.WriteLine(pickName); + } + } + + + - - + + + Construct a new instance of the AvatarUpdateEventArgs class + + The simulator the packet originated from + The data + The simulator time dilation + The avatar was not in the dictionary before this update - - + + Get the simulator the object originated from - - + + Get the data - - + + Get the simulator time dilation - - + + true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) - - + + Provides additional primitive data for the event + + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment data + The event is also raised when a request is + made. + + + The following code example uses the , and + + properties to display new attachments and send a request for additional properties containing the name of the + attachment then display it on the window. + + // Subscribe to the event that provides additional primitive details + Client.Objects.ObjectProperties += Objects_ObjectProperties; + // handle the properties data that arrives + private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) + { + Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); + } + - - + + + Construct a new instance of the ObjectPropertiesEventArgs class + + The simulator the object is located + The primitive Properties - - Total number of objects Simulator is simulating + + Get the simulator the object is located - - Total number of Active (Scripted) objects running + + Get the primitive properties - - Number of agents currently in this simulator + + Provides additional primitive data for the event + + The event occurs when the simulator sends + an containing additional details for a Primitive or Foliage data that is currently + being tracked in the dictionary + The event is also raised when a request is + made and is enabled + - - Number of agents in neighbor simulators + + + Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class + + The simulator the object is located + The Primitive + The primitive Properties - - Number of Active scripts running in this simulator + + Get the simulator the object is located - - + + Get the primitive details - - + + Get the primitive properties - - + + Provides additional primitive data, permissions and sale info for the event + + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment. This includes + Permissions, Sale info, and other basic details on an object + The event is also raised when a request is + made, the viewer equivalent is hovering the mouse cursor over an object + - - Number of downloads pending + + Get the simulator the object is located - - Number of uploads pending + + + - - + + + - - + + Provides primitive data containing updated location, velocity, rotation, textures for the event + + The event occurs when the simulator sends updated location, velocity, rotation, etc + - - Number of local uploads pending + + Get the simulator the object is located - - Unacknowledged bytes in queue + + Get the primitive details - + - Checks the instance back into the object pool - + - Returns an instance of the class that has been checked out of the Object Pool. - + - Creates a new instance of the ObjectPoolBase class. Initialize MUST be called - after using this constructor. - + + Get the simulator the object is located + + + Get the primitive details + + - Creates a new instance of the ObjectPool Base class. - The object pool is composed of segments, which - are allocated whenever the size of the pool is exceeded. The number of items - in a segment should be large enough that allocating a new segmeng is a rare - thing. For example, on a server that will have 10k people logged in at once, - the receive buffer object pool should have segment sizes of at least 1000 - byte arrays per segment. - - The minimun number of segments that may exist. - Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. - The frequency which segments are checked to see if they're eligible for cleanup. - + - Forces the segment cleanup algorithm to be run. This method is intended - primarly for use from the Unit Test libraries. - + - Responsible for allocate 1 instance of an object that will be stored in a segment. - An instance of whatever objec the pool is pooling. - + - Checks in an instance of T owned by the object pool. This method is only intended to be called - by the WrappedObject class. - The segment from which the instance is checked out. - The instance of T to check back into the segment. - + + Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the + event + + + Get the simulator the object is located + + + The LocalID of the object + + - Checks an instance of T from the pool. If the pool is not sufficient to - allow the checkout, a new segment is created. + Provides updates sit position data - A WrappedObject around the instance of T. To check - the instance back into the segment, be sureto dispose the WrappedObject - when finished. - + + Get the simulator the object is located + + - The total number of segments created. Intended to be used by the Unit Tests. - + - The number of items that are in a segment. Items in a segment - are all allocated at the same time, and are hopefully close to - each other in the managed heap. - + - The minimum number of segments. When segments are reclaimed, - this number of segments will always be left alone. These - segments are allocated at startup. - + - The age a segment must be before it's eligible for cleanup. - This is used to prevent thrash, and typical values are in - the 5 minute range. - + + Get the simulator the object is located + + - The frequence which the cleanup thread runs. This is typically - expected to be in the 5 minute range. - + - Exception class to identify inventory exceptions - + - Responsible for maintaining inventory structure. Inventory constructs nodes - and manages node children as is necessary to maintain a coherant hirarchy. - Other classes should not manipulate or create InventoryNodes explicitly. When - A node's parent changes (when a folder is moved, for example) simply pass - Inventory the updated InventoryFolder and it will make the appropriate changes - to its internal representation. - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectUpdated Event - A InventoryObjectUpdatedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectRemoved Event - A InventoryObjectRemovedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectAdded Event - A InventoryObjectAddedEventArgs object containing - the data sent from the simulator + + + Indicates if the operation was successful + - - Thread sync lock object + + + Media version string + - + - Returns the contents of the specified folder + Array of media entries indexed by face number - A folder's UUID - The contents of the folder corresponding to folder - When folder does not exist in the inventory - + - Updates the state of the InventoryNode and inventory data structure that - is responsible for the InventoryObject. If the item was previously not added to inventory, - it adds the item, and updates structure accordingly. If it was, it updates the - InventoryNode, changing the parent node if item.parentUUID does - not match node.Parent.Data.UUID. - - You can not set the inventory root folder using this method + Set when simulator sends us infomation on primitive's physical properties - The InventoryObject to store - + - Removes the InventoryObject and all related node data from Inventory. + Constructor - The InventoryObject to remove. + Simulator where the message originated + Updated physical properties - + + Simulator where the message originated + + + Updated physical properties + + - Used to find out if Inventory contains the InventoryObject - specified by uuid. + Create an allocated UDP packet buffer for receiving a packet - The UUID to check. - true if inventory contains uuid, false otherwise - + - Saves the current inventory structure to a cache file + Create an allocated UDP packet buffer for sending a packet - Name of the cache file to save to + EndPoint of the remote host - + - Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + Create an allocated UDP packet buffer for sending a packet - Name of the cache file to load - The number of inventory items sucessfully reconstructed into the inventory node tree + EndPoint of the remote host + Size of the buffer to allocate for packet data - - Raised when the simulator sends us data containing - ... + + Size of the byte array used to store raw packet data - - Raised when the simulator sends us data containing - ... + + Raw packet data buffer - - Raised when the simulator sends us data containing - ... + + Length of the data to transmit + + + EndPoint of the remote host - + - The root folder of this avatars inventory + Object pool for packet buffers. This is used to allocate memory for all + incoming and outgoing packets, and zerocoding buffers for those packets - + - The default shared library folder + Initialize the object pool in client mode + Server to connect to + + + + - + - The root node of the avatars inventory + Initialize the object pool in server mode + + + + - + - The root node of the default shared library + Returns a packet buffer with EndPoint set if the buffer is in + client mode, or with EndPoint set to null in server mode + Initialized UDPPacketBuffer object - + - By using the bracket operator on this class, the program can get the - InventoryObject designated by the specified uuid. If the value for the corresponding - UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). - If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), - the uuid parameter is ignored. + Default constructor - The UUID of the InventoryObject to get or set, ignored if set to non-null value. - The InventoryObject corresponding to uuid. - + - Registers, unregisters, and fires events generated by incoming packets + Check a packet buffer out of the pool + A packet buffer object - - Reference to the GridClient object - - + - Default constructor + Returns an instance of the class that has been checked out of the Object Pool. - - + - Register an event handler + Checks the instance back into the object pool - Use PacketType.Default to fire this event on every - incoming packet - Packet type to register the handler for - Callback to be fired - True if this callback should be ran - asynchronously, false to run it synchronous - + - Unregister an event handler + Creates a new instance of the ObjectPoolBase class. Initialize MUST be called + after using this constructor. - Packet type to unregister the handler for - Callback to be unregistered - + - Fire the events registered for this packet type + Creates a new instance of the ObjectPool Base class. - Incoming packet type - Incoming packet - Simulator this packet was received from + The object pool is composed of segments, which + are allocated whenever the size of the pool is exceeded. The number of items + in a segment should be large enough that allocating a new segmeng is a rare + thing. For example, on a server that will have 10k people logged in at once, + the receive buffer object pool should have segment sizes of at least 1000 + byte arrays per segment. + + The minimun number of segments that may exist. + Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. + The frequency which segments are checked to see if they're eligible for cleanup. - + - Object that is passed to worker threads in the ThreadPool for - firing packet callbacks + The total number of segments created. Intended to be used by the Unit Tests. - - Callback to fire for this packet - - - Reference to the simulator that this packet came from - - - The packet that needs to be processed - - + - Registers, unregisters, and fires events generated by the Capabilities - event queue + The number of items that are in a segment. Items in a segment + are all allocated at the same time, and are hopefully close to + each other in the managed heap. - - Reference to the GridClient object - - + - Default constructor + The minimum number of segments. When segments are reclaimed, + this number of segments will always be left alone. These + segments are allocated at startup. - Reference to the GridClient object - + - Register an new event handler for a capabilities event sent via the EventQueue + The age a segment must be before it's eligible for cleanup. + This is used to prevent thrash, and typical values are in + the 5 minute range. - Use String.Empty to fire this event on every CAPS event - Capability event name to register the - handler for - Callback to fire - + - Unregister a previously registered capabilities handler + The frequence which the cleanup thread runs. This is typically + expected to be in the 5 minute range. - Capability event name unregister the - handler for - Callback to unregister - + - Fire the events registered for this event type synchronously + Forces the segment cleanup algorithm to be run. This method is intended + primarly for use from the Unit Test libraries. - Capability name - Decoded event body - Reference to the simulator that - generated this event - + - Fire the events registered for this event type asynchronously + Responsible for allocate 1 instance of an object that will be stored in a segment. - Capability name - Decoded event body - Reference to the simulator that - generated this event + An instance of whatever objec the pool is pooling. - + - Object that is passed to worker threads in the ThreadPool for - firing CAPS callbacks + Checks in an instance of T owned by the object pool. This method is only intended to be called + by the WrappedObject class. + The segment from which the instance is checked out. + The instance of T to check back into the segment. - - Callback to fire for this packet - - - Name of the CAPS event - - - Strongly typed decoded data - - - Reference to the simulator that generated this event - - + - Represends individual HTTP Download request + Checks an instance of T from the pool. If the pool is not sufficient to + allow the checkout, a new segment is created. + A WrappedObject around the instance of T. To check + the instance back into the segment, be sureto dispose the WrappedObject + when finished. - - URI of the item to fetch - - - Timout specified in milliseconds - - - Download progress callback - - - Download completed callback - - - Accept the following content type - - - Default constructor - - - Constructor - - + - Manages async HTTP downloads with a limit on maximum - concurrent downloads - - Default constructor - - - Cleanup method - - - Setup http download request - - - Check the queue for pending work - - - Enqueue a new HTPP download - - - Maximum number of parallel downloads from a single endpoint - - - Client certificate - - - Positional vector of the users position - - - Velocity vector of the position - - - At Orientation (X axis) of the position - - - Up Orientation (Y axis) of the position - - - Left Orientation (Z axis) of the position - - + - Represents Mesh asset - - Initializes a new instance of an AssetMesh object + + + - - Initializes a new instance of an AssetMesh object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + + - + - TODO: Encodes a scripts contents into a LSO Bytecode file + The ObservableDictionary class is used for storing key/value pairs. It has methods for firing + events to subscribers when items are added, removed, or changed. + Key + Value - + - TODO: Decode LSO Bytecode into a string + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. - true + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); + + - - Override the base classes AssetType + + + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. + + Initial size of dictionary + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); + + - + - Static helper functions and global variables + A dictionary of callbacks to fire when specified action occurs - - This header flag signals that ACKs are appended to the packet - - - This header flag signals that this packet has been sent before + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking - - This header flags signals that an ACK is expected for this packet + + + Indexer for the dictionary + + The key + The value - - This header flag signals that the message is compressed using zerocoding + + + Gets the number of Key/Value pairs contained in the - + - + Register a callback to be fired when an action occurs - - + The action + The callback to fire - + - + Unregister a callback - - - + The action + The callback to fire - + - - - + + + + - + - + Try to get entry from the with specified key - - - + Key to use for lookup + Value returned + + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + - + - Given an X/Y location in absolute (grid-relative) terms, a region - handle is returned along with the local X/Y location in that region + Finds the specified match. - The absolute X location, a number such as - 255360.35 - The absolute Y location, a number such as - 255360.35 - The sim-local X position of the global X - position, a value from 0.0 to 256.0 - The sim-local Y position of the global Y - position, a value from 0.0 to 256.0 - A 64-bit region handle that can be used to teleport to + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + - + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + + + Check if Key exists in Dictionary + Key to check for + + if found, otherwise + + + Check if Value exists in Dictionary + Value to check for + + if found, otherwise + + - Converts a floating point number to a terse string format used for - transmitting numbers in wearable asset files - - Floating point number to convert to a string - A terse string representation of the input number + Adds the specified key to the dictionary, dictionary locking is not performed, + + The key + The value - + - Convert a variable length field (byte array) to a string, with a - field name prepended to each line of the output + Removes the specified key, dictionary locking is not performed - If the byte array has unprintable characters in it, a - hex dump will be written instead - The StringBuilder object to write to - The byte array to convert to a string - A field name to prepend to each line of output + The key. + + if successful, otherwise - + - Decode a zerocoded byte array, used to decompress packets marked - with the zerocoded flag + Clear the contents of the dictionary - Any time a zero is encountered, the next byte is a count - of how many zeroes to expand. One zero is encoded with 0x00 0x01, - two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The - first four bytes are copied directly to the output buffer. - - The byte array to decode - The length of the byte array to decode. This - would be the length of the packet up to (but not including) any - appended ACKs - The output byte array to decode to - The length of the output buffer - + - Encode a byte array with zerocoding. Used to compress packets marked - with the zerocoded flag. Any zeroes in the array are compressed down - to a single zero byte followed by a count of how many zeroes to expand - out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, - three zeroes becomes 0x00 0x03, etc. The first four bytes are copied - directly to the output buffer. + Enumerator for iterating dictionary entries - The byte array to encode - The length of the byte array to encode - The output byte array to encode to - The length of the output buffer + + - + - Calculates the CRC (cyclic redundancy check) needed to upload inventory. + A custom decoder callback - Creation date - Sale type - Inventory type - Type - Asset ID - Group ID - Sale price - Owner ID - Creator ID - Item ID - Folder ID - Everyone mask (permissions) - Flags - Next owner mask (permissions) - Group mask (permissions) - Owner mask (permissions) - The calculated CRC + The key of the object + the data to decode + A string represending the fieldData - + - Attempts to load a file embedded in the assembly + Add a custom decoder callback - The filename of the resource to load - A Stream for the requested file, or null if the resource - was not successfully loaded + The key of the field to decode + The custom decode handler - + - Attempts to load a file either embedded in the assembly or found in - a given search path + Remove a custom decoder callback - The filename of the resource to load - An optional path that will be searched if - the asset is not found embedded in the assembly - A Stream for the requested file, or null if the resource - was not successfully loaded + The key of the field to decode + The custom decode handler - + - Converts a list of primitives to an object that can be serialized - with the LLSD system + Creates a formatted string containing the values of a Packet - Primitives to convert to a serializable object - An object that can be serialized with LLSD + The Packet + A formatted string of values of the nested items in the Packet object - + - Deserializes OSD in to a list of primitives + Decode an IMessage object into a beautifully formatted string - Structure holding the serialized primitive list, - must be of the SDMap type - A list of deserialized primitives + The IMessage object + Recursion level (used for indenting) + A formatted string containing the names and values of the source object - - - Converts a struct or class object containing fields only into a key value separated string - - The struct object - A string containing the struct fields as the keys, and the field value as the value separated - - - // Add the following code to any struct or class containing only fields to override the ToString() - // method to display the values of the passed object - - /// Print the struct data as a string - ///A string containing the field name, and field value - public override string ToString() - { - return Helpers.StructToString(this); - } - - + + + Type of return to use when returning objects from a parcel + - + - Passed to Logger.Log() to identify the severity of a log entry - - No logging information will be output + + Return objects owned by parcel owner - - Non-noisy useful information, may be helpful in - debugging a problem + + Return objects set to group - - A non-critical error occurred. A warning will not - prevent the rest of the library from operating as usual, - although it may be indicative of an underlying issue + + Return objects not owned by parcel owner or set to group - - A critical error has occurred. Generally this will - be followed by the network layer shutting down, although the - stability of the library after an error is uncertain + + Return a specific list of objects on parcel - - Used for internal testing, this logging level can - generate very noisy (long and/or repetitive) messages. Don't - pass this to the Log() function, use DebugLog() instead. + + Return objects that are marked for-sale + + + + Blacklist/Whitelist flags used in parcels Access List - + + Agent is denied access + + + Agent is granted access + + - A set of textures that are layered on texture of each other and "baked" - in to a single texture, for avatar appearances + The result of a request for parcel properties - - Final baked texture + + No matches were found for the request - - Component layers + + Request matched a single parcel + + + Request matched multiple parcels + + + + Flags used in the ParcelAccessListRequest packet to specify whether + we want the access list (whitelist), ban list (blacklist), or both + - - Width of the final baked image and scratchpad + + Request the access list - - Height of the final baked image and scratchpad + + Request the ban list - - Bake type + + Request both White and Black lists - + - Default constructor + Sequence ID in ParcelPropertiesReply packets (sent when avatar + tries to cross a parcel border) - Bake type - - - Adds layer for baking - - TexturaData struct that contains texture and its params + + Parcel is currently selected - - - Converts avatar texture index (face) to Bake type - - Face number (AvatarTextureIndex) - BakeType, layer to which this texture belongs to + + Parcel restricted to a group the avatar is not a + member of - - - Make sure images exist, resize source if needed to match the destination - - Destination image - Source image - Sanitization was succefull + + Avatar is banned from the parcel - - - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color - - Color of the base of this layer + + Parcel is restricted to an access list that the + avatar is not on - + + Response to hovering over a parcel + + - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color + The tool to use when modifying terrain levels - Red value - Green value - Blue value - - Final baked texture + + Level the terrain - - Component layers + + Raise the terrain - - Width of the final baked image and scratchpad + + Lower the terrain - - Height of the final baked image and scratchpad + + Smooth the terrain - - Bake type + + Add random noise to the terrain - - Is this one of the 3 skin bakes + + Revert terrain to simulator default - + - Represents an Animation + The tool size to use when changing terrain levels - - Default Constructor + + Small - - - Construct an Asset object of type Animation - - A unique specific to this asset - A byte array containing the raw asset data + + Medium - - Override the base classes AssetType + + Large - + - Index of TextureEntry slots for avatar appearances + Reasons agent is denied access to a parcel on the simulator - - - Bake layers for avatar appearance - + + Agent is not denied, access is granted - - Maximum number of concurrent downloads for wearable assets and textures + + Agent is not a member of the group set for the parcel, or which owns the parcel - - Maximum number of concurrent uploads for baked textures + + Agent is not on the parcels specific allow list - - Timeout for fetching inventory listings + + Agent is on the parcels ban list - - Timeout for fetching a single wearable, or receiving a single packet response + + Unknown - - Timeout for fetching a single texture + + Agent is not age verified and parcel settings deny access to non age verified avatars - - Timeout for uploading a single baked texture + + + Parcel overlay type. This is used primarily for highlighting and + coloring which is why it is a single integer instead of a set of + flags + + These values seem to be poorly thought out. The first three + bits represent a single value, not flags. For example Auction (0x05) is + not a combination of OwnedByOther (0x01) and ForSale(0x04). However, + the BorderWest and BorderSouth values are bit flags that get attached + to the value stored in the first three bits. Bits four, five, and six + are unused - - Number of times to retry bake upload + + Public land - - When changing outfit, kick off rebake after - 20 seconds has passed since the last change + + Land is owned by another avatar - - Total number of wearables for each avatar + + Land is owned by a group - - Total number of baked textures on each avatar + + Land is owned by the current avatar - - Total number of wearables per bake layer + + Land is for sale - - Mapping between BakeType and AvatarTextureIndex + + Land is being auctioned - - Map of what wearables are included in each bake + + Land is private - - Magic values to finalize the cache check hashes for each - bake + + To the west of this area is a parcel border - - Default avatar texture, used to detect when a custom - texture is not set for a face + + To the south of this area is a parcel border - - The event subscribers. null if no subcribers + + + Various parcel properties + - - Raises the AgentWearablesReply event - An AgentWearablesReplyEventArgs object containing the - data returned from the data server + + No flags set - - Thread sync lock object + + Allow avatars to fly (a client-side only restriction) - - The event subscribers. null if no subcribers + + Allow foreign scripts to run - - Raises the CachedBakesReply event - An AgentCachedBakesReplyEventArgs object containing the - data returned from the data server AgentCachedTextureResponse + + This parcel is for sale - - Thread sync lock object + + Allow avatars to create a landmark on this parcel - - The event subscribers. null if no subcribers + + Allows all avatars to edit the terrain on this parcel - - Raises the AppearanceSet event - An AppearanceSetEventArgs object indicating if the operatin was successfull + + Avatars have health and can take damage on this parcel. + If set, avatars can be killed and sent home here - - Thread sync lock object + + Foreign avatars can create objects here - - The event subscribers. null if no subcribers + + All objects on this parcel can be purchased - - Raises the RebakeAvatarRequested event - An RebakeAvatarTexturesEventArgs object containing the - data returned from the data server + + Access is restricted to a group - - Thread sync lock object + + Access is restricted to a whitelist + + + Ban blacklist is enabled + + + Unknown + + + List this parcel in the search directory + + + Allow personally owned parcels to be deeded to group - - A cache of wearables currently being worn + + If Deeded, owner contributes required tier to group parcel is deeded to - - A cache of textures currently being worn + + Restrict sounds originating on this parcel to the + parcel boundaries - - Incrementing serial number for AgentCachedTexture packets + + Objects on this parcel are sold when the land is + purchsaed - - Incrementing serial number for AgentSetAppearance packets + + Allow this parcel to be published on the web - - Indicates whether or not the appearance thread is currently - running, to prevent multiple appearance threads from running - simultaneously + + The information for this parcel is mature content - - Reference to our agent + + The media URL is an HTML page - - - Timer used for delaying rebake on changing outfit - + + The media URL is a raw HTML string - - - Main appearance thread - + + Restrict foreign object pushes - - - Default constructor - - A reference to our agent + + Ban all non identified/transacted avatars - - - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread - + + Allow group-owned scripts to run - - - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread - - Unused parameter + + Allow object creation by group members or group + objects - - - Starts the appearance setting thread - + + Allow all objects to enter this parcel - - - Starts the appearance setting thread - - True to force rebaking, otherwise false + + Only allow group and owner objects to enter this parcel - - - Ask the server what textures our agent is currently wearing - + + Voice Enabled on this parcel - - - Build hashes out of the texture assetIDs for each baking layer to - ask the simulator whether it has cached copies of each baked texture - + + Use Estate Voice channel for Voice on this parcel - - - Returns the AssetID of the asset that is currently being worn in a - given WearableType slot - - WearableType slot to get the AssetID for - The UUID of the asset being worn in the given slot, or - UUID.Zero if no wearable is attached to the given slot or wearables - have not been downloaded yet + + Deny Age Unverified Users - + - Add a wearable to the current outfit and set appearance + Parcel ownership status - Wearable to be added to the outfit - - - Add a list of wearables to the current outfit and set appearance - - List of wearable inventory items to - be added to the outfit + + Placeholder - - - Remove a wearable from the current outfit and set appearance - - Wearable to be removed from the outfit + + Parcel is leased (owned) by an avatar or group - - - Removes a list of wearables from the current outfit and set appearance - - List of wearable inventory items to - be removed from the outfit + + Parcel is in process of being leased (purchased) by an avatar or group - - - Replace the current outfit with a list of wearables and set appearance - - List of wearable inventory items that - define a new outfit + + Parcel has been abandoned back to Governor Linden - + - Checks if an inventory item is currently being worn + Category parcel is listed in under search - The inventory item to check against the agent - wearables - The WearableType slot that the item is being worn in, - or WearbleType.Invalid if it is not currently being worn - - - Returns a copy of the agents currently worn wearables - - A copy of the agents currently worn wearables - Avoid calling this function multiple times as it will make - a copy of all of the wearable data each time + + No assigned category - - - Calls either or - depending on the value of - replaceItems - - List of wearable inventory items to add - to the outfit or become a new outfit - True to replace existing items with the - new list of items, false to add these items to the existing outfit + + Linden Infohub or public area - - - Adds a list of attachments to our agent - - A List containing the attachments to add - If true, tells simulator to remove existing attachment - first + + Adult themed area - - - Attach an item to our agent at a specific attach point - - A to attach - the on the avatar - to attach the item to + + Arts and Culture - - - Attach an item to our agent specifying attachment details - - The of the item to attach - The attachments owner - The name of the attachment - The description of the attahment - The to apply when attached - The of the attachment - The on the agent - to attach the item to + + Business - - - Detach an item from our agent using an object - - An object + + Educational - - - Detach an item from our agent - - The inventory itemID of the item to detach + + Gaming - - - Inform the sim which wearables are part of our current outfit - + + Hangout or Club - - - Replaces the Wearables collection with a list of new wearable items - - Wearable items to replace the Wearables collection with + + Newcomer friendly - - - Calculates base color/tint for a specific wearable - based on its params - - All the color info gathered from wearable's VisualParams - passed as list of ColorParamInfo tuples - Base color/tint for the wearable + + Parks and Nature - - - Blocking method to populate the Wearables dictionary - - True on success, otherwise false + + Residential - - - Blocking method to populate the Textures array with cached bakes - - True on success, otherwise false + + Shopping - - - Populates textures and visual params from a decoded asset - - Wearable to decode + + Not Used? - - - Blocking method to download and parse currently worn wearable assets - - True on success, otherwise false + + Other - - - Get a list of all of the textures that need to be downloaded for a - single bake layer - - Bake layer to get texture AssetIDs for - A list of texture AssetIDs to download + + Not an actual category, only used for queries - + - Helper method to lookup the TextureID for a single layer and add it - to a list if it is not already present + Type of teleport landing for a parcel - - - - - Blocking method to download all of the textures needed for baking - the given bake layers - - A list of layers that need baking - No return value is given because the baking will happen - whether or not all textures are successfully downloaded + + Unset, simulator default - - - Blocking method to create and upload baked textures for all of the - missing bakes - - True on success, otherwise false + + Specific landing point set for this parcel - - - Blocking method to create and upload a baked texture for a single - bake layer - - Layer to bake - True on success, otherwise false + + No landing point set, direct teleports enabled for + this parcel - + - Blocking method to upload a baked texture + Parcel Media Command used in ParcelMediaCommandMessage - Five channel JPEG2000 texture data to upload - UUID of the newly created asset on success, otherwise UUID.Zero - - - Creates a dictionary of visual param values from the downloaded wearables - - A dictionary of visual param indices mapping to visual param - values for our agent that can be fed to the Baker class + + Stop the media stream and go back to the first frame - - - Create an AgentSetAppearance packet from Wearables data and the - Textures array and send it - + + Pause the media stream (stop playing but stay on current frame) - - - Converts a WearableType to a bodypart or clothing WearableType - - A WearableType - AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown + + Start the current media stream playing and stop when the end is reached - - - Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex - - A BakeType - The AvatarTextureIndex slot that holds the given BakeType + + Start the current media stream playing, + loop to the beginning when the end is reached and continue to play - - - Gives the layer number that is used for morph mask - - >A BakeType - Which layer number as defined in BakeTypeToTextures is used for morph mask + + Specifies the texture to replace with video + If passing the key of a texture, it must be explicitly typecast as a key, + not just passed within double quotes. - - - Converts a BakeType to a list of the texture slots that make up that bake - - A BakeType - A list of texture slots that are inputs for the given bake + + Specifies the movie URL (254 characters max) - - Triggered when an AgentWearablesUpdate packet is received, - telling us what our avatar is currently wearing - request. + + Specifies the time index at which to begin playing - - Raised when an AgentCachedTextureResponse packet is - received, giving a list of cached bakes that were found on the - simulator - request. + + Specifies a single agent to apply the media command to - - - Raised when appearance data is sent to the simulator, also indicates - the main appearance thread is finished. - - request. + + Unloads the stream. While the stop command sets the texture to the first frame of the movie, + unload resets it to the real texture that the movie was replacing. - - - Triggered when the simulator requests the agent rebake its appearance. - - + + Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties + (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. - - - Returns true if AppearanceManager is busy and trying to set or change appearance will fail - + + Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). + Use "text/html" for HTML. - + + Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). + This might still not be working + + + Sets a description for the media being displayed (1.19.1 RC0 and later only). + + - Contains information about a wearable inventory item + Some information about a parcel of land returned from a DirectoryManager search - - Inventory ItemID of the wearable + + Global Key of record - - AssetID of the wearable asset + + Parcel Owners - - WearableType of the wearable + + Name field of parcel, limited to 128 characters - - AssetType of the wearable + + Description field of parcel, limited to 256 characters - - Asset data for the wearable + + Total Square meters of parcel - - - Data collected from visual params for each wearable - needed for the calculation of the color - + + Total area billable as Tier, for group owned land this will be 10% less than ActualArea - - - Holds a texture assetID and the data needed to bake this layer into - an outfit texture. Used to keep track of currently worn textures - and baking data - + + True of parcel is in Mature simulator - - A texture AssetID + + Grid global X position of parcel - - Asset data for the texture + + Grid global Y position of parcel - - Collection of alpha masks that needs applying + + Grid global Z position of parcel (not used) - - Tint that should be applied to the texture + + Name of simulator parcel is located in - - Where on avatar does this texture belong + + Texture of parcels display picture - - Contains the Event data returned from the data server from an AgentWearablesRequest + + Float representing calculated traffic based on time spent on parcel by avatars - - Construct a new instance of the AgentWearablesReplyEventArgs class + + Sale price of parcel (not used) - - Contains the Event data returned from the data server from an AgentCachedTextureResponse + + Auction ID of parcel - - Construct a new instance of the AgentCachedBakesReplyEventArgs class + + + Parcel Media Information + - - Contains the Event data returned from an AppearanceSetRequest + + A byte, if 0x1 viewer should auto scale media to fit object - - - Triggered when appearance data is sent to the sim and - the main appearance thread is done. - Indicates whether appearance setting was successful + + A boolean, if true the viewer should loop the media - - Indicates whether appearance setting was successful + + The Asset UUID of the Texture which when applied to a + primitive will display the media - - Contains the Event data returned from the data server from an RebakeAvatarTextures + + A URL which points to any Quicktime supported media type - + + A description of the media + + + An Integer which represents the height of the media + + + An integer which represents the width of the media + + + A string which contains the mime type of the media + + - Triggered when the simulator sends a request for this agent to rebake - its appearance + Parcel of land, a portion of virtual real estate in a simulator - The ID of the Texture Layer to bake - - The ID of the Texture Layer to bake + + + Defalt constructor + + Local ID of this parcel + + + The total number of contiguous 4x4 meter blocks your agent owns within this parcel + + + The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own + + + Deprecated, Value appears to always be 0 + + + Simulator-local ID of this parcel + + + UUID of the owner of this parcel + + + Whether the land is deeded to a group or not - + - The current status of a texture request as it moves through the pipeline or final result of a texture request. - - The initial state given to a request. Requests in this state - are waiting for an available slot in the pipeline - - - A request that has been added to the pipeline and the request packet - has been sent to the simulator + + Date land was claimed - - A request that has received one or more packets back from the simulator + + Appears to always be zero - - A request that has received all packets back from the simulator + + This field is no longer used - - A request that has taken longer than - to download OR the initial packet containing the packet information was never received + + Minimum corner of the axis-aligned bounding box for this + parcel - - The texture request was aborted by request of the agent + + Maximum corner of the axis-aligned bounding box for this + parcel - - The simulator replied to the request that it was not able to find the requested texture + + Bitmap describing land layout in 4x4m squares across the + entire region - - - A callback fired to indicate the status or final state of the requested texture. For progressive - downloads this will fire each time new asset data is returned from the simulator. - - The indicating either Progress for textures not fully downloaded, - or the final result of the request after it has been processed through the TexturePipeline - The object containing the Assets ID, raw data - and other information. For progressive rendering the will contain - the data from the beginning of the file. For failed, aborted and timed out requests it will contain - an empty byte array. + + Total parcel land area - + - Texture request download handler, allows a configurable number of download slots which manage multiple - concurrent texture downloads from the - This class makes full use of the internal - system for full texture downloads. - - - A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID - and also the Asset Texture ID, and the value is an object containing the current state of the request and also - the asset data as it is being re-assembled - - - Holds the reference to the client object - - - Maximum concurrent texture requests allowed at a time - - An array of objects used to manage worker request threads - - - An array of worker slots which shows the availablity status of the slot + + Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used - - The primary thread which manages the requests. + + Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel + owned by the agent or group that owns this parcel - - true if the TexturePipeline is currently running + + Maximum number of primitives this parcel supports - - A synchronization object used by the primary thread + + Total number of primitives on this parcel - - A refresh timer used to increase the priority of stalled requests + + For group-owned parcels this indicates the total number of prims deeded to the group, + for parcels owned by an individual this inicates the number of prims owned by the individual - - - Default constructor, Instantiates a new copy of the TexturePipeline class - - Reference to the instantiated object + + Total number of primitives owned by the parcel group on + this parcel, or for parcels owned by an individual with a group set the + total number of prims set to that group. - - - Initialize callbacks required for the TexturePipeline to operate - + + Total number of prims owned by other avatars that are not set to group, or not the parcel owner - - - Shutdown the TexturePipeline and cleanup any callbacks or transfers - + + A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect + the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request + + Autoreturn value in minutes for others' objects - + - Sends the actual request packet to the simulator - The image to download - Type of the image to download, either a baked - avatar texture or a normal texture - Priority level of the download. Default is - 1,013,000.0f - Number of quality layers to discard. - This controls the end marker of the data sent - Packet number to start the download at. - This controls the start marker of the data sent - Sending a priority of 0 and a discardlevel of -1 aborts - download - - - Cancel a pending or in process texture request - - The texture assets unique ID + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it - - - Master Download Thread, Queues up downloads in the threadpool - + + Parcel Name - - - The worker thread that sends the request and handles timeouts - - A object containing the request details + + Parcel Description - - - Handle responses from the simulator that tell us a texture we have requested is unable to be located - or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use - - The sender - The EventArgs object containing the packet data + + URL For Music Stream - + - Handles the remaining Image data that did not fit in the initial ImageData packet - The sender - The EventArgs object containing the packet data - - - Handle the initial ImageDataPacket sent from the simulator - - The sender - The EventArgs object containing the packet data + + Price for a temporary pass - - Current number of pending and in-process transfers + + How long is pass valid for - + - A request task containing information and status of a request as it is processed through the - - The current which identifies the current status of the request - - - The Unique Request ID, This is also the Asset ID of the texture being requested - - - The slot this request is occupying in the threadpoolSlots array + + Key of authorized buyer - - The ImageType of the request. + + Key of parcel snapshot - - The callback to fire when the request is complete, will include - the and the - object containing the result data + + The landing point location - - If true, indicates the callback will be fired whenever new data is returned from the simulator. - This is used to progressively render textures as portions of the texture are received. + + The landing point LookAt - - An object that maintains the data of an request thats in-process. + + The type of landing enforced from the enum - + - Wrapper around a byte array that allows bit to be packed and unpacked - one at a time or by a variable amount. Useful for very tightly packed - data like LayerData packets - - - - + - Default constructor, initialize the bit packer / bit unpacker - with a byte array and starting position - Byte array to pack bits in to or unpack from - Starting position in the byte array - + - Pack a floating point value in to the data - Floating point value to pack - - - Pack part or all of an integer in to the data - - Integer containing the data to pack - Number of bits of the integer to pack + + Access list of who is whitelisted on this + parcel - - - Pack part or all of an unsigned integer in to the data - - Unsigned integer containing the data to pack - Number of bits of the integer to pack + + Access list of who is blacklisted on this + parcel - - - Pack a single bit in to the data - - Bit to pack + + TRUE of region denies access to age unverified users - - - - - - - - + + true to obscure (hide) media url + + + true to obscure (hide) music url + + + A struct containing media details - + - + Displays a parcel object in string format - + string containing key=value pairs of a parcel object - + - + Update the simulator with any local changes to this Parcel object - + Simulator to send updates to + Whether we want the simulator to confirm + the update with a reply packet or not - + - Unpacking a floating point value from the data + Set Autoreturn time - Unpacked floating point value + Simulator to send the update to - + - Unpack a variable number of bits from the data in to integer format + Parcel (subdivided simulator lots) subsystem - Number of bits to unpack - An integer containing the unpacked bits - This function is only useful up to 32 bits - + - Unpack a variable number of bits from the data in to unsigned - integer format + Default constructor - Number of bits to unpack - An unsigned integer containing the unpacked bits - This function is only useful up to 32 bits + A reference to the GridClient object - + - Unpack a 16-bit signed integer + Parcel Accesslist - 16-bit signed integer - - - Unpack a 16-bit unsigned integer - - 16-bit unsigned integer + + Agents - + - Unpack a 32-bit signed integer - 32-bit signed integer - + + Flags for specific entry in white/black lists + + - Unpack a 32-bit unsigned integer + Owners of primitives on parcel - 32-bit unsigned integer - - + + Prim Owners - - + + True of owner is group - - - Class that handles the local asset cache - + + Total count of prims owned by OwnerID - - - Default constructor - - A reference to the GridClient object + + true of OwnerID is currently online and is not a group - + + The date of the most recent prim left by OwnerID + + - Disposes cleanup timer + Called once parcel resource usage information has been collected + Indicates if operation was successfull + Parcel resource usage information - + + The event subscribers. null if no subcribers + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Thread sync lock object + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a Parcel Update request + + + Raised when the parcel your agent is located sends a ParcelMediaCommand + + + Raises the ParcelDwellReply event + A ParcelDwellReplyEventArgs object containing the + data returned from the simulator + + + Raises the ParcelInfoReply event + A ParcelInfoReplyEventArgs object containing the + data returned from the simulator + + + Raises the ParcelProperties event + A ParcelPropertiesEventArgs object containing the + data returned from the simulator + + + Raises the ParcelAccessListReply event + A ParcelAccessListReplyEventArgs object containing the + data returned from the simulator + + + Raises the ParcelObjectOwnersReply event + A ParcelObjectOwnersReplyEventArgs object containing the + data returned from the simulator + + + Raises the SimParcelsDownloaded event + A SimParcelsDownloadedEventArgs object containing the + data returned from the simulator + + + Raises the ForceSelectObjectsReply event + A ForceSelectObjectsReplyEventArgs object containing the + data returned from the simulator + + + Raises the ParcelMediaUpdateReply event + A ParcelMediaUpdateReplyEventArgs object containing the + data returned from the simulator + + + Raises the ParcelMediaCommand event + A ParcelMediaCommandEventArgs object containing the + data returned from the simulator + + - Only create timer when needed + Request basic information for a single parcel + Simulator-local ID of the parcel - + - Return bytes read from the local asset cache, null if it does not exist + Request properties of a single parcel - UUID of the asset we want to get - Raw bytes of the asset, or null on failure + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + multiple simultaneous requests - + - Returns ImageDownload object of the - image from the local image cache, null if it does not exist + Request the access list for a single parcel - UUID of the image we want to get - ImageDownload object containing the image, or null on failure + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelAccessList reply, useful for distinguishing between + multiple simultaneous requests + + - + - Constructs a file name of the cached asset + Request properties of parcels using a bounding box selection - UUID of the asset - String with the file name of the cahced asset + Simulator containing the parcel + Northern boundary of the parcel selection + Eastern boundary of the parcel selection + Southern boundary of the parcel selection + Western boundary of the parcel selection + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + different types of parcel property requests + A boolean that is returned with the + ParcelProperties reply, useful for snapping focus to a single + parcel - + - Saves an asset to the local cache + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) - UUID of the asset - Raw bytes the asset consists of - Weather the operation was successfull + Simulator to request parcels from (must be connected) - + - Get the file name of the asset stored with gived UUID + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) - UUID of the asset - Null if we don't have that UUID cached on disk, file name if found in the cache folder + Simulator to request parcels from (must be connected) + If TRUE, will force a full refresh + Number of milliseconds to pause in between each request - + - Checks if the asset exists in the local cache + Request the dwell value for a parcel - UUID of the asset - True is the asset is stored in the cache, otherwise false + Simulator containing the parcel + Simulator-local ID of the parcel - + - Wipes out entire cache + Send a request to Purchase a parcel of land + The Simulator the parcel is located in + The parcels region specific local ID + true if this parcel is being purchased by a group + The groups + true to remove tier contribution if purchase is successful + The parcels size + The purchase price of the parcel + + - + - Brings cache size to the 90% of the max size + Reclaim a parcel of land + The simulator the parcel is in + The parcels region specific local ID - + - Asynchronously brings cache size to the 90% of the max size + Deed a parcel to a group + The simulator the parcel is in + The parcels region specific local ID + The groups - + - Adds up file sizes passes in a FileInfo array + Request prim owners of a parcel of land. + Simulator parcel is in + The parcels region specific local ID - + - Checks whether caching is enabled + Return objects from a parcel + Simulator parcel is in + The parcels region specific local ID + the type of objects to return, + A list containing object owners s to return - + - Periodically prune the cache + Subdivide (split) a parcel + + + + + + + + + + - + - Nicely formats file sizes + Join two parcels of land creating a single parcel - Byte size we want to output - String with humanly readable file size + + + + + + + + + + - + - Allows setting weather to periodicale prune the cache if it grows too big - Default is enabled, when caching is enabled + Get a parcels LocalID + Simulator parcel is in + Vector3 position in simulator (Z not used) + 0 on failure, or parcel LocalID on success. + A call to Parcels.RequestAllSimParcels is required to populate map and + dictionary. - + - How long (in ms) between cache checks (default is 5 min.) + Terraform (raise, lower, etc) an area or whole parcel of land + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - + - Helper class for sorting files by their last accessed time + Terraform (raise, lower, etc) an area or whole parcel of land + Simulator land area is in. + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - + - Capability to load TGAs to Bitmap + Terraform (raise, lower, etc) an area or whole parcel of land + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - + - Represents a Sound Asset + Terraform (raise, lower, etc) an area or whole parcel of land + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + Height at which the terraform operation is acting at - - Initializes a new instance of an AssetSound object - - - Initializes a new instance of an AssetSound object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - + - TODO: Encodes a sound file + Sends a request to the simulator to return a list of objects owned by specific owners + Simulator local ID of parcel + Owners, Others, Etc + List containing keys of avatars objects to select; + if List is null will return Objects of type selectType + Response data is returned in the event - + - TODO: Decode a sound file + Eject and optionally ban a user from a parcel - true - - - Override the base classes AssetType + target key of avatar to eject + true to also ban target - + - Represents an LSL Text object containing a string of UTF encoded characters + Freeze or unfreeze an avatar over your land + target key to freeze + true to freeze, false to unfreeze - - A string of characters represting the script contents - - - Initializes a new AssetScriptText object - - + - Initializes a new AssetScriptText object with parameters + Abandon a parcel of land - A unique specific to this asset - A byte array containing the raw asset data + Simulator parcel is in + Simulator local ID of parcel - + - Encode a string containing the scripts contents into byte encoded AssetData + Requests the UUID of the parcel in a remote region at a specified location + Location of the parcel in the remote region + Remote region handle + Remote region UUID + If successful UUID of the remote parcel, UUID.Zero otherwise - + - Decode a byte array containing the scripts contents into a string + Retrieves information on resources used by the parcel - true if decoding is successful + UUID of the parcel + Should per object resource usage be requested + Callback invoked when the request is complete - - Override the base classes AssetType + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - - Represents a Landmark with RegionID and Position vector - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - UUID of the Landmark target region + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - Local position of the target + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - Construct an Asset of type Landmark + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - - Construct an Asset object of type Landmark - - A unique specific to this asset - A byte array containing the raw asset data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Encode the raw contents of a string with the specific Landmark format - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - + + Contains a parcels dwell data returned from the simulator in response to an + + - Decode the raw asset data, populating the RegionID and Position + Construct a new instance of the ParcelDwellReplyEventArgs class - true if the AssetData was successfully decoded to a UUID and Vector + The global ID of the parcel + The simulator specific ID of the parcel + The calculated dwell for the parcel + + + Get the global ID of the parcel + + + Get the simulator specific ID of the parcel + + + Get the calculated dwell - - Override the base classes AssetType + + Contains basic parcel information data returned from the + simulator in response to an request - + - Represents an that can be worn on an avatar - such as a Shirt, Pants, etc. + Construct a new instance of the ParcelInfoReplyEventArgs class + The object containing basic parcel info - - Initializes a new instance of an AssetScriptBinary object - - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + Get the object containing basic parcel info - - Override the base classes AssetType + + Contains basic parcel information data returned from the simulator in response to an request - + - Main class to expose grid functionality to clients. All of the - classes needed for sending and receiving data are accessible through - this class. + Construct a new instance of the ParcelPropertiesEventArgs class - - - // Example minimum code required to instantiate class and - // connect to a simulator. - using System; - using System.Collections.Generic; - using System.Text; - using OpenMetaverse; - - namespace FirstBot - { - class Bot - { - public static GridClient Client; - static void Main(string[] args) - { - Client = new GridClient(); // instantiates the GridClient class - // to the global Client object - // Login to Simulator - Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); - // Wait for a Keypress - Console.ReadLine(); - // Logout of simulator - Client.Network.Logout(); - } - } - } - - + The object containing the details + The object containing the details + The result of the request + The number of primitieves your agent is + currently selecting and or sitting on in this parcel + The user assigned ID used to correlate a request with + these results + TODO: - - Networking subsystem + + Get the simulator the parcel is located in - - Settings class including constant values and changeable - parameters for everything + + Get the object containing the details + If Result is NoData, this object will not contain valid data - - Parcel (subdivided simulator lots) subsystem + + Get the result of the request - - Our own avatars subsystem + + Get the number of primitieves your agent is + currently selecting and or sitting on in this parcel - - Other avatars subsystem + + Get the user assigned ID used to correlate a request with + these results - - Estate subsystem + + TODO: - - Friends list subsystem + + Contains blacklist and whitelist data returned from the simulator in response to an request - - Grid (aka simulator group) subsystem + + + Construct a new instance of the ParcelAccessListReplyEventArgs class + + The simulator the parcel is located in + The user assigned ID used to correlate a request with + these results + The simulator specific ID of the parcel + TODO: + The list containing the white/blacklisted agents for the parcel - - Object subsystem + + Get the simulator the parcel is located in - - Group subsystem + + Get the user assigned ID used to correlate a request with + these results - - Asset subsystem + + Get the simulator specific ID of the parcel - - Appearance subsystem + + TODO: - - Inventory subsystem + + Get the list containing the white/blacklisted agents for the parcel - - Directory searches including classifieds, people, land - sales, etc + + Contains blacklist and whitelist data returned from the + simulator in response to an request - - Handles land, wind, and cloud heightmaps + + + Construct a new instance of the ParcelObjectOwnersReplyEventArgs class + + The simulator the parcel is located in + The list containing prim ownership counts - - Handles sound-related networking + + Get the simulator the parcel is located in - - Throttling total bandwidth usage, or allocating bandwidth - for specific data stream types + + Get the list containing prim ownership counts - - - Default constructor - + + Contains the data returned when all parcel data has been retrieved from a simulator - + - Return the full name of this instance + Construct a new instance of the SimParcelsDownloadedEventArgs class - Client avatars full name + The simulator the parcel data was retrieved from + The dictionary containing the parcel data + The multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. - - - Attempts to convert an LLSD structure to a known Packet type - - Event name, this must match an actual - packet name for a Packet to be successfully built - LLSD to convert to a Packet - A Packet on success, otherwise null + + Get the simulator the parcel data was retrieved from - - - Image width - + + A dictionary containing the parcel data where the key correlates to the ParcelMap entry - - - Image height - + + Get the multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. - - - Image channel flags - + + Contains the data returned when a request - + - Red channel data + Construct a new instance of the ForceSelectObjectsReplyEventArgs class + The simulator the parcel data was retrieved from + The list of primitive IDs + true if the list is clean and contains the information + only for a given request - - - Green channel data - + + Get the simulator the parcel data was retrieved from - - - Blue channel data - + + Get the list of primitive IDs - - - Alpha channel data - + + true if the list is clean and contains the information + only for a given request - - - Bump channel data - + + Contains data when the media data for a parcel the avatar is on changes - + - Create a new blank image + Construct a new instance of the ParcelMediaUpdateReplyEventArgs class - width - height - channel flags + the simulator the parcel media data was updated in + The updated media information - - - - - + + Get the simulator the parcel media data was updated in - - - Convert the channels in the image. Channels are created or destroyed as required. - - new channel flags + + Get the updated media information - + + Contains the media command for a parcel the agent is currently on + + - Resize or stretch the image using nearest neighbor (ugly) resampling + Construct a new instance of the ParcelMediaCommandEventArgs class - new width - new height + The simulator the parcel media command was issued in + + + + + The media command that was sent + + - + + Get the simulator the parcel media command was issued in + + - Create a byte array containing 32-bit RGBA data with a bottom-left - origin, suitable for feeding directly into OpenGL - A byte array containing raw texture data - + - Represents a texture - - A object containing image data - - - - - - + + Get the media command that was sent - - Initializes a new instance of an AssetTexture object + + + - + - Initializes a new instance of an AssetTexture object - A unique specific to this asset - A byte array containing the raw asset data - + - Initializes a new instance of an AssetTexture object - A object containing texture data - + - Populates the byte array with a JPEG2000 - encoded image created from the data in - + - Decodes the JPEG2000 data in AssetData to the - object - True if the decoding was successful, otherwise false - + - Decodes the begin and end byte positions for each quality layer in - the image - - - - Override the base classes AssetType - + - Temporary code to do the bare minimum required to read a tar archive for our purposes - + - Binary reader for the underlying stream - + - Used to trim off null chars - + - Used to trim off space chars - + - Generate a tar reader which reads from the given stream. - - + - Read the next entry in the tar file. - - - the data for the entry. Returns null if there are no more entries - + - Read the next 512 byte chunk of data as a tar header. - A tar header struct. null if we have reached the end of the archive. - + - Read data following a header - - - + - Convert octal bytes to a decimal representation - - - - - - - X position of this patch - - - Y position of this patch - - - A 16x16 array of floats holding decompressed layer data - + - Creates a LayerData packet for compressed land data given a full - simulator heightmap and an array of indices of patches to compress - A 256 * 256 array of floating point values - specifying the height at each meter in the simulator - Array of indexes in the 16x16 grid of patches - for this simulator. For example if 1 and 17 are specified, patches - x=1,y=0 and x=1,y=1 are sent - - + - Add a patch of terrain to a BitPacker - BitPacker to write the patch to - Heightmap of the simulator, must be a 256 * - 256 float array - X offset of the patch to create, valid values are - from 0 to 15 - Y offset of the patch to create, valid values are - from 0 to 15 - + - - - No report - - - Unknown report type - - - Bug report - - - Complaint report - - - Customer service report - - + - Bitflag field for ObjectUpdateCompressed data blocks, describing - which options are present for each object - - Unknown - - - Whether the object has a TreeSpecies - - - Whether the object has floating text ala llSetText - - - Whether the object has an active particle system - - - Whether the object has sound attached to it - - - Whether the object is attached to a root object or not - - - Whether the object has texture animation settings - - - Whether the object has an angular velocity - - - Whether the object has a name value pairs string - - - Whether the object has a Media URL set - - + - Specific Flags for MultipleObjectUpdate requests - - None - - - Change position of prims - - - Change rotation of prims - - - Change size of prims - - - Perform operation on link set - - - Scale prims uniformly, same as selecing ctrl+shift in the - viewer. Used in conjunction with Scale - - + - Special values in PayPriceReply. If the price is not one of these - literal value of the price should be use - + - Indicates that this pay option should be hidden - + - Indicates that this pay option should have the default value - + - Contains the variables sent in an object update packet for objects. - Used to track position and movement of prims and avatars - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - Handles all network traffic related to prims and avatar positions and - movement. - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the ObjectProperties Event - A ObjectPropertiesEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the ObjectPropertiesUpdated Event - A ObjectPropertiesUpdatedEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the ObjectPropertiesFamily Event - A ObjectPropertiesFamilyEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the AvatarUpdate Event - A AvatarUpdateEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Thread sync lock object + + + + + + + - - The event subscribers, null of no subscribers + + + - - Raises the ObjectDataBlockUpdate Event - A ObjectDataBlockUpdateEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the KillObject Event - A KillObjectEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + + + + + - - The event subscribers, null of no subscribers + + + - - Raises the AvatarSitChanged Event - A AvatarSitChangedEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the PayPriceReply Event - A PayPriceReplyEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - Reference to the GridClient object + + + - - Does periodic dead reckoning calculation to convert - velocity and acceleration to new positions for objects + + + - + - Construct a new instance of the ObjectManager class - A reference to the instance + + + + - + - Request information for a single object from a - you are currently connected to - The the object is located - The Local ID of the object - + - Request information for multiple objects contained in - the same simulator - The the objects are located - An array containing the Local IDs of the objects - - - Attempt to purchase an original object, a copy, or the contents of - an object - - The the object is located - The Local ID of the object - Whether the original, a copy, or the object - contents are on sale. This is used for verification, if the this - sale type is not valid for the object the purchase will fail - Price of the object. This is used for - verification, if it does not match the actual price the purchase - will fail - Group ID that will be associated with the new - purchase - Inventory folder UUID where the object or objects - purchased should be placed - - - BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, - 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); - - + + + - + - Request prices that should be displayed in pay dialog. This will triggger the simulator - to send us back a PayPriceReply which can be handled by OnPayPriceReply event - The the object is located - The ID of the object - The result is raised in the event - + - Select a single object. This will cause the to send us - an which will raise the event - The the object is located - The Local ID of the object - - + - Select a single object. This will cause the to send us - an which will raise the event - The the object is located - The Local ID of the object - if true, a call to is - made immediately following the request - + + + + - + - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - Should objects be deselected immediately after selection - + + + + + - + - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - +
+ + + + + +
- + - Update the properties of an object - The the object is located - The Local ID of the object - true to turn the objects physical property on - true to turn the objects temporary property on - true to turn the objects phantom property on - true to turn the objects cast shadows property on - + - Sets the sale properties of a single object - The the object is located - The Local ID of the object - One of the options from the enum - The price of the object + + + + - + - Sets the sale properties of multiple objects - - The the objects are located - An array containing the Local IDs of the objects - One of the options from the enum - The price of the object +
+ + + +
- + - Deselect a single object - The the object is located - The Local ID of the object + + - + - Deselect multiple objects. + Class for controlling various system settings. - The the objects are located - An array containing the Local IDs of the objects + Some values are readonly because they affect things that + happen when the GridClient object is initialized, so changing them at + runtime won't do any good. Non-readonly values may affect things that + happen at login or dynamically - + + Constructor + Reference to a GridClient object + + + Main grid login server + + + Beta grid login server + + - Perform a click action on an object + InventoryManager requests inventory information on login, + GridClient initializes an Inventory store for main inventory. - The the object is located - The Local ID of the object - + - Perform a click action (Grab) on a single object + InventoryManager requests library information on login, + GridClient initializes an Inventory store for the library. - The the object is located - The Local ID of the object - The texture coordinates to touch - The surface coordinates to touch - The face of the position to touch - The region coordinates of the position to touch - The surface normal of the position to touch (A normal is a vector perpindicular to the surface) - The surface binormal of the position to touch (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties + + Number of milliseconds between sending pings to each sim + + + Number of milliseconds between sending camera updates + + + Number of milliseconds between updating the current + positions of moving, non-accelerating and non-colliding objects + + + Millisecond interval between ticks, where all ACKs are + sent out and the age of unACKed packets is checked + + + The initial size of the packet inbox, where packets are + stored before processing + + + Maximum size of packet that we want to send over the wire + + + The maximum value of a packet sequence number before it + rolls over back to one + + + The maximum size of the sequence number archive, used to + check for resent and/or duplicate packets + + + The relative directory where external resources are kept + + + Login server to connect to + + + IP Address the client will bind to + + + Use XML-RPC Login or LLSD Login, default is XML-RPC Login + + + Number of milliseconds before an asset transfer will time + out + + + Number of milliseconds before a teleport attempt will time + out + + + Number of milliseconds before NetworkManager.Logout() will + time out + + + Number of milliseconds before a CAPS call will time out + Setting this too low will cause web requests time out and + possibly retry repeatedly + + + Number of milliseconds for xml-rpc to timeout + + + Milliseconds before a packet is assumed lost and resent + + + Milliseconds without receiving a packet before the + connection to a simulator is assumed lost + + + Milliseconds to wait for a simulator info request through + the grid interface + + + Maximum number of queued ACKs to be sent before SendAcks() + is forced + + + Network stats queue length (seconds) + + + Enable/disable storing terrain heightmaps in the + TerrainManager - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Specify the - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties + + Enable/disable sending periodic camera updates - - - Rez a Linden tree - - A reference to the object where the object resides - The size of the tree - The rotation of the tree - The position of the tree - The Type of tree - The of the group to set the tree to, - or UUID.Zero if no group is to be set - true to use the "new" Linden trees, false to use the old + + Enable/disable automatically setting agent appearance at + login and after sim crossing - - - Rez grass and ground cover - - A reference to the object where the object resides - The size of the grass - The rotation of the grass - The position of the grass - The type of grass from the enum - The of the group to set the tree to, - or UUID.Zero if no group is to be set + + Enable/disable automatically setting the bandwidth throttle + after connecting to each simulator + The default throttle uses the equivalent of the maximum + bandwidth setting in the official client. If you do not set a + throttle your connection will by default be throttled well below + the minimum values and you may experience connection problems - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply + + Enable/disable the sending of pings to monitor lag and + packet loss - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply - A media URL (not used) + + Should we connect to multiple sims? This will allow + viewing in to neighboring simulators and sim crossings + (Experimental) - - - Set the Light data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + If true, all object update packets will be decoded in to + native objects. If false, only updates for our own agent will be + decoded. Registering an event handler will force objects for that + type to always be decoded. If this is disabled the object tracking + will have missing or partial prim and avatar information - - - Set the flexible data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + If true, when a cached object check is received from the + server the full object info will automatically be requested - - - Set the sculptie texture and data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + Whether to establish connections to HTTP capabilities + servers for simulators - - - Unset additional primitive parameters on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The extra parameters to set + + Whether to decode sim stats - - - Link multiple prims into a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to link - The last object in the array will be the root object of the linkset TODO: Is this true? + + The capabilities servers are currently designed to + periodically return a 502 error which signals for the client to + re-establish a connection. Set this to true to log those 502 errors - - - Delink/Unlink multiple prims from a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to delink + + If true, any reference received for a folder or item + the library is not aware of will automatically be fetched - - - Change the rotation of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation of the object + + If true, and SEND_AGENT_UPDATES is true, + AgentUpdate packets will continuously be sent out to give the bot + smoother movement and autopiloting - - - Set the name of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new name of the object + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectAvatars. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received - - - Set the name of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the name of - An array which contains the new names of the objects + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectPrimitives. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received - - - Set the description of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new description of the object + + If true, position and velocity will periodically be + interpolated (extrapolated, technically) for objects and + avatars that are being tracked by the library. This is + necessary to increase the accuracy of speed and position + estimates for simulated objects - + - Set the descriptions of multiple objects + If true, utilization statistics will be tracked. There is a minor penalty + in CPU time for enabling this option. - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the description of - An array which contains the new descriptions of the objects - - - Attach an object to this avatar - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The point on the avatar the object will be attached - The rotation of the attached object + + If true, parcel details will be stored in the + Simulator.Parcels dictionary as they are received - + - Drop an attached object from this avatar + If true, an incoming parcel properties reply will automatically send + a request for the parcel access list - A reference to the - object where the objects reside. This will always be the simulator the avatar is currently in - - The object's ID which is local to the simulator the object is in - + - Detach an object from yourself + if true, an incoming parcel properties reply will automatically send + a request for the traffic count. - A reference to the - object where the objects reside - - This will always be the simulator the avatar is currently in - - An array which contains the IDs of the objects to detach - + - Change the position of an object, Will change position of entire linkset + If true, images, and other assets downloaded from the server + will be cached in a local directory - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - - - Change the position of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - if true, will change position of (this) child prim only, not entire linkset + + Path to store cached texture data - - - Change the Scale (size) of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change scale of this prim only, not entire linkset - True to resize prims uniformly + + Maximum size cached files are allowed to take on disk (bytes) - - - Change the Rotation of an object that is either a child or a whole linkset - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change rotation of this prim only, not entire linkset + + Default color used for viewer particle effects - - - Send a Multiple Object Update packet to change the size, scale or rotation of a primitive - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation, size, or position of the target object - The flags from the Enum + + Maximum number of times to resend a failed packet - - - Deed an object (prim) to a group, Object must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The of the group to deed the object to + + Throttle outgoing packet rate - - - Deed multiple objects (prims) to a group, Objects must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - An array which contains the IDs of the objects to deed - The of the group to deed the object to + + UUID of a texture used by some viewers to indentify type of client used - + - Set the permissions on multiple objects + Download textures using GetTexture capability when available - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the permissions on - The new Who mask to set - The new Permissions mark to set - TODO: What does this do? - - - Request additional properties for an object - - A reference to the object where the object resides - + + The maximum number of concurrent texture downloads allowed + Increasing this number will not necessarily increase texture retrieval times due to + simulator throttles - + - Request additional properties for an object + The Refresh timer inteval is used to set the delay between checks for stalled texture downloads - A reference to the object where the object resides - Absolute UUID of the object - Whether to require server acknowledgement of this request + This is a static variable which applies to all instances - + - Set the ownership of a list of objects to the specified group + Textures taking longer than this value will be flagged as timed out and removed from the pipeline - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the group id on - The Groups ID - + - Update current URL of the previously set prim media + Get or set the minimum log level to output to the console by default + If the library is not compiled with DEBUG defined and this level is set to DEBUG + You will get no output on the console. This behavior can be overriden by creating + a logger configuration file for log4net - UUID of the prim - Set current URL to this - Prim face number - Simulator in which prim is located - - - Set object media - - UUID of the prim - Array the length of prims number of faces. Null on face indexes where there is - no media, on faces which contain the media - Simulatior in which prim is located + + Attach avatar names to log messages - - - Retrieve information about object media - - UUID of the primitive - Simulator where prim is located - Call this callback when done + + Log packet retransmission info - + + Cost of uploading an asset + Read-only since this value is dynamically fetched at login + + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + - A terse object update, used when a transformation matrix or - velocity/acceleration for an object changes but nothing else - (scale/position/rotation/acceleration/velocity) + Simulator (region) properties - The sender - The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + No flags set - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Agents can take damage and be killed - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Landmarks can be created here - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Home position can be set in this sim - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Home position is reset when an agent teleports away - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Sun does not move - - - Setup construction data for a basic primitive shape - - Primitive shape to construct - Construction data that can be plugged into a + + No object, land, etc. taxes - - - - - - - - + + Disable heightmap alterations (agents can still plant + foliage) - - - - - - + + Land cannot be released, sold, or purchased - - - Set the Shape data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - Data describing the prim shape + + All content is wiped nightly - - - Set the Material data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new material of the object + + Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) - - - - - - - - + + Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. - - - - - - - - + + Region does not update agent prim interest lists. Internal debugging option. - - Raised when the simulator sends us data containing - A , Foliage or Attachment - - + + No collision detection for non-agent objects - - Raised when the simulator sends us data containing - additional information - - + + No scripts are ran - - Raised when the simulator sends us data containing - Primitive.ObjectProperties for an object we are currently tracking + + All physics processing is turned off - - Raised when the simulator sends us data containing - additional and details - + + Region can be seen from other regions on world map. (Legacy world map option?) - - Raised when the simulator sends us data containing - updated information for an + + Region can be seen from mainland on world map. (Legacy world map option?) - - Raised when the simulator sends us data containing - and movement changes + + Agents not explicitly on the access list can visit the region. - - Raised when the simulator sends us data containing - updates to an Objects DataBlock + + Traffic calculations are not run across entire region, overrides parcel settings. - - Raised when the simulator informs us an - or is no longer within view + + Flight is disabled (not currently enforced by the sim) - - Raised when the simulator sends us data containing - updated sit information for our + + Allow direct (p2p) teleporting - - Raised when the simulator sends us data containing - purchase price information for a + + Estate owner has temporarily disabled scripting - - - Callback for getting object media data via CAP - - Indicates if the operation was succesfull - Object media version string - Array indexed on prim face of media entry data + + Restricts the usage of the LSL llPushObject function, applies to whole region. - - Provides data for the event - The event occurs when the simulator sends - an containing a Primitive, Foliage or Attachment data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or - if an Avatar crosses the border into a new simulator and returns to the current simulator - - - The following code example uses the , , and - properties to display new Primitives and Attachments on the window. - - // Subscribe to the event that gives us prim and foliage information - Client.Objects.ObjectUpdate += Objects_ObjectUpdate; - - - private void Objects_ObjectUpdate(object sender, PrimEventArgs e) - { - Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); - } - - - - - + + Deny agents with no payment info on file - + + Deny agents with payment info on file + + + Deny agents who have made a monetary transaction + + + Parcels within the region may be joined or divided by anyone, not just estate owners/managers. + + + Abuse reports sent from within this region are sent to the estate owner defined email. + + + Region is Voice Enabled + + + Removes the ability from parcel owners to set their parcels to show in search. + + + Deny agents who have not been age verified from entering the region. + + - Construct a new instance of the PrimEventArgs class + Access level for a simulator - The simulator the object originated from - The Primitive - The simulator time dilation - The prim was not in the dictionary before this update - true if the primitive represents an attachment to an agent - - Get the simulator the originated from + + Unknown or invalid access level - - Get the details + + Trial accounts allowed + + + PG rating + + + Mature rating + + + Adult rating - - true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) + + Simulator is offline - - true if the is attached to an + + Simulator does not exist - - Get the simulator Time Dilation + + + - - Provides data for the event - The event occurs when the simulator sends - an containing Avatar data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator - - - The following code example uses the property to make a request for the top picks - using the method in the class to display the names - of our own agents picks listings on the window. - - // subscribe to the AvatarUpdate event to get our information - Client.Objects.AvatarUpdate += Objects_AvatarUpdate; - Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; - - private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) - { - // we only want our own data - if (e.Avatar.LocalID == Client.Self.LocalID) - { - // Unsubscribe from the avatar update event to prevent a loop - // where we continually request the picks every time we get an update for ourselves - Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; - // make the top picks request through AvatarManager - Client.Avatars.RequestAvatarPicks(e.Avatar.ID); - } - } - - private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) - { - // we'll unsubscribe from the AvatarPicksReply event since we now have the data - // we were looking for - Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; - // loop through the dictionary and extract the names of the top picks from our profile - foreach (var pickName in e.Picks.Values) - { - Console.WriteLine(pickName); - } - } - - - - + + + + Reference to the GridClient object + IPEndPoint of the simulator + handle of the simulator - + - Construct a new instance of the AvatarUpdateEventArgs class + Simulator Statistics - The simulator the packet originated from - The data - The simulator time dilation - The avatar was not in the dictionary before this update - - Get the simulator the object originated from + + Total number of packets sent by this simulator to this agent - - Get the data + + Total number of packets received by this simulator to this agent - - Get the simulator time dilation + + Total number of bytes sent by this simulator to this agent - - true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) + + Total number of bytes received by this simulator to this agent - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment data - The event is also raised when a request is - made. - - - The following code example uses the , and - - properties to display new attachments and send a request for additional properties containing the name of the - attachment then display it on the window. - - // Subscribe to the event that provides additional primitive details - Client.Objects.ObjectProperties += Objects_ObjectProperties; - - // handle the properties data that arrives - private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) - { - Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); - } - - + + Time in seconds agent has been connected to simulator - - - Construct a new instance of the ObjectPropertiesEventArgs class - - The simulator the object is located - The primitive Properties + + Total number of packets that have been resent - - Get the simulator the object is located + + Total number of resent packets recieved - - Get the primitive properties + + Total number of pings sent to this simulator by this agent - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive or Foliage data that is currently - being tracked in the dictionary - The event is also raised when a request is - made and is enabled - + + Total number of ping replies sent to this agent by this simulator - + - Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class - - The simulator the object is located - The Primitive - The primitive Properties + Incoming bytes per second +
+ It would be nice to have this claculated on the fly, but + this is far, far easier
- - Get the simulator the object is located + + + Outgoing bytes per second + + It would be nice to have this claculated on the fly, but + this is far, far easier - - Get the primitive details + + Time last ping was sent - - Get the primitive properties + + ID of last Ping sent - - Provides additional primitive data, permissions and sale info for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment. This includes - Permissions, Sale info, and other basic details on an object - The event is also raised when a request is - made, the viewer equivalent is hovering the mouse cursor over an object - + + + - - Get the simulator the object is located + + + - - + + Current time dilation of this simulator - - + + Current Frames per second of simulator - - Provides primitive data containing updated location, velocity, rotation, textures for the event - The event occurs when the simulator sends updated location, velocity, rotation, etc - + + Current Physics frames per second of simulator - - Get the simulator the object is located + + + - - Get the primitive details + + + - - + + + - - + + + - + - - - Get the simulator the object is located + + + - - Get the primitive details + + + - - + + + - - + + Total number of objects Simulator is simulating - - + + Total number of Active (Scripted) objects running - - + + Number of agents currently in this simulator - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event + + Number of agents in neighbor simulators - - Get the simulator the object is located + + Number of Active scripts running in this simulator - - The LocalID of the object + + + - + - Provides updates sit position data - - Get the simulator the object is located + + + - - + + Number of downloads pending - - + + Number of uploads pending - - + + + - + - - - Get the simulator the object is located + + Number of local uploads pending - - + + Unacknowledged bytes in queue - - + + A public reference to the client that this Simulator object + is attached to - - + + A Unique Cache identifier for this simulator - - - Indicates if the operation was successful - + + The capabilities for this simulator - + - Media version string - + + The current version of software this simulator is running + + - Array of media entries indexed by face number - + + A 64x64 grid of parcel coloring values. The values stored + in this array are of the type + + - - + - - - + - De-serialization constructor for the InventoryNode Class - + - Serialization handler for the InventoryNode Class - + - De-serialization handler for the InventoryNode Class - + - - - - - - - - - - - - - - - + - For inventory folder nodes specifies weather the folder needs to be - refreshed from the server - + - - - The avatar has no rights - - - The avatar can see the online status of the target avatar + + + - - The avatar can see the location of the target avatar on the map + + + - - The avatar can modify the ojects of the target avatar + + + - + - This class holds information about an avatar in the friends list. There are two ways - to interface to this class. The first is through the set of boolean properties. This is the typical - way clients of this class will use it. The second interface is through two bitflag properties, - TheirFriendsRights and MyFriendsRights - + - Used internally when building the initial list of friends at login time - System ID of the avatar being prepesented - Rights the friend has to see you online and to modify your objects - Rights you have to see your friend online and to modify their objects - + - FriendInfo represented as a string - A string reprentation of both my rights and my friends rights - + - System ID of the avatar - + - full name of the avatar - + - True if the avatar is online - + - True if the friend can see if I am online - + - True if the friend can see me on the map - + + true if your agent has Estate Manager rights on this region + + - True if the freind can modify my objects - + - True if I can see if my friend is online - + - True if I can see if my friend is on the map - + + Statistics information for this simulator and the + connection to the simulator, calculated by the simulator itself + and the library + + + The regions Unique ID + + + The physical data center the simulator is located + Known values are: + DallasChandlerSF + + + The CPU Class of the simulator + Most full mainland/estate sims appear to be 5, + Homesteads and Openspace appear to be 501 + + + The number of regions sharing the same CPU as this one + "Full Sims" appear to be 1, Homesteads appear to be 4 + + + The billing product name + Known values are: + Mainland / Full Region (Sku: 023)Estate / Full Region (Sku: 024)Estate / Openspace (Sku: 027)Estate / Homestead (Sku: 029)Mainland / Homestead (Sku: 129) (Linden Owned)Mainland / Linden Homes (Sku: 131) + + + The billing product SKU + Known values are: + 023 Mainland / Full Region024 Estate / Full Region027 Estate / Openspace029 Estate / Homestead129 Mainland / Homestead (Linden Owned)131 Linden Homes / Full Region + + + The current sequence number for packets sent to this + simulator. Must be Interlocked before modifying. Only + useful for applications manipulating sequence numbers + + - True if I can modify my friend's objects + A thread-safe dictionary containing avatars in a simulator - + - My friend's rights represented as bitmapped flags + A thread-safe dictionary containing primitives in a simulator - + - My rights represented as bitmapped flags + Provides access to an internal thread-safe dictionary containing parcel + information found in this simulator - + - This class is used to add and remove avatars from your friends list and to manage their permission. + Is it safe to send agent updates to this sim + AgentMovementComplete message received - - The event subscribers. null if no subcribers + + Used internally to track sim disconnections - - Raises the FriendOnline event - A FriendInfoEventArgs object containing the - data returned from the data server + + Event that is triggered when the simulator successfully + establishes a connection - - Thread sync lock object + + Whether this sim is currently connected or not. Hooked up + to the property Connected - - The event subscribers. null if no subcribers + + Coarse locations of avatars in this simulator - - Raises the FriendOffline event - A FriendInfoEventArgs object containing the - data returned from the data server + + AvatarPositions key representing TrackAgent target - - Thread sync lock object + + Sequence numbers of packets we've received + (for duplicate checking) - - The event subscribers. null if no subcribers + + Packets we sent out that need ACKs from the simulator - - Raises the FriendRightsUpdate event - A FriendInfoEventArgs object containing the - data returned from the data server + + Sequence number for pause/resume - - Thread sync lock object + + Indicates if UDP connection to the sim is fully established - - The event subscribers. null if no subcribers + + + Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. + - - Raises the FriendNames event - A FriendNamesEventArgs object containing the - data returned from the data server + + The IP address and port of the server - - Thread sync lock object + + Whether there is a working connection to the simulator or + not - - The event subscribers. null if no subcribers + + Coarse locations of avatars in this simulator - - Raises the FriendshipOffered event - A FriendshipOfferedEventArgs object containing the - data returned from the data server + + AvatarPositions key representing TrackAgent target - - Thread sync lock object + + Indicates if UDP connection to the sim is fully established - - The event subscribers. null if no subcribers + + + Checks simulator parcel map to make sure it has downloaded all data successfully + + true if map is full (contains no 0's) - - Raises the FriendshipResponse event - A FriendshipResponseEventArgs object containing the - data returned from the data server + + + Called when this Simulator object is being destroyed + - - Thread sync lock object + + + Attempt to connect to this simulator + + Whether to move our agent in to this sim or not + True if the connection succeeded or connection status is + unknown, false if there was a failure - - The event subscribers. null if no subcribers + + + Initiates connection to the simulator + + Should we block until ack for this packet is recieved - - Raises the FriendshipTerminated event - A FriendshipTerminatedEventArgs object containing the - data returned from the data server + + + Disconnect from this simulator + - - Thread sync lock object + + + Instructs the simulator to stop sending update (and possibly other) packets + - - The event subscribers. null if no subcribers + + + Instructs the simulator to resume sending update packets (unpause) + - - Raises the FriendFoundReply event - A FriendFoundReplyEventArgs object containing the - data returned from the data server + + + Retrieve the terrain height at a given coordinate + + Sim X coordinate, valid range is from 0 to 255 + Sim Y coordinate, valid range is from 0 to 255 + The terrain height at the given point if the + lookup was successful, otherwise 0.0f + True if the lookup was successful, otherwise false - - Thread sync lock object + + + Sends a packet + + Packet to be sent - + - A dictionary of key/value pairs containing known friends of this avatar. - - The Key is the of the friend, the value is a - object that contains detailed information including permissions you have and have given to the friend - + - A Dictionary of key/value pairs containing current pending frienship offers. - - The key is the of the avatar making the request, - the value is the of the request which is used to accept - or decline the friendship offer + Returns Simulator Name as a String + + - + - Internal constructor - A reference to the GridClient Object + + - + - Accept a friendship request - agentID of avatatar to form friendship with - imSessionID of the friendship request message + + + + - + - Decline a friendship request + Sends out pending acknowledgements - of friend - imSessionID of the friendship request message + Number of ACKs sent - + - Overload: Offer friendship to an avatar. + Resend unacknowledged packets - System ID of the avatar you are offering friendship to - + - Offer friendship to an avatar. - System ID of the avatar you are offering friendship to - A message to send with the request - + - Terminate a friendship with an avatar + Construct a new instance of the SoundManager class, used for playing and receiving + sound assets - System ID of the avatar you are terminating the friendship with + A reference to the current GridClient instance - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers, null of no subscribers - + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + Raised when the simulator sends us data containing + sound + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raises the AttachedSound Event + A AttachedSoundEventArgs object containing + the data sent from the simulator + + + Raises the AttachedSoundGainChange Event + A AttachedSoundGainChangeEventArgs object containing + the data sent from the simulator + + + Raises the SoundTrigger Event + A SoundTriggerEventArgs object containing + the data sent from the simulator + + + Raises the PreloadSound Event + A PreloadSoundEventArgs object containing + the data sent from the simulator + + - Change the rights of a friend avatar. + Plays a sound in the current region at full volume from avatar position - the of the friend - the new rights to give the friend - This method will implicitly set the rights to those passed in the rights parameter. + UUID of the sound to be played - + - Use to map a friends location on the grid. + Plays a sound in the current region at full volume - Friends UUID to find - + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. - + - Use to track a friends movement on the grid + Plays a sound in the current region - Friends Key + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - + - Ask for a notification of friend's online status + Plays a sound in the specified sim - Friend's UUID + UUID of the sound to be played. + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - + - This handles the asynchronous response of a RequestAvatarNames call. + Play a sound asset - - names cooresponding to the the list of IDs sent the the RequestAvatarNames call. + UUID of the sound to be played. + handle id for the sim to be played in. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + + Provides data for the event + The event occurs when the simulator sends + the sound data which emits from an agents attachment + + The following code example shows the process to subscribe to the event + and a stub to handle the data passed from the simulator + + // Subscribe to the AttachedSound event + Client.Sound.AttachedSound += Sound_AttachedSound; + // process the data raised in the event here + private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) + { + // ... Process AttachedSoundEventArgs here ... + } + + + - Populate FriendList with data from the login reply + Construct a new instance of the SoundTriggerEventArgs class - true if login was successful - true if login request is requiring a redirect - A string containing the response to the login request - A string containing the reason for the request - A object containing the decoded - reply from the login server + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The volume level + The - - Raised when the simulator sends notification one of the members in our friends list comes online + + Simulator where the event originated - - Raised when the simulator sends notification one of the members in our friends list goes offline + + Get the sound asset id - - Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions + + Get the ID of the owner - - Raised when the simulator sends us the names on our friends list + + Get the ID of the Object + + + Get the volume level + + + Get the + + + Provides data for the event + The event occurs when an attached sound + changes its volume level + + + + Construct a new instance of the AttachedSoundGainChangedEventArgs class + + Simulator where the event originated + The ID of the Object + The new volume level + + + Simulator where the event originated + + + Get the ID of the Object + + + Get the volume level + + + Provides data for the event + + The event occurs when the simulator forwards + a request made by yourself or another agent to play either an asset sound or a built in sound + Requests to play sounds where the is not one of the built-in + will require sending a request to download the sound asset before it can be played + + + The following code example uses the , + and + properties to display some information on a sound request on the window. + + // subscribe to the event + Client.Sound.SoundTrigger += Sound_SoundTrigger; + // play the pre-defined BELL_TING sound + Client.Sound.SendSoundTrigger(Sounds.BELL_TING); + // handle the response data + private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) + { + Console.WriteLine("{0} played the sound {1} at volume {2}", + e.OwnerID, e.SoundID, e.Gain); + } + + + + + Construct a new instance of the SoundTriggerEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The ID of the objects parent + The volume level + The regionhandle + The source position + + + Simulator where the event originated + + + Get the sound asset id + + + Get the ID of the owner + + + Get the ID of the Object + + + Get the ID of the objects parent + + + Get the volume level + + + Get the regionhandle + + + Get the source position + + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + + + + + Construct a new instance of the PreloadSoundEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object - - Raised when the simulator sends notification another agent is offering us friendship + + Simulator where the event originated - - Raised when a request we sent to friend another agent is accepted or declined + + Get the sound asset id - - Raised when the simulator sends notification one of the members in our friends list has terminated - our friendship + + Get the ID of the owner - - Raised when the simulator sends the location of a friend we have - requested map location info for + + Get the ID of the Object - - Contains information on a member of our friends list + + + pre-defined built in sounds + - + - Construct a new instance of the FriendInfoEventArgs class - The FriendInfo - - Get the FriendInfo + + + - - Contains Friend Names + + + - + - Construct a new instance of the FriendNamesEventArgs class - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name + + + - - Sent when another agent requests a friendship with our agent + + + - + - Construct a new instance of the FriendshipOfferedEventArgs class - The ID of the agent requesting friendship - The name of the agent requesting friendship - The ID of the session, used in accepting or declining the - friendship offer - - Get the ID of the agent requesting friendship + + + - - Get the name of the agent requesting friendship + + coins - - Get the ID of the session, used in accepting or declining the - friendship offer + + cash register bell - - A response containing the results of our request to form a friendship with another agent + + + - + - Construct a new instance of the FriendShipResponseEventArgs class - The ID of the agent we requested a friendship with - The name of the agent we requested a friendship with - true if the agent accepted our friendship offer - - Get the ID of the agent we requested a friendship with + + rubber - - Get the name of the agent we requested a friendship with + + plastic - - true if the agent accepted our friendship offer + + flesh - - Contains data sent when a friend terminates a friendship with us + + wood splintering? - - - Construct a new instance of the FrindshipTerminatedEventArgs class - - The ID of the friend who terminated the friendship with us - The name of the friend who terminated the friendship with us + + glass break - - Get the ID of the agent that terminated the friendship with us + + metal clunk - - Get the name of the agent that terminated the friendship with us + + whoosh - - - Data sent in response to a request which contains the information to allow us to map the friends location - + + shake - + - Construct a new instance of the FriendFoundReplyEventArgs class - The ID of the agent we have requested location information for - The region handle where our friend is located - The simulator local position our friend is located - - - Get the ID of the agent we have received location information for - - Get the region handle where our mapped friend is located + + ding - - Get the simulator local position where our friend is located + + + - + - Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. - + - Rotation Keyframe count (used internally) - + - Position Keyframe count (used internally) - + - Animation Priority - + - The animation length in seconds. - + - Expression set in the client. Null if [None] is selected - + - The time in seconds to start the animation - + - The time in seconds to end the animation - + - Loop the animation - + - Meta data. Ease in Seconds. - + - Meta data. Ease out seconds. - + - Meta Data for the Hand Pose - + - Number of joints defined in the animation - + - Contains an array of joints + A dictionary containing all pre-defined sounds + A dictionary containing the pre-defined sounds, + where the key is the sounds ID, and the value is a string + containing a name to identify the purpose of the sound - + + X position of this patch + + + Y position of this patch + + + A 16x16 array of floats holding decompressed layer data + + - Searialize an animation asset into it's joints/keyframes/meta data + Creates a LayerData packet for compressed land data given a full + simulator heightmap and an array of indices of patches to compress - + A 256 * 256 array of floating point values + specifying the height at each meter in the simulator + Array of indexes in the 16x16 grid of patches + for this simulator. For example if 1 and 17 are specified, patches + x=1,y=0 and x=1,y=1 are sent + + - + - Variable length strings seem to be null terminated in the animation asset.. but.. - use with caution, home grown. - advances the index. + Add a patch of terrain to a BitPacker - The animation asset byte array - The offset to start reading - a string + BitPacker to write the patch to + Heightmap of the simulator, must be a 256 * + 256 float array + X offset of the patch to create, valid values are + from 0 to 15 + Y offset of the patch to create, valid values are + from 0 to 15 - + - Read in a Joint from an animation asset byte array - Variable length Joint fields, yay! - Advances the index + Default constructor - animation asset byte array - Byte Offset of the start of the joint - The Joint data serialized into the binBVHJoint structure + + + + + The event subscribers. null if no subcribers + + + Thread sync lock object + + + Raised when the simulator responds sends + + + Raises the LandPatchReceived event + A LandPatchReceivedEventArgs object containing the + data returned from the simulator + + + Simulator from that sent tha data + + + Sim coordinate of the patch + + + Sim coordinate of the patch + + + Size of tha patch + + + Heightmap for the patch - + - Read Keyframes of a certain type - advance i + The current status of a texture request as it moves through the pipeline or final result of a texture request. - Animation Byte array - Offset in the Byte Array. Will be advanced - Number of Keyframes - Scaling Min to pass to the Uint16ToFloat method - Scaling Max to pass to the Uint16ToFloat method - - - - A Joint and it's associated meta data and keyframes - + + The initial state given to a request. Requests in this state + are waiting for an available slot in the pipeline - - - Name of the Joint. Matches the avatar_skeleton.xml in client distros - + + A request that has been added to the pipeline and the request packet + has been sent to the simulator - - - Joint Animation Override? Was the same as the Priority in testing.. - + + A request that has received one or more packets back from the simulator - - - Array of Rotation Keyframes in order from earliest to latest - + + A request that has received all packets back from the simulator - - - Array of Position Keyframes in order from earliest to latest - This seems to only be for the Pelvis? - + + A request that has taken longer than + to download OR the initial packet containing the packet information was never received - - - A Joint Keyframe. This is either a position or a rotation. - + + The texture request was aborted by request of the agent - - - Either a Vector3 position or a Vector3 Euler rotation - + + The simulator replied to the request that it was not able to find the requested texture - + - Poses set in the animation metadata for the hands. - + Texture request download handler, allows a configurable number of download slots which manage multiple + concurrent texture downloads from the
+ This class makes full use of the internal + system for full texture downloads.
- + - The type of bump-mapping applied to a face + Default constructor, Instantiates a new copy of the TexturePipeline class + Reference to the instantiated object - - + + + A request task containing information and status of a request as it is processed through the - - + + The current which identifies the current status of the request - - + + The Unique Request ID, This is also the Asset ID of the texture being requested - - + + The slot this request is occupying in the threadpoolSlots array - - + + The ImageType of the request. - - + + The callback to fire when the request is complete, will include + the and the + object containing the result data - - + + If true, indicates the callback will be fired whenever new data is returned from the simulator. + This is used to progressively render textures as portions of the texture are received. - - + + An object that maintains the data of an request thats in-process. - - + + A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID + and also the Asset Texture ID, and the value is an object containing the current state of the request and also + the asset data as it is being re-assembled - - + + Holds the reference to the client object - - + + Maximum concurrent texture requests allowed at a time - - + + An array of objects used to manage worker request threads - - + + An array of worker slots which shows the availablity status of the slot - - + + The primary thread which manages the requests. - - + + true if the TexturePipeline is currently running - - + + A synchronization object used by the primary thread - - + + A refresh timer used to increase the priority of stalled requests - - + + Current number of pending and in-process transfers - + - The level of shininess applied to a face + Initialize callbacks required for the TexturePipeline to operate - - - - - - - - - - - - - + - The texture mapping style used for a face + Shutdown the TexturePipeline and cleanup any callbacks or transfers - - - - - - - - - - - - - + - Flags in the TextureEntry block that describe which properties are - set + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request - - - - - - - - - - - - - - - - - + + + Sends the actual request packet to the simulator + + The image to download + Type of the image to download, either a baked + avatar texture or a normal texture + Priority level of the download. Default is + 1,013,000.0f + Number of quality layers to discard. + This controls the end marker of the data sent + Packet number to start the download at. + This controls the start marker of the data sent + Sending a priority of 0 and a discardlevel of -1 aborts + download - - + + + Cancel a pending or in process texture request + + The texture assets unique ID - - + + + Master Download Thread, Queues up downloads in the threadpool + - - + + + The worker thread that sends the request and handles timeouts + + A object containing the request details - - + + + Handle responses from the simulator that tell us a texture we have requested is unable to be located + or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use + + The sender + The EventArgs object containing the packet data - - + + + Handles the remaining Image data that did not fit in the initial ImageData packet + + The sender + The EventArgs object containing the packet data - - + + + Handle the initial ImageDataPacket sent from the simulator + + The sender + The EventArgs object containing the packet data - + - Represents an AssetScriptBinary object containing the - LSO compiled bytecode of an LSL script - - Initializes a new instance of an AssetScriptBinary object + + + Delegate to wrap another delegate and its arguments + + + + + - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + + An instance of DelegateWrapper which calls InvokeWrappedDelegate, + which in turn calls the DynamicInvoke method of the wrapped + delegate + - + - TODO: Encodes a scripts contents into a LSO Bytecode file + Callback used to call EndInvoke on the asynchronously + invoked DelegateWrapper - + - TODO: Decode LSO Bytecode into a string + Executes the specified delegate with the specified arguments + asynchronously on a thread pool thread - true + + + + - - Override the base classes AssetType + + + Invokes the wrapped delegate synchronously + + + + + - + - Temporary code to produce a tar archive in tar v7 format + Calls EndInvoke on the wrapper and Close on the resulting WaitHandle + to prevent resource leaks + + - + - Binary writer for the underlying stream - + - Write a directory entry to the tar archive. We can only handle one path level right now! + Initialize the UDP packet handler in server mode - + Port to listening for incoming UDP packets on - + - Write a file to the tar archive + Initialize the UDP packet handler in client mode - - + Remote UDP server to connect to - + - Write a file to the tar archive - - - + - Finish writing the raw tar archive data to a stream. The stream will be closed on completion. - + - Write a particular entry - - - - - + + - + + - + + @@ -16954,20 +17969,25 @@ - - - - - + + + + + + + + - - - - + + + + + + @@ -16975,6 +17995,9 @@ each block containing one or more fields + + Current length of the data in this packet + Create a block from a byte array @@ -16993,8076 +18016,8407 @@ This will point to the position directly after the end of the serialized block when the call returns - - Current length of the data in this packet - A generic value, not an actual packet type - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + Operation to apply when applying color to texture + - - + + + Information needed to translate visual param value to RGBA color + - - + + + Construct VisualColorParam + + Operation to apply when applying color to texture + Colors - - + + + Represents alpha blending and bump infor for a visual parameter + such as sleive length + - - + + + Create new alhpa information for a visual param + + Stregth of the alpha to apply + File containing the alpha channel + Skip blending if parameter value is 0 + Use miltiply insted of alpha blending - - + + Stregth of the alpha to apply - - + + File containing the alpha channel - - + + Skip blending if parameter value is 0 - - + + Use miltiply insted of alpha blending - - + + + A single visual characteristic of an avatar mesh, such as eyebrow height + - - + + + Set all the values through the constructor + + Index of this visual param + Internal name + + + + + Displayable label of this characteristic + Displayable label for the minimum value of this characteristic + Displayable label for the maximum value of this characteristic + Default value + Minimum value + Maximum value + Is this param used for creation of bump layer? + Array of param IDs that are drivers for this parameter + Alpha blending/bump info + Color information - - + + Index of this visual param - - + + Internal name - - + + Group ID this parameter belongs to - - + + Name of the wearable this parameter belongs to - - + + Displayable label of this characteristic - - + + Displayable label for the minimum value of this characteristic - - + + Displayable label for the maximum value of this characteristic - - + + Default value - - + + Minimum value - - + + Maximum value - - + + Is this param used for creation of bump layer? - - + + Alpha blending/bump info - - + + Color information - - + + Array of param IDs that are drivers for this parameter - - + + + Holds the Params array of all the avatar appearance parameters + - - + + + Base class for all Asset types + - - + + + Construct a new Asset object + - - + + + Construct a new Asset object + + A unique specific to this asset + A byte array containing the raw asset data - - + + A byte array containing the raw asset data - - + + True if the asset it only stored on the server temporarily - - + + A unique ID - - + + The assets unique ID - - + + + The "type" of asset, Notecard, Animation, etc + - - + + + Regenerates the AssetData byte array from the properties + of the derived class. + - - + + + Decodes the AssetData, placing it in appropriate properties of the derived + class. + + True if the asset decoding succeeded, otherwise false - - + + + Constants for the archiving module + - - + + + The location of the archive control file + - - + + + Path for the assets held in an archive + - - + + + Path for the prims file + - - + + + Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. + - - + + + Path for region settings. + - - + + + The character the separates the uuid from extension information in an archived asset filename + - - + + + Extensions used for asset types in the archive + - - + + + Archives assets + - - + + + Archive assets + - - + + + Archive the assets given to this archiver to the given archive. + + + - - + + + Write an assets metadata file to the given archive + + + - - + + + Write asset data files to the given archive + + + - - + + + Temporary code to do the bare minimum required to read a tar archive for our purposes + - - + + + Generate a tar reader which reads from the given stream. + + + - - + + + Binary reader for the underlying stream + - - + + + Used to trim off null chars + - - + + + Used to trim off space chars + - - + + + Read the next entry in the tar file. + + + + + + the data for the entry. Returns null if there are no more entries - - + + + Read the next 512 byte chunk of data as a tar header. + + A tar header struct. null if we have reached the end of the archive. - - + + + Read data following a header + + + + + - - + + + Convert octal bytes to a decimal representation + + + + + + + + + - - + + + Temporary code to produce a tar archive in tar v7 format + - - + + + Binary writer for the underlying stream + - - + + + Write a directory entry to the tar archive. We can only handle one path level right now! + + + - - + + + Write a file to the tar archive + + + + + - - + + + Write a file to the tar archive + + + + + - - + + + Finish writing the raw tar archive data to a stream. The stream will be closed on completion. + - - + + + Write a particular entry + + + + + + + - - + + + Represents an Animation + - - + + Default Constructor - - + + + Construct an Asset object of type Animation + + A unique specific to this asset + A byte array containing the raw asset data - - + + Override the base classes AssetType - - + + + Represents an that represents an avatars body ie: Hair, Etc. + - - + + Initializes a new instance of an AssetBodyPart object - - + + Initializes a new instance of an AssetBodyPart object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + Override the base classes AssetType - - + + + Represents an that can be worn on an avatar + such as a Shirt, Pants, etc. + - - + + Initializes a new instance of an AssetScriptBinary object - - + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + Override the base classes AssetType - - + + + Type of gesture step + - - + + + Base class for gesture steps + - - + + + Retururns what kind of gesture step this is + - - + + + Describes animation step of a gesture + - - + + + If true, this step represents start of animation, otherwise animation stop + - - + + + Animation asset - - + + + Animation inventory name + - - + + + Returns what kind of gesture step this is + - - + + + Describes sound step of a gesture + - - + + + Sound asset - - + + + Sound inventory name + - - + + + Returns what kind of gesture step this is + - - + + + Describes sound step of a gesture + - - + + + Text to output in chat + - - + + + Returns what kind of gesture step this is + - - + + + Describes sound step of a gesture + - - + + + If true in this step we wait for all animations to finish + - - + + + If true gesture player should wait for the specified amount of time + - - + + + Time in seconds to wait if WaitForAnimation is false + - - + + + Returns what kind of gesture step this is + - - + + + Describes the final step of a gesture + - - + + + Returns what kind of gesture step this is + - - + + + Represents a sequence of animations, sounds, and chat actions + - - + + + Constructs guesture asset + - - + + + Constructs guesture asset + + A unique specific to this asset + A byte array containing the raw asset data - + - Represents a single Voice Session to the Vivox service. + Keyboard key that triggers the gestyre - + - Close this session. + Modifier to the trigger key - + - Look up an existing Participants in this session + String that triggers playing of the gesture sequence - - - + - + Text that replaces trigger in chat once gesture is triggered - + - An instance of DelegateWrapper which calls InvokeWrappedDelegate, - which in turn calls the DynamicInvoke method of the wrapped - delegate + Sequence of gesture steps - + - Callback used to call EndInvoke on the asynchronously - invoked DelegateWrapper + Returns asset type - + - Executes the specified delegate with the specified arguments - asynchronously on a thread pool thread + Encodes gesture asset suitable for uplaod - - - + - Invokes the wrapped delegate synchronously + Decodes gesture assset into play sequence - - + true if the asset data was decoded successfully - + - Calls EndInvoke on the wrapper and Close on the resulting WaitHandle - to prevent resource leaks + Represents a Landmark with RegionID and Position vector - - + + Construct an Asset of type Landmark + + - Delegate to wrap another delegate and its arguments + Construct an Asset object of type Landmark - - + A unique specific to this asset + A byte array containing the raw asset data - - The event subscribers. null if no subcribers + + UUID of the Landmark target region - - Raises the LandPatchReceived event - A LandPatchReceivedEventArgs object containing the - data returned from the simulator + + Local position of the target - - Thread sync lock object + + Override the base classes AssetType - + - Default constructor + Encode the raw contents of a string with the specific Landmark format - - - Raised when the simulator responds sends + + + Decode the raw asset data, populating the RegionID and Position + + true if the AssetData was successfully decoded to a UUID and Vector - - Simulator from that sent tha data + + + Represents Mesh asset + - - Sim coordinate of the patch + + Initializes a new instance of an AssetMesh object - - Sim coordinate of the patch + + Initializes a new instance of an AssetMesh object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - Size of tha patch + + + Decoded mesh data + - - Heightmap for the patch + + Override the base classes AssetType - + - + TODO: Encodes Collada file into LLMesh format - + + + Decodes mesh asset. See + to furter decode it for rendering + true + + - + Represents a string of characters encoded with specific formatting properties - - + + Construct an Asset of type Notecard - - + + + Construct an Asset object of type Notecard + + A unique specific to this asset + A byte array containing the raw asset data - - + + A text string containing main text of the notecard - - + + List of s embedded on the notecard - - + + Override the base classes AssetType - - + + + Encode the raw contents of a string with the specific Linden Text properties + - + - + Decode the raw asset data including the Linden Text properties + true if the AssetData was successfully decoded - - Size of the byte array used to store raw packet data + + + A linkset asset, containing a parent primitive and zero or more children + - - Raw packet data buffer + + Initializes a new instance of an AssetPrim object - - Length of the data to transmit + + + Initializes a new instance of an AssetPrim object + + A unique specific to this asset + A byte array containing the raw asset data - - EndPoint of the remote host + + + Only used internally for XML serialization/deserialization + - + + Override the base classes AssetType + + - Create an allocated UDP packet buffer for receiving a packet - + - Create an allocated UDP packet buffer for sending a packet - EndPoint of the remote host + + - + - Create an allocated UDP packet buffer for sending a packet + The deserialized form of a single primitive in a linkset asset - EndPoint of the remote host - Size of the buffer to allocate for packet data - + - Object pool for packet buffers. This is used to allocate memory for all - incoming and outgoing packets, and zerocoding buffers for those packets + Represents an AssetScriptBinary object containing the + LSO compiled bytecode of an LSL script + + + + Initializes a new instance of an AssetScriptBinary object + + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + + Override the base classes AssetType + + + + TODO: Encodes a scripts contents into a LSO Bytecode file - + - Initialize the object pool in client mode + TODO: Decode LSO Bytecode into a string - Server to connect to - - + true - + - Initialize the object pool in server mode + Represents an LSL Text object containing a string of UTF encoded characters - - - + + Initializes a new AssetScriptText object + + - Returns a packet buffer with EndPoint set if the buffer is in - client mode, or with EndPoint set to null in server mode + Initializes a new AssetScriptText object with parameters - Initialized UDPPacketBuffer object + A unique specific to this asset + A byte array containing the raw asset data + + + A string of characters represting the script contents + + + Override the base classes AssetType - + - Default constructor + Encode a string containing the scripts contents into byte encoded AssetData - + - Check a packet buffer out of the pool + Decode a byte array containing the scripts contents into a string - A packet buffer object + true if decoding is successful - + - Singleton logging class for the entire library + Represents a Sound Asset - - log4net logging engine + + Initializes a new instance of an AssetSound object - - - Default constructor - + + Initializes a new instance of an AssetSound object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - - Send a log message to the logging engine - - The log message - The severity of the log entry + + Override the base classes AssetType - + - Send a log message to the logging engine + TODO: Encodes a sound file - The log message - The severity of the log entry - Instance of the client - + - Send a log message to the logging engine + TODO: Decode a sound file - The log message - The severity of the log entry - Exception that was raised + true - + - Send a log message to the logging engine + Represents a texture - The log message - The severity of the log entry - Instance of the client - Exception that was raised - + + Initializes a new instance of an AssetTexture object + + - If the library is compiled with DEBUG defined, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine + Initializes a new instance of an AssetTexture object - The message to log at the DEBUG level to the - current logging engine + A unique specific to this asset + A byte array containing the raw asset data - + - If the library is compiled with DEBUG defined and - GridClient.Settings.DEBUG is true, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine + Initializes a new instance of an AssetTexture object - The message to log at the DEBUG level to the - current logging engine - Instance of the client + A object containing texture data - - Triggered whenever a message is logged. If this is left - null, log messages will go to the console + + A object containing image data - + - Callback used for client apps to receive log messages from - the library - Data being logged - The severity of the log entry from - - - Sort by name - - - Sort by date - - - Sort folders by name, regardless of whether items are - sorted by name or date - - - Place system folders at the top - + - Possible destinations for DeRezObject request - - - - - Copy from in-world to agent inventory - - - Derez to TaskInventory - - - - - - Take Object - - - - - - Delete Object - - - Put an avatar attachment into agent inventory + + Override the base classes AssetType - - + + + Populates the byte array with a JPEG2000 + encoded image created from the data in - - Return an object back to the owner's inventory + + + Decodes the JPEG2000 data in AssetData to the + object + True if the decoding was successful, otherwise false - - Return a deeded object back to the last owner's inventory + + + Decodes the begin and end byte positions for each quality layer in + the image + + + - + - Upper half of the Flags field for inventory items + Represents a Wearable Asset, Clothing, Hair, Skin, Etc - - Indicates that the NextOwner permission will be set to the - most restrictive set of permissions found in the object set - (including linkset items and object inventory items) on next rez + + Initializes a new instance of an AssetWearable object - - Indicates that the object sale information has been - changed + + Initializes a new instance of an AssetWearable object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez + + A string containing the name of the asset - - If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez + + A string containing a short description of the asset - - If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez + + The Assets WearableType - - If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez + + The For-Sale status of the object - - If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez + + An Integer representing the purchase price of the asset - - Indicates whether this object is composed of multiple - items or not + + The of the assets creator - - Indicates that the asset is only referenced by this - inventory item. If this item is deleted or updated to reference a - new assetID, the asset can be deleted + + The of the assets current owner - - - Base Class for Inventory Items - + + The of the assets prior owner - - of item/folder + + The of the Group this asset is set to - - of parent folder + + True if the asset is owned by a - - Name of item/folder + + The Permissions mask of the asset - - Item/Folder Owners + + A Dictionary containing Key/Value pairs of the objects parameters - - - Constructor, takes an itemID as a parameter - - The of the item + + A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures - + - + Decode an assets byte encoded data to a string - + true if the asset data was decoded successfully - + - + Encode the assets string represantion into a format consumable by the asset server - - - - Generates a number corresponding to the value of the object to support the use of a hash table, - suitable for use in hashing algorithms and data structures such as a hash table - - A Hashcode of all the combined InventoryBase fields + + = - - - Determine whether the specified object is equal to the current object - - InventoryBase object to compare against - true if objects are the same + + Number of times we've received an unknown CAPS exception in series. + + + For exponential backoff on error. - + - Determine whether the specified object is equal to the current object + A set of textures that are layered on texture of each other and "baked" + in to a single texture, for avatar appearances - InventoryBase object to compare against - true if objects are the same - + - An Item in Inventory + Default constructor + Bake type - - The of this item - - - The combined of this item - - - The type of item from - - - The type of item from the enum + + Final baked texture - - The of the creator of this item + + Component layers - - A Description of this item + + Width of the final baked image and scratchpad - - The s this item is set to or owned by + + Height of the final baked image and scratchpad - - If true, item is owned by a group + + Bake type - - The price this item can be purchased for + + Final baked texture - - The type of sale from the enum + + Component layers - - Combined flags from + + Width of the final baked image and scratchpad - - Time and date this inventory item was created, stored as - UTC (Coordinated Universal Time) + + Height of the final baked image and scratchpad - - Used to update the AssetID in requests sent to the server + + Bake type - - The of the previous owner of the item + + Is this one of the 3 skin bakes - + - Construct a new InventoryItem object + Adds layer for baking - The of the item + TexturaData struct that contains texture and its params - + - Construct a new InventoryItem object of a specific Type + Converts avatar texture index (face) to Bake type - The type of item from - of the item + Face number (AvatarTextureIndex) + BakeType, layer to which this texture belongs to - + - Indicates inventory item is a link + Make sure images exist, resize source if needed to match the destination - True if inventory item is a link to another inventory item + Destination image + Source image + Sanitization was succefull - + - + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if + the image is a pure solid color - + Color of the base of this layer - + - + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if + the image is a pure solid color - + Red value + Green value + Blue value - + - Generates a number corresponding to the value of the object to support the use of a hash table. - Suitable for use in hashing algorithms and data structures such as a hash table + Create a new blank image - A Hashcode of all the combined InventoryItem fields + width + height + channel flags - + - Compares an object - The object to compare - true if comparison object matches + + - + - Determine whether the specified object is equal to the current object + Image width - The object to compare against - true if objects are the same - + - Determine whether the specified object is equal to the current object + Image height - The object to compare against - true if objects are the same - + - InventoryTexture Class representing a graphical image + Image channel flags - - + - Construct an InventoryTexture object + Red channel data - A which becomes the - objects AssetUUID - + - Construct an InventoryTexture object from a serialization stream + Green channel data - + - InventorySound Class representing a playable sound + Blue channel data - + - Construct an InventorySound object + Alpha channel data - A which becomes the - objects AssetUUID - + - Construct an InventorySound object from a serialization stream + Bump channel data - + - InventoryCallingCard Class, contains information on another avatar + Convert the channels in the image. Channels are created or destroyed as required. + new channel flags - + - Construct an InventoryCallingCard object + Resize or stretch the image using nearest neighbor (ugly) resampling - A which becomes the - objects AssetUUID + new width + new height - + - Construct an InventoryCallingCard object from a serialization stream + Create a byte array containing 32-bit RGBA data with a bottom-left + origin, suitable for feeding directly into OpenGL + A byte array containing raw texture data - + - InventoryLandmark Class, contains details on a specific location + A Wrapper around openjpeg to encode and decode images to and from byte arrays - + - Construct an InventoryLandmark object + Defines the beginning and ending file positions of a layer in an + LRCP-progression JPEG2000 file - A which becomes the - objects AssetUUID - + - Construct an InventoryLandmark object from a serialization stream + This structure is used to marshal both encoded and decoded images. + MUST MATCH THE STRUCT IN dotnet.h! - + - Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited + Information about a single packet in a JPEG2000 stream - - - InventoryObject Class contains details on a primitive or coalesced set of primitives - + + Packet start position - - - Construct an InventoryObject object - - A which becomes the - objects AssetUUID + + Packet header end position - - - Construct an InventoryObject object from a serialization stream - + + Packet end position - - - Gets or sets the upper byte of the Flags value - + + TGA Header size - - - Gets or sets the object attachment point, the lower byte of the Flags value - + + OpenJPEG is not threadsafe, so this object is used to lock + during calls into unmanaged code - + - InventoryNotecard Class, contains details on an encoded text document + Encode a object into a byte array + The object to encode + true to enable lossless conversion, only useful for small images ie: sculptmaps + A byte array containing the encoded Image object - + - Construct an InventoryNotecard object + Encode a object into a byte array - A which becomes the - objects AssetUUID + The object to encode + a byte array of the encoded image - + - Construct an InventoryNotecard object from a serialization stream - + Decode JPEG2000 data to an and + + JPEG2000 encoded data + ManagedImage object to decode to + Image object to decode to + True if the decode succeeds, otherwise false - + - InventoryCategory Class - TODO: Is this even used for anything? + + + + + + - + - Construct an InventoryCategory object - A which becomes the - objects AssetUUID + + + + + + + + - + - Construct an InventoryCategory object from a serialization stream + Encode a object into a byte array + The source object to encode + true to enable lossless decoding + A byte array containing the source Bitmap object - + - InventoryLSL Class, represents a Linden Scripting Language object + Capability to load TGAs to Bitmap - + - Construct an InventoryLSL object + Interface requirements for Messaging system - A which becomes the - objects AssetUUID - + - Construct an InventoryLSL object from a serialization stream + Abstract base for rendering plugins - + - InventorySnapshot Class, an image taken with the viewer + Generates a basic mesh structure from a primitive + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh - + - Construct an InventorySnapshot object + Generates a basic mesh structure from a sculpted primitive and + texture - A which becomes the - objects AssetUUID + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh - + - Construct an InventorySnapshot object from a serialization stream + Generates a series of faces, each face containing a mesh and + metadata + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh - + - InventoryAttachment Class, contains details on an attachable object + Generates a series of faces for a sculpted prim, each face + containing a mesh and metadata + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh - + - Construct an InventoryAttachment object + Apply texture coordinate modifications from a + to a list of vertices - A which becomes the - objects AssetUUID + Vertex list to modify texture coordinates for + Center-point of the face + Face texture parameters + Scale of the prim - + - Construct an InventoryAttachment object from a serialization stream + Sent to the client to indicate a teleport request has completed - + + The of the agent + + - Get the last AttachmentPoint this object was attached to - + + The simulators handle the agent teleported to + + + A Uri which contains a list of Capabilities the simulator supports + + + Indicates the level of access required + to access the simulator, or the content rating, or the simulators + map status + + + The IP Address of the simulator + + + The UDP Port the simulator will listen for UDP traffic on + + + Status flags indicating the state of the Agent upon arrival, Flying, etc. + + - InventoryWearable Class, details on a clothing item or body part + Serialize the object + An containing the objects data - + - Construct an InventoryWearable object + Deserialize the message - A which becomes the - objects AssetUUID + An containing the data - + - Construct an InventoryWearable object from a serialization stream + Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. - + - The , Skin, Shape, Skirt, Etc + Serialize the object + An containing the objects data - + - InventoryAnimation Class, A bvh encoded object which animates an avatar + Deserialize the message + An containing the data - + - Construct an InventoryAnimation object + Serialize the object - A which becomes the - objects AssetUUID + An containing the objects data - + - Construct an InventoryAnimation object from a serialization stream + Deserialize the message + An containing the data - + - InventoryGesture Class, details on a series of animations, sounds, and actions + Serialize the object + An containing the objects data - + - Construct an InventoryGesture object + Deserialize the message - A which becomes the - objects AssetUUID + An containing the data - + - Construct an InventoryGesture object from a serialization stream + A message sent to the client which indicates a teleport request has failed + and contains some information on why it failed - + - A folder contains s and has certain attributes specific - to itself - - The Preferred for a folder. + + A string key of the reason the teleport failed e.g. CouldntTPCloser + Which could be used to look up a value in a dictionary or enum - - The Version of this folder + + The of the Agent - - Number of child items this folder contains. + + A string human readable message containing the reason + An example: Could not teleport closer to destination - + - Constructor + Serialize the object - UUID of the folder + An containing the objects data - + - + Deserialize the message - + An containing the data - + - Get Serilization data for this InventoryFolder object + Serialize the object + An containing the objects data - + - Construct an InventoryFolder object from a serialization stream + Deserialize the message + An containing the data - + - + Contains a list of prim owner information for a specific parcel in a simulator - + + A Simulator will always return at least 1 entry + If agent does not have proper permission the OwnerID will be UUID.Zero + If agent does not have proper permission OR there are no primitives on parcel + the DataBlocksExtended map will not be sent from the simulator + - + - + Prim ownership information for a specified owner on a single parcel - - - + + The of the prim owner, + UUID.Zero if agent has no permission to view prim owner information + + + The total number of prims + + + True if the OwnerID is a + + + True if the owner is online + This is no longer used by the LL Simulators + + + The date the most recent prim was rezzed + + + An Array of objects + + - + Serialize the object - - + An containing the objects data - + - + Deserialize the message - - + An containing the data - + - Tools for dealing with agents inventory + The details of a single parcel in a region, also contains some regionwide globals - - Used for converting shadow_id to asset_id - - - The event subscribers, null of no subscribers - - - Raises the ItemReceived Event - A ItemReceivedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object + + Simulator-local ID of this parcel - - The event subscribers, null of no subscribers + + Maximum corner of the axis-aligned bounding box for this + parcel - - Raises the FolderUpdated Event - A FolderUpdatedEventArgs object containing - the data sent from the simulator + + Minimum corner of the axis-aligned bounding box for this + parcel - - Thread sync lock object + + Total parcel land area - - The event subscribers, null of no subscribers + + + - - Raises the InventoryObjectOffered Event - A InventoryObjectOfferedEventArgs object containing - the data sent from the simulator + + Key of authorized buyer - - Thread sync lock object + + Bitmap describing land layout in 4x4m squares across the + entire region - - The event subscribers, null of no subscribers + + + - - Raises the TaskItemReceived Event - A TaskItemReceivedEventArgs object containing - the data sent from the simulator + + Date land was claimed - - Thread sync lock object + + Appears to always be zero - - The event subscribers, null of no subscribers + + Parcel Description - - Raises the FindObjectByPath Event - A FindObjectByPathEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + Total number of primitives owned by the parcel group on + this parcel - - Raises the TaskInventoryReply Event - A TaskInventoryReplyEventArgs object containing - the data sent from the simulator + + Whether the land is deeded to a group or not - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + Maximum number of primitives this parcel supports - - Raises the SaveAssetToInventory Event - A SaveAssetToInventoryEventArgs object containing - the data sent from the simulator + + The Asset UUID of the Texture which when applied to a + primitive will display the media - - Thread sync lock object + + A URL which points to any Quicktime supported media type - - The event subscribers, null of no subscribers + + A byte, if 0x1 viewer should auto scale media to fit object - - Raises the ScriptRunningReply Event - A ScriptRunningReplyEventArgs object containing - the data sent from the simulator + + URL For Music Stream - - Thread sync lock object + + Parcel Name - - Partial mapping of AssetTypes to folder names + + Autoreturn value in minutes for others' objects - + - Default constructor - Reference to the GridClient object - - - Fetch an inventory item from the dataserver - - The items - The item Owners - a integer representing the number of milliseconds to wait for results - An object on success, or null if no item was found - Items will also be sent to the event + + Total number of other primitives on this parcel - - - Request A single inventory item - - The items - The item Owners - + + UUID of the owner of this parcel - - - Request inventory items - - Inventory items to request - Owners of the inventory items - + + Total number of primitives owned by the parcel owner on + this parcel - + - Get contents of a folder - The of the folder to search - The of the folders owner - true to retrieve folders - true to retrieve items - sort order to return results in - a integer representing the number of milliseconds to wait for results - A list of inventory items matching search criteria within folder - - InventoryFolder.DescendentCount will only be accurate if both folders and items are - requested - - - Request the contents of an inventory folder - - The folder to search - The folder owners - true to return s contained in folder - true to return s containd in folder - the sort order to return items in - + + How long is pass valid for - + + Price for a temporary pass + + - Returns the UUID of the folder (category) that defaults to - containing 'type'. The folder is not necessarily only for that - type - This will return the root folder if one does not exist - - The UUID of the desired folder if found, the UUID of the RootFolder - if not found, or UUID.Zero on failure - + + Disallows people outside the parcel from being able to see in + + - Find an object in inventory using a specific path to search - The folder to begin the search in - The object owners - A string path to search - milliseconds to wait for a reply - Found items or if - timeout occurs or item is not found - + - Find inventory items by path - The folder to begin the search in - The object owners - A string path to search, folders/objects separated by a '/' - Results are sent to the event - + - Search inventory Store object for an item or folder - The folder to begin the search in - An array which creates a path to search - Number of levels below baseFolder to conduct searches - if True, will stop searching after first match is found - A list of inventory items found - + + True if the region denies access to age unverified users + + - Move an inventory item or folder to a new location - The item or folder to move - The to move item or folder to - + + This field is no longer used + + + The result of a request for parcel properties + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it + + - Move an inventory item or folder to a new location and change its name + Number of primitives your avatar is currently + selecting and sitting on in this parcel - The item or folder to move - The to move item or folder to - The name to change the item or folder to - + - Move and rename a folder - The source folders - The destination folders - The name to change the folder to - + - Update folder properties + A number which increments by 1, starting at 0 for each ParcelProperties request. + Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. + a Negative number indicates the action in has occurred. - of the folder to update - Sets folder's parent to - Folder name - Folder type - + + Maximum primitives across the entire simulator + + + Total primitives across the entire simulator + + - Move a folder - The source folders - The destination folders - + + Key of parcel snapshot + + + Parcel ownership status + + + Total number of primitives on this parcel + + - Move multiple folders, the keys in the Dictionary parameter, - to a new parents, the value of that folder's key. - A Dictionary containing the - of the source as the key, and the - of the destination as the value - + - Move an inventory item to a new folder - The of the source item to move - The of the destination folder - + + A description of the media + + + An Integer which represents the height of the media + + + An integer which represents the width of the media + + + A boolean, if true the viewer should loop the media + + + A string which contains the mime type of the media + + + true to obscure (hide) media url + + + true to obscure (hide) music url + + - Move and rename an inventory item + Serialize the object - The of the source item to move - The of the destination folder - The name to change the folder to + An containing the objects data - + - Move multiple inventory items to new locations + Deserialize the message - A Dictionary containing the - of the source item as the key, and the - of the destination folder as the value + An containing the data - + + A message sent from the viewer to the simulator to updated a specific parcels settings + + + The of the agent authorized to purchase this + parcel of land or a NULL if the sale is authorized to anyone + + + true to enable auto scaling of the parcel media + + + The category of this parcel used when search is enabled to restrict + search results + + + A string containing the description to set + + + The of the which allows for additional + powers and restrictions. + + + The which specifies how avatars which teleport + to this parcel are handled + + + The LocalID of the parcel to update settings on + + + A string containing the description of the media which can be played + to visitors + + - Remove descendants of a folder - The of the folder - + - Remove a single item from inventory - The of the inventory item to remove - + - Remove a folder from inventory - The of the folder to remove - + - Remove multiple items or folders from inventory - A List containing the s of items to remove - A List containing the s of the folders to remove - + - Empty the Lost and Found folder - + - Empty the Trash folder - + - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - + - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - - + - Creates a new inventory folder - ID of the folder to put this folder in - Name of the folder to create - The UUID of the newly created folder - + - Creates a new inventory folder - ID of the folder to put this folder in - Name of the folder to create - Sets this folder as the default folder - for new assets of the specified type. Use AssetType.Unknown - to create a normal folder, otherwise it will likely create a - duplicate of an existing folder type - The UUID of the newly created folder - If you specify a preferred type of AsseType.Folder - it will create a new root folder which may likely cause all sorts - of strange problems - + + + + + - Create an inventory item and upload asset data - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Delegate that will receive feedback on success or failure - + - Create an inventory item and upload asset data - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Permission of the newly created item - (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) - Delegate that will receive feedback on success or failure - + - Creates inventory link to another inventory item or folder - Put newly created link in folder with this UUID - Inventory item or folder - Method to call upon creation of the link - + - Creates inventory link to another inventory item - Put newly created link in folder with this UUID - Original inventory item - Method to call upon creation of the link - + - Creates inventory link to another inventory folder - Put newly created link in folder with this UUID - Original inventory folder - Method to call upon creation of the link - + - Creates inventory link to another inventory item or folder - Put newly created link in folder with this UUID - Original item's UUID - Name - Description - Asset Type - Inventory Type - Transaction UUID - Method to call upon creation of the link - + - - - - - - + - + Deserialize the message - - - - - + An containing the data - + - + Serialize the object - - - - - + An containing the objects data - + + Base class used for the RemoteParcelRequest message + + - Request a copy of an asset embedded within a notecard + A message sent from the viewer to the simulator to request information + on a remote parcel - Usually UUID.Zero for copying an asset from a notecard - UUID of the notecard to request an asset from - Target folder for asset to go to in your inventory - UUID of the embedded asset - callback to run when item is copied to inventory - + + Local sim position of the parcel we are looking up + + + Region handle of the parcel we are looking up + + + Region of the parcel we are looking up + + - + Serialize the object - + An containing the objects data - + - + Deserialize the message - + An containing the data - + - + A message sent from the simulator to the viewer in response to a + which will contain parcel information - - - + + The grid-wide unique parcel ID + + - + Serialize the object - - - + An containing the objects data - + - Save changes to notecard embedded in object contents + Deserialize the message - Encoded notecard asset data - Notecard UUID - Object's UUID - Called upon finish of the upload with status information + An containing the data - + - Upload new gesture asset for an inventory gesture item + A message containing a request for a remote parcel from a viewer, or a response + from the simulator to that request - Encoded gesture asset - Gesture inventory UUID - Callback whick will be called when upload is complete - + + The request or response details block + + - Update an existing script in an agents Inventory + Serialize the object - A byte[] array containing the encoded scripts contents - the itemID of the script - if true, sets the script content to run on the mono interpreter - + An containing the objects data - + - Update an existing script in an task Inventory + Deserialize the message - A byte[] array containing the encoded scripts contents - the itemID of the script - UUID of the prim containting the script - if true, sets the script content to run on the mono interpreter - if true, sets the script to running - + An containing the data - + - Rez an object from inventory + Serialize the object - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details + An containing the objects data - + - Rez an object from inventory + Deserialize the message - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object + An containing the data - + - Rez an object from inventory + Serialize the object - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - User defined queryID to correlate replies - If set to true, the CreateSelected flag - will be set on the rezzed object + An containing the objects data - + - DeRez an object from the simulator to the agents Objects folder in the agents Inventory + Deserialize the message - The simulator Local ID of the object - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed + An containing the data - + - DeRez an object from the simulator and return to inventory + A message sent from the simulator to an agent which contains + the groups the agent is in - The simulator Local ID of the object - The type of destination from the enum - The destination inventory folders -or- - if DeRezzing object to a tasks Inventory, the Tasks - The transaction ID for this request which - can be used to correlate this request with other packets - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - + + Group Details specific to the agent + + + true of the agent accepts group notices + + + The agents tier contribution to the group + + + The Groups + + + The of the groups insignia + + + The name of the group + + + The aggregate permissions the agent has in the group for all roles the agent + is assigned + + + An optional block containing additional agent specific information + + + true of the agent allows this group to be + listed in their profile + + + The Agent receiving the message + + + An array containing information + for each the agent is a member of + + + An array containing information + for each the agent is a member of + + - Rez an item from inventory to its previous simulator location + Serialize the object - - - - + An containing the objects data - + - Give an inventory item to another avatar + Deserialize the message - The of the item to give - The name of the item - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer + An containing the data - + - Give an inventory Folder with contents to another avatar + A message sent from the viewer to the simulator which + specifies the language and permissions for others to detect + the language specified - The of the Folder to give - The name of the folder - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer - + + A string containng the default language + to use for the agent + + + true of others are allowed to + know the language setting + + - Copy or move an from agent inventory to a task (primitive) inventory + Serialize the object - The target object - The item to copy or move from inventory - - For items with copy permissions a copy of the item is placed in the tasks inventory, - for no-copy items the object is moved to the tasks inventory + An containing the objects data - + - Retrieve a listing of the items contained in a task (Primitive) + Deserialize the message - The tasks - The tasks simulator local ID - milliseconds to wait for reply from simulator - A list containing the inventory items inside the task or null - if a timeout occurs - This request blocks until the response from the simulator arrives - or timeoutMS is exceeded + An containing the data - + - Request the contents of a tasks (primitives) inventory from the - current simulator + An EventQueue message sent from the simulator to an agent when the agent + leaves a group - The LocalID of the object - - + + An object containing the Agents UUID, and the Groups UUID + + + The ID of the Agent leaving the group + + + The GroupID the Agent is leaving + + - Request the contents of a tasks (primitives) inventory + An Array containing the AgentID and GroupID - The simulator Local ID of the object - A reference to the simulator object that contains the object - - + - Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory + Serialize the object - LocalID of the object in the simulator - UUID of the task item to move - The ID of the destination folder in this agents inventory - Simulator Object - Raises the event + An containing the objects data - + - Remove an item from an objects (Prim) Inventory + Deserialize the message - LocalID of the object in the simulator - UUID of the task item to remove - Simulator Object - You can confirm the removal by comparing the tasks inventory serial before and after the - request with the request combined with - the event + An containing the data - - - Copy an InventoryScript item from the Agents Inventory into a primitives task inventory - - An unsigned integer representing a primitive being simulated - An which represents a script object from the agents inventory - true to set the scripts running state to enabled - A Unique Transaction ID - - The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory - and assumes the script exists in the agents inventory. - - uint primID = 95899503; // Fake prim ID - UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory - - Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, - false, true, InventorySortOrder.ByName, 10000); - - Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); - - + + Base class for Asset uploads/results via Capabilities - + - Request the running status of a script contained in a task (primitive) inventory + The request state - The ID of the primitive containing the script - The ID of the script - The event can be used to obtain the results of the - request - - + - Send a request to set the running state of a script contained in a task (primitive) inventory + Serialize the object - The ID of the primitive containing the script - The ID of the script - true to set the script running, false to stop a running script - To verify the change you can use the method combined - with the event + An containing the objects data - + - Create a CRC from an InventoryItem + Deserialize the message - The source InventoryItem - A uint representing the source InventoryItem as a CRC + An containing the data - + - Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id + A message sent from the viewer to the simulator to request a temporary upload capability + which allows an asset to be uploaded - Obfuscated shadow_id value - Deobfuscated asset_id value - - - Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id - - asset_id value to obfuscate - Obfuscated shadow_id value + + The Capability URL sent by the simulator to upload the baked texture to - + - Wrapper for creating a new object + A message sent from the simulator that will inform the agent the upload is complete, + and the UUID of the uploaded asset - The type of item from the enum - The of the newly created object - An object with the type and id passed - + + The uploaded texture asset ID + + - Parse the results of a RequestTaskInventory() response + A message sent from the viewer to the simulator to request a temporary + capability URI which is used to upload an agents baked appearance textures - A string which contains the data from the task reply - A List containing the items contained within the tasks inventory - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Object containing request or response - + - UpdateCreateInventoryItem packets are received when a new inventory item - is created. This may occur when an object that's rezzed in world is - taken into inventory, when an item is created using the CreateInventoryItem - packet, or when an object is purchased + Serialize the object - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + An containing the objects data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Deserialize the message + + An containing the data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + A message sent from the simulator which indicates the minimum version required for + using voice chat + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Major Version Required - - Raised when the simulator sends us data containing - ... + + Minor version required - - Raised when the simulator sends us data containing - ... + + The name of the region sending the version requrements - - Raised when the simulator sends us data containing - an inventory object sent by another avatar or primitive + + + Serialize the object + + An containing the objects data - - Raised when the simulator sends us data containing - ... + + + Deserialize the message + + An containing the data - - Raised when the simulator sends us data containing - ... + + + A message sent from the simulator to the viewer containing the + voice server URI + - - Raised when the simulator sends us data containing - ... + + The Parcel ID which the voice server URI applies - - Raised when the simulator sends us data containing - ... + + The name of the region - - Raised when the simulator sends us data containing - ... + + A uri containing the server/channel information + which the viewer can utilize to participate in voice conversations - + - Get this agents Inventory data + Serialize the object + An containing the objects data - + - Callback for inventory item creation finishing + Deserialize the message - Whether the request to create an inventory - item succeeded or not - Inventory item being created. If success is - false this will be null + An containing the data - + - Callback for an inventory item being create from an uploaded asset - true if inventory item creation was successful - - - - + - - - + - Reply received when uploading an inventory asset - Has upload been successful - Error message if upload failed - Inventory asset UUID - New asset UUID - + - Delegate that is invoked when script upload is completed + Serialize the object - Has upload succeded (note, there still might be compile errors) - Upload status message - Is compilation successful - If compilation failed, list of error messages, null on compilation success - Script inventory UUID - Script's new asset UUID - - - Set to true to accept offer, false to decline it - - - The folder to accept the inventory into, if null default folder for will be used + An containing the objects data - + - Callback when an inventory object is accepted and received from a - task inventory. This is the callback in which you actually get - the ItemID, as in ObjectOfferedCallback it is null when received - from a task. + Deserialize the message + An containing the data - + - Map layer request type + A message sent by the viewer to the simulator to request a temporary + capability for a script contained with in a Tasks inventory to be updated - - Objects and terrain are shown - - - Only the terrain is shown, no objects - - - Overlay showing land for sale and for auction + + Object containing request or response - + - Type of grid item, such as telehub, event, populator location, etc. + Serialize the object + An containing the objects data - - Telehub - - - PG rated event - - - Mature rated event - - - Popular location - - - Locations of avatar groups in a region - - - Land for sale - - - Classified ad - - - Adult rated event - - - Adult land for sale + + + Deserialize the message + + An containing the data - + - Information about a region on the grid map + A message sent from the simulator to the viewer to indicate + a Tasks scripts status. - - Sim X position on World Map + + The Asset ID of the script - - Sim Y position on World Map + + True of the script is compiled/ran using the mono interpreter, false indicates it + uses the older less efficient lsl2 interprter - - Sim Name (NOTE: In lowercase!) + + The Task containing the scripts - - + + true of the script is in a running state - - Appears to always be zero (None) + + + Serialize the object + + An containing the objects data - - Sim's defined Water Height + + + Deserialize the message + + An containing the data - - + + + A message containing the request/response used for updating a gesture + contained with an agents inventory + - - UUID of the World Map image + + Object containing request or response - - Unique identifier for this region, a combination of the X - and Y position + + + Serialize the object + + An containing the objects data - + - + Deserialize the message - + An containing the data - + - + A message request/response which is used to update a notecard contained within + a tasks inventory - - + + The of the Task containing the notecard asset to update + + + The notecard assets contained in the tasks inventory + + - + Serialize the object - - + An containing the objects data - + - Visual chunk of the grid map + Deserialize the message + An containing the data - + - Base class for Map Items + A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability + which is used to update an asset in an agents inventory - - The Global X position of the item + + + The Notecard AssetID to replace + - - The Global Y position of the item + + + Serialize the object + + An containing the objects data - - Get the Local X position of the item + + + Deserialize the message + + An containing the data - - Get the Local Y position of the item + + + A message containing the request/response used for updating a notecard + contained with an agents inventory + - - Get the Handle of the region + + Object containing request or response - + - Represents an agent or group of agents location + Serialize the object + An containing the objects data - + - Represents a Telehub location + Deserialize the message + An containing the data - + - Represents a non-adult parcel of land for sale + Serialize the object + An containing the objects data - + - Represents an Adult parcel of land for sale + Deserialize the message + An containing the data - + - Represents a PG Event + A message sent from the simulator to the viewer which indicates + an error occurred while attempting to update a script in an agents or tasks + inventory - + + true of the script was successfully compiled by the simulator + + + A string containing the error which occured while trying + to update the script + + + A new AssetID assigned to the script + + - Represents a Mature event + A message sent from the viewer to the simulator + requesting the update of an existing script contained + within a tasks inventory - + + if true, set the script mode to running + + + The scripts InventoryItem ItemID to update + + + A lowercase string containing either "mono" or "lsl2" which + specifies the script is compiled and ran on the mono runtime, or the older + lsl runtime + + + The tasks which contains the script to update + + - Represents an Adult event + Serialize the object + An containing the objects data - + - Manages grid-wide tasks such as the world map + Deserialize the message + An containing the data - - The event subscribers. null if no subcribers - - - Raises the CoarseLocationUpdate event - A CoarseLocationUpdateEventArgs object containing the - data sent by simulator - - - Thread sync lock object + + + A message containing either the request or response used in updating a script inside + a tasks inventory + - - The event subscribers. null if no subcribers + + Object containing request or response - - Raises the GridRegion event - A GridRegionEventArgs object containing the - data sent by simulator + + + Serialize the object + + An containing the objects data - - Thread sync lock object + + + Deserialize the message + + An containing the data - - The event subscribers. null if no subcribers + + + Response from the simulator to notify the viewer the upload is completed, and + the UUID of the script asset and its compiled status + - - Raises the GridLayer event - A GridLayerEventArgs object containing the - data sent by simulator + + The uploaded texture asset ID - - Thread sync lock object + + true of the script was compiled successfully - - The event subscribers. null if no subcribers + + + A message sent from a viewer to the simulator requesting a temporary uploader capability + used to update a script contained in an agents inventory + - - Raises the GridItems event - A GridItemEventArgs object containing the - data sent by simulator + + The existing asset if of the script in the agents inventory to replace - - Thread sync lock object + + The language of the script + Defaults to lsl version 2, "mono" might be another possible option - - The event subscribers. null if no subcribers + + + Serialize the object + + An containing the objects data - - Raises the RegionHandleReply event - A RegionHandleReplyEventArgs object containing the - data sent by simulator + + + Deserialize the message + + An containing the data - - Thread sync lock object + + + A message containing either the request or response used in updating a script inside + an agents inventory + - - A dictionary of all the regions, indexed by region name + + Object containing request or response - - A dictionary of all the regions, indexed by region handle + + + Serialize the object + + An containing the objects data - + - Constructor + Deserialize the message - Instance of GridClient object to associate with this GridManager instance + An containing the data - + - + Serialize the object - + An containing the objects data - + - Request a map layer + Deserialize the message - The name of the region - The type of layer + An containing the data - + + Base class for Map Layers via Capabilities + + - - - - - - - - + - + Serialize the object - - - - - + An containing the objects data - + - + Deserialize the message - - - + An containing the data - + - Request data for all mainland (Linden managed) simulators + Sent by an agent to the capabilities server to request map layers - + - Request the region handle for the specified region UUID + A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates - UUID of the region to look up - + - Get grid region information using the region name, this function - will block until it can find the region or gives up + An object containing map location details - Name of sim you're looking for - Layer that you are requesting - Will contain a GridRegion for the sim you're - looking for if successful, otherwise an empty structure - True if the GridRegion was successfully fetched, otherwise - false - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the simulator sends a - containing the location of agents in the simulator - - - Raised when the simulator sends a Region Data in response to - a Map request - - - Raised when the simulator sends GridLayer object containing - a map tile coordinates and texture information - - Raised when the simulator sends GridItems object containing - details on events, land sales at a specific location + + The Asset ID of the regions tile overlay - - Raised in response to a Region lookup + + The grid location of the southern border of the map tile - - Unknown + + The grid location of the western border of the map tile - - Current direction of the sun + + The grid location of the eastern border of the map tile - - Current angular velocity of the sun + + The grid location of the northern border of the map tile - - Current world time + + An array containing LayerData items - + - + Serialize the object + An containing the objects data - - - - - + + + Deserialize the message + + An containing the data - - + + Object containing request or response - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + New as of 1.23 RC1, no details yet. + - - + + + Serialize the object + + An containing the objects data - + - Login Request Parameters + Deserialize the message + An containing the data - - The URL of the Login Server + + + Serialize the object + + An containing the objects data - - The number of milliseconds to wait before a login is considered - failed due to timeout + + + Deserialize the message + + An containing the data - - The request method - login_to_simulator is currently the only supported method + + A string containing the method used - - The Agents First name + + + A request sent from an agent to the Simulator to begin a new conference. + Contains a list of Agents which will be included in the conference + - - The Agents Last name + + An array containing the of the agents invited to this conference - - A md5 hashed password - plaintext password will be automatically hashed + + The conferences Session ID - - The agents starting location once logged in - Either "last", "home", or a string encoded URI - containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 + + + Serialize the object + + An containing the objects data - - A string containing the client software channel information - Second Life Release + + + Deserialize the message + + An containing the data - - The client software version information - The official viewer uses: Second Life Release n.n.n.n - where n is replaced with the current version of the viewer + + + A moderation request sent from a conference moderator + Contains an agent and an optional action to take + - - A string containing the platform information the agent is running on + + The Session ID - - A string hash of the network cards Mac Address + + + - - Unknown or deprecated + + A list containing Key/Value pairs, known valid values: + key: text value: true/false - allow/disallow specified agents ability to use text in session + key: voice value: true/false - allow/disallow specified agents ability to use voice in session + + "text" or "voice" - - A string hash of the first disk drives ID used to identify this clients uniqueness + + + - - A string containing the viewers Software, this is not directly sent to the login server but - instead is used to generate the Version string + + + Serialize the object + + An containing the objects data - - A string representing the software creator. This is not directly sent to the login server but - is used by the library to generate the Version information + + + Deserialize the message + + An containing the data - - If true, this agent agrees to the Terms of Service of the grid its connecting to + + + A message sent from the agent to the simulator which tells the + simulator we've accepted a conference invitation + - - Unknown + + The conference SessionID - - An array of string sent to the login server to enable various options + + + Serialize the object + + An containing the objects data - - A randomly generated ID to distinguish between login attempts. This value is only used - internally in the library and is never sent over the wire + + + Deserialize the message + + An containing the data - + - Default constuctor, initializes sane default values + Serialize the object + An containing the objects data - + - Instantiates new LoginParams object and fills in the values + Deserialize the message - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number + An containing the data - + - Instantiates new LoginParams object and fills in the values + Serialize the object - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number - URI of the login server + An containing the objects data - + - The decoded data returned from the login server after a successful login + Deserialize the message + An containing the data - - true, false, indeterminate - - - Login message of the day - - - M or PG, also agent_region_access and agent_access_max - - + - Parse LLSD Login Reply Data + Serialize the object - An - contaning the login response data - XML-RPC logins do not require this as XML-RPC.NET - automatically populates the struct properly using attributes + An containing the objects data - + - + Deserialize the message + An containing the data - - OK - - - Transfer completed - - - - - - + + Key of sender - - Unknown error occurred + + Name of sender - - Equivalent to a 404 error + + Key of destination avatar - - Client does not have permission for that resource + + ID of originating estate - - Unknown status + + Key of originating region - - - - + + Coordinates in originating region - - + + Instant message type - - Unknown + + Group IM session toggle - - Virtually all asset transfers use this channel + + Key of IM session, for Group Messages, the groups UUID - - - - + + Timestamp of the instant message - - + + Instant message text - - Asset from the asset server + + Whether this message is held for offline avatars - - Inventory item + + Context specific packed data - - Estate asset, such as an estate covenant + + Is this invitation for voice group/conference chat - + - + Serialize the object + An containing the objects data - - - - - - - - - - + - + Deserialize the message + An containing the data - - - - - - - + - Image file format + Sent from the simulator to the viewer. + When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including + a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate + this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" + During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are + excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with + the string "ENTER" or "LEAVE" respectively. - + - + Serialize the object + An containing the objects data - - Number of milliseconds passed since the last transfer - packet was received - - + - + Deserialize the message + An containing the data - + - + An EventQueue message sent when the agent is forcibly removed from a chatterbox session - + - + A string containing the reason the agent was removed - + - + The ChatterBoxSession's SessionID - + - + Serialize the object + An containing the objects data - + - + Deserialize the message - - - - + An containing the data - + - + Serialize the object + An containing the objects data - - Number of milliseconds to wait for a transfer header packet if out of order data was received - - - The event subscribers. null if no subcribers - - - Raises the XferReceived event - A XferReceivedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the AssetUploaded event - A AssetUploadedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the UploadProgress event - A UploadProgressEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the InitiateDownload event - A InitiateDownloadEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers + + + Deserialize the message + + An containing the data - - Raises the ImageReceiveProgress event - A ImageReceiveProgressEventArgs object containing the - data returned from the simulator + + + Serialize the object + + An containing the objects data - - Thread sync lock object + + + Deserialize the message + + An containing the data - - Texture download cache + + + Serialize the object + + An containing the objects data - + - Default constructor + Deserialize the message - A reference to the GridClient object + An containing the data - + - Request an asset download + Serialize the object - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - The callback to fire when the simulator responds with the asset data + An containing the objects data - + - Request an asset download + Deserialize the message - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - The callback to fire when the simulator responds with the asset data + An containing the data - + - Request an asset download - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - UUID of the transaction - The callback to fire when the simulator responds with the asset data - + - Request an asset download through the almost deprecated Xfer system + Serialize the object - Filename of the asset to request - Whether or not to delete the asset - off the server after it is retrieved - Use large transfer packets or not - UUID of the file to request, if filename is - left empty - Asset type of vFileID, or - AssetType.Unknown if filename is not empty - Sets the FilePath in the request to Cache - (4) if true, otherwise Unknown (0) is used - + An containing the objects data - + - + Deserialize the message - Use UUID.Zero if you do not have the - asset ID but have all the necessary permissions - The item ID of this asset in the inventory - Use UUID.Zero if you are not requesting an - asset from an object inventory - The owner of this asset - Asset type - Whether to prioritize this asset download or not - + An containing the data - + - Used to force asset data into the PendingUpload property, ie: for raw terrain uploads + Serialize the object - An AssetUpload object containing the data to upload to the simulator + An containing the objects data - + - Request an asset be uploaded to the simulator + Deserialize the message - The Object containing the asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired + An containing the data - + - Request an asset be uploaded to the simulator + Serialize the object - The of the asset being uploaded - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired + An containing the objects data - + - Request an asset be uploaded to the simulator + Deserialize the message - - Asset type to upload this data as - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired + An containing the data - + - Initiate an asset upload + Event Queue message describing physics engine attributes of a list of objects + Sim sends these when object is selected - The ID this asset will have if the - upload succeeds - Asset type to upload this data as - Raw asset data to upload - Whether to store this asset on the local - simulator or the grid-wide asset server - The tranaction id for the upload - The transaction ID of this transfer - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress - transfer. - A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority - indicating an off-by-one error. - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - Request an image and fire a callback when the request is complete - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - - Request an image and use an inline anonymous method to handle the downloaded texture data - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - ); - - Request a texture, decode the texture to a bitmap image and apply it to a imagebox - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - ManagedImage imgData; - Image bitmap; - - if (state == TextureRequestState.Finished) - { - OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); - picInsignia.Image = bitmap; - } - } - } - - + + Array with the list of physics properties - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + Serializes the message - The of the texture asset to download - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data + Serialized OSD - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + Deseializes the message - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data + Incoming data to deserialize - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + A message sent from the viewer to the simulator which + specifies that the user has changed current URL + of the specific media on a prim face - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - + - Cancel a texture request + New URL - The texture assets - + - Requests download of a mesh asset + Prim UUID where navigation occured - UUID of the mesh asset - Callback when the request completes - + - Lets TexturePipeline class fire the progress event + Face index - The texture ID currently being downloaded - the number of bytes transferred - the total number of bytes expected - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Serialize the object + + An containing the objects data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Deserialize the message + + An containing the data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Base class used for the ObjectMedia message - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Message used to retrive prim media data + - - Raised when the simulator responds sends + + + Prim UUID + - - Raised during upload completes + + + Requested operation, either GET or UPDATE + - - Raised during upload with progres update + + + Serialize object + + Serialized object as OSDMap - - Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files + + + Deserialize the message + + An containing the data - - Fired when a texture is in the process of being downloaded by the TexturePipeline class + + + Message used to update prim media data + - + - Callback used for various asset download requests + Prim UUID - Transfer information - Downloaded asset, null on fail - + - Callback used upon competition of baked texture upload + Array of media entries indexed by face number - Asset UUID of the newly uploaded baked texture - + - A callback that fires upon the completition of the RequestMesh call + Media version string - Was the download successfull - Resulting mesh or null on problems - - Xfer data + + + Serialize object + + Serialized object as OSDMap - - Upload data + + + Deserialize the message + + An containing the data - - Filename used on the simulator + + + Message used to update prim media data + - - Filename used by the client + + + Prim UUID + - - UUID of the image that is in progress + + + Array of media entries indexed by face number + - - Number of bytes received so far + + + Requested operation, either GET or UPDATE + - - Image size in bytes + + + Serialize object + + Serialized object as OSDMap - + - Static pre-defined animations available to all agents + Deserialize the message + An containing the data - - Agent with afraid expression on face + + + Message for setting or getting per face MediaEntry + - - Agent aiming a bazooka (right handed) + + The request or response details block - - Agent aiming a bow (left handed) + + + Serialize the object + + An containing the objects data - - Agent aiming a hand gun (right handed) + + + Deserialize the message + + An containing the data - - Agent aiming a rifle (right handed) + + Details about object resource usage - - Agent with angry expression on face + + Object UUID - - Agent hunched over (away) + + Object name - - Agent doing a backflip + + Indicates if object is group owned - - Agent laughing while holding belly + + Locatio of the object - - Agent blowing a kiss + + Object owner - - Agent with bored expression on face + + Resource usage, keys are resource names, values are resource usage for that specific resource - - Agent bowing to audience + + + Deserializes object from OSD + + An containing the data - - Agent brushing himself/herself off + + + Makes an instance based on deserialized data + + + serialized data + Instance containg deserialized data - - Agent in busy mode + + Details about parcel resource usage - - Agent clapping hands + + Parcel UUID - - Agent doing a curtsey bow + + Parcel local ID - - Agent crouching + + Parcel name - - Agent crouching while walking + + Indicates if parcel is group owned - - Agent crying + + Parcel owner - - Agent unanimated with arms out (e.g. setting appearance) + + Array of containing per object resource usage - - Agent re-animated after set appearance finished + + + Deserializes object from OSD + + An containing the data - - Agent dancing + + + Makes an instance based on deserialized data + + + serialized data + Instance containg deserialized data - - Agent dancing + + Resource usage base class, both agent and parcel resource + usage contains summary information - - Agent dancing + + Summary of available resources, keys are resource names, + values are resource usage for that specific resource - - Agent dancing + + Summary resource usage, keys are resource names, + values are resource usage for that specific resource - - Agent dancing + + + Serializes object + + + serialized data - - Agent dancing + + + Deserializes object from OSD + + An containing the data - - Agent dancing + + Agent resource usage - - Agent dancing + + Per attachment point object resource usage - - Agent on ground unanimated + + + Deserializes object from OSD + + An containing the data - - Agent boozing it up + + + Makes an instance based on deserialized data + + + serialized data + Instance containg deserialized data - - Agent with embarassed expression on face + + + Detects which class handles deserialization of this message + + An containing the data + Object capable of decoding this message - - Agent with afraid expression on face + + Request message for parcel resource usage - - Agent with angry expression on face + + UUID of the parel to request resource usage info - - Agent with bored expression on face + + + Serializes object + + + serialized data - - Agent crying + + + Deserializes object from OSD + + An containing the data - - Agent showing disdain (dislike) for something + + Response message for parcel resource usage - - Agent with embarassed expression on face + + URL where parcel resource usage details can be retrieved - - Agent with frowning expression on face + + URL where parcel resource usage summary can be retrieved - - Agent with kissy face + + + Serializes object + + + serialized data - - Agent expressing laughgter + + + Deserializes object from OSD + + An containing the data - - Agent with open mouth + + + Detects which class handles deserialization of this message + + An containing the data + Object capable of decoding this message - - Agent with repulsed expression on face + + Parcel resource usage - - Agent expressing sadness + + Array of containing per percal resource usage - - Agent shrugging shoulders + + + Deserializes object from OSD + + An containing the data - - Agent with a smile + + + Reply to request for bunch if display names + - - Agent expressing surprise + + Current display name - - Agent sticking tongue out + + Following UUIDs failed to return a valid display name - - Agent with big toothy smile + + + Serializes the message + + OSD containting the messaage - - Agent winking + + + Message sent when requesting change of the display name + - - Agent expressing worry + + Current display name - - Agent falling down + + Desired new display name - - Agent walking (feminine version) + + + Serializes the message + + OSD containting the messaage - - Agent wagging finger (disapproval) + + + Message recieved in response to request to change display name + - - I'm not sure I want to know + + New display name - - Agent in superman position + + String message indicating the result of the operation - - Agent in superman position + + Numerical code of the result, 200 indicates success - - Agent greeting another + + + Serializes the message + + OSD containting the messaage - - Agent holding bazooka (right handed) + + + Message recieved when someone nearby changes their display name + - - Agent holding a bow (left handed) + + Previous display name, empty string if default - - Agent holding a handgun (right handed) + + New display name - - Agent holding a rifle (right handed) + + + Serializes the message + + OSD containting the messaage - - Agent throwing an object (right handed) + + + Return a decoded capabilities message as a strongly typed object + + A string containing the name of the capabilities message key + An to decode + A strongly typed object containing the decoded information from the capabilities message, or null + if no existing Message object exists for the specified event - - Agent in static hover + + + Permissions for control of object media + - - Agent hovering downward + + + Style of cotrols that shold be displayed to the user + - - Agent hovering upward + + + Class representing media data for a single face + - - Agent being impatient + + Is display of the alternative image enabled - - Agent jumping + + Should media auto loop - - Agent jumping with fervor + + Shoule media be auto played - - Agent point to lips then rear end + + Auto scale media to prim face - - Agent landing from jump, finished flight, etc + + Should viewer automatically zoom in on the face when clicked - - Agent laughing + + Should viewer interpret first click as interaction with the media + or when false should the first click be treated as zoom in commadn - - Agent landing from jump, finished flight, etc + + Style of controls viewer should display when + viewer media on this face - - Agent sitting on a motorcycle + + Starting URL for the media - - + + Currently navigated URL - - Agent moving head side to side + + Media height in pixes - - Agent moving head side to side with unhappy expression + + Media width in pixels - - Agent taunting another + + Who can controls the media - - + + Who can interact with the media - - Agent giving peace sign + + Is URL whitelist enabled - - Agent pointing at self + + Array of URLs that are whitelisted - - Agent pointing at another + + + Serialize to OSD + + OSDMap with the serialized data - - Agent preparing for jump (bending knees) + + + Deserialize from OSD data + + Serialized OSD data + Deserialized object - - Agent punching with left hand + + + Particle system specific enumerators, flags and methods. + - - Agent punching with right hand + + + Default constructor + - - Agent acting repulsed + + + Complete structure for the particle system + - - Agent trying to be Chuck Norris + + + Decodes a byte[] array into a ParticleSystem Object + + ParticleSystem object + Start position for BitPacker - - Rocks, Paper, Scissors 1, 2, 3 + + + Particle source pattern + - - Agent with hand flat over other hand + + None - - Agent with fist over other hand + + Drop particles from source position with no force - - Agent with two fingers spread over other hand + + "Explode" particles in all directions - - Agent running + + Particles shoot across a 2D area - - Agent appearing sad + + Particles shoot across a 3D Cone - - Agent saluting + + Inverse of AngleCone (shoot particles everywhere except the 3D cone defined - - Agent shooting bow (left handed) + + + Particle Data Flags + - - Agent cupping mouth as if shouting + + None - - Agent shrugging shoulders + + Interpolate color and alpha from start to end - - Agent in sit position + + Interpolate scale from start to end - - Agent in sit position (feminine) + + Bounce particles off particle sources Z height - - Agent in sit position (generic) + + velocity of particles is dampened toward the simulators wind - - Agent sitting on ground + + Particles follow the source - - Agent sitting on ground + + Particles point towards the direction of source's velocity - - + + Target of the particles - - Agent sleeping on side + + Particles are sent in a straight line - - Agent smoking + + Particles emit a glow - - Agent inhaling smoke + + used for point/grab/touch - - + + + Particle Flags Enum + - - Agent taking a picture + + None - - Agent standing + + Acceleration and velocity for particles are + relative to the object rotation - - Agent standing up + + Particles use new 'correct' angle parameters - - Agent standing + + Particle Flags + There appears to be more data packed in to this area + for many particle systems. It doesn't appear to be flag values + and serialization breaks unless there is a flag for every + possible bit so it is left as an unsigned integer - - Agent standing + + + pattern of particles - - Agent standing + + A representing the maximimum age (in seconds) particle will be displayed + Maximum value is 30 seconds - - Agent standing + + A representing the number of seconds, + from when the particle source comes into view, + or the particle system's creation, that the object will emits particles; + after this time period no more particles are emitted - - Agent stretching + + A in radians that specifies where particles will not be created + + + A in radians that specifies where particles will be created - - Agent in stride (fast walk) + + A representing the number of seconds between burts. - - Agent surfing + + A representing the number of meters + around the center of the source where particles will be created. - - Agent acting surprised + + A representing in seconds, the minimum speed between bursts of new particles + being emitted - - Agent striking with a sword + + A representing in seconds the maximum speed of new particles being emitted. - - Agent talking (lips moving) + + A representing the maximum number of particles emitted per burst - - Agent throwing a tantrum + + A which represents the velocity (speed) from the source which particles are emitted - - Agent throwing an object (right handed) + + A which represents the Acceleration from the source which particles are emitted - - Agent trying on a shirt + + The Key of the texture displayed on the particle - - Agent turning to the left + + The Key of the specified target object or avatar particles will follow - - Agent turning to the right + + Flags of particle from - - Agent typing + + Max Age particle system will emit particles for - - Agent walking + + The the particle has at the beginning of its lifecycle - - Agent whispering + + The the particle has at the ending of its lifecycle - - Agent whispering with fingers in mouth + + A that represents the starting X size of the particle + Minimum value is 0, maximum value is 4 - - Agent winking + + A that represents the starting Y size of the particle + Minimum value is 0, maximum value is 4 - - Agent winking + + A that represents the ending X size of the particle + Minimum value is 0, maximum value is 4 - - Agent worried + + A that represents the ending Y size of the particle + Minimum value is 0, maximum value is 4 - - Agent nodding yes + + + Generate byte[] array from particle data + + Byte array - - Agent nodding yes with happy face + + + Parameters used to construct a visual representation of a primitive + - - Agent floating with legs and arms crossed + + + - + - A dictionary containing all pre-defined animations - A dictionary containing the pre-defined animations, - where the key is the animations ID, and the value is a string - containing a name to identify the purpose of the animation - + - Level of Detail mesh - + - A linkset asset, containing a parent primitive and zero or more children - - Initializes a new instance of an AssetPrim object + + + - + - Initializes a new instance of an AssetPrim object - A unique specific to this asset - A byte array containing the raw asset data - + - - + - - - - Override the base classes AssetType + + + - + - Only used internally for XML serialization/deserialization - + - The deserialized form of a single primitive in a linkset asset - + - - - The event subscribers, null of no subscribers + + + - - Raises the AttachedSound Event - A AttachedSoundEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the AttachedSoundGainChange Event - A AttachedSoundGainChangeEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the SoundTrigger Event - A SoundTriggerEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + Attachment point to an avatar - - Raises the PreloadSound Event - A PreloadSoundEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - + - Construct a new instance of the SoundManager class, used for playing and receiving - sound assets - A reference to the current GridClient instance - + - Plays a sound in the current region at full volume from avatar position - UUID of the sound to be played - + - Plays a sound in the current region at full volume + Calculdates hash code for prim construction data - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. + The has - + - Plays a sound in the current region + Information on the flexible properties of a primitive - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - + - Plays a sound in the specified sim + Default constructor - UUID of the sound to be played. - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - + - Play a sound asset - UUID of the sound to be played. - handle id for the sim to be played in. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 + + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Raised when the simulator sends us data containing - sound + + + - - Raised when the simulator sends us data containing - ... + + + - - Raised when the simulator sends us data containing - ... + + + + + + + + + + + - - Raised when the simulator sends us data containing - ... + + + Information on the light properties of a primitive + - - Provides data for the event - The event occurs when the simulator sends - the sound data which emits from an agents attachment - - The following code example shows the process to subscribe to the event - and a stub to handle the data passed from the simulator - - // Subscribe to the AttachedSound event - Client.Sound.AttachedSound += Sound_AttachedSound; - - // process the data raised in the event here - private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) - { - // ... Process AttachedSoundEventArgs here ... - } - - + + + Default constructor + - + - Construct a new instance of the SoundTriggerEventArgs class - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The volume level - The + + + + - - Simulator where the event originated + + + - - Get the sound asset id + + + - - Get the ID of the owner + + + - - Get the ID of the Object + + + - - Get the volume level + + + - - Get the + + + + + - - Provides data for the event - The event occurs when an attached sound - changes its volume level + + + + + - + - Construct a new instance of the AttachedSoundGainChangedEventArgs class + Information on the sculpt properties of a sculpted primitive - Simulator where the event originated - The ID of the Object - The new volume level - - Simulator where the event originated + + + Default constructor + - - Get the ID of the Object + + + + + + + - - Get the volume level + + + Render inside out (inverts the normals). + - - Provides data for the event - The event occurs when the simulator forwards - a request made by yourself or another agent to play either an asset sound or a built in sound - - Requests to play sounds where the is not one of the built-in - will require sending a request to download the sound asset before it can be played - - - The following code example uses the , - and - properties to display some information on a sound request on the window. - - // subscribe to the event - Client.Sound.SoundTrigger += Sound_SoundTrigger; - - // play the pre-defined BELL_TING sound - Client.Sound.SendSoundTrigger(Sounds.BELL_TING); - - // handle the response data - private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) - { - Console.WriteLine("{0} played the sound {1} at volume {2}", - e.OwnerID, e.SoundID, e.Gain); - } - - + + + Render an X axis mirror of the sculpty. + - + - Construct a new instance of the SoundTriggerEventArgs class + Extended properties to describe an object - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The ID of the objects parent - The volume level - The regionhandle - The source position - - Simulator where the event originated + + + Default constructor + - - Get the sound asset id + + + - - Get the ID of the owner + + + - - Get the ID of the Object + + + - - Get the ID of the objects parent + + + - - Get the volume level + + + - - Get the regionhandle + + + - - Get the source position + + + - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - + + + - + - Construct a new instance of the PreloadSoundEventArgs class - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - - Simulator where the event originated + + + - - Get the sound asset id + + + - - Get the ID of the owner + + + - - Get the ID of the Object + + + - + - A Name Value pair with additional settings, used in the protocol - primarily to transmit avatar names and active group in object packets - - + + + - - + + + - - + + + - - + + + - - + + + - + - Constructor that takes all the fields as parameters - - - - - - + - Constructor that takes a single line from a NameValue field - - - Type of the value + + + - - Unknown + + + - - String value + + + Set the properties that are set in an ObjectPropertiesFamily packet + + + that has + been partially filled by an ObjectPropertiesFamily packet - - + + + Describes physics attributes of the prim + - - + + Primitive's local ID - - + + Density (1000 for normal density) - - + + Friction - - Deprecated + + Gravity multiplier (1 for normal gravity) - - String value, but designated as an asset + + Type of physics representation of this primitive in the simulator - - + + Restitution - + - + Creates PhysicsProperties from OSD + OSDMap with incoming data + Deserialized PhysicsProperties object - - - - - - - - - - - + + + Serializes PhysicsProperties to OSD + + OSDMap with serialized PhysicsProperties data - + - + Texture animation mode - - - - - + + Disable texture animation - - + + Enable texture animation - - + + Loop when animating textures - - + + Animate in reverse direction - - Describes tasks returned in LandStatReply + + Animate forward then reverse - - - Estate level administration and utilities - + + Slide texture smoothly instead of frame-stepping - - Textures for each of the four terrain height levels + + Rotate texture instead of using frames - - Upper/lower texture boundaries for each corner of the sim + + Scale texture instead of using frames - + - Constructor for EstateTools class + A single textured face. Don't instantiate this class yourself, use the + methods in TextureEntry - - - - The event subscribers. null if no subcribers - - Raises the TopCollidersReply event - A TopCollidersReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object + + + Contains the definition for individual faces + + + - - The event subscribers. null if no subcribers + + + - - Raises the TopScriptsReply event - A TopScriptsReplyEventArgs object containing the - data returned from the data server + + + - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + - - Raises the EstateUsersReply event - A EstateUsersReplyEventArgs object containing the - data returned from the data server + + + - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + - - Raises the EstateGroupsReply event - A EstateGroupsReplyEventArgs object containing the - data returned from the data server + + + - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + - - Raises the EstateManagersReply event - A EstateManagersReplyEventArgs object containing the - data returned from the data server + + In the future this will specify whether a webpage is + attached to this face - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + + + - - Raises the EstateBansReply event - A EstateBansReplyEventArgs object containing the - data returned from the data server + + + Represents all of the texturable faces for an object + + Grid objects have infinite faces, with each face + using the properties of the default face unless set otherwise. So if + you have a TextureEntry with a default texture uuid of X, and face 18 + has a texture UUID of Y, every face would be textured with X except for + face 18 that uses Y. In practice however, primitives utilize a maximum + of nine faces - - Thread sync lock object + + + Constructor that takes a default texture UUID + + Texture UUID to use as the default texture - - The event subscribers. null if no subcribers + + + Constructor that takes a TextureEntryFace for the + default face + + Face to use as the default face - - Raises the EstateCovenantReply event - A EstateCovenantReplyEventArgs object containing the - data returned from the data server + + + Constructor that creates the TextureEntry class from a byte array + + Byte array containing the TextureEntry field + Starting position of the TextureEntry field in + the byte array + Length of the TextureEntry field, in bytes - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + - - Raises the EstateUpdateInfoReply event - A EstateUpdateInfoReplyEventArgs object containing the - data returned from the data server + + + This will either create a new face if a custom face for the given + index is not defined, or return the custom face for that index if + it already exists + + The index number of the face to create or + retrieve + A TextureEntryFace containing all the properties for that + face - - Thread sync lock object + + + + + + + - + - Requests estate information such as top scripts and colliders - - - - + + - - Requests estate settings, including estate manager and access/ban lists + + + + + - - Requests the "Top Scripts" list for the current region + + + + + - - Requests the "Top Colliders" list for the current region + + + Controls the texture animation of a particular prim + - + - Set several estate specific configuration variables - The Height of the waterlevel over the entire estate. Defaults to 20 - The maximum height change allowed above the baked terrain. Defaults to 4 - The minimum height change allowed below the baked terrain. Defaults to -4 - true to use - if True forces the sun position to the position in SunPosition - The current position of the sun on the estate, or when FixedSun is true the static position - the sun will remain. 6.0 = Sunrise, 30.0 = Sunset + + + + - + - Request return of objects owned by specified avatar - The Agents owning the primitives to return - specify the coverage and type of objects to be included in the return - true to perform return on entire estate - - - - + + + - + - Used for setting and retrieving various estate panel settings - EstateOwnerMessage Method field - List of parameters to include - + - Kick an avatar from an estate - Key of Agent to remove - + - Ban an avatar from an estate - Key of Agent to remove - Ban user from this estate and all others owned by the estate owner + - - Unban an avatar from an estate - Key of Agent to remove - /// Unban user from this estate and all others owned by the estate owner + + + - + - Send a message dialog to everyone in an entire estate - Message to send all users in the estate - + - Send a message dialog to everyone in a simulator - Message to send all users in the simulator + + - + - Send an avatar back to their home location + Current version of the media data for the prim - Key of avatar to send home - + - Begin the region restart process + Array of media entries indexed by face number - + - Cancels a region restart - - Estate panel "Region" tab settings - - - Estate panel "Debug" tab settings - - - Used for setting the region's terrain textures for its four height levels - - - - - - - Used for setting sim terrain texture heights - - - Requests the estate covenant - - + - Upload a terrain RAW file - A byte array containing the encoded terrain data - The name of the file being uploaded - The Id of the transfer request - + - Teleports all users home in current Estate - + - Remove estate manager - Key of Agent to Remove - removes manager to this estate and all others owned by the estate owner + - + - Add estate manager - Key of Agent to Add - Add agent as manager to this estate and all others owned by the estate owner + - + - Add's an agent to the estate Allowed list - Key of Agent to Add - Add agent as an allowed reisdent to All estates if true + - + - Removes an agent from the estate Allowed list - Key of Agent to Remove - Removes agent as an allowed reisdent from All estates if true - - - - - Add's a group to the estate Allowed list - Key of Group to Add - Add Group as an allowed group to All estates if true - - - - - Removes a group from the estate Allowed list - Key of Group to Remove - Removes Group as an allowed Group from All estates if true - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. + - - Raised when the data server responds to a request. + + Foliage type for this primitive. Only applicable if this + primitive is foliage - - Raised when the data server responds to a request. + + Unknown - - Raised when the data server responds to a request. + + + - - Used in the ReportType field of a LandStatRequest + + + - - Used by EstateOwnerMessage packets + + + - - Used by EstateOwnerMessage packets + + + - + - - - No flags set + + + - - Only return targets scripted objects + + + - - Only return targets objects if on others land + + + - - Returns target's scripted objects and objects on other parcels + + + - - Ground texture settings for each corner of the region + + + - - Used by GroundTextureHeightSettings + + + - - The high and low texture thresholds for each corner of the sim + + + - - Raised on LandStatReply when the report type is for "top colliders" + + Identifies the owner if audio or a particle system is + active - - Construct a new instance of the TopCollidersReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply + + + - + - The number of returned items in LandStatReply - + - A Dictionary of Object UUIDs to tasks returned in LandStatReply - - Raised on LandStatReply when the report type is for "top Scripts" + + + - - Construct a new instance of the TopScriptsReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply + + + - + - The number of scripts returned in LandStatReply - + - A Dictionary of Object UUIDs to tasks returned in LandStatReply - - Returned, along with other info, upon a successful .RequestInfo() + + + - - Construct a new instance of the EstateBansReplyEventArgs class - The estate's identifier on the grid - The number of returned items in LandStatReply - User UUIDs banned + + + - + - The identifier of the estate - + - The number of returned itmes - + - List of UUIDs of Banned Users - - Returned, along with other info, upon a successful .RequestInfo() + + Objects physics engine propertis - - Construct a new instance of the EstateUsersReplyEventArgs class - The estate's identifier on the grid - The number of users - Allowed users UUIDs + + Extra data about primitive - + + Indicates if prim is attached to an avatar + + - The identifier of the estate - + - The number of returned items - + + Uses basic heuristics to estimate the primitive shape + + - List of UUIDs of Allowed Users + Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters in to signed eight bit values + Floating point parameter to pack + Signed eight bit value containing the packed parameter - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateGroupsReplyEventArgs class - The estate's identifier on the grid - The number of Groups - Allowed Groups UUIDs + + + Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters from signed eight bit integers to floating point values + + Signed eight bit value to unpack + Unpacked floating point value - + - The identifier of the estate + The type of bump-mapping applied to a face - + - The number of returned items - + - List of UUIDs of Allowed Groups - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateManagersReplyEventArgs class - The estate's identifier on the grid - The number of Managers - Managers UUIDs - - + - The identifier of the estate - + - The number of returned items - + - List of UUIDs of the Estate's Managers - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateCovenantReplyEventArgs class - The Covenant ID - The timestamp - The estate's name - The Estate Owner's ID (can be a GroupID) - - + - The Covenant - + - The timestamp - + - The Estate name - + - The Estate Owner's ID (can be a GroupID) - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateUpdateInfoReplyEventArgs class - The estate's name - The Estate Owners ID (can be a GroupID) - The estate's identifier on the grid - - - + - The estate's name - + - The Estate Owner's ID (can be a GroupID) - + - The identifier of the estate on the grid - - - - + - Holds group information for Avatars such as those you might find in a profile - - true of Avatar accepts group notices - - - Groups Key - - - Texture Key for groups insignia - - - Name of the group - - - Powers avatar has in the group - - - Avatars Currently selected title - - - true of Avatar has chosen to list this in their profile - - + - Contains an animation currently being played by an agent - - The ID of the animation asset - - - A number to indicate start order of currently playing animations - On Linden Grids this number is unique per region, with OpenSim it is per client - - - + + + - + - Holds group information on an individual profile pick - + - Retrieve friend status notifications, and retrieve avatar names and - profiles - - The event subscribers, null of no subscribers + + + - - Raises the AvatarAnimation Event - An AvatarAnimationEventArgs object containing - the data sent from the simulator + + + The level of shininess applied to a face + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the AvatarAppearance Event - A AvatarAppearanceEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + The texture mapping style used for a face + - - Raises the UUIDNameReply Event - A UUIDNameReplyEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the AvatarInterestsReply Event - A AvatarInterestsReplyEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + Flags in the TextureEntry block that describe which properties are + set + - - The event subscribers, null of no subscribers + + + - - Raises the AvatarPropertiesReply Event - A AvatarPropertiesReplyEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the AvatarGroupsReply Event - A AvatarGroupsReplyEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the AvatarPickerReply Event - A AvatarPickerReplyEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the ViewerEffectPointAt Event - A ViewerEffectPointAtEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + Level of Detail mesh + - - Raises the ViewerEffectLookAt Event - A ViewerEffectLookAtEventArgs object containing - the data sent from the simulator + + + Contains all mesh faces that belong to a prim + - - Thread sync lock object + + List of primitive faces - - The event subscribers, null of no subscribers + + + Decodes mesh asset into FacetedMesh + + Mesh primitive + Asset retrieved from the asset server + Level of detail + Resulting decoded FacetedMesh + True if mesh asset decoding was successful - - Raises the ViewerEffect Event - A ViewerEffectEventArgs object containing - the data sent from the simulator + + + Constructor for default logging settings + - - Thread sync lock object + + Enable logging - - The event subscribers, null of no subscribers + + The folder where any logs will be created - - Raises the AvatarPicksReply Event - A AvatarPicksReplyEventArgs object containing - the data sent from the simulator + + This will be prepended to beginning of each log file - - Thread sync lock object + + The suffix or extension to be appended to each log file - - The event subscribers, null of no subscribers + + + 0: NONE - No logging + 1: ERROR - Log errors only + 2: WARNING - Log errors and warnings + 3: INFO - Log errors, warnings and info + 4: DEBUG - Log errors, warnings, info and debug + - - Raises the PickInfoReply Event - A PickInfoReplyEventArgs object containing - the data sent from the simulator + + Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter + + + Event for most mundane request reposnses. + - - Thread sync lock object + + Response to Connector.Create request - - The event subscribers, null of no subscribers + + Response to Aux.GetCaptureDevices request - - Raises the AvatarClassifiedReply Event - A AvatarClassifiedReplyEventArgs object containing - the data sent from the simulator + + Response to Aux.GetRenderDevices request - - Thread sync lock object + + Audio Properties Events are sent after audio capture is started. + These events are used to display a microphone VU meter - - The event subscribers, null of no subscribers + + Response to Account.Login request - - Raises the ClassifiedInfoReply Event - A ClassifiedInfoReplyEventArgs object containing - the data sent from the simulator + + This event message is sent whenever the login state of the + particular Account has transitioned from one value to another - - Thread sync lock object + + + List of audio input devices + - + - Represents other avatars + List of audio output devices - - - Tracks the specified avatar on your map - Avatar ID to track + + + Set audio test mode + - + - Request a single avatar name + This is used to login a specific user account(s). It may only be called after + Connector initialization has completed successfully - The avatar key to retrieve a name for + Handle returned from successful Connector �create� request + User's account name + User's account password + Values may be �AutoAnswer� or �VerifyAnswer� + "" + This is an integer that specifies how often + the daemon will send participant property events while in a channel. If this is not set + the default will be �on state change�, which means that the events will be sent when + the participant starts talking, stops talking, is muted, is unmuted. + The valid values are: + 0 � Never + 5 � 10 times per second + 10 � 5 times per second + 50 � 1 time per second + 100 � on participant state change (this is the default) + false + + - + - Request a list of avatar names + This is used to logout a user session. It should only be called with a valid AccountHandle. - The avatar keys to retrieve names for + Handle returned from successful Connector �login� request + + - + - Start a request for Avatar Properties + This is used to get a list of audio devices that can be used for capture (input) of voice. - + + - + - Search for an avatar (first name, last name) + This is used to get a list of audio devices that can be used for render (playback) of voice. - The name to search for - An ID to associate with this query - + - Start a request for Avatar Picks + This command is used to select the render device. - UUID of the avatar + The name of the device as returned by the Aux.GetRenderDevices command. - + - Start a request for Avatar Classifieds + This command is used to select the capture device. - UUID of the avatar + The name of the device as returned by the Aux.GetCaptureDevices command. - + - Start a request for details of a specific profile pick + This command is used to start the audio capture process which will cause + AuxAudioProperty Events to be raised. These events can be used to display a + microphone VU meter for the currently selected capture device. This command + should not be issued if the user is on a call. - UUID of the avatar - UUID of the profile pick + (unused but required) + + - + - Start a request for details of a specific profile classified + This command is used to stop the audio capture process. - UUID of the avatar - UUID of the profile classified + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + This command is used to set the mic volume while in the audio tuning process. + Once an acceptable mic level is attained, the application must issue a + connector set mic volume command to have that level be used while on voice + calls. + + the microphone volume (-100 to 100 inclusive) + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + This command is used to set the speaker volume while in the audio tuning + process. Once an acceptable speaker level is attained, the application must + issue a connector set speaker volume command to have that level be used while + on voice calls. + + the speaker volume (-100 to 100 inclusive) + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + This is used to initialize and stop the Connector as a whole. The Connector + Create call must be completed successfully before any other requests are made + (typically during application initialization). The shutdown should be called + when the application is shutting down to gracefully release resources + + A string value indicting the Application name + URL for the management server + LoggingSettings + + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Shutdown Connector -- Should be called when the application is shutting down + to gracefully release resources + + Handle returned from successful Connector �create� request - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Mute or unmute the microphone + + Handle returned from successful Connector �create� request + true (mute) or false (unmute) - + - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. + Mute or unmute the speaker - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet + Handle returned from successful Connector �create� request + true (mute) or false (unmute) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Set microphone volume + + Handle returned from successful Connector �create� request + The level of the audio, a number between -100 and 100 where + 0 represents �normal� speaking volume - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Set local speaker volume + + Handle returned from successful Connector �create� request + The level of the audio, a number between -100 and 100 where + 0 represents �normal� speaking volume - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Start up the Voice service. + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Handle miscellaneous request status + + + + + + ///If something goes wrong, we log it. + + + Cleanup oject resources + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Request voice cap when changing regions + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Handle a change in session state + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Close a voice session + + + - - Raised when the simulator sends us data containing - an agents animation playlist + + + Locate a Session context from its handle + + Creates the session context if it does not exist. - - Raised when the simulator sends us data containing - the appearance information for an agent + + + Handle completion of main voice cap request. + + + + + + + - - Raised when the simulator sends us data containing - agent names/id values + + + Daemon has started so connect to it. + - - Raised when the simulator sends us data containing - the interests listed in an agents profile + + + The daemon TCP connection is open. + - - Raised when the simulator sends us data containing - profile property information for an agent + + + Handle creation of the Connector. + - - Raised when the simulator sends us data containing - the group membership an agent is a member of + + + Handle response to audio output device query + - - Raised when the simulator sends us data containing - name/id pair + + + Handle response to audio input device query + - - Raised when the simulator sends us data containing - the objects and effect when an agent is pointing at + + + Set voice channel for new parcel + - - Raised when the simulator sends us data containing - the objects and effect when an agent is looking at + + + Request info from a parcel capability Uri. + + + - - Raised when the simulator sends us data containing - an agents viewer effect information + + + Receive parcel voice cap + + + + + + + - - Raised when the simulator sends us data containing - the top picks from an agents profile + + + Tell Vivox where we are standing + + This has to be called when we move or turn. - - Raised when the simulator sends us data containing - the Pick details + + + Start and stop updating out position. + + + - - Raised when the simulator sends us data containing - the classified ads an agent has placed + + + Starts a thread that keeps the daemon running + + + + + - - Raised when the simulator sends us data containing - the details of a classified ad + + + Stops the daemon and the thread keeping it running + - - Provides data for the event - The event occurs when the simulator sends - the animation playlist for an agent - - The following code example uses the and - properties to display the animation playlist of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; - - private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) - { - // create a dictionary of "known" animations from the Animations class using System.Reflection - Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); - Type type = typeof(Animations); - System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); - foreach (System.Reflection.FieldInfo field in fields) - { - systemAnimations.Add((UUID)field.GetValue(type), field.Name); - } - - // find out which animations being played are known animations and which are assets - foreach (Animation animation in e.Animations) - { - if (systemAnimations.ContainsKey(animation.AnimationID)) - { - Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, - systemAnimations[animation.AnimationID], animation.AnimationSequence); - } - else - { - Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, - animation.AnimationID, animation.AnimationSequence); - } - } - } - - + + + + + + + + + - + - Construct a new instance of the AvatarAnimationEventArgs class + Create a Session + Sessions typically represent a connection to a media session with one or more + participants. This is used to generate an �outbound� call to another user or + channel. The specifics depend on the media types involved. A session handle is + required to control the local user functions within the session (or remote + users if the current account has rights to do so). Currently creating a + session automatically connects to the audio media, there is no need to call + Session.Connect at this time, this is reserved for future use. - The ID of the agent - The list of animations to start + Handle returned from successful Connector �create� request + This is the URI of the terminating point of the session (ie who/what is being called) + This is the display name of the entity being called (user or channel) + Only needs to be supplied when the target URI is password protected + This indicates the format of the password as passed in. This can either be + �ClearText� or �SHA1UserName�. If this element does not exist, it is assumed to be �ClearText�. If it is + �SHA1UserName�, the password as passed in is the SHA1 hash of the password and username concatenated together, + then base64 encoded, with the final �=� character stripped off. + + + + + + - - Get the ID of the agent + + + Used to accept a call + + SessionHandle such as received from SessionNewEvent + "default" + + - - Get the list of animations to start + + + This command is used to start the audio render process, which will then play + the passed in file through the selected audio render device. This command + should not be issued if the user is on a call. + + The fully qualified path to the sound file. + True if the file is to be played continuously and false if it is should be played once. + + - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - + + + This command is used to stop the audio render process. + + The fully qualified path to the sound file issued in the start render command. + + - + - Construct a new instance of the AvatarAppearanceEventArgs class + This is used to �end� an established session (i.e. hang-up or disconnect). - The simulator request was from - The ID of the agent - true of the agent is a trial account - The default agent texture - The agents appearance layer textures - The for the agent + Handle returned from successful Session �create� request or a SessionNewEvent + + - - Get the Simulator this request is from of the agent + + + Set the combined speaking and listening position in 3D space. + + Handle returned from successful Session �create� request or a SessionNewEvent + Speaking position + Listening position + + - - Get the ID of the agent + + + Set User Volume for a particular user. Does not affect how other users hear that user. + + Handle returned from successful Session �create� request or a SessionNewEvent + + + The level of the audio, a number between -100 and 100 where 0 represents �normal� speaking volume + + - - true if the agent is a trial account + + Positional vector of the users position - - Get the default agent texture + + Velocity vector of the position - - Get the agents appearance layer textures + + At Orientation (X axis) of the position - - Get the for the agent + + Up Orientation (Y axis) of the position - - Represents the interests from the profile of an agent + + Left Orientation (Z axis) of the position - - Get the ID of the agent + + + Extract the avatar UUID encoded in a SIP URI + + + + + - - The properties of an agent + + + Represents a single Voice Session to the Vivox service. + - - Get the ID of the agent + + + Close this session. + - - Get the ID of the agent + + + Look up an existing Participants in this session + + + + + - - Get the ID of the agent + + + + + + + - - Get the ID of the avatar + + + A callback fired to indicate the status or final state of the requested texture. For progressive + downloads this will fire each time new asset data is returned from the simulator. + + The indicating either Progress for textures not fully downloaded, + or the final result of the request after it has been processed through the TexturePipeline + The object containing the Assets ID, raw data + and other information. For progressive rendering the will contain + the data from the beginning of the file. For failed, aborted and timed out requests it will contain + an empty byte array.
diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 523f5a7..7e742e2 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.XML b/bin/OpenMetaverseTypes.XML index befc8d4..ce1298e 100644 --- a/bin/OpenMetaverseTypes.XML +++ b/bin/OpenMetaverseTypes.XML @@ -1,131 +1,239 @@ - OpenMetaverseTypes + /home/root/libomv-0.9.1-source/bin/OpenMetaverseTypes - + - A three-dimensional vector with doubleing-point values + Same as Queue except Dequeue function blocks until there is an object to return. + Note: This class does not need to be synchronized - - X value + + + Create new BlockingQueue. + + The System.Collections.ICollection to copy elements from - - Y value + + + Create new BlockingQueue. + + The initial number of elements that the queue can contain - - Z value + + + Create new BlockingQueue. + - + - Constructor, builds a vector from a byte array + Gets flag indicating if queue has been closed. - Byte array containing three eight-byte doubles - Beginning position in the byte array - + - Test if this vector is equal to another vector, within a given - tolerance range + BlockingQueue Destructor (Close queue, resume any waiting thread). - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false - + - IComparable.CompareTo implementation + Remove all objects from the Queue. - + - Test if this vector is composed of all finite numbers + Remove all objects from the Queue, resume all dequeue threads. - + - Builds a vector from a byte array + Removes and returns the object at the beginning of the Queue. - Byte array containing a 24 byte vector - Beginning position in the byte array + Object in queue. - + - Returns the raw bytes for this vector + Removes and returns the object at the beginning of the Queue. - A 24 byte array containing X, Y, and Z + time to wait before returning + Object in queue. - + - Writes the raw bytes for this vector to a byte array + Removes and returns the object at the beginning of the Queue. - Destination byte array - Position in the destination array to start - writing. Must be at least 24 bytes before the end of the array + time to wait before returning (in milliseconds) + Object in queue. - + - Parse a vector from a string + Adds an object to the end of the Queue - A string representation of a 3D vector, enclosed - in arrow brackets and separated by commas + Object to put in queue - + - Interpolates between two vectors using a cubic equation + Open Queue. - + - Get a formatted string representation of the vector + Copy constructor - A string representation of the vector + Circular queue to copy - + - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only + An 8-bit color structure including an alpha channel - Raw string representation of the vector - + - Cross product between two vectors + + + + + + + + - - A vector with a value of 0,0,0 + + + Builds a color from a byte array + + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 - - A vector with a value of 1,1,1 + + + Returns the raw bytes for this vector + + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + True if the alpha value is inverted in + addition to whatever the inverted parameter is. Setting inverted true + and alphaInverted true will flip the alpha value back to non-inverted, + but keep the other color bytes inverted + A 16 byte array containing R, G, B, and A - - A unit vector facing forward (X axis), value of 1,0,0 + + + Copy constructor + + Color to copy - - A unit vector facing left (Y axis), value of 0,1,0 + + Red - - A unit vector facing up (Z axis), value of 0,0,1 + + Green + + + Blue + + + Alpha + + + A Color4 with zero RGB values and fully opaque (alpha 1.0) + + + A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) + + + + IComparable.CompareTo implementation + + Sorting ends up like this: |--Grayscale--||--Color--|. + Alpha is only used when the colors are otherwise equivalent + + + + Builds a color from a byte array + + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + True if the alpha value is inverted in + addition to whatever the inverted parameter is. Setting inverted true + and alphaInverted true will flip the alpha value back to non-inverted, + but keep the other color bytes inverted + + + + Writes the raw bytes for this color to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array + + + + Serializes this color into four bytes in a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 4 bytes before the end of the array + True to invert the output (1.0 becomes 0 + instead of 255) + + + + Writes the raw bytes for this color to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array + + + + Ensures that values are in range 0-1 + + + + + Create an RGB color from a hue, saturation, value combination + + Hue + Saturation + Value + An fully opaque RGB color (alpha is 1.0) + + + + Performs linear interpolation between two colors + + Color to start at + Color to end at + Amount to interpolate + The interpolated color Attribute class that allows extra attributes to be attached to ENUMs - - Text used when presenting ENUM to user - Default initializer Text used when presenting ENUM to user + + Text used when presenting ENUM to user + The different types of grid assets @@ -147,11 +255,11 @@ Link to a location in world - Collection of textures and parameters that can be + Collection of textures and parameters that can be worn by an avatar - Primitive that can contain textures, sounds, + Primitive that can contain textures, sounds, scripts and more @@ -259,34 +367,42 @@ Notecard - + + Folder - + + an LSL Script - + + - + + - + + - + + - + + - + + @@ -355,2171 +471,2071 @@ Tattoo + + Physics + Invalid wearable asset - + - A hierarchical token bucket for bandwidth throttling. See - http://en.wikipedia.org/wiki/Token_bucket for more information + Identifier code for primitive types - - Parent bucket to this bucket, or null if this is a root - bucket + + None - - Size of the bucket in bytes. If zero, the bucket has - infinite capacity + + A Primitive - - Rate that the bucket fills, in bytes per millisecond. If - zero, the bucket always remains full + + A Avatar - - Number of tokens currently in the bucket + + Linden grass - - Time of the last drip, in system ticks + + Linden tree - - - Default constructor - - Parent bucket if this is a child bucket, or - null if this is a root bucket - Maximum size of the bucket in bytes, or - zero if this bucket has no maximum capacity - Rate that the bucket fills, in bytes per - second. If zero, the bucket always remains full + + A primitive that acts as the source for a particle stream - + + A Linden tree + + - Remove a given number of tokens from the bucket + Primary parameters for primitives such as Physics Enabled or Phantom - Number of tokens to remove from the bucket - True if the requested number of tokens were removed from - the bucket, otherwise false - + + Deprecated + + + Whether physics are enabled for this object + + - Remove a given number of tokens from the bucket - Number of tokens to remove from the bucket - True if tokens were added to the bucket - during this call, otherwise false - True if the requested number of tokens were removed from - the bucket, otherwise false - + - Add tokens to the bucket over time. The number of tokens added each - call depends on the length of time that has passed since the last - call to Drip - True if tokens were added to the bucket, otherwise false - + - The parent bucket of this bucket, or null if this bucket has no - parent. The parent bucket will limit the aggregate bandwidth of all - of its children buckets - + - Maximum burst rate in bytes per second. This is the maximum number - of tokens that can accumulate in the bucket at any one time - + - The speed limit of this bucket in bytes per second. This is the - number of tokens that are added to the bucket per second - Tokens are added to the bucket any time - is called, at the granularity of - the system tick interval (typically around 15-22ms) - + - The number of bytes that can be sent at this moment. This is the - current number of tokens in the bucket - If this bucket has a parent bucket that does not have - enough tokens for a request, will - return false regardless of the content of this bucket - + + Whether this object contains an active touch script + + - A thread-safe lockless queue that supports multiple readers and - multiple writers - - Queue head + + Whether this object can receive payments - - Queue tail + + Whether this object is phantom (no collisions) - - Queue item count + + + - + - Constructor - + - Enqueue an item - Item to enqeue - + - Try to dequeue an item - Dequeued item if the dequeue was successful - True if an item was successfully deqeued, otherwise false - - Gets the current number of items in the queue. Since this - is a lockless collection this value should be treated as a close - estimate + + Deprecated - + - Provides a node container for data in a singly linked list - - Pointer to the next node in list + + + - - The data contained by the node + + + - + + Deprecated + + - Constructor - + - Constructor - + - An 8-bit color structure including an alpha channel - - Red + + + - - Green + + Server flag, will not be sent to clients. Specifies that + the object is destroyed when it touches a simulator edge - - Blue + + Server flag, will not be sent to clients. Specifies that + the object will be returned to the owner's inventory when it + touches a simulator edge - - Alpha + + Server flag, will not be sent to clients. - + + Server flag, will not be sent to client. Specifies that + the object is hovering/flying + + - - - - - - + - Builds a color from a byte array - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - + - Returns the raw bytes for this vector - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted - A 16 byte array containing R, G, B, and A - + - Copy constructor - Color to copy - + - IComparable.CompareTo implementation + Sound flags for sounds attached to primitives - Sorting ends up like this: |--Grayscale--||--Color--|. - Alpha is only used when the colors are otherwise equivalent - + - Builds a color from a byte array - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted - + - Writes the raw bytes for this color to a byte array - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - + - Serializes this color into four bytes in a byte array - Destination byte array - Position in the destination array to start - writing. Must be at least 4 bytes before the end of the array - True to invert the output (1.0 becomes 0 - instead of 255) - + - Writes the raw bytes for this color to a byte array - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - + - Ensures that values are in range 0-1 - + - Create an RGB color from a hue, saturation, value combination - Hue - Saturation - Value - An fully opaque RGB color (alpha is 1.0) - + - Performs linear interpolation between two colors - Color to start at - Color to end at - Amount to interpolate - The interpolated color - - - A Color4 with zero RGB values and fully opaque (alpha 1.0) - - A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) + + + Material type for a primitive + - + - Determines the appropriate events to set, leaves the locks, and sets the events. - + - A routine for lazily creating a event outside the lock (so if errors - happen they are outside the lock and that we don't do much work - while holding a spin lock). If all goes well, reenter the lock and - set 'waitEvent' - + - Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. - Before the wait 'numWaiters' is incremented and is restored before leaving this routine. - + - Copy constructor - Circular queue to copy - + - A 128-bit Universally Unique Identifier, used throughout the Second - Life networking protocol - - The System.Guid object this struct wraps around - - + - Constructor that takes a string UUID representation - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") - + - Constructor that takes a System.Guid object - A Guid object that contains the unique identifier - to be represented by this UUID - + - Constructor that takes a byte array containing a UUID - Byte array containing a 16 byte UUID - Beginning offset in the array - + - Constructor that takes an unsigned 64-bit unsigned integer to - convert to a UUID + Used in a helper function to roughly determine prim shape - 64-bit unsigned integer to convert to a UUID - + - Copy constructor + Extra parameters for primitives, these flags are for features that have + been added after the original ObjectFlags that has all eight bits + reserved already - UUID to copy - - - IComparable.CompareTo implementation - + + Whether this object has flexible parameters - - - Assigns this UUID from 16 bytes out of a byte array - - Byte array containing the UUID to assign this UUID to - Starting position of the UUID in the byte array + + Whether this object has light parameters - + + Whether this object is a sculpted prim + + + Whether this object is a mesh + + - Returns a copy of the raw bytes for this UUID - A 16 byte array containing this UUID - + - Writes the raw bytes for this UUID to a byte array - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - + - Calculate an LLCRC (cyclic redundancy check) for this UUID - The CRC checksum for this UUID - + - Create a 64-bit integer representation from the second half of this UUID - An integer created from the last eight bytes of this UUID - + - Generate a UUID from a string - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") - + - Generate a UUID from a string - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - Will contain the parsed UUID if successful, - otherwise null - True if the string was successfully parse, otherwise false - UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) - + - Combine two UUIDs together by taking the MD5 hash of a byte array - containing both UUIDs - First UUID to combine - Second UUID to combine - The UUID product of the combination - + - - - + - Return a hash code for this UUID, used by .NET for hash tables - An integer composed of all the UUID bytes XORed together - + - Comparison function - An object to compare to this UUID - True if the object is a UUID and both UUIDs are equal - + - Comparison function - UUID to compare to - True if the UUIDs are equal, otherwise false - + - Get a hyphenated string representation of this UUID - A string representation of this UUID, lowercase and - with hyphens - 11f8aa9c-b071-4242-836b-13b7abe0d489 - + - Equals operator - First UUID for comparison - Second UUID for comparison - True if the UUIDs are byte for byte equal, otherwise false - + - Not equals operator - First UUID for comparison - Second UUID for comparison - True if the UUIDs are not equal, otherwise true - + - XOR operator - First UUID - Second UUID - A UUID that is a XOR combination of the two input UUIDs - + - String typecasting operator - A UUID in string form. Case insensitive, - hyphenated or non-hyphenated - A UUID built from the string representation - - - An UUID with a value of all zeroes - - - A cache of UUID.Zero as a string to optimize a common path - - - Used for converting degrees to radians - - - Used for converting radians to degrees - - - Provide a single instance of the CultureInfo class to - help parsing in situations where the grid assumes an en-us - culture - - - UNIX epoch in DateTime format - - - Provide a single instance of the MD5 class to avoid making - duplicate copies and handle thread safety - - - Provide a single instance of the SHA-1 class to avoid - making duplicate copies and handle thread safety - - - Provide a single instance of a random number generator - to avoid making duplicate copies and handle thread safety - + - Clamp a given value between a range - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper - + - Clamp a given value between a range - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper - + - Clamp a given value between a range - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper - + - Round a floating-point value to the nearest integer - Floating point number to round - Integer - + - Test if a single precision float is a finite number - + - Test if a double precision float is a finite number - + - Get the distance between two floating-point values - First value - Second value - The distance between the two values - + - Compute the MD5 hash for a byte array - Byte array to compute the hash for - MD5 hash of the input data - + - Compute the SHA1 hash for a byte array - Byte array to compute the hash for - SHA1 hash of the input data - + - Calculate the SHA1 hash of a given string - The string to hash - The SHA1 hash as a string - + - Compute the SHA256 hash for a byte array - Byte array to compute the hash for - SHA256 hash of the input data - + - Calculate the SHA256 hash of a given string - The string to hash - The SHA256 hash as a string - + - Calculate the MD5 hash of a given string - The password to hash - An MD5 hash in string format, with $1$ prepended - + - Calculate the MD5 hash of a given string - The string to hash - The MD5 hash as a string - + - Generate a random double precision floating point value - Random value of type double - + - Get the current running platform + Attachment points for objects on avatar bodies - Enumeration of the current platform we are running on + + Both InventoryObject and InventoryAttachment types can be attached + - - - Get the current running runtime - - Enumeration of the current runtime we are running on + + Right hand if object was not previously attached - - - Convert the first two bytes starting in the byte array in - little endian ordering to a signed short integer - - An array two bytes or longer - A signed short integer, will be zero if a short can't be - read at the given position + + Chest - - - Convert the first two bytes starting at the given position in - little endian ordering to a signed short integer - - An array two bytes or longer - Position in the array to start reading - A signed short integer, will be zero if a short can't be - read at the given position + + Skull - + + Left shoulder + + + Right shoulder + + + Left hand + + + Right hand + + + Left foot + + + Right foot + + + Spine + + + Pelvis + + + Mouth + + + Chin + + + Left ear + + + Right ear + + + Left eyeball + + + Right eyeball + + + Nose + + + Right upper arm + + + Right forearm + + + Left upper arm + + + Left forearm + + + Right hip + + + Right upper leg + + + Right lower leg + + + Left hip + + + Left upper leg + + + Left lower leg + + + Stomach + + + Left pectoral + + + Right pectoral + + + HUD Center position 2 + + + HUD Top-right + + + HUD Top + + + HUD Top-left + + + HUD Center + + + HUD Bottom-left + + + HUD Bottom + + + HUD Bottom-right + + - Convert the first four bytes starting at the given position in - little endian ordering to a signed integer + Tree foliage types - An array four bytes or longer - Position to start reading the int from - A signed integer, will be zero if an int can't be read - at the given position - + + Pine1 tree + + + Oak tree + + + Tropical Bush1 + + + Palm1 tree + + + Dogwood tree + + + Tropical Bush2 + + + Palm2 tree + + + Cypress1 tree + + + Cypress2 tree + + + Pine2 tree + + + Plumeria + + + Winter pinetree1 + + + Winter Aspen tree + + + Winter pinetree2 + + + Eucalyptus tree + + + Fern + + + Eelgrass + + + Sea Sword + + + Kelp1 plant + + + Beach grass + + + Kelp2 plant + + - Convert the first four bytes of the given array in little endian - ordering to a signed integer + Grass foliage types - An array four bytes or longer - A signed integer, will be zero if the array contains - less than four bytes - + - Convert the first eight bytes of the given array in little endian - ordering to a signed long integer - An array eight bytes or longer - A signed long integer, will be zero if the array contains - less than eight bytes - + - Convert the first eight bytes starting at the given position in - little endian ordering to a signed long integer - An array eight bytes or longer - Position to start reading the long from - A signed long integer, will be zero if a long can't be read - at the given position - + - Convert the first two bytes starting at the given position in - little endian ordering to an unsigned short - Byte array containing the ushort - Position to start reading the ushort from - An unsigned short, will be zero if a ushort can't be read - at the given position - + - Convert two bytes in little endian ordering to an unsigned short - Byte array containing the ushort - An unsigned short, will be zero if a ushort can't be - read - + - Convert the first four bytes starting at the given position in - little endian ordering to an unsigned integer - Byte array containing the uint - Position to start reading the uint from - An unsigned integer, will be zero if a uint can't be read - at the given position - + - Convert the first four bytes of the given array in little endian - ordering to an unsigned integer - An array four bytes or longer - An unsigned integer, will be zero if the array contains - less than four bytes - + - Convert the first eight bytes of the given array in little endian - ordering to an unsigned 64-bit integer + Action associated with clicking on an object - An array eight bytes or longer - An unsigned 64-bit integer, will be zero if the array - contains less than eight bytes - + + Touch object + + + Sit on object + + + Purchase object or contents + + + Pay the object + + + Open task inventory + + + Play parcel media + + + Open parcel media + + - Convert four bytes in little endian ordering to a floating point - value + Type of physics representation used for this prim in the simulator - Byte array containing a little ending floating - point value - Starting position of the floating point value in - the byte array - Single precision value - + + Use prim physics form this object + + + No physics, prim doesn't collide + + + Use convex hull represantion of this prim + + + For thread safety + + + For thread safety + + - Convert an integer to a byte array in little endian format + Purges expired objects from the cache. Called automatically by the purge timer. - The integer to convert - A four byte little endian array - + - Convert an integer to a byte array in big endian format + A thread-safe lockless queue that supports multiple readers and + multiple writers - The integer to convert - A four byte big endian array - + - Convert a 64-bit integer to a byte array in little endian format + Constructor - The value to convert - An 8 byte little endian array - + - Convert a 64-bit unsigned integer to a byte array in little endian - format + Provides a node container for data in a singly linked list - The value to convert - An 8 byte little endian array - + - Convert a floating point value to four bytes in little endian - ordering + Constructor - A floating point value - A four byte array containing the value in little endian - ordering - + - Converts an unsigned integer to a hexadecimal string + Constructor - An unsigned integer to convert to a string - A hexadecimal string 10 characters long - 0x7fffffff - + + Pointer to the next node in list + + + The data contained by the node + + + Queue head + + + Queue tail + + + Queue item count + + + Gets the current number of items in the queue. Since this + is a lockless collection this value should be treated as a close + estimate + + - Convert a variable length UTF8 byte array to a string + Enqueue an item - The UTF8 encoded byte array to convert - The decoded string + Item to enqeue - + - Converts a byte array to a string containing hexadecimal characters + Try to dequeue an item - The byte array to convert to a string - The name of the field to prepend to each - line of the string - A string containing hexadecimal characters on multiple - lines. Each line is prepended with the field name + Dequeued item if the dequeue was successful + True if an item was successfully deqeued, otherwise false - + + A 4x4 matrix containing all zeroes + + + A 4x4 identity matrix + + - Converts a byte array to a string containing hexadecimal characters + Convert this matrix to euler rotations - The byte array to convert to a string - Number of bytes in the array to parse - A string to prepend to each line of the hex - dump - A string containing hexadecimal characters on multiple - lines. Each line is prepended with the field name + X euler angle + Y euler angle + Z euler angle - + - Convert a string to a UTF8 encoded byte array + Convert this matrix to a quaternion rotation - The string to convert - A null-terminated UTF8 byte array + A quaternion representation of this rotation matrix - + - Converts a string containing hexadecimal characters to a byte array + Construct a matrix from euler rotation values in radians - String containing hexadecimal characters - If true, gracefully handles null, empty and - uneven strings as well as stripping unconvertable characters - The converted byte array + X euler angle in radians + Y euler angle in radians + Z euler angle in radians - + - Returns true is c is a hexadecimal digit (A-F, a-f, 0-9) + Get a formatted string representation of the vector - Character to test - true if hex digit, false if not + A string representation of the vector - + - Converts 1 or 2 character string into equivalant byte value + Provides helper methods for parallelizing loops - 1 or 2 character string - byte - + - Convert a float value to a byte given a minimum and maximum range + Executes a for loop in which iterations may run in parallel - Value to convert to a byte - Minimum value range - Maximum value range - A single byte representing the original float value + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop - + - Convert a byte to a float value given a minimum and maximum range + Executes a for loop in which iterations may run in parallel - Byte array to get the byte from - Position in the byte array the desired byte is at - Minimum value range - Maximum value range - A float value inclusively between lower and upper + The number of concurrent execution threads to run + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop - + - Convert a byte to a float value given a minimum and maximum range + Executes a foreach loop in which iterations may run in parallel - Byte to convert to a float value - Minimum value range - Maximum value range - A float value inclusively between lower and upper + Object type that the collection wraps + An enumerable collection to iterate over + Method body to run for each object in the collection - + - Attempts to parse a floating point value from a string, using an - EN-US number format + Executes a foreach loop in which iterations may run in parallel - String to parse - Resulting floating point number - True if the parse was successful, otherwise false + Object type that the collection wraps + The number of concurrent execution threads to run + An enumerable collection to iterate over + Method body to run for each object in the collection - + - Attempts to parse a floating point value from a string, using an - EN-US number format + Executes a series of tasks in parallel - String to parse - Resulting floating point number - True if the parse was successful, otherwise false + A series of method bodies to execute - + - Tries to parse an unsigned 32-bit integer from a hexadecimal string + Executes a series of tasks in parallel - String to parse - Resulting integer - True if the parse was successful, otherwise false + The number of concurrent execution threads to run + A series of method bodies to execute - + - Returns text specified in EnumInfo attribute of the enumerator - To add the text use [EnumInfo(Text = "Some nice text here")] before declaration - of enum values + Build a quaternion from normalized float values - Enum value - Text representation of the enum + X value from -1.0 to 1.0 + Y value from -1.0 to 1.0 + Z value from -1.0 to 1.0 - + - Takes an AssetType and returns the string representation + Constructor, builds a quaternion object from a byte array - The source - The string version of the AssetType + Byte array containing four four-byte floats + Offset in the byte array to start reading at + Whether the source data is normalized or + not. If this is true 12 bytes will be read, otherwise 16 bytes will + be read. - + + X value + + + Y value + + + Z value + + + W value + + + A quaternion with a value of 0,0,0,1 + + - Translate a string name of an AssetType into the proper Type + Normalizes the quaternion - A string containing the AssetType name - The AssetType which matches the string name, or AssetType.Unknown if no match was found - + - Convert an InventoryType to a string + Builds a quaternion object from a byte array - The to convert - A string representation of the source + The source byte array + Offset in the byte array to start reading at + Whether the source data is normalized or + not. If this is true 12 bytes will be read, otherwise 16 bytes will + be read. - + - Convert a string into a valid InventoryType + Normalize this quaternion and serialize it to a byte array - A string representation of the InventoryType to convert - A InventoryType object which matched the type + A 12 byte array containing normalized X, Y, and Z floating + point values in order using little endian byte ordering - + - Convert a SaleType to a string + Writes the raw bytes for this quaternion to a byte array - The to convert - A string representation of the source + Destination byte array + Position in the destination array to start + writing. Must be at least 12 bytes before the end of the array - + - Convert a string into a valid SaleType + Convert this quaternion to euler angles - A string representation of the SaleType to convert - A SaleType object which matched the type + X euler angle + Y euler angle + Z euler angle - + - Converts a string used in LLSD to AttachmentPoint type + Convert this quaternion to an angle around an axis - String representation of AttachmentPoint to convert - AttachmentPoint enum + Unit vector describing the axis + Angle around the axis, in radians - + - Copy a byte array + Returns the conjugate (spatial inverse) of a quaternion - Byte array to copy - A copy of the given byte array - + - Packs to 32-bit unsigned integers in to a 64-bit unsigned integer + Build a quaternion from an axis and an angle of rotation around + that axis - The left-hand (or X) value - The right-hand (or Y) value - A 64-bit integer containing the two 32-bit input values - + - Unpacks two 32-bit unsigned integers from a 64-bit unsigned integer + Build a quaternion from an axis and an angle of rotation around + that axis - The 64-bit input integer - The left-hand (or X) output value - The right-hand (or Y) output value + Axis of rotation + Angle of rotation - + - Convert an IP address object to an unsigned 32-bit integer + Creates a quaternion from a vector containing roll, pitch, and yaw + in radians - IP address to convert - 32-bit unsigned integer holding the IP address bits + Vector representation of the euler angles in + radians + Quaternion representation of the euler angles - + - Gets a unix timestamp for the current time + Creates a quaternion from roll, pitch, and yaw euler angles in + radians - An unsigned integer representing a unix timestamp for now + X angle in radians + Y angle in radians + Z angle in radians + Quaternion representation of the euler angles - + - Convert a UNIX timestamp to a native DateTime object + Conjugates and renormalizes a vector - An unsigned integer representing a UNIX - timestamp - A DateTime object containing the same time specified in - the given timestamp - + - Convert a UNIX timestamp to a native DateTime object + Spherical linear interpolation between two quaternions - A signed integer representing a UNIX - timestamp - A DateTime object containing the same time specified in - the given timestamp - + - Convert a native DateTime object to a UNIX timestamp + Get a string representation of the quaternion elements with up to three + decimal digits and separated by spaces only - A DateTime object you want to convert to a - timestamp - An unsigned integer representing a UNIX timestamp + Raw string representation of the quaternion - + - Swap two values + Determines the appropriate events to set, leaves the locks, and sets the events. - Type of the values to swap - First value - Second value - + - Try to parse an enumeration value from a string + A routine for lazily creating a event outside the lock (so if errors + happen they are outside the lock and that we don't do much work + while holding a spin lock). If all goes well, reenter the lock and + set 'waitEvent' - Enumeration type - String value to parse - Enumeration value on success - True if the parsing succeeded, otherwise false - + - Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa + Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. + Before the wait 'numWaiters' is incremented and is restored before leaving this routine. - Byte to swap the words in - Byte value with the words swapped - + - Attempts to convert a string representation of a hostname or IP - address to a + A hierarchical token bucket for bandwidth throttling. See + http://en.wikipedia.org/wiki/Token_bucket for more information - Hostname to convert to an IPAddress - Converted IP address object, or null if the conversion - failed - + - Operating system + Default constructor + Parent bucket if this is a child bucket, or + null if this is a root bucket + Maximum size of the bucket in bytes, or + zero if this bucket has no maximum capacity + Rate that the bucket fills, in bytes per + second. If zero, the bucket always remains full - - Unknown + + Parent bucket to this bucket, or null if this is a root + bucket - - Microsoft Windows + + Size of the bucket in bytes. If zero, the bucket has + infinite capacity - - Microsoft Windows CE + + Rate that the bucket fills, in bytes per millisecond. If + zero, the bucket always remains full - - Linux + + Number of tokens currently in the bucket - - Apple OSX + + Time of the last drip, in system ticks - + - Runtime platform + The parent bucket of this bucket, or null if this bucket has no + parent. The parent bucket will limit the aggregate bandwidth of all + of its children buckets - - .NET runtime - - - Mono runtime: http://www.mono-project.com/ - - - X value - - - Y value - - - Z value - - - W value - - + - Build a quaternion from normalized float values + Maximum burst rate in bytes per second. This is the maximum number + of tokens that can accumulate in the bucket at any one time - X value from -1.0 to 1.0 - Y value from -1.0 to 1.0 - Z value from -1.0 to 1.0 - + - Constructor, builds a quaternion object from a byte array + The speed limit of this bucket in bytes per second. This is the + number of tokens that are added to the bucket per second - Byte array containing four four-byte floats - Offset in the byte array to start reading at - Whether the source data is normalized or - not. If this is true 12 bytes will be read, otherwise 16 bytes will - be read. + Tokens are added to the bucket any time + is called, at the granularity of + the system tick interval (typically around 15-22ms) - + - Normalizes the quaternion + The number of bytes that can be sent at this moment. This is the + current number of tokens in the bucket + If this bucket has a parent bucket that does not have + enough tokens for a request, will + return false regardless of the content of this bucket + + + + Remove a given number of tokens from the bucket + Number of tokens to remove from the bucket + True if the requested number of tokens were removed from + the bucket, otherwise false - + - Builds a quaternion object from a byte array + Remove a given number of tokens from the bucket - The source byte array - Offset in the byte array to start reading at - Whether the source data is normalized or - not. If this is true 12 bytes will be read, otherwise 16 bytes will - be read. + Number of tokens to remove from the bucket + True if tokens were added to the bucket + during this call, otherwise false + True if the requested number of tokens were removed from + the bucket, otherwise false - + - Normalize this quaternion and serialize it to a byte array + Add tokens to the bucket over time. The number of tokens added each + call depends on the length of time that has passed since the last + call to Drip - A 12 byte array containing normalized X, Y, and Z floating - point values in order using little endian byte ordering + True if tokens were added to the bucket, otherwise false - + - Writes the raw bytes for this quaternion to a byte array + A 128-bit Universally Unique Identifier, used throughout the Second + Life networking protocol - Destination byte array - Position in the destination array to start - writing. Must be at least 12 bytes before the end of the array - + - Convert this quaternion to euler angles + Constructor that takes a string UUID representation - X euler angle - Y euler angle - Z euler angle + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") - + - Convert this quaternion to an angle around an axis + Constructor that takes a System.Guid object - Unit vector describing the axis - Angle around the axis, in radians + A Guid object that contains the unique identifier + to be represented by this UUID - + - Returns the conjugate (spatial inverse) of a quaternion + Constructor that takes a byte array containing a UUID + Byte array containing a 16 byte UUID + Beginning offset in the array - + - Build a quaternion from an axis and an angle of rotation around - that axis + Constructor that takes an unsigned 64-bit unsigned integer to + convert to a UUID + 64-bit unsigned integer to convert to a UUID - + - Build a quaternion from an axis and an angle of rotation around - that axis + Copy constructor - Axis of rotation - Angle of rotation + UUID to copy - + + The System.Guid object this struct wraps around + + + An UUID with a value of all zeroes + + + A cache of UUID.Zero as a string to optimize a common path + + - Creates a quaternion from a vector containing roll, pitch, and yaw - in radians + IComparable.CompareTo implementation - Vector representation of the euler angles in - radians - Quaternion representation of the euler angles - + - Creates a quaternion from roll, pitch, and yaw euler angles in - radians + Assigns this UUID from 16 bytes out of a byte array - X angle in radians - Y angle in radians - Z angle in radians - Quaternion representation of the euler angles + Byte array containing the UUID to assign this UUID to + Starting position of the UUID in the byte array - + - Conjugates and renormalizes a vector + Returns a copy of the raw bytes for this UUID + A 16 byte array containing this UUID - + - Spherical linear interpolation between two quaternions + Writes the raw bytes for this UUID to a byte array + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array - + - Get a string representation of the quaternion elements with up to three - decimal digits and separated by spaces only + Calculate an LLCRC (cyclic redundancy check) for this UUID - Raw string representation of the quaternion - - - A quaternion with a value of 0,0,0,1 + The CRC checksum for this UUID - + - Same as Queue except Dequeue function blocks until there is an object to return. - Note: This class does not need to be synchronized + Create a 64-bit integer representation from the second half of this UUID + An integer created from the last eight bytes of this UUID - + - Create new BlockingQueue. + Generate a UUID from a string - The System.Collections.ICollection to copy elements from + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") - + - Create new BlockingQueue. + Generate a UUID from a string - The initial number of elements that the queue can contain + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + Will contain the parsed UUID if successful, + otherwise null + True if the string was successfully parse, otherwise false + UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) - + - Create new BlockingQueue. + Combine two UUIDs together by taking the MD5 hash of a byte array + containing both UUIDs + First UUID to combine + Second UUID to combine + The UUID product of the combination - + - BlockingQueue Destructor (Close queue, resume any waiting thread). + + - + - Remove all objects from the Queue. + Return a hash code for this UUID, used by .NET for hash tables + An integer composed of all the UUID bytes XORed together - + - Remove all objects from the Queue, resume all dequeue threads. + Comparison function + An object to compare to this UUID + True if the object is a UUID and both UUIDs are equal - + - Removes and returns the object at the beginning of the Queue. + Comparison function - Object in queue. + UUID to compare to + True if the UUIDs are equal, otherwise false - + - Removes and returns the object at the beginning of the Queue. + Get a hyphenated string representation of this UUID - time to wait before returning - Object in queue. + A string representation of this UUID, lowercase and + with hyphens + 11f8aa9c-b071-4242-836b-13b7abe0d489 - + - Removes and returns the object at the beginning of the Queue. + Equals operator - time to wait before returning (in milliseconds) - Object in queue. + First UUID for comparison + Second UUID for comparison + True if the UUIDs are byte for byte equal, otherwise false - + - Adds an object to the end of the Queue + Not equals operator - Object to put in queue + First UUID for comparison + Second UUID for comparison + True if the UUIDs are not equal, otherwise true - + - Open Queue. + XOR operator + First UUID + Second UUID + A UUID that is a XOR combination of the two input UUIDs - + - Gets flag indicating if queue has been closed. + String typecasting operator + A UUID in string form. Case insensitive, + hyphenated or non-hyphenated + A UUID built from the string representation - + - Provides helper methods for parallelizing loops + Operating system - + + Unknown + + + Microsoft Windows + + + Microsoft Windows CE + + + Linux + + + Apple OSX + + - Executes a for loop in which iterations may run in parallel + Runtime platform - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop - - - Executes a for loop in which iterations may run in parallel - - The number of concurrent execution threads to run - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop + + .NET runtime + + + Mono runtime: http://www.mono-project.com/ + + + Used for converting degrees to radians + + + Used for converting radians to degrees + + + Provide a single instance of the CultureInfo class to + help parsing in situations where the grid assumes an en-us + culture + + + UNIX epoch in DateTime format + + + Provide a single instance of the MD5 class to avoid making + duplicate copies and handle thread safety - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - An enumerable collection to iterate over - Method body to run for each object in the collection + + Provide a single instance of the SHA-1 class to avoid + making duplicate copies and handle thread safety - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - The number of concurrent execution threads to run - An enumerable collection to iterate over - Method body to run for each object in the collection + + Provide a single instance of a random number generator + to avoid making duplicate copies and handle thread safety - + - Executes a series of tasks in parallel + Clamp a given value between a range - A series of method bodies to execute + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper - + - Executes a series of tasks in parallel + Clamp a given value between a range - The number of concurrent execution threads to run - A series of method bodies to execute + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper - + - Convert this matrix to euler rotations + Clamp a given value between a range - X euler angle - Y euler angle - Z euler angle + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper - + - Convert this matrix to a quaternion rotation + Round a floating-point value to the nearest integer - A quaternion representation of this rotation matrix + Floating point number to round + Integer - + - Construct a matrix from euler rotation values in radians + Test if a single precision float is a finite number - X euler angle in radians - Y euler angle in radians - Z euler angle in radians - + - Get a formatted string representation of the vector + Test if a double precision float is a finite number - A string representation of the vector - - - A 4x4 matrix containing all zeroes - - - A 4x4 identity matrix - - - X value - - - Y value - - - Z value - - W value - - + - Constructor, builds a vector from a byte array + Get the distance between two floating-point values - Byte array containing four four-byte floats - Beginning position in the byte array + First value + Second value + The distance between the two values - + - Test if this vector is equal to another vector, within a given - tolerance range + Compute the MD5 hash for a byte array - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false + Byte array to compute the hash for + MD5 hash of the input data - + - IComparable.CompareTo implementation + Compute the SHA1 hash for a byte array + Byte array to compute the hash for + SHA1 hash of the input data - + - Test if this vector is composed of all finite numbers + Calculate the SHA1 hash of a given string + The string to hash + The SHA1 hash as a string - + - Builds a vector from a byte array + Compute the SHA256 hash for a byte array - Byte array containing a 16 byte vector - Beginning position in the byte array + Byte array to compute the hash for + SHA256 hash of the input data - + - Returns the raw bytes for this vector + Calculate the SHA256 hash of a given string - A 16 byte array containing X, Y, Z, and W + The string to hash + The SHA256 hash as a string - + - Writes the raw bytes for this vector to a byte array + Calculate the MD5 hash of a given string - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array + The password to hash + An MD5 hash in string format, with $1$ prepended - + - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only + Calculate the MD5 hash of a given string - Raw string representation of the vector - - - A vector with a value of 0,0,0,0 - - - A vector with a value of 1,1,1,1 - - - A vector with a value of 1,0,0,0 - - - A vector with a value of 0,1,0,0 - - - A vector with a value of 0,0,1,0 - - - A vector with a value of 0,0,0,1 - - - For thread safety - - - For thread safety + The string to hash + The MD5 hash as a string - + - Purges expired objects from the cache. Called automatically by the purge timer. + Generate a random double precision floating point value + Random value of type double - + - A three-dimensional vector with floating-point values + Get the current running platform + Enumeration of the current platform we are running on - - X value - - - Y value - - - Z value - - + - Constructor, builds a vector from a byte array + Get the current running runtime - Byte array containing three four-byte floats - Beginning position in the byte array + Enumeration of the current runtime we are running on - + - Test if this vector is equal to another vector, within a given - tolerance range + Convert the first two bytes starting in the byte array in + little endian ordering to a signed short integer - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false + An array two bytes or longer + A signed short integer, will be zero if a short can't be + read at the given position - + - IComparable.CompareTo implementation + Convert the first two bytes starting at the given position in + little endian ordering to a signed short integer + An array two bytes or longer + Position in the array to start reading + A signed short integer, will be zero if a short can't be + read at the given position - + - Test if this vector is composed of all finite numbers + Convert the first four bytes starting at the given position in + little endian ordering to a signed integer + An array four bytes or longer + Position to start reading the int from + A signed integer, will be zero if an int can't be read + at the given position - + - Builds a vector from a byte array + Convert the first four bytes of the given array in little endian + ordering to a signed integer - Byte array containing a 12 byte vector - Beginning position in the byte array + An array four bytes or longer + A signed integer, will be zero if the array contains + less than four bytes - + - Returns the raw bytes for this vector + Convert the first eight bytes of the given array in little endian + ordering to a signed long integer - A 12 byte array containing X, Y, and Z + An array eight bytes or longer + A signed long integer, will be zero if the array contains + less than eight bytes - + - Writes the raw bytes for this vector to a byte array + Convert the first eight bytes starting at the given position in + little endian ordering to a signed long integer - Destination byte array - Position in the destination array to start - writing. Must be at least 12 bytes before the end of the array + An array eight bytes or longer + Position to start reading the long from + A signed long integer, will be zero if a long can't be read + at the given position - + - Parse a vector from a string + Convert the first two bytes starting at the given position in + little endian ordering to an unsigned short - A string representation of a 3D vector, enclosed - in arrow brackets and separated by commas + Byte array containing the ushort + Position to start reading the ushort from + An unsigned short, will be zero if a ushort can't be read + at the given position - + - Calculate the rotation between two vectors + Convert two bytes in little endian ordering to an unsigned short - Normalized directional vector (such as 1,0,0 for forward facing) - Normalized target vector + Byte array containing the ushort + An unsigned short, will be zero if a ushort can't be + read - + - Interpolates between two vectors using a cubic equation + Convert the first four bytes starting at the given position in + little endian ordering to an unsigned integer + Byte array containing the uint + Position to start reading the uint from + An unsigned integer, will be zero if a uint can't be read + at the given position - + - Get a formatted string representation of the vector + Convert the first four bytes of the given array in little endian + ordering to an unsigned integer - A string representation of the vector + An array four bytes or longer + An unsigned integer, will be zero if the array contains + less than four bytes - + - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only + Convert the first eight bytes of the given array in little endian + ordering to an unsigned 64-bit integer - Raw string representation of the vector + An array eight bytes or longer + An unsigned 64-bit integer, will be zero if the array + contains less than eight bytes - + - Cross product between two vectors + Convert four bytes in little endian ordering to a floating point + value + Byte array containing a little ending floating + point value + Starting position of the floating point value in + the byte array + Single precision value - - A vector with a value of 0,0,0 - - - A vector with a value of 1,1,1 - - - A unit vector facing forward (X axis), value 1,0,0 - - - A unit vector facing left (Y axis), value 0,1,0 - - - A unit vector facing up (Z axis), value 0,0,1 - - + - Identifier code for primitive types + Convert an integer to a byte array in little endian format + The integer to convert + A four byte little endian array - - None - - - A Primitive - - - A Avatar - - - Linden grass - - - Linden tree - - - A primitive that acts as the source for a particle stream - - - A Linden tree - - + - Primary parameters for primitives such as Physics Enabled or Phantom + Convert an integer to a byte array in big endian format + The integer to convert + A four byte big endian array - - Deprecated - - - Whether physics are enabled for this object - - - - - - - - - - - - - - - - - - - - - Whether this object contains an active touch script - - - - - - Whether this object can receive payments - - - Whether this object is phantom (no collisions) - - - - - - - - - - - - - - - Deprecated - - - - - - - - - - - - Deprecated - - - - - - - - - - - - - - - Server flag, will not be sent to clients. Specifies that - the object is destroyed when it touches a simulator edge - - - Server flag, will not be sent to clients. Specifies that - the object will be returned to the owner's inventory when it - touches a simulator edge - - - Server flag, will not be sent to clients. - - - Server flag, will not be sent to client. Specifies that - the object is hovering/flying - - - - - - - - - - - - - - + - Sound flags for sounds attached to primitives + Convert a 64-bit integer to a byte array in little endian format + The value to convert + An 8 byte little endian array - - - - - - - - - - - - - - - - - - - - - - + - Material type for a primitive + Convert a 64-bit unsigned integer to a byte array in little endian + format + The value to convert + An 8 byte little endian array - - - - - - - - - - - - - - - - - - - - - - - + + + Convert a floating point value to four bytes in little endian + ordering + + A floating point value + A four byte array containing the value in little endian + ordering - + - Used in a helper function to roughly determine prim shape + Converts an unsigned integer to a hexadecimal string + An unsigned integer to convert to a string + A hexadecimal string 10 characters long + 0x7fffffff - + - Extra parameters for primitives, these flags are for features that have - been added after the original ObjectFlags that has all eight bits - reserved already + Convert a variable length UTF8 byte array to a string + The UTF8 encoded byte array to convert + The decoded string - - Whether this object has flexible parameters - - - Whether this object has light parameters - - - Whether this object is a sculpted prim - - + - + Converts a byte array to a string containing hexadecimal characters + The byte array to convert to a string + The name of the field to prepend to each + line of the string + A string containing hexadecimal characters on multiple + lines. Each line is prepended with the field name - - - - - - - - - - + - + Converts a byte array to a string containing hexadecimal characters + The byte array to convert to a string + Number of bytes in the array to parse + A string to prepend to each line of the hex + dump + A string containing hexadecimal characters on multiple + lines. Each line is prepended with the field name - - - - - - - - - - - - - - - - - - - - - - - - - + - + Convert a string to a UTF8 encoded byte array + The string to convert + A null-terminated UTF8 byte array - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + Converts a string containing hexadecimal characters to a byte array + String containing hexadecimal characters + If true, gracefully handles null, empty and + uneven strings as well as stripping unconvertable characters + The converted byte array - - - - - - - - - - - - - - - - - - - - - - - - Attachment points for objects on avatar bodies - - - Both InventoryObject and InventoryAttachment types can be attached - - - - Right hand if object was not previously attached - - - Chest - - - Skull - - - Left shoulder - - - Right shoulder + + + Returns true is c is a hexadecimal digit (A-F, a-f, 0-9) + + Character to test + true if hex digit, false if not - - Left hand + + + Converts 1 or 2 character string into equivalant byte value + + 1 or 2 character string + byte - - Right hand + + + Convert a float value to a byte given a minimum and maximum range + + Value to convert to a byte + Minimum value range + Maximum value range + A single byte representing the original float value - - Left foot + + + Convert a byte to a float value given a minimum and maximum range + + Byte array to get the byte from + Position in the byte array the desired byte is at + Minimum value range + Maximum value range + A float value inclusively between lower and upper - - Right foot + + + Convert a byte to a float value given a minimum and maximum range + + Byte to convert to a float value + Minimum value range + Maximum value range + A float value inclusively between lower and upper - - Spine + + + Attempts to parse a floating point value from a string, using an + EN-US number format + + String to parse + Resulting floating point number + True if the parse was successful, otherwise false - - Pelvis + + + Attempts to parse a floating point value from a string, using an + EN-US number format + + String to parse + Resulting floating point number + True if the parse was successful, otherwise false - - Mouth + + + Tries to parse an unsigned 32-bit integer from a hexadecimal string + + String to parse + Resulting integer + True if the parse was successful, otherwise false - - Chin + + + Returns text specified in EnumInfo attribute of the enumerator + To add the text use [EnumInfo(Text = "Some nice text here")] before declaration + of enum values + + Enum value + Text representation of the enum - - Left ear + + + Takes an AssetType and returns the string representation + + The source + The string version of the AssetType - - Right ear + + + Translate a string name of an AssetType into the proper Type + + A string containing the AssetType name + The AssetType which matches the string name, or AssetType.Unknown if no match was found - - Left eyeball + + + Convert an InventoryType to a string + + The to convert + A string representation of the source - - Right eyeball + + + Convert a string into a valid InventoryType + + A string representation of the InventoryType to convert + A InventoryType object which matched the type - - Nose + + + Convert a SaleType to a string + + The to convert + A string representation of the source - - Right upper arm + + + Convert a string into a valid SaleType + + A string representation of the SaleType to convert + A SaleType object which matched the type - - Right forearm + + + Converts a string used in LLSD to AttachmentPoint type + + String representation of AttachmentPoint to convert + AttachmentPoint enum - - Left upper arm + + + Copy a byte array + + Byte array to copy + A copy of the given byte array - - Left forearm + + + Packs to 32-bit unsigned integers in to a 64-bit unsigned integer + + The left-hand (or X) value + The right-hand (or Y) value + A 64-bit integer containing the two 32-bit input values - - Right hip + + + Unpacks two 32-bit unsigned integers from a 64-bit unsigned integer + + The 64-bit input integer + The left-hand (or X) output value + The right-hand (or Y) output value - - Right upper leg + + + Convert an IP address object to an unsigned 32-bit integer + + IP address to convert + 32-bit unsigned integer holding the IP address bits - - Right lower leg + + + Gets a unix timestamp for the current time + + An unsigned integer representing a unix timestamp for now - - Left hip + + + Convert a UNIX timestamp to a native DateTime object + + An unsigned integer representing a UNIX + timestamp + A DateTime object containing the same time specified in + the given timestamp - - Left upper leg + + + Convert a UNIX timestamp to a native DateTime object + + A signed integer representing a UNIX + timestamp + A DateTime object containing the same time specified in + the given timestamp - - Left lower leg + + + Convert a native DateTime object to a UNIX timestamp + + A DateTime object you want to convert to a + timestamp + An unsigned integer representing a UNIX timestamp - - Stomach + + + Swap two values + + Type of the values to swap + First value + Second value - - Left pectoral + + + Try to parse an enumeration value from a string + + Enumeration type + String value to parse + Enumeration value on success + True if the parsing succeeded, otherwise false - - Right pectoral + + + Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa + + Byte to swap the words in + Byte value with the words swapped - - HUD Center position 2 + + + Attempts to convert a string representation of a hostname or IP + address to a + Hostname to convert to an IPAddress + Converted IP address object, or null if the conversion + failed - - HUD Top-right + + + A two-dimensional vector with floating-point values + - - HUD Top + + X value - - HUD Top-left + + Y value - - HUD Center + + A vector with a value of 0,0 - - HUD Bottom-left + + A vector with a value of 1,1 - - HUD Bottom + + A vector with a value of 1,0 - - HUD Bottom-right + + A vector with a value of 0,1 - + - Tree foliage types + Test if this vector is equal to another vector, within a given + tolerance range + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false - - Pine1 tree - - - Oak tree - - - Tropical Bush1 - - - Palm1 tree + + + Test if this vector is composed of all finite numbers + - - Dogwood tree + + + IComparable.CompareTo implementation + - - Tropical Bush2 + + + Builds a vector from a byte array + + Byte array containing two four-byte floats + Beginning position in the byte array - - Palm2 tree + + + Returns the raw bytes for this vector + + An eight-byte array containing X and Y - - Cypress1 tree + + + Writes the raw bytes for this vector to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 8 bytes before the end of the array - - Cypress2 tree + + + Parse a vector from a string + + A string representation of a 2D vector, enclosed + in arrow brackets and separated by commas - - Pine2 tree + + + Interpolates between two vectors using a cubic equation + - - Plumeria + + + Get a formatted string representation of the vector + + A string representation of the vector - - Winter pinetree1 + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector - - Winter Aspen tree + + + A three-dimensional vector with floating-point values + - - Winter pinetree2 + + + Constructor, builds a vector from a byte array + + Byte array containing three four-byte floats + Beginning position in the byte array - - Eucalyptus tree + + X value - - Fern + + Y value - - Eelgrass + + Z value - - Sea Sword + + A vector with a value of 0,0,0 - - Kelp1 plant + + A vector with a value of 1,1,1 - - Beach grass + + A unit vector facing forward (X axis), value 1,0,0 - - Kelp2 plant + + A unit vector facing left (Y axis), value 0,1,0 - + + A unit vector facing up (Z axis), value 0,0,1 + + - Grass foliage types + Test if this vector is equal to another vector, within a given + tolerance range + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false - - - - - - - - + + + IComparable.CompareTo implementation + - - + + + Test if this vector is composed of all finite numbers + - - + + + Builds a vector from a byte array + + Byte array containing a 12 byte vector + Beginning position in the byte array - - + + + Returns the raw bytes for this vector + + A 12 byte array containing X, Y, and Z - + - Action associated with clicking on an object + Writes the raw bytes for this vector to a byte array + Destination byte array + Position in the destination array to start + writing. Must be at least 12 bytes before the end of the array - - Touch object + + + Parse a vector from a string + + A string representation of a 3D vector, enclosed + in arrow brackets and separated by commas - - Sit on object + + + Calculate the rotation between two vectors + + Normalized directional vector (such as 1,0,0 for forward facing) + Normalized target vector - - Purchase object or contents + + + Interpolates between two vectors using a cubic equation + - - Pay the object + + + Get a formatted string representation of the vector + + A string representation of the vector - - Open task inventory + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector - - Play parcel media + + + Cross product between two vectors + - - Open parcel media + + + A three-dimensional vector with doubleing-point values + - + - A two-dimensional vector with floating-point values + Constructor, builds a vector from a byte array + Byte array containing three eight-byte doubles + Beginning position in the byte array - + X value - + Y value - + + Z value + + + A vector with a value of 0,0,0 + + + A vector with a value of 1,1,1 + + + A unit vector facing forward (X axis), value of 1,0,0 + + + A unit vector facing left (Y axis), value of 0,1,0 + + + A unit vector facing up (Z axis), value of 0,0,1 + + Test if this vector is equal to another vector, within a given tolerance range @@ -2530,73 +2546,152 @@ True if the magnitude of difference between the two vectors is less than the given tolerance, otherwise false - + - Test if this vector is composed of all finite numbers + IComparable.CompareTo implementation - + - IComparable.CompareTo implementation + Test if this vector is composed of all finite numbers - + Builds a vector from a byte array - Byte array containing two four-byte floats + Byte array containing a 24 byte vector Beginning position in the byte array - + Returns the raw bytes for this vector - An eight-byte array containing X and Y + A 24 byte array containing X, Y, and Z - + Writes the raw bytes for this vector to a byte array Destination byte array Position in the destination array to start - writing. Must be at least 8 bytes before the end of the array + writing. Must be at least 24 bytes before the end of the array - + Parse a vector from a string - A string representation of a 2D vector, enclosed + A string representation of a 3D vector, enclosed in arrow brackets and separated by commas - + Interpolates between two vectors using a cubic equation - + Get a formatted string representation of the vector A string representation of the vector - + Get a string representation of the vector elements with up to three decimal digits and separated by spaces only Raw string representation of the vector - - A vector with a value of 0,0 + + + Cross product between two vectors + - - A vector with a value of 1,1 + + + Constructor, builds a vector from a byte array + + Byte array containing four four-byte floats + Beginning position in the byte array - - A vector with a value of 1,0 + + X value - - A vector with a value of 0,1 + + Y value + + + Z value + + + W value + + + A vector with a value of 0,0,0,0 + + + A vector with a value of 1,1,1,1 + + + A vector with a value of 1,0,0,0 + + + A vector with a value of 0,1,0,0 + + + A vector with a value of 0,0,1,0 + + + A vector with a value of 0,0,0,1 + + + + Test if this vector is equal to another vector, within a given + tolerance range + + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false + + + + IComparable.CompareTo implementation + + + + + Test if this vector is composed of all finite numbers + + + + + Builds a vector from a byte array + + Byte array containing a 16 byte vector + Beginning position in the byte array + + + + Returns the raw bytes for this vector + + A 16 byte array containing X, Y, Z, and W + + + + Writes the raw bytes for this vector to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array + + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index e3356c9..fd9ce88 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 34f4dc29a1b2c6e3e26f5117a605670c488efe05 Mon Sep 17 00:00:00 2001 From: ubit Date: Tue, 10 Jul 2012 02:24:09 +0200 Subject: change linux 32bit libode.so to ode version 0.12 --- bin/lib32/libode.so | Bin 3051566 -> 3134141 bytes 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 bin/lib32/libode.so (limited to 'bin') diff --git a/bin/lib32/libode.so b/bin/lib32/libode.so old mode 100644 new mode 100755 index 6bb85fb..5b110ae Binary files a/bin/lib32/libode.so and b/bin/lib32/libode.so differ -- cgit v1.1 From 0d605685644081f5853dc1e8ddb591d3a8c2f299 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 10 Jul 2012 01:29:44 +0100 Subject: changed ODE lib for win32 to version 0.12 --- bin/lib32/ode.dll | Bin 496640 -> 548864 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll index f310358..90106ca 100755 Binary files a/bin/lib32/ode.dll and b/bin/lib32/ode.dll differ -- cgit v1.1 From e60ec599e5c4184275037b0538092be6cf098de1 Mon Sep 17 00:00:00 2001 From: Melanie Date: Sat, 28 Jul 2012 00:41:31 +0100 Subject: Add master's new binaries --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 11776 -> 24576 bytes bin/OpenMetaverse.StructuredData.dll | Bin 95232 -> 114688 bytes bin/OpenMetaverse.dll | Bin 1812992 -> 1904640 bytes bin/OpenMetaverseTypes.dll | Bin 105984 -> 122880 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 43c7557..1b4cab5 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index bf76863..7b5174d 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 7e742e2..a08b406 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index fd9ce88..fc4f8eb 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 1b7a720b9f2e4d32d25fe3260bc4970c8be112bf Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 4 Aug 2012 10:36:50 +0100 Subject: update ode.dll for windows so both 32b and 64b are now version 0.12 (32b is just a rebuild) --- bin/lib32/ode.dll | Bin 548864 -> 547840 bytes bin/lib64/ode.dll | Bin 656384 -> 651776 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll index 90106ca..c3263ae 100755 Binary files a/bin/lib32/ode.dll and b/bin/lib32/ode.dll differ diff --git a/bin/lib64/ode.dll b/bin/lib64/ode.dll index df3a6c4..6f5b504 100755 Binary files a/bin/lib64/ode.dll and b/bin/lib64/ode.dll differ -- cgit v1.1 From 1efa87ba38f93ec62f63e53e60616a0a9b109e08 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Tue, 25 Sep 2012 18:09:34 -0400 Subject: Format OpenSim.ini.example Make lines fint in 80x24 terminal for easier reading --- bin/OpenSim.ini.example | 100 +++++++++++++++++++++++++++++++----------------- 1 file changed, 65 insertions(+), 35 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 3ec4bab..b21a214 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1,19 +1,23 @@ -;; This is the main configuration file for OpenSimulator. If it's named OpenSim.ini -;; then it will be loaded by OpenSimulator. If it's named OpenSim.ini.example then -;; you will need to copy it to OpenSim.ini first (if that file does not already exist) +;; This is the main configuration file for OpenSimulator. +;; If it's named OpenSim.ini then it will be loaded by OpenSimulator. +;; If it's named OpenSim.ini.example then you will need to copy it to +;; OpenSim.ini first (if that file does not already exist) ;; -;; If you are copying, then once you have copied OpenSim.ini.example to OpenSim.ini you will -;; need to pick an architecture in the [Architecture] section at the end of this file. +;; If you are copying, then once you have copied OpenSim.ini.example to +;; OpenSim.ini you will need to pick an architecture in the [Architecture] +;; section at the end of this file. ;; -;; The settings in this file are in the form " = ". For example, save_crashes = false -;; in the [Startup] section below. +;; The settings in this file are in the form " = ". For example, +;; save_crashes = false in the [Startup] section below. ;; -;; All settings are initially commented out and the default value used, as found in -;; OpenSimDefaults.ini. To change a setting, first uncomment it by deleting the initial semicolon (;) -;; and then change the value. This will override the value in OpenSimDefaults.ini +;; All settings are initially commented out and the default value used, as +;; found in OpenSimDefaults.ini. To change a setting, first uncomment it by +;; deleting the initial semicolon (;) and then change the value. This will +;; override the value in OpenSimDefaults.ini ;; -;; If you want to find out what configuration OpenSimulator has finished with once all the configuration -;; files are loaded then type "config show" on the region console command line. +;; If you want to find out what configuration OpenSimulator has finished with +;; once all the configuration files are loaded then type "config show" on the +;; region console command line. ;; ;; ;; NOTES FOR DEVELOPERS REGARDING THE FORMAT OF THIS FILE @@ -26,13 +30,16 @@ ;; formatted as: ;; {option} {depends on} {question to ask} {choices} default value ;; Any text comments following the declaration, up to the next blank line. -;; will be copied to the generated file (NOTE: generation is not yet implemented) +;; will be copied to the generated file (NOTE: generation is not yet +;; implemented) +;; ;; A * in the choices list will allow an empty entry. ;; An empty question will set the default if the dependencies are ;; satisfied. ;; ;; ; denotes a commented out option. -;; Any options added to OpenSim.ini.example should be initially commented out. +;; Any options added to OpenSim.ini.example should be initially commented +;; out. [Startup] @@ -47,9 +54,12 @@ ;# {save_crashes} {} {Save crashes to disk?} {true false} false ;; Set this to true if you want to log crashes to disk ;; this can be useful when submitting bug reports. - ;; However, this will only log crashes within OpenSimulator that cause the entire program to exit - ;; It will not log crashes caused by virtual machine failures, which includes mono and ODE failures. - ;; You will need to capture these native stack traces by recording the session log itself. + ;; However, this will only log crashes within OpenSimulator that cause the + ;; entire program to exit + ;; It will not log crashes caused by virtual machine failures, which + ;; includes mono and ODE failures. + ;; You will need to capture these native stack traces by recording the + ;; session log itself. ; save_crashes = false ;# {crash_dir} {save_crashes:true} {Directory to save crashes to?} {} crashes @@ -88,35 +98,46 @@ ; allow_regionless = false ;# {NonPhysicalPrimMin} {} {Minimum size of nonphysical prims?} {} 0.001 - ;; Minimum size for non-physical prims. Affects resizing of existing prims. This can be overriden in the region config file (as NonPhysicalPrimMin!). + ;; Minimum size for non-physical prims. Affects resizing of existing + ;; prims. This can be overriden in the region config file (as + ;; NonPhysicalPrimMin!). ; NonPhysicalPrimMin = 0.001 ;# {NonPhysicalPrimMax} {} {Maximum size of nonphysical prims?} {} 256 - ;; Maximum size for non-physical prims. Affects resizing of existing prims. This can be overriden in the region config file (as NonPhysicalPrimMax!). + ;; Maximum size for non-physical prims. Affects resizing of existing + ;; prims. This can be overriden in the region config file (as + ;; NonPhysicalPrimMax!). ; NonPhysicalPrimMax = 256 ;# {PhysicalPrimMin} {} {Minimum size of physical prims?} {} 10 - ;; Maximum size where a prim can be physical. Affects resizing of existing prims. This can be overriden in the region config file. + ;; Maximum size where a prim can be physical. Affects resizing of + ;; existing prims. This can be overriden in the region config file. ; PhysicalPrimMin = 0.01 ;# {PhysicalPrimMax} {} {Maximum size of physical prims?} {} 10 - ;; Maximum size where a prim can be physical. Affects resizing of existing prims. This can be overriden in the region config file. + ;; Maximum size where a prim can be physical. Affects resizing of + ;; existing prims. This can be overriden in the region config file. ; PhysicalPrimMax = 10 ;# {ClampPrimSize} {} {Clamp viewer rezzed prims to max sizes?} {true false} false - ;; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum + ;; If a viewer attempts to rez a prim larger than the non-physical or + ;; physical prim max, clamp the dimensions to the appropriate maximum ;; This can be overriden in the region config file. ; ClampPrimSize = false ;# {LinksetPrims} {} {Max prims an object will hold?} {} 0 - ;; Maximum number of prims allowable in a linkset. Affects creating new linksets. Ignored if less than or equal to zero. + ;; Maximum number of prims allowable in a linkset. Affects creating new + ;; linksets. Ignored if less than or equal to zero. ;; This can be overriden in the region config file. ; LinksetPrims = 0 ;# {AllowScriptCrossing} {} {Allow scripts to cross into this region} {true false} true - ;; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region. - ;; This only applies when crossing to a region running in a different simulator. - ;; For crossings where the regions are on the same simulator the script is always kept running. + ;; Allow scripts to keep running when they cross region boundaries, rather + ;; than being restarted. State is reloaded on the destination region. + ;; This only applies when crossing to a region running in a different + ;; simulator. + ;; For crossings where the regions are on the same simulator the script is + ;; always kept running. ; AllowScriptCrossing = true ;# {TrustBinaries} {AllowScriptCrossing:true} {Accept compiled binary script code? (DANGEROUS!)} {true false} false @@ -186,7 +207,8 @@ ;# {physics} {} {Select physics engine} {OpenDynamicsEngine BulletSim basicphysics POS} OpenDynamicsEngine ;; OpenDynamicsEngine is by some distance the most developed physics engine ;; BulletSim is incomplete and experimental but in active development - ;; basicphysics effectively does not model physics at all, making all objects phantom + ;; basicphysics effectively does not model physics at all, making all + ;; objects phantom ;; Default is OpenDynamicsEngine ; physics = OpenDynamicsEngine ; physics = BulletSim @@ -229,8 +251,9 @@ ;# {simple_build_permissions} {} {Allow building in parcel by access list (no groups)} {true false} false ;; More control over permissions ;; This is definitely not SL! - ;; Provides a simple control for land owners to give build rights to specific avatars - ;; in publicly accessible parcels that disallow object creation in general. + ;; Provides a simple control for land owners to give build rights to + ;; specific avatars in publicly accessible parcels that disallow object + ;; creation in general. ;; Owners specific avatars by adding them to the Access List of the parcel ;; without having to use the Groups feature ; simple_build_permissions = false @@ -266,11 +289,14 @@ ; DrawPrimOnMapTile = true ;# {HttpProxy} {} {Proxy URL for llHTTPRequest and dynamic texture loading} {} http://proxy.com:8080 - ;; Http proxy setting for llHTTPRequest and dynamic texture loading, if required + ;; Http proxy setting for llHTTPRequest and dynamic texture loading, if + ;; required ; HttpProxy = "http://proxy.com:8080" ;# {HttpProxyExceptions} {HttpProxy} {Set of regular expressions defining URL that should not be proxied} {} - ;; If you're using HttpProxy, then you can set HttpProxyExceptions to a list of regular expressions for URLs that you don't want to go through the proxy + ;; If you're using HttpProxy, then you can set HttpProxyExceptions to a + ;; list of regular expressions for URLs that you don't want to go through + ;; the proxy. ;; For example, servers inside your firewall. ;; Separate patterns with a ';' ; HttpProxyExceptions = ".mydomain.com;localhost" @@ -289,13 +315,15 @@ ; SpawnPointRouting = closest ;# {TelehubAllowLandmark} {} {Allow users with landmarks to override telehub routing} {true false} false - ;; TelehubAllowLandmark allows users with landmarks to override telehub routing and land at the landmark coordinates when set to true + ;; TelehubAllowLandmark allows users with landmarks to override telehub + ;; routing and land at the landmark coordinates when set to true ;; default is false ; TelehubAllowLandmark = false ;# {AllowedClients} {} {Bar (|) separated list of allowed clients} {} ;; Bar (|) separated list of viewers which may gain access to the regions. - ;; One can use a substring of the viewer name to enable only certain versions + ;; One can use a substring of the viewer name to enable only certain + ;; versions ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" ;; - "Imprudence" has access ;; - "Imprudence 1.3" has access @@ -304,7 +332,8 @@ ;# {BannedClients} {} {Bar (|) separated list of banned clients} {} ;# Bar (|) separated list of viewers which may not gain access to the regions. - ;; One can use a Substring of the viewer name to disable only certain versions + ;; One can use a Substring of the viewer name to disable only certain + ;; versions ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" ;; - "Imprudence" has no access ;; - "Imprudence 1.3" has no access @@ -450,7 +479,8 @@ [SimulatorFeatures] ;# {MapImageServerURI} {} {URL for the map server} {} - ; Experimental new information sent in SimulatorFeatures cap for Kokua viewers + ; Experimental new information sent in SimulatorFeatures cap for Kokua + ; viewers ; meant to override the MapImage and search server url given at login, and varying ; on a sim-basis. ; Viewers that don't understand it, will ignore it -- cgit v1.1 From 285039949c8a0c0b13da8b74d2ce560805932ad9 Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 27 Sep 2012 18:27:49 +0100 Subject: Update the Http server with a few additional properties. Adapt the test server code to match. --- bin/HttpServer_OpenSim.dll | Bin 115712 -> 120832 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index d910bb9..2512b85 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ -- cgit v1.1 From 2eda385f5e72e165150d0925c56b1188c77cafe8 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Tue, 1 Jan 2013 20:26:31 -0800 Subject: BulletSim: add ResetBroadphasePool and ResetConstraintSolver diagnostic functions. If values set from console, the functions are called. Looking for why the collision pools fill up with unnecessary stuff. --- bin/lib32/BulletSim.dll | Bin 551936 -> 551936 bytes bin/lib32/libBulletSim.so | Bin 1719480 -> 1715168 bytes bin/lib64/BulletSim.dll | Bin 700928 -> 700928 bytes bin/lib64/libBulletSim.so | Bin 1857745 -> 1857493 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 1f41e04..b01896e 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index 85ff318..d964c11 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 674af3e..20eed6a 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index 14892a4..5bb28ed 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From 939340325396c80e8798ec43361ffd983ce325c9 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 6 Jan 2013 14:01:15 -0800 Subject: BulletSim: update DLLs and SOs with better debugging output. Add definition of hand crafted avatar mesh. Not used yet. Comments and cleanup. --- bin/lib32/BulletSim.dll | Bin 551936 -> 551936 bytes bin/lib32/libBulletSim.so | Bin 1715168 -> 1715168 bytes bin/lib64/BulletSim.dll | Bin 700928 -> 700928 bytes bin/lib64/libBulletSim.so | Bin 1857493 -> 1857493 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index b01896e..093ea31 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index d964c11..4d7018a 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 20eed6a..7956447 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index 5bb28ed..2ce7f77 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From 459fcd81c9d6e7c92738b40f1b4b4fe746699379 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Fri, 11 Jan 2013 16:36:34 -0800 Subject: BulletSim: move center of gravity of linkset to its geometric center. Necessitated allowing simulator and physical position of a body to get out of sync since Bullet assumes that <0,0,0> is the center of mass. Update DLLs and SOs for the UpdateChildTransform so positions of individual prim in a linkset can be implemented. --- bin/lib32/BulletSim.dll | Bin 551936 -> 551424 bytes bin/lib32/libBulletSim.so | Bin 1715168 -> 1720142 bytes bin/lib64/BulletSim.dll | Bin 700928 -> 700416 bytes bin/lib64/libBulletSim.so | Bin 1857493 -> 1858627 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 093ea31..014eca4 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index 4d7018a..5e4d8cc 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 7956447..d00549e 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index 2ce7f77..b94e264 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From 13778c895ae8adca907781c9d8c3a9ada30814e0 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Tue, 15 Jan 2013 01:44:34 -0800 Subject: BulletSim: by default, turn on continuious collision detection (CCD) and enable friction computation caching. Remove dangerous BulletSim settings from OpenSimDefaults.ini. --- bin/OpenSimDefaults.ini | 8 -------- 1 file changed, 8 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 74bae01..45c3d40 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -929,18 +929,10 @@ MaxObjectMass = 10000.01 - ; Dynamic parameters - LinearDamping = 0.0 - AngularDamping = 0.0 - DeactivationTime = 0.2 CollisionMargin = 0.04 ; Linkset constraint parameters LinkImplementation = 1 ; 0=constraint, 1=compound - LinkConstraintUseFrameOffset = False - LinkConstraintEnableTransMotor = True - LinkConstraintTransMotorMaxVel = 5.0 - LinkConstraintTransMotorMaxForce = 0.1 ; Whether to mesh sculpties MeshSculptedPrim = true -- cgit v1.1 From 9c590e51b6a1457ccb9eaee525d1e5a244b50274 Mon Sep 17 00:00:00 2001 From: PixelTomsen Date: Sun, 13 Jan 2013 20:18:40 +0100 Subject: IRCBridgeModule: optional agent-alertbox for IRC enabled Regions look in OpenSimDefaults.ini / section [IRC] http://opensimulator.org/mantis/view.php?id=6470 idea: https://github.com/ssm2017/IrcBridgeAlert --- bin/OpenSimDefaults.ini | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 45c3d40..54b88b4 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1109,6 +1109,17 @@ ;exclude_list=User 1,User 2,User 3 + ;;Shows modal alertbox for entering agent on IRC enabled regions + ;; + ;; Enable Alert, default = false + ;alert_show = false + ;; + ;; Show IRC serverinfo, default = true + ;alert_show_serverinfo = true + ;; + ;alert_msg_pre = "This region is linked to Irc." + ;alert_msg_post = "Everything you say in public chat can be listened." + ; The following settings control the progression of daytime ; in the Sim. The defaults are the same as the commented out settings -- cgit v1.1 From 2c517d792f0440c2705458e01a5067628b6b2c7c Mon Sep 17 00:00:00 2001 From: teravus Date: Sun, 20 Jan 2013 08:18:16 -0500 Subject: This updates prebuild to remove BulletSimN, implements the BulletSim API in BulletSPlugin using the BulletXNA Bullet physics engine. It also updates the BulletXNA library to be compatible with the changes. OpenSimDefaults has been updated to describe how to switch engines and terrain implementations. --- bin/BulletXNA.dll | Bin 614400 -> 614400 bytes bin/BulletXNA.pdb | Bin 1875456 -> 1969664 bytes bin/OpenSimDefaults.ini | 14 ++++++++++++++ 3 files changed, 14 insertions(+) (limited to 'bin') diff --git a/bin/BulletXNA.dll b/bin/BulletXNA.dll index 1e3f042..5e69b2e 100644 Binary files a/bin/BulletXNA.dll and b/bin/BulletXNA.dll differ diff --git a/bin/BulletXNA.pdb b/bin/BulletXNA.pdb index 4b83b83..3d4906f 100644 Binary files a/bin/BulletXNA.pdb and b/bin/BulletXNA.pdb differ diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 54b88b4..889865b 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -908,6 +908,19 @@ [BulletSim] ; World parameters + + ; There are two bullet physics libraries, bulletunmanaged is the default and is a native c++ dll + ; bulletxna is a managed C# dll. They have comparible functionality.. the c++ is much faster. + + BulletEngine = "bulletunmanaged" + ; BulletEngine = "bulletxna" + + ; Terrain Implementation {1|0} 0 for HeightField, 1 for Mesh terrain. If you're using the bulletxna engine, + ; you will want to switch to the heightfield option + + TerrainImplementation = 1 + ; TerrainImplementation = 0 + DefaultFriction = 0.20 DefaultDensity = 10.000006836 DefaultRestitution = 0.0 @@ -959,6 +972,7 @@ PhysicsLoggingEnabled = False PhysicsLoggingDir = "." VehicleLoggingEnabled = False + [RemoteAdmin] enabled = false -- cgit v1.1 From c51cae8fe81e26e7bb1cb5de1e3fdc505c01fb0a Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 23 Jan 2013 23:57:09 +0000 Subject: Add information on ScriptStopStrategy to [XEngine] in OpenSimDefaults.ini and OpenSim.ini.example. Default remains abort. This setting controls whether scripts are stopped by aborting their threads externally (abort) or by co-operative checks from the compiled script (co-op) co-op should be more stable but this option is experimental. If moving from co-op to abort, existing script DLLs will need to be recompiled. This currently can only be done manually, either by setting DeleteScriptsOnStartup = true for one run or by deleting the script DLL* files in bin/ScriptEngines// One can move from co-op back to abort without recompilation, but reverting back to co-op again will need script recompile --- bin/OpenSim.ini.example | 24 +++++++++++++++++------- bin/OpenSimDefaults.ini | 20 ++++++++++++++------ 2 files changed, 31 insertions(+), 13 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 658b993..0fe44e9 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -749,13 +749,6 @@ ;; The trade-off may be increased memory usage by the script engine. ; ThreadStackSize = 262144 - ;# {DeleteScriptsOnStartup} {} {Delete previously compiled script DLLs on startup?} (true false) true - ;; Controls whether previously compiled scripts DLLs are deleted on sim restart. If you set this to false - ;; then startup will be considerably faster since scripts won't need to be recompiled. However, then it becomes your responsibility to delete the - ;; compiled scripts if you're recompiling OpenSim from source code and internal interfaces used - ;; by scripts have changed. - ; DeleteScriptsOnStartup = true - ;; Set this to true (the default) to load each script into a separate ;; AppDomain. ;; @@ -768,6 +761,23 @@ ;; Some Windows users have also reported script loading problems when AppDomainLoading = false ; AppDomainLoading = true + ;; Controls whether scripts are stopped by aborting their threads externally (abort) or by co-operative checks from the compiled script (co-op) + ;; co-op will be more stable but this option is currently experimental. + ;; If moving from co-op to abort, existing script DLLs will need to be recompiled. + ;; This currently can only be done manually, either by setting DeleteScriptsOnStartup = true for one run + ;; or by deleting the script DLL* files in bin/ScriptEngines// + ;; One can move from co-op back to abort without recompilation, but reverting back to co-op again will need script recompile + ;; Current valid values are "abort" and "co-op" + ; ScriptStopStrategy = abort + + + ;# {DeleteScriptsOnStartup} {} {Delete previously compiled script DLLs on startup?} (true false) true + ;; Controls whether previously compiled scripts DLLs are deleted on sim restart. If you set this to false + ;; then startup will be considerably faster since scripts won't need to be recompiled. However, then it becomes your responsibility to delete the + ;; compiled scripts if you're recompiling OpenSim from source code and internal interfaces used + ;; by scripts have changed. + ; DeleteScriptsOnStartup = true + ;# {DefaultCompileLanguage} {Enabled:true} {Default script language?} {lsl vb cs} lsl ;; Default language for scripts ; DefaultCompileLanguage = "lsl" diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 45c3d40..391fb0c 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1290,6 +1290,20 @@ ; script assemblies AppDomainLoading = true + ; Controls whether previously compiled scripts DLLs are deleted on sim restart. If you set this to false + ; then startup will be considerably faster since scripts won't need to be recompiled. However, then it becomes your responsibility to delete the + ; compiled scripts if you're recompiling OpenSim from source code and internal interfaces used + ; by scripts have changed. + ; DeleteScriptsOnStartup = false + + ; Controls whether scripts are stopped by aborting their threads externally (abort) or by co-operative checks from the compiled script (co-op) + ; co-op will be more stable but this option is currently experimental. + ; If moving from co-op to abort, existing script DLLs will need to be recompiled. + ; This currently can only be done manually, either by setting DeleteScriptsOnStartup = true for one run + ; or by deleting the script DLL* files in bin/ScriptEngines// + ; One can move from co-op back to abort without recompilation, but reverting back to co-op again will need script recompile + ScriptStopStrategy = abort + ; Rate to poll for asynchronous command replies (ms) ; currently unused ;AsyncLLCommandLoopms = 50 @@ -1391,12 +1405,6 @@ ;; Path to script assemblies ; ScriptEnginesPath = "ScriptEngines" - ; Controls whether previously compiled scripts DLLs are deleted on sim restart. If you set this to false - ; then startup will be considerably faster since scripts won't need to be recompiled. However, then it becomes your responsibility to delete the - ; compiled scripts if you're recompiling OpenSim from source code and internal interfaces used - ; by scripts have changed. - ; DeleteScriptsOnStartup = false - [Concierge] ; Enable concierge module -- cgit v1.1 From 1c3d84fe03811aad3896031a6391bd37e140f80c Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Wed, 23 Jan 2013 16:14:15 -0800 Subject: BulletSim: pass up and report the real collision penetration. --- bin/lib32/BulletSim.dll | Bin 551424 -> 551424 bytes bin/lib32/libBulletSim.so | Bin 1720142 -> 1720231 bytes bin/lib64/BulletSim.dll | Bin 700416 -> 700416 bytes bin/lib64/libBulletSim.so | Bin 1858627 -> 1858716 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 014eca4..b46837f 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index 5e4d8cc..a2e6f3c 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index d00549e..0a1faf3 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index b94e264..36674f0 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From ba9d6b7337d7e95a9c8d3bd7f2e98c323f1a00be Mon Sep 17 00:00:00 2001 From: teravus Date: Thu, 24 Jan 2013 07:11:32 -0500 Subject: * Repairs the Object updates, Collision updates, and Child Prim methods making the bulletXNA engine work again. * The only thing that had an issue was when creating a new RigidBody, BulletXNA didn't know the type SimMotionState and the upcast type is unknown in the constructor. Therefore, I had to update the IMotionState with a new method 'SetBody'. All of the duplicated type information has been removed and BulletXNA is not relying on any non-standard types external to the library. --- bin/BulletXNA.dll | Bin 614400 -> 610304 bytes bin/BulletXNA.pdb | Bin 1969664 -> 1963520 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/BulletXNA.dll b/bin/BulletXNA.dll index 5e69b2e..bfaac4f 100644 Binary files a/bin/BulletXNA.dll and b/bin/BulletXNA.dll differ diff --git a/bin/BulletXNA.pdb b/bin/BulletXNA.pdb index 3d4906f..ecab22f 100644 Binary files a/bin/BulletXNA.pdb and b/bin/BulletXNA.pdb differ -- cgit v1.1 From 427ab219b8ecf7f039d03ed3067e183db1434fb2 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 24 Jan 2013 10:44:57 -0800 Subject: Add JSONification of WebStats module. Adds a '?json' query parameter to the fetch URL to return the data in JSON format. Also adds a simple 'sim.html' that uses JavaScript to display the JSON data. Not pretty but an example. --- bin/data/LICENSE-README-IMPORTANT.txt | 2 +- bin/data/sim.css | 85 ++++++++++ bin/data/sim.html | 291 ++++++++++++++++++++++++++++++++++ 3 files changed, 377 insertions(+), 1 deletion(-) create mode 100644 bin/data/sim.css create mode 100644 bin/data/sim.html (limited to 'bin') diff --git a/bin/data/LICENSE-README-IMPORTANT.txt b/bin/data/LICENSE-README-IMPORTANT.txt index 86e401f..a1ac20c 100644 --- a/bin/data/LICENSE-README-IMPORTANT.txt +++ b/bin/data/LICENSE-README-IMPORTANT.txt @@ -2,4 +2,4 @@ Not all of the files in this directory are licensed under the BSD license. Some These files are: -- avataranimations.xml (Derivative work of viewerart.ini, Creative Commons Attribution+Share-Alike v2.5 License) \ No newline at end of file +- avataranimations.xml (Derivative work of viewerart.ini, Creative Commons Attribution+Share-Alike v2.5 License) diff --git a/bin/data/sim.css b/bin/data/sim.css new file mode 100644 index 0000000..e584a1a --- /dev/null +++ b/bin/data/sim.css @@ -0,0 +1,85 @@ +body { + font-family: Veranda,Arial,Helvetica,sans-serif; + font-size: 12px; + background: #4A5F6D; + color: #EEEAD6; + padding: 0px; + margin: 0px; +} +.footer { + font-family: Veranda,Arial,Helvetica,sans-serif; + font-size: 10px; +} +td { + font-family: Veranda,Arial,Helvetica,sans-serif; + font-size: 12px; + padding: 4px; + margin: 4px; +} +blockquote { + font-family: Veranda,Arial,Helvetica,sans-serif; + font-style: italic; + font-size: 12px; +} +pre { + padding: 5px; + background-color: #8080B0; + color: #000000; + margin-left: 20px; + font-size: 11px; +} +:link { + color: #ffffff; +} +:visited { + color: #d0d0d0; +} +.SimSectionHeader { + font-size: 120%; +} +div.SimSectionContainer { + padding: 10px 0px 0px 20px; +} +/* SimStats ===================================== */ +#SimSimStats div { + margin-left: 20px; + background: #3A4F5D; +} +#SimSimStats table td { + text-align: right; + padding: 0px 0px 0px 5px; + margin: 0px 0px 0px 0px; +} +/* Region Stats ===================================== */ +#SimRegionStats div { + margin-left: 20px; + background: #3A4F5D; +} +#SimRegionStats table { + border: 1px; + border-style: solid; +} +#SimRegionStats table td { + text-align: right; + padding: 0px 0px 0px 5px; + margin: 0px 0px 0px 0px; +} +/* Session Stats ===================================== */ +#SimSessionStats div { + margin-left: 20px; + background: #3A4F5D; +} +#SimSessionStats table td { + text-align: right; + padding: 0px 0px 0px 5px; + margin: 0px 0px 0px 0px; +} +/* LogFile ===================================== */ +#SimLogFile div { + margin-left: 20px; +} +#SimLogFile table td { + text-align: right; + padding: 0px 0px 0px 5px; + margin: 0px 0px 0px 0px; +} diff --git a/bin/data/sim.html b/bin/data/sim.html new file mode 100644 index 0000000..82d4789 --- /dev/null +++ b/bin/data/sim.html @@ -0,0 +1,291 @@ + + + +Simulator statistics + + + + + + + + + +
+
+ + + + + +
+Region Stats +
+
+
+ + +
+Sessions +
+
+
+ + +
+Log File +
+
+
+ + +
+
+
+ + -- cgit v1.1 From 2cd56014a7dfb93d450720278897fbd4b05a1e3e Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Mon, 28 Jan 2013 06:21:51 -0800 Subject: BulletSim: update Bullet with profiling disabled. This seems to fix the memory leak problem. --- bin/lib32/BulletSim.dll | Bin 551424 -> 545792 bytes bin/lib32/libBulletSim.so | Bin 1720231 -> 1689992 bytes bin/lib64/BulletSim.dll | Bin 700416 -> 693248 bytes bin/lib64/libBulletSim.so | Bin 1858716 -> 1834903 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index b46837f..d8be6c7 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index a2e6f3c..e188cbf 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 0a1faf3..5403913 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index 36674f0..a695fa4 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From e9aff0a91d6a4d02498ce45759389bb09b34fcbc Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Mon, 28 Jan 2013 15:11:50 -0800 Subject: BulletSim: do not zero an avatar's standing velocity if it is standing on a moving object. Rearrange pre/post action subscription code to put more in locks. Add meshmerizer params to BulletSimTestUtil scene creation (and fix line endings). Rebuilt version of DLLs and SOs with cleaned up code and no profiling for sure. --- bin/lib32/BulletSim.dll | Bin 545792 -> 545280 bytes bin/lib32/libBulletSim.so | Bin 1689992 -> 1690012 bytes bin/lib64/BulletSim.dll | Bin 693248 -> 693248 bytes bin/lib64/libBulletSim.so | Bin 1834903 -> 1834927 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index d8be6c7..24dffac 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index e188cbf..7e3ed20 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 5403913..808f433 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index a695fa4..9382751 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From ce4faf497f0f3a24548ad517b10e79241dfc5b7d Mon Sep 17 00:00:00 2001 From: BlueWall Date: Wed, 30 Jan 2013 23:41:32 -0500 Subject: Add config option to Regions.ini for new maptile feature --- bin/Regions/Regions.ini.example | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/Regions/Regions.ini.example b/bin/Regions/Regions.ini.example index 54a841d..f5282a7 100644 --- a/bin/Regions/Regions.ini.example +++ b/bin/Regions/Regions.ini.example @@ -45,3 +45,4 @@ ExternalHostName = "SYSTEMIP" ; * ; RegionType = "Mainland" +; MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" -- cgit v1.1 From 9588328242f4004446b5cc08251995b8d004b4f2 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Sat, 2 Feb 2013 00:59:26 +0000 Subject: Stop exceptions being thrown if GenerateMapTiles = false but no static map tile has been set. Do more informative warn instead. --- bin/OpenSim.ini.example | 7 ++++--- bin/OpenSimDefaults.ini | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 0fe44e9..653de5c 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -269,9 +269,10 @@ ; DefaultScriptEngine = "XEngine" ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true - ;; Map tile options. You can choose to generate no map tiles at all, - ;; generate normal maptiles, or nominate an uploaded texture to - ;; be the map tile + ;; Map tile options. You can choose to generate normal maptiles or nominate an uploaded texture to + ;; be the map tile using the MaptileStaticUUID parameter in this section or for individual regions in + ;; the regions config file(s). If you do not want to upload map tiles at all, then you will need + ;; to disable the MapImageServiceModule entirely. ; GenerateMaptiles = true ;# {MaptileRefresh} {GenerateMaptiles} {Maptile refresh period?} {} 0 diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index c60579b..6ebdb96 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1,6 +1,20 @@ ; This file contains defaults for various settings in OpenSimulator. These can be overriden ; by changing the same setting in OpenSim.ini (once OpenSim.ini.example has been copied to OpenSim.ini). +[XMLRPC] + ;# {XmlRpcRouterModule} {} {Module used to route incoming llRemoteData calls} {XmlRpcRouterModule XmlRpcGridRouterModule} XmlRpcRouterModule + ;; If enabled and set to XmlRpcRouterModule, this will post an event, + ;; "xmlrpc_uri(string)" to the script concurrently with the first + ;; remote_data event. This will contain the fully qualified URI an + ;; external site needs to use to send XMLRPC requests to that script + ;; + ;; If enabled and set to XmlRpcGridRouterModule, newly created channels + ;; will be registered with an external service via a configured uri + XmlRpcRouterModule = "XmlRpcRouterModule" + + ;# {XmlRpcPort} {} {Port for incoming llRemoteData xmlrpc calls} {} 20800 + XmlRpcPort = 20800 + [Startup] ; Console prompt -- cgit v1.1 From 80d9b336ff996741022ce9b1e7c95a650d15c465 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Mon, 4 Feb 2013 07:07:36 +0000 Subject: Remove [XMLRPC] section I added by accident to the top of OpenSimDefaults.ini in previous commit 95883282 --- bin/OpenSimDefaults.ini | 15 --------------- 1 file changed, 15 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 6ebdb96..9119273 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1,21 +1,6 @@ ; This file contains defaults for various settings in OpenSimulator. These can be overriden ; by changing the same setting in OpenSim.ini (once OpenSim.ini.example has been copied to OpenSim.ini). -[XMLRPC] - ;# {XmlRpcRouterModule} {} {Module used to route incoming llRemoteData calls} {XmlRpcRouterModule XmlRpcGridRouterModule} XmlRpcRouterModule - ;; If enabled and set to XmlRpcRouterModule, this will post an event, - ;; "xmlrpc_uri(string)" to the script concurrently with the first - ;; remote_data event. This will contain the fully qualified URI an - ;; external site needs to use to send XMLRPC requests to that script - ;; - ;; If enabled and set to XmlRpcGridRouterModule, newly created channels - ;; will be registered with an external service via a configured uri - XmlRpcRouterModule = "XmlRpcRouterModule" - - ;# {XmlRpcPort} {} {Port for incoming llRemoteData xmlrpc calls} {} 20800 - XmlRpcPort = 20800 - - [Startup] ; Console prompt ; Certain special characters can be used to customize the prompt -- cgit v1.1 From 1dc09d8e8f4a6caa321d0227722af97ee4aeed6a Mon Sep 17 00:00:00 2001 From: teravus Date: Tue, 5 Feb 2013 18:02:25 -0500 Subject: We're not really done here.. but we're getting there. Socket Read is working.. Still have to do Header.ToBytes and compose a websocket frame with a payload. --- bin/HttpServer_OpenSim.dll | Bin 115712 -> 116224 bytes bin/HttpServer_OpenSim.pdb | Bin 413184 -> 302592 bytes bin/HttpServer_OpenSim.xml | 6398 ++++++++++++++++++++++---------------------- 3 files changed, 3199 insertions(+), 3199 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index d910bb9..9cd1e08 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index b9161e1..d20a0c5 100644 Binary files a/bin/HttpServer_OpenSim.pdb and b/bin/HttpServer_OpenSim.pdb differ diff --git a/bin/HttpServer_OpenSim.xml b/bin/HttpServer_OpenSim.xml index d31bcca..fa88fc7 100644 --- a/bin/HttpServer_OpenSim.xml +++ b/bin/HttpServer_OpenSim.xml @@ -4,547 +4,659 @@ HttpServer_OpenSim - - - A session store is used to store and load sessions on a media. - The default implementation () saves/retrieves sessions from memory. - - - + - Creates a new http session with a generated id. + Delegate used to find a realm/domain. - A object + + + + Realms are used during HTTP Authentication + + + - + - Creates a new http session with a specific id + A complete HTTP server, you need to add a module to it to be able to handle incoming requests. - Id used to identify the new cookie.. - A object. - - Id should be generated by the store implementation if it's null or . - + + + // this small example will add two web site modules, thus handling + // two different sites. In reality you should add Controller modules or something + // two the website modules to be able to handle different requests. + HttpServer server = new HttpServer(); + server.Add(new WebSiteModule("www.gauffin.com", "Gauffin Telecom AB")); + server.Add(new WebSiteModule("www.vapadi.se", "Remote PBX")); + + // start regular http + server.Start(IPAddress.Any, 80); + + // start https + server.Start(IPAddress.Any, 443, myCertificate); + + + + + - + - Load an existing session. + Initializes a new instance of the class. - Session id (usually retrieved from a client side cookie). - A session if found; otherwise null. + Used to get all components used in the server.. - + - Save an updated session to the store. + Initializes a new instance of the class. - Session id (usually retrieved from a client side cookie). - If Id property have not been specified. - + - We use the flyweight pattern which reuses small objects - instead of creating new each time. + Initializes a new instance of the class. - Unused session that should be reused next time Create is called. + Form decoders are used to convert different types of posted data to the object types. + + - + - Remove expired sessions + Initializes a new instance of the class. + A session store is used to save and retrieve sessions + - + - Remove a session + Initializes a new instance of the class. - id of the session. + The log writer. + - + - Load a session from the store + Initializes a new instance of the class. - - null if session is not found. + Form decoders are used to convert different types of posted data to the object types. + The log writer. + + + - + - Number of minutes before a session expires. + Initializes a new instance of the class. - Default time is 20 minutes. + Form decoders are used to convert different types of posted data to the object types. + A session store is used to save and retrieve sessions + The log writer. + + + + - + - Contains server side HTTP request information. + Adds the specified rule. + The rule. - + - Called during parsing of a . + Add a to the server. - Name of the header, should not be URL encoded - Value of the header, should not be URL encoded - If a header is incorrect. + mode to add - + - Add bytes to the body + Decodes the request body. - buffer to read bytes from - where to start read - number of bytes to read - Number of bytes actually read (same as length unless we got all body bytes). - If body is not writable - bytes is null. - offset is out of range. + The request. + Failed to decode form data. - + - Clear everything in the request + Generate a HTTP error page (that will be added to the response body). + response status code is also set. + Response that the page will be generated in. + . + response body contents. - + - Decode body into a form. + Generate a HTTP error page (that will be added to the response body). + response status code is also set. - A list with form decoders. - If body contents is not valid for the chosen decoder. - If body is still being transferred. + Response that the page will be generated in. + exception. - + - Sets the cookies. + Realms are used by the s. - The cookies. + HTTP request + domain/realm. - + - Create a response object. + Process an incoming request. - Context for the connected client. - A new . + connection to client + request information + response that should be filled + session information - + - Gets kind of types accepted by the client. + Can be overloaded to implement stuff when a client have been connected. + + Default implementation does nothing. + + client that disconnected + disconnect reason - + - Gets or sets body stream. + Handle authentication + + + + true if request can be handled; false if not. + Invalid authorization header - + - Gets whether the body is complete. + Will request authentication. + + Sends respond to client, nothing else can be done with the response after this. + + + + - + - Gets or sets kind of connection used for the session. + Received from a when a request have been parsed successfully. + that received the request. + The request. - + - Gets or sets number of bytes in the body. + To be able to track request count. + + - + - Gets cookies that was sent with the request. + Start the web server using regular HTTP. + IP Address to listen on, use IpAddress.Any to accept connections on all IP addresses/network cards. + Port to listen on. 80 can be a good idea =) + address is null. + Port must be a positive number. - + - Gets form parameters. + Accept secure connections. + IP Address to listen on, use to accept connections on all IP Addresses / network cards. + Port to listen on. 80 can be a good idea =) + Certificate to use + address is null. + Port must be a positive number. - + - Gets headers sent by the client. + shut down the server and listeners - + - Gets or sets version of HTTP protocol that's used. + write an entry to the log file - - Probably or . - - + importance of the message + log message - + - Gets whether the request was made by Ajax (Asynchronous JavaScript) + write an entry to the log file + object that wrote the message + importance of the message + log message - + - Gets or sets requested method. + Server that is handling the current request. - Will always be in upper case. + Will be set as soon as a request arrives to the object. - - + - Gets parameter from or . - - - - - Gets variables sent in the query string + Modules used for authentication. The module that is is added first is used as + the default authentication module. + Use the corresponding property + in the if you are using multiple websites. - + - Gets or sets requested URI. + Form decoder providers are used to decode request body (which normally contains form data). - + - Gets URI absolute path divided into parts. + Server name sent in HTTP responses. - - // URI is: http://gauffin.com/code/tiny/ - Console.WriteLine(request.UriParts[0]); // result: code - Console.WriteLine(request.UriParts[1]); // result: tiny - - If you're using controllers than the first part is controller name, - the second part is method name and the third part is Id property. + Do NOT include version in name, since it makes it + easier for hackers. - - + - Gets or sets path and query. + Name of cookie where session id is stored. - - - Are only used during request parsing. Cannot be set after "Host" header have been - added. - - + - Class that receives Requests from a . + Specified where logging should go. + + + - + - Client have been disconnected. + Number of connections that can wait to be accepted by the server. - Client that was disconnected. - Reason - + Default is 10. - + - Invoked when a client context have received a new HTTP request + Gets or sets maximum number of allowed simultaneous requests. - Client that received the request. - Request that was received. - + + + This property is useful in busy systems. The HTTP server + will start queuing new requests if this limit is hit, instead + of trying to process all incoming requests directly. + + + The default number if allowed simultaneous requests are 10. + + - + - Delegate used by to populate select options. + Gets or sets maximum number of requests queuing to be handled. - current object (for instance a User). - Text that should be displayed in the value part of a <optiongt;-tag. - Text shown in the select list. - - // Class that is going to be used in a SELECT-tag. - public class User - { - private readonly string _realName; - private readonly int _id; - public User(int id, string realName) - { - _id = id; - _realName = realName; - } - public string RealName - { - get { return _realName; } - } - - public int Id - { - get { return _id; } - } - } - - // Using an inline delegate to generate the select list - public void UserInlineDelegate() - { - List<User> items = new List<User>(); - items.Add(new User(1, "adam")); - items.Add(new User(2, "bertial")); - items.Add(new User(3, "david")); - string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value) - { - User user = (User)o; - id = user.Id; - value = user.RealName; - }, 2, true); - } - - // Using an method as delegate to generate the select list. - public void UseExternalDelegate() - { - List<User> items = new List<User>(); - items.Add(new User(1, "adam")); - items.Add(new User(2, "bertial")); - items.Add(new User(3, "david")); - string htmlSelect = Select("users", "users", items, UserOptions, 1, true); - } - - // delegate returning id and title - public static void UserOptions(object o, out object id, out object title) - { - User user = (User)o; - id = user.Id; - value = user.RealName; - } /// + + + The WebServer will start turning requests away if response code + to indicate that the server + is too busy to be able to handle the request. + + - + - The server understood the request, but is refusing to fulfill it. - Authorization will not help and the request SHOULD NOT be repeated. - If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled, - it SHOULD describe the reason for the refusal in the entity. If the server does not wish to make this information - available to the client, the status code 404 (Not Found) can be used instead. - - Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php + Realms are used during HTTP authentication. + Default realm is same as server name. - + - All HTTP based exceptions will derive this class. + Let's to receive unhandled exceptions from the threads. + + Exceptions will be thrown during debug mode if this event is not used, + exceptions will be printed to console and suppressed during release mode. + - + - Create a new HttpException + Serves files that are stored in embedded resources. - http status code (sent in the response) - error description - + - Create a new HttpException + A HttpModule can be used to serve Uri's. The module itself + decides if it should serve a Uri or not. In this way, you can + get a very flexible http application since you can let multiple modules + serve almost similar urls. - http status code (sent in the response) - error description - inner exception + + Throw if you are using a and want to prompt for user name/password. + - + - status code to use in the response. + Method that process the url + Information sent by the browser about the request + Information that is being sent back to the client. + Session used to + true if this module handled the request. - + - Initializes a new instance of the class. + Set the log writer to use. - error message + logwriter to use. - + - A session stored in memory. + Log something. + importance of log message + message - + - Interface for sessions + If true specifies that the module doesn't consume the processing of a request so that subsequent modules + can continue processing afterwards. Default is false. - + - Remove everything from the session + Initializes a new instance of the class. + Runs to make sure the basic mime types are available, they can be cleared later + through the use of if desired. - + - Remove everything from the session + Initializes a new instance of the class. + Runs to make sure the basic mime types are available, they can be cleared later + through the use of if desired. - True if the session is cleared due to expiration + The log writer to use when logging events - + - Session id + Mimtypes that this class can handle per default - + - Should + Loads resources from a namespace in the given assembly to an uri - Name of the session variable - null if it's not set - If the object cant be serialized. + The uri to map the resources to + The assembly in which the resources reside + The namespace from which to load the resources + + resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); + + will make ie the resource MyLib.Models.User.Views.stylesheet.css accessible via /user/stylesheet.css + + The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded - + - When the session was last accessed. - This property is touched by the http server each time the - session is requested. + Returns true if the module can handle the request - + - Number of session variables. + Method that process the url + Information sent by the browser about the request + Information that is being sent back to the client. + Session used to + true if this module handled the request. - + - Event triggered upon clearing the session + List with all mime-type that are allowed. + All other mime types will result in a Forbidden http status code. - + - + Contains some kind of input from the browser/client. + can be QueryString, form data or any other request body content. - A unique id used by the sessions store to identify the session - + - Id + Base class for request data containers - - + - Remove everything from the session + Adds a parameter mapped to the presented name + The name to map the parameter to + The parameter value - + - Clears the specified expire. + Returns true if the container contains the requested parameter - True if the session is cleared due to expiration + Parameter id + True if parameter exists - + - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + Returns a request parameter - 2 + The name associated with the parameter + - + + Representation of a non-initialized class instance + + + Variable telling the class that it is non-initialized + + - Session id + Initializes a new instance of the class. + form name. - + - Should + Initializes a new instance of the class. - Name of the session variable - null if it's not set + form name. + if set to true all changes will be ignored. + this constructor should only be used by Empty - + + Creates a deep copy of the HttpInput class + The object to copy + The function makes a deep copy of quite a lot which can be slow + + - when the session was last accessed. + Add a new element. Form array elements are parsed + and added in a correct hierarchy. - - Used to determine when the session should be removed. - + Name is converted to lower case. + + name is null. + Cannot add stuff to . - + - Number of values in the session + Returns true if the class contains a with the corresponding name. + The field/query string name + True if the value exists - + - Flag to indicate that the session have been changed - and should be saved into the session store. + Parses an item and returns it. + This function is primarily used to parse array items as in user[name]. + + + - + + Outputs the instance representing all its values joined together + + + + Returns all items as an unescaped query string. + + + - Event triggered upon clearing the session + Extracts one parameter from an array + Containing the string array + All but the first value + + string test1 = ExtractOne("system[user][extension][id]"); + string test2 = ExtractOne(test1); + string test3 = ExtractOne(test2); + // test1 = user[extension][id] + // test2 = extension[id] + // test3 = id + - + + Resets all data contained by class + + - cookie being sent back to the browser. + Returns an enumerator that iterates through the collection. - + + + A that can be used to iterate through the collection. + + 1 - + - cookie sent by the client/browser + Returns an enumerator that iterates through a collection. - + + + An object that can be used to iterate through the collection. + + 2 - + - Constructor. + Form name as lower case - cookie identifier - cookie content - id or content is null - id is empty - + - Gets the cookie HTML representation. + Get a form item. - cookie string + + Returns if item was not found. - + - Gets the cookie identifier. + The server understood the request, but is refusing to fulfill it. + Authorization will not help and the request SHOULD NOT be repeated. + If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled, + it SHOULD describe the reason for the refusal in the entity. If the server does not wish to make this information + available to the client, the status code 404 (Not Found) can be used instead. + + Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php - + - Cookie value. Set to null to remove cookie. + All HTTP based exceptions will derive this class. - + - Constructor. + Create a new HttpException - cookie identifier - cookie content - cookie expiration date. Use DateTime.MinValue for session cookie. - id or content is null - id is empty + http status code (sent in the response) + error description - + - Create a new cookie + Create a new HttpException - name identifying the cookie - cookie value - when the cookie expires. Setting DateTime.MinValue will delete the cookie when the session is closed. - Path to where the cookie is valid - Domain that the cookie is valid for. + http status code (sent in the response) + error description + inner exception - + - Create a new cookie + status code to use in the response. - Name and value will be used - when the cookie expires. - + - Gets the cookie HTML representation. + Initializes a new instance of the class. - cookie string + error message - + - When the cookie expires. - DateTime.MinValue means that the cookie expires when the session do so. + This class is created as a wrapper, since there are two different cookie types in .Net (Cookie and HttpCookie). + The framework might switch class in the future and we dont want to have to replace all instances - + - Cookie is only valid under this path. + Let's copy all the cookies. + + value from cookie header. + + + + Adds a cookie in the collection. + + cookie to add + cookie is null + + + + Gets a collection enumerator on the cookie list. + + collection enumerator + + + + Remove all cookies. + + + + + Returns an enumerator that iterates through the collection. + + + + A that can be used to iterate through the collection. + + 1 + + + + Remove a cookie from the collection. + + Name of cookie. + + + + Gets the count of cookies in the collection. + + + + + Gets the cookie of a given identifier (null if not existing). @@ -660,102 +772,130 @@ Gets received request.
- + - Contains a listener that doesn't do anything with the connections. + Returns item either from a form or a query string (checks them in that order) - + + Representation of a non-initialized HttpParam + + + Initialises the class to hold a value either from a post request or a querystring request + + - Listen for regular HTTP connections + The add method is not availible for HttpParam + since HttpParam checks both Request.Form and Request.QueryString - IP Address to accept connections on - TCP Port to listen on, default HTTP port is 80. - Factory used to create es. - address is null. - Port must be a positive number. + name identifying the value + value to add + - + - Initializes a new instance of the class. + Checks whether the form or querystring has the specified value - IP Address to accept connections on - TCP Port to listen on, default HTTPS port is 443 - Factory used to create es. - Certificate to use + Name, case sensitive + true if found; otherwise false. - + - Initializes a new instance of the class. + Returns an enumerator that iterates through the collection. - IP Address to accept connections on - TCP Port to listen on, default HTTPS port is 443 - Factory used to create es. - Certificate to use - which HTTPS protocol to use, default is TLS. + + + A that can be used to iterate through the collection. + + 1 - - Exception. + + + Returns an enumerator that iterates through a collection. + + + + An object that can be used to iterate through the collection. + + 2 - + - Will try to accept connections one more time. + Fetch an item from the form or querystring (in that order). - If any exceptions is thrown. + + Item if found; otherwise HttpInputItem.EmptyLanguageNode - + - Can be used to create filtering of new connections. + Container class for posted files - Accepted socket - true if connection can be accepted; otherwise false. - + - Start listen for new connections + Creates a container for a posted file - Number of connections that can stand in a queue to be accepted. - Listener have already been started. + The identifier of the post field + The file path + The content type of the file + The name of the file uploaded + If any parameter is null or empty - + - Stop the listener + Creates a container for a posted file - + If any parameter is null or empty - + + Destructor disposing the file + + - Gives you a change to receive log entries for all internals of the HTTP library. + Deletes the temporary file - - You may not switch log writer after starting the listener. - + True if manual dispose - + - True if we should turn on trace logs. + Disposing interface, cleans up managed resources (the temporary file) and suppresses finalization - + - Catch exceptions not handled by the listener. + The name/id of the file - - Exceptions will be thrown during debug mode if this event is not used, - exceptions will be printed to console and suppressed during release mode. - - + - A request have been received from a . + The full file path - + - + The name of the uploaded file + + + + + The type of file + + + + + This decoder converts XML documents to form items. + Each element becomes a subitem in the form, and each attribute becomes an item. + + // xml: somethingdata + // result: + // form["hello"].Value = "something" + // form["hello"]["id"].Value = 1 + // form["hello"]["world]["id"].Value = 1 + // form["hello"]["world"].Value = "data" + - http://www.faqs.org/rfcs/rfc1867.html + The original xml document is stored in form["__xml__"].Value. @@ -780,257 +920,237 @@ Content type (with any additional info like boundry). Content type is always supplied in lower case. True if the decoder can parse the specified content type - - - multipart/form-data - - - - - form-data - - - + Stream containing the content Content type (with any additional info like boundry). Content type is always supplied in lower case - Stream enconding + Stream encoding + Note: contentType and encoding are not used? A http form, or null if content could not be parsed. - If contents in the stream is not valid input data. - If any parameter is null + - + + + Recursive function that will go through an xml element and store it's content + to the form item. + + (parent) Item in form that content should be added to. + Node that should be parsed. + + Checks if the decoder can handle the mime type Content type (with any additional info like boundry). Content type is always supplied in lower case. True if the decoder can parse the specified content type - + - The requested resource was not found in the web server. + The object form class takes an object and creates form items for it. - + - Create a new exception + Initializes a new instance of the class. - message describing the error - inner exception + + form name *and* id. + action to do when form is posted. + - + - Create a new exception + Initializes a new instance of the class. - message describing the error + form name *and* id. + action to do when form is posted. + object to get values from - + - Delegate used to let authentication modules authenticate the user name and password. + Initializes a new instance of the class. - Realm that the user want to authenticate in - User name specified by client - Can either be user password or implementation specific token. - object that will be stored in a session variable called if authentication was successful. - throw forbidden exception if too many attempts have been made. - - - Use to specify that the token is a HA1 token. (MD5 generated - string from realm, user name and password); Md5String(userName + ":" + realm + ":" + password); - - + form action. + object to get values from. - + - Let's you decide on a system level if authentication is required. + write out the FORM-tag. - HTTP request from client - true if user should be authenticated. - throw if no more attempts are allowed. - If no more attempts are allowed + generated html code - + - Authentication modules are used to implement different - kind of HTTP authentication. + Writeout the form tag + form should be posted through ajax. + generated html code - + - Tag used for authentication. + Generates a text box. + + + generated html code - + - Initializes a new instance of the class. + password box - Delegate used to provide information used during authentication. - Delegate used to determine if authentication is required (may be null). + + + generated html code - + - Initializes a new instance of the class. + Hiddens the specified property name. - Delegate used to provide information used during authentication. + Name of the property. + The options. + generated html code - + - Create a response that can be sent in the WWW-Authenticate header. + Labels the specified property name. - Realm that the user should authenticate in - Array with optional options. - A correct authentication request. - If realm is empty or null. + property in object. + caption + generated html code - + - An authentication response have been received from the web browser. - Check if it's correct + Generate a checkbox - Contents from the Authorization header - Realm that should be authenticated - GET/POST/PUT/DELETE etc. - options to specific implementations - Authentication object that is stored for the request. A user class or something like that. - if is invalid - If any of the parameters is empty or null. - - + property in object + checkbox value + additional html attributes. + generated html code + + - Used to invoke the authentication delegate that is used to lookup the user name/realm. + Write a html select tag - Realm (domain) that user want to authenticate in - User name - Password used for validation. Some implementations got password in clear text, they are then sent to client. - object that will be stored in the request to help you identify the user if authentication was successful. - true if authentication was successful + object property. + id column + The title column. + The options. + - + - Determines if authentication is required. + Selects the specified property name. - HTTP request from browser - true if user should be authenticated. - throw from your delegate if no more attempts are allowed. - If no more attempts are allowed + Name of the property. + The items. + The id column. + The title column. + The options. + - + - name used in HTTP request. + Write a submit tag. + button caption + html submit tag - + - Contains some kind of input from the browser/client. - can be QueryString, form data or any other request body content. + html end form tag + html - + - Base class for request data containers + + + http://www.faqs.org/rfcs/rfc1867.html + - + - Adds a parameter mapped to the presented name + multipart/form-data - The name to map the parameter to - The parameter value - + - Returns true if the container contains the requested parameter + form-data - Parameter id - True if parameter exists - + - Returns a request parameter + - The name associated with the parameter - - - - Representation of a non-initialized class instance - - - Variable telling the class that it is non-initialized + Stream containing the content + Content type (with any additional info like boundry). Content type is always supplied in lower case + Stream enconding + A http form, or null if content could not be parsed. + If contents in the stream is not valid input data. + If any parameter is null - + - Initializes a new instance of the class. + Checks if the decoder can handle the mime type - form name. + Content type (with any additional info like boundry). Content type is always supplied in lower case. + True if the decoder can parse the specified content type - + - Initializes a new instance of the class. + The request could not be understood by the server due to malformed syntax. + The client SHOULD NOT repeat the request without modifications. + + Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php - form name. - if set to true all changes will be ignored. - this constructor should only be used by Empty - - - Creates a deep copy of the HttpInput class - The object to copy - The function makes a deep copy of quite a lot which can be slow - + - Add a new element. Form array elements are parsed - and added in a correct hierarchy. + Create a new bad request exception. - Name is converted to lower case. - - name is null. - Cannot add stuff to . + reason to why the request was bad. - + - Returns true if the class contains a with the corresponding name. + Create a new bad request exception. - The field/query string name - True if the value exists + reason to why the request was bad. + inner exception - + - Parses an item and returns it. - This function is primarily used to parse array items as in user[name]. + Cookies that should be set. - - - - - Outputs the instance representing all its values joined together - + + + Adds a cookie in the collection. + + cookie to add + cookie is null - - Returns all items as an unescaped query string. - + + + Copy a request cookie + + + When the cookie should expire - + - Extracts one parameter from an array + Gets a collection enumerator on the cookie list. - Containing the string array - All but the first value - - string test1 = ExtractOne("system[user][extension][id]"); - string test2 = ExtractOne(test1); - string test3 = ExtractOne(test2); - // test1 = user[extension][id] - // test2 = extension[id] - // test3 = id - + collection enumerator - - Resets all data contained by class + + + Remove all cookies + - + Returns an enumerator that iterates through the collection. @@ -1040,2593 +1160,2516 @@ 1 - + - Returns an enumerator that iterates through a collection. + Gets the count of cookies in the collection. - - - An object that can be used to iterate through the collection. - - 2 - + - Form name as lower case + Gets the cookie of a given identifier (null if not existing). - + - Get a form item. + cookie being sent back to the browser. - - Returns if item was not found. + - + - Small design by contract implementation. + cookie sent by the client/browser + - + - Check whether a parameter is empty. + Constructor. - Parameter value - Parameter name, or error description. - value is empty. + cookie identifier + cookie content + id or content is null + id is empty - + - Checks whether a parameter is null. + Gets the cookie HTML representation. - Parameter value - Parameter name, or error description. - value is null. + cookie string - + - Checks whether a parameter is null. + Gets the cookie identifier. - - Parameter value - Parameter name, or error description. - value is null. - + - Contains all HTTP Methods (according to the HTTP 1.1 specification) - - See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html - + Cookie value. Set to null to remove cookie. - + - The DELETE method requests that the origin server delete the resource identified by the Request-URI. + Constructor. - - - This method MAY be overridden by human intervention (or other means) on the origin server. - The client cannot be guaranteed that the operation has been carried out, even if the status code - returned from the origin server indicates that the action has been completed successfully. - - - However, the server SHOULD NOT indicate success unless, at the time the response is given, - it intends to delete the resource or move it to an inaccessible location. - - - A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, - 202 (Accepted) if the action has not yet been enacted, - or 204 (No Content) if the action has been enacted but the response does not include an entity. - - - If the request passes through a cache and the Request-URI identifies one or more currently cached entities, - those entries SHOULD be treated as stale. Responses to this method are not cacheable. - - - - - - The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. - - - - If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the - entity in the response and not the source text of the process, unless that text happens to be the output of the process. - - - The semantics of the GET method change to a "conditional GET" if the request message includes an - If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. - A conditional GET method requests that the entity be transferred only under the circumstances described - by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network - usage by allowing cached entities to be refreshed without requiring multiple requests or transferring - data already held by the client. - - - - - - The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. - - - The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the - information sent in response to a GET request. This method can be used for obtaining meta information about - the entity implied by the request without transferring the entity-body itself. - - This method is often used for testing hypertext links for validity, accessibility, and recent modification. - - - - - The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI. - - - This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval. - - - - - The POST method is used to request that the origin server accept the entity enclosed - in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. - - - POST is designed to allow a uniform method to cover the following functions: - - - Annotation of existing resources; - - Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles; - - Providing a block of data, such as the result of submitting a form, to a data-handling process; - - Extending a database through an append operation. - - - - If a resource has been created on the origin server, the response SHOULD be 201 (Created) and - contain an entity which describes the status of the request and refers to the new resource, and a - Location header (see section 14.30). - - - The action performed by the POST method might not result in a resource that can be identified by a URI. - In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on - whether or not the response includes an entity that describes the result. - - Responses to this method are not cacheable, unless the response includes appropriate Cache-Control - or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent - to retrieve a cacheable resource. - - - - - - The PUT method requests that the enclosed entity be stored under the supplied Request-URI. - - - - - If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a - modified version of the one residing on the origin server. - - If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new - resource by the requesting user agent, the origin server can create the resource with that URI. - - If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. - - If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to - indicate successful completion of the request. - - If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be - given that reflects the nature of the problem. - - - - The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not - understand or implement and MUST return a 501 (Not Implemented) response in such cases. - - + cookie identifier + cookie content + cookie expiration date. Use DateTime.MinValue for session cookie. + id or content is null + id is empty - + - The TRACE method is used to invoke a remote, application-layer loop- back of the request message. + Create a new cookie + name identifying the cookie + cookie value + when the cookie expires. Setting DateTime.MinValue will delete the cookie when the session is closed. + Path to where the cookie is valid + Domain that the cookie is valid for. - + - Contains all HTTP Methods (according to the HTTP 1.1 specification) - - See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html - + Create a new cookie + Name and value will be used + when the cookie expires. - + - The DELETE method requests that the origin server delete the resource identified by the Request-URI. + Gets the cookie HTML representation. - - - This method MAY be overridden by human intervention (or other means) on the origin server. - The client cannot be guaranteed that the operation has been carried out, even if the status code - returned from the origin server indicates that the action has been completed successfully. - - - However, the server SHOULD NOT indicate success unless, at the time the response is given, - it intends to delete the resource or move it to an inaccessible location. - - - A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, - 202 (Accepted) if the action has not yet been enacted, - or 204 (No Content) if the action has been enacted but the response does not include an entity. - - - If the request passes through a cache and the Request-URI identifies one or more currently cached entities, - those entries SHOULD be treated as stale. Responses to this method are not cacheable. - - + cookie string - + - The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. + When the cookie expires. + DateTime.MinValue means that the cookie expires when the session do so. - - - If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the - entity in the response and not the source text of the process, unless that text happens to be the output of the process. - - - The semantics of the GET method change to a "conditional GET" if the request message includes an - If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. - A conditional GET method requests that the entity be transferred only under the circumstances described - by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network - usage by allowing cached entities to be refreshed without requiring multiple requests or transferring - data already held by the client. - - - + - The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. + Cookie is only valid under this path. - - The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the - information sent in response to a GET request. This method can be used for obtaining meta information about - the entity implied by the request without transferring the entity-body itself. - - This method is often used for testing hypertext links for validity, accessibility, and recent modification. - - + - The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI. + Inversion of control interface. - - This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval. - - + - The POST method is used to request that the origin server accept the entity enclosed - in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. + Add a component instance - - POST is designed to allow a uniform method to cover the following functions: - - - Annotation of existing resources; - - Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles; - - Providing a block of data, such as the result of submitting a form, to a data-handling process; - - Extending a database through an append operation. - - - - If a resource has been created on the origin server, the response SHOULD be 201 (Created) and - contain an entity which describes the status of the request and refers to the new resource, and a - Location header (see section 14.30). - - - The action performed by the POST method might not result in a resource that can be identified by a URI. - In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on - whether or not the response includes an entity that describes the result. - - Responses to this method are not cacheable, unless the response includes appropriate Cache-Control - or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent - to retrieve a cacheable resource. - - + Interface type + Instance to add - + - The PUT method requests that the enclosed entity be stored under the supplied Request-URI. + Get a component. + Interface type + Component if registered, otherwise null. - - - If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a - modified version of the one residing on the origin server. - - If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new - resource by the requesting user agent, the origin server can create the resource with that URI. - - If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. - - If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to - indicate successful completion of the request. - - If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be - given that reflects the nature of the problem. - - - - The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not - understand or implement and MUST return a 501 (Not Implemented) response in such cases. - + Component will get created if needed. - - - The TRACE method is used to invoke a remote, application-layer loop- back of the request message. - - - - - Priority for log entries - - - - - - Very detailed logs to be able to follow the flow of the program. - - - - - Logs to help debug errors in the application - - - + - Information to be able to keep track of state changes etc. + Checks if the specified component interface have been added. + + true if found; otherwise false. - + - Something did not go as we expected, but it's no problem. + Add a component. + Type being requested. + Type being created. - + - Something that should not fail failed, but we can still keep - on going. + Contains a listener that doesn't do anything with the connections. - + - Something failed, and we cannot handle it properly. + Listen for regular HTTP connections + IP Address to accept connections on + TCP Port to listen on, default HTTP port is 80. + Factory used to create es. + address is null. + Port must be a positive number. - + - Interface used to write to log files. + Initializes a new instance of the class. + IP Address to accept connections on + TCP Port to listen on, default HTTPS port is 443 + Factory used to create es. + Certificate to use - + - Write an entry to the log file. + Initializes a new instance of the class. - object that is writing to the log - importance of the log message - the message + IP Address to accept connections on + TCP Port to listen on, default HTTPS port is 443 + Factory used to create es. + Certificate to use + which HTTPS protocol to use, default is TLS. - - - This class writes to the console. It colors the output depending on the logprio and includes a 3-level stacktrace (in debug mode) - - + + Exception. - + - The actual instance of this class. + Will try to accept connections one more time. + If any exceptions is thrown. - + - Logwriters the specified source. + Can be used to create filtering of new connections. - object that wrote the logentry. - Importance of the log message - The message. + Accepted socket + true if connection can be accepted; otherwise false. - + - Get color for the specified logprio + Start listen for new connections - prio for the log entry - A for the prio + Number of connections that can stand in a queue to be accepted. + Listener have already been started. - + - Default log writer, writes everything to null (nowhere). + Stop the listener - + - + - The logging instance. + Gives you a change to receive log entries for all internals of the HTTP library. + + You may not switch log writer after starting the listener. + - + - Writes everything to null + True if we should turn on trace logs. - object that wrote the log entry. - Importance of the log message - The message. - + - Inversion of control interface. + Catch exceptions not handled by the listener. + + Exceptions will be thrown during debug mode if this event is not used, + exceptions will be printed to console and suppressed during release mode. + - + - Add a component instance + A request have been received from a . - Interface type - Instance to add - + - Get a component. + New implementation of the HTTP listener. - Interface type - Component if registered, otherwise null. - Component will get created if needed. + Use the Create methods to create a default listener. - + - Checks if the specified component interface have been added. + Initializes a new instance of the class. - - true if found; otherwise false. + IP Address to accept connections on + TCP Port to listen on, default HTTP port is 80. + Factory used to create es. + address is null. + Port must be a positive number. - + - Add a component. + Initializes a new instance of the class. - Type being requested. - Type being created. + The address. + The port. + The factory. + The certificate. - + - Returns item either from a form or a query string (checks them in that order) + Initializes a new instance of the class. + The address. + The port. + The factory. + The certificate. + The protocol. - - Representation of a non-initialized HttpParam - - - Initialises the class to hold a value either from a post request or a querystring request - - + - The add method is not availible for HttpParam - since HttpParam checks both Request.Form and Request.QueryString + Creates a new instance with default factories. - name identifying the value - value to add - + Address that the listener should accept connections on. + Port that listener should accept connections on. + Created HTTP listener. - + - Checks whether the form or querystring has the specified value + Creates a new instance with default factories. - Name, case sensitive - true if found; otherwise false. + Address that the listener should accept connections on. + Port that listener should accept connections on. + Certificate to use + Created HTTP listener. - + - Returns an enumerator that iterates through the collection. + Creates a new instance with default factories. - - - A that can be used to iterate through the collection. - - 1 + Address that the listener should accept connections on. + Port that listener should accept connections on. + Certificate to use + which HTTPS protocol to use, default is TLS. + Created HTTP listener. - + - Returns an enumerator that iterates through a collection. + Can be used to create filtering of new connections. - + Accepted socket - An object that can be used to iterate through the collection. + true if connection can be accepted; otherwise false. - 2 - + - Fetch an item from the form or querystring (in that order). + A client have been accepted, but not handled, by the listener. - - Item if found; otherwise HttpInputItem.EmptyLanguageNode - - - Container for posted form data - - - Instance to help mark a non-initialized form - - - Initializes a form container with the specified name - + - Makes a deep copy of the input + redirects from one URL to another. - The input to copy - + - Adds a file to the collection of posted files + Rules are used to perform operations before a request is being handled. + Rules can be used to create routing etc. - The file to add - If the file is already added - If file is null - If the instance is HttpForm.EmptyForm which cannot be modified - + - Checks if the form contains a specified file + Process the incoming request. - Field name of the file parameter - True if the file exists - If the instance is HttpForm.EmptyForm which cannot be modified + incoming HTTP request + outgoing HTTP response + true if response should be sent to the browser directly (no other rules or modules will be processed). + + returning true means that no modules will get the request. Returning true is typically being done + for redirects. + + If request or response is null. - + - Retrieves a file held by by the form + Initializes a new instance of the class. - The identifier of the file - The requested file or null if the file was not found - If name is null or empty - If the instance is HttpForm.EmptyForm which cannot be modified - - - Disposes all held HttpFile's and resets values + Absolute path (no server name) + Absolute path (no server name) + + server.Add(new RedirectRule("/", "/user/index")); + - + - Retrieves the number of files added to the + Initializes a new instance of the class. - 0 if no files are added + Absolute path (no server name) + Absolute path (no server name) + true if request should be redirected, false if the request URI should be replaced. + + server.Add(new RedirectRule("/", "/user/index")); + - + - The object form class takes an object and creates form items for it. + Process the incoming request. + incoming HTTP request + outgoing HTTP response + true if response should be sent to the browser directly (no other rules or modules will be processed). + + returning true means that no modules will get the request. Returning true is typically being done + for redirects. + - + - Initializes a new instance of the class. + Gets string to match request URI with. - - form name *and* id. - action to do when form is posted. - + Is compared to request.Uri.AbsolutePath - + - Initializes a new instance of the class. + Gets where to redirect. - form name *and* id. - action to do when form is posted. - object to get values from - + - Initializes a new instance of the class. + Gets whether server should redirect client. - form action. - object to get values from. + + false means that the rule will replace + the current request URI with the new one from this class. + true means that a redirect response is sent to the client. + - + - write out the FORM-tag. + Parses a HTTP request directly from a stream - generated html code - + - Writeout the form tag + Event driven parser used to parse incoming HTTP requests. - form should be posted through ajax. - generated html code + + The parser supports partial messages and keeps the states between + each parsed buffer. It's therefore important that the parser gets + ed if a client disconnects. + - + - Generates a text box. + Parse partial or complete message. - - - generated html code + buffer containing incoming bytes + where in buffer that parsing should start + number of bytes to parse + Unparsed bytes left in buffer. + BadRequestException. - + - password box + Clear parser state. - - - generated html code - + - Hiddens the specified property name. + Current state in parser. - Name of the property. - The options. - generated html code - + - Labels the specified property name. + A request have been successfully parsed. - property in object. - caption - generated html code - + - Generate a checkbox + More body bytes have been received. - property in object - checkbox value - additional html attributes. - generated html code - + - Write a html select tag + Request line have been received. - object property. - id column - The title column. - The options. - - + - Selects the specified property name. + A header have been received. - Name of the property. - The items. - The id column. - The title column. - The options. - - + - Write a submit tag. + Gets or sets the log writer. - button caption - html submit tag - + - html end form tag + Create a new request parser - html + delegate receiving log entries. - + - This provider is used to let us implement any type of form decoding we want without - having to rewrite anything else in the server. + Add a number of bytes to the body + buffer containing more body bytes. + starting offset in buffer + number of bytes, from offset, to read. + offset to continue from. - + - + Remove all state information for the request. - Should contain boundary and type, as in: multipart/form-data; boundary=---------------------------230051238959 - Stream containing form data. - Encoding used when decoding the stream - if no parser was found. - If stream is null or not readable. - If stream contents cannot be decoded properly. - + - Add a decoder. + Parse request line - - + + If line is incorrect + Expects the following format: "Method SP Request-URI SP HTTP-Version CRLF" - + - Number of added decoders. + We've parsed a new header. + Name in lower case + Value, unmodified. + If content length cannot be parsed. - + - Use with care. + Parse a message + bytes to parse. + where in buffer that parsing should start + number of bytes to parse, starting on . + offset (where to start parsing next). + BadRequestException. - + - Decoder used for unknown content types. + Gets or sets the log writer. - + - We dont want to let the server to die due to exceptions thrown in worker threads. - therefore we use this delegate to give you a change to handle uncaught exceptions. + Current state in parser. - Class that the exception was thrown in. - Exception - - Server will throw a InternalServerException in release version if you dont - handle this delegate. - - + - Contains a connection to a browser/client. + A request have been successfully parsed. - - Remember to after you have hooked the event. - - TODO: Maybe this class should be broken up into HttpClientChannel and HttpClientContext? - + - Initializes a new instance of the class. + More body bytes have been received. - true if the connection is secured (SSL/TLS) - client that connected. - Stream used for communication - Used to create a . - Size of buffer to use when reading data. Must be at least 4096 bytes. - If fails - Stream must be writable and readable. - + - Process incoming body bytes. + Request line have been received. - - Bytes - + - + A header have been received. - - - + - Start reading content. + Contains server side HTTP request information. - - Make sure to call base.Start() if you override this method. - - + - Clean up context. - - - Make sure to call base.Cleanup() if you override the method. - + Called during parsing of a . +
+ Name of the header, should not be URL encoded + Value of the header, should not be URL encoded + If a header is incorrect.
- + - Disconnect from client + Add bytes to the body - error to report in the event. + buffer to read bytes from + where to start read + number of bytes to read + Number of bytes actually read (same as length unless we got all body bytes). + If body is not writable + bytes is null. + offset is out of range. - + - Send a response. + Clear everything in the request - Either or - HTTP status code - reason for the status code. - HTML body contents, can be null or empty. - A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty - If is invalid. - + - Send a response. + Decode body into a form. - Either or - HTTP status code - reason for the status code. + A list with form decoders. + If body contents is not valid for the chosen decoder. + If body is still being transferred. - + - Send a response. + Sets the cookies. - + The cookies. - + - send a whole buffer + Create a response object. - buffer to send - + Context for the connected client. + A new . - + - Send data using the stream + Gets kind of types accepted by the client. - Contains data to send - Start position in buffer - number of bytes to send - - - + - This context have been cleaned, which means that it can be reused. + Gets or sets body stream. - + - Context have been started (a new client have connected) + Gets whether the body is complete. - + - Overload to specify own type. + Gets or sets kind of connection used for the session. - - Must be specified before the context is being used. - - + - Using SSL or other encryption method. + Gets or sets number of bytes in the body. - + - Using SSL or other encryption method. + Gets cookies that was sent with the request. - + - Specify which logger to use. + Gets form parameters. - + - Gets or sets the network stream. + Gets headers sent by the client. - + - Gets or sets IP address that the client connected from. + Gets or sets version of HTTP protocol that's used. + + Probably or . + + - + - Gets or sets port that the client connected from. + Gets whether the request was made by Ajax (Asynchronous JavaScript) - + - The context have been disconnected. + Gets or sets requested method. - Event can be used to clean up a context, or to reuse it. + Will always be in upper case. + - + - A request have been received in the context. + Gets parameter from or . - + - Helpers to make XML handling easier + Gets variables sent in the query string - + - Serializes object to XML. + Gets or sets requested URI. - object to serialize. - XML + + + + Gets URI absolute path divided into parts. + + + // URI is: http://gauffin.com/code/tiny/ + Console.WriteLine(request.UriParts[0]); // result: code + Console.WriteLine(request.UriParts[1]); // result: tiny + - Removes name spaces and adds indentation + If you're using controllers than the first part is controller name, + the second part is method name and the third part is Id property. + - + - Create an object from a XML string + Gets or sets path and query. - Type of object - XML string - object + + + Are only used during request parsing. Cannot be set after "Host" header have been + added. + - + - Can handle application/x-www-form-urlencoded + PrototypeJS implementation of the javascript functions. - + + Purpose of this class is to create a javascript toolkit independent javascript helper. - Stream containing the content - Content type (with any additional info like boundry). Content type is always supplied in lower case - Stream encoding - - A HTTP form, or null if content could not be parsed. - - If contents in the stream is not valid input data. - + - Checks if the decoder can handle the mime type + Generates a list with JS options. - Content type (with any additional info like boundry). Content type is always supplied in lower case. - True if the decoder can parse the specified content type + StringBuilder that the options should be added to. + the javascript options. name, value pairs. each string value should be escaped by YOU! + true if we should start with a comma. - + - Invoked when a client have been accepted by the + Removes any javascript parameters from an array of parameters - - Can be used to revoke incoming connections - + The array of parameters to remove javascript params from + An array of html parameters - + - Initializes a new instance of the class. + javascript action that should be added to the "onsubmit" event in the form tag. - The socket. + + All javascript option names should end with colon. + + + JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); + + - + - Client may not be handled. + Requests a url through ajax + url to fetch + optional options in format "key, value, key, value", used in JS request object. + a link tag + All javascript option names should end with colon. + + + JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); + + - + - Accepted socket. + Ajax requests that updates an element with + the fetched content + Url to fetch content from + element to update + optional options in format "key, value, key, value", used in JS updater object. + A link tag. + All javascript option names should end with colon. + + + JSHelper.AjaxUpdater("/user/show/1", "userInfo", "onsuccess:", "alert('Successful!');"); + + - + - Client should be revoked. + A link that pop ups a Dialog (overlay div) + url to contents of dialog + link title + A "a"-tag that popups a dialog when clicked + name/value of html attributes + + WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); + - + - Arguments sent when a is cleared + Close a javascript dialog window/div. + javascript for closing a dialog. + - + - Instantiates the arguments for the event + Creates a new modal dialog window - True if the session is cleared due to expiration + url to open in window. + window title (may not be supported by all js implementations) + + - + - Returns true if the session is cleared due to expiration + Requests a url through ajax + url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself. + optional options in format "key, value, key, value", used in JS request object. All keys should end with colon. + a link tag + onclick attribute is used by this method. + + + // plain text + JSHelper.AjaxRequest("'/user/show/1'"); + + // ajax request using this.href + string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>"; + + - + - Delegate for when a IHttpSession is cleared + Determins if a list of strings contains a specific value - this is being cleared. - Arguments for the clearing + options to check in + value to find + true if value was found + case insensitive - + - Event arguments used when a new header have been parsed. + Ajax requests that updates an element with + the fetched content + URL to fetch. URL is NOT enclosed in quotes by the implementation. You need to do that yourself. + element to update + options in format "key, value, key, value". All keys should end with colon. + A link tag. + + + JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true"); + + - + - Initializes a new instance of the class. + A link that pop ups a Dialog (overlay div) - Name of header. - Header value. + URL to contents of dialog + link title + name, value, name, value + + A "a"-tag that popups a dialog when clicked + + Requires Control.Modal found here: http://livepipe.net/projects/control_modal/ + And the following JavaScript (load it in application.js): + + Event.observe(window, 'load', + function() { + document.getElementsByClassName('modal').each(function(link){ new Control.Modal(link); }); + } + ); + + + + WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); + - + - Initializes a new instance of the class. + create a modal dialog (usually using DIVs) + url to fetch + dialog title + javascript/html attributes. javascript options ends with colon ':'. + - + - Gets or sets header name. + Close a javascript dialog window/div. + javascript for closing a dialog. + - + - Gets or sets header value. + javascript action that should be added to the "onsubmit" event in the form tag. + remember to encapsulate strings in '' + + All javascript option names should end with colon. + + + JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); + + - - Class to handle loading of resource files - - + - Initializes a new instance of the class. + Helpers making it easier to work with forms. + - + - Initializes a new instance of the class. + Used to let the website use different JavaScript libraries. + Default is - logger. - + - Loads resources from a namespace in the given assembly to an URI + Create a <form> tag. - The URI to map the resources to - The assembly in which the resources reside - The namespace from which to load the resources - + name of form + action to invoke on submit + form should be posted as Ajax + HTML code + - resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); + // without options + WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); + + // with options + WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax, "style", "display:inline", "class", "greenForm"); - Will make the resource MyLib.Models.User.Views.list.Haml accessible via /user/list.haml or /user/list/ - - The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded - If a resource has already been mapped to an uri + + HTML attributes or JavaScript options. + Method will ALWAYS be POST. + options must consist of name, value, name, value - + - Retrieves a stream for the specified resource path if loaded otherwise null + Creates a select list with the values in a collection. - Path to the resource to retrieve a stream for - A stream or null if the resource couldn't be found + Name of the SELECT-tag + collection used to generate options. + delegate used to return id and title from objects. + value that should be marked as selected. + First row should contain an empty value. + string containing a SELECT-tag. + - + - Fetch all files from the resource that matches the specified arguments. + Creates a select list with the values in a collection. - The path to the resource to extract - - a list of files if found; or an empty array if no files are found. - - Search path must end with an asterisk for finding arbitrary files + Name of the SELECT-tag + Id of the SELECT-tag + collection used to generate options. + delegate used to return id and title from objects. + value that should be marked as selected. + First row should contain an empty value. + string containing a SELECT-tag. + + + + // Class that is going to be used in a SELECT-tag. + public class User + { + private readonly string _realName; + private readonly int _id; + public User(int id, string realName) + { + _id = id; + _realName = realName; + } + public string RealName + { + get { return _realName; } + } + + public int Id + { + get { return _id; } + } + } + + // Using an inline delegate to generate the select list + public void UserInlineDelegate() + { + List<User> items = new List<User>(); + items.Add(new User(1, "adam")); + items.Add(new User(2, "bertial")); + items.Add(new User(3, "david")); + string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value) + { + User user = (User)o; + id = user.Id; + value = user.RealName; + }, 2, true); + } + + // Using an method as delegate to generate the select list. + public void UseExternalDelegate() + { + List<User> items = new List<User>(); + items.Add(new User(1, "adam")); + items.Add(new User(2, "bertial")); + items.Add(new User(3, "david")); + string htmlSelect = Select("users", "users", items, UserOptions, 1, true); + } + + // delegate returning id and title + public static void UserOptions(object o, out object id, out object title) + { + User user = (User)o; + id = user.Id; + value = user.RealName; + } + + + name, id, collection or getIdTitle is null. - + - Fetch all files from the resource that matches the specified arguments. + Creates a select list with the values in a collection. - Where the file should reside. - Files to check - - a list of files if found; or an empty array if no files are found. - + Name of the SELECT-tag + Id of the SELECT-tag + collection used to generate options. + delegate used to return id and title from objects. + value that should be marked as selected. + First row should contain an empty value. + name, value collection of extra HTML attributes. + string containing a SELECT-tag. + + name, id, collection or getIdTitle is null. + Invalid HTML attribute list. - + - Returns whether or not the loader has an instance of the file requested + Generate a list of HTML options - The name of the template/file - True if the loader can provide the file + collection used to generate options. + delegate used to return id and title from objects. + value that should be marked as selected. + First row should contain an empty value. + + collection or getIdTitle is null. - - - redirects from one URL to another. - + + sb is null. - + - Rules are used to perform operations before a request is being handled. - Rules can be used to create routing etc. + Creates a check box. + element name + element value + determines if the check box is selected or not. This is done differently depending on the + type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if + the box is checked or not. + a list with additional attributes (name, value, name, value). + a generated radio button - + - Process the incoming request. + Creates a check box. - incoming HTTP request - outgoing HTTP response - true if response should be sent to the browser directly (no other rules or modules will be processed). + element name + element id + element value + determines if the check box is selected or not. This is done differently depending on the + type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if + the box is checked or not. + a list with additional attributes (name, value, name, value). + a generated radio button - returning true means that no modules will get the request. Returning true is typically being done - for redirects. + value in your business object. (check box will be selected if it matches the element value) - If request or response is null. - - - - Initializes a new instance of the class. - - Absolute path (no server name) - Absolute path (no server name) - - server.Add(new RedirectRule("/", "/user/index")); - - + - Initializes a new instance of the class. + Creates a check box. - Absolute path (no server name) - Absolute path (no server name) - true if request should be redirected, false if the request URI should be replaced. - - server.Add(new RedirectRule("/", "/user/index")); - + element name + element id + determines if the check box is selected or not. This is done differently depending on the + type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if + the box is checked or not. + a list with additional attributes (name, value, name, value). + a generated radio button + will set value to "1". - + - Process the incoming request. + Creates a RadioButton. - incoming HTTP request - outgoing HTTP response - true if response should be sent to the browser directly (no other rules or modules will be processed). - - returning true means that no modules will get the request. Returning true is typically being done - for redirects. - + element name + element value + determines if the radio button is selected or not. This is done differently depending on the + type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if + the box is checked or not. + a list with additional attributes (name, value, name, value). + a generated radio button - + - Gets string to match request URI with. + Creates a RadioButton. - Is compared to request.Uri.AbsolutePath + element name + element id + element value + determines if the radio button is selected or not. This is done differently depending on the + type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if + the box is checked or not. + a list with additional attributes (name, value, name, value). + a generated radio button - + - Gets where to redirect. + form close tag + - + - Gets whether server should redirect client. + We dont want to let the server to die due to exceptions thrown in worker threads. + therefore we use this delegate to give you a change to handle uncaught exceptions. + Class that the exception was thrown in. + Exception - false means that the rule will replace - the current request URI with the new one from this class. - true means that a redirect response is sent to the client. + Server will throw a InternalServerException in release version if you dont + handle this delegate. - + - Used to queue incoming requests. + Implements HTTP Digest authentication. It's more secure than Basic auth since password is + encrypted with a "key" from the server. + + Keep in mind that the password is encrypted with MD5. Use a combination of SSL and digest auth to be secure. + - + - Initializes a new instance of the class. + Authentication modules are used to implement different + kind of HTTP authentication. - Called when a request should be processed. - + - Used to process queued requests. + Tag used for authentication. - + - Gets or sets maximum number of allowed simultaneous requests. + Initializes a new instance of the class. + Delegate used to provide information used during authentication. + Delegate used to determine if authentication is required (may be null). - + - Gets or sets maximum number of requests queuing to be handled. + Initializes a new instance of the class. + Delegate used to provide information used during authentication. - + - Specifies how many requests the HTTP server is currently processing. + Create a response that can be sent in the WWW-Authenticate header. + Realm that the user should authenticate in + Array with optional options. + A correct authentication request. + If realm is empty or null. - + - Used two queue incoming requests to avoid - thread starvation. + An authentication response have been received from the web browser. + Check if it's correct + Contents from the Authorization header + Realm that should be authenticated + GET/POST/PUT/DELETE etc. + options to specific implementations + Authentication object that is stored for the request. A user class or something like that. + if is invalid + If any of the parameters is empty or null. - + - Method used to process a queued request + Used to invoke the authentication delegate that is used to lookup the user name/realm. - Context that the request was received from. - Request to process. + Realm (domain) that user want to authenticate in + User name + Password used for validation. Some implementations got password in clear text, they are then sent to client. + object that will be stored in the request to help you identify the user if authentication was successful. + true if authentication was successful - + - Parses a HTTP request directly from a stream + Determines if authentication is required. + HTTP request from browser + true if user should be authenticated. + throw from your delegate if no more attempts are allowed. + If no more attempts are allowed - + - Event driven parser used to parse incoming HTTP requests. + name used in HTTP request. - - The parser supports partial messages and keeps the states between - each parsed buffer. It's therefore important that the parser gets - ed if a client disconnects. - - + - Parse partial or complete message. + Initializes a new instance of the class. - buffer containing incoming bytes - where in buffer that parsing should start - number of bytes to parse - Unparsed bytes left in buffer. - BadRequestException. + Delegate used to provide information used during authentication. + Delegate used to determine if authentication is required (may be null). - + - Clear parser state. + Initializes a new instance of the class. + Delegate used to provide information used during authentication. - + - Current state in parser. + Used by test classes to be able to use hardcoded values - + - A request have been successfully parsed. + An authentication response have been received from the web browser. + Check if it's correct + Contents from the Authorization header + Realm that should be authenticated + GET/POST/PUT/DELETE etc. + First option: true if username/password is correct but not cnonce + + Authentication object that is stored for the request. A user class or something like that. + + if authenticationHeader is invalid + If any of the paramters is empty or null. - + - More body bytes have been received. + Encrypts parameters into a Digest string + Realm that the user want to log into. + User logging in + Users password. + HTTP method. + Uri/domain that generated the login prompt. + Quality of Protection. + "Number used ONCE" + Hexadecimal request counter. + "Client Number used ONCE" + Digest encrypted string - + - Request line have been received. + + Md5 hex encoded "userName:realm:password", without the quotes. + Md5 hex encoded "method:uri", without the quotes + Quality of Protection + "Number used ONCE" + Hexadecimal request counter. + Client number used once + - + - A header have been received. + Create a response that can be sent in the WWW-Authenticate header. + Realm that the user should authenticate in + First options specifies if true if username/password is correct but not cnonce. + A correct auth request. + If realm is empty or null. - + - Gets or sets the log writer. + Decodes authorization header value + header value + Encoding that the buffer is in + All headers and their values if successful; otherwise null + + NameValueCollection header = DigestAuthentication.Decode("response=\"6629fae49393a05397450978507c4ef1\",\r\nc=00001", Encoding.ASCII); + + Can handle lots of whitespaces and new lines without failing. - + - Create a new request parser + Gets the current nonce. - delegate receiving log entries. + - + - Add a number of bytes to the body + Gets the Md5 hash bin hex2. - buffer containing more body bytes. - starting offset in buffer - number of bytes, from offset, to read. - offset to continue from. + To be hashed. + - + - Remove all state information for the request. + determines if the nonce is valid or has expired. + nonce value (check wikipedia for info) + true if the nonce has not expired. - + - Parse request line + name used in http request. - - If line is incorrect - Expects the following format: "Method SP Request-URI SP HTTP-Version CRLF" - + - We've parsed a new header. + Gets or sets whether the token supplied in is a + HA1 generated string. - Name in lower case - Value, unmodified. - If content length cannot be parsed. - + - Parse a message + Generic helper functions for HTTP - bytes to parse. - where in buffer that parsing should start - number of bytes to parse, starting on . - offset (where to start parsing next). - BadRequestException. - + - Gets or sets the log writer. + Version string for HTTP v1.0 - + - Current state in parser. + Version string for HTTP v1.1 - + - A request have been successfully parsed. + An empty URI - + - More body bytes have been received. + Parses a query string. + Query string (URI encoded) + A object if successful; otherwise + queryString is null. + If string cannot be parsed. - + - Request line have been received. + Delegate used to let authentication modules authenticate the user name and password. + Realm that the user want to authenticate in + User name specified by client + Can either be user password or implementation specific token. + object that will be stored in a session variable called if authentication was successful. + throw forbidden exception if too many attempts have been made. + + + Use to specify that the token is a HA1 token. (MD5 generated + string from realm, user name and password); Md5String(userName + ":" + realm + ":" + password); + + - + - A header have been received. + Let's you decide on a system level if authentication is required. + HTTP request from client + true if user should be authenticated. + throw if no more attempts are allowed. + If no more attempts are allowed - + - Response that is sent back to the web browser / client. - - A response can be sent if different ways. The easiest one is - to just fill the Body stream with content, everything else - will then be taken care of by the framework. The default content-type - is text/html, you should change it if you send anything else. - - The second and slighty more complex way is to send the response - as parts. Start with sending the header using the SendHeaders method and - then you can send the body using SendBody method, but do not forget - to set ContentType and ContentLength before doing so. + Arguments used when more body bytes have come. - - public void MyHandler(IHttpRequest request, IHttpResponse response) - { - - } - - + - Add another header to the document. + Initializes a new instance of the class. - Name of the header, case sensitive, use lower cases. - Header values can span over multiple lines as long as each line starts with a white space. New line chars should be \r\n - If headers already been sent. - If value conditions have not been met. - Adding any header will override the default ones and those specified by properties. + buffer that contains the received bytes. + offset in buffer where to start processing. + number of bytes from that should be parsed. - + - Send headers and body to the browser. + Initializes a new instance of the class. - If content have already been sent. - + - Make sure that you have specified ContentLength and sent the headers first. + Gets or sets buffer that contains the received bytes. - - If headers have not been sent. - - offest of first byte to send - number of bytes to send. - - - This method can be used if you want to send body contents without caching them first. This - is recommended for larger files to keep the memory usage low. - + - Make sure that you have specified ContentLength and sent the headers first. + Gets or sets number of bytes from that should be parsed. - - If headers have not been sent. - - - - This method can be used if you want to send body contents without caching them first. This - is recommended for larger files to keep the memory usage low. - + - Send headers to the client. + Gets or sets offset in buffer where to start processing. - If headers already been sent. - - - - + - Redirect client to somewhere else using the 302 status code. + Contains all HTTP Methods (according to the HTTP 1.1 specification) + + See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html + - Destination of the redirect - If headers already been sent. - You can not do anything more with the request when a redirect have been done. This should be your last - action. - + - redirect to somewhere + The DELETE method requests that the origin server delete the resource identified by the Request-URI. - where the redirect should go - No body are allowed when doing redirects. + + This method MAY be overridden by human intervention (or other means) on the origin server. + The client cannot be guaranteed that the operation has been carried out, even if the status code + returned from the origin server indicates that the action has been completed successfully. + + + However, the server SHOULD NOT indicate success unless, at the time the response is given, + it intends to delete the resource or move it to an inaccessible location. + + + A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, + 202 (Accepted) if the action has not yet been enacted, + or 204 (No Content) if the action has been enacted but the response does not include an entity. + + + If the request passes through a cache and the Request-URI identifies one or more currently cached entities, + those entries SHOULD be treated as stale. Responses to this method are not cacheable. + - + - The body stream is used to cache the body contents - before sending everything to the client. It's the simplest - way to serve documents. + The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. + + + If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the + entity in the response and not the source text of the process, unless that text happens to be the output of the process. + + + The semantics of the GET method change to a "conditional GET" if the request message includes an + If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. + A conditional GET method requests that the entity be transferred only under the circumstances described + by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network + usage by allowing cached entities to be refreshed without requiring multiple requests or transferring + data already held by the client. + + - + - Defines the version of the HTTP Response for applications where it's required - for this to be forced. + The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. + + The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the + information sent in response to a GET request. This method can be used for obtaining meta information about + the entity implied by the request without transferring the entity-body itself. + + This method is often used for testing hypertext links for validity, accessibility, and recent modification. + - + - The chunked encoding modifies the body of a message in order to - transfer it as a series of chunks, each with its own size indicator, - followed by an OPTIONAL trailer containing entity-header fields. This - allows dynamically produced content to be transferred along with the - information necessary for the recipient to verify that it has - received the full message. + The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI. + + This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval. + - + - Kind of connection + The POST method is used to request that the origin server accept the entity enclosed + in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. + + POST is designed to allow a uniform method to cover the following functions: + + + Annotation of existing resources; + + Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles; + + Providing a block of data, such as the result of submitting a form, to a data-handling process; + + Extending a database through an append operation. + + + + If a resource has been created on the origin server, the response SHOULD be 201 (Created) and + contain an entity which describes the status of the request and refers to the new resource, and a + Location header (see section 14.30). + + + The action performed by the POST method might not result in a resource that can be identified by a URI. + In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on + whether or not the response includes an entity that describes the result. + + Responses to this method are not cacheable, unless the response includes appropriate Cache-Control + or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent + to retrieve a cacheable resource. + + - + - Encoding to use when sending stuff to the client. + The PUT method requests that the enclosed entity be stored under the supplied Request-URI. - Default is UTF8 + + + + If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a + modified version of the one residing on the origin server. + + If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new + resource by the requesting user agent, the origin server can create the resource with that URI. + + If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. + + If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to + indicate successful completion of the request. + + If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be + given that reflects the nature of the problem. + + + + The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not + understand or implement and MUST return a 501 (Not Implemented) response in such cases. + + - + - Number of seconds to keep connection alive + The TRACE method is used to invoke a remote, application-layer loop- back of the request message. - Only used if Connection property is set to ConnectionType.KeepAlive - + - Status code that is sent to the client. + Contains all HTTP Methods (according to the HTTP 1.1 specification) + + See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html + - Default is HttpStatusCode.Ok - + - Information about why a specific status code was used. + The DELETE method requests that the origin server delete the resource identified by the Request-URI. + + + This method MAY be overridden by human intervention (or other means) on the origin server. + The client cannot be guaranteed that the operation has been carried out, even if the status code + returned from the origin server indicates that the action has been completed successfully. + + + However, the server SHOULD NOT indicate success unless, at the time the response is given, + it intends to delete the resource or move it to an inaccessible location. + + + A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, + 202 (Accepted) if the action has not yet been enacted, + or 204 (No Content) if the action has been enacted but the response does not include an entity. + + + If the request passes through a cache and the Request-URI identifies one or more currently cached entities, + those entries SHOULD be treated as stale. Responses to this method are not cacheable. + + - + - Size of the body. MUST be specified before sending the header, - unless property Chunked is set to true. + The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. + + + If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the + entity in the response and not the source text of the process, unless that text happens to be the output of the process. + + + The semantics of the GET method change to a "conditional GET" if the request message includes an + If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. + A conditional GET method requests that the entity be transferred only under the circumstances described + by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network + usage by allowing cached entities to be refreshed without requiring multiple requests or transferring + data already held by the client. + + - + - Kind of content in the body + The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. - Default is text/html + + The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the + information sent in response to a GET request. This method can be used for obtaining meta information about + the entity implied by the request without transferring the entity-body itself. + + This method is often used for testing hypertext links for validity, accessibility, and recent modification. + - + - Headers have been sent to the client- + The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI. - You can not send any additional headers if they have already been sent. + + This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval. + - + - The whole response have been sent. + The POST method is used to request that the origin server accept the entity enclosed + in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. + + POST is designed to allow a uniform method to cover the following functions: + + + Annotation of existing resources; + + Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles; + + Providing a block of data, such as the result of submitting a form, to a data-handling process; + + Extending a database through an append operation. + + + + If a resource has been created on the origin server, the response SHOULD be 201 (Created) and + contain an entity which describes the status of the request and refers to the new resource, and a + Location header (see section 14.30). + + + The action performed by the POST method might not result in a resource that can be identified by a URI. + In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on + whether or not the response includes an entity that describes the result. + + Responses to this method are not cacheable, unless the response includes appropriate Cache-Control + or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent + to retrieve a cacheable resource. + + - + - Cookies that should be created/changed. + The PUT method requests that the enclosed entity be stored under the supplied Request-URI. + + + + If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a + modified version of the one residing on the origin server. + + If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new + resource by the requesting user agent, the origin server can create the resource with that URI. + + If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. + + If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to + indicate successful completion of the request. + + If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be + given that reflects the nature of the problem. + + + + The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not + understand or implement and MUST return a 501 (Not Implemented) response in such cases. + + - + - Type of HTTP connection + The TRACE method is used to invoke a remote, application-layer loop- back of the request message. - + - Connection is closed after each request-response + Used to create and reuse contexts. - + - Connection is kept alive for X seconds (unless another request have been made) + Used to create es. - + - Response that is sent back to the web browser / client. + Creates a that handles a connected client. - - - A response can be sent if different ways. The easiest one is - to just fill the Body stream with content, everything else - will then be taken care of by the framework. The default content-type - is text/html, you should change it if you send anything else. - - The second and slightly more complex way is to send the response - as parts. Start with sending the header using the SendHeaders method and - then you can send the body using SendBody method, but do not forget - to set and before doing so. - - - - - // Example using response body. - class MyModule : HttpModule - { - public override bool Process(IHttpRequest request, IHttpResponse response, IHttpSession session) - { - StreamWriter writer = new StreamWriter(response.Body); - writer.WriteLine("Hello dear World!"); - writer.Flush(); - - // return true to tell webserver that we've handled the url - return true; - } - } - - - todo: add two examples, using SendHeaders/SendBody and just the Body stream. + Client socket (accepted by the ). + A creates . - + - Initializes a new instance of the class. + Create a secure . - Client that send the . - Contains information of what the client want to receive. - cannot be empty. + Client socket (accepted by the ). + HTTPS certificate to use. + Kind of HTTPS protocol. Usually TLS or SSL. + A created . - + - Initializes a new instance of the class. + A request have been received from one of the contexts. - Client that send the . - Version of HTTP protocol that the client uses. - Type of HTTP connection used. - + - Add another header to the document. + Initializes a new instance of the class. - Name of the header, case sensitive, use lower cases. - Header values can span over multiple lines as long as each line starts with a white space. New line chars should be \r\n - If headers already been sent. - If value conditions have not been met. - Adding any header will override the default ones and those specified by properties. + The writer. + Amount of bytes to read from the incoming socket stream. + Used to create a request parser. - + - Send headers and body to the browser. + Create a new context. - If content have already been sent. + true if socket is running HTTPS. + Client that connected + Network/SSL stream. + A context. - + - Make sure that you have specified and sent the headers first. + Create a new context. - - If headers have not been sent. - - offset of first byte to send - number of bytes to send. - - - This method can be used if you want to send body contents without caching them first. This - is recommended for larger files to keep the memory usage low. + true if HTTPS is used. + Remote client + Network stream, uses . + A new context (always). - + - Make sure that you have specified and sent the headers first. + Create a secure . - - If headers have not been sent. - - - - This method can be used if you want to send body contents without caching them first. This - is recommended for larger files to keep the memory usage low. + Client socket (accepted by the ). + HTTPS certificate to use. + Kind of HTTPS protocol. Usually TLS or SSL. + + A created . + - + - Send headers to the client. + Creates a that handles a connected client. - If headers already been sent. - - - + Client socket (accepted by the ). + + A creates . + - + - Redirect client to somewhere else using the 302 status code. + True if detailed trace logs should be written. - Destination of the redirect - If headers already been sent. - You can not do anything more with the request when a redirect have been done. This should be your last - action. - + - redirect to somewhere + A request have been received from one of the contexts. - where the redirect should go - - No body are allowed when doing redirects. - - + - The body stream is used to cache the body contents - before sending everything to the client. It's the simplest - way to serve documents. + Custom network stream to mark sockets as reusable when disposing the stream. - + - The chunked encoding modifies the body of a message in order to - transfer it as a series of chunks, each with its own size indicator, - followed by an OPTIONAL trailer containing entity-header fields. This - allows dynamically produced content to be transferred along with the - information necessary for the recipient to verify that it has - received the full message. + Creates a new instance of the class for the specified . + + The that the will use to send and receive data. + + + The parameter is null. + + + The parameter is not connected. + -or- + The property of the parameter is not . + -or- + The parameter is in a nonblocking state. + - + - Defines the version of the HTTP Response for applications where it's required - for this to be forced. + Initializes a new instance of the class for the specified with the specified ownership. + + The that the will use to send and receive data. + + + Set to true to indicate that the will take ownership of the ; otherwise, false. + + + The parameter is null. + + + The parameter is not connected. + -or- + the value of the property of the parameter is not . + -or- + the parameter is in a nonblocking state. + - + - Kind of connection + Creates a new instance of the class for the specified with the specified access rights. + + The that the will use to send and receive data. + + + A bitwise combination of the values that specify the type of access given to the over the provided . + + + The parameter is null. + + + The parameter is not connected. + -or- + the property of the parameter is not . + -or- + the parameter is in a nonblocking state. + - + - Encoding to use when sending stuff to the client. + Creates a new instance of the class for the specified with the specified access rights and the specified ownership. - Default is UTF8 + + The that the will use to send and receive data. + + + A bitwise combination of the values that specifies the type of access given to the over the provided . + + + Set to true to indicate that the will take ownership of the ; otherwise, false. + + + The parameter is null. + + + The parameter is not connected. + -or- + The property of the parameter is not . + -or- + The parameter is in a nonblocking state. + - + - Number of seconds to keep connection alive + Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. - Only used if Connection property is set to . - + - Status code that is sent to the client. + Releases the unmanaged resources used by the and optionally releases the managed resources. - Default is + true to release both managed and unmanaged resources; false to release only unmanaged resources. - + - Information about why a specific status code was used. + Invoked when a client have been accepted by the + + Can be used to revoke incoming connections + - + - Size of the body. MUST be specified before sending the header, - unless property Chunked is set to true. + Initializes a new instance of the class. + The socket. - + - Kind of content in the body + Client may not be handled. - Default type is "text/html" - + - Headers have been sent to the client- + Accepted socket. - You can not send any additional headers if they have already been sent. - + - The whole response have been sent. + Client should be revoked. - + - Cookies that should be created/changed. + A session stored in memory. - + - represents a HTTP input item. Each item can have multiple sub items, a sub item - is made in a HTML form by using square brackets + Interface for sessions - - // becomes: - Console.WriteLine("Value: {0}", form["user"]["FirstName"].Value); - - - All names in a form SHOULD be in lowercase. - - - Representation of a non-initialized . - - + - Initializes an input item setting its name/identifier and value + Remove everything from the session - Parameter name/id - Parameter value - - - Creates a deep copy of the item specified - The item to copy - The function makes a deep copy of quite a lot which can be slow - + - Add another value to this item + Remove everything from the session - Value to add. - Cannot add stuff to . + True if the session is cleared due to expiration - + - checks if a sub-item exists (and has a value). + Session id - name in lower case - true if the sub-item exists and has a value; otherwise false. - - Returns a formatted representation of the instance with the values of all contained parameters + + + Should + + Name of the session variable + null if it's not set + If the object cant be serialized. - + - Outputs the string in a formatted manner + When the session was last accessed. + This property is touched by the http server each time the + session is requested. - A prefix to append, used internally - produce a query string - + - Add a sub item. + Number of session variables. - Can contain array formatting, the item is then parsed and added in multiple levels - Value to add. - Argument is null. - Cannot add stuff to . - + - Returns an enumerator that iterates through the collection. + Event triggered upon clearing the session + + + - - A that can be used to iterate through the collection. - - 1 + + A unique id used by the sessions store to identify the session - + - Returns an enumerator that iterates through a collection. + Id - - - An object that can be used to iterate through the collection. - - 2 + - + - Outputs the string in a formatted manner + Remove everything from the session - A prefix to append, used internally - - + - Number of values + Clears the specified expire. + True if the session is cleared due to expiration - + - Get a sub item + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - name in lower case. - if no item was found. + 2 - + - Name of item (in lower case). + Session id - + - Returns the first value, or null if no value exist. + Should + Name of the session variable + null if it's not set - + - Returns the last value, or null if no value exist. + when the session was last accessed. + + Used to determine when the session should be removed. + - + - Returns the list with values. + Number of values in the session - + - + Flag to indicate that the session have been changed + and should be saved into the session store. - name in lower case - - + - Helpers making it easier to work with forms. + Event triggered upon clearing the session - - + - Used to let the website use different JavaScript libraries. - Default is + A reverse proxy are used to act as a bridge between local (protected/hidden) websites + and public clients. + + A typical usage is to allow web servers on non standard ports to still be available + to the public clients, or allow web servers on private ips to be available. - + - Create a <form> tag. + - name of form - action to invoke on submit - form should be posted as Ajax - HTML code + Base url requested from browser + Base url on private web server - - // without options - WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); - - // with options - WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax, "style", "display:inline", "class", "greenForm"); - + // this will return contents from http://192.168.1.128/view/jonas when client requests http://www.gauffin.com/user/view/jonas + _server.Add(new ReverseProxyModule("http://www.gauffin.com/user/", "http://192.168.1.128/"); - HTML attributes or JavaScript options. - Method will ALWAYS be POST. - options must consist of name, value, name, value - + - Creates a select list with the values in a collection. + Method that determines if an url should be handled or not by the module - Name of the SELECT-tag - collection used to generate options. - delegate used to return id and title from objects. - value that should be marked as selected. - First row should contain an empty value. - string containing a SELECT-tag. - + Url requested by the client. + true if module should handle the url. - + - Creates a select list with the values in a collection. + Method that process the url - Name of the SELECT-tag - Id of the SELECT-tag - collection used to generate options. - delegate used to return id and title from objects. - value that should be marked as selected. - First row should contain an empty value. - string containing a SELECT-tag. - - - - // Class that is going to be used in a SELECT-tag. - public class User - { - private readonly string _realName; - private readonly int _id; - public User(int id, string realName) - { - _id = id; - _realName = realName; - } - public string RealName - { - get { return _realName; } - } - - public int Id - { - get { return _id; } - } - } - - // Using an inline delegate to generate the select list - public void UserInlineDelegate() - { - List<User> items = new List<User>(); - items.Add(new User(1, "adam")); - items.Add(new User(2, "bertial")); - items.Add(new User(3, "david")); - string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value) - { - User user = (User)o; - id = user.Id; - value = user.RealName; - }, 2, true); - } - - // Using an method as delegate to generate the select list. - public void UseExternalDelegate() - { - List<User> items = new List<User>(); - items.Add(new User(1, "adam")); - items.Add(new User(2, "bertial")); - items.Add(new User(3, "david")); - string htmlSelect = Select("users", "users", items, UserOptions, 1, true); - } - - // delegate returning id and title - public static void UserOptions(object o, out object id, out object title) - { - User user = (User)o; - id = user.Id; - value = user.RealName; - } - - - name, id, collection or getIdTitle is null. + Information sent by the browser about the request + Information that is being sent back to the client. + Session used to - + - Creates a select list with the values in a collection. + Can handle application/x-www-form-urlencoded - Name of the SELECT-tag - Id of the SELECT-tag - collection used to generate options. - delegate used to return id and title from objects. - value that should be marked as selected. - First row should contain an empty value. - name, value collection of extra HTML attributes. - string containing a SELECT-tag. - - name, id, collection or getIdTitle is null. - Invalid HTML attribute list. - + - Generate a list of HTML options - collection used to generate options. - delegate used to return id and title from objects. - value that should be marked as selected. - First row should contain an empty value. - - collection or getIdTitle is null. - - - sb is null. + Stream containing the content + Content type (with any additional info like boundry). Content type is always supplied in lower case + Stream encoding + + A HTTP form, or null if content could not be parsed. + + If contents in the stream is not valid input data. - + - Creates a check box. + Checks if the decoder can handle the mime type - element name - element value - determines if the check box is selected or not. This is done differently depending on the - type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if - the box is checked or not. - a list with additional attributes (name, value, name, value). - a generated radio button + Content type (with any additional info like boundry). Content type is always supplied in lower case. + True if the decoder can parse the specified content type - + - Creates a check box. + This provider is used to let us implement any type of form decoding we want without + having to rewrite anything else in the server. - element name - element id - element value - determines if the check box is selected or not. This is done differently depending on the - type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if - the box is checked or not. - a list with additional attributes (name, value, name, value). - a generated radio button - - value in your business object. (check box will be selected if it matches the element value) - - + - Creates a check box. + - element name - element id - determines if the check box is selected or not. This is done differently depending on the - type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if - the box is checked or not. - a list with additional attributes (name, value, name, value). - a generated radio button - will set value to "1". + Should contain boundary and type, as in: multipart/form-data; boundary=---------------------------230051238959 + Stream containing form data. + Encoding used when decoding the stream + if no parser was found. + If stream is null or not readable. + If stream contents cannot be decoded properly. - + - Creates a RadioButton. + Add a decoder. - element name - element value - determines if the radio button is selected or not. This is done differently depending on the - type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if - the box is checked or not. - a list with additional attributes (name, value, name, value). - a generated radio button + + - + - Creates a RadioButton. + Number of added decoders. - element name - element id - element value - determines if the radio button is selected or not. This is done differently depending on the - type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if - the box is checked or not. - a list with additional attributes (name, value, name, value). - a generated radio button - + - form close tag + Use with care. - - + - Add a component instance + Decoder used for unknown content types. - Interface type - Instance to add - + - Get a component. + The server encountered an unexpected condition which prevented it from fulfilling the request. - Interface type - Component if registered, otherwise null. - - Component will get created if needed. - - - - If instance cannot be created. - + - Checks if the specified component interface have been added. + Initializes a new instance of the class. - - true if found; otherwise false. - + - Add a component. + Initializes a new instance of the class. - Type being requested. - Type being created. - Type have already been mapped. + error message. - + - Arguments used when more body bytes have come. + Initializes a new instance of the class. + error message. + inner exception. - + - Initializes a new instance of the class. + Response that is sent back to the web browser / client. + + A response can be sent if different ways. The easiest one is + to just fill the Body stream with content, everything else + will then be taken care of by the framework. The default content-type + is text/html, you should change it if you send anything else. + + The second and slighty more complex way is to send the response + as parts. Start with sending the header using the SendHeaders method and + then you can send the body using SendBody method, but do not forget + to set ContentType and ContentLength before doing so. - buffer that contains the received bytes. - offset in buffer where to start processing. - number of bytes from that should be parsed. + + public void MyHandler(IHttpRequest request, IHttpResponse response) + { + + } + - + - Initializes a new instance of the class. + Add another header to the document. + Name of the header, case sensitive, use lower cases. + Header values can span over multiple lines as long as each line starts with a white space. New line chars should be \r\n + If headers already been sent. + If value conditions have not been met. + Adding any header will override the default ones and those specified by properties. - + - Gets or sets buffer that contains the received bytes. + Send headers and body to the browser. + If content have already been sent. - + - Gets or sets number of bytes from that should be parsed. + Make sure that you have specified ContentLength and sent the headers first. + + If headers have not been sent. + + offest of first byte to send + number of bytes to send. + + + This method can be used if you want to send body contents without caching them first. This + is recommended for larger files to keep the memory usage low. - + - Gets or sets offset in buffer where to start processing. + Make sure that you have specified ContentLength and sent the headers first. + + If headers have not been sent. + + + + This method can be used if you want to send body contents without caching them first. This + is recommended for larger files to keep the memory usage low. - + - Used to create and reuse contexts. + Send headers to the client. + If headers already been sent. + + + - + - Used to create es. + Redirect client to somewhere else using the 302 status code. + Destination of the redirect + If headers already been sent. + You can not do anything more with the request when a redirect have been done. This should be your last + action. - + - Creates a that handles a connected client. + redirect to somewhere - Client socket (accepted by the ). - A creates . + where the redirect should go + + No body are allowed when doing redirects. + - + - Create a secure . + The body stream is used to cache the body contents + before sending everything to the client. It's the simplest + way to serve documents. - Client socket (accepted by the ). - HTTPS certificate to use. - Kind of HTTPS protocol. Usually TLS or SSL. - A created . - + - A request have been received from one of the contexts. + Defines the version of the HTTP Response for applications where it's required + for this to be forced. - + - Initializes a new instance of the class. + The chunked encoding modifies the body of a message in order to + transfer it as a series of chunks, each with its own size indicator, + followed by an OPTIONAL trailer containing entity-header fields. This + allows dynamically produced content to be transferred along with the + information necessary for the recipient to verify that it has + received the full message. - The writer. - Amount of bytes to read from the incoming socket stream. - Used to create a request parser. - + - Create a new context. + Kind of connection - true if socket is running HTTPS. - Client that connected - Network/SSL stream. - A context. - + - Create a new context. + Encoding to use when sending stuff to the client. - true if HTTPS is used. - Remote client - Network stream, uses . - A new context (always). + Default is UTF8 - + - Create a secure . + Number of seconds to keep connection alive - Client socket (accepted by the ). - HTTPS certificate to use. - Kind of HTTPS protocol. Usually TLS or SSL. - - A created . - + Only used if Connection property is set to ConnectionType.KeepAlive - + - Creates a that handles a connected client. + Status code that is sent to the client. - Client socket (accepted by the ). - - A creates . - + Default is HttpStatusCode.Ok - + - True if detailed trace logs should be written. + Information about why a specific status code was used. - + - A request have been received from one of the contexts. + Size of the body. MUST be specified before sending the header, + unless property Chunked is set to true. - + - Custom network stream to mark sockets as reusable when disposing the stream. + Kind of content in the body + Default is text/html - + - Creates a new instance of the class for the specified . + Headers have been sent to the client- - - The that the will use to send and receive data. - - - The parameter is null. - - - The parameter is not connected. - -or- - The property of the parameter is not . - -or- - The parameter is in a nonblocking state. - + You can not send any additional headers if they have already been sent. - + - Initializes a new instance of the class for the specified with the specified ownership. + The whole response have been sent. - - The that the will use to send and receive data. - - - Set to true to indicate that the will take ownership of the ; otherwise, false. - - - The parameter is null. - - - The parameter is not connected. - -or- - the value of the property of the parameter is not . - -or- - the parameter is in a nonblocking state. - - + - Creates a new instance of the class for the specified with the specified access rights. + Cookies that should be created/changed. - - The that the will use to send and receive data. - - - A bitwise combination of the values that specify the type of access given to the over the provided . - - - The parameter is null. - - - The parameter is not connected. - -or- - the property of the parameter is not . - -or- - the parameter is in a nonblocking state. - - + - Creates a new instance of the class for the specified with the specified access rights and the specified ownership. + Type of HTTP connection - - The that the will use to send and receive data. - - - A bitwise combination of the values that specifies the type of access given to the over the provided . - - - Set to true to indicate that the will take ownership of the ; otherwise, false. - - - The parameter is null. - - - The parameter is not connected. - -or- - The property of the parameter is not . - -or- - The parameter is in a nonblocking state. - - + - Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. + Connection is closed after each request-response - + - Releases the unmanaged resources used by the and optionally releases the managed resources. + Connection is kept alive for X seconds (unless another request have been made) - true to release both managed and unmanaged resources; false to release only unmanaged resources. - + - Serves files that are stored in embedded resources. + The website module let's you handle multiple websites in the same server. + It uses the "Host" header to check which site you want. + It's recommended that you do not + add any other modules to HttpServer if you are using the website module. Instead, + add all wanted modules to each website. - + - A HttpModule can be used to serve Uri's. The module itself - decides if it should serve a Uri or not. In this way, you can - get a very flexible http application since you can let multiple modules - serve almost similar urls. + - - Throw if you are using a and want to prompt for user name/password. - + domain name that should be handled. + - + Method that process the url Information sent by the browser about the request Information that is being sent back to the client. Session used to - true if this module handled the request. - + - Set the log writer to use. + Name of site. - logwriter to use. - + - Log something. + Used to inform http server that - importance of log message - message - + - If true specifies that the module doesn't consume the processing of a request so that subsequent modules - can continue processing afterwards. Default is false. + Eventarguments used when an exception is thrown by a module + the exception - + - Initializes a new instance of the class. - Runs to make sure the basic mime types are available, they can be cleared later - through the use of if desired. + Exception thrown in a module - + - Initializes a new instance of the class. - Runs to make sure the basic mime types are available, they can be cleared later - through the use of if desired. + represents a HTTP input item. Each item can have multiple sub items, a sub item + is made in a HTML form by using square brackets - The log writer to use when logging events + + // becomes: + Console.WriteLine("Value: {0}", form["user"]["FirstName"].Value); + + + All names in a form SHOULD be in lowercase. + - - - Mimtypes that this class can handle per default - + + Representation of a non-initialized . - + - Loads resources from a namespace in the given assembly to an uri + Initializes an input item setting its name/identifier and value - The uri to map the resources to - The assembly in which the resources reside - The namespace from which to load the resources - - resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); - - will make ie the resource MyLib.Models.User.Views.stylesheet.css accessible via /user/stylesheet.css - - The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded + Parameter name/id + Parameter value - - - Returns true if the module can handle the request - + + Creates a deep copy of the item specified + The item to copy + The function makes a deep copy of quite a lot which can be slow - + - Method that process the url + Add another value to this item - Information sent by the browser about the request - Information that is being sent back to the client. - Session used to - true if this module handled the request. + Value to add. + Cannot add stuff to . - + - List with all mime-type that are allowed. + checks if a sub-item exists (and has a value). - All other mime types will result in a Forbidden http status code. + name in lower case + true if the sub-item exists and has a value; otherwise false. - + + Returns a formatted representation of the instance with the values of all contained parameters + + - The purpose of this module is to serve files. + Outputs the string in a formatted manner + A prefix to append, used internally + produce a query string - + - Initializes a new instance of the class. + Add a sub item. - Uri to serve, for instance "/files/" - Path on hard drive where we should start looking for files - If true a Last-Modifed header will be sent upon requests urging web browser to cache files + Can contain array formatting, the item is then parsed and added in multiple levels + Value to add. + Argument is null. + Cannot add stuff to . - + - Initializes a new instance of the class. + Returns an enumerator that iterates through the collection. - Uri to serve, for instance "/files/" - Path on hard drive where we should start looking for files + + + A that can be used to iterate through the collection. + + 1 - + - Mimtypes that this class can handle per default + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 - + - Determines if the request should be handled by this module. - Invoked by the + Outputs the string in a formatted manner - - true if this module should handle it. - - - Illegal path + A prefix to append, used internally + - + - check if source contains any of the chars. + Number of values - - - - + - Method that process the Uri. + Get a sub item - Information sent by the browser about the request - Information that is being sent back to the client. - Session used to - Failed to find file extension - File type is forbidden. + name in lower case. + if no item was found. - + - return a file extension from an absolute Uri path (or plain filename) + Name of item (in lower case). - - - + - List with all mime-type that are allowed. + Returns the first value, or null if no value exist. - All other mime types will result in a Forbidden http status code. - + - characters that may not exist in a path. + Returns the last value, or null if no value exist. - - fileMod.ForbiddenChars = new string[]{ "\\", "..", ":" }; - - + - The server encountered an unexpected condition which prevented it from fulfilling the request. + Returns the list with values. - + - Initializes a new instance of the class. + + name in lower case + - + + Class to handle loading of resource files + + - Initializes a new instance of the class. + Initializes a new instance of the class. - error message. - + - Initializes a new instance of the class. + Initializes a new instance of the class. - error message. - inner exception. + logger. - + - Class to make dynamic binding of redirects. Instead of having to specify a number of similar redirect rules - a regular expression can be used to identify redirect URLs and their targets. + Loads resources from a namespace in the given assembly to an URI - - [a-z0-9]+)", "/users/${target}?find=true", RegexOptions.IgnoreCase) - ]]> - + The URI to map the resources to + The assembly in which the resources reside + The namespace from which to load the resources + + + resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); + + Will make the resource MyLib.Models.User.Views.list.Haml accessible via /user/list.haml or /user/list/ + + The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded + If a resource has already been mapped to an uri - + - Initializes a new instance of the class. + Retrieves a stream for the specified resource path if loaded otherwise null - Expression to match URL - Expression to generate URL - - [a-zA-Z0-9]+)", "/user/${first}")); - Result of ie. /employee1 will then be /user/employee1 - ]]> - + Path to the resource to retrieve a stream for + A stream or null if the resource couldn't be found - + - Initializes a new instance of the class. + Fetch all files from the resource that matches the specified arguments. - Expression to match URL - Expression to generate URL - Regular expression options to use, can be null - - [a-zA-Z0-9]+)", "/user/{first}", RegexOptions.IgnoreCase)); - Result of ie. /employee1 will then be /user/employee1 - ]]> - + The path to the resource to extract + + a list of files if found; or an empty array if no files are found. + + Search path must end with an asterisk for finding arbitrary files - + - Initializes a new instance of the class. + Fetch all files from the resource that matches the specified arguments. - Expression to match URL - Expression to generate URL - Regular expression options to apply - true if request should be redirected, false if the request URI should be replaced. - - [a-zA-Z0-9]+)", "/user/${first}", RegexOptions.None)); - Result of ie. /employee1 will then be /user/employee1 - ]]> - - Argument is null. - + Where the file should reside. + Files to check + + a list of files if found; or an empty array if no files are found. + - + - Process the incoming request. + Returns whether or not the loader has an instance of the file requested - incoming HTTP request - outgoing HTTP response - true if response should be sent to the browser directly (no other rules or modules will be processed). - - returning true means that no modules will get the request. Returning true is typically being done - for redirects. - - If request or response is null + The name of the template/file + True if the loader can provide the file @@ -3664,908 +3707,849 @@ Gets or sets requested URI path. - + + + Class that receives Requests from a . + + + + + Client have been disconnected. + + Client that was disconnected. + Reason + + + + + Invoked when a client context have received a new HTTP request + + Client that received the request. + Request that was received. + + + + Container for posted form data + + + Instance to help mark a non-initialized form + + + Initializes a form container with the specified name + + + + Makes a deep copy of the input + + The input to copy + + + + Adds a file to the collection of posted files + + The file to add + If the file is already added + If file is null + If the instance is HttpForm.EmptyForm which cannot be modified + + + + Checks if the form contains a specified file + + Field name of the file parameter + True if the file exists + If the instance is HttpForm.EmptyForm which cannot be modified + + + + Retrieves a file held by by the form + + The identifier of the file + The requested file or null if the file was not found + If name is null or empty + If the instance is HttpForm.EmptyForm which cannot be modified + + + Disposes all held HttpFile's and resets values + + + + Retrieves the number of files added to the + + 0 if no files are added + + + + Contains a connection to a browser/client. + + + Remember to after you have hooked the event. + + TODO: Maybe this class should be broken up into HttpClientChannel and HttpClientContext? + + + + Initializes a new instance of the class. + + true if the connection is secured (SSL/TLS) + client that connected. + Stream used for communication + Used to create a . + Size of buffer to use when reading data. Must be at least 4096 bytes. + If fails + Stream must be writable and readable. + + + + Process incoming body bytes. + + + Bytes + + + + + + + + + - Delegate used to find a realm/domain. + Start reading content. - - - Realms are used during HTTP Authentication + Make sure to call base.Start() if you override this method. - - - - - - A complete HTTP server, you need to add a module to it to be able to handle incoming requests. - - - - // this small example will add two web site modules, thus handling - // two different sites. In reality you should add Controller modules or something - // two the website modules to be able to handle different requests. - HttpServer server = new HttpServer(); - server.Add(new WebSiteModule("www.gauffin.com", "Gauffin Telecom AB")); - server.Add(new WebSiteModule("www.vapadi.se", "Remote PBX")); - - // start regular http - server.Start(IPAddress.Any, 80); - - // start https - server.Start(IPAddress.Any, 443, myCertificate); - - - - - - + - Initializes a new instance of the class. + Clean up context. - Used to get all components used in the server.. + + Make sure to call base.Cleanup() if you override the method. + - + - Initializes a new instance of the class. + Disconnect from client + error to report in the event. - + - Initializes a new instance of the class. + Send a response. - Form decoders are used to convert different types of posted data to the object types. - - + Either or + HTTP status code + reason for the status code. + HTML body contents, can be null or empty. + A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty + If is invalid. - + - Initializes a new instance of the class. + Send a response. - A session store is used to save and retrieve sessions - + Either or + HTTP status code + reason for the status code. - + - Initializes a new instance of the class. + Send a response. - The log writer. - + - + - Initializes a new instance of the class. + send a whole buffer - Form decoders are used to convert different types of posted data to the object types. - The log writer. - - - + buffer to send + - + - Initializes a new instance of the class. + Send data using the stream - Form decoders are used to convert different types of posted data to the object types. - A session store is used to save and retrieve sessions - The log writer. - - - - + Contains data to send + Start position in buffer + number of bytes to send + + - + - Adds the specified rule. + This context have been cleaned, which means that it can be reused. - The rule. - + - Add a to the server. + Context have been started (a new client have connected) - mode to add - + - Decodes the request body. + Overload to specify own type. - The request. - Failed to decode form data. + + Must be specified before the context is being used. + - + - Generate a HTTP error page (that will be added to the response body). - response status code is also set. + Using SSL or other encryption method. - Response that the page will be generated in. - . - response body contents. - + - Generate a HTTP error page (that will be added to the response body). - response status code is also set. + Using SSL or other encryption method. - Response that the page will be generated in. - exception. - + - Realms are used by the s. + Specify which logger to use. - HTTP request - domain/realm. - + - Process an incoming request. + Gets or sets the network stream. - connection to client - request information - response that should be filled - session information - + - Can be overloaded to implement stuff when a client have been connected. + Gets or sets IP address that the client connected from. - - Default implementation does nothing. - - client that disconnected - disconnect reason - + - Handle authentication + Gets or sets port that the client connected from. - - - - true if request can be handled; false if not. - Invalid authorization header - + - Will request authentication. + The context have been disconnected. - Sends respond to client, nothing else can be done with the response after this. + Event can be used to clean up a context, or to reuse it. - - - - + - Received from a when a request have been parsed successfully. + A request have been received in the context. - that received the request. - The request. - + - To be able to track request count. + Helpers to make XML handling easier - - - + - Start the web server using regular HTTP. + Serializes object to XML. - IP Address to listen on, use IpAddress.Any to accept connections on all IP addresses/network cards. - Port to listen on. 80 can be a good idea =) - address is null. - Port must be a positive number. + object to serialize. + XML + + Removes name spaces and adds indentation + - + - Accept secure connections. + Create an object from a XML string - IP Address to listen on, use to accept connections on all IP Addresses / network cards. - Port to listen on. 80 can be a good idea =) - Certificate to use - address is null. - Port must be a positive number. + Type of object + XML string + object - + - shut down the server and listeners + + + + - + + Represents a field in a multipart form + + - write an entry to the log file + Small design by contract implementation. - importance of the message - log message - + - write an entry to the log file + Check whether a parameter is empty. - object that wrote the message - importance of the message - log message + Parameter value + Parameter name, or error description. + value is empty. - + - Server that is handling the current request. + Checks whether a parameter is null. - - Will be set as soon as a request arrives to the object. - + Parameter value + Parameter name, or error description. + value is null. - + - Modules used for authentication. The module that is is added first is used as - the default authentication module. + Checks whether a parameter is null. - Use the corresponding property - in the if you are using multiple websites. + + Parameter value + Parameter name, or error description. + value is null. - + - Form decoder providers are used to decode request body (which normally contains form data). + Priority for log entries + - + - Server name sent in HTTP responses. + Very detailed logs to be able to follow the flow of the program. - - Do NOT include version in name, since it makes it - easier for hackers. - - + - Name of cookie where session id is stored. + Logs to help debug errors in the application - + - Specified where logging should go. + Information to be able to keep track of state changes etc. - - - - + - Number of connections that can wait to be accepted by the server. + Something did not go as we expected, but it's no problem. - Default is 10. - + - Gets or sets maximum number of allowed simultaneous requests. + Something that should not fail failed, but we can still keep + on going. - - - This property is useful in busy systems. The HTTP server - will start queuing new requests if this limit is hit, instead - of trying to process all incoming requests directly. - - - The default number if allowed simultaneous requests are 10. - - - + - Gets or sets maximum number of requests queuing to be handled. + Something failed, and we cannot handle it properly. - - - The WebServer will start turning requests away if response code - to indicate that the server - is too busy to be able to handle the request. - - - + - Realms are used during HTTP authentication. - Default realm is same as server name. + Interface used to write to log files. - + - Let's to receive unhandled exceptions from the threads. + Write an entry to the log file. - - Exceptions will be thrown during debug mode if this event is not used, - exceptions will be printed to console and suppressed during release mode. - + object that is writing to the log + importance of the log message + the message - + - The request requires user authentication. The response MUST include a - WWW-Authenticate header field (section 14.47) containing a challenge - applicable to the requested resource. - - The client MAY repeat the request with a suitable Authorization header - field (section 14.8). If the request already included Authorization - credentials, then the 401 response indicates that authorization has been - refused for those credentials. If the 401 response contains the same challenge - as the prior response, and the user agent has already attempted authentication - at least once, then the user SHOULD be presented the entity that was given in the response, - since that entity might include relevant diagnostic information. - - HTTP access authentication is explained in rfc2617: - http://www.ietf.org/rfc/rfc2617.txt - - (description is taken from - http://www.submissionchamber.com/help-guides/error-codes.php#sec10.4.2) + This class writes to the console. It colors the output depending on the logprio and includes a 3-level stacktrace (in debug mode) + - + - Create a new unauhtorized exception. + The actual instance of this class. - - + - Create a new unauhtorized exception. + Logwriters the specified source. - reason to why the request was unauthorized. - inner exception + object that wrote the logentry. + Importance of the log message + The message. - + - Create a new unauhtorized exception. + Get color for the specified logprio - reason to why the request was unauthorized. + prio for the log entry + A for the prio - + - Lists content type mime types. + Default log writer, writes everything to null (nowhere). + - + - text/plain + The logging instance. - + - text/haml + Writes everything to null + object that wrote the log entry. + Importance of the log message + The message. - + - content type for javascript documents = application/javascript + Response that is sent back to the web browser / client. - RFC 4329 states that text/javascript have been superseeded by - application/javascript. You might still want to check browser versions - since older ones do not support application/javascript. + A response can be sent if different ways. The easiest one is + to just fill the Body stream with content, everything else + will then be taken care of by the framework. The default content-type + is text/html, you should change it if you send anything else. + + The second and slightly more complex way is to send the response + as parts. Start with sending the header using the SendHeaders method and + then you can send the body using SendBody method, but do not forget + to set and before doing so. - Browser support: http://krijnhoetmer.nl/stuff/javascript/mime-types/ - - - - text/xml - - - - - A list of content types - - - - + + + // Example using response body. + class MyModule : HttpModule + { + public override bool Process(IHttpRequest request, IHttpResponse response, IHttpSession session) + { + StreamWriter writer = new StreamWriter(response.Body); + writer.WriteLine("Hello dear World!"); + writer.Flush(); - - Semicolon separated content types. + // return true to tell webserver that we've handled the url + return true; + } + } + + + todo: add two examples, using SendHeaders/SendBody and just the Body stream. - + - Returns an enumerator that iterates through a collection. + Initializes a new instance of the class. - - An object that can be used to iterate through the collection. - + Client that send the . + Contains information of what the client want to receive. + cannot be empty. - + - Searches for the specified type + Initializes a new instance of the class. - Can also be a part of a type (searching for "xml" would return true for "application/xml"). - true if type was found. + Client that send the . + Version of HTTP protocol that the client uses. + Type of HTTP connection used. - + - Get this first content type. + Add another header to the document. + Name of the header, case sensitive, use lower cases. + Header values can span over multiple lines as long as each line starts with a white space. New line chars should be \r\n + If headers already been sent. + If value conditions have not been met. + Adding any header will override the default ones and those specified by properties. - + - Fetch a content type + Send headers and body to the browser. - Part of type ("xml" would return "application/xml") - - All content types are in lower case. + If content have already been sent. - + - Session store using memory for each session. + Make sure that you have specified and sent the headers first. + + If headers have not been sent. + + offset of first byte to send + number of bytes to send. + + + This method can be used if you want to send body contents without caching them first. This + is recommended for larger files to keep the memory usage low. - + - Initializes the class setting the expirationtimer to clean the session every minute + Make sure that you have specified and sent the headers first. + + If headers have not been sent. + + + + This method can be used if you want to send body contents without caching them first. This + is recommended for larger files to keep the memory usage low. - + - Delegate for the cleanup timer + Send headers to the client. + If headers already been sent. + + + - + - Creates a new http session + Redirect client to somewhere else using the 302 status code. - + Destination of the redirect + If headers already been sent. + You can not do anything more with the request when a redirect have been done. This should be your last + action. - + - Creates a new http session with a specific id + redirect to somewhere - Id used to identify the new cookie.. - A object. + where the redirect should go - Id should be generated by the store implementation if it's null or . + No body are allowed when doing redirects. - + - Load an existing session. + The body stream is used to cache the body contents + before sending everything to the client. It's the simplest + way to serve documents. - - - + - Save an updated session to the store. + The chunked encoding modifies the body of a message in order to + transfer it as a series of chunks, each with its own size indicator, + followed by an OPTIONAL trailer containing entity-header fields. This + allows dynamically produced content to be transferred along with the + information necessary for the recipient to verify that it has + received the full message. - - + - We use the flyweight pattern which reuses small objects - instead of creating new each time. + Defines the version of the HTTP Response for applications where it's required + for this to be forced. - EmptyLanguageNode (unused) session that should be reused next time Create is called. - + - Remove expired sessions + Kind of connection - + - Remove a session + Encoding to use when sending stuff to the client. - id of the session. + Default is UTF8 - + - Load a session from the store + Number of seconds to keep connection alive - - null if session is not found. + Only used if Connection property is set to . - + - Number of minutes before a session expires. - Default is 20 minutes. + Status code that is sent to the client. + Default is - + - Webhelper provides helpers for common tasks in HTML. + Information about why a specific status code was used. - + - Used to let the website use different javascript libraries. - Default is + Size of the body. MUST be specified before sending the header, + unless property Chunked is set to true. - + - Creates a link that invokes through ajax. + Kind of content in the body - url to fetch - link title - - optional options in format "key, value, key, value". - Javascript options starts with ':'. - - a link tag - - WebHelper.AjaxRequest("/users/add/", "Add user", "method:", "post", "onclick", "validate('this');"); - + Default type is "text/html" - + - Builds a link that updates an element with the fetched ajax content. + Headers have been sent to the client- - Url to fetch content from - link title - html element to update with the results of the ajax request. - optional options in format "key, value, key, value" - A link tag. + You can not send any additional headers if they have already been sent. - + - A link that pop ups a Dialog (overlay div) + The whole response have been sent. - url to contents of dialog - link title - name/value of html attributes. - A "a"-tag that popups a dialog when clicked - - WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); - - + - Create/Open a dialog box using ajax + Cookies that should be created/changed. - - - - - + - Close a javascript dialog window/div. + The requested resource was not found in the web server. - javascript for closing a dialog. - - + - Create a <form> tag. + Create a new exception - name of form - action to invoke on submit - form should be posted as ajax - html code - - WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); - + message describing the error + inner exception - + - Create a link tag. + Create a new exception - url to go to - link title (text that is displayed) - html attributes, name, value, name, value - html code - - WebHelper.Link("/user/show/1", "Show user", "id", "showUser", "onclick", "return confirm('Are you shure?');"); - + message describing the error - + - Build a link + Session store using memory for each session. - url to go to. - title of link (displayed text) - extra html attributes. - a complete link - + - Build a link + A session store is used to store and load sessions on a media. + The default implementation () saves/retrieves sessions from memory. - url to go to. - title of link (displayed text) - extra html attributes. - a complete link - more options - + - Obsolete + Creates a new http session with a generated id. - Obsolete - Obsolete - Obsolete - Obsolete - Obsolete - Obsolete + A object - + - Obsolete + Creates a new http session with a specific id - Obsolete - Obsolete - Obsolete - Obsolete - Obsolete - Obsolete - Obsolete + Id used to identify the new cookie.. + A object. + + Id should be generated by the store implementation if it's null or . + - + - Render errors into a UL with class "errors" + Load an existing session. - class used by UL-tag. - items to list - an unordered html list. + Session id (usually retrieved from a client side cookie). + A session if found; otherwise null. - + - Render errors into a UL with class "errors" + Save an updated session to the store. - class used by UL-tag. - items to list - an unordered html list. + Session id (usually retrieved from a client side cookie). + If Id property have not been specified. - + - Render errors into a UL with class "errors" + We use the flyweight pattern which reuses small objects + instead of creating new each time. - - + Unused session that should be reused next time Create is called. - + - Generates a list with html attributes. + Remove expired sessions - StringBuilder that the options should be added to. - attributes set by user. - attributes set by any of the helper classes. - + - Generates a list with html attributes. + Remove a session - StringBuilder that the options should be added to. - + id of the session. - + - Purpose of this class is to create a javascript toolkit independent javascript helper. + Load a session from the store + + null if session is not found. - + - Generates a list with JS options. + Number of minutes before a session expires. - StringBuilder that the options should be added to. - the javascript options. name, value pairs. each string value should be escaped by YOU! - true if we should start with a comma. + Default time is 20 minutes. - + - Removes any javascript parameters from an array of parameters + Initializes the class setting the expirationtimer to clean the session every minute + + + + + Delegate for the cleanup timer - The array of parameters to remove javascript params from - An array of html parameters - + - javascript action that should be added to the "onsubmit" event in the form tag. + Creates a new http session - All javascript option names should end with colon. - - - JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); - - - + - Requests a url through ajax + Creates a new http session with a specific id - url to fetch - optional options in format "key, value, key, value", used in JS request object. - a link tag - All javascript option names should end with colon. - - - JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); - - + Id used to identify the new cookie.. + A object. + + Id should be generated by the store implementation if it's null or . + - + - Ajax requests that updates an element with - the fetched content + Load an existing session. - Url to fetch content from - element to update - optional options in format "key, value, key, value", used in JS updater object. - A link tag. - All javascript option names should end with colon. - - - JSHelper.AjaxUpdater("/user/show/1", "userInfo", "onsuccess:", "alert('Successful!');"); - - + + - + - A link that pop ups a Dialog (overlay div) + Save an updated session to the store. - url to contents of dialog - link title - A "a"-tag that popups a dialog when clicked - name/value of html attributes - - WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); - + - + - Close a javascript dialog window/div. + We use the flyweight pattern which reuses small objects + instead of creating new each time. - javascript for closing a dialog. - + EmptyLanguageNode (unused) session that should be reused next time Create is called. - + - Creates a new modal dialog window + Remove expired sessions - url to open in window. - window title (may not be supported by all js implementations) - - - + - + Remove a session - - - + id of the session. - - Represents a field in a multipart form + + + Load a session from the store + + + null if session is not found. - + - The request could not be understood by the server due to malformed syntax. - The client SHOULD NOT repeat the request without modifications. - - Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php + Number of minutes before a session expires. + Default is 20 minutes. - + - Create a new bad request exception. + Arguments sent when a is cleared - reason to why the request was bad. - + - Create a new bad request exception. + Instantiates the arguments for the event - reason to why the request was bad. - inner exception + True if the session is cleared due to expiration - + - Container class for posted files + Returns true if the session is cleared due to expiration - + - Creates a container for a posted file + Delegate for when a IHttpSession is cleared - The identifier of the post field - The file path - The content type of the file - The name of the file uploaded - If any parameter is null or empty + this is being cleared. + Arguments for the clearing - + - Creates a container for a posted file + Used to queue incoming requests. - If any parameter is null or empty - - Destructor disposing the file + + + Initializes a new instance of the class. + + Called when a request should be processed. - + - Deletes the temporary file + Used to process queued requests. - True if manual dispose - + - Disposing interface, cleans up managed resources (the temporary file) and suppresses finalization + Gets or sets maximum number of allowed simultaneous requests. - + - The name/id of the file + Gets or sets maximum number of requests queuing to be handled. - + - The full file path + Specifies how many requests the HTTP server is currently processing. - + - The name of the uploaded file + Used two queue incoming requests to avoid + thread starvation. - + - The type of file + Method used to process a queued request + Context that the request was received from. + Request to process. - + - Will contain helper functions for javascript. + Event arguments used when a new header have been parsed. - + - Requests a url through ajax + Initializes a new instance of the class. - url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself. - optional options in format "key, value, key, value", used in JS request object. All keys should end with colon. - a link tag - onclick attribute is used by this method. - - - // plain text - JSHelper.AjaxRequest("'/user/show/1'"); - - // ajax request using this.href - string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>"; - - + Name of header. + Header value. - + - Ajax requests that updates an element with - the fetched content + Initializes a new instance of the class. - url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself. - element to update - options in format "key, value, key, value". All keys should end with colon. - A link tag. - - - JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true"); - - - + - Opens contents in a dialog window. + Gets or sets header name. - url to contents of dialog - link title - name, value, name, value, all parameter names should end with colon. - + - Close a javascript dialog window/div. + Gets or sets header value. - javascript for closing a dialog. - @@ -4738,39 +4722,113 @@ Gets whether the request was made by Ajax (Asynchronous JavaScript) - + + + Gets cookies that was sent with the request. + + + + + Add a component instance + + Interface type + Instance to add + + + + Get a component. + + Interface type + Component if registered, otherwise null. + + Component will get created if needed. + + + + If instance cannot be created. + + + + Checks if the specified component interface have been added. + + + true if found; otherwise false. + + + + Add a component. + + Type being requested. + Type being created. + Type have already been mapped. + + - Gets cookies that was sent with the request. + Class to make dynamic binding of redirects. Instead of having to specify a number of similar redirect rules + a regular expression can be used to identify redirect URLs and their targets. + + [a-z0-9]+)", "/users/${target}?find=true", RegexOptions.IgnoreCase) + ]]> + - + - The website module let's you handle multiple websites in the same server. - It uses the "Host" header to check which site you want. + Initializes a new instance of the class. - It's recommended that you do not - add any other modules to HttpServer if you are using the website module. Instead, - add all wanted modules to each website. + Expression to match URL + Expression to generate URL + + [a-zA-Z0-9]+)", "/user/${first}")); + Result of ie. /employee1 will then be /user/employee1 + ]]> + - + - + Initializes a new instance of the class. - domain name that should be handled. - + Expression to match URL + Expression to generate URL + Regular expression options to use, can be null + + [a-zA-Z0-9]+)", "/user/{first}", RegexOptions.IgnoreCase)); + Result of ie. /employee1 will then be /user/employee1 + ]]> + - + - Method that process the url + Initializes a new instance of the class. - Information sent by the browser about the request - Information that is being sent back to the client. - Session used to + Expression to match URL + Expression to generate URL + Regular expression options to apply + true if request should be redirected, false if the request URI should be replaced. + + [a-zA-Z0-9]+)", "/user/${first}", RegexOptions.None)); + Result of ie. /employee1 will then be /user/employee1 + ]]> + + Argument is null. + - + - Name of site. + Process the incoming request. + incoming HTTP request + outgoing HTTP response + true if response should be sent to the browser directly (no other rules or modules will be processed). + + returning true means that no modules will get the request. Returning true is typically being done + for redirects. + + If request or response is null @@ -4812,30 +4870,6 @@ Retrieves the full path name to the resource file - - - Creates request parsers when needed. - - - - - Creates request parsers when needed. - - - - - Create a new request parser. - - Used when logging should be enabled. - A new request parser. - - - - Create a new request parser. - - Used when logging should be enabled. - A new request parser. - The "basic" authentication scheme is based on the model that the @@ -4921,533 +4955,499 @@ Adding bytes to body - - - This decoder converts XML documents to form items. - Each element becomes a subitem in the form, and each attribute becomes an item. - - - // xml: somethingdata - // result: - // form["hello"].Value = "something" - // form["hello"]["id"].Value = 1 - // form["hello"]["world]["id"].Value = 1 - // form["hello"]["world"].Value = "data" - - - The original xml document is stored in form["__xml__"].Value. - - - - - - - Stream containing the content - Content type (with any additional info like boundry). Content type is always supplied in lower case - Stream encoding - Note: contentType and encoding are not used? - A http form, or null if content could not be parsed. - - - - - Recursive function that will go through an xml element and store it's content - to the form item. - - (parent) Item in form that content should be added to. - Node that should be parsed. - - - - Checks if the decoder can handle the mime type - - Content type (with any additional info like boundry). Content type is always supplied in lower case. - True if the decoder can parse the specified content type - - - - Cookies that should be set. - - - - - Adds a cookie in the collection. - - cookie to add - cookie is null - - - - Copy a request cookie - - - When the cookie should expire - - - - Gets a collection enumerator on the cookie list. - - collection enumerator - - + - Remove all cookies + Will contain helper functions for javascript. - + - Returns an enumerator that iterates through the collection. + Requests a url through ajax + url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself. + optional options in format "key, value, key, value", used in JS request object. All keys should end with colon. + a link tag + onclick attribute is used by this method. + + + // plain text + JSHelper.AjaxRequest("'/user/show/1'"); - - A that can be used to iterate through the collection. - - 1 + // ajax request using this.href + string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>"; + + - + - Gets the count of cookies in the collection. + Ajax requests that updates an element with + the fetched content + url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself. + element to update + options in format "key, value, key, value". All keys should end with colon. + A link tag. + + + JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true"); + + - + - Gets the cookie of a given identifier (null if not existing). + Opens contents in a dialog window. + url to contents of dialog + link title + name, value, name, value, all parameter names should end with colon. - + - This class is created as a wrapper, since there are two different cookie types in .Net (Cookie and HttpCookie). - The framework might switch class in the future and we dont want to have to replace all instances + Close a javascript dialog window/div. + javascript for closing a dialog. + - + - Let's copy all the cookies. + Lists content type mime types. - value from cookie header. - + - Adds a cookie in the collection. + text/plain - cookie to add - cookie is null - + - Gets a collection enumerator on the cookie list. + text/haml - collection enumerator - + - Remove all cookies. + content type for javascript documents = application/javascript + + + RFC 4329 states that text/javascript have been superseeded by + application/javascript. You might still want to check browser versions + since older ones do not support application/javascript. + + Browser support: http://krijnhoetmer.nl/stuff/javascript/mime-types/ + - + - Returns an enumerator that iterates through the collection. + text/xml - - - A that can be used to iterate through the collection. - - 1 - + - Remove a cookie from the collection. + A list of content types - Name of cookie. - + - Gets the count of cookies in the collection. + + Semicolon separated content types. - + - Gets the cookie of a given identifier (null if not existing). + Returns an enumerator that iterates through a collection. + + An object that can be used to iterate through the collection. + - + - New implementation of the HTTP listener. + Searches for the specified type - - Use the Create methods to create a default listener. - + Can also be a part of a type (searching for "xml" would return true for "application/xml"). + true if type was found. - + - Initializes a new instance of the class. + Get this first content type. - IP Address to accept connections on - TCP Port to listen on, default HTTP port is 80. - Factory used to create es. - address is null. - Port must be a positive number. - + - Initializes a new instance of the class. + Fetch a content type - The address. - The port. - The factory. - The certificate. + Part of type ("xml" would return "application/xml") + + All content types are in lower case. - + - Initializes a new instance of the class. + Creates request parsers when needed. - The address. - The port. - The factory. - The certificate. - The protocol. - + - Creates a new instance with default factories. + Creates request parsers when needed. - Address that the listener should accept connections on. - Port that listener should accept connections on. - Created HTTP listener. - + - Creates a new instance with default factories. + Create a new request parser. - Address that the listener should accept connections on. - Port that listener should accept connections on. - Certificate to use - Created HTTP listener. + Used when logging should be enabled. + A new request parser. - + - Creates a new instance with default factories. + Create a new request parser. - Address that the listener should accept connections on. - Port that listener should accept connections on. - Certificate to use - which HTTPS protocol to use, default is TLS. - Created HTTP listener. + Used when logging should be enabled. + A new request parser. - + - Can be used to create filtering of new connections. + The request requires user authentication. The response MUST include a + WWW-Authenticate header field (section 14.47) containing a challenge + applicable to the requested resource. + + The client MAY repeat the request with a suitable Authorization header + field (section 14.8). If the request already included Authorization + credentials, then the 401 response indicates that authorization has been + refused for those credentials. If the 401 response contains the same challenge + as the prior response, and the user agent has already attempted authentication + at least once, then the user SHOULD be presented the entity that was given in the response, + since that entity might include relevant diagnostic information. + + HTTP access authentication is explained in rfc2617: + http://www.ietf.org/rfc/rfc2617.txt + + (description is taken from + http://www.submissionchamber.com/help-guides/error-codes.php#sec10.4.2) - Accepted socket - - true if connection can be accepted; otherwise false. - - + - A client have been accepted, but not handled, by the listener. + Create a new unauhtorized exception. + - + - Generic helper functions for HTTP + Create a new unauhtorized exception. + reason to why the request was unauthorized. + inner exception - + - Version string for HTTP v1.0 + Create a new unauhtorized exception. + reason to why the request was unauthorized. - + - Version string for HTTP v1.1 + The purpose of this module is to serve files. - + - An empty URI + Initializes a new instance of the class. + Uri to serve, for instance "/files/" + Path on hard drive where we should start looking for files + If true a Last-Modifed header will be sent upon requests urging web browser to cache files - + - Parses a query string. + Initializes a new instance of the class. - Query string (URI encoded) - A object if successful; otherwise - queryString is null. - If string cannot be parsed. + Uri to serve, for instance "/files/" + Path on hard drive where we should start looking for files - + - A reverse proxy are used to act as a bridge between local (protected/hidden) websites - and public clients. - - A typical usage is to allow web servers on non standard ports to still be available - to the public clients, or allow web servers on private ips to be available. + Mimtypes that this class can handle per default - + - + Determines if the request should be handled by this module. + Invoked by the - Base url requested from browser - Base url on private web server - - // this will return contents from http://192.168.1.128/view/jonas when client requests http://www.gauffin.com/user/view/jonas - _server.Add(new ReverseProxyModule("http://www.gauffin.com/user/", "http://192.168.1.128/"); - + + true if this module should handle it. - + + Illegal path + + - Method that determines if an url should be handled or not by the module + check if source contains any of the chars. - Url requested by the client. - true if module should handle the url. + + + - + - Method that process the url + Method that process the Uri. Information sent by the browser about the request Information that is being sent back to the client. Session used to + Failed to find file extension + File type is forbidden. - + - Used to inform http server that + return a file extension from an absolute Uri path (or plain filename) + + - + - Eventarguments used when an exception is thrown by a module + List with all mime-type that are allowed. - the exception + All other mime types will result in a Forbidden http status code. - + - Exception thrown in a module + characters that may not exist in a path. + + fileMod.ForbiddenChars = new string[]{ "\\", "..", ":" }; + - + - PrototypeJS implementation of the javascript functions. + Webhelper provides helpers for common tasks in HTML. - + - Requests a url through ajax + Used to let the website use different javascript libraries. + Default is - url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself. - optional options in format "key, value, key, value", used in JS request object. All keys should end with colon. - a link tag - onclick attribute is used by this method. - - - // plain text - JSHelper.AjaxRequest("'/user/show/1'"); - - // ajax request using this.href - string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>"; - - - + - Determins if a list of strings contains a specific value + Creates a link that invokes through ajax. - options to check in - value to find - true if value was found - case insensitive + url to fetch + link title + + optional options in format "key, value, key, value". + Javascript options starts with ':'. + + a link tag + + WebHelper.AjaxRequest("/users/add/", "Add user", "method:", "post", "onclick", "validate('this');"); + - + - Ajax requests that updates an element with - the fetched content + Builds a link that updates an element with the fetched ajax content. - URL to fetch. URL is NOT enclosed in quotes by the implementation. You need to do that yourself. - element to update - options in format "key, value, key, value". All keys should end with colon. + Url to fetch content from + link title + html element to update with the results of the ajax request. + optional options in format "key, value, key, value" A link tag. - - - JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true"); - - - + A link that pop ups a Dialog (overlay div) - URL to contents of dialog + url to contents of dialog link title - name, value, name, value - - A "a"-tag that popups a dialog when clicked - - Requires Control.Modal found here: http://livepipe.net/projects/control_modal/ - And the following JavaScript (load it in application.js): - - Event.observe(window, 'load', - function() { - document.getElementsByClassName('modal').each(function(link){ new Control.Modal(link); }); - } - ); - - + name/value of html attributes. + A "a"-tag that popups a dialog when clicked WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); - + - create a modal dialog (usually using DIVs) + Create/Open a dialog box using ajax - url to fetch - dialog title - javascript/html attributes. javascript options ends with colon ':'. + + + - + Close a javascript dialog window/div. javascript for closing a dialog. - + - + - javascript action that should be added to the "onsubmit" event in the form tag. + Create a <form> tag. - remember to encapsulate strings in '' - - All javascript option names should end with colon. + name of form + action to invoke on submit + form should be posted as ajax + html code - - JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); - + WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); - - - Implements HTTP Digest authentication. It's more secure than Basic auth since password is - encrypted with a "key" from the server. - - - Keep in mind that the password is encrypted with MD5. Use a combination of SSL and digest auth to be secure. - - - - - Initializes a new instance of the class. - - Delegate used to provide information used during authentication. - Delegate used to determine if authentication is required (may be null). - - - - Initializes a new instance of the class. - - Delegate used to provide information used during authentication. - - + - Used by test classes to be able to use hardcoded values + Create a link tag. + url to go to + link title (text that is displayed) + html attributes, name, value, name, value + html code + + WebHelper.Link("/user/show/1", "Show user", "id", "showUser", "onclick", "return confirm('Are you shure?');"); + - + - An authentication response have been received from the web browser. - Check if it's correct + Build a link - Contents from the Authorization header - Realm that should be authenticated - GET/POST/PUT/DELETE etc. - First option: true if username/password is correct but not cnonce - - Authentication object that is stored for the request. A user class or something like that. - - if authenticationHeader is invalid - If any of the paramters is empty or null. + url to go to. + title of link (displayed text) + extra html attributes. + a complete link - + - Encrypts parameters into a Digest string + Build a link - Realm that the user want to log into. - User logging in - Users password. - HTTP method. - Uri/domain that generated the login prompt. - Quality of Protection. - "Number used ONCE" - Hexadecimal request counter. - "Client Number used ONCE" - Digest encrypted string + url to go to. + title of link (displayed text) + extra html attributes. + a complete link + more options - + - + Obsolete - Md5 hex encoded "userName:realm:password", without the quotes. - Md5 hex encoded "method:uri", without the quotes - Quality of Protection - "Number used ONCE" - Hexadecimal request counter. - Client number used once - + Obsolete + Obsolete + Obsolete + Obsolete + Obsolete + Obsolete - + - Create a response that can be sent in the WWW-Authenticate header. + Obsolete - Realm that the user should authenticate in - First options specifies if true if username/password is correct but not cnonce. - A correct auth request. - If realm is empty or null. + Obsolete + Obsolete + Obsolete + Obsolete + Obsolete + Obsolete + Obsolete - + - Decodes authorization header value + Render errors into a UL with class "errors" - header value - Encoding that the buffer is in - All headers and their values if successful; otherwise null - - NameValueCollection header = DigestAuthentication.Decode("response=\"6629fae49393a05397450978507c4ef1\",\r\nc=00001", Encoding.ASCII); - - Can handle lots of whitespaces and new lines without failing. + class used by UL-tag. + items to list + an unordered html list. - + - Gets the current nonce. + Render errors into a UL with class "errors" - + class used by UL-tag. + items to list + an unordered html list. - + - Gets the Md5 hash bin hex2. + Render errors into a UL with class "errors" - To be hashed. + - + - determines if the nonce is valid or has expired. + Generates a list with html attributes. - nonce value (check wikipedia for info) - true if the nonce has not expired. + StringBuilder that the options should be added to. + attributes set by user. + attributes set by any of the helper classes. - + - name used in http request. + Generates a list with html attributes. + StringBuilder that the options should be added to. + - + - Gets or sets whether the token supplied in is a - HA1 generated string. + Delegate used by to populate select options. + current object (for instance a User). + Text that should be displayed in the value part of a <optiongt;-tag. + Text shown in the select list. + + // Class that is going to be used in a SELECT-tag. + public class User + { + private readonly string _realName; + private readonly int _id; + public User(int id, string realName) + { + _id = id; + _realName = realName; + } + public string RealName + { + get { return _realName; } + } + + public int Id + { + get { return _id; } + } + } + + // Using an inline delegate to generate the select list + public void UserInlineDelegate() + { + List<User> items = new List<User>(); + items.Add(new User(1, "adam")); + items.Add(new User(2, "bertial")); + items.Add(new User(3, "david")); + string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value) + { + User user = (User)o; + id = user.Id; + value = user.RealName; + }, 2, true); + } + + // Using an method as delegate to generate the select list. + public void UseExternalDelegate() + { + List<User> items = new List<User>(); + items.Add(new User(1, "adam")); + items.Add(new User(2, "bertial")); + items.Add(new User(3, "david")); + string htmlSelect = Select("users", "users", items, UserOptions, 1, true); + } + + // delegate returning id and title + public static void UserOptions(object o, out object id, out object title) + { + User user = (User)o; + id = user.Id; + value = user.RealName; + } /// -- cgit v1.1 From ad438ee59fce1b262135ef0f7cd1213f3a79df50 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 3 Feb 2013 16:08:09 -0800 Subject: BulletSim: rework some parameter setting implementation moving functionality that was in BSScene to BSParam. Remove unused parameters that were passed to the unmanaged code. Update DLLs and SOs for the new param block. --- bin/lib32/BulletSim.dll | Bin 545280 -> 546304 bytes bin/lib32/libBulletSim.so | Bin 1690012 -> 1695269 bytes bin/lib64/BulletSim.dll | Bin 693248 -> 694272 bytes bin/lib64/libBulletSim.so | Bin 1834927 -> 1841657 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 24dffac..0d24f12 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index 7e3ed20..674a08a 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 808f433..ffcf7d0 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index 9382751..e2fc8bd 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From dce9e323f4f0fdccd2f34266e870de9cbcebd2f0 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Tue, 5 Feb 2013 16:51:02 -0800 Subject: BulletSim: remove degenerate triangles from meshes. This fixes the invisible barriers in sculptie doorways (Mantis 6529). Bump up level-of-detail for physical meshes to 32 (the max). This fixes the invisible barriers that showed up in prim cut arches. NOTE: the default LOD values are removed from OpenSimDefaults.ini. If you don't change your OpenSimDefaults.ini, you will continue to see the arch problem. --- bin/OpenSimDefaults.ini | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 9119273..7bdfd1c 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -916,13 +916,9 @@ ; Terrain Implementation {1|0} 0 for HeightField, 1 for Mesh terrain. If you're using the bulletxna engine, ; you will want to switch to the heightfield option - TerrainImplementation = 1 ; TerrainImplementation = 0 - DefaultFriction = 0.20 - DefaultDensity = 10.000006836 - DefaultRestitution = 0.0 Gravity = -9.80665 TerrainFriction = 0.30 @@ -931,7 +927,7 @@ TerrainCollisionMargin = 0.04 AvatarFriction = 0.2 - AvatarStandingFriction = 10.0 + AvatarStandingFriction = 0.95 AvatarRestitution = 0.0 AvatarDensity = 3.5 AvatarCapsuleWidth = 0.6 @@ -943,7 +939,7 @@ CollisionMargin = 0.04 - ; Linkset constraint parameters + ; Linkset implmentation LinkImplementation = 1 ; 0=constraint, 1=compound ; Whether to mesh sculpties @@ -952,14 +948,6 @@ ; If 'true', force simple prims (box and sphere) to be meshed ForceSimplePrimMeshing = false - ; level of detail for physical meshes. 32,16,8 or 4 with 32 being full detail - MeshLevelOfDetail = 8 - ; if mesh size is > threshold meters, we need to add more detail because people will notice - MeshLevelOfDetailMegaPrimThreshold = 10 - MeshLevelOfDetailMegaPrim = 16 - ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies - SculptLevelOfDetail = 32 - ; Bullet step parameters MaxSubSteps = 10 FixedTimeStep = .01667 -- cgit v1.1 From 36463612794f95776e8ddea14333827cbce35eff Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Tue, 5 Feb 2013 17:19:55 -0800 Subject: BulletSim: make removing zero width triangles from meshes optional and, for the moment, default to 'off'. --- bin/lib32/BulletSim.dll | Bin 546304 -> 546304 bytes bin/lib64/BulletSim.dll | Bin 694272 -> 694272 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 0d24f12..de4f95a 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index ffcf7d0..1c55b19 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ -- cgit v1.1 From 07a7ec4d1b7af92bf385a04f20ed208cf339bcac Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 6 Feb 2013 02:40:32 +0000 Subject: minor: Add explanation of MaptileStaticUUID setting in Regions.ini.example --- bin/Regions/Regions.ini.example | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bin') diff --git a/bin/Regions/Regions.ini.example b/bin/Regions/Regions.ini.example index f5282a7..ab3a62a 100644 --- a/bin/Regions/Regions.ini.example +++ b/bin/Regions/Regions.ini.example @@ -45,4 +45,8 @@ ExternalHostName = "SYSTEMIP" ; * ; RegionType = "Mainland" + +; * +; * UUID of texture to use as a maptile for this region. +; * Only set if you have disabled dynamic generation of the map tile from the region contents. ; MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" -- cgit v1.1 From 4867a7cbbf7302845fff031db5eae6fbf93bf26b Mon Sep 17 00:00:00 2001 From: teravus Date: Thu, 7 Feb 2013 10:26:48 -0500 Subject: This is the final commit that enables the Websocket handler --- bin/HttpServer_OpenSim.dll | Bin 116224 -> 116224 bytes bin/HttpServer_OpenSim.pdb | Bin 302592 -> 343552 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 9cd1e08..fd7ad74 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index d20a0c5..f56e891 100644 Binary files a/bin/HttpServer_OpenSim.pdb and b/bin/HttpServer_OpenSim.pdb differ -- cgit v1.1 From e93defd0ca326754d1bd5a1a503d6d47428272be Mon Sep 17 00:00:00 2001 From: Mic Bowman Date: Fri, 8 Feb 2013 15:07:43 -0800 Subject: Adds size limits to JsonStore. Adds a separate configuration variable to enable binding to dynamic attributes. --- bin/OpenSimDefaults.ini | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 7bdfd1c..2512428 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1652,6 +1652,10 @@ [JsonStore] Enabled = False +;; Enable direct access to the SOP dynamic attributes +EnableObjectStore = False +MaxStringSpace = 0 + ;; ;; These are defaults that are overwritten below in [Architecture]. ;; These defaults allow OpenSim to work out of the box with -- cgit v1.1 From 4808b8ee380d32c1b63654f9c0170a5f07b46bd0 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Fri, 8 Feb 2013 16:27:44 -0800 Subject: BulletSim: add parameter to set global contact breaking threshold. Update DLLs and SOs for setting same. --- bin/lib32/BulletSim.dll | Bin 546304 -> 546816 bytes bin/lib32/libBulletSim.so | Bin 1695269 -> 1695699 bytes bin/lib64/BulletSim.dll | Bin 694272 -> 694272 bytes bin/lib64/libBulletSim.so | Bin 1841657 -> 1842163 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index de4f95a..4dd2f38 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index 674a08a..cb8742a 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 1c55b19..c9f5814 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index e2fc8bd..19fc7bf 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From aaa80d11a8ad82c5b237381a934c2a1d6f2089bd Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 12 Feb 2013 14:47:26 -0800 Subject: Replaced Ionic.Zip.dll with a new one that fixes a bug in it. DotNetZip (from which Ionic.Zip.dll is derived) is now a fork in opensim-libs, forked from 1.9.1.8 and added that simple bug fix. --- bin/Ionic.Zip.dll | Bin 462336 -> 491520 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Ionic.Zip.dll b/bin/Ionic.Zip.dll index 95fa928..e37f1bd 100755 Binary files a/bin/Ionic.Zip.dll and b/bin/Ionic.Zip.dll differ -- cgit v1.1 From 0194a3d890b95c8a29fcdf130c378e3a8a629c77 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Tue, 12 Feb 2013 15:45:44 -0800 Subject: BulletSim: fix density since the simulator/viewer track density in a funny unit that is 100 times real density (default 1000). Fix avatar drifting slowly when stationary flying. Fix for physical prims getting corrected for being under terrain when it was just its geometric center that was below terrain. Add PreUpdatePropertyAction allowing plugable modifiction of phys parameters returned from Bullet. Fix an exception setting GravityMultiplier on initialization. Update DLLs and SOs for good measure (no functional change). --- bin/lib32/BulletSim.dll | Bin 546816 -> 546816 bytes bin/lib32/libBulletSim.so | Bin 1695699 -> 1700826 bytes bin/lib64/BulletSim.dll | Bin 694272 -> 694784 bytes bin/lib64/libBulletSim.so | Bin 1842163 -> 1843498 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 4dd2f38..e7a8a41 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index cb8742a..4bf23a6 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index c9f5814..63ac1a9 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index 19fc7bf..422681e 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From 1d7276235ace0ed6b7701efa36a7fd7f1b552bab Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 17 Feb 2013 20:07:04 -0800 Subject: BulletSim: add calls for creating all the different Bullet constraint types. Updated the DLLs and SOs and code for BulletXNA to create the types. All the detailed control calls are not all in place yet. --- bin/lib32/BulletSim.dll | Bin 546816 -> 570368 bytes bin/lib32/libBulletSim.so | Bin 1700826 -> 1751260 bytes bin/lib64/BulletSim.dll | Bin 694784 -> 720896 bytes bin/lib64/libBulletSim.so | Bin 1843498 -> 1908442 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index e7a8a41..689b34f 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index 4bf23a6..b8c813e 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 63ac1a9..33c4d08 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index 422681e..79207fe 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From 5e709b087ccf380749c6a6da8a8293c23f211efd Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 18 Feb 2013 15:44:00 -0800 Subject: Donating Diva OfflineIM as an addon in a single dll, OpenSim.Addons.OpenSim.dll --- bin/OpenSim.ini.example | 14 ++++++++++---- bin/Robust.HG.ini.example | 16 +++++----------- bin/Robust.ini.example | 7 +++++++ 3 files changed, 22 insertions(+), 15 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 653de5c..07e7357 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -531,14 +531,20 @@ [Messaging] - ;# {OfflineMessageModule} {} {Module to use for offline message storage} {OfflineMessageModule *} + ;# {OfflineMessageModule} {} {Module to use for offline message storage} {OfflineMessageModule "Offline Message Module V2" *} ;; Module to handle offline messaging. The core module requires an external ;; web service to do this. See OpenSim wiki. ; OfflineMessageModule = OfflineMessageModule + ;; Or, alternatively, use this one, which works for both standalones and grids + ; OfflineMessageModule = "Offline Message Module V2" - ;# {OfflineMessageURL} {OfflineMessageModule:OfflineMessageModule} {URL of offline messaging service} {} - ;; URL of web service for offline message storage - ; OfflineMessageURL = http://yourserver/Offline.php + ;# {OfflineMessageURL} {OfflineMessageModule:OfflineMessageModule Offline Message Module V2:Offline Message Module V2} {URL of offline messaging service} {} + ;; URL of web service for offline message storage. Leave it commented if your service is local to the sim. + ; OfflineMessageURL = http://yourserver/Offline.php or http://yourrobustserver:8003 + + ;# {StorageProvider} {Offline Message Module V2:Offline Message Module V2} {DLL that provides the storage interface} {OpenSim.Addons.OfflineIM} + ;; For standalones, use the service directly. This is the storage dll. + ; StorageProvider = OpenSim.Addons.OfflineIM.dll ;# {MuteListModule} {OfflineMessageModule:OfflineMessageModule} {} {} MuteListModule ;; Mute list handler (not yet implemented). MUST BE SET to allow offline diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index c7d4b7f..fd86bca 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -51,6 +51,8 @@ GridUserServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridUserServiceConn FriendsServiceConnector = "8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector" MapAddServiceConnector = "8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector" MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector" +;; Uncomment this if you want offline IM to work +;OfflineIMServiceConnector = "8003/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" ;; Additions for Hypergrid @@ -545,15 +547,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset InGatekeeper = True [Messaging] - ; If you have an Offline IM server, set the vars in this section, so that - ; incomming IMs to local users from foreign grids can be saved - ; - ;# {OfflineMessageURL} {OfflineMessageModule:OfflineMessageModule} {URL of offline messaging service} {} - ;; URL of web service for offline message storage - ; OfflineMessageURL = http://yourserver/Offline.php - - ;; Control whether group messages are forwarded to offline users. - ;; Default is true. - ;; This applies to the core groups module (Flotsam) only. - ; ForwardOfflineGroupMessages = true + ; OfflineIM + StorageProvider = "OpenSim.Addons.OfflineIM.dll" + OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index bc5cbcc..9dd0d71 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -43,6 +43,9 @@ GridUserServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridUserServiceConn FriendsServiceConnector = "8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector" MapAddServiceConnector = "8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector" MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector" +;; Uncomment this if you want offline IM to work +;OfflineIMServiceConnector = "8003/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" + ; * This is common for all services, it's the network setup for the entire ; * server instance, if none is specified above @@ -329,6 +332,10 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; HasProxy = false +[Messaging] + ; OfflineIM + StorageProvider = "OpenSim.Addons.OfflineIM.dll" + OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" [GridInfoService] ; These settings are used to return information on a get_grid_info call. -- cgit v1.1 From 46e182dbf546dcb58d088c043a0baa2dcfed9125 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 19 Feb 2013 06:37:20 -0800 Subject: Offline IM: moved the Data and MySQL bits to the corresponding places in core, so that it will be easier to plugin a SQLite backend, if anyone is interested in doing that. --- bin/OpenSim.ini.example | 6 +++--- bin/Robust.HG.ini.example | 1 - bin/Robust.ini.example | 1 - 3 files changed, 3 insertions(+), 5 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 07e7357..674a66c 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -542,9 +542,9 @@ ;; URL of web service for offline message storage. Leave it commented if your service is local to the sim. ; OfflineMessageURL = http://yourserver/Offline.php or http://yourrobustserver:8003 - ;# {StorageProvider} {Offline Message Module V2:Offline Message Module V2} {DLL that provides the storage interface} {OpenSim.Addons.OfflineIM} - ;; For standalones, use the service directly. This is the storage dll. - ; StorageProvider = OpenSim.Addons.OfflineIM.dll + ;# {StorageProvider} {Offline Message Module V2:Offline Message Module V2} {DLL that provides the storage interface} {OpenSim.Data.MySQL.dll} + ;; For standalones, this is the storage dll. + ; StorageProvider = OpenSim.Data.MySQL.dll ;# {MuteListModule} {OfflineMessageModule:OfflineMessageModule} {} {} MuteListModule ;; Mute list handler (not yet implemented). MUST BE SET to allow offline diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index fd86bca..020815e 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -548,6 +548,5 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset [Messaging] ; OfflineIM - StorageProvider = "OpenSim.Addons.OfflineIM.dll" OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 9dd0d71..63a5699 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -334,7 +334,6 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto [Messaging] ; OfflineIM - StorageProvider = "OpenSim.Addons.OfflineIM.dll" OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" [GridInfoService] -- cgit v1.1 From 9380d01976726885bd993573aa649f2cb0992909 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 19 Feb 2013 07:26:40 -0800 Subject: First commit of Diva Groups. The Data bits went to OpenSim.Data core, the rest to Addons.Groups.dll. --- bin/OpenSim.ini.example | 44 +++++++++++++++++++++++++++++--------------- bin/Robust.HG.ini.example | 10 ++++++++++ bin/Robust.ini.example | 2 ++ 3 files changed, 41 insertions(+), 15 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 674a66c..cb978f1 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -931,33 +931,47 @@ ;; Enables the groups module ; Enabled = false - ;# {Module} {Enabled:true} {Groups module to use? (Use GroupsModule to use Flotsam/Simian)} {} Default - ;; This is the current groups stub in Region.CoreModules.Avatar.Groups. - ;; All the other settings below only really apply to the Flotsam/SimianGrid - ;; GroupsModule. - ;; This module can use a PHP XmlRpc server from the Flotsam project at + ;# {Module} {Enabled:true} {Groups module to use? (Use GroupsModule to use Flotsam/Simian)} {Default "Groups Module V2"} Default + ;; The default module can use a PHP XmlRpc server from the Flotsam project at ;; http://code.google.com/p/flotsam/ ;; or from the SimianGrid project at http://code.google.com/p/openmetaverse ; Module = Default + ;; or... use Groups Module V2, which works for standalones and robust grids + ; Module = "Groups Module V2" - ;# {MessagingEnabled} {Module:GroupsModule} {Is groups messaging enabled?} {true false} true - ; MessagingEnabled = true - - ;# {MessagingModule} {MessagingEnabled:true} {Module to use for groups messaging} {GroupsMessagingModule} GroupsMessagingModule - ; MessagingModule = GroupsMessagingModule + ;# {StorageProvider} {Module:Groups Module V2} {The DLL that provides the storage for V2} {OpenSim.Data.MySQL.dll} + ; StorageProvider = OpenSim.Data.MySQL.dll - ;# {ServicesConnectorModule} {Module:GroupsModule} {Service connector to use for groups} {XmlRpcGroupsServicesConnector SimianGroupsServicesConnector} XmlRpcGroupsServicesConnector + ;# {ServicesConnectorModule} {Module:GroupsModule Module:Groups Module V2} {Service connector to use for groups} {XmlRpcGroupsServicesConnector SimianGroupsServicesConnector "Groups Local Service Connector" "Groups Remote Service Connector" "Groups HG Service Connector"} XmlRpcGroupsServicesConnector ;; Service connectors to the Groups Service as used in the GroupsModule. Select one depending on - ;; whether you're using a Flotsam XmlRpc backend or a SimianGrid backend + ;; whether you're using a Flotsam XmlRpc backend or a SimianGrid backend or several flavours of V2, Hypergrided or not, standalone or grided. ; ServicesConnectorModule = XmlRpcGroupsServicesConnector - ;# {GroupsServerURI} {Module:GroupsModule} {Groups Server URI} {} - ;; URI for the groups services + ;# {LocalService} {ServicesConnectorModule:Groups HG Service Connector} {Is the group service in this process or elsewhere?} {local remote} local + ;; Used for V2 in HG only. If standalone, set this to local; if grided sim, set this to remote + ; LocalService = local + + ;# {GroupsServerURI} {Module:GroupsModule (ServicesConnectorModule:Groups Remote Service Connector or (ServicesConnectorModule:Groups HG Service Connector and LocalService:remote))} {Groups Server URI} {} + ;; URI for the groups services of this grid ;; e.g. http://yourxmlrpcserver.com/xmlrpc.php for Flotsam XmlRpc ;; or http://mygridserver.com:82/Grid/ for SimianGrid + ;; or http:://mygridserver.com:8003 for robust, V2 ; GroupsServerURI = "" - ;# {NoticesEnabled} {Module:GroupsModule} {Enable group notices?} {true false} true + ;# {HomeURI} {ServicesConnectorModule:Groups HG Service Connector} {What's the home address of this world?} {} + ;; Used for V2 in HG only. For example + ;; http://mygridserver.com:9000 or http://mygridserver.com:8002 + ; HomeURI = "" + + ;# {MessagingEnabled} {Module:GroupsModule Module:Groups Module V2} {Is groups messaging enabled?} {true false} true + ; MessagingEnabled = true + + ;# {MessagingModule} {MessagingEnabled:true} {Module to use for groups messaging} {GroupsMessagingModule "Groups Messaging Module V2"} GroupsMessagingModule + ; MessagingModule = GroupsMessagingModule + ;; or use V2 for Groups V2 + ; MessagingModule = "Groups Messaging Module V2" + + ;# {NoticesEnabled} {Module:GroupsModule Module:Groups Module V2} {Enable group notices?} {true false} true ;; Enable Group Notices ; NoticesEnabled = true diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 020815e..f249dd2 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -53,6 +53,8 @@ MapAddServiceConnector = "8003/OpenSim.Server.Handlers.dll:MapAddServiceConnecto MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector" ;; Uncomment this if you want offline IM to work ;OfflineIMServiceConnector = "8003/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" +;; Uncomment this if you want Groups V2 to work +;GroupsServiceConnector = "8003/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" ;; Additions for Hypergrid @@ -63,6 +65,8 @@ HGFriendsServerConnector = "8002/OpenSim.Server.Handlers.dll:HGFriendsServerConn InstantMessageServerConnector = "8002/OpenSim.Server.Handlers.dll:InstantMessageServerConnector" HGInventoryServiceConnector = "HGInventoryService@8002/OpenSim.Server.Handlers.dll:XInventoryInConnector" HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:AssetServiceConnector" +;; Uncomment this if you want Groups V2, HG to work +;HGGroupsServiceConnector = "8002/Diva.Groups.dll:HGGroupsServiceRobustConnector" ;; Additions for other add-on modules. For example: ;; WifiServerConnector = "8002/Diva.Wifi.dll:WifiServerConnector" @@ -550,3 +554,9 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; OfflineIM OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" +[Groups] + ;; for the HG Groups service + OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" + ; What is the HomeURI of users associated with this grid? + HomeURI = "http://127.0.0.1:8002" + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 63a5699..eee313a 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -45,6 +45,8 @@ MapAddServiceConnector = "8003/OpenSim.Server.Handlers.dll:MapAddServiceConnecto MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector" ;; Uncomment this if you want offline IM to work ;OfflineIMServiceConnector = "8003/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" +;; Uncomment this if you want Groups V2 to work +;GroupsServiceConnector = "8003/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" ; * This is common for all services, it's the network setup for the entire -- cgit v1.1 From fc89987656ec8247b1ae703628f4b83e3b0eeb60 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 19 Feb 2013 07:30:55 -0800 Subject: Previous build failed. Checking in a dummy change to see if the fail persists. --- bin/Robust.HG.ini.example | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index f249dd2..3858a3c 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -52,9 +52,9 @@ FriendsServiceConnector = "8003/OpenSim.Server.Handlers.dll:FriendsServiceConnec MapAddServiceConnector = "8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector" MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector" ;; Uncomment this if you want offline IM to work -;OfflineIMServiceConnector = "8003/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" +; OfflineIMServiceConnector = "8003/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" ;; Uncomment this if you want Groups V2 to work -;GroupsServiceConnector = "8003/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" +; GroupsServiceConnector = "8003/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" ;; Additions for Hypergrid @@ -66,7 +66,7 @@ InstantMessageServerConnector = "8002/OpenSim.Server.Handlers.dll:InstantMessage HGInventoryServiceConnector = "HGInventoryService@8002/OpenSim.Server.Handlers.dll:XInventoryInConnector" HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:AssetServiceConnector" ;; Uncomment this if you want Groups V2, HG to work -;HGGroupsServiceConnector = "8002/Diva.Groups.dll:HGGroupsServiceRobustConnector" +; HGGroupsServiceConnector = "8002/Diva.Groups.dll:HGGroupsServiceRobustConnector" ;; Additions for other add-on modules. For example: ;; WifiServerConnector = "8002/Diva.Wifi.dll:WifiServerConnector" -- cgit v1.1 From db2b3627f2e22f6e677dc77cd0225c3937fff1b8 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 20 Feb 2013 00:48:02 +0000 Subject: Add information about MinLoginLevel to example ini files --- bin/Robust.ini.example | 7 ++++++- bin/config-include/StandaloneCommon.ini.example | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index eee313a..05ea670 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -261,7 +261,12 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto LibraryService = "OpenSim.Services.InventoryService.dll:LibraryService" FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" - ;; Ask co-operative viewers to use a different currency name + ; The minimum user level required for a user to be able to login. 0 by default + ; If you disable a particular user's account then you can set their login level below this number. + ; You can also change this level from the console though these changes will not be persisted. + ; MinLoginLevel = 0 + + ; Ask co-operative viewers to use a different currency name ;Currency = "" WelcomeMessage = "Welcome, Avatar!" diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index f28de43..ffa2d49 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -85,6 +85,11 @@ ;; For Viewer 2 MapTileURL = "http://127.0.0.1:9000/" + ; The minimum user level required for a user to be able to login. 0 by default + ; If you disable a particular user's account then you can set their login level below this number. + ; You can also change this level from the console though these changes will not be persisted. + ; MinLoginLevel = 0 + ;; Ask co-operative viewers to use a different currency name ;Currency = "" -- cgit v1.1 From e515cdddec435e97e9ed4722de08ee410e94a7e6 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 21 Feb 2013 17:26:19 -0800 Subject: Simplification of HG configs: HomeURI and GatekeeperURI now are defined as default under [Startup]. They can then be overwritten in the other sections (but probably shouldn't). I kept the existing code for backwards compatibility, so this should not cause any breaks from people's current configurations. But people should move to have these 2 vars under [Startup] -- see OpenSim.ini.example and Robust.HG.ini.example. And yes, both names now end with "URI" for consistency. --- bin/OpenSim.ini.example | 16 +++++++ bin/Robust.HG.ini.example | 63 +++++++++++++++++-------- bin/config-include/StandaloneCommon.ini.example | 25 ++++++---- 3 files changed, 74 insertions(+), 30 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index cb978f1..4199441 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -346,6 +346,21 @@ ;; - "Imprudence 1.3.1" has access ; BannedViewerList = + ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server that + ;; runs the UserAgentsService. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; HomeURI = "http://127.0.0.1:9000" + + ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server + ;; that runs the Gatekeeper service. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; GatekeeperURI = "http://127.0.0.1:9000" [Estates] ; If these values are commented out then the user will be asked for estate details when required (this is the normal case). @@ -961,6 +976,7 @@ ;# {HomeURI} {ServicesConnectorModule:Groups HG Service Connector} {What's the home address of this world?} {} ;; Used for V2 in HG only. For example ;; http://mygridserver.com:9000 or http://mygridserver.com:8002 + ;; If you have this set under [Startup], no need to set it here, leave it commented ; HomeURI = "" ;# {MessagingEnabled} {Module:GroupsModule Module:Groups Module V2} {Is groups messaging enabled?} {true false} true diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 3858a3c..274132e 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -22,17 +22,31 @@ ; * [Startup] -; Plugin Registry Location -; Set path to directory for plugin registry. Information -; about the registered repositories and installed plugins -; will be stored here -; The Robust.exe process must hvae R/W access to the location -RegistryLocation = "." - -; Modular configurations -; Set path to directory for modular ini files... -; The Robust.exe process must hvae R/W access to the location -ConfigDirectory = "/home/opensim/etc/Configs" + ; Plugin Registry Location + ; Set path to directory for plugin registry. Information + ; about the registered repositories and installed plugins + ; will be stored here + ; The Robust.exe process must hvae R/W access to the location + RegistryLocation = "." + + ; Modular configurations + ; Set path to directory for modular ini files... + ; The Robust.exe process must hvae R/W access to the location + ConfigDirectory = "/home/opensim/etc/Configs" + + ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} + ;; This is the address of the external robust server that + ;; runs the UserAgentsService, possibly this server. + ;; For example http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; HomeURI = "http://127.0.0.1:8002" + + ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} + ;; This is the address of the external robust server + ;; that runs the Gatekeeper service, possibly this server. + ;; For example http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; GatekeeperURI = "http://127.0.0.1:8002" [ServiceList] @@ -155,7 +169,8 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ;; Allow Hyperlinks to be created at the console HypergridLinker = true - Gatekeeper = "http://127.0.0.1:8002" + ;; If you have this set under [Startup], no need to set it here, leave it commented + ; GatekeeperURI = "http://127.0.0.1:8002" ; * This is the configuration for the freeswitch server in grid mode @@ -309,8 +324,8 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; HasProxy = false ; Defaults for the users, if none is specified in the useraccounts table entry (ServiceURLs) - ; CHANGE THIS - GatekeeperURI = "http://127.0.0.1:8002" + ;; If you have Gatekeeper set under [Startup], no need to set it here, leave it commented + ; GatekeeperURI = "http://127.0.0.1:8002" SRV_HomeURI = "http://127.0.0.1:8002" SRV_InventoryServerURI = "http://127.0.0.1:8002" @@ -417,8 +432,8 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset AuthenticationService = "OpenSim.Services.Connectors.dll:AuthenticationServicesConnector" SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector" ; how does the outside world reach me? This acts as public key too. - ; CHANGE THIS - ExternalName = "http://127.0.0.1:8002" + ;; If you have GatekeeperURI set under [Startup], no need to set it here, leave it commented + ; ExternalName = "http://127.0.0.1:8002" ; Does this grid allow incoming links to any region in it? ; If false, HG TPs happen only to the Default regions specified in [GridService] section @@ -511,7 +526,9 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" - HomeURI = "http://127.0.0.1:8002" + + ;; Can overwrite the default in [Startup], but probably shouldn't + ; HomeURI = "http://127.0.0.1:8002" ; * The interface that local users get when they are in other grids. ; * This restricts the access that the rest of the world has to @@ -520,7 +537,9 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset [HGAssetService] LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGAssetService" UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" - HomeURI = "http://127.0.0.1:8002" + + ;; Can overwrite the default in [Startup], but probably shouldn't + ; HomeURI = "http://127.0.0.1:8002" ;; The asset types that this grid can export to / import from other grids. ;; Comma separated. @@ -557,6 +576,10 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset [Groups] ;; for the HG Groups service OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" - ; What is the HomeURI of users associated with this grid? - HomeURI = "http://127.0.0.1:8002" UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + + ;; What is the HomeURI of users associated with this grid? + ;; Can overwrite the default in [Startup], but probably shouldn't + ; HomeURI = "http://127.0.0.1:8002" + + diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index ffa2d49..3129078 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -64,8 +64,8 @@ Region_Welcome_Area = "DefaultRegion, FallbackRegion" ; === HG ONLY === - ;; change this to the address of your simulator - Gatekeeper="http://127.0.0.1:9000" + ;; If you have this set under [Startup], no need to set it here, leave it commented + ; GatekeeperURI="http://127.0.0.1:9000" [LibraryModule] ; Set this if you want to change the name of the OpenSim Library @@ -73,7 +73,8 @@ [LoginService] WelcomeMessage = "Welcome, Avatar!" - GatekeeperURI = "http://127.0.0.1:9000" + ;; If you have Gatekeeper set under [Startup], no need to set it here, leave it commented + ; GatekeeperURI = "http://127.0.0.1:9000" SRV_HomeURI = "http://127.0.0.1:9000" SRV_InventoryServerURI = "http://127.0.0.1:9000" @@ -218,7 +219,8 @@ ;; HG configurations ;; [GatekeeperService] - ExternalName = "http://127.0.0.1:9000" + ;; If you have GatekeeperURI set under [Startup], no need to set it here, leave it commented + ; ExternalName = "http://127.0.0.1:9000" ; Does this grid allow incoming links to any region in it? ; If false, HG TPs happen only to the Default regions specified in [GridService] section @@ -274,10 +276,12 @@ ; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002" [HGInventoryService] - HomeURI = "http://127.0.0.1:9000" + ;; If you have this set under [Startup], no need to set it here, leave it commented + ; HomeURI = "http://127.0.0.1:9000" [HGAssetService] - HomeURI = "http://127.0.0.1:9000" + ;; If you have this set under [Startup], no need to set it here, leave it commented + ; HomeURI = "http://127.0.0.1:9000" ;; The asset types that this grid can export to / import from other grids. ;; Comma separated. @@ -293,8 +297,9 @@ [HGInventoryAccessModule] - HomeURI = "http://127.0.0.1:9000" - Gatekeeper = "http://127.0.0.1:9000" + ;; If you have these set under [Startup], no need to set it here, leave it commented + ; HomeURI = "http://127.0.0.1:9000" + ; GatekeeperURI = "http://127.0.0.1:9000" ;; If you want to protect your assets from being copied by foreign visitors ;; uncomment the next line. You may want to do this on sims that have licensed content. @@ -311,8 +316,8 @@ [Messaging] ; === HG ONLY === - ;; change this to the address of your simulator - Gatekeeper = "http://127.0.0.1:9000" + ;; If you have this set under [Startup], no need to set it here, leave it commented + ; GatekeeperURI = "http://127.0.0.1:9000" [EntityTransfer] -- cgit v1.1 From 0e5859d2b47fcc9bff1d9501b868d4984f4802c1 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 21 Feb 2013 17:26:37 -0800 Subject: Minor formatting cleanup. No changes. --- bin/Robust.ini.example | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'bin') diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 05ea670..ecbed1f 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -14,18 +14,18 @@ ; * [Startup] -; Plugin Registry Location -; Set path to directory for plugin registry. Information -; about the registered repositories and installed plugins -; will be stored here -; The Robust.exe process must hvae R/W access to the location -RegistryLocation = "." - - -; Modular configurations -; Set path to directory for modular ini files... -; The Robust.exe process must hvae R/W access to the location -ConfigDirectory = "/home/opensim/etc/Configs" + ; Plugin Registry Location + ; Set path to directory for plugin registry. Information + ; about the registered repositories and installed plugins + ; will be stored here + ; The Robust.exe process must hvae R/W access to the location + RegistryLocation = "." + + + ; Modular configurations + ; Set path to directory for modular ini files... + ; The Robust.exe process must hvae R/W access to the location + ConfigDirectory = "/home/opensim/etc/Configs" [ServiceList] AssetServiceConnector = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector" -- cgit v1.1 From 0d08f81421abda3a1de0e2ade6633e86a2735da5 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 21 Feb 2013 19:07:39 -0800 Subject: Err.. wrong dll name for groups in Robust.HG.ini.example --- bin/Robust.HG.ini.example | 2 +- bin/Robust.ini.example | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 274132e..445020f 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -80,7 +80,7 @@ InstantMessageServerConnector = "8002/OpenSim.Server.Handlers.dll:InstantMessage HGInventoryServiceConnector = "HGInventoryService@8002/OpenSim.Server.Handlers.dll:XInventoryInConnector" HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:AssetServiceConnector" ;; Uncomment this if you want Groups V2, HG to work -; HGGroupsServiceConnector = "8002/Diva.Groups.dll:HGGroupsServiceRobustConnector" +; HGGroupsServiceConnector = "8002/OpenSim.Addons.Groups.dll:HGGroupsServiceRobustConnector" ;; Additions for other add-on modules. For example: ;; WifiServerConnector = "8002/Diva.Wifi.dll:WifiServerConnector" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index ecbed1f..bb98bbf 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -381,3 +381,5 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; password help: optional: page providing password assistance for users of your grid ;password = http://127.0.0.1/password + + -- cgit v1.1 From c72c238f5df4279cfbe9d1fa42a6dc3f29f774d5 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 23 Feb 2013 11:16:50 -0800 Subject: Improved documentation of Groups section. --- bin/OpenSim.ini.example | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 4199441..22678ee 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -958,8 +958,12 @@ ; StorageProvider = OpenSim.Data.MySQL.dll ;# {ServicesConnectorModule} {Module:GroupsModule Module:Groups Module V2} {Service connector to use for groups} {XmlRpcGroupsServicesConnector SimianGroupsServicesConnector "Groups Local Service Connector" "Groups Remote Service Connector" "Groups HG Service Connector"} XmlRpcGroupsServicesConnector - ;; Service connectors to the Groups Service as used in the GroupsModule. Select one depending on - ;; whether you're using a Flotsam XmlRpc backend or a SimianGrid backend or several flavours of V2, Hypergrided or not, standalone or grided. + ;; Service connectors to the Groups Service as used in the GroupsModule. Select one as follows: + ;; -- for Flotsam Groups use XmlRpcGroupsServicesConnector + ;; -- for Simian Groups use SimianGroupsServicesConnector + ;; -- for V2 Groups, standalone, non-HG use "Groups Local Service Connector" + ;; -- for V2 Groups, grided sim, non-HG use "Groups Remote Service Connector" + ;; -- for V2 Groups, HG, both standalone and grided sim, use "Groups HG Service Connector" ; ServicesConnectorModule = XmlRpcGroupsServicesConnector ;# {LocalService} {ServicesConnectorModule:Groups HG Service Connector} {Is the group service in this process or elsewhere?} {local remote} local -- cgit v1.1 From a0161e7161d3c22a35fa804ab10b2c02923d1d9b Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 23 Feb 2013 11:21:14 -0800 Subject: Further clarification on the same spot. --- bin/OpenSim.ini.example | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 22678ee..667511d 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -964,6 +964,7 @@ ;; -- for V2 Groups, standalone, non-HG use "Groups Local Service Connector" ;; -- for V2 Groups, grided sim, non-HG use "Groups Remote Service Connector" ;; -- for V2 Groups, HG, both standalone and grided sim, use "Groups HG Service Connector" + ;; Note that the quotes "" around the words are important! ; ServicesConnectorModule = XmlRpcGroupsServicesConnector ;# {LocalService} {ServicesConnectorModule:Groups HG Service Connector} {Is the group service in this process or elsewhere?} {local remote} local -- cgit v1.1 From 6a01683aeb3c343c780aa5ffb2020a1c006dc4bb Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 23 Feb 2013 11:24:11 -0800 Subject: More clarification on the [Groups] section --- bin/OpenSim.ini.example | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 667511d..5aeae8a 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -976,6 +976,7 @@ ;; e.g. http://yourxmlrpcserver.com/xmlrpc.php for Flotsam XmlRpc ;; or http://mygridserver.com:82/Grid/ for SimianGrid ;; or http:://mygridserver.com:8003 for robust, V2 + ;; Leave it commented for standalones, V2 ; GroupsServerURI = "" ;# {HomeURI} {ServicesConnectorModule:Groups HG Service Connector} {What's the home address of this world?} {} -- cgit v1.1 From 53470d5057d7b325abe781ef2377ac1e9b273cac Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 25 Feb 2013 10:25:36 -0800 Subject: Missing var in [LoginService] for HG Robust. --- bin/Robust.HG.ini.example | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 445020f..53676a3 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -333,6 +333,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset SRV_ProfileServerURI = "http://127.0.0.1:8002" SRV_FriendsServerURI = "http://127.0.0.1:8002" SRV_IMServerURI = "http://127.0.0.1:8002" + SRV_GroupsServerURI = "http://127.0.0.1:8002" ;; Regular expressions for controlling which client versions are accepted/denied. ;; An empty string means nothing is checked. -- cgit v1.1 From d0cb4fc3262df2afe2ef34396c7960f7afee6b89 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Mon, 25 Feb 2013 23:04:38 +0000 Subject: Move map related settings from [Startup] to a new [Map] section in OpenSim.ini Existing map settings in [Startup] will continue to work, and if present will override anything in [Map] However, the proper place for such settings would now be [Map] This is to reduce the use of [Startup] as a bag for non-generic settings which should really go in sections, in common with other settings. This commit also extends Diva's previous work to allow a default setting to be given when looking at multiple sections for settings. --- bin/OpenSim.ini.example | 55 ++++++++++++++++++++++++++----------------------- bin/OpenSimDefaults.ini | 50 +++++++++++++++++++++----------------------- 2 files changed, 53 insertions(+), 52 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 5aeae8a..2756b32 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -268,32 +268,6 @@ ;; Default script engine to use. Currently, we only have XEngine ; DefaultScriptEngine = "XEngine" - ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true - ;; Map tile options. You can choose to generate normal maptiles or nominate an uploaded texture to - ;; be the map tile using the MaptileStaticUUID parameter in this section or for individual regions in - ;; the regions config file(s). If you do not want to upload map tiles at all, then you will need - ;; to disable the MapImageServiceModule entirely. - ; GenerateMaptiles = true - - ;# {MaptileRefresh} {GenerateMaptiles} {Maptile refresh period?} {} 0 - ;; If desired, a running region can update the map tiles periodically - ;; to reflect building activity. This names no sense of you don't have - ;; prims on maptiles. Value is in seconds. - ; MaptileRefresh = 0 - - ;# {MaptileStaticUUID} {} {Asset ID for static map texture} {} 00000000-0000-0000-0000-000000000000 - ;; If not generating maptiles, use this static texture asset ID - ; MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" - - ;# {TextureOnMapTile} {} {Use terrain textures for map tiles?} {true false} true - ;; Use terrain texture for maptiles if true, use shaded green if false - ; TextureOnMapTile = true - - ;# {DrawPrimOnMapTile} {} {Draw prim shapes on map tiles?} {true false} false - ;; Draw objects on maptile. This step might take a long time if you've - ;; got a large number of objects, so you can turn it off here if you'd like. - ; DrawPrimOnMapTile = true - ;# {HttpProxy} {} {Proxy URL for llHTTPRequest and dynamic texture loading} {} http://proxy.com:8080 ;; Http proxy setting for llHTTPRequest and dynamic texture loading, if ;; required @@ -362,6 +336,35 @@ ;; This is a default that can be overwritten in some sections. ; GatekeeperURI = "http://127.0.0.1:9000" + +[Map] + ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true + ;; Map tile options. You can choose to generate normal maptiles or nominate an uploaded texture to + ;; be the map tile using the MaptileStaticUUID parameter in this section or for individual regions in + ;; the regions config file(s). If you do not want to upload map tiles at all, then you will need + ;; to disable the MapImageServiceModule entirely. + ; GenerateMaptiles = true + + ;# {MaptileRefresh} {GenerateMaptiles} {Maptile refresh period?} {} 0 + ;; If desired, a running region can update the map tiles periodically + ;; to reflect building activity. This names no sense of you don't have + ;; prims on maptiles. Value is in seconds. + ; MaptileRefresh = 0 + + ;# {MaptileStaticUUID} {} {Asset ID for static map texture} {} 00000000-0000-0000-0000-000000000000 + ;; If not generating maptiles, use this static texture asset ID + ; MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" + + ;# {TextureOnMapTile} {} {Use terrain textures for map tiles?} {true false} true + ;; Use terrain texture for maptiles if true, use shaded green if false + ; TextureOnMapTile = true + + ;# {DrawPrimOnMapTile} {} {Draw prim shapes on map tiles?} {true false} false + ;; Draw objects on maptile. This step might take a long time if you've + ;; got a large number of objects, so you can turn it off here if you'd like. + ; DrawPrimOnMapTile = true + + [Estates] ; If these values are commented out then the user will be asked for estate details when required (this is the normal case). ; If these values are uncommented then they will be used to create a default estate as necessary. diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 2512428..6ecb5df 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -285,32 +285,6 @@ DefaultScriptEngine = "XEngine" ; ## - ; ## WORLD MAP - ; ## - - ;WorldMapModule = "WorldMap" - ;MapImageModule = "MapImageModule" - - ; World map blacklist timeout in seconds - ;BlacklistTimeout = 600 - - ; Set to false to not generate any maptiles - ;GenerateMaptiles = true - - ; Refresh (in seconds) the map tile periodically - ;MaptileRefresh = 0 - - ; If not generating maptiles, use this static texture asset ID - ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" - - ; Draw objects on maptile. This step might take a long time if you've got a large number of - ; objects, so you can turn it off here if you'd like. - DrawPrimOnMapTile = true - - ; Use terrain texture for maptiles if true, use shaded green if false - TextureOnMapTile = true - - ; ## ; ## EMAIL MODULE ; ## @@ -347,6 +321,30 @@ UseTrashOnDelete = True +[Map] + ;WorldMapModule = "WorldMap" + ;MapImageModule = "MapImageModule" + + ; World map blacklist timeout in seconds + ;BlacklistTimeout = 600 + + ; Set to false to not generate any maptiles + ;GenerateMaptiles = true + + ; Refresh (in seconds) the map tile periodically + ;MaptileRefresh = 0 + + ; If not generating maptiles, use this static texture asset ID + ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" + + ; Draw objects on maptile. This step might take a long time if you've got a large number of + ; objects, so you can turn it off here if you'd like. + DrawPrimOnMapTile = true + + ; Use terrain texture for maptiles if true, use shaded green if false + TextureOnMapTile = true + + [RegionReady] ; Enable this module to get notified once all items and scripts in the region have been completely loaded and compiled enabled = true -- cgit v1.1 From 917c1695a15c3b8a53c14ede95694ee63e8fac6e Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 27 Feb 2013 00:26:34 +0000 Subject: Add documentation on default or Warp3D image module choice to OpenSim.ini.example. As before, default is MapImageModule. Thanks to Ai Austin for pointing out this omission. --- bin/OpenSim.ini.example | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 2756b32..b465a25 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -338,6 +338,12 @@ [Map] + ;# {MapImageModule} [] {The map image module to use} {MapImageModule Warp3DImageModule} MapImageModule + ;; The module to use in order to generate map images. + ;; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can + ;; generate better images. + ;MapImageModule = "MapImageModule" + ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true ;; Map tile options. You can choose to generate normal maptiles or nominate an uploaded texture to ;; be the map tile using the MaptileStaticUUID parameter in this section or for individual regions in -- cgit v1.1 From 20760fde257f893f68e75cb721225ccea0c8936d Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 27 Feb 2013 00:31:54 +0000 Subject: Improve description of GenerateMapTiles config option --- bin/OpenSim.ini.example | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index b465a25..89bc81b 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -338,18 +338,19 @@ [Map] + ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true + ;; Map tile options. + ;; If true, then maptiles are generated using the MapImageModule below. + ;; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overriden + ;; in individual region config file(s). If you do not want to upload map tiles at all, then you will need + ;; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/ + ; GenerateMaptiles = true + ;# {MapImageModule} [] {The map image module to use} {MapImageModule Warp3DImageModule} MapImageModule ;; The module to use in order to generate map images. ;; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can ;; generate better images. ;MapImageModule = "MapImageModule" - - ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true - ;; Map tile options. You can choose to generate normal maptiles or nominate an uploaded texture to - ;; be the map tile using the MaptileStaticUUID parameter in this section or for individual regions in - ;; the regions config file(s). If you do not want to upload map tiles at all, then you will need - ;; to disable the MapImageServiceModule entirely. - ; GenerateMaptiles = true ;# {MaptileRefresh} {GenerateMaptiles} {Maptile refresh period?} {} 0 ;; If desired, a running region can update the map tiles periodically -- cgit v1.1 From 1bef19b91435ffd7907cac8119014c0b5a6382f9 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 27 Feb 2013 21:45:31 +0000 Subject: Do not have the Freeswitch connector on by default in Robust ini example files. This is not widely used (may even be currently broken), only allows very poor quality voice (not the fault of FreeSwitch) and requires a complicated Freeswitch setup. Having it on but not configured results in spurious warnings in the logs --- bin/Robust.HG.ini.example | 3 ++- bin/Robust.ini.example | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 53676a3..aae76d5 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -52,7 +52,8 @@ AssetServiceConnector = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector" InventoryInConnector = "8003/OpenSim.Server.Handlers.dll:XInventoryInConnector" -VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector" +;; Uncomment if you have set up Freeswitch (see [FreeswitchService] below) +;VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector" GridServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridServiceConnector" GridInfoServerInConnector = "8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector" AuthenticationServiceConnector = "8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index bb98bbf..d932ce7 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -30,7 +30,8 @@ [ServiceList] AssetServiceConnector = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector" InventoryInConnector = "8003/OpenSim.Server.Handlers.dll:XInventoryInConnector" -VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector" +;; Uncomment if you have set up Freeswitch (see [FreeswitchService] below) +;VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector" GridServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridServiceConnector" GridInfoServerInConnector = "8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector" AuthenticationServiceConnector = "8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector" -- cgit v1.1 From f1010d7b152b68e2961b40482006221e28e976af Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Wed, 27 Feb 2013 20:49:41 -0800 Subject: Moved the HG default variables out of [Startup] and into their own section [Hypergrid] in *Common.ini.example. Backwards compatible for now. --- bin/OpenSim.ini.example | 17 ----------------- bin/config-include/GridCommon.ini.example | 20 ++++++++++++++++++++ bin/config-include/StandaloneCommon.ini.example | 21 +++++++++++++++++++++ 3 files changed, 41 insertions(+), 17 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 2756b32..9761052 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -320,23 +320,6 @@ ;; - "Imprudence 1.3.1" has access ; BannedViewerList = - ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} - ;; If this is a standalone world, this is the address of this instance. - ;; If this is a grided simulator, this is the address of the external robust server that - ;; runs the UserAgentsService. - ;; For example http://myworld.com:9000 or http://myworld.com:8002 - ;; This is a default that can be overwritten in some sections. - ; HomeURI = "http://127.0.0.1:9000" - - ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} - ;; If this is a standalone world, this is the address of this instance. - ;; If this is a grided simulator, this is the address of the external robust server - ;; that runs the Gatekeeper service. - ;; For example http://myworld.com:9000 or http://myworld.com:8002 - ;; This is a default that can be overwritten in some sections. - ; GatekeeperURI = "http://127.0.0.1:9000" - - [Map] ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true ;; Map tile options. You can choose to generate normal maptiles or nominate an uploaded texture to diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index e53fcca..d12ea5b 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -26,6 +26,26 @@ ;StorageProvider = "OpenSim.Data.MSSQL.dll" ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;" +[Hypergrid] + ; Uncomment the variables in this section only if you are in + ; Hypergrid configuration. Otherwise, ignore. + + ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server that + ;; runs the UserAgentsService. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; HomeURI = "http://127.0.0.1:9000" + + ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server + ;; that runs the Gatekeeper service. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; GatekeeperURI = "http://127.0.0.1:9000" + [Modules] ;; Choose one cache module and the corresponding config file, if it exists. ;; Copy the config .example file into your own .ini file and adapt that. diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index 3129078..f80044e 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -27,6 +27,27 @@ ;StorageProvider = "OpenSim.Data.MSSQL.dll" ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;" +[Hypergrid] + ; Uncomment the variables in this section only if you are in + ; Hypergrid configuration. Otherwise, ignore. + + ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server that + ;; runs the UserAgentsService. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; HomeURI = "http://127.0.0.1:9000" + + ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server + ;; that runs the Gatekeeper service. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; GatekeeperURI = "http://127.0.0.1:9000" + + [Modules] ;; Choose one cache module and the corresponding config file, if it exists. ;; Copy the config .example file into your own .ini file and alter that -- cgit v1.1 From 9e0c678c1ea78f59387219e6b0f22db415c04caa Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 28 Feb 2013 06:24:09 -0800 Subject: Robust.HG.ini.example updated to get an [Hypergrid] section too. --- bin/Robust.HG.ini.example | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index aae76d5..91dea8c 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -34,20 +34,6 @@ ; The Robust.exe process must hvae R/W access to the location ConfigDirectory = "/home/opensim/etc/Configs" - ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} - ;; This is the address of the external robust server that - ;; runs the UserAgentsService, possibly this server. - ;; For example http://myworld.com:8002 - ;; This is a default that can be overwritten in some sections. - ; HomeURI = "http://127.0.0.1:8002" - - ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} - ;; This is the address of the external robust server - ;; that runs the Gatekeeper service, possibly this server. - ;; For example http://myworld.com:8002 - ;; This is a default that can be overwritten in some sections. - ; GatekeeperURI = "http://127.0.0.1:8002" - [ServiceList] AssetServiceConnector = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector" @@ -119,6 +105,21 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ;ConsolePass = secret ;ConsolePort = 0 +[Hypergrid] + ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} + ;; This is the address of the external robust server that + ;; runs the UserAgentsService, possibly this server. + ;; For example http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; HomeURI = "http://127.0.0.1:8002" + + ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} + ;; This is the address of the external robust server + ;; that runs the Gatekeeper service, possibly this server. + ;; For example http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; GatekeeperURI = "http://127.0.0.1:8002" + [DatabaseService] StorageProvider = "OpenSim.Data.MySQL.dll" ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;" -- cgit v1.1 From efa722786509bd8e02e23f11da974b4282dbd185 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 1 Mar 2013 14:18:01 -0800 Subject: Removed more vars from [Startup]. I think these were already moved elsewhere, because I can't find any reference to them in the code. --- bin/OpenSim.ini.example | 20 -------------------- 1 file changed, 20 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index f89606f..ef35b17 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -300,26 +300,6 @@ ;; default is false ; TelehubAllowLandmark = false - ;# {AllowedClients} {} {Bar (|) separated list of allowed clients} {} - ;; Bar (|) separated list of viewers which may gain access to the regions. - ;; One can use a substring of the viewer name to enable only certain - ;; versions - ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" - ;; - "Imprudence" has access - ;; - "Imprudence 1.3" has access - ;; - "Imprudence 1.3.1" has no access - ; AllowedViewerList = - - ;# {BannedClients} {} {Bar (|) separated list of banned clients} {} - ;# Bar (|) separated list of viewers which may not gain access to the regions. - ;; One can use a Substring of the viewer name to disable only certain - ;; versions - ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" - ;; - "Imprudence" has no access - ;; - "Imprudence 1.3" has no access - ;; - "Imprudence 1.3.1" has access - ; BannedViewerList = - [Map] ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true ;; Map tile options. -- cgit v1.1 From 20530ee66723faa78ab8cf93c096fa4626c3c701 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 1 Mar 2013 15:24:22 -0800 Subject: Moved permissions config vars out of [Startup] into [Permissions]. Backwards compatible ([Startup] still being looked up), but please update your configs sometime soon. --- bin/OpenSim.ini.example | 88 ++++++++++++++++++++++---------------------- bin/OpenSimDefaults.ini | 97 +++++++++++++++++++++++++------------------------ 2 files changed, 93 insertions(+), 92 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index ef35b17..0eb43a2 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -220,50 +220,6 @@ ; physics = basicphysics ; physics = POS - ;# {permissionmodules} {} {Permission modules to use (may specify multiple modules, separated by comma} {} DefaultPermissionsModule - ;; Permission modules to use, separated by comma. - ;; Possible modules are DefaultPermissionsModule, PrimLimitsModule - ; permissionmodules = DefaultPermissionsModule - - ;# {serverside_object_permissions} {permissionmodules:DefaultPermissionsModule} {Activate permission handling by the sim?} {true false} true - ;; These are the parameters for the default permissions module - ;; - ;; If set to false, then, in theory, the server never carries out - ;; permission checks (allowing anybody to copy - ;; any item, etc. This may not yet be implemented uniformally. - ;; If set to true, then all permissions checks are carried out - ; serverside_object_permissions = true - - ;# {allow_grid_gods} {} {Allow grid gods?} {true false} false - ;; This allows users with a UserLevel of 200 or more to assume god - ;; powers in the regions in this simulator. - ; allow_grid_gods = false - - ;; This allows some control over permissions - ;; please note that this still doesn't duplicate SL, and is not intended to - ;# {region_owner_is_god} {} {Allow region owner gods} {true false} true - ;; Allow region owners to assume god powers in their regions - ; region_owner_is_god = true - - ;# {region_manager_is_god} {} {Allow region manager gods} {true false} false - ;; Allow region managers to assume god powers in regions they manage - ; region_manager_is_god = false - - ;# {parcel_owner_is_god} {} {Allow parcel owner gods} {true false} true - ;; Allow parcel owners to assume god powers in their parcels - ; parcel_owner_is_god = true - - ;# {simple_build_permissions} {} {Allow building in parcel by access list (no groups)} {true false} false - ;; More control over permissions - ;; This is definitely not SL! - ;; Provides a simple control for land owners to give build rights to - ;; specific avatars in publicly accessible parcels that disallow object - ;; creation in general. - ;; Owners specific avatars by adding them to the Access List of the parcel - ;; without having to use the Groups feature - ; simple_build_permissions = false - - ;# {DefaultScriptEngine} {} {Default script engine} {XEngine} XEngine ;; Default script engine to use. Currently, we only have XEngine ; DefaultScriptEngine = "XEngine" @@ -334,6 +290,50 @@ ;; got a large number of objects, so you can turn it off here if you'd like. ; DrawPrimOnMapTile = true +[Permissions] + ;# {permissionmodules} {} {Permission modules to use (may specify multiple modules, separated by comma} {} DefaultPermissionsModule + ;; Permission modules to use, separated by comma. + ;; Possible modules are DefaultPermissionsModule, PrimLimitsModule + ; permissionmodules = DefaultPermissionsModule + + ;# {serverside_object_permissions} {permissionmodules:DefaultPermissionsModule} {Activate permission handling by the sim?} {true false} true + ;; These are the parameters for the default permissions module + ;; + ;; If set to false, then, in theory, the server never carries out + ;; permission checks (allowing anybody to copy + ;; any item, etc. This may not yet be implemented uniformally. + ;; If set to true, then all permissions checks are carried out + ; serverside_object_permissions = true + + ;# {allow_grid_gods} {} {Allow grid gods?} {true false} false + ;; This allows users with a UserLevel of 200 or more to assume god + ;; powers in the regions in this simulator. + ; allow_grid_gods = false + + ;; This allows some control over permissions + ;; please note that this still doesn't duplicate SL, and is not intended to + ;# {region_owner_is_god} {} {Allow region owner gods} {true false} true + ;; Allow region owners to assume god powers in their regions + ; region_owner_is_god = true + + ;# {region_manager_is_god} {} {Allow region manager gods} {true false} false + ;; Allow region managers to assume god powers in regions they manage + ; region_manager_is_god = false + + ;# {parcel_owner_is_god} {} {Allow parcel owner gods} {true false} true + ;; Allow parcel owners to assume god powers in their parcels + ; parcel_owner_is_god = true + + ;# {simple_build_permissions} {} {Allow building in parcel by access list (no groups)} {true false} false + ;; More control over permissions + ;; This is definitely not SL! + ;; Provides a simple control for land owners to give build rights to + ;; specific avatars in publicly accessible parcels that disallow object + ;; creation in general. + ;; Owners specific avatars by adding them to the Access List of the parcel + ;; without having to use the Groups feature + ; simple_build_permissions = false + [Estates] ; If these values are commented out then the user will be asked for estate details when required (this is the normal case). diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 6ecb5df..091107f 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -231,54 +231,6 @@ ;physics = BulletSim ; ## - ; ## PERMISSIONS - ; ## - - ;permissionmodules = "DefaultPermissionsModule" - - ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy - ; any item, etc. This may not yet be implemented uniformally. - ; If set to true, then all permissions checks are carried out - ; Default is true - serverside_object_permissions = true - - allow_grid_gods = false - - ; This allows somne control over permissions - ; please note that this still doesn't duplicate SL, and is not intended to - ;region_owner_is_god = true - ;region_manager_is_god = false - ;parcel_owner_is_god = true - - ; Control user types that are allowed to create new scripts - ; Only enforced if serviceside_object_permissions is true - ; - ; Current possible values are - ; all - anyone can create scripts (subject to normal permissions) - ; gods - only administrators can create scripts (as long as allow_grid_gods is true) - ; Default value is all - ; allowed_script_creators = all - - ; Control user types that are allowed to edit (save) scripts - ; Only enforced if serviceside_object_permissions is true - ; - ; Current possible values are - ; all - anyone can edit scripts (subject to normal permissions) - ; gods - only administrators can edit scripts (as long as allow_grid_gods is true) - ; Default value is all - ; allowed_script_editors = all - - ; Provides a simple control for land owners to give build rights to specific avatars - ; in publicly accessible parcels that disallow object creation in general. - ; Owners specific avatars by adding them to the Access List of the parcel - ; without having to use the Groups feature - ; Disabled by default - ; simple_build_permissions = False - - ; Minimum user level required to upload assets - ;LevelUpload = 0 - - ; ## ; ## SCRIPT ENGINE ; ## @@ -344,6 +296,55 @@ ; Use terrain texture for maptiles if true, use shaded green if false TextureOnMapTile = true +[Permissions] + ; ## + ; ## PERMISSIONS + ; ## + + ;permissionmodules = "DefaultPermissionsModule" + + ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy + ; any item, etc. This may not yet be implemented uniformally. + ; If set to true, then all permissions checks are carried out + ; Default is true + serverside_object_permissions = true + + allow_grid_gods = false + + ; This allows somne control over permissions + ; please note that this still doesn't duplicate SL, and is not intended to + ;region_owner_is_god = true + ;region_manager_is_god = false + ;parcel_owner_is_god = true + + ; Control user types that are allowed to create new scripts + ; Only enforced if serviceside_object_permissions is true + ; + ; Current possible values are + ; all - anyone can create scripts (subject to normal permissions) + ; gods - only administrators can create scripts (as long as allow_grid_gods is true) + ; Default value is all + ; allowed_script_creators = all + + ; Control user types that are allowed to edit (save) scripts + ; Only enforced if serviceside_object_permissions is true + ; + ; Current possible values are + ; all - anyone can edit scripts (subject to normal permissions) + ; gods - only administrators can edit scripts (as long as allow_grid_gods is true) + ; Default value is all + ; allowed_script_editors = all + + ; Provides a simple control for land owners to give build rights to specific avatars + ; in publicly accessible parcels that disallow object creation in general. + ; Owners specific avatars by adding them to the Access List of the parcel + ; without having to use the Groups feature + ; Disabled by default + ; simple_build_permissions = False + + ; Minimum user level required to upload assets + ;LevelUpload = 0 + [RegionReady] ; Enable this module to get notified once all items and scripts in the region have been completely loaded and compiled -- cgit v1.1 From 4999d7920a63af99c6bba53134d4c0e891b99573 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Sat, 2 Mar 2013 01:23:01 +0000 Subject: Revert "Removed more vars from [Startup]. I think these were already moved elsewhere, because I can't find any reference to them in the code." This reverts commit efa722786509bd8e02e23f11da974b4282dbd185. --- bin/OpenSim.ini.example | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 0eb43a2..16e314b 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -256,6 +256,26 @@ ;; default is false ; TelehubAllowLandmark = false + ;# {AllowedClients} {} {Bar (|) separated list of allowed clients} {} + ;; Bar (|) separated list of viewers which may gain access to the regions. + ;; One can use a substring of the viewer name to enable only certain + ;; versions + ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" + ;; - "Imprudence" has access + ;; - "Imprudence 1.3" has access + ;; - "Imprudence 1.3.1" has no access + ; AllowedViewerList = + + ;# {BannedClients} {} {Bar (|) separated list of banned clients} {} + ;# Bar (|) separated list of viewers which may not gain access to the regions. + ;; One can use a Substring of the viewer name to disable only certain + ;; versions + ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" + ;; - "Imprudence" has no access + ;; - "Imprudence 1.3" has no access + ;; - "Imprudence 1.3.1" has access + ; BannedViewerList = + [Map] ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true ;; Map tile options. -- cgit v1.1 From 1bc8692a999f4e80b90b9a1eb7c7428b2e74214e Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Sat, 2 Mar 2013 01:43:54 +0000 Subject: Move AllowedClients and BannedClients section to new [AccessControl] section in OpenSim.ini from [Startup] This change also corrects the setting names - they were actually wrong (though the text in {} was correct). If there are settings in [Startup] they will continue to be used and anything there will override settings in [AccessControl] --- bin/OpenSim.ini.example | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 16e314b..eab1fce 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -256,6 +256,8 @@ ;; default is false ; TelehubAllowLandmark = false + +[AccessControl] ;# {AllowedClients} {} {Bar (|) separated list of allowed clients} {} ;; Bar (|) separated list of viewers which may gain access to the regions. ;; One can use a substring of the viewer name to enable only certain @@ -264,7 +266,7 @@ ;; - "Imprudence" has access ;; - "Imprudence 1.3" has access ;; - "Imprudence 1.3.1" has no access - ; AllowedViewerList = + ; AllowedClients = ;# {BannedClients} {} {Bar (|) separated list of banned clients} {} ;# Bar (|) separated list of viewers which may not gain access to the regions. @@ -274,7 +276,8 @@ ;; - "Imprudence" has no access ;; - "Imprudence 1.3" has no access ;; - "Imprudence 1.3.1" has access - ; BannedViewerList = + ; BannedClients = + [Map] ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true @@ -310,6 +313,7 @@ ;; got a large number of objects, so you can turn it off here if you'd like. ; DrawPrimOnMapTile = true + [Permissions] ;# {permissionmodules} {} {Permission modules to use (may specify multiple modules, separated by comma} {} DefaultPermissionsModule ;; Permission modules to use, separated by comma. -- cgit v1.1 From b47ffb5dc40418705bb16669e47130aeddeaec6c Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sat, 2 Mar 2013 13:02:02 -0800 Subject: Added existance and default value for [XEngine]MinTimerInterval to OpenSimDefaults.ini --- bin/OpenSimDefaults.ini | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 091107f..417150a 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1400,6 +1400,10 @@ ; up the system to malicious scripters ; NotecardLineReadCharsMax = 255 + ; Minimum settable timer interval. Any timer setting less than this is + ; rounded up to this minimum interval. + ; MinTimerInterval = 0.5 + ; Sensor settings SensorMaxRange = 96.0 SensorMaxResults = 16 -- cgit v1.1 From aadf7d32d1b86e56e26243b8e32889369c2eafb2 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 4 Mar 2013 12:52:28 -0800 Subject: GridUserService was missing from [Gatekeeper] --- bin/Robust.HG.ini.example | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 91dea8c..7746ebc 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -431,6 +431,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" GridService = "OpenSim.Services.GridService.dll:GridService" AuthenticationService = "OpenSim.Services.Connectors.dll:AuthenticationServicesConnector" SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector" -- cgit v1.1 From 7556b42d7a208e3e7dfc23550293bad243533328 Mon Sep 17 00:00:00 2001 From: teravus Date: Mon, 4 Mar 2013 21:26:26 -0500 Subject: * Update LibOMV to f8f8e616b37a7ea22b7922b2331999bc06725bf9 * Add zero length blocks to the new packet blocks to remain compatible with older viewers and avoid a NullRef when _packets_.cs calls the Length parameter.. which adds up the Length property all of the blocks. --- bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 114688 bytes bin/OpenMetaverse.dll | Bin 1765376 -> 1925120 bytes bin/OpenMetaverseTypes.dll | Bin 114688 -> 122880 bytes 3 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 5c0b3c6..c7216ce 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 511096e..3e210ba 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 8bc8885..6cc4c5a 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 2b0056eaca5ef6fbb7402787367ecdcc783432a2 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 7 Mar 2013 06:40:39 -0800 Subject: Fixed inconsistency in comments. Thanks Ai Austin. --- bin/Robust.HG.ini.example | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 7746ebc..409ad61 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -26,12 +26,12 @@ ; Set path to directory for plugin registry. Information ; about the registered repositories and installed plugins ; will be stored here - ; The Robust.exe process must hvae R/W access to the location + ; The Robust.exe process must have R/W access to the location RegistryLocation = "." ; Modular configurations ; Set path to directory for modular ini files... - ; The Robust.exe process must hvae R/W access to the location + ; The Robust.exe process must have R/W access to the location ConfigDirectory = "/home/opensim/etc/Configs" [ServiceList] @@ -171,7 +171,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ;; Allow Hyperlinks to be created at the console HypergridLinker = true - ;; If you have this set under [Startup], no need to set it here, leave it commented + ;; If you have this set under [Hypergrid], no need to set it here, leave it commented ; GatekeeperURI = "http://127.0.0.1:8002" @@ -326,7 +326,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; HasProxy = false ; Defaults for the users, if none is specified in the useraccounts table entry (ServiceURLs) - ;; If you have Gatekeeper set under [Startup], no need to set it here, leave it commented + ;; If you have Gatekeeper set under [Hypergrid], no need to set it here, leave it commented ; GatekeeperURI = "http://127.0.0.1:8002" SRV_HomeURI = "http://127.0.0.1:8002" @@ -436,7 +436,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset AuthenticationService = "OpenSim.Services.Connectors.dll:AuthenticationServicesConnector" SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector" ; how does the outside world reach me? This acts as public key too. - ;; If you have GatekeeperURI set under [Startup], no need to set it here, leave it commented + ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented ; ExternalName = "http://127.0.0.1:8002" ; Does this grid allow incoming links to any region in it? @@ -531,7 +531,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" - ;; Can overwrite the default in [Startup], but probably shouldn't + ;; Can overwrite the default in [Hypergrid], but probably shouldn't ; HomeURI = "http://127.0.0.1:8002" ; * The interface that local users get when they are in other grids. @@ -542,7 +542,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGAssetService" UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" - ;; Can overwrite the default in [Startup], but probably shouldn't + ;; Can overwrite the default in [Hypergrid], but probably shouldn't ; HomeURI = "http://127.0.0.1:8002" ;; The asset types that this grid can export to / import from other grids. @@ -583,7 +583,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" ;; What is the HomeURI of users associated with this grid? - ;; Can overwrite the default in [Startup], but probably shouldn't + ;; Can overwrite the default in [Hypergrid], but probably shouldn't ; HomeURI = "http://127.0.0.1:8002" -- cgit v1.1 From 2f1aa87eb522859a81786a390d3189c965128c31 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 7 Mar 2013 08:02:48 -0800 Subject: One more comment inconsistency fixed. --- bin/Robust.HG.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 409ad61..581c31d 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -326,7 +326,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; HasProxy = false ; Defaults for the users, if none is specified in the useraccounts table entry (ServiceURLs) - ;; If you have Gatekeeper set under [Hypergrid], no need to set it here, leave it commented + ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented ; GatekeeperURI = "http://127.0.0.1:8002" SRV_HomeURI = "http://127.0.0.1:8002" -- cgit v1.1 From 13f3bcae9454041e056df5e37d621ffda2c7a002 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 10 Mar 2013 22:24:34 -0700 Subject: Update comment about setting physics=BulletSimN as the C# Bullet version has been wrapped into one BulletSim and the physics engine selection is now done as specified in OpenSimDefaults.ini. --- bin/OpenSim.ini.example | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index eab1fce..e078e86 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -210,13 +210,12 @@ ;; Choose one of the physics engines below ;# {physics} {} {Select physics engine} {OpenDynamicsEngine BulletSim basicphysics POS} OpenDynamicsEngine ;; OpenDynamicsEngine is by some distance the most developed physics engine - ;; BulletSim is incomplete and experimental but in active development. BulletSimN is a purely C# version of BulletSim. + ;; BulletSim is experimental and in active development. ;; basicphysics effectively does not model physics at all, making all ;; objects phantom. ;; Default is OpenDynamicsEngine ; physics = OpenDynamicsEngine ; physics = BulletSim - ; physics = BulletSimN ; physics = basicphysics ; physics = POS -- cgit v1.1 From fb1211ad5ef86bf6a1b6170775f1ebb4adcb4cb7 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 12 Mar 2013 23:01:27 +0000 Subject: Add DisableInterRegionTeleportCancellation option in [EntityTransfer] section of OpenSim.ini. False by default. This option allows the simulator to specify that the cancel button on inter-region teleports should never appear. This exists because sometimes cancellation will result in a stuck avatar requiring relog. It may be hard to prevent this due to the protocol design (the LL grid has the same issue) In small controlled grids where teleport failure is practically impossible it can be better to disable teleport cancellation entirely. --- bin/OpenSim.ini.example | 7 +++++++ bin/OpenSimDefaults.ini | 5 +++++ 2 files changed, 12 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index e078e86..ce2e600 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -541,6 +541,13 @@ ; shout_distance = 100 +[EntityTransfer] + ;# {DisableInterRegionTeleportCancellation} {} {Determine whether the cancel button is shown at all during teleports.} {false true} false + ;; This option exists because cancelling at certain points can result in an unuseable session (frozen avatar, etc.) + ;; Disabling cancellation can be okay in small closed grids where all teleports are highly likely to suceed. + ;DisableInterRegionTeleportCancellation = false + + [Messaging] ;# {OfflineMessageModule} {} {Module to use for offline message storage} {OfflineMessageModule "Offline Message Module V2" *} ;; Module to handle offline messaging. The core module requires an external diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 417150a..1d2c0cf 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -628,6 +628,11 @@ ; Minimum user level required for HyperGrid teleports LevelHGTeleport = 0 + ; Determine whether the cancel button is shown at all during teleports. + ; This option exists because cancelling at certain points can result in an unuseable session (frozen avatar, etc.) + ; Disabling cancellation can be okay in small closed grids where all teleports are highly likely to suceed. + DisableInterRegionTeleportCancellation = false + [Messaging] ; Control which region module is used for instant messaging. -- cgit v1.1 From 42c533c589f4b22975d24fa403733d379b33ffee Mon Sep 17 00:00:00 2001 From: teravus Date: Thu, 14 Mar 2013 00:57:42 -0400 Subject: * Updates HttpServer again to re-add the code that closes the stream and connection when It's done sending. Be on the lookout for an old linux/mono bug where the client doesn't get the last bit of the stream before it is disconnected!. Code on opensim-libs. All tests pass.. HttpServer's internal tests pass.. but just a bad feeling. More people should test :) --- bin/HttpServer_OpenSim.dll | Bin 116224 -> 116224 bytes bin/HttpServer_OpenSim.pdb | Bin 343552 -> 343552 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index fd7ad74..36c0892 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index f56e891..a69e420 100644 Binary files a/bin/HttpServer_OpenSim.pdb and b/bin/HttpServer_OpenSim.pdb differ -- cgit v1.1 From 6e1b3f9951b5ae9fbc0dc65e8404cb878206c68d Mon Sep 17 00:00:00 2001 From: teravus Date: Sat, 16 Mar 2013 03:14:11 -0400 Subject: *Yet another HTTPServer update code changes in OpenSim Libs. * This fixes a connection close issue by getting rid of the socket references * This adds a connection timeout checker to shutdown poor or evil connections and combats DOS attempts that just connect and make no complete requests and just wait. It also actually implements KeepAlive... instead of just understanding the connection header in the request... you can test by connecting and requesting a keepalive header and sending another request on the same connection. The new timeout checker closes expired keepalive sessions, just make sure you send the request within 70 seconds of connecting or the timeout checker will timeout the connection. --- bin/HttpServer_OpenSim.dll | Bin 116224 -> 119808 bytes bin/HttpServer_OpenSim.pdb | Bin 343552 -> 355840 bytes bin/HttpServer_OpenSim.xml | 121 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 121 insertions(+) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 36c0892..e15493d 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index a69e420..cfff9a7 100644 Binary files a/bin/HttpServer_OpenSim.pdb and b/bin/HttpServer_OpenSim.pdb differ diff --git a/bin/HttpServer_OpenSim.xml b/bin/HttpServer_OpenSim.xml index fa88fc7..61c3ad8 100644 --- a/bin/HttpServer_OpenSim.xml +++ b/bin/HttpServer_OpenSim.xml @@ -1669,6 +1669,65 @@ A header have been received. + + + A thread-safe lockless queue that supports multiple readers and + multiple writers + + + + Queue head + + + Queue tail + + + Queue item count + + + + Constructor + + + + + Enqueue an item + + Item to enqeue + + + + Try to dequeue an item + + Dequeued item if the dequeue was successful + True if an item was successfully deqeued, otherwise false + + + Gets the current number of items in the queue. Since this + is a lockless collection this value should be treated as a close + estimate + + + + Provides a node container for data in a singly linked list + + + + Pointer to the next node in list + + + The data contained by the node + + + + Constructor + + + + + Constructor + + Contains server side HTTP request information. @@ -2825,6 +2884,11 @@ Kind of HTTPS protocol. Usually TLS or SSL. A created . + + + Server is shutting down so shut down the factory + + A request have been received from one of the contexts. @@ -2876,6 +2940,11 @@ A creates . + + + Server is shutting down so shut down the factory + + True if detailed trace logs should be written. @@ -4315,6 +4384,58 @@ message describing the error + + + Timeout Manager. Checks for dead clients. Clients with open connections that are not doing anything. Closes sessions opened with keepalive. + + + + + Causes the watcher to immediately check the connections. + + + + + Environment.TickCount is an int but it counts all 32 bits so it goes positive + and negative every 24.9 days. This trims down TickCount so it doesn't wrap + for the callers. + This trims it to a 12 day interval so don't let your frame time get too long. + + + + + + Environment.TickCount is an int but it counts all 32 bits so it goes positive + and negative every 24.9 days. Subtracts the passed value (previously fetched by + 'EnvironmentTickCount()') and accounts for any wrapping. + + + + subtraction of passed prevValue from current Environment.TickCount + + + + Environment.TickCount is an int but it counts all 32 bits so it goes positive + and negative every 24.9 days. Subtracts the passed value (previously fetched by + 'EnvironmentTickCount()') and accounts for any wrapping. + + + + subtraction of passed prevValue from current Environment.TickCount + + + + Environment.TickCount is an int but it counts all 32 bits so it goes positive + and negative every 24.9 days. Subtracts the passed value (previously fetched by + 'EnvironmentTickCount()') and accounts for any wrapping. + + subtraction of passed prevValue from current Environment.TickCount + + + + Use a Thread or a Timer to monitor the ugly + + Session store using memory for each session. -- cgit v1.1 From 17aef1c883aa81edba9a272e0a6897ad9a3a3983 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Mon, 1 Apr 2013 11:10:05 -0700 Subject: BulletSim: update unmanaged API for HACD parameter passing. Bullet HACD mesh to hull conversion calls in place but code not working. Update BulletSim DLLs and SOs for new API and HACD code. --- bin/lib32/BulletSim.dll | Bin 570368 -> 570880 bytes bin/lib32/libBulletSim.so | Bin 1751260 -> 1762207 bytes bin/lib64/BulletSim.dll | Bin 720896 -> 721920 bytes bin/lib64/libBulletSim.so | Bin 1908442 -> 1920169 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 689b34f..5432813 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index b8c813e..286d930 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 33c4d08..dca7116 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index 79207fe..b63feb3 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From f68b963596e7df2c28761af4584b4dcb17d550eb Mon Sep 17 00:00:00 2001 From: Jon Cundill Date: Sun, 7 Apr 2013 12:31:49 +0100 Subject: fixed bullet config for osx Signed-off-by: Robert Adams --- bin/Physics/OpenSim.Region.Physics.BulletSPlugin.dll.config | 2 ++ 1 file changed, 2 insertions(+) (limited to 'bin') diff --git a/bin/Physics/OpenSim.Region.Physics.BulletSPlugin.dll.config b/bin/Physics/OpenSim.Region.Physics.BulletSPlugin.dll.config index 1bc7e41..2763525 100755 --- a/bin/Physics/OpenSim.Region.Physics.BulletSPlugin.dll.config +++ b/bin/Physics/OpenSim.Region.Physics.BulletSPlugin.dll.config @@ -1,6 +1,8 @@ + + -- cgit v1.1 From 4d2203ff5298ffe40902ce018c1be1b4096c936d Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Mon, 8 Apr 2013 09:15:20 -0700 Subject: BulletSim: Add dylib for BulletSim and add he who figured out building BulletSim on a Mac to the CONTRIBUTORS file. --- bin/lib32/libBulletSim.dylib | Bin 0 -> 1181656 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100755 bin/lib32/libBulletSim.dylib (limited to 'bin') diff --git a/bin/lib32/libBulletSim.dylib b/bin/lib32/libBulletSim.dylib new file mode 100755 index 0000000..02f8a7f Binary files /dev/null and b/bin/lib32/libBulletSim.dylib differ -- cgit v1.1 From 659c741ff5a3d13b4462d3ce906c6785bb296322 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 9 Apr 2013 23:15:01 +0100 Subject: Add more notes to async_call_method relating to UnsafeQueueUserWorkItem UnsafeQueueUserWorkItem is so called because it allows the calling code to escalate its security privileges. However, since we must already trust this code anyway in OpenSimulator this is not an issue. --- bin/OpenSimDefaults.ini | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 1d2c0cf..28c1db2 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -43,9 +43,14 @@ ; Sets the method that OpenSim will use to fire asynchronous ; events. Valid values are UnsafeQueueUserWorkItem, ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread. + ; ; SmartThreadPool is reported to work well on Mono/Linux, but ; UnsafeQueueUserWorkItem has been benchmarked with better ; performance on .NET/Windows + ; + ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security + ; privileges. However, as calling code is trusted anyway this is safe (if you set + ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons). async_call_method = SmartThreadPool ; Max threads to allocate on the FireAndForget thread pool -- cgit v1.1 From 59135c9a31875dc514b3ea2fe14021571807701d Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Tue, 9 Apr 2013 16:32:54 -0700 Subject: BulletSim: add Bullet HACD library invocation. Turned off by default as not totally debugged. Updated DLLs and SOs with more debugged HACD library code. --- bin/lib32/BulletSim.dll | Bin 570880 -> 1008640 bytes bin/lib32/libBulletSim.so | Bin 1762207 -> 2093987 bytes bin/lib64/BulletSim.dll | Bin 721920 -> 1140224 bytes bin/lib64/libBulletSim.so | Bin 1920169 -> 2258808 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 5432813..618d4bd 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index 286d930..e3b40fb 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index dca7116..491ac22 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index b63feb3..a8ad533 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From d4fa2c69ed2895dcab76e0df1b26252246883c07 Mon Sep 17 00:00:00 2001 From: dahlia Date: Wed, 17 Apr 2013 21:31:18 -0700 Subject: update libomv to git master which adds support for MaterialID in TextureEntry --- bin/CSJ2K.dll | Bin 502784 -> 495616 bytes bin/OpenMetaverse.StructuredData.XML | 28 +- bin/OpenMetaverse.StructuredData.dll | Bin 114688 -> 102400 bytes bin/OpenMetaverse.XML | 36629 ++++++++++---------- bin/OpenMetaverse.dll | Bin 1925120 -> 1785856 bytes bin/OpenMetaverse.dll.config | 8 +- bin/OpenMetaverseTypes.XML | 1462 +- bin/OpenMetaverseTypes.dll | Bin 122880 -> 114688 bytes bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1-i686.so | Bin 0 -> 140028 bytes bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1-x86_64.so | Bin 0 -> 149368 bytes bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1.dylib | Bin 0 -> 130560 bytes 11 files changed, 19633 insertions(+), 18494 deletions(-) create mode 100644 bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1-i686.so create mode 100644 bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1-x86_64.so create mode 100644 bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1.dylib (limited to 'bin') diff --git a/bin/CSJ2K.dll b/bin/CSJ2K.dll index 238291f..581e410 100755 Binary files a/bin/CSJ2K.dll and b/bin/CSJ2K.dll differ diff --git a/bin/OpenMetaverse.StructuredData.XML b/bin/OpenMetaverse.StructuredData.XML index 897a330..3999d99 100644 --- a/bin/OpenMetaverse.StructuredData.XML +++ b/bin/OpenMetaverse.StructuredData.XML @@ -31,17 +31,33 @@ - + Serializes OSD to binary format. It does no prepend header - - + OSD to serialize + Serialized data + + + + Serializes OSD to binary format + + OSD to serialize + + Serialized data - + Serializes OSD to binary format. It does no prepend header - - + OSD to serialize + Serialized data + + + + Serializes OSD to binary format + + OSD to serialize + + Serialized data diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index c7216ce..4df771a 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.XML b/bin/OpenMetaverse.XML index 6e57fed..abd4cd5 100644 --- a/bin/OpenMetaverse.XML +++ b/bin/OpenMetaverse.XML @@ -4,9695 +4,8916 @@ OpenMetaverse - - = - - - Number of times we've received an unknown CAPS exception in series. + + + Starts a thread that keeps the daemon running + + + - - For exponential backoff on error. + + + Stops the daemon and the thread keeping it running + - + - Add a custom decoder callback + - The key of the field to decode - The custom decode handler + + + - + - Remove a custom decoder callback + Create a Session + Sessions typically represent a connection to a media session with one or more + participants. This is used to generate an ‘outbound’ call to another user or + channel. The specifics depend on the media types involved. A session handle is + required to control the local user functions within the session (or remote + users if the current account has rights to do so). Currently creating a + session automatically connects to the audio media, there is no need to call + Session.Connect at this time, this is reserved for future use. - The key of the field to decode - The custom decode handler + Handle returned from successful Connector ‘create’ request + This is the URI of the terminating point of the session (ie who/what is being called) + This is the display name of the entity being called (user or channel) + Only needs to be supplied when the target URI is password protected + This indicates the format of the password as passed in. This can either be + “ClearText” or “SHA1UserName”. If this element does not exist, it is assumed to be “ClearText”. If it is + “SHA1UserName”, the password as passed in is the SHA1 hash of the password and username concatenated together, + then base64 encoded, with the final “=” character stripped off. + + + - + - Creates a formatted string containing the values of a Packet + Used to accept a call - The Packet - A formatted string of values of the nested items in the Packet object + SessionHandle such as received from SessionNewEvent + "default" + - + - Decode an IMessage object into a beautifully formatted string + This command is used to start the audio render process, which will then play + the passed in file through the selected audio render device. This command + should not be issued if the user is on a call. - The IMessage object - Recursion level (used for indenting) - A formatted string containing the names and values of the source object + The fully qualified path to the sound file. + True if the file is to be played continuously and false if it is should be played once. + - + - A custom decoder callback + This command is used to stop the audio render process. - The key of the object - the data to decode - A string represending the fieldData + The fully qualified path to the sound file issued in the start render command. + - + - Access to the data server which allows searching for land, events, people, etc + This is used to ‘end’ an established session (i.e. hang-up or disconnect). + Handle returned from successful Session ‘create’ request or a SessionNewEvent + - - The event subscribers. null if no subcribers + + + Set the combined speaking and listening position in 3D space. + + Handle returned from successful Session ‘create’ request or a SessionNewEvent + Speaking position + Listening position + - - Raises the EventInfoReply event - An EventInfoReplyEventArgs object containing the - data returned from the data server + + + Set User Volume for a particular user. Does not affect how other users hear that user. + + Handle returned from successful Session ‘create’ request or a SessionNewEvent + + The level of the audio, a number between -100 and 100 where 0 represents ‘normal’ speaking volume + - - Thread sync lock object + + + This is used to get a list of audio devices that can be used for capture (input) of voice. + + - - The event subscribers. null if no subcribers + + + This is used to get a list of audio devices that can be used for render (playback) of voice. + - - Raises the DirEventsReply event - An DirEventsReplyEventArgs object containing the - data returned from the data server + + + This command is used to select the render device. + + The name of the device as returned by the Aux.GetRenderDevices command. - - Thread sync lock object + + + This command is used to select the capture device. + + The name of the device as returned by the Aux.GetCaptureDevices command. - - The event subscribers. null if no subcribers + + + This command is used to start the audio capture process which will cause + AuxAudioProperty Events to be raised. These events can be used to display a + microphone VU meter for the currently selected capture device. This command + should not be issued if the user is on a call. + + (unused but required) + - - Raises the PlacesReply event - A PlacesReplyEventArgs object containing the - data returned from the data server + + + This command is used to stop the audio capture process. + + - - Thread sync lock object + + + This command is used to set the mic volume while in the audio tuning process. + Once an acceptable mic level is attained, the application must issue a + connector set mic volume command to have that level be used while on voice + calls. + + the microphone volume (-100 to 100 inclusive) + - - The event subscribers. null if no subcribers + + + This command is used to set the speaker volume while in the audio tuning + process. Once an acceptable speaker level is attained, the application must + issue a connector set speaker volume command to have that level be used while + on voice calls. + + the speaker volume (-100 to 100 inclusive) + - - Raises the DirPlacesReply event - A DirPlacesReplyEventArgs object containing the - data returned from the data server + + + Start up the Voice service. + - - Thread sync lock object + + + Handle miscellaneous request status + + + + ///If something goes wrong, we log it. - - The event subscribers. null if no subcribers + + + Cleanup oject resources + - - Raises the DirClassifiedsReply event - A DirClassifiedsReplyEventArgs object containing the - data returned from the data server + + + Request voice cap when changing regions + - - Thread sync lock object + + + Handle a change in session state + - - The event subscribers. null if no subcribers + + + Close a voice session + + - - Raises the DirGroupsReply event - A DirGroupsReplyEventArgs object containing the - data returned from the data server + + + Locate a Session context from its handle + + Creates the session context if it does not exist. - - Thread sync lock object + + + Handle completion of main voice cap request. + + + + - - The event subscribers. null if no subcribers + + + Daemon has started so connect to it. + - - Raises the DirPeopleReply event - A DirPeopleReplyEventArgs object containing the - data returned from the data server + + + The daemon TCP connection is open. + - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the DirLandReply event - A DirLandReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - + - Constructs a new instance of the DirectoryManager class + Handle creation of the Connector. - An instance of GridClient - + - Query the data server for a list of classified ads containing the specified string. - Defaults to searching for classified placed in any category, and includes PG, Adult and Mature - results. - - Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - - The event is raised when a response is received from the simulator + Handle response to audio output device query - A string containing a list of keywords to search for - A UUID to correlate the results when the event is raised - + - Query the data server for a list of classified ads which contain specified keywords (Overload) - - The event is raised when a response is received from the simulator + Handle response to audio input device query - A string containing a list of keywords to search for - The category to search - A set of flags which can be ORed to modify query options - such as classified maturity rating. - A UUID to correlate the results when the event is raised - - Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature - - UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); - - - - Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - - - - Starts search for places (Overloaded) + + + Set voice channel for new parcel + - The event is raised when a response is received from the simulator + + + + Request info from a parcel capability Uri. - Search text - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised + - + - Queries the dataserver for parcels of land which are flagged to be shown in search - - The event is raised when a response is received from the simulator + Receive parcel voice cap - A string containing a list of keywords to search for separated by a space character - A set of flags which can be ORed to modify query options - such as classified maturity rating. - The category to search - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult - - UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); - - - - Additional information on the results can be obtained by using the ParcelManager.InfoRequest method - + + + - + - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator + Tell Vivox where we are standing - What type of land to search for. Auction, - estate, mainland, "first land", etc - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. + This has to be called when we move or turn. - + - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator + Start and stop updating out position. - What type of land to search for. Auction, - estate, mainland, "first land", etc - Maximum price to search for - Maximum area to search for - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. + - + - Send a request to the data server for land sales listings + This is used to initialize and stop the Connector as a whole. The Connector + Create call must be completed successfully before any other requests are made + (typically during application initialization). The shutdown should be called + when the application is shutting down to gracefully release resources - - Flags sent to specify query options - - Available flags: - Specify the parcel rating with one or more of the following: - IncludePG IncludeMature IncludeAdult - - Specify the field to pre sort the results with ONLY ONE of the following: - PerMeterSort NameSort AreaSort PricesSort - - Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order - SortAsc - - Specify additional filters to limit the results with one or both of the following: - LimitByPrice LimitByArea - - Flags can be combined by separating them with the | (pipe) character - - Additional details can be found in - - What type of land to search for. Auction, - Estate or Mainland - Maximum price to search for when the - DirFindFlags.LimitByPrice flag is specified in findFlags - Maximum area to search for when the - DirFindFlags.LimitByArea flag is specified in findFlags - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - The event will be raised with the response from the simulator - - There is no way to determine how many results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each reply. - - Any land set for sale to either anybody or specific to the connected agent will be included in the - results if the land is included in the query - - - // request all mainland, any maturity rating that is larger than 512 sq.m - StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); - + A string value indicting the Application name + URL for the management server + LoggingSettings + + - + - Search for Groups + Shutdown Connector -- Should be called when the application is shutting down + to gracefully release resources - The name or portion of the name of the group you wish to search for - Start from the match number - + Handle returned from successful Connector ‘create’ request - + - Search for Groups + Mute or unmute the microphone - The name or portion of the name of the group you wish to search for - Start from the match number - Search flags - + Handle returned from successful Connector ‘create’ request + true (mute) or false (unmute) - + - Search the People directory for other avatars + Mute or unmute the speaker - The name or portion of the name of the avatar you wish to search for - - + Handle returned from successful Connector ‘create’ request + true (mute) or false (unmute) - + - Search Places for parcels of land you personally own + Set microphone volume + Handle returned from successful Connector ‘create’ request + The level of the audio, a number between -100 and 100 where + 0 represents ‘normal’ speaking volume - + - Searches Places for land owned by the specified group + Set local speaker volume - ID of the group you want to recieve land list for (You must be a member of the group) - Transaction (Query) ID which can be associated with results from your request. + Handle returned from successful Connector ‘create’ request + The level of the audio, a number between -100 and 100 where + 0 represents ‘normal’ speaking volume - + - Search the Places directory for parcels that are listed in search and contain the specified keywords + This is used to login a specific user account(s). It may only be called after + Connector initialization has completed successfully - A string containing the keywords to search for - Transaction (Query) ID which can be associated with results from your request. + Handle returned from successful Connector ‘create’ request + User's account name + User's account password + Values may be “AutoAnswer” or “VerifyAnswer” + "" + This is an integer that specifies how often + the daemon will send participant property events while in a channel. If this is not set + the default will be “on state change”, which means that the events will be sent when + the participant starts talking, stops talking, is muted, is unmuted. + The valid values are: + 0 – Never + 5 – 10 times per second + 10 – 5 times per second + 50 – 1 time per second + 100 – on participant state change (this is the default) + false + - + - Search Places - All Options + This is used to logout a user session. It should only be called with a valid AccountHandle. - One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. - One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer - A string containing a list of keywords to search for separated by a space character - String Simulator Name to search in - LLUID of group you want to recieve results for - Transaction (Query) ID which can be associated with results from your request. - Transaction (Query) ID which can be associated with results from your request. + Handle returned from successful Connector ‘login’ request + - + - Search All Events with specifid searchText in all categories, includes PG, Mature and Adult + Event for most mundane request reposnses. - A string containing a list of keywords to search for separated by a space character - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - UUID of query to correlate results in callback. - - - Search Events - - A string containing a list of keywords to search for separated by a space character - One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult - from the Enum - - Multiple flags can be combined by separating the flags with the | (pipe) character - "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled - For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - EventCategory event is listed under. - UUID of query to correlate results in callback. + + Response to Connector.Create request - - Requests Event Details - ID of Event returned from the method + + Response to Aux.GetCaptureDevices request - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Response to Aux.GetRenderDevices request - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Audio Properties Events are sent after audio capture is started. + These events are used to display a microphone VU meter - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from + + Response to Account.Login request - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + This event message is sent whenever the login state of the + particular Account has transitioned from one value to another - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + List of audio input devices + - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from + + + List of audio output devices + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Set audio test mode + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Enable logging - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The folder where any logs will be created - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + This will be prepended to beginning of each log file - - Raised when the data server responds to a request. + + The suffix or extension to be appended to each log file - - Raised when the data server responds to a request. + + + 0: NONE - No logging + 1: ERROR - Log errors only + 2: WARNING - Log errors and warnings + 3: INFO - Log errors, warnings and info + 4: DEBUG - Log errors, warnings, info and debug + - - Raised when the data server responds to a request. + + + Constructor for default logging settings + - - Raised when the data server responds to a request. + + Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter - - Raised when the data server responds to a request. + + Positional vector of the users position - - Raised when the data server responds to a request. + + Velocity vector of the position - - Raised when the data server responds to a request. + + At Orientation (X axis) of the position - - Raised when the data server responds to a request. + + Up Orientation (Y axis) of the position - - Classified Ad categories + + Left Orientation (Z axis) of the position - - Classified is listed in the Any category + + + Represents a string of characters encoded with specific formatting properties + - - Classified is shopping related + + + Base class for all Asset types + - - Classified is + + A byte array containing the raw asset data - - + + True if the asset it only stored on the server temporarily - - + + A unique ID - - + + + Construct a new Asset object + - - + + + Construct a new Asset object + + A unique specific to this asset + A byte array containing the raw asset data - - + + + Regenerates the AssetData byte array from the properties + of the derived class. + - - + + + Decodes the AssetData, placing it in appropriate properties of the derived + class. + + True if the asset decoding succeeded, otherwise false - - + + The assets unique ID - - Event Categories + + + The "type" of asset, Notecard, Animation, etc + - - + + A text string containing main text of the notecard - - + + List of s embedded on the notecard - - + + Construct an Asset of type Notecard - - + + + Construct an Asset object of type Notecard + + A unique specific to this asset + A byte array containing the raw asset data - - + + + Encode the raw contents of a string with the specific Linden Text properties + - - + + + Decode the raw asset data including the Linden Text properties + + true if the AssetData was successfully decoded - - + + Override the base classes AssetType - - - - - - - - - - - - - - - - + - Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. - Flags can be combined using the | (pipe) character, not all flags are available in all queries - - Query the People database + + The event subscribers, null of no subscribers - - + + Raises the AttachedSound Event + A AttachedSoundEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - Query the Groups database + + The event subscribers, null of no subscribers - - Query the Events database + + Raises the AttachedSoundGainChange Event + A AttachedSoundGainChangeEventArgs object containing + the data sent from the simulator - - Query the land holdings database for land owned by the currently connected agent + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - Query the land holdings database for land which is owned by a Group + + Raises the SoundTrigger Event + A SoundTriggerEventArgs object containing + the data sent from the simulator - - Specifies the query should pre sort the results based upon traffic - when searching the Places database + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the PreloadSound Event + A PreloadSoundEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + + Construct a new instance of the SoundManager class, used for playing and receiving + sound assets + + A reference to the current GridClient instance - - Specifies the query should pre sort the results in an ascending order when searching the land sales database. - This flag is only used when searching the land sales database + + + Plays a sound in the current region at full volume from avatar position + + UUID of the sound to be played - - Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. - This flag is only used when searching the land sales database + + + Plays a sound in the current region at full volume + + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. - - Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. - This flag is only used when searching the land sales database + + + Plays a sound in the current region + + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - - Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. - This flag is only used when searching the land sales database + + + Plays a sound in the specified sim + + UUID of the sound to be played. + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - - Specifies the query should pre sort the results using the Name field when searching the land sales database. - This flag is only used when searching the land sales database + + + Play a sound asset + + UUID of the sound to be played. + handle id for the sim to be played in. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - - When set, only parcels less than the specified Price will be included when searching the land sales database. - This flag is only used when searching the land sales database + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - When set, only parcels greater than the specified Size will be included when searching the land sales database. - This flag is only used when searching the land sales database + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases + + Raised when the simulator sends us data containing + sound - - Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases + + Raised when the simulator sends us data containing + ... - - Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - + + Provides data for the event + The event occurs when the simulator sends + the sound data which emits from an agents attachment + + The following code example shows the process to subscribe to the event + and a stub to handle the data passed from the simulator + + // Subscribe to the AttachedSound event + Client.Sound.AttachedSound += Sound_AttachedSound; + + // process the data raised in the event here + private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) + { + // ... Process AttachedSoundEventArgs here ... + } + + + + - Land types to search dataserver for + Construct a new instance of the SoundTriggerEventArgs class + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The volume level + The - - Search Auction, Mainland and Estate - - - Land which is currently up for auction + + Simulator where the event originated - - Parcels which are on the mainland (Linden owned) continents + + Get the sound asset id - - Parcels which are on privately owned simulators + + Get the ID of the owner - - - The content rating of the event - + + Get the ID of the Object - - Event is PG + + Get the volume level - - Event is Mature + + Get the - - Event is Adult + + Provides data for the event + The event occurs when an attached sound + changes its volume level - + - Classified Ad Options + Construct a new instance of the AttachedSoundGainChangedEventArgs class - There appear to be two formats the flags are packed in. - This set of flags is for the newer style + Simulator where the event originated + The ID of the Object + The new volume level - - + + Simulator where the event originated - - - - - + + Get the ID of the Object - - + + Get the volume level - - + + Provides data for the event + The event occurs when the simulator forwards + a request made by yourself or another agent to play either an asset sound or a built in sound + + Requests to play sounds where the is not one of the built-in + will require sending a request to download the sound asset before it can be played + + + The following code example uses the , + and + properties to display some information on a sound request on the window. + + // subscribe to the event + Client.Sound.SoundTrigger += Sound_SoundTrigger; + + // play the pre-defined BELL_TING sound + Client.Sound.SendSoundTrigger(Sounds.BELL_TING); + + // handle the response data + private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) + { + Console.WriteLine("{0} played the sound {1} at volume {2}", + e.OwnerID, e.SoundID, e.Gain); + } + + - + - Classified ad query options + Construct a new instance of the SoundTriggerEventArgs class + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The ID of the objects parent + The volume level + The regionhandle + The source position - - Include all ads in results - - - Include PG ads in results + + Simulator where the event originated - - Include Mature ads in results + + Get the sound asset id - - Include Adult ads in results + + Get the ID of the owner - - - The For Sale flag in PlacesReplyData - + + Get the ID of the Object - - Parcel is not listed for sale + + Get the ID of the objects parent - - Parcel is For Sale + + Get the volume level - - - A classified ad on the grid - + + Get the regionhandle - - UUID for this ad, useful for looking up detailed - information about it + + Get the source position - - The title of this classified ad + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + + - - Flags that show certain options applied to the classified + + + Construct a new instance of the PreloadSoundEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object - - Creation date of the ad + + Simulator where the event originated - - Expiration date of the ad + + Get the sound asset id - - Price that was paid for this ad + + Get the ID of the owner - - Print the struct data as a string - A string containing the field name, and field value + + Get the ID of the Object - + - A parcel retrieved from the dataserver such as results from the - "For-Sale" listings or "Places" Search + Capabilities is the name of the bi-directional HTTP REST protocol + used to communicate non real-time transactions such as teleporting or + group messaging - - The unique dataserver parcel ID - This id is used to obtain additional information from the entry - by using the method - - - A string containing the name of the parcel + + Reference to the simulator this system is connected to - - The size of the parcel - This field is not returned for Places searches + + + Default constructor + + + - - The price of the parcel - This field is not returned for Places searches + + + Request the URI of a named capability + + Name of the capability to request + The URI of the requested capability, or String.Empty if + the capability does not exist - - If True, this parcel is flagged to be auctioned + + + Process any incoming events, check to see if we have a message created for the event, + + + - - If true, this parcel is currently set for sale + + Capabilities URI this system was initialized with - - Parcel traffic + + Whether the capabilities event queue is connected and + listening for incoming events - - Print the struct data as a string - A string containing the field name, and field value + + + Triggered when an event is received via the EventQueueGet + capability + + Event name + Decoded event data + The simulator that generated the event - + - An Avatar returned from the dataserver + Manager class for our own avatar - - Online status of agent - This field appears to be obsolete and always returns false + + The event subscribers. null if no subcribers - - The agents first name + + Raises the ChatFromSimulator event + A ChatEventArgs object containing the + data returned from the data server - - The agents last name + + Thread sync lock object - - The agents + + The event subscribers. null if no subcribers - - Print the struct data as a string - A string containing the field name, and field value + + Raises the ScriptDialog event + A SctriptDialogEventArgs object containing the + data returned from the data server - - - Response to a "Groups" Search - + + Thread sync lock object - - The Group ID + + The event subscribers. null if no subcribers - - The name of the group + + Raises the ScriptQuestion event + A ScriptQuestionEventArgs object containing the + data returned from the data server - - The current number of members + + Thread sync lock object - - Print the struct data as a string - A string containing the field name, and field value + + The event subscribers. null if no subcribers - - - Parcel information returned from a request - - Represents one of the following: - A parcel of land on the grid that has its Show In Search flag set - A parcel of land owned by the agent making the request - A parcel of land owned by a group the agent making the request is a member of - - - In a request for Group Land, the First record will contain an empty record - - Note: This is not the same as searching the land for sale data source - - - - The ID of the Agent of Group that owns the parcel + + Raises the LoadURL event + A LoadUrlEventArgs object containing the + data returned from the data server - - The name + + Thread sync lock object - - The description + + The event subscribers. null if no subcribers - - The Size of the parcel + + Raises the MoneyBalance event + A BalanceEventArgs object containing the + data returned from the data server - - The billable Size of the parcel, for mainland - parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller - than the ActualArea. For Estate land this will always be 0 + + Thread sync lock object - - Indicates the ForSale status of the parcel + + The event subscribers. null if no subcribers - - The Gridwide X position + + Raises the MoneyBalanceReply event + A MoneyBalanceReplyEventArgs object containing the + data returned from the data server - - The Gridwide Y position + + Thread sync lock object - - The Z position of the parcel, or 0 if no landing point set + + The event subscribers. null if no subcribers - - The name of the Region the parcel is located in + + Raises the IM event + A InstantMessageEventArgs object containing the + data returned from the data server - - The Asset ID of the parcels Snapshot texture + + Thread sync lock object - - The calculated visitor traffic + + The event subscribers. null if no subcribers - - The billing product SKU - Known values are: - - 023Mainland / Full Region - 024Estate / Full Region - 027Estate / Openspace - 029Estate / Homestead - 129Mainland / Homestead (Linden Owned) - - + + Raises the TeleportProgress event + A TeleportEventArgs object containing the + data returned from the data server - - No longer used, will always be 0 + + Thread sync lock object - - Get a SL URL for the parcel - A string, containing a standard SLURL + + The event subscribers. null if no subcribers - - Print the struct data as a string - A string containing the field name, and field value + + Raises the AgentDataReply event + A AgentDataReplyEventArgs object containing the + data returned from the data server - - - An "Event" Listing summary - + + Thread sync lock object - - The ID of the event creator + + The event subscribers. null if no subcribers - - The name of the event + + Raises the AnimationsChanged event + A AnimationsChangedEventArgs object containing the + data returned from the data server - - The events ID + + Thread sync lock object - - A string containing the short date/time the event will begin + + The event subscribers. null if no subcribers - - The event start time in Unixtime (seconds since epoch) + + Raises the MeanCollision event + A MeanCollisionEventArgs object containing the + data returned from the data server - - The events maturity rating + + Thread sync lock object - - Print the struct data as a string - A string containing the field name, and field value + + The event subscribers. null if no subcribers - - - The details of an "Event" - + + Raises the RegionCrossed event + A RegionCrossedEventArgs object containing the + data returned from the data server - - The events ID + + Thread sync lock object - - The ID of the event creator + + The event subscribers. null if no subcribers - - The name of the event + + Raises the GroupChatJoined event + A GroupChatJoinedEventArgs object containing the + data returned from the data server - - The category + + Thread sync lock object - - The events description + + The event subscribers. null if no subcribers - - The short date/time the event will begin + + Raises the AlertMessage event + A AlertMessageEventArgs object containing the + data returned from the data server - - The event start time in Unixtime (seconds since epoch) UTC adjusted + + Thread sync lock object - - The length of the event in minutes + + The event subscribers. null if no subcribers - - 0 if no cover charge applies + + Raises the ScriptControlChange event + A ScriptControlEventArgs object containing the + data returned from the data server - - The cover charge amount in L$ if applicable + + Thread sync lock object - - The name of the region where the event is being held + + The event subscribers. null if no subcribers - - The gridwide location of the event + + Raises the CameraConstraint event + A CameraConstraintEventArgs object containing the + data returned from the data server - - The maturity rating + + Thread sync lock object - - Get a SL URL for the parcel where the event is hosted - A string, containing a standard SLURL + + The event subscribers. null if no subcribers - - Print the struct data as a string - A string containing the field name, and field value + + Raises the ScriptSensorReply event + A ScriptSensorReplyEventArgs object containing the + data returned from the data server - - Contains the Event data returned from the data server from an EventInfoRequest + + Thread sync lock object - - Construct a new instance of the EventInfoReplyEventArgs class - A single EventInfo object containing the details of an event + + The event subscribers. null if no subcribers - - - A single EventInfo object containing the details of an event - + + Raises the AvatarSitResponse event + A AvatarSitResponseEventArgs object containing the + data returned from the data server - - Contains the "Event" detail data returned from the data server + + Thread sync lock object - - Construct a new instance of the DirEventsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Events" returned by the search query + + The event subscribers. null if no subcribers - - The ID returned by + + Raises the ChatSessionMemberAdded event + A ChatSessionMemberAddedEventArgs object containing the + data returned from the data server - - A list of "Events" returned by the data server - - - Contains the "Event" list data returned from the data server - - - Construct a new instance of PlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Places" returned by the data server query - - - The ID returned by - - - A list of "Places" returned by the data server - - - Contains the places data returned from the data server - - - Construct a new instance of the DirPlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing land data returned by the data server - - - The ID returned by + + Thread sync lock object - - A list containing Places data returned by the data server + + The event subscribers. null if no subcribers - - Contains the classified data returned from the data server + + Raises the ChatSessionMemberLeft event + A ChatSessionMemberLeftEventArgs object containing the + data returned from the data server - - Construct a new instance of the DirClassifiedsReplyEventArgs class - A list of classified ad data returned from the data server + + Thread sync lock object - - A list containing Classified Ads returned by the data server + + The event subscribers, null of no subscribers - - Contains the group data returned from the data server + + Raises the SetDisplayNameReply Event + A SetDisplayNameReplyEventArgs object containing + the data sent from the simulator - - Construct a new instance of the DirGroupsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of groups data returned by the data server + + Thread sync lock object - - The ID returned by + + The event subscribers. null if no subcribers - - A list containing Groups data returned by the data server + + Raises the MuteListUpdated event + A EventArgs object containing the + data returned from the data server - - Contains the people data returned from the data server + + Thread sync lock object - - Construct a new instance of the DirPeopleReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of people data returned by the data server + + Reference to the GridClient instance - - The ID returned by + + Used for movement and camera tracking - - A list containing People data returned by the data server + + Currently playing animations for the agent. Can be used to + check the current movement status such as walking, hovering, aiming, + etc. by checking against system animations found in the Animations class - - Contains the land sales data returned from the data server + + Dictionary containing current Group Chat sessions and members - - Construct a new instance of the DirLandReplyEventArgs class - A list of parcels for sale returned by the data server + + Dictionary containing mute list keyead on mute name and key - - A list containing land forsale data returned by the data server + + Various abilities and preferences sent by the grid - + - Sent to the client to indicate a teleport request has completed + Constructor, setup callbacks for packets related to our avatar + A reference to the Class - + - Interface requirements for Messaging system + Send a text message from the Agent to the Simulator + A containing the message + The channel to send the message on, 0 is the public channel. Channels above 0 + can be used however only scripts listening on the specified channel will see the message + Denotes the type of message being sent, shout, whisper, etc. - - The of the agent - - - - - - The simulators handle the agent teleported to - - - A Uri which contains a list of Capabilities the simulator supports - - - Indicates the level of access required - to access the simulator, or the content rating, or the simulators - map status - - - The IP Address of the simulator - - - The UDP Port the simulator will listen for UDP traffic on - - - Status flags indicating the state of the Agent upon arrival, Flying, etc. - - + - Serialize the object + Request any instant messages sent while the client was offline to be resent. - An containing the objects data - + - Deserialize the message + Send an Instant Message to another Avatar - An containing the data + The recipients + A containing the message to send - + - Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. + Send an Instant Message to an existing group chat or conference chat + The recipients + A containing the message to send + IM session ID (to differentiate between IM windows) - + - Serialize the object + Send an Instant Message - An containing the objects data + The name this IM will show up as being from + Key of Avatar + Text message being sent + IM session ID (to differentiate between IM windows) + IDs of sessions for a conference - + - Deserialize the message + Send an Instant Message - An containing the data + The name this IM will show up as being from + Key of Avatar + Text message being sent + IM session ID (to differentiate between IM windows) + Type of instant message to send + Whether to IM offline avatars as well + Senders Position + RegionID Sender is In + Packed binary data that is specific to + the dialog type - + - Serialize the object + Send an Instant Message to a group - An containing the objects data + of the group to send message to + Text Message being sent. - + - Deserialize the message + Send an Instant Message to a group the agent is a member of - An containing the data + The name this IM will show up as being from + of the group to send message to + Text message being sent - + - Serialize the object + Send a request to join a group chat session - An containing the objects data + of Group to leave - + - Deserialize the message + Exit a group chat session. This will stop further Group chat messages + from being sent until session is rejoined. - An containing the data + of Group chat session to leave - + - A message sent to the client which indicates a teleport request has failed - and contains some information on why it failed + Reply to script dialog questions. + Channel initial request came on + Index of button you're "clicking" + Label of button you're "clicking" + of Object that sent the dialog request + - - - - - A string key of the reason the teleport failed e.g. CouldntTPCloser - Which could be used to look up a value in a dictionary or enum - - - The of the Agent - - - A string human readable message containing the reason - An example: Could not teleport closer to destination - - + - Serialize the object + Accept invite for to a chatterbox session - An containing the objects data + of session to accept invite to - + - Deserialize the message + Start a friends conference - An containing the data + List of UUIDs to start a conference with + the temportary session ID returned in the callback> - + - Serialize the object + Start a particle stream between an agent and an object - An containing the objects data + Key of the source agent + Key of the target object + + The type from the enum + A unique for this effect - + - Deserialize the message + Start a particle stream between an agent and an object - An containing the data + Key of the source agent + Key of the target object + A representing the beams offset from the source + A which sets the avatars lookat animation + of the Effect - + - Contains a list of prim owner information for a specific parcel in a simulator + Create a particle beam between an avatar and an primitive - - A Simulator will always return at least 1 entry - If agent does not have proper permission the OwnerID will be UUID.Zero - If agent does not have proper permission OR there are no primitives on parcel - the DataBlocksExtended map will not be sent from the simulator - - - - An Array of objects + The ID of source avatar + The ID of the target primitive + global offset + A object containing the combined red, green, blue and alpha + color values of particle beam + a float representing the duration the parcicle beam will last + A Unique ID for the beam + - + - Serialize the object + Create a particle swirl around a target position using a packet - An containing the objects data + global offset + A object containing the combined red, green, blue and alpha + color values of particle beam + a float representing the duration the parcicle beam will last + A Unique ID for the beam - + - Deserialize the message + Sends a request to sit on the specified object - An containing the data + of the object to sit on + Sit at offset - + - Prim ownership information for a specified owner on a single parcel + Follows a call to to actually sit on the object - - The of the prim owner, - UUID.Zero if agent has no permission to view prim owner information + + Stands up from sitting on a prim or the ground + true of AgentUpdate was sent - - The total number of prims + + + Does a "ground sit" at the avatar's current position + - - True if the OwnerID is a + + + Starts or stops flying + + True to start flying, false to stop flying - - True if the owner is online - This is no longer used by the LL Simulators + + + Starts or stops crouching + + True to start crouching, false to stop crouching - - The date the most recent prim was rezzed + + + Starts a jump (begin holding the jump key) + - + - The details of a single parcel in a region, also contains some regionwide globals + Use the autopilot sim function to move the avatar to a new + position. Uses double precision to get precise movements + The z value is currently not handled properly by the simulator + Global X coordinate to move to + Global Y coordinate to move to + Z coordinate to move to - - Simulator-local ID of this parcel + + + Use the autopilot sim function to move the avatar to a new position + + The z value is currently not handled properly by the simulator + Integer value for the global X coordinate to move to + Integer value for the global Y coordinate to move to + Floating-point value for the Z coordinate to move to - - Maximum corner of the axis-aligned bounding box for this - parcel + + + Use the autopilot sim function to move the avatar to a new position + + The z value is currently not handled properly by the simulator + Integer value for the local X coordinate to move to + Integer value for the local Y coordinate to move to + Floating-point value for the Z coordinate to move to - - Minimum corner of the axis-aligned bounding box for this - parcel + + Macro to cancel autopilot sim function + Not certain if this is how it is really done + true if control flags were set and AgentUpdate was sent to the simulator - - Total parcel land area + + + Grabs an object + + an unsigned integer of the objects ID within the simulator + - - + + + Overload: Grab a simulated object + + an unsigned integer of the objects ID within the simulator + + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - - Key of authorized buyer + + + Drag an object + + of the object to drag + Drag target in region coordinates - - Bitmap describing land layout in 4x4m squares across the - entire region + + + Overload: Drag an object + + of the object to drag + Drag target in region coordinates + + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - - + + + Release a grabbed object + + The Objects Simulator Local ID + + + - - Date land was claimed + + + Release a grabbed object + + The Objects Simulator Local ID + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - - Appears to always be zero + + + Touches an object + + an unsigned integer of the objects ID within the simulator + - - Parcel Description + + + Request the current L$ balance + - - + + + Give Money to destination Avatar + + UUID of the Target Avatar + Amount in L$ - - + + + Give Money to destination Avatar + + UUID of the Target Avatar + Amount in L$ + Description that will show up in the + recipients transaction history - - Total number of primitives owned by the parcel group on - this parcel + + + Give L$ to an object + + object to give money to + amount of L$ to give + name of object - - Whether the land is deeded to a group or not + + + Give L$ to a group + + group to give money to + amount of L$ to give - - + + + Give L$ to a group + + group to give money to + amount of L$ to give + description of transaction - - Maximum number of primitives this parcel supports + + + Pay texture/animation upload fee + - - The Asset UUID of the Texture which when applied to a - primitive will display the media + + + Pay texture/animation upload fee + + description of the transaction - - A URL which points to any Quicktime supported media type + + + Give Money to destination Object or Avatar + + UUID of the Target Object/Avatar + Amount in L$ + Reason (Optional normally) + The type of transaction + Transaction flags, mostly for identifying group + transactions - - A byte, if 0x1 viewer should auto scale media to fit object + + + Plays a gesture + + Asset of the gesture - - URL For Music Stream + + + Mark gesture active + + Inventory of the gesture + Asset of the gesture - - Parcel Name + + + Mark gesture inactive + + Inventory of the gesture - - Autoreturn value in minutes for others' objects + + + Send an AgentAnimation packet that toggles a single animation on + + The of the animation to start playing + Whether to ensure delivery of this packet or not - - + + + Send an AgentAnimation packet that toggles a single animation off + + The of a + currently playing animation to stop playing + Whether to ensure delivery of this packet or not - - Total number of other primitives on this parcel + + + Send an AgentAnimation packet that will toggle animations on or off + + A list of animation s, and whether to + turn that animation on or off + Whether to ensure delivery of this packet or not - - UUID of the owner of this parcel + + + Teleports agent to their stored home location + + true on successful teleport to home location - - Total number of primitives owned by the parcel owner on - this parcel + + + Teleport agent to a landmark + + of the landmark to teleport agent to + true on success, false on failure - - + + + Attempt to look up a simulator name and teleport to the discovered + destination + + Region name to look up + Position to teleport to + True if the lookup and teleport were successful, otherwise + false - - How long is pass valid for + + + Attempt to look up a simulator name and teleport to the discovered + destination + + Region name to look up + Position to teleport to + Target to look at + True if the lookup and teleport were successful, otherwise + false - - Price for a temporary pass + + + Teleport agent to another region + + handle of region to teleport agent to + position in destination sim to teleport to + true on success, false on failure + This call is blocking - - + + + Teleport agent to another region + + handle of region to teleport agent to + position in destination sim to teleport to + direction in destination sim agent will look at + true on success, false on failure + This call is blocking - - + + + Request teleport to a another simulator + + handle of region to teleport agent to + position in destination sim to teleport to - - + + + Request teleport to a another simulator + + handle of region to teleport agent to + position in destination sim to teleport to + direction in destination sim agent will look at - - + + + Teleport agent to a landmark + + of the landmark to teleport agent to - - True if the region denies access to age unverified users + + + Send a teleport lure to another avatar with default "Join me in ..." invitation message + + target avatars to lure - - + + + Send a teleport lure to another avatar with custom invitation message + + target avatars to lure + custom message to send with invitation - - This field is no longer used + + + Respond to a teleport lure by either accepting it and initiating + the teleport, or denying it + + of the avatar sending the lure + IM session of the incoming lure request + true to accept the lure, false to decline it - - The result of a request for parcel properties + + + Update agent profile + + struct containing updated + profile information - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it + + + Update agents profile interests + + selection of interests from struct - + - Number of primitives your avatar is currently - selecting and sitting on in this parcel + Set the height and the width of the client window. This is used + by the server to build a virtual camera frustum for our avatar + New height of the viewer window + New width of the viewer window - - + + + Request the list of muted objects and avatars for this agent + - + - A number which increments by 1, starting at 0 for each ParcelProperties request. - Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. - a Negative number indicates the action in has occurred. + Mute an object, resident, etc. + Mute type + Mute UUID + Mute name - - Maximum primitives across the entire simulator + + + Mute an object, resident, etc. + + Mute type + Mute UUID + Mute name + Mute flags - - Total primitives across the entire simulator + + + Unmute an object, resident, etc. + + Mute UUID + Mute name - - + + + Sets home location to agents current position + + will fire an AlertMessage () with + success or failure message - - Key of parcel snapshot + + + Move an agent in to a simulator. This packet is the last packet + needed to complete the transition in to a new simulator + + Object - - Parcel ownership status + + + Reply to script permissions request + + Object + of the itemID requesting permissions + of the taskID requesting permissions + list of permissions to allow - - Total number of primitives on this parcel + + + Respond to a group invitation by either accepting or denying it + + UUID of the group (sent in the AgentID field of the invite message) + IM Session ID from the group invitation message + Accept the group invitation or deny it - - - - - - - - A description of the media - - - An Integer which represents the height of the media - - - An integer which represents the width of the media - - - A boolean, if true the viewer should loop the media - - - A string which contains the mime type of the media - - - true to obscure (hide) media url - - - true to obscure (hide) music url - - + - Serialize the object + Requests script detection of objects and avatars - An containing the objects data + name of the object/avatar to search for + UUID of the object or avatar to search for + Type of search from ScriptSensorTypeFlags + range of scan (96 max?) + the arc in radians to search within + an user generated ID to correlate replies with + Simulator to perform search in - + - Deserialize the message + Create or update profile pick - An containing the data - - - A message sent from the viewer to the simulator to updated a specific parcels settings - - - The of the agent authorized to purchase this - parcel of land or a NULL if the sale is authorized to anyone - - - true to enable auto scaling of the parcel media - - - The category of this parcel used when search is enabled to restrict - search results - - - A string containing the description to set - - - The of the which allows for additional - powers and restrictions. - - - The which specifies how avatars which teleport - to this parcel are handled - - - The LocalID of the parcel to update settings on - - - A string containing the description of the media which can be played - to visitors - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + UUID of the pick to update, or random UUID to create a new pick + Is this a top pick? (typically false) + UUID of the parcel (UUID.Zero for the current parcel) + Name of the pick + Global position of the pick landmark + UUID of the image displayed with the pick + Long description of the pick - + - Deserialize the message + Delete profile pick - An containing the data + UUID of the pick to delete - + - Serialize the object + Create or update profile Classified - An containing the objects data - - - Base class used for the RemoteParcelRequest message + UUID of the classified to update, or random UUID to create a new classified + Defines what catagory the classified is in + UUID of the image displayed with the classified + Price that the classified will cost to place for a week + Global position of the classified landmark + Name of the classified + Long description of the classified + if true, auto renew classified after expiration - + - A message sent from the viewer to the simulator to request information - on a remote parcel + Create or update profile Classified + UUID of the classified to update, or random UUID to create a new classified + Defines what catagory the classified is in + UUID of the image displayed with the classified + Price that the classified will cost to place for a week + Name of the classified + Long description of the classified + if true, auto renew classified after expiration - - Local sim position of the parcel we are looking up - - - Region handle of the parcel we are looking up - - - Region of the parcel we are looking up - - + - Serialize the object + Delete a classified ad - An containing the objects data + The classified ads ID - + - Deserialize the message + Fetches resource usage by agents attachmetns - An containing the data + Called when the requested information is collected - + - A message sent from the simulator to the viewer in response to a - which will contain parcel information + Initates request to set a new display name + Previous display name + Desired new display name - - The grid-wide unique parcel ID - - + - Serialize the object + Tells the sim what UI language is used, and if it's ok to share that with scripts - An containing the objects data + Two letter language code + Share language info with scripts - + - Deserialize the message + Take an incoming ImprovedInstantMessage packet, auto-parse, and if + OnInstantMessage is defined call that with the appropriate arguments - An containing the data + The sender + The EventArgs object containing the packet data - + - A message containing a request for a remote parcel from a viewer, or a response - from the simulator to that request + Take an incoming Chat packet, auto-parse, and if OnChat is defined call + that with the appropriate arguments. + The sender + The EventArgs object containing the packet data - - The request or response details block - - + - Serialize the object + Used for parsing llDialogs - An containing the objects data + The sender + The EventArgs object containing the packet data - + - Deserialize the message + Used for parsing llRequestPermissions dialogs - An containing the data + The sender + The EventArgs object containing the packet data - + - Serialize the object + Handles Script Control changes when Script with permissions releases or takes a control - An containing the objects data + The sender + The EventArgs object containing the packet data - + - Deserialize the message + Used for parsing llLoadURL Dialogs - An containing the data + The sender + The EventArgs object containing the packet data - + - Serialize the object + Update client's Position, LookAt and region handle from incoming packet - An containing the objects data + The sender + The EventArgs object containing the packet data + This occurs when after an avatar moves into a new sim - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator to an agent which contains - the groups the agent is in - - - - The Agent receiving the message + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - An array containing information - for each the agent is a member of + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - An array containing information - for each the agent is a member of + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Serialize the object + EQ Message fired with the result of SetDisplayName request - An containing the objects data + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - + - Deserialize the message + Process TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why. - An containing the data - - - Group Details specific to the agent - - - true of the agent accepts group notices - - - The agents tier contribution to the group - - - The Groups - - - The of the groups insignia + The Message Key + An IMessage object Deserialized from the recieved message event + The simulator originating the event message - - The name of the group + + + Process TeleportFinish from Event Queue and pass it onto our TeleportHandler + + The message system key for this event + IMessage object containing decoded data from OSD + The simulator originating the event message - - The aggregate permissions the agent has in the group for all roles the agent - is assigned + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - An optional block containing additional agent specific information + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - true of the agent allows this group to be - listed in their profile + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - A message sent from the viewer to the simulator which - specifies the language and permissions for others to detect - the language specified + Crossed region handler for message that comes across the EventQueue. Sent to an agent + when the agent crosses a sim border into a new region. + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - A string containng the default language - to use for the agent - - - true of others are allowed to - know the language setting + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + This packet is now being sent via the EventQueue - + - Serialize the object + Group Chat event handler - An containing the objects data + The capability Key + IMessage object containing decoded data from OSD + - + - Deserialize the message + Response from request to join a group chat - An containing the data + + IMessage object containing decoded data from OSD + - + - An EventQueue message sent from the simulator to an agent when the agent - leaves a group + Someone joined or left group chat + + IMessage object containing decoded data from OSD + - + - An Array containing the AgentID and GroupID + Handle a group chat Invitation + Caps Key + IMessage object containing decoded data from OSD + Originating Simulator - + - Serialize the object + Moderate a chat session - An containing the objects data + the of the session to moderate, for group chats this will be the groups UUID + the of the avatar to moderate + Either "voice" to moderate users voice, or "text" to moderate users text session + true to moderate (silence user), false to allow avatar to speak - - - Deserialize the message - - An containing the data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - An object containing the Agents UUID, and the Groups UUID + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The ID of the Agent leaving the group + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The GroupID the Agent is leaving + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Base class for Asset uploads/results via Capabilities + + Raised when a scripted object or agent within range sends a public message - - - The request state - + + Raised when a scripted object sends a dialog box containing possible + options an agent can respond to - - - Serialize the object - - An containing the objects data + + Raised when an object requests a change in the permissions an agent has permitted - - - Deserialize the message - - An containing the data + + Raised when a script requests an agent open the specified URL - - - A message sent from the viewer to the simulator to request a temporary upload capability - which allows an asset to be uploaded - + + Raised when an agents currency balance is updated - - The Capability URL sent by the simulator to upload the baked texture to + + Raised when a transaction occurs involving currency such as a land purchase - - - A message sent from the simulator that will inform the agent the upload is complete, - and the UUID of the uploaded asset - + + Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from + private messaging to friendship offers. The Dialog field defines what type of message has arrived - - The uploaded texture asset ID + + Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times + for each teleport indicating the progress of the request - - - A message sent from the viewer to the simulator to request a temporary - capability URI which is used to upload an agents baked appearance textures - + + Raised when a simulator sends agent specific information for our avatar. - - Object containing request or response + + Raised when our agents animation playlist changes - - - Serialize the object - - An containing the objects data + + Raised when an object or avatar forcefully collides with our agent - - - Deserialize the message - - An containing the data + + Raised when our agent crosses a region border into another region - - - A message sent from the simulator which indicates the minimum version required for - using voice chat - + + Raised when our agent succeeds or fails to join a group chat session - - Major Version Required - - - Minor version required + + Raised when a simulator sends an urgent message usually indication the recent failure of + another action we have attempted to take such as an attempt to enter a parcel where we are denied access - - The name of the region sending the version requrements + + Raised when a script attempts to take or release specified controls for our agent - - - Serialize the object - - An containing the objects data + + Raised when the simulator detects our agent is trying to view something + beyond its limits - - - Deserialize the message - - An containing the data + + Raised when a script sensor reply is received from a simulator - - - A message sent from the simulator to the viewer containing the - voice server URI - + + Raised in response to a request - - The Parcel ID which the voice server URI applies + + Raised when an avatar enters a group chat session we are participating in - - The name of the region + + Raised when an agent exits a group chat session we are participating in - - A uri containing the server/channel information - which the viewer can utilize to participate in voice conversations + + Raised when the simulator sends us data containing + the details of display name change - - - Serialize the object - - An containing the objects data + + Raised when a scripted object or agent within range sends a public message - - - Deserialize the message - - An containing the data + + Your (client) avatars + "client", "agent", and "avatar" all represent the same thing - - - - + + Temporary assigned to this session, used for + verifying our identity in packets - - + + Shared secret that is never sent over the wire - - + + Your (client) avatar ID, local to the current region/sim - - - Serialize the object - - An containing the objects data + + Where the avatar started at login. Can be "last", "home" + or a login - - - Deserialize the message - - An containing the data + + The access level of this agent, usually M or PG - - - A message sent by the viewer to the simulator to request a temporary - capability for a script contained with in a Tasks inventory to be updated - + + The CollisionPlane of Agent - - Object containing request or response + + An representing the velocity of our agent - - - Serialize the object - - An containing the objects data + + An representing the acceleration of our agent - - - Deserialize the message - - An containing the data + + A which specifies the angular speed, and axis about which an Avatar is rotating. - - - A message sent from the simulator to the viewer to indicate - a Tasks scripts status. - + + Position avatar client will goto when login to 'home' or during + teleport request to 'home' region. - - The Asset ID of the script + + LookAt point saved/restored with HomePosition - - True of the script is compiled/ran using the mono interpreter, false indicates it - uses the older less efficient lsl2 interprter + + Avatar First Name (i.e. Philip) - - The Task containing the scripts + + Avatar Last Name (i.e. Linden) - - true of the script is in a running state + + Avatar Full Name (i.e. Philip Linden) - - - Serialize the object - - An containing the objects data + + Gets the health of the agent - - - Deserialize the message - - An containing the data + + Gets the current balance of the agent - - - A message containing the request/response used for updating a gesture - contained with an agents inventory - + + Gets the local ID of the prim the agent is sitting on, + zero if the avatar is not currently sitting - - Object containing request or response + + Gets the of the agents active group. - - - Serialize the object - - An containing the objects data + + Gets the Agents powers in the currently active group - - - Deserialize the message - - An containing the data + + Current status message for teleporting - - - A message request/response which is used to update a notecard contained within - a tasks inventory - + + Current position of the agent as a relative offset from + the simulator, or the parent object if we are sitting on something - - The of the Task containing the notecard asset to update + + Current rotation of the agent as a relative rotation from + the simulator, or the parent object if we are sitting on something - - The notecard assets contained in the tasks inventory + + Current position of the agent in the simulator - + - Serialize the object + A representing the agents current rotation - An containing the objects data - - - Deserialize the message - - An containing the data + + Returns the global grid position of the avatar - + - A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability - which is used to update an asset in an agents inventory + Used to specify movement actions for your agent - - - The Notecard AssetID to replace - + + Empty flag - - - Serialize the object - - An containing the objects data + + Move Forward (SL Keybinding: W/Up Arrow) - - - Deserialize the message - - An containing the data + + Move Backward (SL Keybinding: S/Down Arrow) - - - A message containing the request/response used for updating a notecard - contained with an agents inventory - + + Move Left (SL Keybinding: Shift-(A/Left Arrow)) - - Object containing request or response + + Move Right (SL Keybinding: Shift-(D/Right Arrow)) - - - Serialize the object - - An containing the objects data + + Not Flying: Jump/Flying: Move Up (SL Keybinding: E) - - - Deserialize the message - - An containing the data + + Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) - - - Serialize the object - - An containing the objects data + + Unused - - - Deserialize the message - - An containing the data + + Unused - - - A message sent from the simulator to the viewer which indicates - an error occurred while attempting to update a script in an agents or tasks - inventory - + + Unused - - true of the script was successfully compiled by the simulator + + Unused - - A string containing the error which occured while trying - to update the script + + ORed with AGENT_CONTROL_AT_* if the keyboard is being used - - A new AssetID assigned to the script + + ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used - - - A message sent from the viewer to the simulator - requesting the update of an existing script contained - within a tasks inventory - + + ORed with AGENT_CONTROL_UP_* if the keyboard is being used - - if true, set the script mode to running + + Fly - - The scripts InventoryItem ItemID to update + + - - A lowercase string containing either "mono" or "lsl2" which - specifies the script is compiled and ran on the mono runtime, or the older - lsl runtime + + Finish our current animation - - The tasks which contains the script to update + + Stand up from the ground or a prim seat - - - Serialize the object - - An containing the objects data + + Sit on the ground at our current location - - - Deserialize the message - - An containing the data + + Whether mouselook is currently enabled - - - A message containing either the request or response used in updating a script inside - a tasks inventory - + + Legacy, used if a key was pressed for less than a certain amount of time - - Object containing request or response + + Legacy, used if a key was pressed for less than a certain amount of time - - - Serialize the object - - An containing the objects data + + Legacy, used if a key was pressed for less than a certain amount of time - - - Deserialize the message - - An containing the data + + Legacy, used if a key was pressed for less than a certain amount of time - - - Response from the simulator to notify the viewer the upload is completed, and - the UUID of the script asset and its compiled status - + + Legacy, used if a key was pressed for less than a certain amount of time - - The uploaded texture asset ID + + Legacy, used if a key was pressed for less than a certain amount of time - - true of the script was compiled successfully + + - - - A message sent from a viewer to the simulator requesting a temporary uploader capability - used to update a script contained in an agents inventory - + + - - The existing asset if of the script in the agents inventory to replace + + Set when the avatar is idled or set to away. Note that the away animation is + activated separately from setting this flag - - The language of the script - Defaults to lsl version 2, "mono" might be another possible option + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A message containing either the request or response used in updating a script inside - an agents inventory - + + - - Object containing request or response + + + Agent movement and camera control + + Agent movement is controlled by setting specific + After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags + This is most easily accomplished by setting one or more of the AgentMovement properties + + Movement of an avatar is always based on a compass direction, for example AtPos will move the + agent from West to East or forward on the X Axis, AtNeg will of course move agent from + East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis + The Z axis is Up, finer grained control of movements can be done using the Nudge properties + - - - Serialize the object - - An containing the objects data + + Agent camera controls - - - Deserialize the message - - An containing the data + + Currently only used for hiding your group title - - - Serialize the object - - An containing the objects data + + Action state of the avatar, which can currently be + typing and editing - - - Deserialize the message - - An containing the data + + - - Base class for Map Layers via Capabilities + + - + - + + + + + + + + + + + + + + + + + + + + Timer for sending AgentUpdate packets + + + Default constructor + + - Serialize the object + Send an AgentUpdate with the camera set at the current agent + position and pointing towards the heading specified - An containing the objects data + Camera rotation in radians + Whether to send the AgentUpdate reliable + or not - + - Deserialize the message + Rotates the avatar body and camera toward a target position. + This will also anchor the camera position on the avatar - An containing the data + Region coordinates to turn toward - + - Sent by an agent to the capabilities server to request map layers + Rotates the avatar body and camera toward a target position. + This will also anchor the camera position on the avatar + Region coordinates to turn toward + whether to send update or not - + - A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates + Send new AgentUpdate packet to update our current camera + position and rotation - - An array containing LayerData items + + + Send new AgentUpdate packet to update our current camera + position and rotation + + Whether to require server acknowledgement + of this packet - + - Serialize the object + Send new AgentUpdate packet to update our current camera + position and rotation - An containing the objects data + Whether to require server acknowledgement + of this packet + Simulator to send the update to - + - Deserialize the message + Builds an AgentUpdate packet entirely from parameters. This + will not touch the state of Self.Movement or + Self.Movement.Camera in any way - An containing the data + + + + + + + + + + + - + - An object containing map location details + Sends update of Field of Vision vertical angle to the simulator + Angle in radians - - The Asset ID of the regions tile overlay + + Move agent positive along the X axis - - The grid location of the southern border of the map tile + + Move agent negative along the X axis - - The grid location of the western border of the map tile + + Move agent positive along the Y axis - - The grid location of the eastern border of the map tile + + Move agent negative along the Y axis - - The grid location of the northern border of the map tile + + Move agent positive along the Z axis - - Object containing request or response + + Move agent negative along the Z axis - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - New as of 1.23 RC1, no details yet. - + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - A string containing the method used + + Causes simulator to make agent fly - - - A request sent from an agent to the Simulator to begin a new conference. - Contains a list of Agents which will be included in the conference - + + Stop movement - - An array containing the of the agents invited to this conference + + Finish animation - - The conferences Session ID + + Stand up from a sit - - - Serialize the object - - An containing the objects data + + Tells simulator to sit agent on ground - - - Deserialize the message - - An containing the data + + Place agent into mouselook mode - - - A moderation request sent from a conference moderator - Contains an agent and an optional action to take - + + Nudge agent positive along the X axis - - The Session ID + + Nudge agent negative along the X axis - + + Nudge agent positive along the Y axis + + + Nudge agent negative along the Y axis + + + Nudge agent positive along the Z axis + + + Nudge agent negative along the Z axis + + - - A list containing Key/Value pairs, known valid values: - key: text value: true/false - allow/disallow specified agents ability to use text in session - key: voice value: true/false - allow/disallow specified agents ability to use voice in session - - "text" or "voice" + + - + + Tell simulator to mark agent as away + + - + + + + + + + + + + - Serialize the object + Returns "always run" value, or changes it by sending a SetAlwaysRunPacket - An containing the objects data - + + The current value of the agent control flags + + + Gets or sets the interval in milliseconds at which + AgentUpdate packets are sent to the current simulator. Setting + this to a non-zero value will also enable the packet sending if + it was previously off, and setting it to zero will disable + + + Gets or sets whether AgentUpdate packets are sent to + the current simulator + + + Reset movement controls every time we send an update + + - Deserialize the message + Camera controls for the agent, mostly a thin wrapper around + CoordinateFrame. This class is only responsible for state + tracking and math, it does not send any packets - An containing the data - + + + + + The camera is a local frame of reference inside of + the larger grid space. This is where the math happens + + - A message sent from the agent to the simulator which tells the - simulator we've accepted a conference invitation + Default constructor - - The conference SessionID + + - + + + + + + + + + + - Serialize the object + Called once attachment resource usage information has been collected - An containing the objects data + Indicates if operation was successfull + Attachment resource usage information - + - Deserialize the message + Contains all mesh faces that belong to a prim - An containing the data - + + List of primitive faces + + - Serialize the object + Decodes mesh asset into FacetedMesh - An containing the objects data + Mesh primitive + Asset retrieved from the asset server + Level of detail + Resulting decoded FacetedMesh + True if mesh asset decoding was successful - + - Deserialize the message + A set of textures that are layered on texture of each other and "baked" + in to a single texture, for avatar appearances - An containing the data - + + Final baked texture + + + Component layers + + + Width of the final baked image and scratchpad + + + Height of the final baked image and scratchpad + + + Bake type + + - Serialize the object + Default constructor - An containing the objects data + Bake type - + - Deserialize the message + Adds layer for baking - An containing the data + TexturaData struct that contains texture and its params - + - Serialize the object + Converts avatar texture index (face) to Bake type - An containing the objects data + Face number (AvatarTextureIndex) + BakeType, layer to which this texture belongs to - + - Deserialize the message + Make sure images exist, resize source if needed to match the destination - An containing the data + Destination image + Source image + Sanitization was succefull - - Key of sender + + + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if + the image is a pure solid color + + Color of the base of this layer - - Name of sender + + + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if + the image is a pure solid color + + Red value + Green value + Blue value - - Key of destination avatar + + Final baked texture - - ID of originating estate + + Component layers - - Key of originating region + + Width of the final baked image and scratchpad - - Coordinates in originating region + + Height of the final baked image and scratchpad - - Instant message type + + Bake type - - Group IM session toggle + + Is this one of the 3 skin bakes - - Key of IM session, for Group Messages, the groups UUID + + + Represents a Wearable Asset, Clothing, Hair, Skin, Etc + - - Timestamp of the instant message + + A string containing the name of the asset - - Instant message text + + A string containing a short description of the asset - - Whether this message is held for offline avatars + + The Assets WearableType - - Context specific packed data + + The For-Sale status of the object - - Is this invitation for voice group/conference chat + + An Integer representing the purchase price of the asset - - - Serialize the object - - An containing the objects data + + The of the assets creator - - - Deserialize the message - - An containing the data + + The of the assets current owner - - - Sent from the simulator to the viewer. - - When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including - a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate - this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" - - During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are - excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with - the string "ENTER" or "LEAVE" respectively. - + + The of the assets prior owner - - - Serialize the object - - An containing the objects data + + The of the Group this asset is set to - - - Deserialize the message - - An containing the data + + True if the asset is owned by a - - - An EventQueue message sent when the agent is forcibly removed from a chatterbox session - + + The Permissions mask of the asset - - - A string containing the reason the agent was removed - + + A Dictionary containing Key/Value pairs of the objects parameters - - - The ChatterBoxSession's SessionID - + + A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures - - - Serialize the object - - An containing the objects data + + Initializes a new instance of an AssetWearable object - - - Deserialize the message - - An containing the data + + Initializes a new instance of an AssetWearable object with parameters + A unique specific to this asset + A byte array containing the raw asset data - + - Serialize the object + Decode an assets byte encoded data to a string - An containing the objects data + true if the asset data was decoded successfully - + - Deserialize the message + Encode the assets string represantion into a format consumable by the asset server - An containing the data - - - Serialize the object - - An containing the objects data + + Information about agents display name - - - Deserialize the message - - An containing the data + + Agent UUID - - - Serialize the object - - An containing the objects data + + Username - - - Deserialize the message - - An containing the data + + Display name - - - Serialize the object - - An containing the objects data + + First name (legacy) - - - Deserialize the message - - An containing the data + + Last name (legacy) - - - - + + Is display name default display name - + + Cache display name until + + + Last updated timestamp + + - Serialize the object + Creates AgentDisplayName object from OSD - An containing the objects data + Incoming OSD data + AgentDisplayName object - + - Deserialize the message + Return object as OSD map - An containing the data + OSD containing agent's display name data - + + Full name (legacy) + + - Serialize the object + Holds group information for Avatars such as those you might find in a profile - An containing the objects data - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data + + true of Avatar accepts group notices - - - Deserialize the message - - An containing the data + + Groups Key - - - A message sent from the viewer to the simulator which - specifies that the user has changed current URL - of the specific media on a prim face - + + Texture Key for groups insignia - - - New URL - + + Name of the group - - - Prim UUID where navigation occured - + + Powers avatar has in the group - - - Face index - + + Avatars Currently selected title - - - Serialize the object - - An containing the objects data + + true of Avatar has chosen to list this in their profile - + - Deserialize the message + Contains an animation currently being played by an agent - An containing the data - - Base class used for the ObjectMedia message + + The ID of the animation asset - - - Message used to retrive prim media data - + + A number to indicate start order of currently playing animations + On Linden Grids this number is unique per region, with OpenSim it is per client - - - Prim UUID - + + - + - Requested operation, either GET or UPDATE + Holds group information on an individual profile pick - + - Serialize object + Retrieve friend status notifications, and retrieve avatar names and + profiles - Serialized object as OSDMap - - - Deserialize the message - - An containing the data + + The event subscribers, null of no subscribers - - - Message used to update prim media data - + + Raises the AvatarAnimation Event + An AvatarAnimationEventArgs object containing + the data sent from the simulator - - - Prim UUID - + + Thread sync lock object - - - Array of media entries indexed by face number - + + The event subscribers, null of no subscribers - - - Media version string - + + Raises the AvatarAppearance Event + A AvatarAppearanceEventArgs object containing + the data sent from the simulator - - - Serialize object - - Serialized object as OSDMap + + Thread sync lock object - - - Deserialize the message - - An containing the data + + The event subscribers, null of no subscribers - - - Message used to update prim media data - + + Raises the UUIDNameReply Event + A UUIDNameReplyEventArgs object containing + the data sent from the simulator - - - Prim UUID - + + Thread sync lock object - - - Array of media entries indexed by face number - + + The event subscribers, null of no subscribers - - - Requested operation, either GET or UPDATE - + + Raises the AvatarInterestsReply Event + A AvatarInterestsReplyEventArgs object containing + the data sent from the simulator - - - Serialize object - - Serialized object as OSDMap + + Thread sync lock object - - - Deserialize the message - - An containing the data + + The event subscribers, null of no subscribers - - - Message for setting or getting per face MediaEntry - + + Raises the AvatarPropertiesReply Event + A AvatarPropertiesReplyEventArgs object containing + the data sent from the simulator - - The request or response details block + + Thread sync lock object - - - Serialize the object - - An containing the objects data + + The event subscribers, null of no subscribers - - - Deserialize the message - - An containing the data + + Raises the AvatarGroupsReply Event + A AvatarGroupsReplyEventArgs object containing + the data sent from the simulator - - Details about object resource usage + + Thread sync lock object - - Object UUID + + The event subscribers, null of no subscribers - - Object name + + Raises the AvatarPickerReply Event + A AvatarPickerReplyEventArgs object containing + the data sent from the simulator - - Indicates if object is group owned + + Thread sync lock object - - Locatio of the object + + The event subscribers, null of no subscribers - - Object owner + + Raises the ViewerEffectPointAt Event + A ViewerEffectPointAtEventArgs object containing + the data sent from the simulator - - Resource usage, keys are resource names, values are resource usage for that specific resource + + Thread sync lock object - - - Deserializes object from OSD - - An containing the data + + The event subscribers, null of no subscribers - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data + + Raises the ViewerEffectLookAt Event + A ViewerEffectLookAtEventArgs object containing + the data sent from the simulator - - Details about parcel resource usage + + Thread sync lock object - - Parcel UUID - - - Parcel local ID - - - Parcel name - - - Indicates if parcel is group owned + + The event subscribers, null of no subscribers - - Parcel owner + + Raises the ViewerEffect Event + A ViewerEffectEventArgs object containing + the data sent from the simulator - - Array of containing per object resource usage + + Thread sync lock object - - - Deserializes object from OSD - - An containing the data + + The event subscribers, null of no subscribers - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data + + Raises the AvatarPicksReply Event + A AvatarPicksReplyEventArgs object containing + the data sent from the simulator - - Resource usage base class, both agent and parcel resource - usage contains summary information + + Thread sync lock object - - Summary of available resources, keys are resource names, - values are resource usage for that specific resource + + The event subscribers, null of no subscribers - - Summary resource usage, keys are resource names, - values are resource usage for that specific resource + + Raises the PickInfoReply Event + A PickInfoReplyEventArgs object containing + the data sent from the simulator - - - Serializes object - - serialized data + + Thread sync lock object - - - Deserializes object from OSD - - An containing the data + + The event subscribers, null of no subscribers - - Agent resource usage + + Raises the AvatarClassifiedReply Event + A AvatarClassifiedReplyEventArgs object containing + the data sent from the simulator - - Per attachment point object resource usage + + Thread sync lock object - - - Deserializes object from OSD - - An containing the data + + The event subscribers, null of no subscribers - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data + + Raises the ClassifiedInfoReply Event + A ClassifiedInfoReplyEventArgs object containing + the data sent from the simulator - - - Detects which class handles deserialization of this message - - An containing the data - Object capable of decoding this message + + Thread sync lock object - - Request message for parcel resource usage + + The event subscribers, null of no subscribers - - UUID of the parel to request resource usage info + + Raises the DisplayNameUpdate Event + A DisplayNameUpdateEventArgs object containing + the data sent from the simulator - - - Serializes object - - serialized data + + Thread sync lock object - + - Deserializes object from OSD + Represents other avatars - An containing the data - - - Response message for parcel resource usage - - - URL where parcel resource usage details can be retrieved + - - URL where parcel resource usage summary can be retrieved + + Tracks the specified avatar on your map + Avatar ID to track - + - Serializes object + Request a single avatar name - serialized data + The avatar key to retrieve a name for - + - Deserializes object from OSD + Request a list of avatar names - An containing the data + The avatar keys to retrieve names for - + - Detects which class handles deserialization of this message + Check if Display Names functionality is available - An containing the data - Object capable of decoding this message - - - Parcel resource usage - - - Array of containing per percal resource usage + True if Display name functionality is available - + - Deserializes object from OSD + Request retrieval of display names (max 90 names per request) - An containing the data + List of UUIDs to lookup + Callback to report result of the operation - + - Type of gesture step + Start a request for Avatar Properties + - + - Base class for gesture steps + Search for an avatar (first name, last name) + The name to search for + An ID to associate with this query - + - Retururns what kind of gesture step this is + Start a request for Avatar Picks + UUID of the avatar - + - Describes animation step of a gesture + Start a request for Avatar Classifieds + UUID of the avatar - + - If true, this step represents start of animation, otherwise animation stop + Start a request for details of a specific profile pick + UUID of the avatar + UUID of the profile pick - + - Animation asset + Start a request for details of a specific profile classified + UUID of the avatar + UUID of the profile classified - - - Animation inventory name - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Returns what kind of gesture step this is - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Describes sound step of a gesture - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Sound asset - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Sound inventory name - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Returns what kind of gesture step this is + EQ Message fired when someone nearby changes their display name + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - + - Describes sound step of a gesture + Crossed region handler for message that comes across the EventQueue. Sent to an agent + when the agent crosses a sim border into a new region. + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - - Text to output in chat - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Returns what kind of gesture step this is - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Describes sound step of a gesture - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - If true in this step we wait for all animations to finish - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - If true gesture player should wait for the specified amount of time - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Time in seconds to wait if WaitForAnimation is false - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Returns what kind of gesture step this is - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Describes the final step of a gesture - + + Raised when the simulator sends us data containing + an agents animation playlist - - - Returns what kind of gesture step this is - + + Raised when the simulator sends us data containing + the appearance information for an agent - - - Represents a sequence of animations, sounds, and chat actions - + + Raised when the simulator sends us data containing + agent names/id values - - - Base class for all Asset types - + + Raised when the simulator sends us data containing + the interests listed in an agents profile - - A byte array containing the raw asset data + + Raised when the simulator sends us data containing + profile property information for an agent - - True if the asset it only stored on the server temporarily + + Raised when the simulator sends us data containing + the group membership an agent is a member of - - A unique ID + + Raised when the simulator sends us data containing + name/id pair - - - Construct a new Asset object - + + Raised when the simulator sends us data containing + the objects and effect when an agent is pointing at - - - Construct a new Asset object - - A unique specific to this asset - A byte array containing the raw asset data + + Raised when the simulator sends us data containing + the objects and effect when an agent is looking at - - - Regenerates the AssetData byte array from the properties - of the derived class. - + + Raised when the simulator sends us data containing + an agents viewer effect information - - - Decodes the AssetData, placing it in appropriate properties of the derived - class. - - True if the asset decoding succeeded, otherwise false + + Raised when the simulator sends us data containing + the top picks from an agents profile - - The assets unique ID + + Raised when the simulator sends us data containing + the Pick details - - - The "type" of asset, Notecard, Animation, etc - + + Raised when the simulator sends us data containing + the classified ads an agent has placed - - - Keyboard key that triggers the gestyre - + + Raised when the simulator sends us data containing + the details of a classified ad - - - Modifier to the trigger key - + + Raised when the simulator sends us data containing + the details of display name change - + - String that triggers playing of the gesture sequence + Callback giving results when fetching display names + If the request was successful + Array of display names + Array of UUIDs that could not be fetched - - - Text that replaces trigger in chat once gesture is triggered - + + Provides data for the event + The event occurs when the simulator sends + the animation playlist for an agent + + The following code example uses the and + properties to display the animation playlist of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; + + private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) + { + // create a dictionary of "known" animations from the Animations class using System.Reflection + Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); + Type type = typeof(Animations); + System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); + foreach (System.Reflection.FieldInfo field in fields) + { + systemAnimations.Add((UUID)field.GetValue(type), field.Name); + } + + // find out which animations being played are known animations and which are assets + foreach (Animation animation in e.Animations) + { + if (systemAnimations.ContainsKey(animation.AnimationID)) + { + Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, + systemAnimations[animation.AnimationID], animation.AnimationSequence); + } + else + { + Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, + animation.AnimationID, animation.AnimationSequence); + } + } + } + + - + - Sequence of gesture steps + Construct a new instance of the AvatarAnimationEventArgs class + The ID of the agent + The list of animations to start - - - Constructs guesture asset - + + Get the ID of the agent - - - Constructs guesture asset - - A unique specific to this asset - A byte array containing the raw asset data + + Get the list of animations to start - - - Encodes gesture asset suitable for uplaod - + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + + - + - Decodes gesture assset into play sequence + Construct a new instance of the AvatarAppearanceEventArgs class - true if the asset data was decoded successfully + The simulator request was from + The ID of the agent + true of the agent is a trial account + The default agent texture + The agents appearance layer textures + The for the agent - - - Returns asset type - + + Get the Simulator this request is from of the agent - - - Archives assets - + + Get the ID of the agent - - - Archive assets - + + true if the agent is a trial account - + + Get the default agent texture + + + Get the agents appearance layer textures + + + Get the for the agent + + + Version of the appearance system used. + Value greater than 0 indicates that server side baking is used + + + Version of the Current Outfit Folder the appearance is based on + + + Appearance flags, introduced with server side baking, currently unused + + + Represents the interests from the profile of an agent + + + Get the ID of the agent + + + The properties of an agent + + + Get the ID of the agent + + + Get the ID of the agent + + + Get the ID of the agent + + + Get the ID of the avatar + + - Archive the assets given to this archiver to the given archive. + Event args class for display name notification messages - - + - Write an assets metadata file to the given archive + Index of TextureEntry slots for avatar appearances - - + - Write asset data files to the given archive + Bake layers for avatar appearance - - + - Constants for the archiving module + Appearance Flags, introdued with server side baking, currently unused - + + Maximum number of concurrent downloads for wearable assets and textures + + + Maximum number of concurrent uploads for baked textures + + + Timeout for fetching inventory listings + + + Timeout for fetching a single wearable, or receiving a single packet response + + + Timeout for fetching a single texture + + + Timeout for uploading a single baked texture + + + Number of times to retry bake upload + + + When changing outfit, kick off rebake after + 20 seconds has passed since the last change + + + Total number of wearables for each avatar + + + Total number of baked textures on each avatar + + + Total number of wearables per bake layer + + + Mask for multiple attachments + + + Mapping between BakeType and AvatarTextureIndex + + + Map of what wearables are included in each bake + + + Magic values to finalize the cache check hashes for each + bake + + + Default avatar texture, used to detect when a custom + texture is not set for a face + + + The event subscribers. null if no subcribers + + + Raises the AgentWearablesReply event + An AgentWearablesReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the CachedBakesReply event + An AgentCachedBakesReplyEventArgs object containing the + data returned from the data server AgentCachedTextureResponse + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the AppearanceSet event + An AppearanceSetEventArgs object indicating if the operatin was successfull + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the RebakeAvatarRequested event + An RebakeAvatarTexturesEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Visual parameters last sent to the sim + + + Textures about this client sent to the sim + + + A cache of wearables currently being worn + + + A cache of textures currently being worn + + + Incrementing serial number for AgentCachedTexture packets + + + Incrementing serial number for AgentSetAppearance packets + + + Indicates if WearablesRequest succeeded + + + Indicates whether or not the appearance thread is currently + running, to prevent multiple appearance threads from running + simultaneously + + + Reference to our agent + + - The location of the archive control file + Timer used for delaying rebake on changing outfit - + - Path for the assets held in an archive + Main appearance thread - + - Path for the prims file + Is server baking complete. It needs doing only once - + - Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. + Default constructor + A reference to our agent - + - Path for region settings. + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread - + - The character the separates the uuid from extension information in an archived asset filename + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread + Unused parameter - + - Extensions used for asset types in the archive + Starts the appearance setting thread - + - Capabilities is the name of the bi-directional HTTP REST protocol - used to communicate non real-time transactions such as teleporting or - group messaging + Starts the appearance setting thread + True to force rebaking, otherwise false - - Reference to the simulator this system is connected to - - + - Default constructor + Check if current region supports server side baking - - + True if server side baking support is detected - + - Request the URI of a named capability + Ask the server what textures our agent is currently wearing - Name of the capability to request - The URI of the requested capability, or String.Empty if - the capability does not exist - + - Process any incoming events, check to see if we have a message created for the event, + Build hashes out of the texture assetIDs for each baking layer to + ask the simulator whether it has cached copies of each baked texture - - - - - Capabilities URI this system was initialized with - - - Whether the capabilities event queue is connected and - listening for incoming events - + - Triggered when an event is received via the EventQueueGet - capability + Returns the AssetID of the asset that is currently being worn in a + given WearableType slot - Event name - Decoded event data - The simulator that generated the event + WearableType slot to get the AssetID for + The UUID of the asset being worn in the given slot, or + UUID.Zero if no wearable is attached to the given slot or wearables + have not been downloaded yet - + - Throttles the network traffic for various different traffic types. - Access this class through GridClient.Throttle + Add a wearable to the current outfit and set appearance + Wearable to be added to the outfit - + - Default constructor, uses a default high total of 1500 KBps (1536000) + Add a wearable to the current outfit and set appearance + Wearable to be added to the outfit + Should existing item on the same point or of the same type be replaced - + - Constructor that decodes an existing AgentThrottle packet in to - individual values + Add a list of wearables to the current outfit and set appearance - Reference to the throttle data in an AgentThrottle - packet - Offset position to start reading at in the - throttle data - This is generally not needed in clients as the server will - never send a throttle packet to the client + List of wearable inventory items to + be added to the outfit + Should existing item on the same point or of the same type be replaced - + - Send an AgentThrottle packet to the current server using the - current values + Add a list of wearables to the current outfit and set appearance + List of wearable inventory items to + be added to the outfit + Should existing item on the same point or of the same type be replaced - + - Send an AgentThrottle packet to the specified server using the - current values + Remove a wearable from the current outfit and set appearance + Wearable to be removed from the outfit - + - Convert the current throttle values to a byte array that can be put - in an AgentThrottle packet + Removes a list of wearables from the current outfit and set appearance - Byte array containing all the throttle values - - - Maximum bits per second for resending unacknowledged packets - - - Maximum bits per second for LayerData terrain + List of wearable inventory items to + be removed from the outfit - - Maximum bits per second for LayerData wind data + + + Replace the current outfit with a list of wearables and set appearance + + List of wearable inventory items that + define a new outfit - - Maximum bits per second for LayerData clouds + + + Replace the current outfit with a list of wearables and set appearance + + List of wearable inventory items that + define a new outfit + Check if we have all body parts, set this to false only + if you know what you're doing - - Unknown, includes object data + + + Checks if an inventory item is currently being worn + + The inventory item to check against the agent + wearables + The WearableType slot that the item is being worn in, + or WearbleType.Invalid if it is not currently being worn - - Maximum bits per second for textures + + + Returns a copy of the agents currently worn wearables + + A copy of the agents currently worn wearables + Avoid calling this function multiple times as it will make + a copy of all of the wearable data each time - - Maximum bits per second for downloaded assets + + + Calls either or + depending on the value of + replaceItems + + List of wearable inventory items to add + to the outfit or become a new outfit + True to replace existing items with the + new list of items, false to add these items to the existing outfit - - Maximum bits per second the entire connection, divided up - between invidiual streams using default multipliers + + + Adds a list of attachments to our agent + + A List containing the attachments to add + If true, tells simulator to remove existing attachment + first - + - Particle system specific enumerators, flags and methods. + Adds a list of attachments to our agent + A List containing the attachments to add + If true, tells simulator to remove existing attachment + If true replace existing attachment on this attachment point, otherwise add to it (multi-attachments) + first - - + + + Attach an item to our agent at a specific attach point + + A to attach + the on the avatar + to attach the item to - - + + + Attach an item to our agent at a specific attach point + + A to attach + the on the avatar + If true replace existing attachment on this attachment point, otherwise add to it (multi-attachments) + to attach the item to - - + + + Attach an item to our agent specifying attachment details + + The of the item to attach + The attachments owner + The name of the attachment + The description of the attahment + The to apply when attached + The of the attachment + The on the agent + to attach the item to - - + + + Attach an item to our agent specifying attachment details + + The of the item to attach + The attachments owner + The name of the attachment + The description of the attahment + The to apply when attached + The of the attachment + The on the agent + If true replace existing attachment on this attachment point, otherwise add to it (multi-attachments) + to attach the item to - - + + + Detach an item from our agent using an object + + An object - - + + + Detach an item from our agent + + The inventory itemID of the item to detach - - Foliage type for this primitive. Only applicable if this - primitive is foliage + + + Inform the sim which wearables are part of our current outfit + - - Unknown + + + Replaces the Wearables collection with a list of new wearable items + + Wearable items to replace the Wearables collection with - - + + + Calculates base color/tint for a specific wearable + based on its params + + All the color info gathered from wearable's VisualParams + passed as list of ColorParamInfo tuples + Base color/tint for the wearable - - + + + Blocking method to populate the Wearables dictionary + + True on success, otherwise false - - + + + Blocking method to populate the Textures array with cached bakes + + True on success, otherwise false - - + + + Populates textures and visual params from a decoded asset + + Wearable to decode - - + + + Blocking method to download and parse currently worn wearable assets + + True on success, otherwise false - - + + + Get a list of all of the textures that need to be downloaded for a + single bake layer + + Bake layer to get texture AssetIDs for + A list of texture AssetIDs to download - - + + + Helper method to lookup the TextureID for a single layer and add it + to a list if it is not already present + + + - - + + + Blocking method to download all of the textures needed for baking + the given bake layers + + A list of layers that need baking + No return value is given because the baking will happen + whether or not all textures are successfully downloaded - - + + + Blocking method to create and upload baked textures for all of the + missing bakes + + True on success, otherwise false - - + + + Blocking method to create and upload a baked texture for a single + bake layer + + Layer to bake + True on success, otherwise false - - - - - - - - Identifies the owner if audio or a particle system is - active - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + Blocking method to upload a baked texture + + Five channel JPEG2000 texture data to upload + UUID of the newly created asset on success, otherwise UUID.Zero - - + + + Creates a dictionary of visual param values from the downloaded wearables + + A dictionary of visual param indices mapping to visual param + values for our agent that can be fed to the Baker class - + - Default constructor + Initate server baking process + True if the server baking was successful - + - Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters in to signed eight bit values + Get the latest version of COF - Floating point parameter to pack - Signed eight bit value containing the packed parameter + Current Outfit Folder (or null if getting the data failed) - + - Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters from signed eight bit integers to floating point values + Create an AgentSetAppearance packet from Wearables data and the + Textures array and send it - Signed eight bit value to unpack - Unpacked floating point value - - + + + Converts a WearableType to a bodypart or clothing WearableType + + A WearableType + AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown - + - Current version of the media data for the prim + Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex + A BakeType + The AvatarTextureIndex slot that holds the given BakeType - + - Array of media entries indexed by face number + Gives the layer number that is used for morph mask + >A BakeType + Which layer number as defined in BakeTypeToTextures is used for morph mask - - + + + Converts a BakeType to a list of the texture slots that make up that bake + + A BakeType + A list of texture slots that are inputs for the given bake - - + + Triggered when an AgentWearablesUpdate packet is received, + telling us what our avatar is currently wearing + request. - - Uses basic heuristics to estimate the primitive shape + + Raised when an AgentCachedTextureResponse packet is + received, giving a list of cached bakes that were found on the + simulator + request. - + - Parameters used to construct a visual representation of a primitive + Raised when appearance data is sent to the simulator, also indicates + the main appearance thread is finished. + request. - - + + + Triggered when the simulator requests the agent rebake its appearance. + + - - + + + Returns true if AppearanceManager is busy and trying to set or change appearance will fail + - - + + + Contains information about a wearable inventory item + - - + + Inventory ItemID of the wearable - - + + AssetID of the wearable asset - - + + WearableType of the wearable - - + + AssetType of the wearable - - + + Asset data for the wearable - - + + + Data collected from visual params for each wearable + needed for the calculation of the color + - - + + + Holds a texture assetID and the data needed to bake this layer into + an outfit texture. Used to keep track of currently worn textures + and baking data + - - + + A texture AssetID - - + + Asset data for the texture - - + + Collection of alpha masks that needs applying - - + + Tint that should be applied to the texture - - + + Where on avatar does this texture belong - - + + Contains the Event data returned from the data server from an AgentWearablesRequest - - + + Construct a new instance of the AgentWearablesReplyEventArgs class - - + + Contains the Event data returned from the data server from an AgentCachedTextureResponse - - + + Construct a new instance of the AgentCachedBakesReplyEventArgs class - - + + Contains the Event data returned from an AppearanceSetRequest - - + + + Triggered when appearance data is sent to the sim and + the main appearance thread is done. + Indicates whether appearance setting was successful - - Attachment point to an avatar + + Indicates whether appearance setting was successful - - + + Contains the Event data returned from the data server from an RebakeAvatarTextures - - + + + Triggered when the simulator sends a request for this agent to rebake + its appearance + + The ID of the Texture Layer to bake - - + + The ID of the Texture Layer to bake - - + + + Image width + - + - Information on the flexible properties of a primitive + Image height - - + + + Image channel flags + - - + + + Red channel data + - - + + + Green channel data + - - + + + Blue channel data + - - + + + Alpha channel data + - - + + + Bump channel data + - + - Default constructor + Create a new blank image + width + height + channel flags - + - - + - + - + Convert the channels in the image. Channels are created or destroyed as required. - + new channel flags - + - + Resize or stretch the image using nearest neighbor (ugly) resampling - + new width + new height - + - Information on the light properties of a primitive + Create a byte array containing 32-bit RGBA data with a bottom-left + origin, suitable for feeding directly into OpenGL + A byte array containing raw texture data - - + + + Represents an Animation + - - + + Default Constructor - + + + Construct an Asset object of type Animation + + Asset type + A unique specific to this asset + A byte array containing the raw asset data + + + Override the base classes AssetType + + + + + + + - + - + - + - Default constructor + Thrown when a packet could not be successfully deserialized - + - + Default constructor - - - + - + Constructor that takes an additional error message - + An error message to attach to this exception - + - + The header of a message template packet. Holds packet flags, sequence + number, packet ID, and any ACKs that will be appended at the end of + the packet - - + - Information on the sculpt properties of a sculpted primitive + Convert the AckList to a byte array, used for packet serializing + Reference to the target byte array + Beginning position to start writing to in the byte + array, will be updated with the ending position of the ACK list - + - Default constructor + + + + + - + - - + + + - + - Render inside out (inverts the normals). + A block of data in a packet. Packets are composed of one or more blocks, + each block containing one or more fields - + - Render an X axis mirror of the sculpty. + Create a block from a byte array + Byte array containing the serialized block + Starting position of the block in the byte array. + This will point to the data after the end of the block when the + call returns - + - Extended properties to describe an object + Serialize this block into a byte array + Byte array to serialize this block into + Starting position in the byte array to serialize to. + This will point to the position directly after the end of the + serialized block when the call returns - - + + Current length of the data in this packet - - + + A generic value, not an actual packet type - - + + + Attempts to convert an LLSD structure to a known Packet type + + Event name, this must match an actual + packet name for a Packet to be successfully built + LLSD to convert to a Packet + A Packet on success, otherwise null - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - Default constructor - + + - - - Set the properties that are set in an ObjectPropertiesFamily packet - - that has - been partially filled by an ObjectPropertiesFamily packet + + - - - Complete structure for the particle system - + + - - Particle Flags - There appears to be more data packed in to this area - for many particle systems. It doesn't appear to be flag values - and serialization breaks unless there is a flag for every - possible bit so it is left as an unsigned integer + + - - pattern of particles + + - - A representing the maximimum age (in seconds) particle will be displayed - Maximum value is 30 seconds + + - - A representing the number of seconds, - from when the particle source comes into view, - or the particle system's creation, that the object will emits particles; - after this time period no more particles are emitted + + - - A in radians that specifies where particles will not be created + + - - A in radians that specifies where particles will be created + + - - A representing the number of seconds between burts. + + - - A representing the number of meters - around the center of the source where particles will be created. + + - - A representing in seconds, the minimum speed between bursts of new particles - being emitted + + - - A representing in seconds the maximum speed of new particles being emitted. + + - - A representing the maximum number of particles emitted per burst + + - - A which represents the velocity (speed) from the source which particles are emitted + + - - A which represents the Acceleration from the source which particles are emitted + + - - The Key of the texture displayed on the particle + + - - The Key of the specified target object or avatar particles will follow + + - - Flags of particle from + + - - Max Age particle system will emit particles for + + - - The the particle has at the beginning of its lifecycle + + - - The the particle has at the ending of its lifecycle + + - - A that represents the starting X size of the particle - Minimum value is 0, maximum value is 4 + + - - A that represents the starting Y size of the particle - Minimum value is 0, maximum value is 4 + + - - A that represents the ending X size of the particle - Minimum value is 0, maximum value is 4 + + - - A that represents the ending Y size of the particle - Minimum value is 0, maximum value is 4 + + - - - Decodes a byte[] array into a ParticleSystem Object - - ParticleSystem object - Start position for BitPacker + + - - - Generate byte[] array from particle data - - Byte array + + - - - Particle source pattern - + + - - None + + - - Drop particles from source position with no force + + - - "Explode" particles in all directions + + - - Particles shoot across a 2D area + + - - Particles shoot across a 3D Cone + + - - Inverse of AngleCone (shoot particles everywhere except the 3D cone defined + + - - - Particle Data Flags - + + - - None + + - - Interpolate color and alpha from start to end + + - - Interpolate scale from start to end + + - - Bounce particles off particle sources Z height + + - - velocity of particles is dampened toward the simulators wind + + - - Particles follow the source + + - - Particles point towards the direction of source's velocity + + - - Target of the particles + + - - Particles are sent in a straight line + + - - Particles emit a glow + + - - used for point/grab/touch + + - - - Particle Flags Enum - + + - - None + + - - Acceleration and velocity for particles are - relative to the object rotation + + - - Particles use new 'correct' angle parameters + + - - - Texture animation mode - + + - - Disable texture animation + + - - Enable texture animation + + - - Loop when animating textures + + - - Animate in reverse direction + + - - Animate forward then reverse + + - - Slide texture smoothly instead of frame-stepping + + - - Rotate texture instead of using frames + + - - Scale texture instead of using frames + + - - - A single textured face. Don't instantiate this class yourself, use the - methods in TextureEntry - + + - - - Contains the definition for individual faces - - + + - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - In the future this will specify whether a webpage is - attached to this face + + - - + + - - - Represents all of the texturable faces for an object - - Grid objects have infinite faces, with each face - using the properties of the default face unless set otherwise. So if - you have a TextureEntry with a default texture uuid of X, and face 18 - has a texture UUID of Y, every face would be textured with X except for - face 18 that uses Y. In practice however, primitives utilize a maximum - of nine faces + + - - + + - - + + - - - Constructor that takes a default texture UUID - - Texture UUID to use as the default texture + + - - - Constructor that takes a TextureEntryFace for the - default face - - Face to use as the default face + + - - - Constructor that creates the TextureEntry class from a byte array - - Byte array containing the TextureEntry field - Starting position of the TextureEntry field in - the byte array - Length of the TextureEntry field, in bytes + + - - - This will either create a new face if a custom face for the given - index is not defined, or return the custom face for that index if - it already exists - - The index number of the face to create or - retrieve - A TextureEntryFace containing all the properties for that - face + + - - - - - - + + - - - - - + + - - - - - + + - - - - - + + - - - Controls the texture animation of a particular prim - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - + + - - - - - + + - - - A Wrapper around openjpeg to encode and decode images to and from byte arrays - + + - - TGA Header size + + - - OpenJPEG is not threadsafe, so this object is used to lock - during calls into unmanaged code + + - - - Encode a object into a byte array - - The object to encode - true to enable lossless conversion, only useful for small images ie: sculptmaps - A byte array containing the encoded Image object + + - - - Encode a object into a byte array - - The object to encode - a byte array of the encoded image + + - - - Decode JPEG2000 data to an and - - - JPEG2000 encoded data - ManagedImage object to decode to - Image object to decode to - True if the decode succeeds, otherwise false - - - - - - - - + + - - - - - - - - + + - - - Encode a object into a byte array - - The source object to encode - true to enable lossless decoding - A byte array containing the source Bitmap object + + - - - Defines the beginning and ending file positions of a layer in an - LRCP-progression JPEG2000 file - + + - - - This structure is used to marshal both encoded and decoded images. - MUST MATCH THE STRUCT IN dotnet.h! - + + - - - Information about a single packet in a JPEG2000 stream - + + - - Packet start position + + - - Packet header end position + + - - Packet end position + + - - - Represents an that represents an avatars body ie: Hair, Etc. - + + - - - Represents a Wearable Asset, Clothing, Hair, Skin, Etc - + + - - A string containing the name of the asset + + - - A string containing a short description of the asset + + - - The Assets WearableType + + - - The For-Sale status of the object + + - - An Integer representing the purchase price of the asset + + - - The of the assets creator + + - - The of the assets current owner + + - - The of the assets prior owner + + - - The of the Group this asset is set to + + - - True if the asset is owned by a + + - - The Permissions mask of the asset + + - - A Dictionary containing Key/Value pairs of the objects parameters + + - - A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures + + - - Initializes a new instance of an AssetWearable object + + - - Initializes a new instance of an AssetWearable object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + - - - Decode an assets byte encoded data to a string - - true if the asset data was decoded successfully + + - - - Encode the assets string represantion into a format consumable by the asset server - + + - - Initializes a new instance of an AssetBodyPart object + + - - Initializes a new instance of an AssetBodyPart object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + - - Override the base classes AssetType + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - - - - - + + - - - - + + - - + + - - + + - - + + - - + + - - - - - - + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - - + + - - - - + + - - - - - - + + - - - - - - + + - - - - - + + - - - Permission request flags, asked when a script wants to control an Avatar - + + - - Placeholder for empty values, shouldn't ever see this + + - - Script wants ability to take money from you + + - - Script wants to take camera controls for you + + - - Script wants to remap avatars controls + + - - Script wants to trigger avatar animations - This function is not implemented on the grid + + - - Script wants to attach or detach the prim or primset to your avatar + + - - Script wants permission to release ownership - This function is not implemented on the grid - The concept of "public" objects does not exist anymore. + + - - Script wants ability to link/delink with other prims + + - - Script wants permission to change joints - This function is not implemented on the grid + + - - Script wants permissions to change permissions - This function is not implemented on the grid + + - - Script wants to track avatars camera position and rotation + + - - Script wants to control your camera + + - - - Special commands used in Instant Messages - + + - - Indicates a regular IM from another agent + + - - Simple notification box with an OK button + + - - You've been invited to join a group. - - - Inventory offer + + - - Accepted inventory offer + + - - Declined inventory offer + + - - Group vote + + - - An object is offering its inventory + + - - Accept an inventory offer from an object + + - - Decline an inventory offer from an object + + - - Unknown + + - - Start a session, or add users to a session + + - - Start a session, but don't prune offline users + + - - Start a session with your group + + - - Start a session without a calling card (finder or objects) + + - - Send a message to a session + + - - Leave a session + + - - Indicates that the IM is from an object + + - - Sent an IM to a busy user, this is the auto response + + - - Shows the message in the console and chat history + + - - Send a teleport lure + + - - Response sent to the agent which inititiated a teleport invitation + + - - Response sent to the agent which inititiated a teleport invitation + + - - Only useful if you have Linden permissions + + - - A placeholder type for future expansion, currently not - used + + - - IM to tell the user to go to an URL + + - - IM for help + + - - IM sent automatically on call for help, sends a lure - to each Helper reached + + - - Like an IM but won't go to email + + - - IM from a group officer to all group members + + - - Unknown + + - - Unknown + + - - Accept a group invitation + + - - Decline a group invitation + + - - Unknown + + - - An avatar is offering you friendship + + - - An avatar has accepted your friendship offer + + - - An avatar has declined your friendship offer + + - - Indicates that a user has started typing + + - - Indicates that a user has stopped typing + + - - - Flag in Instant Messages, whether the IM should be delivered to - offline avatars as well - + + - - Only deliver to online avatars + + - - If the avatar is offline the message will be held until - they login next, and possibly forwarded to their e-mail account + + - - - Conversion type to denote Chat Packet types in an easier-to-understand format - + + - - Whisper (5m radius) + + - - Normal chat (10/20m radius), what the official viewer typically sends + + - - Shouting! (100m radius) + + - - Event message when an Avatar has begun to type + + - - Event message when an Avatar has stopped typing + + - - Send the message to the debug channel + + - - Event message when an object uses llOwnerSay + + - - Special value to support llRegionSay, never sent to the client + + - - - Identifies the source of a chat message - + + - - Chat from the grid or simulator + + - - Chat from another avatar + + - - Chat from an object + + - - - - + + - - + + - - + + - - + + - - - Effect type used in ViewerEffect packets - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - Project a beam from a source to a destination, such as - the one used when editing an object + + - - + + - - + + - - + + - - Create a swirl of particles around an object + + - - + + - - + + - - Cause an avatar to look at an object + + - - Cause an avatar to point at an object + + - - - The action an avatar is doing when looking at something, used in - ViewerEffect packets for the LookAt effect - + + - - + + - - + + - - + + - - + + - - + + - - + + - - Deprecated + + - - + + - - + + - - + + - - + + - - - The action an avatar is doing when pointing at something, used in - ViewerEffect packets for the PointAt effect - + + - - + + - - + + - - + + - - + + - - - Money transaction types - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - Flags sent when a script takes or releases a control - - NOTE: (need to verify) These might be a subset of the ControlFlags enum in Movement, + + - - No Flags set + + - - Forward (W or up Arrow) + + - - Back (S or down arrow) + + - - Move left (shift+A or left arrow) + + - - Move right (shift+D or right arrow) + + - - Up (E or PgUp) + + - - Down (C or PgDown) + + - - Rotate left (A or left arrow) + + - - Rotate right (D or right arrow) + + - - Left Mouse Button + + - - Left Mouse button in MouseLook + + - - - Currently only used to hide your group title - + + - - No flags set + + - - Hide your group title + + - - - Action state of the avatar, which can currently be typing and - editing - + + - - + + - - + + - - + + - - - Current teleport status - + + - - Unknown status + + - - Teleport initialized + + - - Teleport in progress + + - - Teleport failed + + - - Teleport completed + + - - Teleport cancelled + + - - - - + + - - No flags set, or teleport failed + + - - Set when newbie leaves help island for first time + + - - + + - - Via Lure + + - - Via Landmark + + - - Via Location + + - - Via Home + + - - Via Telehub + + - - Via Login + + - - Linden Summoned + + - - Linden Forced me + + - - + + - - Agent Teleported Home via Script + + - - + + - - + + - - + + - - forced to new location for example when avatar is banned or ejected + + - - Teleport Finished via a Lure + + - - Finished, Sim Changed + + - - Finished, Same Sim + + - - - - + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - - Instant Message - + + - - Key of sender + + - - Name of sender + + - - Key of destination avatar + + - - ID of originating estate + + - - Key of originating region + + - - Coordinates in originating region + + - - Instant message type + + - - Group IM session toggle + + - - Key of IM session, for Group Messages, the groups UUID + + - - Timestamp of the instant message + + - - Instant message text + + - - Whether this message is held for offline avatars + + - - Context specific packed data + + - - Print the struct data as a string - A string containing the field name, and field value + + - - - Manager class for our own avatar - + + - - The event subscribers. null if no subcribers + + - - Raises the ChatFromSimulator event - A ChatEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the ScriptDialog event - A SctriptDialogEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the ScriptQuestion event - A ScriptQuestionEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the LoadURL event - A LoadUrlEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the MoneyBalance event - A BalanceEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers - - - Raises the MoneyBalanceReply event - A MoneyBalanceReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the IM event - A InstantMessageEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the TeleportProgress event - A TeleportEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the AgentDataReply event - A AgentDataReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the AnimationsChanged event - A AnimationsChangedEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the MeanCollision event - A MeanCollisionEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the RegionCrossed event - A RegionCrossedEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupChatJoined event - A GroupChatJoinedEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the AlertMessage event - A AlertMessageEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the ScriptControlChange event - A ScriptControlEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the CameraConstraint event - A CameraConstraintEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the ScriptSensorReply event - A ScriptSensorReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the AvatarSitResponse event - A AvatarSitResponseEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the ChatSessionMemberAdded event - A ChatSessionMemberAddedEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the ChatSessionMemberLeft event - A ChatSessionMemberLeftEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - Reference to the GridClient instance + + - - Used for movement and camera tracking + + - - Currently playing animations for the agent. Can be used to - check the current movement status such as walking, hovering, aiming, - etc. by checking against system animations found in the Animations class + + - - Dictionary containing current Group Chat sessions and members + + - - - Constructor, setup callbacks for packets related to our avatar - - A reference to the Class + + - - - Send a text message from the Agent to the Simulator - - A containing the message - The channel to send the message on, 0 is the public channel. Channels above 0 - can be used however only scripts listening on the specified channel will see the message - Denotes the type of message being sent, shout, whisper, etc. + + - - - Request any instant messages sent while the client was offline to be resent. - + + - - - Send an Instant Message to another Avatar - - The recipients - A containing the message to send + + - - - Send an Instant Message to an existing group chat or conference chat - - The recipients - A containing the message to send - IM session ID (to differentiate between IM windows) + + - - - Send an Instant Message - - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - IDs of sessions for a conference + + - - - Send an Instant Message - - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - Type of instant message to send - Whether to IM offline avatars as well - Senders Position - RegionID Sender is In - Packed binary data that is specific to - the dialog type + + - - - Send an Instant Message to a group - - of the group to send message to - Text Message being sent. + + - - - Send an Instant Message to a group the agent is a member of - - The name this IM will show up as being from - of the group to send message to - Text message being sent + + - - - Send a request to join a group chat session - - of Group to leave + + - - - Exit a group chat session. This will stop further Group chat messages - from being sent until session is rejoined. - - of Group chat session to leave + + - - - Reply to script dialog questions. - - Channel initial request came on - Index of button you're "clicking" - Label of button you're "clicking" - of Object that sent the dialog request - + + - - - Accept invite for to a chatterbox session - - of session to accept invite to + + - - - Start a friends conference - - List of UUIDs to start a conference with - the temportary session ID returned in the callback> + + - - - Start a particle stream between an agent and an object - - Key of the source agent - Key of the target object - - The type from the enum - A unique for this effect + + - - - Start a particle stream between an agent and an object - - Key of the source agent - Key of the target object - A representing the beams offset from the source - A which sets the avatars lookat animation - of the Effect + + - - - Create a particle beam between an avatar and an primitive - - The ID of source avatar - The ID of the target primitive - global offset - A object containing the combined red, green, blue and alpha - color values of particle beam - a float representing the duration the parcicle beam will last - A Unique ID for the beam - + + - - - Create a particle swirl around a target position using a packet - - global offset - A object containing the combined red, green, blue and alpha - color values of particle beam - a float representing the duration the parcicle beam will last - A Unique ID for the beam + + - - - Sends a request to sit on the specified object - - of the object to sit on - Sit at offset + + - - - Follows a call to to actually sit on the object - + + - - Stands up from sitting on a prim or the ground - true of AgentUpdate was sent + + - - - Does a "ground sit" at the avatar's current position - + + - - - Starts or stops flying - - True to start flying, false to stop flying + + - - - Starts or stops crouching - - True to start crouching, false to stop crouching + + - - - Starts a jump (begin holding the jump key) - + + - - - Use the autopilot sim function to move the avatar to a new - position. Uses double precision to get precise movements - - The z value is currently not handled properly by the simulator - Global X coordinate to move to - Global Y coordinate to move to - Z coordinate to move to + + - - - Use the autopilot sim function to move the avatar to a new position - - The z value is currently not handled properly by the simulator - Integer value for the global X coordinate to move to - Integer value for the global Y coordinate to move to - Floating-point value for the Z coordinate to move to + + - - - Use the autopilot sim function to move the avatar to a new position - - The z value is currently not handled properly by the simulator - Integer value for the local X coordinate to move to - Integer value for the local Y coordinate to move to - Floating-point value for the Z coordinate to move to + + - - Macro to cancel autopilot sim function - Not certain if this is how it is really done - true if control flags were set and AgentUpdate was sent to the simulator + + - - - Grabs an object - - an unsigned integer of the objects ID within the simulator - + + - - - Overload: Grab a simulated object - - an unsigned integer of the objects ID within the simulator - - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space + + - - - Drag an object - - of the object to drag - Drag target in region coordinates + + - - - Overload: Drag an object - - of the object to drag - Drag target in region coordinates - - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space + + - - - Release a grabbed object - - The Objects Simulator Local ID - - - + + - - - Release a grabbed object - - The Objects Simulator Local ID - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space + + - - - Touches an object - - an unsigned integer of the objects ID within the simulator - + + - - - Request the current L$ balance - + + - - - Give Money to destination Avatar - - UUID of the Target Avatar - Amount in L$ + + - - - Give Money to destination Avatar - - UUID of the Target Avatar - Amount in L$ - Description that will show up in the - recipients transaction history + + - - - Give L$ to an object - - object to give money to - amount of L$ to give - name of object + + - - - Give L$ to a group - - group to give money to - amount of L$ to give + + - - - Give L$ to a group - - group to give money to - amount of L$ to give - description of transaction + + - - - Pay texture/animation upload fee - + + - - - Pay texture/animation upload fee - - description of the transaction + + - - - Give Money to destination Object or Avatar - - UUID of the Target Object/Avatar - Amount in L$ - Reason (Optional normally) - The type of transaction - Transaction flags, mostly for identifying group - transactions + + - - - Plays a gesture - - Asset of the gesture + + - - - Mark gesture active - - Inventory of the gesture - Asset of the gesture + + - - - Mark gesture inactive - - Inventory of the gesture + + - - - Send an AgentAnimation packet that toggles a single animation on - - The of the animation to start playing - Whether to ensure delivery of this packet or not + + - - - Send an AgentAnimation packet that toggles a single animation off - - The of a - currently playing animation to stop playing - Whether to ensure delivery of this packet or not + + - - - Send an AgentAnimation packet that will toggle animations on or off - - A list of animation s, and whether to - turn that animation on or off - Whether to ensure delivery of this packet or not + + - - - Teleports agent to their stored home location - - true on successful teleport to home location + + - - - Teleport agent to a landmark - - of the landmark to teleport agent to - true on success, false on failure + + - - - Attempt to look up a simulator name and teleport to the discovered - destination - - Region name to look up - Position to teleport to - True if the lookup and teleport were successful, otherwise - false + + - - - Attempt to look up a simulator name and teleport to the discovered - destination - - Region name to look up - Position to teleport to - Target to look at - True if the lookup and teleport were successful, otherwise - false + + - - - Teleport agent to another region - - handle of region to teleport agent to - position in destination sim to teleport to - true on success, false on failure - This call is blocking + + - - - Teleport agent to another region - - handle of region to teleport agent to - position in destination sim to teleport to - direction in destination sim agent will look at - true on success, false on failure - This call is blocking + + - - - Request teleport to a another simulator - - handle of region to teleport agent to - position in destination sim to teleport to + + - - - Request teleport to a another simulator - - handle of region to teleport agent to - position in destination sim to teleport to - direction in destination sim agent will look at + + - - - Teleport agent to a landmark - - of the landmark to teleport agent to + + - - - Send a teleport lure to another avatar with default "Join me in ..." invitation message - - target avatars to lure + + - - - Send a teleport lure to another avatar with custom invitation message - - target avatars to lure - custom message to send with invitation + + - - - Respond to a teleport lure by either accepting it and initiating - the teleport, or denying it - - of the avatar sending the lure - IM session of the incoming lure request - true to accept the lure, false to decline it + + - - - Update agent profile - - struct containing updated - profile information + + - - - Update agents profile interests - - selection of interests from struct + + - - - Set the height and the width of the client window. This is used - by the server to build a virtual camera frustum for our avatar - - New height of the viewer window - New width of the viewer window + + - - - Request the list of muted objects and avatars for this agent - + + - - - Sets home location to agents current position - - will fire an AlertMessage () with - success or failure message + + - - - Move an agent in to a simulator. This packet is the last packet - needed to complete the transition in to a new simulator - - Object + + - - - Reply to script permissions request - - Object - of the itemID requesting permissions - of the taskID requesting permissions - list of permissions to allow + + - - - Respond to a group invitation by either accepting or denying it - - UUID of the group (sent in the AgentID field of the invite message) - IM Session ID from the group invitation message - Accept the group invitation or deny it + + - - - Requests script detection of objects and avatars - - name of the object/avatar to search for - UUID of the object or avatar to search for - Type of search from ScriptSensorTypeFlags - range of scan (96 max?) - the arc in radians to search within - an user generated ID to correlate replies with - Simulator to perform search in + + - - - Create or update profile pick - - UUID of the pick to update, or random UUID to create a new pick - Is this a top pick? (typically false) - UUID of the parcel (UUID.Zero for the current parcel) - Name of the pick - Global position of the pick landmark - UUID of the image displayed with the pick - Long description of the pick + + - - - Delete profile pick - - UUID of the pick to delete + + - - - Create or update profile Classified - - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Global position of the classified landmark - Name of the classified - Long description of the classified - if true, auto renew classified after expiration + + - - - Create or update profile Classified - - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Name of the classified - Long description of the classified - if true, auto renew classified after expiration + + - - - Delete a classified ad - - The classified ads ID + + - - - Fetches resource usage by agents attachmetns - - Called when the requested information is collected + + - - - Take an incoming ImprovedInstantMessage packet, auto-parse, and if - OnInstantMessage is defined call that with the appropriate arguments - - The sender - The EventArgs object containing the packet data + + - - - Take an incoming Chat packet, auto-parse, and if OnChat is defined call - that with the appropriate arguments. - - The sender - The EventArgs object containing the packet data + + - - - Used for parsing llDialogs - - The sender - The EventArgs object containing the packet data + + - - - Used for parsing llRequestPermissions dialogs - - The sender - The EventArgs object containing the packet data + + - - - Handles Script Control changes when Script with permissions releases or takes a control - - The sender - The EventArgs object containing the packet data + + - - - Used for parsing llLoadURL Dialogs - - The sender - The EventArgs object containing the packet data + + - - - Update client's Position, LookAt and region handle from incoming packet - - The sender - The EventArgs object containing the packet data - This occurs when after an avatar moves into a new sim + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - - Process TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why. - - The Message Key - An IMessage object Deserialized from the recieved message event - The simulator originating the event message + + - - - Process TeleportFinish from Event Queue and pass it onto our TeleportHandler - - The message system key for this event - IMessage object containing decoded data from OSD - The simulator originating the event message + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. - - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - This packet is now being sent via the EventQueue + + - - - Group Chat event handler - - The capability Key - IMessage object containing decoded data from OSD - + + - - - Response from request to join a group chat - - - IMessage object containing decoded data from OSD - + + - - - Someone joined or left group chat - - - IMessage object containing decoded data from OSD - + + - - - Handle a group chat Invitation - - Caps Key - IMessage object containing decoded data from OSD - Originating Simulator + + - - - Moderate a chat session - - the of the session to moderate, for group chats this will be the groups UUID - the of the avatar to moderate - Either "voice" to moderate users voice, or "text" to moderate users text session - true to moderate (silence user), false to allow avatar to speak + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Raised when a scripted object or agent within range sends a public message + + - - Raised when a scripted object sends a dialog box containing possible - options an agent can respond to + + - - Raised when an object requests a change in the permissions an agent has permitted + + - - Raised when a script requests an agent open the specified URL + + - - Raised when an agents currency balance is updated + + - - Raised when a transaction occurs involving currency such as a land purchase + + - - Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from - private messaging to friendship offers. The Dialog field defines what type of message has arrived + + - - Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times - for each teleport indicating the progress of the request + + - - Raised when a simulator sends agent specific information for our avatar. + + - - Raised when our agents animation playlist changes + + - - Raised when an object or avatar forcefully collides with our agent + + - - Raised when our agent crosses a region border into another region + + - - Raised when our agent succeeds or fails to join a group chat session + + - - Raised when a simulator sends an urgent message usually indication the recent failure of - another action we have attempted to take such as an attempt to enter a parcel where we are denied access + + - - Raised when a script attempts to take or release specified controls for our agent + + - - Raised when the simulator detects our agent is trying to view something - beyond its limits + + - - Raised when a script sensor reply is received from a simulator + + - - Raised in response to a request + + - - Raised when an avatar enters a group chat session we are participating in + + - - Raised when an agent exits a group chat session we are participating in + + - - Your (client) avatars - "client", "agent", and "avatar" all represent the same thing + + - - Temporary assigned to this session, used for - verifying our identity in packets + + - - Shared secret that is never sent over the wire + + - - Your (client) avatar ID, local to the current region/sim + + - - Where the avatar started at login. Can be "last", "home" - or a login + + - - The access level of this agent, usually M or PG + + - - The CollisionPlane of Agent + + - - An representing the velocity of our agent + + - - An representing the acceleration of our agent + + - - A which specifies the angular speed, and axis about which an Avatar is rotating. + + - - Position avatar client will goto when login to 'home' or during - teleport request to 'home' region. + + - - LookAt point saved/restored with HomePosition + + - - Avatar First Name (i.e. Philip) + + - - Avatar Last Name (i.e. Linden) + + - - Avatar Full Name (i.e. Philip Linden) + + - - Gets the health of the agent + + - - Gets the current balance of the agent + + - - Gets the local ID of the prim the agent is sitting on, - zero if the avatar is not currently sitting + + - - Gets the of the agents active group. + + - - Gets the Agents powers in the currently active group + + - - Current status message for teleporting + + - - Current position of the agent as a relative offset from - the simulator, or the parent object if we are sitting on something + + - - Current rotation of the agent as a relative rotation from - the simulator, or the parent object if we are sitting on something + + - - Current position of the agent in the simulator + + - - - A representing the agents current rotation - + + - - Returns the global grid position of the avatar + + - - - Called once attachment resource usage information has been collected - - Indicates if operation was successfull - Attachment resource usage information + + - - - Used to specify movement actions for your agent - + + - - Empty flag + + - - Move Forward (SL Keybinding: W/Up Arrow) + + - - Move Backward (SL Keybinding: S/Down Arrow) + + - - Move Left (SL Keybinding: Shift-(A/Left Arrow)) + + - - Move Right (SL Keybinding: Shift-(D/Right Arrow)) + + - - Not Flying: Jump/Flying: Move Up (SL Keybinding: E) + + - - Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) + + - - Unused + + - - Unused + + - - Unused + + - - Unused + + - - ORed with AGENT_CONTROL_AT_* if the keyboard is being used + + - - ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used + + - - ORed with AGENT_CONTROL_UP_* if the keyboard is being used + + - - Fly + + - - + + - - Finish our current animation + + - - Stand up from the ground or a prim seat + + - - Sit on the ground at our current location + + - - Whether mouselook is currently enabled + + - - Legacy, used if a key was pressed for less than a certain amount of time + + - - Legacy, used if a key was pressed for less than a certain amount of time + + - - Legacy, used if a key was pressed for less than a certain amount of time + + - - Legacy, used if a key was pressed for less than a certain amount of time + + - - Legacy, used if a key was pressed for less than a certain amount of time + + - - Legacy, used if a key was pressed for less than a certain amount of time + + - - + + - - + + - - Set when the avatar is idled or set to away. Note that the away animation is - activated separately from setting this flag + + - - + + - - + + - - + + - - + + - - - Agent movement and camera control - - Agent movement is controlled by setting specific - After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags - This is most easily accomplished by setting one or more of the AgentMovement properties - - Movement of an avatar is always based on a compass direction, for example AtPos will move the - agent from West to East or forward on the X Axis, AtNeg will of course move agent from - East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis - The Z axis is Up, finer grained control of movements can be done using the Nudge properties - + + - - Agent camera controls + + - - Currently only used for hiding your group title + + - - Action state of the avatar, which can currently be - typing and editing + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - Timer for sending AgentUpdate packets + + - - Default constructor + + - - - Send an AgentUpdate with the camera set at the current agent - position and pointing towards the heading specified - - Camera rotation in radians - Whether to send the AgentUpdate reliable - or not + + - - - Rotates the avatar body and camera toward a target position. - This will also anchor the camera position on the avatar - - Region coordinates to turn toward + + - - - Send new AgentUpdate packet to update our current camera - position and rotation - + + - - - Send new AgentUpdate packet to update our current camera - position and rotation - - Whether to require server acknowledgement - of this packet + + - - - Send new AgentUpdate packet to update our current camera - position and rotation - - Whether to require server acknowledgement - of this packet - Simulator to send the update to + + - - - Builds an AgentUpdate packet entirely from parameters. This - will not touch the state of Self.Movement or - Self.Movement.Camera in any way - - - - - - - - - - - - + + - - Move agent positive along the X axis + + - - Move agent negative along the X axis + + - - Move agent positive along the Y axis + + - - Move agent negative along the Y axis + + - - Move agent positive along the Z axis + + - - Move agent negative along the Z axis + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - Causes simulator to make agent fly + + - - Stop movement + + - - Finish animation + + - - Stand up from a sit + + - - Tells simulator to sit agent on ground + + - - Place agent into mouselook mode + + - - Nudge agent positive along the X axis + + - - Nudge agent negative along the X axis + + - - Nudge agent positive along the Y axis + + - - Nudge agent negative along the Y axis + + - - Nudge agent positive along the Z axis + + - - Nudge agent negative along the Z axis + + - - + + - - + + - - Tell simulator to mark agent as away + + - - + + - - + + - - + + - - + + - - - Returns "always run" value, or changes it by sending a SetAlwaysRunPacket - + + - - The current value of the agent control flags + + - - Gets or sets the interval in milliseconds at which - AgentUpdate packets are sent to the current simulator. Setting - this to a non-zero value will also enable the packet sending if - it was previously off, and setting it to zero will disable + + - - Gets or sets whether AgentUpdate packets are sent to - the current simulator + + - - Reset movement controls every time we send an update + + - - - Camera controls for the agent, mostly a thin wrapper around - CoordinateFrame. This class is only responsible for state - tracking and math, it does not send any packets - + + - - + + - - The camera is a local frame of reference inside of - the larger grid space. This is where the math happens + + - - - Default constructor - + + - - + + - - + + - - + + - - + + - - - - + + - - - Construct a new instance of the ChatEventArgs object - - Sim from which the message originates - The message sent - The audible level of the message - The type of message sent: whisper, shout, etc - The source type of the message sender - The name of the agent or object sending the message - The ID of the agent or object sending the message - The ID of the object owner, or the agent ID sending the message - The position of the agent or object sending the message + + - - Get the simulator sending the message + + - - Get the message sent + + - - Get the audible level of the message + + - - Get the type of message sent: whisper, shout, etc + + - - Get the source type of the message sender + + - - Get the name of the agent or object sending the message + + - - Get the ID of the agent or object sending the message + + - - Get the ID of the object owner, or the agent ID sending the message + + - - Get the position of the agent or object sending the message + + - - Contains the data sent when a primitive opens a dialog with this agent + + - - - Construct a new instance of the ScriptDialogEventArgs - - The dialog message - The name of the object that sent the dialog request - The ID of the image to be displayed - The ID of the primitive sending the dialog - The first name of the senders owner - The last name of the senders owner - The communication channel the dialog was sent on - The string labels containing the options presented in this dialog + + - - Get the dialog message + + - - Get the name of the object that sent the dialog request + + - - Get the ID of the image to be displayed + + - - Get the ID of the primitive sending the dialog + + - - Get the first name of the senders owner + + - - Get the last name of the senders owner + + - - Get the communication channel the dialog was sent on, responses - should also send responses on this same channel + + - - Get the string labels containing the options presented in this dialog + + - - Contains the data sent when a primitive requests debit or other permissions - requesting a YES or NO answer + + - - - Construct a new instance of the ScriptQuestionEventArgs - - The simulator containing the object sending the request - The ID of the script making the request - The ID of the primitive containing the script making the request - The name of the primitive making the request - The name of the owner of the object making the request - The permissions being requested + + - - Get the simulator containing the object sending the request + + - - Get the ID of the script making the request + + - - Get the ID of the primitive containing the script making the request + + - - Get the name of the primitive making the request + + - - Get the name of the owner of the object making the request + + - - Get the permissions being requested + + - - Contains the data sent when a primitive sends a request - to an agent to open the specified URL + + - - - Construct a new instance of the LoadUrlEventArgs - - The name of the object sending the request - The ID of the object sending the request - The ID of the owner of the object sending the request - True if the object is owned by a group - The message sent with the request - The URL the object sent + + - - Get the name of the object sending the request + + - - Get the ID of the object sending the request + + - - Get the ID of the owner of the object sending the request + + - - True if the object is owned by a group + + - - Get the message sent with the request + + - - Get the URL the object sent + + - - The date received from an ImprovedInstantMessage + + - - - Construct a new instance of the InstantMessageEventArgs object - - the InstantMessage object - the simulator where the InstantMessage origniated + + - - Get the InstantMessage object + + - - Get the simulator where the InstantMessage origniated + + - - Contains the currency balance + + - - - Construct a new BalanceEventArgs object - - The currenct balance + + - - - Get the currenct balance - + + - - Contains the transaction summary when an item is purchased, - money is given, or land is purchased + + - - - Construct a new instance of the MoneyBalanceReplyEventArgs object - - The ID of the transaction - True of the transaction was successful - The current currency balance - The meters credited - The meters comitted - A brief description of the transaction + + - - Get the ID of the transaction + + - - True of the transaction was successful + + - - Get the remaining currency balance + + - - Get the meters credited + + - - Get the meters comitted + + - - Get the description of the transaction + + - - Data sent from the simulator containing information about your agent and active group information + + - - - Construct a new instance of the AgentDataReplyEventArgs object - - The agents first name - The agents last name - The agents active group ID - The group title of the agents active group - The combined group powers the agent has in the active group - The name of the group the agent has currently active + + - - Get the agents first name + + - - Get the agents last name + + - - Get the active group ID of your agent + + - - Get the active groups title of your agent + + - - Get the combined group powers of your agent + + - - Get the active group name of your agent + + - - Data sent by the simulator to indicate the active/changed animations - applied to your agent + + - - - Construct a new instance of the AnimationsChangedEventArgs class - - The dictionary that contains the changed animations + + - - Get the dictionary that contains the changed animations + + - - - Data sent from a simulator indicating a collision with your agent - + + - - - Construct a new instance of the MeanCollisionEventArgs class - - The type of collision that occurred - The ID of the agent or object that perpetrated the agression - The ID of the Victim - The strength of the collision - The Time the collision occurred + + - - Get the Type of collision + + - - Get the ID of the agent or object that collided with your agent + + - - Get the ID of the agent that was attacked + + - - A value indicating the strength of the collision + + - - Get the time the collision occurred + + - - Data sent to your agent when it crosses region boundaries + + - - - Construct a new instance of the RegionCrossedEventArgs class - - The simulator your agent just left - The simulator your agent is now in + + - - Get the simulator your agent just left + + - - Get the simulator your agent is now in + + - - Data sent from the simulator when your agent joins a group chat session + + - - - Construct a new instance of the GroupChatJoinedEventArgs class - - The ID of the session - The name of the session - A temporary session id used for establishing new sessions - True of your agent successfully joined the session + + - - Get the ID of the group chat session + + - - Get the name of the session + + - - Get the temporary session ID used for establishing new sessions + + - - True if your agent successfully joined the session + + - - Data sent by the simulator containing urgent messages + + - - - Construct a new instance of the AlertMessageEventArgs class - - The alert message + + - - Get the alert message + + - - Data sent by a script requesting to take or release specified controls to your agent + + - - - Construct a new instance of the ScriptControlEventArgs class - - The controls the script is attempting to take or release to the agent - True if the script is passing controls back to the agent - True if the script is requesting controls be released to the script + + - - Get the controls the script is attempting to take or release to the agent + + - - True if the script is passing controls back to the agent + + - - True if the script is requesting controls be released to the script + + - - - Data sent from the simulator to an agent to indicate its view limits - + + - - - Construct a new instance of the CameraConstraintEventArgs class - - The collision plane + + - - Get the collision plane + + - - - Data containing script sensor requests which allow an agent to know the specific details - of a primitive sending script sensor requests - + + - - - Construct a new instance of the ScriptSensorReplyEventArgs - - The ID of the primitive sending the sensor - The ID of the group associated with the primitive - The name of the primitive sending the sensor - The ID of the primitive sending the sensor - The ID of the owner of the primitive sending the sensor - The position of the primitive sending the sensor - The range the primitive specified to scan - The rotation of the primitive sending the sensor - The type of sensor the primitive sent - The velocity of the primitive sending the sensor + + - - Get the ID of the primitive sending the sensor + + - - Get the ID of the group associated with the primitive + + - - Get the name of the primitive sending the sensor + + - - Get the ID of the primitive sending the sensor + + - - Get the ID of the owner of the primitive sending the sensor + + - - Get the position of the primitive sending the sensor + + - - Get the range the primitive specified to scan + + - - Get the rotation of the primitive sending the sensor + + - - Get the type of sensor the primitive sent + + - - Get the velocity of the primitive sending the sensor + + - - Contains the response data returned from the simulator in response to a + + - - Construct a new instance of the AvatarSitResponseEventArgs object + + - - Get the ID of the primitive the agent will be sitting on + + - - True if the simulator Autopilot functions were involved + + - - Get the camera offset of the agent when seated + + - - Get the camera eye offset of the agent when seated + + - - True of the agent will be in mouselook mode when seated + + - - Get the position of the agent when seated + + - - Get the rotation of the agent when seated + + - - Data sent when an agent joins a chat session your agent is currently participating in + + - - - Construct a new instance of the ChatSessionMemberAddedEventArgs object - - The ID of the chat session - The ID of the agent joining + + - - Get the ID of the chat session + + - - Get the ID of the agent that joined + + - - Data sent when an agent exits a chat session your agent is currently participating in + + - - - Construct a new instance of the ChatSessionMemberLeftEventArgs object - - The ID of the chat session - The ID of the Agent that left + + - - Get the ID of the chat session + + - - Get the ID of the agent that left + + - - - Return a decoded capabilities message as a strongly typed object - - A string containing the name of the capabilities message key - An to decode - A strongly typed object containing the decoded information from the capabilities message, or null - if no existing Message object exists for the specified event + + - - - Represents a string of characters encoded with specific formatting properties - + + - - A text string containing main text of the notecard + + - - List of s embedded on the notecard + + - - Construct an Asset of type Notecard + + - - - Construct an Asset object of type Notecard - - A unique specific to this asset - A byte array containing the raw asset data + + - - - Encode the raw contents of a string with the specific Linden Text properties - + + - - - Decode the raw asset data including the Linden Text properties - - true if the AssetData was successfully decoded + + - - Override the base classes AssetType + + - - - Class for controlling various system settings. - - Some values are readonly because they affect things that - happen when the GridClient object is initialized, so changing them at - runtime won't do any good. Non-readonly values may affect things that - happen at login or dynamically + + - - Main grid login server + + - - Beta grid login server + + - - - InventoryManager requests inventory information on login, - GridClient initializes an Inventory store for main inventory. - + + - - - InventoryManager requests library information on login, - GridClient initializes an Inventory store for the library. - + + - - Number of milliseconds between sending pings to each sim + + - - Number of milliseconds between sending camera updates + + - - Number of milliseconds between updating the current - positions of moving, non-accelerating and non-colliding objects + + - - Millisecond interval between ticks, where all ACKs are - sent out and the age of unACKed packets is checked + + - - The initial size of the packet inbox, where packets are - stored before processing + + - - Maximum size of packet that we want to send over the wire + + - - The maximum value of a packet sequence number before it - rolls over back to one + + - - The maximum size of the sequence number archive, used to - check for resent and/or duplicate packets + + - - The relative directory where external resources are kept + + - - Login server to connect to + + - - IP Address the client will bind to + + - - Use XML-RPC Login or LLSD Login, default is XML-RPC Login + + - - Number of milliseconds before an asset transfer will time - out + + - - Number of milliseconds before a teleport attempt will time - out + + - - Number of milliseconds before NetworkManager.Logout() will - time out + + - - Number of milliseconds before a CAPS call will time out - Setting this too low will cause web requests time out and - possibly retry repeatedly + + - - Number of milliseconds for xml-rpc to timeout + + - - Milliseconds before a packet is assumed lost and resent + + - - Milliseconds without receiving a packet before the - connection to a simulator is assumed lost + + - - Milliseconds to wait for a simulator info request through - the grid interface + + - - Maximum number of queued ACKs to be sent before SendAcks() - is forced + + - - Network stats queue length (seconds) + + - - Enable/disable storing terrain heightmaps in the - TerrainManager + + - - Enable/disable sending periodic camera updates + + - - Enable/disable automatically setting agent appearance at - login and after sim crossing + + - - Enable/disable automatically setting the bandwidth throttle - after connecting to each simulator - The default throttle uses the equivalent of the maximum - bandwidth setting in the official client. If you do not set a - throttle your connection will by default be throttled well below - the minimum values and you may experience connection problems + + - - Enable/disable the sending of pings to monitor lag and - packet loss + + - - Should we connect to multiple sims? This will allow - viewing in to neighboring simulators and sim crossings - (Experimental) + + - - If true, all object update packets will be decoded in to - native objects. If false, only updates for our own agent will be - decoded. Registering an event handler will force objects for that - type to always be decoded. If this is disabled the object tracking - will have missing or partial prim and avatar information + + - - If true, when a cached object check is received from the - server the full object info will automatically be requested + + - - Whether to establish connections to HTTP capabilities - servers for simulators + + - - Whether to decode sim stats + + - - The capabilities servers are currently designed to - periodically return a 502 error which signals for the client to - re-establish a connection. Set this to true to log those 502 errors + + - - If true, any reference received for a folder or item - the library is not aware of will automatically be fetched + + - - If true, and SEND_AGENT_UPDATES is true, - AgentUpdate packets will continuously be sent out to give the bot - smoother movement and autopiloting + + - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectAvatars. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received + + - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectPrimitives. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received + + - - If true, position and velocity will periodically be - interpolated (extrapolated, technically) for objects and - avatars that are being tracked by the library. This is - necessary to increase the accuracy of speed and position - estimates for simulated objects + + - - - If true, utilization statistics will be tracked. There is a minor penalty - in CPU time for enabling this option. - + + - - If true, parcel details will be stored in the - Simulator.Parcels dictionary as they are received + + - - - If true, an incoming parcel properties reply will automatically send - a request for the parcel access list - + + - - - if true, an incoming parcel properties reply will automatically send - a request for the traffic count. - + + - - - If true, images, and other assets downloaded from the server - will be cached in a local directory - + + - - Path to store cached texture data + + - - Maximum size cached files are allowed to take on disk (bytes) + + - - Default color used for viewer particle effects + + - - Maximum number of times to resend a failed packet + + - - Throttle outgoing packet rate + + - - UUID of a texture used by some viewers to indentify type of client used + + - - - Download textures using GetTexture capability when available - + + - - The maximum number of concurrent texture downloads allowed - Increasing this number will not necessarily increase texture retrieval times due to - simulator throttles + + - - - The Refresh timer inteval is used to set the delay between checks for stalled texture downloads - - This is a static variable which applies to all instances + + - - - Textures taking longer than this value will be flagged as timed out and removed from the pipeline - + + - - - Get or set the minimum log level to output to the console by default - - If the library is not compiled with DEBUG defined and this level is set to DEBUG - You will get no output on the console. This behavior can be overriden by creating - a logger configuration file for log4net - + + - - Attach avatar names to log messages + + - - Log packet retransmission info + + - - Constructor - Reference to a GridClient object + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Cost of uploading an asset - Read-only since this value is dynamically fetched at login + + - - - NetworkManager is responsible for managing the network layer of - OpenMetaverse. It tracks all the server connections, serializes - outgoing traffic and deserializes incoming traffic, and provides - instances of delegates for network-related events. - - - Login Routines - + + - - The event subscribers, null of no subscribers + + - - Raises the PacketSent Event - A PacketSentEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the LoggedOut Event - A LoggedOutEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the SimConnecting Event - A SimConnectingEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the SimConnected Event - A SimConnectedEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the SimDisconnected Event - A SimDisconnectedEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the Disconnected Event - A DisconnectedEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the SimChanged Event - A SimChangedEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the EventQueueRunning Event - A EventQueueRunningEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - All of the simulators we are currently connected to + + - - Handlers for incoming capability events + + - - Handlers for incoming packets + + - - Incoming packets that are awaiting handling + + - - Outgoing packets that are awaiting handling + + - - - Default constructor - - Reference to the GridClient object + + - - - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type to trigger events for - Callback to fire when a packet of this type - is received + + - - - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type to trigger events for - Callback to fire when a packet of this type - is received - True if the callback should be ran - asynchronously. Only set this to false (synchronous for callbacks - that will always complete quickly) - If any callback for a packet type is marked as - asynchronous, all callbacks for that packet type will be fired - asynchronously + + - - - Unregister an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type this callback is registered with - Callback to stop firing events for + + - - - Register a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library - - Name of the CAPS event to register a handler for - Callback to fire when a CAPS event is received + + - - - Unregister a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library - - Name of the CAPS event this callback is - registered with - Callback to stop firing events for + + - - - Send a packet to the simulator the avatar is currently occupying - - Packet to send + + - - - Send a packet to a specified simulator - - Packet to send - Simulator to send the packet to + + - - - Connect to a simulator - - IP address to connect to - Port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null + + - - - Connect to a simulator - - IP address and port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null + + - - - Initiate a blocking logout request. This will return when the logout - handshake has completed or when Settings.LOGOUT_TIMEOUT - has expired and the network layer is manually shut down - + + - - - Initiate the logout process. Check if logout succeeded with the - OnLogoutReply event, and if this does not fire the - Shutdown() function needs to be manually called - + + - - - Close a connection to the given simulator - - - + + - - - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout - - Type of shutdown + + - - - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout - - Type of shutdown - Shutdown message + + - - - Searches through the list of currently connected simulators to find - one attached to the given IPEndPoint - - IPEndPoint of the Simulator to search for - A Simulator reference on success, otherwise null + + - - - Fire an event when an event queue connects for capabilities - - Simulator the event queue is attached to + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - The event subscribers, null of no subscribers + + - - Raises the LoginProgress Event - A LoginProgressEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - Seed CAPS URL returned from the login server + + - - A list of packets obtained during the login process which - networkmanager will log but not process + + - - - Generate sane default values for a login request - - Account first name - Account last name - Account password - Client application name - Client application version - A populated struct containing - sane defaults + + - - - Simplified login that takes the most common and required fields - - Account first name - Account last name - Account password - Client application name - Client application version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error + + - - - Simplified login that takes the most common fields along with a - starting location URI, and can accept an MD5 string instead of a - plaintext password - - Account first name - Account last name - Account password or MD5 hash of the password - such as $1$1682a1e45e9f957dcdf0bb56eb43319c - Client application name - Starting location URI that can be built with - StartLocation() - Client application version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error + + - - - Login that takes a struct of all the values that will be passed to - the login server - - The values that will be passed to the login - server, all fields must be set even if they are String.Empty - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error + + - - - Build a start location URI for passing to the Login function - - Name of the simulator to start in - X coordinate to start at - Y coordinate to start at - Z coordinate to start at - String with a URI that can be used to login to a specified - location + + - - - Handles response from XML-RPC login replies - + + - - - Handle response from LLSD login replies - - - - + + - - - Get current OS - - Either "Win" or "Linux" + + - - - Get clients default Mac Address - - A string containing the first found Mac Address + + - - Raised when the simulator sends us data containing - ... + + - - Raised when the simulator sends us data containing - ... + + - - Raised when the simulator sends us data containing - ... + + - - Raised when the simulator sends us data containing - ... + + - - Raised when the simulator sends us data containing - ... + + - - Raised when the simulator sends us data containing - ... + + - - Raised when the simulator sends us data containing - ... + + - - Raised when the simulator sends us data containing - ... + + - - Unique identifier associated with our connections to - simulators + + - - The simulator that the logged in avatar is currently - occupying + + - - Shows whether the network layer is logged in to the - grid or not + + - - Number of packets in the incoming queue + + - - Number of packets in the outgoing queue + + - - Raised when the simulator sends us data containing - ... + + - - Called when a reply is received from the login server, the - login sequence will block until this event returns + + - - Current state of logging in + + - - Upon login failure, contains a short string key for the - type of login error that occurred + + - - The raw XML-RPC reply from the login server, exactly as it - was received (minus the HTTP header) + + - - During login this contains a descriptive version of - LoginStatusCode. After a successful login this will contain the - message of the day, and after a failed login a descriptive error - message will be returned + + - - - Explains why a simulator or the grid disconnected from us - + + - - The client requested the logout or simulator disconnect + + - - The server notified us that it is disconnecting + + - - Either a socket was closed or network traffic timed out + + - - The last active simulator shut down + + - - - Holds a simulator reference and a decoded packet, these structs are put in - the packet inbox for event handling - + + - - Reference to the simulator that this packet came from + + - - Packet that needs to be processed + + - - - Holds a simulator reference and a serialized packet, these structs are put in - the packet outbox for sending - + + - - Reference to the simulator this packet is destined for + + - - Packet that needs to be sent + + - - Sequence number of the wrapped packet + + - - Number of times this packet has been resent + + - - Environment.TickCount when this packet was last sent over the wire + + - - - - - - - - - + + - - - Type of return to use when returning objects from a parcel - + + - - + + - - Return objects owned by parcel owner + + - - Return objects set to group + + - - Return objects not owned by parcel owner or set to group + + - - Return a specific list of objects on parcel + + - - Return objects that are marked for-sale + + - - - Blacklist/Whitelist flags used in parcels Access List - + + - - Agent is denied access + + - - Agent is granted access + + - - - The result of a request for parcel properties - + + - - No matches were found for the request + + - - Request matched a single parcel + + - - Request matched multiple parcels + + - - - Flags used in the ParcelAccessListRequest packet to specify whether - we want the access list (whitelist), ban list (blacklist), or both - + + - - Request the access list + + - - Request the ban list + + - - Request both White and Black lists + + - - - Sequence ID in ParcelPropertiesReply packets (sent when avatar - tries to cross a parcel border) - + + - - Parcel is currently selected + + - - Parcel restricted to a group the avatar is not a - member of + + - - Avatar is banned from the parcel + + - - Parcel is restricted to an access list that the - avatar is not on + + - - Response to hovering over a parcel + + - - - The tool to use when modifying terrain levels - + + - - Level the terrain + + - - Raise the terrain + + - - Lower the terrain + + - - Smooth the terrain + + - - Add random noise to the terrain + + - - Revert terrain to simulator default + + - - - The tool size to use when changing terrain levels - - - - Small + + - - Medium + + - - Large + + - - - Reasons agent is denied access to a parcel on the simulator - + + - - Agent is not denied, access is granted + + - - Agent is not a member of the group set for the parcel, or which owns the parcel + + - - Agent is not on the parcels specific allow list + + - - Agent is on the parcels ban list + + - - Unknown + + - - Agent is not age verified and parcel settings deny access to non age verified avatars + + - - - Parcel overlay type. This is used primarily for highlighting and - coloring which is why it is a single integer instead of a set of - flags - - These values seem to be poorly thought out. The first three - bits represent a single value, not flags. For example Auction (0x05) is - not a combination of OwnedByOther (0x01) and ForSale(0x04). However, - the BorderWest and BorderSouth values are bit flags that get attached - to the value stored in the first three bits. Bits four, five, and six - are unused + + - - Public land + + - - Land is owned by another avatar + + - - Land is owned by a group + + - - Land is owned by the current avatar + + - - Land is for sale + + - - Land is being auctioned + + - - To the west of this area is a parcel border + + - - To the south of this area is a parcel border + + - - - Various parcel properties - + + - - No flags set + + - - Allow avatars to fly (a client-side only restriction) + + - - Allow foreign scripts to run + + - - This parcel is for sale + + - - Allow avatars to create a landmark on this parcel + + - - Allows all avatars to edit the terrain on this parcel + + - - Avatars have health and can take damage on this parcel. - If set, avatars can be killed and sent home here + + - - Foreign avatars can create objects here + + - - All objects on this parcel can be purchased + + - - Access is restricted to a group + + - - Access is restricted to a whitelist + + - - Ban blacklist is enabled + + - - Unknown + + - - List this parcel in the search directory + + - - Allow personally owned parcels to be deeded to group + + - - If Deeded, owner contributes required tier to group parcel is deeded to + + - - Restrict sounds originating on this parcel to the - parcel boundaries + + - - Objects on this parcel are sold when the land is - purchsaed + + - - Allow this parcel to be published on the web + + - - The information for this parcel is mature content + + - - The media URL is an HTML page + + - - The media URL is a raw HTML string + + - - Restrict foreign object pushes + + - - Ban all non identified/transacted avatars + + - - Allow group-owned scripts to run + + - - Allow object creation by group members or group - objects + + - - Allow all objects to enter this parcel + + - - Only allow group and owner objects to enter this parcel + + - - Voice Enabled on this parcel + + + The current status of a texture request as it moves through the pipeline or final result of a texture request. + - - Use Estate Voice channel for Voice on this parcel + + The initial state given to a request. Requests in this state + are waiting for an available slot in the pipeline - - Deny Age Unverified Users + + A request that has been added to the pipeline and the request packet + has been sent to the simulator - - - Parcel ownership status - + + A request that has received one or more packets back from the simulator - - Placeholder + + A request that has received all packets back from the simulator - - Parcel is leased (owned) by an avatar or group + + A request that has taken longer than + to download OR the initial packet containing the packet information was never received - - Parcel is in process of being leased (purchased) by an avatar or group + + The texture request was aborted by request of the agent - - Parcel has been abandoned back to Governor Linden + + The simulator replied to the request that it was not able to find the requested texture - + - Category parcel is listed in under search + A callback fired to indicate the status or final state of the requested texture. For progressive + downloads this will fire each time new asset data is returned from the simulator. + The indicating either Progress for textures not fully downloaded, + or the final result of the request after it has been processed through the TexturePipeline + The object containing the Assets ID, raw data + and other information. For progressive rendering the will contain + the data from the beginning of the file. For failed, aborted and timed out requests it will contain + an empty byte array. - - No assigned category - - - Linden Infohub or public area - - - Adult themed area + + + Texture request download handler, allows a configurable number of download slots which manage multiple + concurrent texture downloads from the + + This class makes full use of the internal + system for full texture downloads. - - Arts and Culture + + A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID + and also the Asset Texture ID, and the value is an object containing the current state of the request and also + the asset data as it is being re-assembled - - Business + + Holds the reference to the client object - - Educational + + Maximum concurrent texture requests allowed at a time - - Gaming + + An array of objects used to manage worker request threads - - Hangout or Club + + An array of worker slots which shows the availablity status of the slot - - Newcomer friendly + + The primary thread which manages the requests. - - Parks and Nature + + true if the TexturePipeline is currently running - - Residential + + A synchronization object used by the primary thread - - Shopping + + A refresh timer used to increase the priority of stalled requests - - Not Used? + + + Default constructor, Instantiates a new copy of the TexturePipeline class + + Reference to the instantiated object - - Other + + + Initialize callbacks required for the TexturePipeline to operate + - - Not an actual category, only used for queries + + + Shutdown the TexturePipeline and cleanup any callbacks or transfers + - + - Type of teleport landing for a parcel + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request - - Unset, simulator default + + + Sends the actual request packet to the simulator + + The image to download + Type of the image to download, either a baked + avatar texture or a normal texture + Priority level of the download. Default is + 1,013,000.0f + Number of quality layers to discard. + This controls the end marker of the data sent + Packet number to start the download at. + This controls the start marker of the data sent + Sending a priority of 0 and a discardlevel of -1 aborts + download - - Specific landing point set for this parcel + + + Cancel a pending or in process texture request + + The texture assets unique ID - - No landing point set, direct teleports enabled for - this parcel + + + Master Download Thread, Queues up downloads in the threadpool + - + - Parcel Media Command used in ParcelMediaCommandMessage + The worker thread that sends the request and handles timeouts + A object containing the request details - - Stop the media stream and go back to the first frame + + + Handle responses from the simulator that tell us a texture we have requested is unable to be located + or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use + + The sender + The EventArgs object containing the packet data - - Pause the media stream (stop playing but stay on current frame) + + + Handles the remaining Image data that did not fit in the initial ImageData packet + + The sender + The EventArgs object containing the packet data - - Start the current media stream playing and stop when the end is reached + + + Handle the initial ImageDataPacket sent from the simulator + + The sender + The EventArgs object containing the packet data - - Start the current media stream playing, - loop to the beginning when the end is reached and continue to play + + Current number of pending and in-process transfers - - Specifies the texture to replace with video - If passing the key of a texture, it must be explicitly typecast as a key, - not just passed within double quotes. + + + A request task containing information and status of a request as it is processed through the + - - Specifies the movie URL (254 characters max) + + The current which identifies the current status of the request - - Specifies the time index at which to begin playing + + The Unique Request ID, This is also the Asset ID of the texture being requested - - Specifies a single agent to apply the media command to + + The slot this request is occupying in the threadpoolSlots array - - Unloads the stream. While the stop command sets the texture to the first frame of the movie, - unload resets it to the real texture that the movie was replacing. + + The ImageType of the request. - - Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties - (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. + + The callback to fire when the request is complete, will include + the and the + object containing the result data - - Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). - Use "text/html" for HTML. + + If true, indicates the callback will be fired whenever new data is returned from the simulator. + This is used to progressively render textures as portions of the texture are received. - - Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). - This might still not be working + + An object that maintains the data of an request thats in-process. - - Sets a description for the media being displayed (1.19.1 RC0 and later only). + + + Add a custom decoder callback + + The key of the field to decode + The custom decode handler - + - Some information about a parcel of land returned from a DirectoryManager search + Remove a custom decoder callback + The key of the field to decode + The custom decode handler - - Global Key of record + + + Creates a formatted string containing the values of a Packet + + The Packet + A formatted string of values of the nested items in the Packet object - - Parcel Owners + + + Decode an IMessage object into a beautifully formatted string + + The IMessage object + Recursion level (used for indenting) + A formatted string containing the names and values of the source object - - Name field of parcel, limited to 128 characters + + + A custom decoder callback + + The key of the object + the data to decode + A string represending the fieldData - - Description field of parcel, limited to 256 characters + + + + - - Total Square meters of parcel + + - - Total area billable as Tier, for group owned land this will be 10% less than ActualArea - - - True of parcel is in Mature simulator - - - Grid global X position of parcel - - - Grid global Y position of parcel - - - Grid global Z position of parcel (not used) + + - - Name of simulator parcel is located in + + - - Texture of parcels display picture + + - - Float representing calculated traffic based on time spent on parcel by avatars + + - - Sale price of parcel (not used) + + - - Auction ID of parcel + + - + - Parcel Media Information + Status of the last application run. + Used for error reporting to the grid login service for statistical purposes. - - A byte, if 0x1 viewer should auto scale media to fit object - - - A boolean, if true the viewer should loop the media - - - The Asset UUID of the Texture which when applied to a - primitive will display the media + + Application exited normally - - A URL which points to any Quicktime supported media type + + Application froze - - A description of the media + + Application detected error and exited abnormally - - An Integer which represents the height of the media + + Other crash - - An integer which represents the width of the media + + Application froze during logout - - A string which contains the mime type of the media + + Application crashed during logout - + - Parcel of land, a portion of virtual real estate in a simulator + Login Request Parameters - - The total number of contiguous 4x4 meter blocks your agent owns within this parcel + + The URL of the Login Server - - The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own + + The number of milliseconds to wait before a login is considered + failed due to timeout - - Deprecated, Value appears to always be 0 + + The request method + login_to_simulator is currently the only supported method - - Simulator-local ID of this parcel + + The Agents First name - - UUID of the owner of this parcel + + The Agents Last name - - Whether the land is deeded to a group or not + + A md5 hashed password + plaintext password will be automatically hashed - - + + The agents starting location once logged in + Either "last", "home", or a string encoded URI + containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 - - Date land was claimed + + A string containing the client software channel information + Second Life Release - - Appears to always be zero + + The client software version information + The official viewer uses: Second Life Release n.n.n.n + where n is replaced with the current version of the viewer - - This field is no longer used + + A string containing the platform information the agent is running on - - Minimum corner of the axis-aligned bounding box for this - parcel + + A string hash of the network cards Mac Address - - Maximum corner of the axis-aligned bounding box for this - parcel + + Unknown or deprecated - - Bitmap describing land layout in 4x4m squares across the - entire region + + A string hash of the first disk drives ID used to identify this clients uniqueness - - Total parcel land area + + A string containing the viewers Software, this is not directly sent to the login server but + instead is used to generate the Version string - - + + A string representing the software creator. This is not directly sent to the login server but + is used by the library to generate the Version information - - Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used + + If true, this agent agrees to the Terms of Service of the grid its connecting to - - Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel - owned by the agent or group that owns this parcel + + Unknown - - Maximum number of primitives this parcel supports + + Status of the last application run sent to the grid login server for statistical purposes - - Total number of primitives on this parcel + + An array of string sent to the login server to enable various options - - For group-owned parcels this indicates the total number of prims deeded to the group, - for parcels owned by an individual this inicates the number of prims owned by the individual + + A randomly generated ID to distinguish between login attempts. This value is only used + internally in the library and is never sent over the wire - - Total number of primitives owned by the parcel group on - this parcel, or for parcels owned by an individual with a group set the - total number of prims set to that group. + + + Default constuctor, initializes sane default values + - - Total number of prims owned by other avatars that are not set to group, or not the parcel owner + + + Instantiates new LoginParams object and fills in the values + + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number - - A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect - the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed + + + Instantiates new LoginParams object and fills in the values + + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number + URI of the login server - - Autoreturn value in minutes for others' objects + + + The decoded data returned from the login server after a successful login + - - + + true, false, indeterminate - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it + + Login message of the day - - Parcel Name + + M or PG, also agent_region_access and agent_access_max - - Parcel Description + + + Parse LLSD Login Reply Data + + An + contaning the login response data + XML-RPC logins do not require this as XML-RPC.NET + automatically populates the struct properly using attributes - - URL For Music Stream + + + Login Routines + + + NetworkManager is responsible for managing the network layer of + OpenMetaverse. It tracks all the server connections, serializes + outgoing traffic and deserializes incoming traffic, and provides + instances of delegates for network-related events. + - - + + The event subscribers, null of no subscribers - - Price for a temporary pass + + Raises the LoginProgress Event + A LoginProgressEventArgs object containing + the data sent from the simulator - - How long is pass valid for + + Thread sync lock object - - + + Seed CAPS URL returned from the login server - - Key of authorized buyer + + Maximum number of groups an agent can belong to, -1 for unlimited - - Key of parcel snapshot + + Server side baking service URL - - The landing point location - - - The landing point LookAt - - - The type of landing enforced from the enum - - - - - - - - - + + A list of packets obtained during the login process which + networkmanager will log but not process - - Access list of who is whitelisted on this - parcel + + + Generate sane default values for a login request + + Account first name + Account last name + Account password + Client application name (channel) + Client application name + version + A populated struct containing + sane defaults - - Access list of who is blacklisted on this - parcel + + + Simplified login that takes the most common and required fields + + Account first name + Account last name + Account password + Client application name (channel) + Client application name + version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - - TRUE of region denies access to age unverified users + + + Simplified login that takes the most common fields along with a + starting location URI, and can accept an MD5 string instead of a + plaintext password + + Account first name + Account last name + Account password or MD5 hash of the password + such as $1$1682a1e45e9f957dcdf0bb56eb43319c + Client application name (channel) + Starting location URI that can be built with + StartLocation() + Client application name + version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - - true to obscure (hide) media url + + + Login that takes a struct of all the values that will be passed to + the login server + + The values that will be passed to the login + server, all fields must be set even if they are String.Empty + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - - true to obscure (hide) music url + + + Build a start location URI for passing to the Login function + + Name of the simulator to start in + X coordinate to start at + Y coordinate to start at + Z coordinate to start at + String with a URI that can be used to login to a specified + location - - A struct containing media details + + + LoginParams and the initial login XmlRpcRequest were made on a remote machine. + This method now initializes libomv with the results. + - + - Displays a parcel object in string format + Handles response from XML-RPC login replies - string containing key=value pairs of a parcel object - + - Defalt constructor + Handles response from XML-RPC login replies with already parsed LoginResponseData - Local ID of this parcel - + - Update the simulator with any local changes to this Parcel object + Handle response from LLSD login replies - Simulator to send updates to - Whether we want the simulator to confirm - the update with a reply packet or not + + + - + - Set Autoreturn time + Get current OS - Simulator to send the update to + Either "Win" or "Linux" - + - Parcel (subdivided simulator lots) subsystem + Get clients default Mac Address + A string containing the first found Mac Address - - The event subscribers. null if no subcribers + + The event subscribers, null of no subscribers - - Raises the ParcelDwellReply event - A ParcelDwellReplyEventArgs object containing the - data returned from the simulator + + Raises the PacketSent Event + A PacketSentEventArgs object containing + the data sent from the simulator - + Thread sync lock object - - The event subscribers. null if no subcribers + + The event subscribers, null of no subscribers - - Raises the ParcelInfoReply event - A ParcelInfoReplyEventArgs object containing the - data returned from the simulator + + Raises the LoggedOut Event + A LoggedOutEventArgs object containing + the data sent from the simulator - + Thread sync lock object - - The event subscribers. null if no subcribers + + The event subscribers, null of no subscribers - - Raises the ParcelProperties event - A ParcelPropertiesEventArgs object containing the - data returned from the simulator + + Raises the SimConnecting Event + A SimConnectingEventArgs object containing + the data sent from the simulator - + Thread sync lock object - - The event subscribers. null if no subcribers + + The event subscribers, null of no subscribers - - Raises the ParcelAccessListReply event - A ParcelAccessListReplyEventArgs object containing the - data returned from the simulator + + Raises the SimConnected Event + A SimConnectedEventArgs object containing + the data sent from the simulator - + Thread sync lock object - - The event subscribers. null if no subcribers + + The event subscribers, null of no subscribers - - Raises the ParcelObjectOwnersReply event - A ParcelObjectOwnersReplyEventArgs object containing the - data returned from the simulator + + Raises the SimDisconnected Event + A SimDisconnectedEventArgs object containing + the data sent from the simulator - + Thread sync lock object - - The event subscribers. null if no subcribers + + The event subscribers, null of no subscribers - - Raises the SimParcelsDownloaded event - A SimParcelsDownloadedEventArgs object containing the - data returned from the simulator + + Raises the Disconnected Event + A DisconnectedEventArgs object containing + the data sent from the simulator - + Thread sync lock object - - The event subscribers. null if no subcribers + + The event subscribers, null of no subscribers - - Raises the ForceSelectObjectsReply event - A ForceSelectObjectsReplyEventArgs object containing the - data returned from the simulator + + Raises the SimChanged Event + A SimChangedEventArgs object containing + the data sent from the simulator - + Thread sync lock object - - The event subscribers. null if no subcribers + + The event subscribers, null of no subscribers - - Raises the ParcelMediaUpdateReply event - A ParcelMediaUpdateReplyEventArgs object containing the - data returned from the simulator + + Raises the EventQueueRunning Event + A EventQueueRunningEventArgs object containing + the data sent from the simulator - + Thread sync lock object - - The event subscribers. null if no subcribers + + All of the simulators we are currently connected to - - Raises the ParcelMediaCommand event - A ParcelMediaCommandEventArgs object containing the - data returned from the simulator + + Handlers for incoming capability events - - Thread sync lock object + + Handlers for incoming packets - + + Incoming packets that are awaiting handling + + + Outgoing packets that are awaiting handling + + Default constructor - A reference to the GridClient object + Reference to the GridClient object - + - Request basic information for a single parcel - - Simulator-local ID of the parcel - - - - Request properties of a single parcel + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - multiple simultaneous requests + Packet type to trigger events for + Callback to fire when a packet of this type + is received - + - Request the access list for a single parcel + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelAccessList reply, useful for distinguishing between - multiple simultaneous requests - + Packet type to trigger events for + Callback to fire when a packet of this type + is received + True if the callback should be ran + asynchronously. Only set this to false (synchronous for callbacks + that will always complete quickly) + If any callback for a packet type is marked as + asynchronous, all callbacks for that packet type will be fired + asynchronously - + - Request properties of parcels using a bounding box selection + Unregister an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library - Simulator containing the parcel - Northern boundary of the parcel selection - Eastern boundary of the parcel selection - Southern boundary of the parcel selection - Western boundary of the parcel selection - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - different types of parcel property requests - A boolean that is returned with the - ParcelProperties reply, useful for snapping focus to a single - parcel + Packet type this callback is registered with + Callback to stop firing events for - + - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) + Register a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library - Simulator to request parcels from (must be connected) + Name of the CAPS event to register a handler for + Callback to fire when a CAPS event is received - + - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) + Unregister a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library - Simulator to request parcels from (must be connected) - If TRUE, will force a full refresh - Number of milliseconds to pause in between each request + Name of the CAPS event this callback is + registered with + Callback to stop firing events for - + - Request the dwell value for a parcel + Send a packet to the simulator the avatar is currently occupying - Simulator containing the parcel - Simulator-local ID of the parcel + Packet to send - + - Send a request to Purchase a parcel of land + Send a packet to a specified simulator - The Simulator the parcel is located in - The parcels region specific local ID - true if this parcel is being purchased by a group - The groups - true to remove tier contribution if purchase is successful - The parcels size - The purchase price of the parcel - + Packet to send + Simulator to send the packet to - + - Reclaim a parcel of land + Connect to a simulator - The simulator the parcel is in - The parcels region specific local ID + IP address to connect to + Port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null - + - Deed a parcel to a group + Connect to a simulator - The simulator the parcel is in - The parcels region specific local ID - The groups + IP address and port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null - + - Request prim owners of a parcel of land. + Initiate a blocking logout request. This will return when the logout + handshake has completed or when Settings.LOGOUT_TIMEOUT + has expired and the network layer is manually shut down - Simulator parcel is in - The parcels region specific local ID - + - Return objects from a parcel + Initiate the logout process. Check if logout succeeded with the + OnLogoutReply event, and if this does not fire the + Shutdown() function needs to be manually called - Simulator parcel is in - The parcels region specific local ID - the type of objects to return, - A list containing object owners s to return - + - Subdivide (split) a parcel + Close a connection to the given simulator - - - - + - + - Join two parcels of land creating a single parcel + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout - - - - - + Type of shutdown - + - Get a parcels LocalID + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout - Simulator parcel is in - Vector3 position in simulator (Z not used) - 0 on failure, or parcel LocalID on success. - A call to Parcels.RequestAllSimParcels is required to populate map and - dictionary. + Type of shutdown + Shutdown message - + - Terraform (raise, lower, etc) an area or whole parcel of land + Searches through the list of currently connected simulators to find + one attached to the given IPEndPoint - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + IPEndPoint of the Simulator to search for + A Simulator reference on success, otherwise null - + - Terraform (raise, lower, etc) an area or whole parcel of land + Fire an event when an event queue connects for capabilities - Simulator land area is in. - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + Simulator the event queue is attached to - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - Height at which the terraform operation is acting at + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Sends a request to the simulator to return a list of objects owned by specific owners - - Simulator local ID of parcel - Owners, Others, Etc - List containing keys of avatars objects to select; - if List is null will return Objects of type selectType - Response data is returned in the event - - - - Eject and optionally ban a user from a parcel - - target key of avatar to eject - true to also ban target - - - - Freeze or unfreeze an avatar over your land - - target key to freeze - true to freeze, false to unfreeze - - - - Abandon a parcel of land - - Simulator parcel is in - Simulator local ID of parcel - - - - Requests the UUID of the parcel in a remote region at a specified location - - Location of the parcel in the remote region - Remote region handle - Remote region UUID - If successful UUID of the remote parcel, UUID.Zero otherwise - - - - Retrieves information on resources used by the parcel - - UUID of the parcel - Should per object resource usage be requested - Callback invoked when the request is complete - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - Raises the event - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - Raises the event - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - Raises the event - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - Raises the event - - Raised when the simulator responds to a request + + Raised when the simulator sends us data containing + ... - - Raised when the simulator responds to a request + + Called when a reply is received from the login server, the + login sequence will block until this event returns - - Raised when the simulator responds to a request + + Current state of logging in - - Raised when the simulator responds to a request + + Upon login failure, contains a short string key for the + type of login error that occurred - - Raised when the simulator responds to a request + + The raw XML-RPC reply from the login server, exactly as it + was received (minus the HTTP header) - - Raised when the simulator responds to a request + + During login this contains a descriptive version of + LoginStatusCode. After a successful login this will contain the + message of the day, and after a failed login a descriptive error + message will be returned - - Raised when the simulator responds to a request + + Raised when the simulator sends us data containing + ... - - Raised when the simulator responds to a Parcel Update request + + Raised when the simulator sends us data containing + ... - - Raised when the parcel your agent is located sends a ParcelMediaCommand + + Raised when the simulator sends us data containing + ... - - - Parcel Accesslist - + + Raised when the simulator sends us data containing + ... - - Agents + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - - Flags for specific entry in white/black lists + + Raised when the simulator sends us data containing + ... - - - Owners of primitives on parcel - + + Raised when the simulator sends us data containing + ... - - Prim Owners + + Unique identifier associated with our connections to + simulators - - True of owner is group + + The simulator that the logged in avatar is currently + occupying - - Total count of prims owned by OwnerID + + Shows whether the network layer is logged in to the + grid or not - - true of OwnerID is currently online and is not a group + + Number of packets in the incoming queue - - The date of the most recent prim left by OwnerID + + Number of packets in the outgoing queue - + - Called once parcel resource usage information has been collected + - Indicates if operation was successfull - Parcel resource usage information - - - Contains a parcels dwell data returned from the simulator in response to an + + + + + - + - Construct a new instance of the ParcelDwellReplyEventArgs class + Explains why a simulator or the grid disconnected from us - The global ID of the parcel - The simulator specific ID of the parcel - The calculated dwell for the parcel - - Get the global ID of the parcel + + The client requested the logout or simulator disconnect - - Get the simulator specific ID of the parcel + + The server notified us that it is disconnecting - - Get the calculated dwell + + Either a socket was closed or network traffic timed out - - Contains basic parcel information data returned from the - simulator in response to an request + + The last active simulator shut down - + - Construct a new instance of the ParcelInfoReplyEventArgs class + Holds a simulator reference and a decoded packet, these structs are put in + the packet inbox for event handling - The object containing basic parcel info - - Get the object containing basic parcel info + + Reference to the simulator that this packet came from - - Contains basic parcel information data returned from the simulator in response to an request + + Packet that needs to be processed - + - Construct a new instance of the ParcelPropertiesEventArgs class + Holds a simulator reference and a serialized packet, these structs are put in + the packet outbox for sending - The object containing the details - The object containing the details - The result of the request - The number of primitieves your agent is - currently selecting and or sitting on in this parcel - The user assigned ID used to correlate a request with - these results - TODO: - - Get the simulator the parcel is located in + + Reference to the simulator this packet is destined for - - Get the object containing the details - If Result is NoData, this object will not contain valid data + + Packet that needs to be sent - - Get the result of the request + + Sequence number of the wrapped packet - - Get the number of primitieves your agent is - currently selecting and or sitting on in this parcel + + Number of times this packet has been resent - - Get the user assigned ID used to correlate a request with - these results + + Environment.TickCount when this packet was last sent over the wire - - TODO: + + Type of the packet - - Contains blacklist and whitelist data returned from the simulator in response to an request - - + - Construct a new instance of the ParcelAccessListReplyEventArgs class + Return a decoded capabilities message as a strongly typed object - The simulator the parcel is located in - The user assigned ID used to correlate a request with - these results - The simulator specific ID of the parcel - TODO: - The list containing the white/blacklisted agents for the parcel - - - Get the simulator the parcel is located in - - - Get the user assigned ID used to correlate a request with - these results - - - Get the simulator specific ID of the parcel - - - TODO: - - - Get the list containing the white/blacklisted agents for the parcel - - - Contains blacklist and whitelist data returned from the - simulator in response to an request + A string containing the name of the capabilities message key + An to decode + A strongly typed object containing the decoded information from the capabilities message, or null + if no existing Message object exists for the specified event - + - Construct a new instance of the ParcelObjectOwnersReplyEventArgs class + Capability to load TGAs to Bitmap - The simulator the parcel is located in - The list containing prim ownership counts - - Get the simulator the parcel is located in + + + Class for controlling various system settings. + + Some values are readonly because they affect things that + happen when the GridClient object is initialized, so changing them at + runtime won't do any good. Non-readonly values may affect things that + happen at login or dynamically - - Get the list containing prim ownership counts + + Main grid login server - - Contains the data returned when all parcel data has been retrieved from a simulator + + Beta grid login server - + - Construct a new instance of the SimParcelsDownloadedEventArgs class + InventoryManager requests inventory information on login, + GridClient initializes an Inventory store for main inventory. - The simulator the parcel data was retrieved from - The dictionary containing the parcel data - The multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - - - Get the simulator the parcel data was retrieved from - - A dictionary containing the parcel data where the key correlates to the ParcelMap entry + + + InventoryManager requests library information on login, + GridClient initializes an Inventory store for the library. + - - Get the multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + + Number of milliseconds between sending pings to each sim - - Contains the data returned when a request + + Number of milliseconds between sending camera updates - - - Construct a new instance of the ForceSelectObjectsReplyEventArgs class - - The simulator the parcel data was retrieved from - The list of primitive IDs - true if the list is clean and contains the information - only for a given request + + Number of milliseconds between updating the current + positions of moving, non-accelerating and non-colliding objects - - Get the simulator the parcel data was retrieved from + + Millisecond interval between ticks, where all ACKs are + sent out and the age of unACKed packets is checked - - Get the list of primitive IDs + + The initial size of the packet inbox, where packets are + stored before processing - - true if the list is clean and contains the information - only for a given request + + Maximum size of packet that we want to send over the wire - - Contains data when the media data for a parcel the avatar is on changes + + The maximum value of a packet sequence number before it + rolls over back to one - - - Construct a new instance of the ParcelMediaUpdateReplyEventArgs class - - the simulator the parcel media data was updated in - The updated media information + + The relative directory where external resources are kept - - Get the simulator the parcel media data was updated in + + Login server to connect to - - Get the updated media information + + IP Address the client will bind to - - Contains the media command for a parcel the agent is currently on + + Use XML-RPC Login or LLSD Login, default is XML-RPC Login - + - Construct a new instance of the ParcelMediaCommandEventArgs class + Use Caps for fetching inventory where available - The simulator the parcel media command was issued in - - - The media command that was sent - - - Get the simulator the parcel media command was issued in + + Number of milliseconds before an asset transfer will time + out - - + + Number of milliseconds before a teleport attempt will time + out - - + + Number of milliseconds before NetworkManager.Logout() will + time out - - Get the media command that was sent + + Number of milliseconds before a CAPS call will time out + Setting this too low will cause web requests time out and + possibly retry repeatedly - - + + Number of milliseconds for xml-rpc to timeout - - - - + + Milliseconds before a packet is assumed lost and resent - - - - + + Milliseconds without receiving a packet before the + connection to a simulator is assumed lost - - - - + + Milliseconds to wait for a simulator info request through + the grid interface - - - - + + The maximum size of the sequence number archive, used to + check for resent and/or duplicate packets - - - - - - + + Maximum number of queued ACKs to be sent before SendAcks() + is forced - - - The ObservableDictionary class is used for storing key/value pairs. It has methods for firing - events to subscribers when items are added, removed, or changed. - - Key - Value + + Network stats queue length (seconds) - + - A dictionary of callbacks to fire when specified action occurs + Primitives will be reused when falling in/out of interest list (and shared between clients) + prims returning to interest list do not need re-requested + Helps also in not re-requesting prim.Properties for code that checks for a Properties == null per client - + - Register a callback to be fired when an action occurs + Pool parcel data between clients (saves on requesting multiple times when all clients may need it) - The action - The callback to fire - + - Unregister a callback + How long to preserve cached data when no client is connected to a simulator + The reason for setting it to something like 2 minutes is in case a client + is running back and forth between region edges or a sim is comming and going - The action - The callback to fire - - - - - - + + Enable/disable storing terrain heightmaps in the + TerrainManager - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking + + Enable/disable sending periodic camera updates - - - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. - - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); - - + + Enable/disable automatically setting agent appearance at + login and after sim crossing - - - Initializes a new instance of the Class + + Enable/disable automatically setting the bandwidth throttle + after connecting to each simulator + The default throttle uses the equivalent of the maximum + bandwidth setting in the official client. If you do not set a + throttle your connection will by default be throttled well below + the minimum values and you may experience connection problems + + + Enable/disable the sending of pings to monitor lag and + packet loss + + + Should we connect to multiple sims? This will allow + viewing in to neighboring simulators and sim crossings + (Experimental) + + + If true, all object update packets will be decoded in to + native objects. If false, only updates for our own agent will be + decoded. Registering an event handler will force objects for that + type to always be decoded. If this is disabled the object tracking + will have missing or partial prim and avatar information + + + If true, when a cached object check is received from the + server the full object info will automatically be requested + + + Whether to establish connections to HTTP capabilities + servers for simulators + + + Whether to decode sim stats + + + The capabilities servers are currently designed to + periodically return a 502 error which signals for the client to + re-establish a connection. Set this to true to log those 502 errors + + + If true, any reference received for a folder or item + the library is not aware of will automatically be fetched + + + If true, and SEND_AGENT_UPDATES is true, + AgentUpdate packets will continuously be sent out to give the bot + smoother movement and autopiloting + + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectAvatars. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received + + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectPrimitives. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received + + + If true, position and velocity will periodically be + interpolated (extrapolated, technically) for objects and + avatars that are being tracked by the library. This is + necessary to increase the accuracy of speed and position + estimates for simulated objects + + + + If true, utilization statistics will be tracked. There is a minor penalty + in CPU time for enabling this option. + + + + If true, parcel details will be stored in the + Simulator.Parcels dictionary as they are received + + + + If true, an incoming parcel properties reply will automatically send + a request for the parcel access list + + + + + if true, an incoming parcel properties reply will automatically send + a request for the traffic count. + + + + + If true, images, and other assets downloaded from the server + will be cached in a local directory + + + + Path to store cached texture data + + + Maximum size cached files are allowed to take on disk (bytes) + + + Default color used for viewer particle effects + + + Maximum number of times to resend a failed packet + + + Throttle outgoing packet rate + + + UUID of a texture used by some viewers to indentify type of client used + + + + Download textures using GetTexture capability when available + + + + The maximum number of concurrent texture downloads allowed + Increasing this number will not necessarily increase texture retrieval times due to + simulator throttles + + + + The Refresh timer inteval is used to set the delay between checks for stalled texture downloads + + This is a static variable which applies to all instances + + + + Textures taking longer than this value will be flagged as timed out and removed from the pipeline + + + + + Get or set the minimum log level to output to the console by default + + If the library is not compiled with DEBUG defined and this level is set to DEBUG + You will get no output on the console. This behavior can be overriden by creating + a logger configuration file for log4net + + + + Attach avatar names to log messages + + + Log packet retransmission info + + + Log disk cache misses and other info + + + Constructor + Reference to a GridClient object + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Cost of uploading an asset + Read-only since this value is dynamically fetched at login + + + + The InternalDictionary class is used through the library for storing key/value pairs. + It is intended to be a replacement for the generic Dictionary class and should + be used in its place. It contains several methods for allowing access to the data from + outside the library that are read only and thread safe. + + + Key + Value + + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking + on this member + + + + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. + + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); + + + + + + Initializes a new instance of the Class + with the specified key/value, has its initial valies copied from the specified + + + + to copy initial values from + + + // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. + // populates with copied values from example KeyNameCache Dictionary. + + // create source dictionary + Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); + KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); + KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); + + // Initialize new dictionary. + public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); + + + + + + Initializes a new instance of the Class with the specified key/value, With its initial capacity specified. Initial size of dictionary - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, // initially allocated room for 10 entries. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); - + - Try to get entry from the with specified key + Try to get entry from with specified key Key to use for lookup Value returned if specified key exists, if not found - // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: + // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: Avatar av; if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) Console.WriteLine("Found Avatar {0}", av.Name); @@ -9700,7 +8921,7 @@ - + Finds the specified match. @@ -9708,7 +8929,7 @@ Matched value - // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary + // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary // with the ID 95683496 uint findID = 95683496; Primitive findPrim = sim.ObjectsPrimitives.Find( @@ -9716,8 +8937,8 @@ - - Find All items in an + + Find All items in an return matching items. a containing found items. @@ -9733,8 +8954,8 @@ - - Find All items in an + + Find All items in an return matching keys. a containing found keys. @@ -9748,6957 +8969,5955 @@ - - Check if Key exists in Dictionary - Key to check for - if found, otherwise - - - Check if Value exists in Dictionary - Value to check for - if found, otherwise - - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - + + Perform an on each entry in an + to perform + + + // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. + Client.Network.CurrentSim.ObjectsPrimitives.ForEach( + delegate(Primitive prim) + { + if (prim.Text != null) + { + Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", + prim.PropertiesFamily.Name, prim.ID, prim.Text); + } + }); + + + + + Perform an on each key of an + to perform + + + + Perform an on each KeyValuePair of an + + to perform + + + Check if Key exists in Dictionary + Key to check for + if found, otherwise + + + Check if Value exists in Dictionary + Value to check for + if found, otherwise + + + + Adds the specified key to the dictionary, dictionary locking is not performed, + + The key The value - + Removes the specified key, dictionary locking is not performed The key. if successful, otherwise - + - Clear the contents of the dictionary + Gets the number of Key/Value pairs contained in the - + - Enumerator for iterating dictionary entries + Indexer for the dictionary - + The key + The value - + - Gets the number of Key/Value pairs contained in the + Avatar profile flags - + - Indexer for the dictionary + Represents an avatar (other than your own) - The key - The value - + - Avatar group management + Particle system specific enumerators, flags and methods. - - Key of Group Member - - - Total land contribution + + - - Online status information + + - - Abilities that the Group Member has + + - - Current group title + + - - Is a group owner + + - - - Role manager for a group - + + - - Key of the group + + - - Key of Role + + - - Name of Role + + Foliage type for this primitive. Only applicable if this + primitive is foliage - - Group Title associated with Role + + Unknown - - Description of Role + + - - Abilities Associated with Role + + - - Returns the role's title - The role's title + + - - - Class to represent Group Title - + + - - Key of the group + + - - ID of the role title belongs to + + - - Group Title + + - - Whether title is Active + + - - Returns group title + + - - - Represents a group on the grid - + + - - Key of Group + + - - Key of Group Insignia + + - - Key of Group Founder + + - - Key of Group Role for Owners + + Identifies the owner if audio or a particle system is + active - - Name of Group + + - - Text of Group Charter + + - - Title of "everyone" role + + - - Is the group open for enrolement to everyone + + - - Will group show up in search + + - + - + - + - - Is the group Mature + + - - Cost of group membership + + - + - + - - The total number of current members this group has + + Objects physics engine propertis - - The number of roles this group has configured + + Extra data about primitive - - Show this group in agent's profile + + Indicates if prim is attached to an avatar - - Returns the name of the group - A string containing the name of the group + + Number of clients referencing this prim - + - A group Vote + Default constructor - - Key of Avatar who created Vote + + + Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters in to signed eight bit values + + Floating point parameter to pack + Signed eight bit value containing the packed parameter - - Text of the Vote proposal + + + Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters from signed eight bit integers to floating point values + + Signed eight bit value to unpack + Unpacked floating point value - - Total number of votes + + + Current version of the media data for the prim + - + - A group proposal + Array of media entries indexed by face number - - The Text of the proposal - - - The minimum number of members that must vote before proposal passes or failes - - - The required ration of yes/no votes required for vote to pass - The three options are Simple Majority, 2/3 Majority, and Unanimous - TODO: this should be an enum + + - - The duration in days votes are accepted + + Uses basic heuristics to estimate the primitive shape - + - + Texture animation mode - - + + Disable texture animation - - + + Enable texture animation - - + + Loop when animating textures - - + + Animate in reverse direction - - + + Animate forward then reverse - - + + Slide texture smoothly instead of frame-stepping - - + + Rotate texture instead of using frames - + + Scale texture instead of using frames + + + + A single textured face. Don't instantiate this class yourself, use the + methods in TextureEntry + + + + + Contains the definition for individual faces + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + + In the future this will specify whether a webpage is + attached to this face + + - + - + - Struct representing a group notice + Represents all of the texturable faces for an object + Grid objects have infinite faces, with each face + using the properties of the default face unless set otherwise. So if + you have a TextureEntry with a default texture uuid of X, and face 18 + has a texture UUID of Y, every face would be textured with X except for + face 18 that uses Y. In practice however, primitives utilize a maximum + of nine faces - + - + - - + + + Constructor that takes a default texture UUID + + Texture UUID to use as the default texture - - + + + Constructor that takes a TextureEntryFace for the + default face + + Face to use as the default face - + + + Constructor that creates the TextureEntry class from a byte array + + Byte array containing the TextureEntry field + Starting position of the TextureEntry field in + the byte array + Length of the TextureEntry field, in bytes + + + + This will either create a new face if a custom face for the given + index is not defined, or return the custom face for that index if + it already exists + + The index number of the face to create or + retrieve + A TextureEntryFace containing all the properties for that + face + + + - + - Struct representing a group notice list entry + + - - Notice ID + + + + + - - Creation timestamp of notice + + + + + - - Agent name who created notice + + + Controls the texture animation of a particular prim + - - Notice subject + + - - Is there an attachment? + + - - Attachment Type + + - - - Struct representing a member of a group chat session and their settings - + + - - The of the Avatar + + - - True if user has voice chat enabled + + - - True of Avatar has moderator abilities + + - - True if a moderator has muted this avatars chat + + + + + + - - True if a moderator has muted this avatars voice + + + + + - + - Role update flags + Parameters used to construct a visual representation of a primitive - + - + - + - + - + - + - + - - Can send invitations to groups default role + + - - Can eject members from group + + - - Can toggle 'Open Enrollment' and change 'Signup fee' + + - - Member is visible in the public member list + + - - Can create new roles + + - - Can delete existing roles + + - - Can change Role names, titles and descriptions + + - - Can assign other members to assigners role + + - - Can assign other members to any role + + - - Can remove members from roles + + - - Can assign and remove abilities in roles + + - - Can change group Charter, Insignia, 'Publish on the web' and which - members are publicly visible in group member listings + + - - Can buy land or deed land to group + + - - Can abandon group owned land to Governor Linden on mainland, or Estate owner for - private estates + + - - Can set land for-sale information on group owned parcels + + + Calculdates hash code for prim construction data + + The has - - Can subdivide and join parcels + + Attachment point to an avatar - - Can join group chat sessions + + - - Can use voice chat in Group Chat sessions + + - - Can moderate group chat sessions + + - - Can toggle "Show in Find Places" and set search category + + - - Can change parcel name, description, and 'Publish on web' settings + + + Information on the flexible properties of a primitive + - - Can set the landing point and teleport routing on group land + + - - Can change music and media settings + + - - Can toggle 'Edit Terrain' option in Land settings + + - - Can toggle various About Land > Options settings + + - - Can always terraform land, even if parcel settings have it turned off + + - - Can always fly while over group owned land + + - - Can always rez objects on group owned land + + + Default constructor + - - Can always create landmarks for group owned parcels + + + + + + - - Can set home location on any group owned parcel + + + + + - - Can modify public access settings for group owned parcels + + + + + - - Can manager parcel ban lists on group owned land + + + Information on the light properties of a primitive + - - Can manage pass list sales information + + - - Can eject and freeze other avatars on group owned land + + - - Can return objects set to group + + - - Can return non-group owned/set objects + + - - Can return group owned objects + + - - Can landscape using Linden plants + + + Default constructor + - - Can deed objects to group + + + + + + - - Can move group owned objects + + + + + - - Can set group owned objects for-sale + + + + + - - Pay group liabilities and receive group dividends + + + Information on the light properties of a primitive as texture map + - - Can send group notices + + - - Can receive group notices + + - - Can create group proposals + + + Default constructor + - - Can vote on group proposals + + + + + + - + - Handles all network traffic related to reading and writing group - information + + - - The event subscribers. null if no subcribers + + + + + - - Raises the CurrentGroups event - A CurrentGroupsEventArgs object containing the - data sent from the simulator + + + Information on the sculpt properties of a sculpted primitive + - - Thread sync lock object + + + Default constructor + - - The event subscribers. null if no subcribers + + + + + + - - Raises the GroupNamesReply event - A GroupNamesEventArgs object containing the - data response from the simulator + + + Render inside out (inverts the normals). + - - Thread sync lock object + + + Render an X axis mirror of the sculpty. + - - The event subscribers. null if no subcribers + + + Extended properties to describe an object + - - Raises the GroupProfile event - An GroupProfileEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupMembers event - A GroupMembersEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupRolesDataReply event - A GroupRolesDataReplyEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupRoleMembersReply event - A GroupRolesRoleMembersReplyEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupTitlesReply event - A GroupTitlesReplyEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupAccountSummary event - A GroupAccountSummaryReplyEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupCreated event - An GroupCreatedEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupJoined event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + + Default constructor + - - Raises the GroupLeft event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator + + + Set the properties that are set in an ObjectPropertiesFamily packet + + that has + been partially filled by an ObjectPropertiesFamily packet - - Thread sync lock object + + + Describes physics attributes of the prim + - - The event subscribers. null if no subcribers + + Primitive's local ID - - Raises the GroupDropped event - An GroupDroppedEventArgs object containing the - the group your agent left + + Density (1000 for normal density) - - Thread sync lock object + + Friction - - The event subscribers. null if no subcribers + + Gravity multiplier (1 for normal gravity) - - Raises the GroupMemberEjected event - An GroupMemberEjectedEventArgs object containing the - data returned from the simulator + + Type of physics representation of this primitive in the simulator - - Thread sync lock object + + Restitution - - The event subscribers. null if no subcribers + + + Creates PhysicsProperties from OSD + + OSDMap with incoming data + Deserialized PhysicsProperties object - - Raises the GroupNoticesListReply event - An GroupNoticesListReplyEventArgs object containing the - data returned from the simulator + + + Serializes PhysicsProperties to OSD + + OSDMap with serialized PhysicsProperties data - - Thread sync lock object + + + Complete structure for the particle system + - - The event subscribers. null if no subcribers + + Particle Flags + There appears to be more data packed in to this area + for many particle systems. It doesn't appear to be flag values + and serialization breaks unless there is a flag for every + possible bit so it is left as an unsigned integer - - Raises the GroupInvitation event - An GroupInvitationEventArgs object containing the - data returned from the simulator + + pattern of particles - - Thread sync lock object + + A representing the maximimum age (in seconds) particle will be displayed + Maximum value is 30 seconds - - A reference to the current instance + + A representing the number of seconds, + from when the particle source comes into view, + or the particle system's creation, that the object will emits particles; + after this time period no more particles are emitted - - Currently-active group members requests + + A in radians that specifies where particles will not be created - - Currently-active group roles requests + + A in radians that specifies where particles will be created - - Currently-active group role-member requests + + A representing the number of seconds between burts. - - Dictionary keeping group members while request is in progress + + A representing the number of meters + around the center of the source where particles will be created. - - Dictionary keeping mebmer/role mapping while request is in progress + + A representing in seconds, the minimum speed between bursts of new particles + being emitted - - Dictionary keeping GroupRole information while request is in progress + + A representing in seconds the maximum speed of new particles being emitted. - - Caches group name lookups + + A representing the maximum number of particles emitted per burst - - - Construct a new instance of the GroupManager class - - A reference to the current instance + + A which represents the velocity (speed) from the source which particles are emitted - - - Request a current list of groups the avatar is a member of. - - CAPS Event Queue must be running for this to work since the results - come across CAPS. + + A which represents the Acceleration from the source which particles are emitted - - - Lookup name of group based on groupID - - groupID of group to lookup name for. + + The Key of the texture displayed on the particle - - - Request lookup of multiple group names - - List of group IDs to request. + + The Key of the specified target object or avatar particles will follow - - Lookup group profile data such as name, enrollment, founder, logo, etc - Subscribe to OnGroupProfile event to receive the results. - group ID (UUID) + + Flags of particle from - - Request a list of group members. - Subscribe to OnGroupMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + Max Age particle system will emit particles for - - Request group roles - Subscribe to OnGroupRoles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Request members (members,role) role mapping for a group. - Subscribe to OnGroupRolesMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Request a groups Titles - Subscribe to OnGroupTitles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + The the particle has at the beginning of its lifecycle - - Begin to get the group account summary - Subscribe to the OnGroupAccountSummary event to receive the results. - group ID (UUID) - How long of an interval - Which interval (0 for current, 1 for last) + + The the particle has at the ending of its lifecycle - - Invites a user to a group - The group to invite to - A list of roles to invite a person to - Key of person to invite + + A that represents the starting X size of the particle + Minimum value is 0, maximum value is 4 - - Set a group as the current active group - group ID (UUID) + + A that represents the starting Y size of the particle + Minimum value is 0, maximum value is 4 - - Change the role that determines your active title - Group ID to use - Role ID to change to + + A that represents the ending X size of the particle + Minimum value is 0, maximum value is 4 - - Set this avatar's tier contribution - Group ID to change tier in - amount of tier to donate + + A that represents the ending Y size of the particle + Minimum value is 0, maximum value is 4 - + - Save wheather agent wants to accept group notices and list this group in their profile + Decodes a byte[] array into a ParticleSystem Object - Group - Accept notices from this group - List this group in the profile + ParticleSystem object + Start position for BitPacker - - Request to join a group - Subscribe to OnGroupJoined event for confirmation. - group ID (UUID) to join. + + + Generate byte[] array from particle data + + Byte array - + - Request to create a new group. If the group is successfully - created, L$100 will automatically be deducted + Particle source pattern - Subscribe to OnGroupCreated event to receive confirmation. - Group struct containing the new group info - - Update a group's profile and other information - Groups ID (UUID) to update. - Group struct to update. + + None - - Eject a user from a group - Group ID to eject the user from - Avatar's key to eject + + Drop particles from source position with no force - - Update role information - Modified role to be updated + + "Explode" particles in all directions - - Create a new group role - Group ID to update - Role to create + + Particles shoot across a 2D area - - Delete a group role - Group ID to update - Role to delete + + Particles shoot across a 3D Cone - - Remove an avatar from a role - Group ID to update - Role ID to be removed from - Avatar's Key to remove + + Inverse of AngleCone (shoot particles everywhere except the 3D cone defined - - Assign an avatar to a role - Group ID to update - Role ID to assign to - Avatar's ID to assign to role + + + Particle Data Flags + - - Request the group notices list - Group ID to fetch notices for + + None - - Request a group notice by key - ID of group notice + + Interpolate color and alpha from start to end - - Send out a group notice - Group ID to update - GroupNotice structure containing notice data + + Interpolate scale from start to end - - Start a group proposal (vote) - The Group ID to send proposal to - GroupProposal structure containing the proposal + + Bounce particles off particle sources Z height - - Request to leave a group - Subscribe to OnGroupLeft event to receive confirmation - The group to leave + + velocity of particles is dampened toward the simulators wind - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Particles follow the source - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Particles point towards the direction of source's velocity - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Target of the particles - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Particles are sent in a straight line - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Particles emit a glow - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + used for point/grab/touch - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Particle Flags Enum + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + None - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Acceleration and velocity for particles are + relative to the object rotation - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Particles use new 'correct' angle parameters - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Groups that this avatar is a member of - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Positive and negative ratings - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Avatar properties including about text, profile URL, image IDs and + publishing settings - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Avatar interests including spoken languages, skills, and "want to" + choices - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Movement control flags for avatars. Typically not set or used by + clients. To move your avatar, use Client.Self.Movement instead - - Raised when the simulator sends us data containing - our current group membership + + + Contains the visual parameters describing the deformation of the avatar + - - Raised when the simulator responds to a RequestGroupName - or RequestGroupNames request + + + Appearance version. Value greater than 0 indicates using server side baking + - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request + + + Version of the Current Outfit Folder that the appearance is based on + - - Raised when the simulator responds to a request + + + Appearance flags. Introduced with server side baking, currently unused. + - - Raised when a response to a RequestGroupAccountSummary is returned - by the simulator + + + List of current avatar animations + - - Raised when a request to create a group is successful + + + Default constructor + - - Raised when a request to join a group either - fails or succeeds + + First name - - Raised when a request to leave a group either - fails or succeeds + + Last name - - Raised when A group is removed from the group server + + Full name - - Raised when a request to eject a member from a group either - fails or succeeds + + Active group - - Raised when the simulator sends us group notices - + + + Positive and negative ratings + - - Raised when another agent invites our avatar to join a group + + Positive ratings for Behavior - - Contains the current groups your agent is a member of + + Negative ratings for Behavior - - Construct a new instance of the CurrentGroupsEventArgs class - The current groups your agent is a member of + + Positive ratings for Appearance - - Get the current groups your agent is a member of + + Negative ratings for Appearance - - A Dictionary of group names, where the Key is the groups ID and the value is the groups name + + Positive ratings for Building - - Construct a new instance of the GroupNamesEventArgs class - The Group names dictionary + + Negative ratings for Building - - Get the Group Names dictionary + + Positive ratings given by this avatar - - Represents the members of a group + + Negative ratings given by this avatar - + - Construct a new instance of the GroupMembersReplyEventArgs class + Avatar properties including about text, profile URL, image IDs and + publishing settings - The ID of the request - The ID of the group - The membership list of the group - - Get the ID as returned by the request to correlate - this result set and the request + + First Life about text - - Get the ID of the group + + First Life image ID - - Get the dictionary of members + + - - Represents the roles associated with a group + + - - Construct a new instance of the GroupRolesDataReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The dictionary containing the roles + + - - Get the ID as returned by the request to correlate - this result set and the request + + - - Get the ID of the group + + Profile image ID - - Get the dictionary containing the roles + + Flags of the profile - - Represents the Role to Member mappings for a group + + Web URL for this profile - - Construct a new instance of the GroupRolesMembersReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The member to roles map + + Should this profile be published on the web - - Get the ID as returned by the request to correlate - this result set and the request + + Avatar Online Status - - Get the ID of the group + + Is this a mature profile - - Get the member to roles map + + - - Represents the titles for a group + + - - Construct a new instance of the GroupTitlesReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The titles + + + Avatar interests including spoken languages, skills, and "want to" + choices + - - Get the ID as returned by the request to correlate - this result set and the request + + Languages profile field - - Get the ID of the group + + - - Get the titles + + - - Represents the summary data for a group + + - - Construct a new instance of the GroupAccountSummaryReplyEventArgs class - The ID of the group - The summary data + + - - Get the ID of the group + + + Throttles the network traffic for various different traffic types. + Access this class through GridClient.Throttle + - - Get the summary data + + + Default constructor, uses a default high total of 1500 KBps (1536000) + - - A response to a group create request + + + Constructor that decodes an existing AgentThrottle packet in to + individual values + + Reference to the throttle data in an AgentThrottle + packet + Offset position to start reading at in the + throttle data + This is generally not needed in clients as the server will + never send a throttle packet to the client - - Construct a new instance of the GroupCreatedReplyEventArgs class - The ID of the group - the success or faulure of the request - A string containing additional information + + + Send an AgentThrottle packet to the current server using the + current values + - - Get the ID of the group + + + Send an AgentThrottle packet to the specified server using the + current values + - - true of the group was created successfully + + + Convert the current throttle values to a byte array that can be put + in an AgentThrottle packet + + Byte array containing all the throttle values - - A string containing the message + + Maximum bits per second for resending unacknowledged packets - - Represents a response to a request + + Maximum bits per second for LayerData terrain - - Construct a new instance of the GroupOperationEventArgs class - The ID of the group - true of the request was successful + + Maximum bits per second for LayerData wind data - - Get the ID of the group + + Maximum bits per second for LayerData clouds - - true of the request was successful + + Unknown, includes object data - - Represents your agent leaving a group + + Maximum bits per second for textures - - Construct a new instance of the GroupDroppedEventArgs class - The ID of the group + + Maximum bits per second for downloaded assets - - Get the ID of the group + + Maximum bits per second the entire connection, divided up + between invidiual streams using default multipliers - - Represents a list of active group notices + + = - - Construct a new instance of the GroupNoticesListReplyEventArgs class - The ID of the group - The list containing active notices + + Number of times we've received an unknown CAPS exception in series. - - Get the ID of the group + + For exponential backoff on error. - - Get the notices list + + + Represents Mesh asset + - - Represents the profile of a group + + + Decoded mesh data + - - Construct a new instance of the GroupProfileEventArgs class - The group profile + + Initializes a new instance of an AssetMesh object - - Get the group profile + + Initializes a new instance of an AssetMesh object with parameters + A unique specific to this asset + A byte array containing the raw asset data - + - Provides notification of a group invitation request sent by another Avatar + TODO: Encodes Collada file into LLMesh format - The invitation is raised when another avatar makes an offer for our avatar - to join a group. - - The ID of the Avatar sending the group invitation + + + Decodes mesh asset. See + to furter decode it for rendering + true - - The name of the Avatar sending the group invitation + + Override the base classes AssetType - - A message containing the request information which includes - the name of the group, the groups charter and the fee to join details + + X position of this patch - - The Simulator + + Y position of this patch - - Set to true to accept invitation, false to decline + + A 16x16 array of floats holding decompressed layer data - + - + Creates a LayerData packet for compressed land data given a full + simulator heightmap and an array of indices of patches to compress - Looking direction, must be a normalized vector - Up direction, must be a normalized vector + A 256 * 256 array of floating point values + specifying the height at each meter in the simulator + Array of indexes in the 16x16 grid of patches + for this simulator. For example if 1 and 17 are specified, patches + x=1,y=0 and x=1,y=1 are sent + - + - Align the coordinate frame X and Y axis with a given rotation - around the Z axis in radians + Add a patch of terrain to a BitPacker - Absolute rotation around the Z axis in - radians - - - Origin position of this coordinate frame - - - X axis of this coordinate frame, or Forward/At in grid terms - - - Y axis of this coordinate frame, or Left in grid terms - - - Z axis of this coordinate frame, or Up in grid terms + BitPacker to write the patch to + Heightmap of the simulator, must be a 256 * + 256 float array + X offset of the patch to create, valid values are + from 0 to 15 + Y offset of the patch to create, valid values are + from 0 to 15 - + - Avatar profile flags + Permission request flags, asked when a script wants to control an Avatar - - - Represents an avatar (other than your own) - + + Placeholder for empty values, shouldn't ever see this - - Groups that this avatar is a member of + + Script wants ability to take money from you - - Positive and negative ratings + + Script wants to take camera controls for you - - Avatar properties including about text, profile URL, image IDs and - publishing settings + + Script wants to remap avatars controls - - Avatar interests including spoken languages, skills, and "want to" - choices + + Script wants to trigger avatar animations + This function is not implemented on the grid - - Movement control flags for avatars. Typically not set or used by - clients. To move your avatar, use Client.Self.Movement instead + + Script wants to attach or detach the prim or primset to your avatar - - - Contains the visual parameters describing the deformation of the avatar - + + Script wants permission to release ownership + This function is not implemented on the grid + The concept of "public" objects does not exist anymore. - - - Default constructor - + + Script wants ability to link/delink with other prims - - First name + + Script wants permission to change joints + This function is not implemented on the grid - - Last name + + Script wants permissions to change permissions + This function is not implemented on the grid - - Full name + + Script wants to track avatars camera position and rotation - - Active group + + Script wants to control your camera - + + Script wants the ability to teleport you + + - Positive and negative ratings + Special commands used in Instant Messages - - Positive ratings for Behavior + + Indicates a regular IM from another agent - - Negative ratings for Behavior + + Simple notification box with an OK button - - Positive ratings for Appearance + + You've been invited to join a group. - - Negative ratings for Appearance + + Inventory offer - - Positive ratings for Building + + Accepted inventory offer - - Negative ratings for Building + + Declined inventory offer - - Positive ratings given by this avatar + + Group vote - - Negative ratings given by this avatar + + An object is offering its inventory - - - Avatar properties including about text, profile URL, image IDs and - publishing settings - + + Accept an inventory offer from an object - - First Life about text + + Decline an inventory offer from an object - - First Life image ID + + Unknown - - + + Start a session, or add users to a session - - + + Start a session, but don't prune offline users - - + + Start a session with your group - - + + Start a session without a calling card (finder or objects) - - Profile image ID + + Send a message to a session - - Flags of the profile + + Leave a session - - Web URL for this profile + + Indicates that the IM is from an object - - Should this profile be published on the web + + Sent an IM to a busy user, this is the auto response - - Avatar Online Status + + Shows the message in the console and chat history - - Is this a mature profile + + Send a teleport lure - - + + Response sent to the agent which inititiated a teleport invitation - - + + Response sent to the agent which inititiated a teleport invitation - - - Avatar interests including spoken languages, skills, and "want to" - choices - + + Only useful if you have Linden permissions - - Languages profile field + + Request a teleport lure - - + + IM to tell the user to go to an URL - - + + IM for help - - + + IM sent automatically on call for help, sends a lure + to each Helper reached - - + + Like an IM but won't go to email - - - Extract the avatar UUID encoded in a SIP URI - - - + + IM from a group officer to all group members - - - Permissions for control of object media - + + Unknown - - - Style of cotrols that shold be displayed to the user - + + Unknown - - - Class representing media data for a single face - + + Accept a group invitation - - Is display of the alternative image enabled + + Decline a group invitation - - Should media auto loop + + Unknown - - Shoule media be auto played + + An avatar is offering you friendship - - Auto scale media to prim face + + An avatar has accepted your friendship offer - - Should viewer automatically zoom in on the face when clicked + + An avatar has declined your friendship offer - - Should viewer interpret first click as interaction with the media - or when false should the first click be treated as zoom in commadn + + Indicates that a user has started typing - - Style of controls viewer should display when - viewer media on this face + + Indicates that a user has stopped typing - - Starting URL for the media + + + Flag in Instant Messages, whether the IM should be delivered to + offline avatars as well + - - Currently navigated URL + + Only deliver to online avatars - - Media height in pixes + + If the avatar is offline the message will be held until + they login next, and possibly forwarded to their e-mail account - - Media width in pixels + + + Conversion type to denote Chat Packet types in an easier-to-understand format + - - Who can controls the media + + Whisper (5m radius) - - Who can interact with the media + + Normal chat (10/20m radius), what the official viewer typically sends - - Is URL whitelist enabled + + Shouting! (100m radius) - - Array of URLs that are whitelisted + + Event message when an Avatar has begun to type - - - Serialize to OSD - - OSDMap with the serialized data + + Event message when an Avatar has stopped typing - - - Deserialize from OSD data - - Serialized OSD data - Deserialized object + + Send the message to the debug channel - - - Operation to apply when applying color to texture - + + Event message when an object uses llOwnerSay - - - Information needed to translate visual param value to RGBA color - + + Special value to support llRegionSay, never sent to the client - + - Construct VisualColorParam + Identifies the source of a chat message - Operation to apply when applying color to texture - Colors - + + Chat from the grid or simulator + + + Chat from another avatar + + + Chat from an object + + - Represents alpha blending and bump infor for a visual parameter - such as sleive length + - - Stregth of the alpha to apply - - - File containing the alpha channel + + - - Skip blending if parameter value is 0 + + - - Use miltiply insted of alpha blending + + - + - Create new alhpa information for a visual param + Effect type used in ViewerEffect packets - Stregth of the alpha to apply - File containing the alpha channel - Skip blending if parameter value is 0 - Use miltiply insted of alpha blending - - - A single visual characteristic of an avatar mesh, such as eyebrow height - + + - - Index of this visual param + + - - Internal name + + - - Group ID this parameter belongs to + + - - Name of the wearable this parameter belongs to + + - - Displayable label of this characteristic + + - - Displayable label for the minimum value of this characteristic + + - - Displayable label for the maximum value of this characteristic + + Project a beam from a source to a destination, such as + the one used when editing an object - - Default value + + - - Minimum value + + - - Maximum value + + - - Is this param used for creation of bump layer? + + Create a swirl of particles around an object - - Alpha blending/bump info + + - - Color information + + - - Array of param IDs that are drivers for this parameter + + Cause an avatar to look at an object - - - Set all the values through the constructor - - Index of this visual param - Internal name - - - Displayable label of this characteristic - Displayable label for the minimum value of this characteristic - Displayable label for the maximum value of this characteristic - Default value - Minimum value - Maximum value - Is this param used for creation of bump layer? - Array of param IDs that are drivers for this parameter - Alpha blending/bump info - Color information + + Cause an avatar to point at an object - + - Holds the Params array of all the avatar appearance parameters + The action an avatar is doing when looking at something, used in + ViewerEffect packets for the LookAt effect - - - The InternalDictionary class is used through the library for storing key/value pairs. - It is intended to be a replacement for the generic Dictionary class and should - be used in its place. It contains several methods for allowing access to the data from - outside the library that are read only and thread safe. - - - Key - Value + + - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking - on this member + + - - - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. - - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); - - + + - - - Initializes a new instance of the Class - with the specified key/value, has its initial valies copied from the specified - - - - to copy initial values from - - - // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. - // populates with copied values from example KeyNameCache Dictionary. - - // create source dictionary - Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); - KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); - KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); - - // Initialize new dictionary. - public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); - - + + - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); - - + + - - - Try to get entry from with specified key - - Key to use for lookup - Value returned - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - + + - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - + + Deprecated - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - + + - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - + + - - Perform an on each entry in an - to perform - - - // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. - Client.Network.CurrentSim.ObjectsPrimitives.ForEach( - delegate(Primitive prim) - { - if (prim.Text != null) - { - Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", - prim.PropertiesFamily.Name, prim.ID, prim.Text); - } - }); - - + + - - Perform an on each key of an - to perform + + - + - Perform an on each KeyValuePair of an + The action an avatar is doing when pointing at something, used in + ViewerEffect packets for the PointAt effect - to perform - - Check if Key exists in Dictionary - Key to check for - if found, otherwise + + - - Check if Value exists in Dictionary - Value to check for - if found, otherwise + + - + + + + + + + - Adds the specified key to the dictionary, dictionary locking is not performed, - + Money transaction types - The key - The value - - - Removes the specified key, dictionary locking is not performed - - The key. - if successful, otherwise + + - - - Gets the number of Key/Value pairs contained in the - + + - - - Indexer for the dictionary - - The key - The value + + - - - This is used to initialize and stop the Connector as a whole. The Connector - Create call must be completed successfully before any other requests are made - (typically during application initialization). The shutdown should be called - when the application is shutting down to gracefully release resources - - A string value indicting the Application name - URL for the management server - LoggingSettings - - + + - - - Shutdown Connector -- Should be called when the application is shutting down - to gracefully release resources - - Handle returned from successful Connector ‘create’ request + + - - - Mute or unmute the microphone - - Handle returned from successful Connector ‘create’ request - true (mute) or false (unmute) + + - - - Mute or unmute the speaker - - Handle returned from successful Connector ‘create’ request - true (mute) or false (unmute) + + - - - Set microphone volume - - Handle returned from successful Connector ‘create’ request - The level of the audio, a number between -100 and 100 where - 0 represents ‘normal’ speaking volume + + - - - Set local speaker volume - - Handle returned from successful Connector ‘create’ request - The level of the audio, a number between -100 and 100 where - 0 represents ‘normal’ speaking volume + + - - - Starts a thread that keeps the daemon running - - - + + - - - Stops the daemon and the thread keeping it running - + + - - - - - - - + + - - - This is used to get a list of audio devices that can be used for capture (input) of voice. - - + + - - - This is used to get a list of audio devices that can be used for render (playback) of voice. - + + - - - This command is used to select the render device. - - The name of the device as returned by the Aux.GetRenderDevices command. + + - - - This command is used to select the capture device. - - The name of the device as returned by the Aux.GetCaptureDevices command. + + - - - This command is used to start the audio capture process which will cause - AuxAudioProperty Events to be raised. These events can be used to display a - microphone VU meter for the currently selected capture device. This command - should not be issued if the user is on a call. - - (unused but required) - + + - - - This command is used to stop the audio capture process. - - + + - - - This command is used to set the mic volume while in the audio tuning process. - Once an acceptable mic level is attained, the application must issue a - connector set mic volume command to have that level be used while on voice - calls. - - the microphone volume (-100 to 100 inclusive) - + + - - - This command is used to set the speaker volume while in the audio tuning - process. Once an acceptable speaker level is attained, the application must - issue a connector set speaker volume command to have that level be used while - on voice calls. - - the speaker volume (-100 to 100 inclusive) - + + - - - Create a Session - Sessions typically represent a connection to a media session with one or more - participants. This is used to generate an ‘outbound’ call to another user or - channel. The specifics depend on the media types involved. A session handle is - required to control the local user functions within the session (or remote - users if the current account has rights to do so). Currently creating a - session automatically connects to the audio media, there is no need to call - Session.Connect at this time, this is reserved for future use. - - Handle returned from successful Connector ‘create’ request - This is the URI of the terminating point of the session (ie who/what is being called) - This is the display name of the entity being called (user or channel) - Only needs to be supplied when the target URI is password protected - This indicates the format of the password as passed in. This can either be - “ClearText” or “SHA1UserName”. If this element does not exist, it is assumed to be “ClearText”. If it is - “SHA1UserName”, the password as passed in is the SHA1 hash of the password and username concatenated together, - then base64 encoded, with the final “=” character stripped off. - - - + + - - - Used to accept a call - - SessionHandle such as received from SessionNewEvent - "default" - + + - - - This command is used to start the audio render process, which will then play - the passed in file through the selected audio render device. This command - should not be issued if the user is on a call. - - The fully qualified path to the sound file. - True if the file is to be played continuously and false if it is should be played once. - + + - - - This command is used to stop the audio render process. - - The fully qualified path to the sound file issued in the start render command. - + + - - - This is used to ‘end’ an established session (i.e. hang-up or disconnect). - - Handle returned from successful Session ‘create’ request or a SessionNewEvent - + + - - - Set the combined speaking and listening position in 3D space. - - Handle returned from successful Session ‘create’ request or a SessionNewEvent - Speaking position - Listening position - + + - - - Set User Volume for a particular user. Does not affect how other users hear that user. - - Handle returned from successful Session ‘create’ request or a SessionNewEvent - - The level of the audio, a number between -100 and 100 where 0 represents ‘normal’ speaking volume - + + - - - Start up the Voice service. - + + - - - Handle miscellaneous request status - - - - ///If something goes wrong, we log it. + + - - - Cleanup oject resources - + + - - - Request voice cap when changing regions - + + - - - Handle a change in session state - + + - - - Close a voice session - - + + - - - Locate a Session context from its handle - - Creates the session context if it does not exist. + + - - - Handle completion of main voice cap request. - - - - + + - - - Daemon has started so connect to it. - + + - - - The daemon TCP connection is open. - + + - - - Handle creation of the Connector. - + + - - - Handle response to audio output device query - + + - - - Handle response to audio input device query - + + - - - Set voice channel for new parcel - - + + - - - Request info from a parcel capability Uri. - - + + - - - Receive parcel voice cap - - - - + + - - - Tell Vivox where we are standing - - This has to be called when we move or turn. + + - - - Start and stop updating out position. - - + + - - - This is used to login a specific user account(s). It may only be called after - Connector initialization has completed successfully - - Handle returned from successful Connector ‘create’ request - User's account name - User's account password - Values may be “AutoAnswer” or “VerifyAnswer” - "" - This is an integer that specifies how often - the daemon will send participant property events while in a channel. If this is not set - the default will be “on state change”, which means that the events will be sent when - the participant starts talking, stops talking, is muted, is unmuted. - The valid values are: - 0 – Never - 5 – 10 times per second - 10 – 5 times per second - 50 – 1 time per second - 100 – on participant state change (this is the default) - false - + + - - - This is used to logout a user session. It should only be called with a valid AccountHandle. - - Handle returned from successful Connector ‘login’ request - + + - + + + + + + + + + + - Event for most mundane request reposnses. + - - Response to Connector.Create request + + - - Response to Aux.GetCaptureDevices request + + - - Response to Aux.GetRenderDevices request + + - - Audio Properties Events are sent after audio capture is started. - These events are used to display a microphone VU meter + + - - Response to Account.Login request + + - - This event message is sent whenever the login state of the - particular Account has transitioned from one value to another + + - + - List of audio input devices + - - - List of audio output devices - + + - - - Set audio test mode - + + - - Enable logging + + - - The folder where any logs will be created + + - - This will be prepended to beginning of each log file + + - - The suffix or extension to be appended to each log file + + - + - 0: NONE - No logging - 1: ERROR - Log errors only - 2: WARNING - Log errors and warnings - 3: INFO - Log errors, warnings and info - 4: DEBUG - Log errors, warnings, info and debug + Flags sent when a script takes or releases a control + NOTE: (need to verify) These might be a subset of the ControlFlags enum in Movement, - - - Constructor for default logging settings - + + No Flags set - - Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter + + Forward (W or up Arrow) - - - Abstract base for rendering plugins - + + Back (S or down arrow) - - - Generates a basic mesh structure from a primitive - - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh + + Move left (shift+A or left arrow) - - - Generates a basic mesh structure from a sculpted primitive and - texture - - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh + + Move right (shift+D or right arrow) - - - Generates a series of faces, each face containing a mesh and - metadata - - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh + + Up (E or PgUp) - - - Generates a series of faces for a sculpted prim, each face - containing a mesh and metadata - - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh + + Down (C or PgDown) + + + Rotate left (A or left arrow) + + + Rotate right (D or right arrow) + + + Left Mouse Button - + + Left Mouse button in MouseLook + + - Apply texture coordinate modifications from a - to a list of vertices + Currently only used to hide your group title - Vertex list to modify texture coordinates for - Center-point of the face - Face texture parameters - + + No flags set + + + Hide your group title + + - pre-defined built in sounds + Action state of the avatar, which can currently be typing and + editing - + - + - + - - + + + Current teleport status + - - + + Unknown status - - + + Teleport initialized - - + + Teleport in progress - - + + Teleport failed - - coins + + Teleport completed - - cash register bell + + Teleport cancelled - - + + + + - + + No flags set, or teleport failed + + + Set when newbie leaves help island for first time + + - - rubber + + Via Lure - - plastic + + Via Landmark - - flesh + + Via Location - - wood splintering? + + Via Home - - glass break + + Via Telehub - - metal clunk + + Via Login - - whoosh + + Linden Summoned - - shake + + Linden Forced me - + - - ding + + Agent Teleported Home via Script - + - + - + - - + + forced to new location for example when avatar is banned or ejected - - + + Teleport Finished via a Lure - - + + Finished, Sim Changed - - + + Finished, Same Sim - + + + + + + - + - + - + + + + + + - + - + - + - + - A dictionary containing all pre-defined sounds + Type of mute entry - A dictionary containing the pre-defined sounds, - where the key is the sounds ID, and the value is a string - containing a name to identify the purpose of the sound - - - Simulator (region) properties - + + Object muted by name - - No flags set + + Muted residet - - Agents can take damage and be killed + + Object muted by UUID - - Landmarks can be created here + + Muted group - - Home position can be set in this sim + + Muted external entry - - Home position is reset when an agent teleports away + + + Flags of mute entry + - - Sun does not move + + No exceptions - - No object, land, etc. taxes + + Don't mute text chat - - Disable heightmap alterations (agents can still plant - foliage) + + Don't mute voice chat - - Land cannot be released, sold, or purchased + + Don't mute particles - - All content is wiped nightly + + Don't mute sounds - - Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) + + Don't mute - - Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. + + + Instant Message + - - Region does not update agent prim interest lists. Internal debugging option. + + Key of sender - - No collision detection for non-agent objects + + Name of sender - - No scripts are ran + + Key of destination avatar - - All physics processing is turned off + + ID of originating estate - - Region can be seen from other regions on world map. (Legacy world map option?) + + Key of originating region - - Region can be seen from mainland on world map. (Legacy world map option?) + + Coordinates in originating region - - Agents not explicitly on the access list can visit the region. - - - Traffic calculations are not run across entire region, overrides parcel settings. + + Instant message type - - Flight is disabled (not currently enforced by the sim) + + Group IM session toggle - - Allow direct (p2p) teleporting + + Key of IM session, for Group Messages, the groups UUID - - Estate owner has temporarily disabled scripting + + Timestamp of the instant message - - Restricts the usage of the LSL llPushObject function, applies to whole region. + + Instant message text - - Deny agents with no payment info on file + + Whether this message is held for offline avatars - - Deny agents with payment info on file + + Context specific packed data - - Deny agents who have made a monetary transaction + + Print the struct data as a string + A string containing the field name, and field value - - Parcels within the region may be joined or divided by anyone, not just estate owners/managers. + + Represents muted object or resident - - Abuse reports sent from within this region are sent to the estate owner defined email. + + Type of the mute entry - - Region is Voice Enabled + + UUID of the mute etnry - - Removes the ability from parcel owners to set their parcels to show in search. + + Mute entry name - - Deny agents who have not been age verified from entering the region. + + Mute flags - - - Access level for a simulator - + + Transaction detail sent with MoneyBalanceReply message - - Unknown or invalid access level + + Type of the transaction - - Trial accounts allowed + + UUID of the transaction source - - PG rating + + Is the transaction source a group - - Mature rating + + UUID of the transaction destination - - Adult rating + + Is transaction destination a group - - Simulator is offline + + Transaction amount - - Simulator does not exist + + Transaction description - + - + - + Construct a new instance of the ChatEventArgs object + Sim from which the message originates + The message sent + The audible level of the message + The type of message sent: whisper, shout, etc + The source type of the message sender + The name of the agent or object sending the message + The ID of the agent or object sending the message + The ID of the object owner, or the agent ID sending the message + The position of the agent or object sending the message - - - Initialize the UDP packet handler in server mode - - Port to listening for incoming UDP packets on + + Get the simulator sending the message - - - Initialize the UDP packet handler in client mode - - Remote UDP server to connect to + + Get the message sent - - - - + + Get the audible level of the message - - - - + + Get the type of message sent: whisper, shout, etc - - - - + + Get the source type of the message sender - - A public reference to the client that this Simulator object - is attached to + + Get the name of the agent or object sending the message - - A Unique Cache identifier for this simulator + + Get the ID of the agent or object sending the message - - The capabilities for this simulator + + Get the ID of the object owner, or the agent ID sending the message - - + + Get the position of the agent or object sending the message - - The current version of software this simulator is running + + Contains the data sent when a primitive opens a dialog with this agent - - + + + Construct a new instance of the ScriptDialogEventArgs + + The dialog message + The name of the object that sent the dialog request + The ID of the image to be displayed + The ID of the primitive sending the dialog + The first name of the senders owner + The last name of the senders owner + The communication channel the dialog was sent on + The string labels containing the options presented in this dialog + UUID of the scritped object owner - - A 64x64 grid of parcel coloring values. The values stored - in this array are of the type + + Get the dialog message - - + + Get the name of the object that sent the dialog request - - + + Get the ID of the image to be displayed - - + + Get the ID of the primitive sending the dialog - - + + Get the first name of the senders owner - - + + Get the last name of the senders owner - - + + Get the communication channel the dialog was sent on, responses + should also send responses on this same channel - - + + Get the string labels containing the options presented in this dialog - - + + UUID of the scritped object owner - - + + Contains the data sent when a primitive requests debit or other permissions + requesting a YES or NO answer - - + + + Construct a new instance of the ScriptQuestionEventArgs + + The simulator containing the object sending the request + The ID of the script making the request + The ID of the primitive containing the script making the request + The name of the primitive making the request + The name of the owner of the object making the request + The permissions being requested - - + + Get the simulator containing the object sending the request - - + + Get the ID of the script making the request - - + + Get the ID of the primitive containing the script making the request - - + + Get the name of the primitive making the request - - + + Get the name of the owner of the object making the request - - + + Get the permissions being requested - - + + Contains the data sent when a primitive sends a request + to an agent to open the specified URL - - + + + Construct a new instance of the LoadUrlEventArgs + + The name of the object sending the request + The ID of the object sending the request + The ID of the owner of the object sending the request + True if the object is owned by a group + The message sent with the request + The URL the object sent - - + + Get the name of the object sending the request - - true if your agent has Estate Manager rights on this region + + Get the ID of the object sending the request - - + + Get the ID of the owner of the object sending the request - - + + True if the object is owned by a group - - - - - Statistics information for this simulator and the - connection to the simulator, calculated by the simulator itself - and the library - - - The regions Unique ID + + Get the message sent with the request - - The physical data center the simulator is located - Known values are: - - Dallas - Chandler - SF - - + + Get the URL the object sent - - The CPU Class of the simulator - Most full mainland/estate sims appear to be 5, - Homesteads and Openspace appear to be 501 + + The date received from an ImprovedInstantMessage - - The number of regions sharing the same CPU as this one - "Full Sims" appear to be 1, Homesteads appear to be 4 + + + Construct a new instance of the InstantMessageEventArgs object + + the InstantMessage object + the simulator where the InstantMessage origniated - - The billing product name - Known values are: - - Mainland / Full Region (Sku: 023) - Estate / Full Region (Sku: 024) - Estate / Openspace (Sku: 027) - Estate / Homestead (Sku: 029) - Mainland / Homestead (Sku: 129) (Linden Owned) - Mainland / Linden Homes (Sku: 131) - - + + Get the InstantMessage object - - The billing product SKU - Known values are: - - 023 Mainland / Full Region - 024 Estate / Full Region - 027 Estate / Openspace - 029 Estate / Homestead - 129 Mainland / Homestead (Linden Owned) - 131 Linden Homes / Full Region - - + + Get the simulator where the InstantMessage origniated - - The current sequence number for packets sent to this - simulator. Must be Interlocked before modifying. Only - useful for applications manipulating sequence numbers + + Contains the currency balance - + - A thread-safe dictionary containing avatars in a simulator + Construct a new BalanceEventArgs object + The currenct balance - + - A thread-safe dictionary containing primitives in a simulator + Get the currenct balance - - - Provides access to an internal thread-safe dictionary containing parcel - information found in this simulator - + + Contains the transaction summary when an item is purchased, + money is given, or land is purchased - + - Checks simulator parcel map to make sure it has downloaded all data successfully + Construct a new instance of the MoneyBalanceReplyEventArgs object - true if map is full (contains no 0's) - - - Used internally to track sim disconnections + The ID of the transaction + True of the transaction was successful + The current currency balance + The meters credited + The meters comitted + A brief description of the transaction + Transaction info - - Event that is triggered when the simulator successfully - establishes a connection + + Get the ID of the transaction - - Whether this sim is currently connected or not. Hooked up - to the property Connected + + True of the transaction was successful - - Coarse locations of avatars in this simulator + + Get the remaining currency balance - - AvatarPositions key representing TrackAgent target + + Get the meters credited - - Sequence numbers of packets we've received - (for duplicate checking) + + Get the meters comitted - - Packets we sent out that need ACKs from the simulator + + Get the description of the transaction - - Sequence number for pause/resume + + Detailed transaction information - - Indicates if UDP connection to the sim is fully established + + Data sent from the simulator containing information about your agent and active group information - + - + Construct a new instance of the AgentDataReplyEventArgs object - Reference to the GridClient object - IPEndPoint of the simulator - handle of the simulator + The agents first name + The agents last name + The agents active group ID + The group title of the agents active group + The combined group powers the agent has in the active group + The name of the group the agent has currently active - - - Called when this Simulator object is being destroyed - + + Get the agents first name - - - Attempt to connect to this simulator - - Whether to move our agent in to this sim or not - True if the connection succeeded or connection status is - unknown, false if there was a failure + + Get the agents last name - - - Initiates connection to the simulator - + + Get the active group ID of your agent - - - Disconnect from this simulator - + + Get the active groups title of your agent - - - Instructs the simulator to stop sending update (and possibly other) packets - + + Get the combined group powers of your agent - - - Instructs the simulator to resume sending update packets (unpause) - + + Get the active group name of your agent - - - Retrieve the terrain height at a given coordinate - - Sim X coordinate, valid range is from 0 to 255 - Sim Y coordinate, valid range is from 0 to 255 - The terrain height at the given point if the - lookup was successful, otherwise 0.0f - True if the lookup was successful, otherwise false + + Data sent by the simulator to indicate the active/changed animations + applied to your agent - + - Sends a packet + Construct a new instance of the AnimationsChangedEventArgs class - Packet to be sent + The dictionary that contains the changed animations - - - - + + Get the dictionary that contains the changed animations - + - Returns Simulator Name as a String + Data sent from a simulator indicating a collision with your agent - - + - + Construct a new instance of the MeanCollisionEventArgs class - + The type of collision that occurred + The ID of the agent or object that perpetrated the agression + The ID of the Victim + The strength of the collision + The Time the collision occurred - - - - - - + + Get the Type of collision - - - Sends out pending acknowledgements - - Number of ACKs sent + + Get the ID of the agent or object that collided with your agent - - - Resend unacknowledged packets - + + Get the ID of the agent that was attacked - - - Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - + + A value indicating the strength of the collision - - The IP address and port of the server + + Get the time the collision occurred - - Whether there is a working connection to the simulator or - not - - - Coarse locations of avatars in this simulator - - - AvatarPositions key representing TrackAgent target - - - Indicates if UDP connection to the sim is fully established + + Data sent to your agent when it crosses region boundaries - + - Simulator Statistics + Construct a new instance of the RegionCrossedEventArgs class + The simulator your agent just left + The simulator your agent is now in - - Total number of packets sent by this simulator to this agent + + Get the simulator your agent just left - - Total number of packets received by this simulator to this agent + + Get the simulator your agent is now in - - Total number of bytes sent by this simulator to this agent + + Data sent from the simulator when your agent joins a group chat session - - Total number of bytes received by this simulator to this agent + + + Construct a new instance of the GroupChatJoinedEventArgs class + + The ID of the session + The name of the session + A temporary session id used for establishing new sessions + True of your agent successfully joined the session - - Time in seconds agent has been connected to simulator + + Get the ID of the group chat session - - Total number of packets that have been resent + + Get the name of the session - - Total number of resent packets recieved + + Get the temporary session ID used for establishing new sessions - - Total number of pings sent to this simulator by this agent + + True if your agent successfully joined the session - - Total number of ping replies sent to this agent by this simulator + + Data sent by the simulator containing urgent messages - + - Incoming bytes per second + Construct a new instance of the AlertMessageEventArgs class - It would be nice to have this claculated on the fly, but - this is far, far easier + The alert message - + + Get the alert message + + + Data sent by a script requesting to take or release specified controls to your agent + + - Outgoing bytes per second + Construct a new instance of the ScriptControlEventArgs class - It would be nice to have this claculated on the fly, but - this is far, far easier - - - Time last ping was sent + The controls the script is attempting to take or release to the agent + True if the script is passing controls back to the agent + True if the script is requesting controls be released to the script - - ID of last Ping sent + + Get the controls the script is attempting to take or release to the agent - - + + True if the script is passing controls back to the agent - - + + True if the script is requesting controls be released to the script - - Current time dilation of this simulator + + + Data sent from the simulator to an agent to indicate its view limits + - - Current Frames per second of simulator + + + Construct a new instance of the CameraConstraintEventArgs class + + The collision plane - - Current Physics frames per second of simulator + + Get the collision plane - - + + + Data containing script sensor requests which allow an agent to know the specific details + of a primitive sending script sensor requests + - - + + + Construct a new instance of the ScriptSensorReplyEventArgs + + The ID of the primitive sending the sensor + The ID of the group associated with the primitive + The name of the primitive sending the sensor + The ID of the primitive sending the sensor + The ID of the owner of the primitive sending the sensor + The position of the primitive sending the sensor + The range the primitive specified to scan + The rotation of the primitive sending the sensor + The type of sensor the primitive sent + The velocity of the primitive sending the sensor - - + + Get the ID of the primitive sending the sensor - - + + Get the ID of the group associated with the primitive - - + + Get the name of the primitive sending the sensor - - + + Get the ID of the primitive sending the sensor - - + + Get the ID of the owner of the primitive sending the sensor - - + + Get the position of the primitive sending the sensor - - Total number of objects Simulator is simulating + + Get the range the primitive specified to scan - - Total number of Active (Scripted) objects running + + Get the rotation of the primitive sending the sensor - - Number of agents currently in this simulator + + Get the type of sensor the primitive sent - - Number of agents in neighbor simulators + + Get the velocity of the primitive sending the sensor - - Number of Active scripts running in this simulator + + Contains the response data returned from the simulator in response to a - - + + Construct a new instance of the AvatarSitResponseEventArgs object - - + + Get the ID of the primitive the agent will be sitting on - - + + True if the simulator Autopilot functions were involved - - Number of downloads pending + + Get the camera offset of the agent when seated - - Number of uploads pending + + Get the camera eye offset of the agent when seated - - + + True of the agent will be in mouselook mode when seated - - + + Get the position of the agent when seated - - Number of local uploads pending + + Get the rotation of the agent when seated - - Unacknowledged bytes in queue + + Data sent when an agent joins a chat session your agent is currently participating in - + - Checks the instance back into the object pool + Construct a new instance of the ChatSessionMemberAddedEventArgs object + The ID of the chat session + The ID of the agent joining - + + Get the ID of the chat session + + + Get the ID of the agent that joined + + + Data sent when an agent exits a chat session your agent is currently participating in + + - Returns an instance of the class that has been checked out of the Object Pool. + Construct a new instance of the ChatSessionMemberLeftEventArgs object + The ID of the chat session + The ID of the Agent that left - + + Get the ID of the chat session + + + Get the ID of the agent that left + + + Event arguments with the result of setting display name operation + + + Default constructor + + + Status code, 200 indicates settign display name was successful + + + Textual description of the status + + + Details of the newly set display name + + - Creates a new instance of the ObjectPoolBase class. Initialize MUST be called - after using this constructor. + Represents an LSL Text object containing a string of UTF encoded characters - + + A string of characters represting the script contents + + + Initializes a new AssetScriptText object + + - Creates a new instance of the ObjectPool Base class. + Initializes a new AssetScriptText object with parameters - The object pool is composed of segments, which - are allocated whenever the size of the pool is exceeded. The number of items - in a segment should be large enough that allocating a new segmeng is a rare - thing. For example, on a server that will have 10k people logged in at once, - the receive buffer object pool should have segment sizes of at least 1000 - byte arrays per segment. - - The minimun number of segments that may exist. - Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. - The frequency which segments are checked to see if they're eligible for cleanup. + A unique specific to this asset + A byte array containing the raw asset data - + - Forces the segment cleanup algorithm to be run. This method is intended - primarly for use from the Unit Test libraries. + Encode a string containing the scripts contents into byte encoded AssetData - + - Responsible for allocate 1 instance of an object that will be stored in a segment. + Decode a byte array containing the scripts contents into a string - An instance of whatever objec the pool is pooling. + true if decoding is successful - + + Override the base classes AssetType + + - Checks in an instance of T owned by the object pool. This method is only intended to be called - by the WrappedObject class. + Type of gesture step - The segment from which the instance is checked out. - The instance of T to check back into the segment. - + - Checks an instance of T from the pool. If the pool is not sufficient to - allow the checkout, a new segment is created. + Base class for gesture steps - A WrappedObject around the instance of T. To check - the instance back into the segment, be sureto dispose the WrappedObject - when finished. - + - The total number of segments created. Intended to be used by the Unit Tests. + Retururns what kind of gesture step this is - + - The number of items that are in a segment. Items in a segment - are all allocated at the same time, and are hopefully close to - each other in the managed heap. + Describes animation step of a gesture - + - The minimum number of segments. When segments are reclaimed, - this number of segments will always be left alone. These - segments are allocated at startup. + If true, this step represents start of animation, otherwise animation stop - + - The age a segment must be before it's eligible for cleanup. - This is used to prevent thrash, and typical values are in - the 5 minute range. + Animation asset - + - The frequence which the cleanup thread runs. This is typically - expected to be in the 5 minute range. + Animation inventory name - + - Exception class to identify inventory exceptions + Returns what kind of gesture step this is - + - Responsible for maintaining inventory structure. Inventory constructs nodes - and manages node children as is necessary to maintain a coherant hirarchy. - Other classes should not manipulate or create InventoryNodes explicitly. When - A node's parent changes (when a folder is moved, for example) simply pass - Inventory the updated InventoryFolder and it will make the appropriate changes - to its internal representation. + Describes sound step of a gesture - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectUpdated Event - A InventoryObjectUpdatedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectRemoved Event - A InventoryObjectRemovedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectAdded Event - A InventoryObjectAddedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - + - Returns the contents of the specified folder + Sound asset - A folder's UUID - The contents of the folder corresponding to folder - When folder does not exist in the inventory - + - Updates the state of the InventoryNode and inventory data structure that - is responsible for the InventoryObject. If the item was previously not added to inventory, - it adds the item, and updates structure accordingly. If it was, it updates the - InventoryNode, changing the parent node if item.parentUUID does - not match node.Parent.Data.UUID. - - You can not set the inventory root folder using this method + Sound inventory name - The InventoryObject to store - + - Removes the InventoryObject and all related node data from Inventory. + Returns what kind of gesture step this is - The InventoryObject to remove. - + - Used to find out if Inventory contains the InventoryObject - specified by uuid. + Describes sound step of a gesture - The UUID to check. - true if inventory contains uuid, false otherwise - + - Saves the current inventory structure to a cache file + Text to output in chat - Name of the cache file to save to - + - Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + Returns what kind of gesture step this is - Name of the cache file to load - The number of inventory items sucessfully reconstructed into the inventory node tree - - Raised when the simulator sends us data containing - ... + + + Describes sound step of a gesture + - - Raised when the simulator sends us data containing - ... + + + If true in this step we wait for all animations to finish + - - Raised when the simulator sends us data containing - ... + + + If true gesture player should wait for the specified amount of time + - + - The root folder of this avatars inventory + Time in seconds to wait if WaitForAnimation is false - + - The default shared library folder + Returns what kind of gesture step this is - + - The root node of the avatars inventory + Describes the final step of a gesture - + - The root node of the default shared library + Returns what kind of gesture step this is - + - By using the bracket operator on this class, the program can get the - InventoryObject designated by the specified uuid. If the value for the corresponding - UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). - If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), - the uuid parameter is ignored. + Represents a sequence of animations, sounds, and chat actions - The UUID of the InventoryObject to get or set, ignored if set to non-null value. - The InventoryObject corresponding to uuid. - + - Registers, unregisters, and fires events generated by incoming packets + Keyboard key that triggers the gestyre - - Reference to the GridClient object + + + Modifier to the trigger key + - + - Default constructor + String that triggers playing of the gesture sequence - - + - Register an event handler + Text that replaces trigger in chat once gesture is triggered - Use PacketType.Default to fire this event on every - incoming packet - Packet type to register the handler for - Callback to be fired - True if this callback should be ran - asynchronously, false to run it synchronous - + - Unregister an event handler + Sequence of gesture steps - Packet type to unregister the handler for - Callback to be unregistered - + - Fire the events registered for this packet type + Constructs guesture asset - Incoming packet type - Incoming packet - Simulator this packet was received from - + - Object that is passed to worker threads in the ThreadPool for - firing packet callbacks + Constructs guesture asset + A unique specific to this asset + A byte array containing the raw asset data - - Callback to fire for this packet - - - Reference to the simulator that this packet came from - - - The packet that needs to be processed - - + - Registers, unregisters, and fires events generated by the Capabilities - event queue + Encodes gesture asset suitable for uplaod - - Reference to the GridClient object - - + - Default constructor + Decodes gesture assset into play sequence - Reference to the GridClient object + true if the asset data was decoded successfully - + - Register an new event handler for a capabilities event sent via the EventQueue + Returns asset type - Use String.Empty to fire this event on every CAPS event - Capability event name to register the - handler for - Callback to fire - + - Unregister a previously registered capabilities handler + pre-defined built in sounds - Capability event name unregister the - handler for - Callback to unregister - - - Fire the events registered for this event type synchronously - - Capability name - Decoded event body - Reference to the simulator that - generated this event + + - - - Fire the events registered for this event type asynchronously - - Capability name - Decoded event body - Reference to the simulator that - generated this event + + - - - Object that is passed to worker threads in the ThreadPool for - firing CAPS callbacks - + + - - Callback to fire for this packet + + - - Name of the CAPS event + + - - Strongly typed decoded data + + - - Reference to the simulator that generated this event + + - - - Represends individual HTTP Download request - + + - - URI of the item to fetch + + coins - - Timout specified in milliseconds + + cash register bell - - Download progress callback + + - - Download completed callback + + - - Accept the following content type + + rubber - - Default constructor + + plastic - - Constructor + + flesh - - - Manages async HTTP downloads with a limit on maximum - concurrent downloads - + + wood splintering? - - Default constructor + + glass break - - Cleanup method + + metal clunk - - Setup http download request + + whoosh - - Check the queue for pending work + + shake - - Enqueue a new HTPP download + + - - Maximum number of parallel downloads from a single endpoint + + ding - - Client certificate + + - - Positional vector of the users position + + - - Velocity vector of the position + + - - At Orientation (X axis) of the position + + - - Up Orientation (Y axis) of the position + + - - Left Orientation (Z axis) of the position + + - - - Represents Mesh asset - + + - - Initializes a new instance of an AssetMesh object + + - - Initializes a new instance of an AssetMesh object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + - + + + + + + + + + + + + + + + + - TODO: Encodes a scripts contents into a LSO Bytecode file + A dictionary containing all pre-defined sounds + A dictionary containing the pre-defined sounds, + where the key is the sounds ID, and the value is a string + containing a name to identify the purpose of the sound - + - TODO: Decode LSO Bytecode into a string + Avatar group management - true - - Override the base classes AssetType + + Key of Group Member - - - Static helper functions and global variables - + + Total land contribution - - This header flag signals that ACKs are appended to the packet + + Online status information - - This header flag signals that this packet has been sent before + + Abilities that the Group Member has - - This header flags signals that an ACK is expected for this packet + + Current group title - - This header flag signals that the message is compressed using zerocoding + + Is a group owner - + - + Role manager for a group - - - - - - - - - + + Key of the group - - - - - - - - - - - - - - + + Key of Role - - - Given an X/Y location in absolute (grid-relative) terms, a region - handle is returned along with the local X/Y location in that region - - The absolute X location, a number such as - 255360.35 - The absolute Y location, a number such as - 255360.35 - The sim-local X position of the global X - position, a value from 0.0 to 256.0 - The sim-local Y position of the global Y - position, a value from 0.0 to 256.0 - A 64-bit region handle that can be used to teleport to + + Name of Role - - - Converts a floating point number to a terse string format used for - transmitting numbers in wearable asset files - - Floating point number to convert to a string - A terse string representation of the input number + + Group Title associated with Role - - - Convert a variable length field (byte array) to a string, with a - field name prepended to each line of the output - - If the byte array has unprintable characters in it, a - hex dump will be written instead - The StringBuilder object to write to - The byte array to convert to a string - A field name to prepend to each line of output + + Description of Role - - - Decode a zerocoded byte array, used to decompress packets marked - with the zerocoded flag - - Any time a zero is encountered, the next byte is a count - of how many zeroes to expand. One zero is encoded with 0x00 0x01, - two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The - first four bytes are copied directly to the output buffer. - - The byte array to decode - The length of the byte array to decode. This - would be the length of the packet up to (but not including) any - appended ACKs - The output byte array to decode to - The length of the output buffer + + Abilities Associated with Role - - - Encode a byte array with zerocoding. Used to compress packets marked - with the zerocoded flag. Any zeroes in the array are compressed down - to a single zero byte followed by a count of how many zeroes to expand - out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, - three zeroes becomes 0x00 0x03, etc. The first four bytes are copied - directly to the output buffer. - - The byte array to encode - The length of the byte array to encode - The output byte array to encode to - The length of the output buffer + + Returns the role's title + The role's title - + - Calculates the CRC (cyclic redundancy check) needed to upload inventory. + Class to represent Group Title - Creation date - Sale type - Inventory type - Type - Asset ID - Group ID - Sale price - Owner ID - Creator ID - Item ID - Folder ID - Everyone mask (permissions) - Flags - Next owner mask (permissions) - Group mask (permissions) - Owner mask (permissions) - The calculated CRC - - - Attempts to load a file embedded in the assembly - - The filename of the resource to load - A Stream for the requested file, or null if the resource - was not successfully loaded + + Key of the group - - - Attempts to load a file either embedded in the assembly or found in - a given search path - - The filename of the resource to load - An optional path that will be searched if - the asset is not found embedded in the assembly - A Stream for the requested file, or null if the resource - was not successfully loaded + + ID of the role title belongs to - - - Converts a list of primitives to an object that can be serialized - with the LLSD system - - Primitives to convert to a serializable object - An object that can be serialized with LLSD + + Group Title - - - Deserializes OSD in to a list of primitives - - Structure holding the serialized primitive list, - must be of the SDMap type - A list of deserialized primitives + + Whether title is Active - - - Converts a struct or class object containing fields only into a key value separated string - - The struct object - A string containing the struct fields as the keys, and the field value as the value separated - - - // Add the following code to any struct or class containing only fields to override the ToString() - // method to display the values of the passed object - - /// Print the struct data as a string - ///A string containing the field name, and field value - public override string ToString() - { - return Helpers.StructToString(this); - } - - + + Returns group title - + - Passed to Logger.Log() to identify the severity of a log entry + Represents a group on the grid - - No logging information will be output + + Key of Group - - Non-noisy useful information, may be helpful in - debugging a problem + + Key of Group Insignia - - A non-critical error occurred. A warning will not - prevent the rest of the library from operating as usual, - although it may be indicative of an underlying issue + + Key of Group Founder - - A critical error has occurred. Generally this will - be followed by the network layer shutting down, although the - stability of the library after an error is uncertain + + Key of Group Role for Owners - - Used for internal testing, this logging level can - generate very noisy (long and/or repetitive) messages. Don't - pass this to the Log() function, use DebugLog() instead. - + + Name of Group - - - A set of textures that are layered on texture of each other and "baked" - in to a single texture, for avatar appearances - + + Text of Group Charter - - Final baked texture + + Title of "everyone" role - - Component layers + + Is the group open for enrolement to everyone - - Width of the final baked image and scratchpad + + Will group show up in search - - Height of the final baked image and scratchpad + + - - Bake type + + - - - Default constructor - - Bake type + + - - - Adds layer for baking - - TexturaData struct that contains texture and its params + + Is the group Mature - - - Converts avatar texture index (face) to Bake type - - Face number (AvatarTextureIndex) - BakeType, layer to which this texture belongs to + + Cost of group membership - - - Make sure images exist, resize source if needed to match the destination - - Destination image - Source image - Sanitization was succefull + + - - - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color - - Color of the base of this layer + + - - - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color - - Red value - Green value - Blue value + + The total number of current members this group has - - Final baked texture + + The number of roles this group has configured - - Component layers + + Show this group in agent's profile - - Width of the final baked image and scratchpad + + Returns the name of the group + A string containing the name of the group - - Height of the final baked image and scratchpad + + + A group Vote + - - Bake type + + Key of Avatar who created Vote - - Is this one of the 3 skin bakes + + Text of the Vote proposal - + + Total number of votes + + - Represents an Animation + A group proposal - - Default Constructor + + The Text of the proposal - - - Construct an Asset object of type Animation - - A unique specific to this asset - A byte array containing the raw asset data + + The minimum number of members that must vote before proposal passes or failes - - Override the base classes AssetType + + The required ration of yes/no votes required for vote to pass + The three options are Simple Majority, 2/3 Majority, and Unanimous + TODO: this should be an enum - - - Index of TextureEntry slots for avatar appearances - + + The duration in days votes are accepted - + - Bake layers for avatar appearance + - - Maximum number of concurrent downloads for wearable assets and textures - - - Maximum number of concurrent uploads for baked textures + + - - Timeout for fetching inventory listings + + - - Timeout for fetching a single wearable, or receiving a single packet response + + - - Timeout for fetching a single texture + + - - Timeout for uploading a single baked texture + + - - Number of times to retry bake upload + + - - When changing outfit, kick off rebake after - 20 seconds has passed since the last change + + - - Total number of wearables for each avatar + + - - Total number of baked textures on each avatar + + - - Total number of wearables per bake layer + + - - Mapping between BakeType and AvatarTextureIndex + + - - Map of what wearables are included in each bake + + - - Magic values to finalize the cache check hashes for each - bake + + - - Default avatar texture, used to detect when a custom - texture is not set for a face + + - - The event subscribers. null if no subcribers + + - - Raises the AgentWearablesReply event - An AgentWearablesReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the CachedBakesReply event - An AgentCachedBakesReplyEventArgs object containing the - data returned from the data server AgentCachedTextureResponse + + - - Thread sync lock object + + + Struct representing a group notice + - - The event subscribers. null if no subcribers + + - - Raises the AppearanceSet event - An AppearanceSetEventArgs object indicating if the operatin was successfull + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the RebakeAvatarRequested event - An RebakeAvatarTexturesEventArgs object containing the - data returned from the data server + + + + + - - Thread sync lock object + + + Struct representing a group notice list entry + - - A cache of wearables currently being worn + + Notice ID - - A cache of textures currently being worn + + Creation timestamp of notice - - Incrementing serial number for AgentCachedTexture packets + + Agent name who created notice - - Incrementing serial number for AgentSetAppearance packets + + Notice subject - - Indicates whether or not the appearance thread is currently - running, to prevent multiple appearance threads from running - simultaneously + + Is there an attachment? - - Reference to our agent + + Attachment Type - + - Timer used for delaying rebake on changing outfit + Struct representing a member of a group chat session and their settings - - - Main appearance thread - + + The of the Avatar - - - Default constructor - - A reference to our agent + + True if user has voice chat enabled - - - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread - + + True of Avatar has moderator abilities - - - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread - - Unused parameter + + True if a moderator has muted this avatars chat - - - Starts the appearance setting thread - + + True if a moderator has muted this avatars voice - + - Starts the appearance setting thread + Role update flags - True to force rebaking, otherwise false - - - Ask the server what textures our agent is currently wearing - + + - - - Build hashes out of the texture assetIDs for each baking layer to - ask the simulator whether it has cached copies of each baked texture - + + - - - Returns the AssetID of the asset that is currently being worn in a - given WearableType slot - - WearableType slot to get the AssetID for - The UUID of the asset being worn in the given slot, or - UUID.Zero if no wearable is attached to the given slot or wearables - have not been downloaded yet + + - - - Add a wearable to the current outfit and set appearance - - Wearable to be added to the outfit + + - - - Add a list of wearables to the current outfit and set appearance - - List of wearable inventory items to - be added to the outfit + + - - - Remove a wearable from the current outfit and set appearance - - Wearable to be removed from the outfit + + - - - Removes a list of wearables from the current outfit and set appearance - - List of wearable inventory items to - be removed from the outfit + + - - - Replace the current outfit with a list of wearables and set appearance - - List of wearable inventory items that - define a new outfit + + Can send invitations to groups default role - - - Checks if an inventory item is currently being worn - - The inventory item to check against the agent - wearables - The WearableType slot that the item is being worn in, - or WearbleType.Invalid if it is not currently being worn + + Can eject members from group - - - Returns a copy of the agents currently worn wearables - - A copy of the agents currently worn wearables - Avoid calling this function multiple times as it will make - a copy of all of the wearable data each time + + Can toggle 'Open Enrollment' and change 'Signup fee' - - - Calls either or - depending on the value of - replaceItems - - List of wearable inventory items to add - to the outfit or become a new outfit - True to replace existing items with the - new list of items, false to add these items to the existing outfit + + Member is visible in the public member list - - - Adds a list of attachments to our agent - - A List containing the attachments to add - If true, tells simulator to remove existing attachment - first + + Can create new roles - - - Attach an item to our agent at a specific attach point - - A to attach - the on the avatar - to attach the item to + + Can delete existing roles - - - Attach an item to our agent specifying attachment details - - The of the item to attach - The attachments owner - The name of the attachment - The description of the attahment - The to apply when attached - The of the attachment - The on the agent - to attach the item to + + Can change Role names, titles and descriptions - - - Detach an item from our agent using an object - - An object + + Can assign other members to assigners role - - - Detach an item from our agent - - The inventory itemID of the item to detach + + Can assign other members to any role - - - Inform the sim which wearables are part of our current outfit - + + Can remove members from roles - - - Replaces the Wearables collection with a list of new wearable items - - Wearable items to replace the Wearables collection with + + Can assign and remove abilities in roles - - - Calculates base color/tint for a specific wearable - based on its params - - All the color info gathered from wearable's VisualParams - passed as list of ColorParamInfo tuples - Base color/tint for the wearable + + Can change group Charter, Insignia, 'Publish on the web' and which + members are publicly visible in group member listings - - - Blocking method to populate the Wearables dictionary - - True on success, otherwise false + + Can buy land or deed land to group - - - Blocking method to populate the Textures array with cached bakes - - True on success, otherwise false + + Can abandon group owned land to Governor Linden on mainland, or Estate owner for + private estates - - - Populates textures and visual params from a decoded asset - - Wearable to decode + + Can set land for-sale information on group owned parcels - - - Blocking method to download and parse currently worn wearable assets - - True on success, otherwise false + + Can subdivide and join parcels - - - Get a list of all of the textures that need to be downloaded for a - single bake layer - - Bake layer to get texture AssetIDs for - A list of texture AssetIDs to download + + Can join group chat sessions - - - Helper method to lookup the TextureID for a single layer and add it - to a list if it is not already present - - - + + Can use voice chat in Group Chat sessions - - - Blocking method to download all of the textures needed for baking - the given bake layers - - A list of layers that need baking - No return value is given because the baking will happen - whether or not all textures are successfully downloaded + + Can moderate group chat sessions - - - Blocking method to create and upload baked textures for all of the - missing bakes - - True on success, otherwise false + + Can toggle "Show in Find Places" and set search category - - - Blocking method to create and upload a baked texture for a single - bake layer - - Layer to bake - True on success, otherwise false + + Can change parcel name, description, and 'Publish on web' settings - - - Blocking method to upload a baked texture - - Five channel JPEG2000 texture data to upload - UUID of the newly created asset on success, otherwise UUID.Zero + + Can set the landing point and teleport routing on group land - - - Creates a dictionary of visual param values from the downloaded wearables - - A dictionary of visual param indices mapping to visual param - values for our agent that can be fed to the Baker class + + Can change music and media settings - - - Create an AgentSetAppearance packet from Wearables data and the - Textures array and send it - + + Can toggle 'Edit Terrain' option in Land settings - - - Converts a WearableType to a bodypart or clothing WearableType - - A WearableType - AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown + + Can toggle various About Land > Options settings - - - Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex - - A BakeType - The AvatarTextureIndex slot that holds the given BakeType + + Can always terraform land, even if parcel settings have it turned off - - - Gives the layer number that is used for morph mask - - >A BakeType - Which layer number as defined in BakeTypeToTextures is used for morph mask + + Can always fly while over group owned land - - - Converts a BakeType to a list of the texture slots that make up that bake - - A BakeType - A list of texture slots that are inputs for the given bake + + Can always rez objects on group owned land - - Triggered when an AgentWearablesUpdate packet is received, - telling us what our avatar is currently wearing - request. + + Can always create landmarks for group owned parcels - - Raised when an AgentCachedTextureResponse packet is - received, giving a list of cached bakes that were found on the - simulator - request. + + Can set home location on any group owned parcel - - - Raised when appearance data is sent to the simulator, also indicates - the main appearance thread is finished. - - request. + + Can modify public access settings for group owned parcels - - - Triggered when the simulator requests the agent rebake its appearance. - - + + Can manager parcel ban lists on group owned land - - - Returns true if AppearanceManager is busy and trying to set or change appearance will fail - + + Can manage pass list sales information - - - Contains information about a wearable inventory item - + + Can eject and freeze other avatars on group owned land - - Inventory ItemID of the wearable + + Can return objects set to group - - AssetID of the wearable asset + + Can return non-group owned/set objects - - WearableType of the wearable + + Can return group owned objects - - AssetType of the wearable + + Can landscape using Linden plants - - Asset data for the wearable + + Can deed objects to group - - - Data collected from visual params for each wearable - needed for the calculation of the color - + + Can move group owned objects - - - Holds a texture assetID and the data needed to bake this layer into - an outfit texture. Used to keep track of currently worn textures - and baking data - + + Can set group owned objects for-sale - - A texture AssetID + + Pay group liabilities and receive group dividends - - Asset data for the texture + + List and Host group events - - Collection of alpha masks that needs applying + + Can send group notices - - Tint that should be applied to the texture + + Can receive group notices - - Where on avatar does this texture belong + + Can create group proposals - - Contains the Event data returned from the data server from an AgentWearablesRequest + + Can vote on group proposals - - Construct a new instance of the AgentWearablesReplyEventArgs class + + + Handles all network traffic related to reading and writing group + information + - - Contains the Event data returned from the data server from an AgentCachedTextureResponse + + The event subscribers. null if no subcribers - - Construct a new instance of the AgentCachedBakesReplyEventArgs class + + Raises the CurrentGroups event + A CurrentGroupsEventArgs object containing the + data sent from the simulator - - Contains the Event data returned from an AppearanceSetRequest + + Thread sync lock object - - - Triggered when appearance data is sent to the sim and - the main appearance thread is done. - Indicates whether appearance setting was successful + + The event subscribers. null if no subcribers - - Indicates whether appearance setting was successful + + Raises the GroupNamesReply event + A GroupNamesEventArgs object containing the + data response from the simulator - - Contains the Event data returned from the data server from an RebakeAvatarTextures + + Thread sync lock object - - - Triggered when the simulator sends a request for this agent to rebake - its appearance - - The ID of the Texture Layer to bake + + The event subscribers. null if no subcribers - - The ID of the Texture Layer to bake + + Raises the GroupProfile event + An GroupProfileEventArgs object containing the + data returned from the simulator - - - The current status of a texture request as it moves through the pipeline or final result of a texture request. - + + Thread sync lock object - - The initial state given to a request. Requests in this state - are waiting for an available slot in the pipeline + + The event subscribers. null if no subcribers - - A request that has been added to the pipeline and the request packet - has been sent to the simulator + + Raises the GroupMembers event + A GroupMembersEventArgs object containing the + data returned from the simulator - - A request that has received one or more packets back from the simulator + + Thread sync lock object - - A request that has received all packets back from the simulator + + The event subscribers. null if no subcribers - - A request that has taken longer than - to download OR the initial packet containing the packet information was never received + + Raises the GroupRolesDataReply event + A GroupRolesDataReplyEventArgs object containing the + data returned from the simulator - - The texture request was aborted by request of the agent + + Thread sync lock object - - The simulator replied to the request that it was not able to find the requested texture + + The event subscribers. null if no subcribers - - - A callback fired to indicate the status or final state of the requested texture. For progressive - downloads this will fire each time new asset data is returned from the simulator. - - The indicating either Progress for textures not fully downloaded, - or the final result of the request after it has been processed through the TexturePipeline - The object containing the Assets ID, raw data - and other information. For progressive rendering the will contain - the data from the beginning of the file. For failed, aborted and timed out requests it will contain - an empty byte array. + + Raises the GroupRoleMembersReply event + A GroupRolesRoleMembersReplyEventArgs object containing the + data returned from the simulator - - - Texture request download handler, allows a configurable number of download slots which manage multiple - concurrent texture downloads from the - - This class makes full use of the internal - system for full texture downloads. + + Thread sync lock object - - A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID - and also the Asset Texture ID, and the value is an object containing the current state of the request and also - the asset data as it is being re-assembled + + The event subscribers. null if no subcribers - - Holds the reference to the client object + + Raises the GroupTitlesReply event + A GroupTitlesReplyEventArgs object containing the + data returned from the simulator - - Maximum concurrent texture requests allowed at a time + + Thread sync lock object - - An array of objects used to manage worker request threads + + The event subscribers. null if no subcribers - - An array of worker slots which shows the availablity status of the slot + + Raises the GroupAccountSummary event + A GroupAccountSummaryReplyEventArgs object containing the + data returned from the simulator - - The primary thread which manages the requests. + + Thread sync lock object - - true if the TexturePipeline is currently running + + The event subscribers. null if no subcribers - - A synchronization object used by the primary thread + + Raises the GroupCreated event + An GroupCreatedEventArgs object containing the + data returned from the simulator - - A refresh timer used to increase the priority of stalled requests + + Thread sync lock object - - - Default constructor, Instantiates a new copy of the TexturePipeline class - - Reference to the instantiated object + + The event subscribers. null if no subcribers - - - Initialize callbacks required for the TexturePipeline to operate - + + Raises the GroupJoined event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator - - - Shutdown the TexturePipeline and cleanup any callbacks or transfers - + + Thread sync lock object - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request + + The event subscribers. null if no subcribers - - - Sends the actual request packet to the simulator - - The image to download - Type of the image to download, either a baked - avatar texture or a normal texture - Priority level of the download. Default is - 1,013,000.0f - Number of quality layers to discard. - This controls the end marker of the data sent - Packet number to start the download at. - This controls the start marker of the data sent - Sending a priority of 0 and a discardlevel of -1 aborts - download + + Raises the GroupLeft event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator - - - Cancel a pending or in process texture request - - The texture assets unique ID + + Thread sync lock object - - - Master Download Thread, Queues up downloads in the threadpool - + + The event subscribers. null if no subcribers - - - The worker thread that sends the request and handles timeouts - - A object containing the request details + + Raises the GroupDropped event + An GroupDroppedEventArgs object containing the + the group your agent left - - - Handle responses from the simulator that tell us a texture we have requested is unable to be located - or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use - - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - - Handles the remaining Image data that did not fit in the initial ImageData packet - - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - - Handle the initial ImageDataPacket sent from the simulator - - The sender - The EventArgs object containing the packet data + + Raises the GroupMemberEjected event + An GroupMemberEjectedEventArgs object containing the + data returned from the simulator - - Current number of pending and in-process transfers + + Thread sync lock object - - - A request task containing information and status of a request as it is processed through the - + + The event subscribers. null if no subcribers - - The current which identifies the current status of the request + + Raises the GroupNoticesListReply event + An GroupNoticesListReplyEventArgs object containing the + data returned from the simulator - - The Unique Request ID, This is also the Asset ID of the texture being requested + + Thread sync lock object - - The slot this request is occupying in the threadpoolSlots array + + The event subscribers. null if no subcribers - - The ImageType of the request. + + Raises the GroupInvitation event + An GroupInvitationEventArgs object containing the + data returned from the simulator - - The callback to fire when the request is complete, will include - the and the - object containing the result data + + Thread sync lock object - - If true, indicates the callback will be fired whenever new data is returned from the simulator. - This is used to progressively render textures as portions of the texture are received. + + A reference to the current instance - - An object that maintains the data of an request thats in-process. + + Currently-active group members requests - - - Wrapper around a byte array that allows bit to be packed and unpacked - one at a time or by a variable amount. Useful for very tightly packed - data like LayerData packets - + + Currently-active group roles requests - - + + Currently-active group role-member requests - + + Dictionary keeping group members while request is in progress + + + Dictionary keeping mebmer/role mapping while request is in progress + + + Dictionary keeping GroupRole information while request is in progress + + + Caches group name lookups + + - Default constructor, initialize the bit packer / bit unpacker - with a byte array and starting position + Construct a new instance of the GroupManager class - Byte array to pack bits in to or unpack from - Starting position in the byte array + A reference to the current instance - + - Pack a floating point value in to the data + Request a current list of groups the avatar is a member of. - Floating point value to pack + CAPS Event Queue must be running for this to work since the results + come across CAPS. - + - Pack part or all of an integer in to the data + Lookup name of group based on groupID - Integer containing the data to pack - Number of bits of the integer to pack + groupID of group to lookup name for. - + - Pack part or all of an unsigned integer in to the data + Request lookup of multiple group names - Unsigned integer containing the data to pack - Number of bits of the integer to pack + List of group IDs to request. - - - Pack a single bit in to the data - - Bit to pack + + Lookup group profile data such as name, enrollment, founder, logo, etc + Subscribe to OnGroupProfile event to receive the results. + group ID (UUID) - - - - - - - - + + Request a list of group members. + Subscribe to OnGroupMembers event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - - - - + + Request group roles + Subscribe to OnGroupRoles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - - - - + + Request members (members,role) role mapping for a group. + Subscribe to OnGroupRolesMembers event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - - Unpacking a floating point value from the data - - Unpacked floating point value + + Request a groups Titles + Subscribe to OnGroupTitles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - - Unpack a variable number of bits from the data in to integer format - - Number of bits to unpack - An integer containing the unpacked bits - This function is only useful up to 32 bits + + Begin to get the group account summary + Subscribe to the OnGroupAccountSummary event to receive the results. + group ID (UUID) + How long of an interval + Which interval (0 for current, 1 for last) - - - Unpack a variable number of bits from the data in to unsigned - integer format - - Number of bits to unpack - An unsigned integer containing the unpacked bits - This function is only useful up to 32 bits + + Invites a user to a group + The group to invite to + A list of roles to invite a person to + Key of person to invite - - - Unpack a 16-bit signed integer - - 16-bit signed integer + + Set a group as the current active group + group ID (UUID) - - - Unpack a 16-bit unsigned integer - - 16-bit unsigned integer + + Change the role that determines your active title + Group ID to use + Role ID to change to - - - Unpack a 32-bit signed integer - - 32-bit signed integer + + Set this avatar's tier contribution + Group ID to change tier in + amount of tier to donate - + - Unpack a 32-bit unsigned integer + Save wheather agent wants to accept group notices and list this group in their profile - 32-bit unsigned integer - - - - - - + Group + Accept notices from this group + List this group in the profile - - - Class that handles the local asset cache - + + Request to join a group + Subscribe to OnGroupJoined event for confirmation. + group ID (UUID) to join. - + - Default constructor + Request to create a new group. If the group is successfully + created, L$100 will automatically be deducted - A reference to the GridClient object + Subscribe to OnGroupCreated event to receive confirmation. + Group struct containing the new group info - - - Disposes cleanup timer - + + Update a group's profile and other information + Groups ID (UUID) to update. + Group struct to update. - - - Only create timer when needed - + + Eject a user from a group + Group ID to eject the user from + Avatar's key to eject - - - Return bytes read from the local asset cache, null if it does not exist - - UUID of the asset we want to get - Raw bytes of the asset, or null on failure + + Update role information + Modified role to be updated - - - Returns ImageDownload object of the - image from the local image cache, null if it does not exist - - UUID of the image we want to get - ImageDownload object containing the image, or null on failure + + Create a new group role + Group ID to update + Role to create - - - Constructs a file name of the cached asset - - UUID of the asset - String with the file name of the cahced asset + + Delete a group role + Group ID to update + Role to delete - - - Saves an asset to the local cache - - UUID of the asset - Raw bytes the asset consists of - Weather the operation was successfull + + Remove an avatar from a role + Group ID to update + Role ID to be removed from + Avatar's Key to remove - - - Get the file name of the asset stored with gived UUID - - UUID of the asset - Null if we don't have that UUID cached on disk, file name if found in the cache folder + + Assign an avatar to a role + Group ID to update + Role ID to assign to + Avatar's ID to assign to role - - - Checks if the asset exists in the local cache - - UUID of the asset - True is the asset is stored in the cache, otherwise false + + Request the group notices list + Group ID to fetch notices for - - - Wipes out entire cache - + + Request a group notice by key + ID of group notice - - - Brings cache size to the 90% of the max size - + + Send out a group notice + Group ID to update + GroupNotice structure containing notice data - - - Asynchronously brings cache size to the 90% of the max size - + + Start a group proposal (vote) + The Group ID to send proposal to + GroupProposal structure containing the proposal - - - Adds up file sizes passes in a FileInfo array - + + Request to leave a group + Subscribe to OnGroupLeft event to receive confirmation + The group to leave - - - Checks whether caching is enabled - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Periodically prune the cache - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Nicely formats file sizes - - Byte size we want to output - String with humanly readable file size + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Allows setting weather to periodicale prune the cache if it grows too big - Default is enabled, when caching is enabled - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - How long (in ms) between cache checks (default is 5 min.) - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Helper class for sorting files by their last accessed time - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Capability to load TGAs to Bitmap - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Represents a Sound Asset - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Initializes a new instance of an AssetSound object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Initializes a new instance of an AssetSound object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - TODO: Encodes a sound file - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - TODO: Decode a sound file - - true + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Override the base classes AssetType + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Represents an LSL Text object containing a string of UTF encoded characters - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - A string of characters represting the script contents + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Initializes a new AssetScriptText object + + Raised when the simulator sends us data containing + our current group membership - - - Initializes a new AssetScriptText object with parameters - - A unique specific to this asset - A byte array containing the raw asset data + + Raised when the simulator responds to a RequestGroupName + or RequestGroupNames request - - - Encode a string containing the scripts contents into byte encoded AssetData - + + Raised when the simulator responds to a request - - - Decode a byte array containing the scripts contents into a string - - true if decoding is successful + + Raised when the simulator responds to a request - - Override the base classes AssetType + + Raised when the simulator responds to a request - - - Represents a Landmark with RegionID and Position vector - + + Raised when the simulator responds to a request - - UUID of the Landmark target region + + Raised when the simulator responds to a request - - Local position of the target + + Raised when a response to a RequestGroupAccountSummary is returned + by the simulator - - Construct an Asset of type Landmark + + Raised when a request to create a group is successful - - - Construct an Asset object of type Landmark - - A unique specific to this asset - A byte array containing the raw asset data + + Raised when a request to join a group either + fails or succeeds - - - Encode the raw contents of a string with the specific Landmark format - + + Raised when a request to leave a group either + fails or succeeds - - - Decode the raw asset data, populating the RegionID and Position - - true if the AssetData was successfully decoded to a UUID and Vector + + Raised when A group is removed from the group server - - Override the base classes AssetType + + Raised when a request to eject a member from a group either + fails or succeeds - - - Represents an that can be worn on an avatar - such as a Shirt, Pants, etc. - + + Raised when the simulator sends us group notices + - - Initializes a new instance of an AssetScriptBinary object + + Raised when another agent invites our avatar to join a group - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + Contains the current groups your agent is a member of - - Override the base classes AssetType + + Construct a new instance of the CurrentGroupsEventArgs class + The current groups your agent is a member of - + + Get the current groups your agent is a member of + + + A Dictionary of group names, where the Key is the groups ID and the value is the groups name + + + Construct a new instance of the GroupNamesEventArgs class + The Group names dictionary + + + Get the Group Names dictionary + + + Represents the members of a group + + - Main class to expose grid functionality to clients. All of the - classes needed for sending and receiving data are accessible through - this class. + Construct a new instance of the GroupMembersReplyEventArgs class - - - // Example minimum code required to instantiate class and - // connect to a simulator. - using System; - using System.Collections.Generic; - using System.Text; - using OpenMetaverse; - - namespace FirstBot - { - class Bot - { - public static GridClient Client; - static void Main(string[] args) - { - Client = new GridClient(); // instantiates the GridClient class - // to the global Client object - // Login to Simulator - Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); - // Wait for a Keypress - Console.ReadLine(); - // Logout of simulator - Client.Network.Logout(); - } - } - } - - + The ID of the request + The ID of the group + The membership list of the group - - Networking subsystem + + Get the ID as returned by the request to correlate + this result set and the request - - Settings class including constant values and changeable - parameters for everything + + Get the ID of the group - - Parcel (subdivided simulator lots) subsystem + + Get the dictionary of members - - Our own avatars subsystem + + Represents the roles associated with a group - - Other avatars subsystem + + Construct a new instance of the GroupRolesDataReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The dictionary containing the roles - - Estate subsystem + + Get the ID as returned by the request to correlate + this result set and the request - - Friends list subsystem + + Get the ID of the group - - Grid (aka simulator group) subsystem + + Get the dictionary containing the roles - - Object subsystem + + Represents the Role to Member mappings for a group - - Group subsystem + + Construct a new instance of the GroupRolesMembersReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The member to roles map - - Asset subsystem + + Get the ID as returned by the request to correlate + this result set and the request - - Appearance subsystem + + Get the ID of the group - - Inventory subsystem + + Get the member to roles map - - Directory searches including classifieds, people, land - sales, etc + + Represents the titles for a group - - Handles land, wind, and cloud heightmaps + + Construct a new instance of the GroupTitlesReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The titles - - Handles sound-related networking + + Get the ID as returned by the request to correlate + this result set and the request - - Throttling total bandwidth usage, or allocating bandwidth - for specific data stream types + + Get the ID of the group - + + Get the titles + + + Represents the summary data for a group + + + Construct a new instance of the GroupAccountSummaryReplyEventArgs class + The ID of the group + The summary data + + + Get the ID of the group + + + Get the summary data + + + A response to a group create request + + + Construct a new instance of the GroupCreatedReplyEventArgs class + The ID of the group + the success or faulure of the request + A string containing additional information + + + Get the ID of the group + + + true of the group was created successfully + + + A string containing the message + + + Represents a response to a request + + + Construct a new instance of the GroupOperationEventArgs class + The ID of the group + true of the request was successful + + + Get the ID of the group + + + true of the request was successful + + + Represents your agent leaving a group + + + Construct a new instance of the GroupDroppedEventArgs class + The ID of the group + + + Get the ID of the group + + + Represents a list of active group notices + + + Construct a new instance of the GroupNoticesListReplyEventArgs class + The ID of the group + The list containing active notices + + + Get the ID of the group + + + Get the notices list + + + Represents the profile of a group + + + Construct a new instance of the GroupProfileEventArgs class + The group profile + + + Get the group profile + + - Default constructor + Provides notification of a group invitation request sent by another Avatar + The invitation is raised when another avatar makes an offer for our avatar + to join a group. - + + The ID of the Avatar sending the group invitation + + + The name of the Avatar sending the group invitation + + + A message containing the request information which includes + the name of the group, the groups charter and the fee to join details + + + The Simulator + + + Set to true to accept invitation, false to decline + + - Return the full name of this instance + Level of Detail mesh - Client avatars full name - + - Attempts to convert an LLSD structure to a known Packet type + Represents an that can be worn on an avatar + such as a Shirt, Pants, etc. - Event name, this must match an actual - packet name for a Packet to be successfully built - LLSD to convert to a Packet - A Packet on success, otherwise null - + + Initializes a new instance of an AssetScriptBinary object + + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + + Override the base classes AssetType + + - Image width + Temporary code to do the bare minimum required to read a tar archive for our purposes - + - Image height + Binary reader for the underlying stream - + - Image channel flags + Used to trim off null chars - + - Red channel data + Used to trim off space chars - + - Green channel data + Generate a tar reader which reads from the given stream. + - + - Blue channel data - - - - - Alpha channel data - - - - - Bump channel data - - - - - Create a new blank image - - width - height - channel flags - - - - + Read the next entry in the tar file. - + + + the data for the entry. Returns null if there are no more entries - + - Convert the channels in the image. Channels are created or destroyed as required. + Read the next 512 byte chunk of data as a tar header. - new channel flags + A tar header struct. null if we have reached the end of the archive. - + - Resize or stretch the image using nearest neighbor (ugly) resampling + Read data following a header - new width - new height + + - + - Create a byte array containing 32-bit RGBA data with a bottom-left - origin, suitable for feeding directly into OpenGL + Convert octal bytes to a decimal representation - A byte array containing raw texture data + + + + - + - Represents a texture + Type of return to use when returning objects from a parcel - - A object containing image data - - + - - + + Return objects owned by parcel owner - - Initializes a new instance of an AssetTexture object + + Return objects set to group - - - Initializes a new instance of an AssetTexture object - - A unique specific to this asset - A byte array containing the raw asset data + + Return objects not owned by parcel owner or set to group - - - Initializes a new instance of an AssetTexture object - - A object containing texture data + + Return a specific list of objects on parcel - - - Populates the byte array with a JPEG2000 - encoded image created from the data in - + + Return objects that are marked for-sale - + - Decodes the JPEG2000 data in AssetData to the - object + Blacklist/Whitelist flags used in parcels Access List - True if the decoding was successful, otherwise false - - - Decodes the begin and end byte positions for each quality layer in - the image - - + + Agent is denied access - - Override the base classes AssetType + + Agent is granted access - + - Temporary code to do the bare minimum required to read a tar archive for our purposes + The result of a request for parcel properties - - - Binary reader for the underlying stream - + + No matches were found for the request - - - Used to trim off null chars - + + Request matched a single parcel - - - Used to trim off space chars - + + Request matched multiple parcels - + - Generate a tar reader which reads from the given stream. + Flags used in the ParcelAccessListRequest packet to specify whether + we want the access list (whitelist), ban list (blacklist), or both - - - - Read the next entry in the tar file. - - - - the data for the entry. Returns null if there are no more entries + + Request the access list - - - Read the next 512 byte chunk of data as a tar header. - - A tar header struct. null if we have reached the end of the archive. + + Request the ban list - - - Read data following a header - - - + + Request both White and Black lists - + - Convert octal bytes to a decimal representation + Sequence ID in ParcelPropertiesReply packets (sent when avatar + tries to cross a parcel border) - - - - - - X position of this patch + + Parcel is currently selected - - Y position of this patch + + Parcel restricted to a group the avatar is not a + member of - - A 16x16 array of floats holding decompressed layer data + + Avatar is banned from the parcel - - - Creates a LayerData packet for compressed land data given a full - simulator heightmap and an array of indices of patches to compress - - A 256 * 256 array of floating point values - specifying the height at each meter in the simulator - Array of indexes in the 16x16 grid of patches - for this simulator. For example if 1 and 17 are specified, patches - x=1,y=0 and x=1,y=1 are sent - + + Parcel is restricted to an access list that the + avatar is not on - - - Add a patch of terrain to a BitPacker - - BitPacker to write the patch to - Heightmap of the simulator, must be a 256 * - 256 float array - X offset of the patch to create, valid values are - from 0 to 15 - Y offset of the patch to create, valid values are - from 0 to 15 + + Response to hovering over a parcel - + - + The tool to use when modifying terrain levels - - No report + + Level the terrain - - Unknown report type + + Raise the terrain - - Bug report + + Lower the terrain - - Complaint report + + Smooth the terrain - - Customer service report + + Add random noise to the terrain - + + Revert terrain to simulator default + + - Bitflag field for ObjectUpdateCompressed data blocks, describing - which options are present for each object + The tool size to use when changing terrain levels - - Unknown + + Small - - Whether the object has a TreeSpecies + + Medium - - Whether the object has floating text ala llSetText + + Large - - Whether the object has an active particle system + + + Reasons agent is denied access to a parcel on the simulator + - - Whether the object has sound attached to it + + Agent is not denied, access is granted - - Whether the object is attached to a root object or not + + Agent is not a member of the group set for the parcel, or which owns the parcel - - Whether the object has texture animation settings + + Agent is not on the parcels specific allow list - - Whether the object has an angular velocity + + Agent is on the parcels ban list - - Whether the object has a name value pairs string + + Unknown - - Whether the object has a Media URL set + + Agent is not age verified and parcel settings deny access to non age verified avatars - + - Specific Flags for MultipleObjectUpdate requests + Parcel overlay type. This is used primarily for highlighting and + coloring which is why it is a single integer instead of a set of + flags + These values seem to be poorly thought out. The first three + bits represent a single value, not flags. For example Auction (0x05) is + not a combination of OwnedByOther (0x01) and ForSale(0x04). However, + the BorderWest and BorderSouth values are bit flags that get attached + to the value stored in the first three bits. Bits four, five, and six + are unused - - None + + Public land - - Change position of prims + + Land is owned by another avatar - - Change rotation of prims + + Land is owned by a group - - Change size of prims + + Land is owned by the current avatar - - Perform operation on link set + + Land is for sale - - Scale prims uniformly, same as selecing ctrl+shift in the - viewer. Used in conjunction with Scale + + Land is being auctioned - - - Special values in PayPriceReply. If the price is not one of these - literal value of the price should be use - + + Land is private - - - Indicates that this pay option should be hidden - + + To the west of this area is a parcel border - - - Indicates that this pay option should have the default value - + + To the south of this area is a parcel border - + - Contains the variables sent in an object update packet for objects. - Used to track position and movement of prims and avatars + Various parcel properties - - + + No flags set - - + + Allow avatars to fly (a client-side only restriction) - - + + Allow foreign scripts to run - - + + This parcel is for sale - - + + Allow avatars to create a landmark on this parcel - - + + Allows all avatars to edit the terrain on this parcel - - + + Avatars have health and can take damage on this parcel. + If set, avatars can be killed and sent home here - - + + Foreign avatars can create objects here - - + + All objects on this parcel can be purchased - - + + Access is restricted to a group - - - Handles all network traffic related to prims and avatar positions and - movement. - + + Access is restricted to a whitelist - - The event subscribers, null of no subscribers + + Ban blacklist is enabled - - Thread sync lock object + + Unknown - - The event subscribers, null of no subscribers + + List this parcel in the search directory - - Raises the ObjectProperties Event - A ObjectPropertiesEventArgs object containing - the data sent from the simulator + + Allow personally owned parcels to be deeded to group - - Thread sync lock object + + If Deeded, owner contributes required tier to group parcel is deeded to - - The event subscribers, null of no subscribers + + Restrict sounds originating on this parcel to the + parcel boundaries - - Raises the ObjectPropertiesUpdated Event - A ObjectPropertiesUpdatedEventArgs object containing - the data sent from the simulator + + Objects on this parcel are sold when the land is + purchsaed - - Thread sync lock object + + Allow this parcel to be published on the web - - The event subscribers, null of no subscribers + + The information for this parcel is mature content - - Raises the ObjectPropertiesFamily Event - A ObjectPropertiesFamilyEventArgs object containing - the data sent from the simulator + + The media URL is an HTML page - - Thread sync lock object + + The media URL is a raw HTML string - - The event subscribers, null of no subscribers + + Restrict foreign object pushes - - Raises the AvatarUpdate Event - A AvatarUpdateEventArgs object containing - the data sent from the simulator + + Ban all non identified/transacted avatars - - Thread sync lock object + + Allow group-owned scripts to run - - The event subscribers, null of no subscribers + + Allow object creation by group members or group + objects - - Thread sync lock object + + Allow all objects to enter this parcel - - The event subscribers, null of no subscribers + + Only allow group and owner objects to enter this parcel - - Raises the ObjectDataBlockUpdate Event - A ObjectDataBlockUpdateEventArgs object containing - the data sent from the simulator + + Voice Enabled on this parcel - - Thread sync lock object + + Use Estate Voice channel for Voice on this parcel - - The event subscribers, null of no subscribers + + Deny Age Unverified Users - - Raises the KillObject Event - A KillObjectEventArgs object containing - the data sent from the simulator + + + Parcel ownership status + - - Thread sync lock object + + Placeholder - - The event subscribers, null of no subscribers + + Parcel is leased (owned) by an avatar or group - - Raises the AvatarSitChanged Event - A AvatarSitChangedEventArgs object containing - the data sent from the simulator + + Parcel is in process of being leased (purchased) by an avatar or group - - Thread sync lock object + + Parcel has been abandoned back to Governor Linden - - The event subscribers, null of no subscribers + + + Category parcel is listed in under search + - - Raises the PayPriceReply Event - A PayPriceReplyEventArgs object containing - the data sent from the simulator + + No assigned category - - Thread sync lock object + + Linden Infohub or public area - - Reference to the GridClient object + + Adult themed area - - Does periodic dead reckoning calculation to convert - velocity and acceleration to new positions for objects + + Arts and Culture - - - Construct a new instance of the ObjectManager class - - A reference to the instance + + Business - - - Request information for a single object from a - you are currently connected to - - The the object is located - The Local ID of the object + + Educational - - - Request information for multiple objects contained in - the same simulator - - The the objects are located - An array containing the Local IDs of the objects + + Gaming - - - Attempt to purchase an original object, a copy, or the contents of - an object - - The the object is located - The Local ID of the object - Whether the original, a copy, or the object - contents are on sale. This is used for verification, if the this - sale type is not valid for the object the purchase will fail - Price of the object. This is used for - verification, if it does not match the actual price the purchase - will fail - Group ID that will be associated with the new - purchase - Inventory folder UUID where the object or objects - purchased should be placed - - - BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, - 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); - - + + Hangout or Club - - - Request prices that should be displayed in pay dialog. This will triggger the simulator - to send us back a PayPriceReply which can be handled by OnPayPriceReply event - - The the object is located - The ID of the object - The result is raised in the event + + Newcomer friendly - - - Select a single object. This will cause the to send us - an which will raise the event - - The the object is located - The Local ID of the object - + + Parks and Nature - - - Select a single object. This will cause the to send us - an which will raise the event - - The the object is located - The Local ID of the object - if true, a call to is - made immediately following the request - + + Residential - - - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - Should objects be deselected immediately after selection - + + Shopping - - - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - + + Not Used? - - - Update the properties of an object - - The the object is located - The Local ID of the object - true to turn the objects physical property on - true to turn the objects temporary property on - true to turn the objects phantom property on - true to turn the objects cast shadows property on + + Other - + + Not an actual category, only used for queries + + - Sets the sale properties of a single object + Type of teleport landing for a parcel - The the object is located - The Local ID of the object - One of the options from the enum - The price of the object - - - Sets the sale properties of multiple objects - - The the objects are located - An array containing the Local IDs of the objects - One of the options from the enum - The price of the object + + Unset, simulator default - - - Deselect a single object - - The the object is located - The Local ID of the object + + Specific landing point set for this parcel - - - Deselect multiple objects. - - The the objects are located - An array containing the Local IDs of the objects + + No landing point set, direct teleports enabled for + this parcel - + - Perform a click action on an object + Parcel Media Command used in ParcelMediaCommandMessage - The the object is located - The Local ID of the object - - - Perform a click action (Grab) on a single object - - The the object is located - The Local ID of the object - The texture coordinates to touch - The surface coordinates to touch - The face of the position to touch - The region coordinates of the position to touch - The surface normal of the position to touch (A normal is a vector perpindicular to the surface) - The surface binormal of the position to touch (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space + + Stop the media stream and go back to the first frame - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties + + Pause the media stream (stop playing but stay on current frame) - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Specify the - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties + + Start the current media stream playing and stop when the end is reached - - - Rez a Linden tree - - A reference to the object where the object resides - The size of the tree - The rotation of the tree - The position of the tree - The Type of tree - The of the group to set the tree to, - or UUID.Zero if no group is to be set - true to use the "new" Linden trees, false to use the old + + Start the current media stream playing, + loop to the beginning when the end is reached and continue to play - - - Rez grass and ground cover - - A reference to the object where the object resides - The size of the grass - The rotation of the grass - The position of the grass - The type of grass from the enum - The of the group to set the tree to, - or UUID.Zero if no group is to be set + + Specifies the texture to replace with video + If passing the key of a texture, it must be explicitly typecast as a key, + not just passed within double quotes. - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply + + Specifies the movie URL (254 characters max) - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply - A media URL (not used) + + Specifies the time index at which to begin playing - - - Set the Light data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + Specifies a single agent to apply the media command to - - - Set the flexible data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + Unloads the stream. While the stop command sets the texture to the first frame of the movie, + unload resets it to the real texture that the movie was replacing. - - - Set the sculptie texture and data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties + (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. - - - Unset additional primitive parameters on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The extra parameters to set + + Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). + Use "text/html" for HTML. - - - Link multiple prims into a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to link - The last object in the array will be the root object of the linkset TODO: Is this true? + + Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). + This might still not be working - - - Delink/Unlink multiple prims from a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to delink + + Sets a description for the media being displayed (1.19.1 RC0 and later only). - + - Change the rotation of an object + Some information about a parcel of land returned from a DirectoryManager search - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation of the object - - - Set the name of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new name of the object + + Global Key of record - - - Set the name of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the name of - An array which contains the new names of the objects + + Parcel Owners - - - Set the description of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new description of the object + + Name field of parcel, limited to 128 characters - - - Set the descriptions of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the description of - An array which contains the new descriptions of the objects + + Description field of parcel, limited to 256 characters - - - Attach an object to this avatar - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The point on the avatar the object will be attached - The rotation of the attached object + + Total Square meters of parcel - - - Drop an attached object from this avatar - - A reference to the - object where the objects reside. This will always be the simulator the avatar is currently in - - The object's ID which is local to the simulator the object is in + + Total area billable as Tier, for group owned land this will be 10% less than ActualArea - - - Detach an object from yourself - - A reference to the - object where the objects reside - - This will always be the simulator the avatar is currently in - - An array which contains the IDs of the objects to detach + + True of parcel is in Mature simulator - - - Change the position of an object, Will change position of entire linkset - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object + + Grid global X position of parcel - - - Change the position of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - if true, will change position of (this) child prim only, not entire linkset + + Grid global Y position of parcel - - - Change the Scale (size) of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change scale of this prim only, not entire linkset - True to resize prims uniformly + + Grid global Z position of parcel (not used) - - - Change the Rotation of an object that is either a child or a whole linkset - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change rotation of this prim only, not entire linkset + + Name of simulator parcel is located in - - - Send a Multiple Object Update packet to change the size, scale or rotation of a primitive - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation, size, or position of the target object - The flags from the Enum + + Texture of parcels display picture - - - Deed an object (prim) to a group, Object must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The of the group to deed the object to + + Float representing calculated traffic based on time spent on parcel by avatars - - - Deed multiple objects (prims) to a group, Objects must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - An array which contains the IDs of the objects to deed - The of the group to deed the object to + + Sale price of parcel (not used) - - - Set the permissions on multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the permissions on - The new Who mask to set - The new Permissions mark to set - TODO: What does this do? + + Auction ID of parcel - + - Request additional properties for an object + Parcel Media Information - A reference to the object where the object resides - - - - Request additional properties for an object - - A reference to the object where the object resides - Absolute UUID of the object - Whether to require server acknowledgement of this request + + A byte, if 0x1 viewer should auto scale media to fit object - - - Set the ownership of a list of objects to the specified group - - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the group id on - The Groups ID + + A boolean, if true the viewer should loop the media - - - Update current URL of the previously set prim media - - UUID of the prim - Set current URL to this - Prim face number - Simulator in which prim is located + + The Asset UUID of the Texture which when applied to a + primitive will display the media - - - Set object media - - UUID of the prim - Array the length of prims number of faces. Null on face indexes where there is - no media, on faces which contain the media - Simulatior in which prim is located + + A URL which points to any Quicktime supported media type - - - Retrieve information about object media - - UUID of the primitive - Simulator where prim is located - Call this callback when done + + A description of the media - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + An Integer which represents the height of the media - + + An integer which represents the width of the media + + + A string which contains the mime type of the media + + - A terse object update, used when a transformation matrix or - velocity/acceleration for an object changes but nothing else - (scale/position/rotation/acceleration/velocity) + Parcel of land, a portion of virtual real estate in a simulator - The sender - The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The total number of contiguous 4x4 meter blocks your agent owns within this parcel - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Deprecated, Value appears to always be 0 - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Simulator-local ID of this parcel - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + UUID of the owner of this parcel - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Whether the land is deeded to a group or not - - - Setup construction data for a basic primitive shape - - Primitive shape to construct - Construction data that can be plugged into a + + - - - - - - - - + + Date land was claimed - - - - - - + + Appears to always be zero - - - Set the Shape data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - Data describing the prim shape + + This field is no longer used - - - Set the Material data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new material of the object + + Minimum corner of the axis-aligned bounding box for this + parcel - - - - - - - - + + Maximum corner of the axis-aligned bounding box for this + parcel - - - - - - - - + + Bitmap describing land layout in 4x4m squares across the + entire region - - Raised when the simulator sends us data containing - A , Foliage or Attachment - - + + Total parcel land area - - Raised when the simulator sends us data containing - additional information - - + + - - Raised when the simulator sends us data containing - Primitive.ObjectProperties for an object we are currently tracking + + Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used - - Raised when the simulator sends us data containing - additional and details - + + Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel + owned by the agent or group that owns this parcel - - Raised when the simulator sends us data containing - updated information for an + + Maximum number of primitives this parcel supports - - Raised when the simulator sends us data containing - and movement changes + + Total number of primitives on this parcel - - Raised when the simulator sends us data containing - updates to an Objects DataBlock + + For group-owned parcels this indicates the total number of prims deeded to the group, + for parcels owned by an individual this inicates the number of prims owned by the individual - - Raised when the simulator informs us an - or is no longer within view + + Total number of primitives owned by the parcel group on + this parcel, or for parcels owned by an individual with a group set the + total number of prims set to that group. - - Raised when the simulator sends us data containing - updated sit information for our + + Total number of prims owned by other avatars that are not set to group, or not the parcel owner - - Raised when the simulator sends us data containing - purchase price information for a + + A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect + the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed - - - Callback for getting object media data via CAP - - Indicates if the operation was succesfull - Object media version string - Array indexed on prim face of media entry data + + Autoreturn value in minutes for others' objects - - Provides data for the event - The event occurs when the simulator sends - an containing a Primitive, Foliage or Attachment data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or - if an Avatar crosses the border into a new simulator and returns to the current simulator - - - The following code example uses the , , and - properties to display new Primitives and Attachments on the window. - - // Subscribe to the event that gives us prim and foliage information - Client.Objects.ObjectUpdate += Objects_ObjectUpdate; - - - private void Objects_ObjectUpdate(object sender, PrimEventArgs e) - { - Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); - } - - - - - - - - - Construct a new instance of the PrimEventArgs class - - The simulator the object originated from - The Primitive - The simulator time dilation - The prim was not in the dictionary before this update - true if the primitive represents an attachment to an agent - - - Get the simulator the originated from - - - Get the details - - - true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) - - - true if the is attached to an + + - - Get the simulator Time Dilation + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it - - Provides data for the event - The event occurs when the simulator sends - an containing Avatar data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator - - - The following code example uses the property to make a request for the top picks - using the method in the class to display the names - of our own agents picks listings on the window. - - // subscribe to the AvatarUpdate event to get our information - Client.Objects.AvatarUpdate += Objects_AvatarUpdate; - Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; - - private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) - { - // we only want our own data - if (e.Avatar.LocalID == Client.Self.LocalID) - { - // Unsubscribe from the avatar update event to prevent a loop - // where we continually request the picks every time we get an update for ourselves - Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; - // make the top picks request through AvatarManager - Client.Avatars.RequestAvatarPicks(e.Avatar.ID); - } - } - - private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) - { - // we'll unsubscribe from the AvatarPicksReply event since we now have the data - // we were looking for - Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; - // loop through the dictionary and extract the names of the top picks from our profile - foreach (var pickName in e.Picks.Values) - { - Console.WriteLine(pickName); - } - } - - - - + + Parcel Name - - - Construct a new instance of the AvatarUpdateEventArgs class - - The simulator the packet originated from - The data - The simulator time dilation - The avatar was not in the dictionary before this update + + Parcel Description - - Get the simulator the object originated from + + URL For Music Stream - - Get the data + + - - Get the simulator time dilation + + Price for a temporary pass - - true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) + + How long is pass valid for - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment data - The event is also raised when a request is - made. - - - The following code example uses the , and - - properties to display new attachments and send a request for additional properties containing the name of the - attachment then display it on the window. - - // Subscribe to the event that provides additional primitive details - Client.Objects.ObjectProperties += Objects_ObjectProperties; - - // handle the properties data that arrives - private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) - { - Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); - } - - + + - - - Construct a new instance of the ObjectPropertiesEventArgs class - - The simulator the object is located - The primitive Properties + + Key of authorized buyer - - Get the simulator the object is located + + Key of parcel snapshot - - Get the primitive properties + + The landing point location - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive or Foliage data that is currently - being tracked in the dictionary - The event is also raised when a request is - made and is enabled - + + The landing point LookAt - - - Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class - - The simulator the object is located - The Primitive - The primitive Properties + + The type of landing enforced from the enum - - Get the simulator the object is located + + - - Get the primitive details + + - - Get the primitive properties + + - - Provides additional primitive data, permissions and sale info for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment. This includes - Permissions, Sale info, and other basic details on an object - The event is also raised when a request is - made, the viewer equivalent is hovering the mouse cursor over an object - + + Access list of who is whitelisted on this + parcel - - Get the simulator the object is located + + Access list of who is blacklisted on this + parcel - - + + TRUE of region denies access to age unverified users - - + + true to obscure (hide) media url - - Provides primitive data containing updated location, velocity, rotation, textures for the event - The event occurs when the simulator sends updated location, velocity, rotation, etc - + + true to obscure (hide) music url - - Get the simulator the object is located + + A struct containing media details - - Get the primitive details + + + Displays a parcel object in string format + + string containing key=value pairs of a parcel object - - + + + Defalt constructor + + Local ID of this parcel - - + + + Update the simulator with any local changes to this Parcel object + + Simulator to send updates to + Whether we want the simulator to confirm + the update with a reply packet or not - + - + Set Autoreturn time + Simulator to send the update to - - Get the simulator the object is located + + + Parcel (subdivided simulator lots) subsystem + - - Get the primitive details + + The event subscribers. null if no subcribers - - + + Raises the ParcelDwellReply event + A ParcelDwellReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the ParcelInfoReply event + A ParcelInfoReplyEventArgs object containing the + data returned from the simulator - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event + + Thread sync lock object - - Get the simulator the object is located + + The event subscribers. null if no subcribers - - The LocalID of the object + + Raises the ParcelProperties event + A ParcelPropertiesEventArgs object containing the + data returned from the simulator - - - Provides updates sit position data - + + Thread sync lock object - - Get the simulator the object is located + + The event subscribers. null if no subcribers - - + + Raises the ParcelAccessListReply event + A ParcelAccessListReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - - - + + Raises the ParcelObjectOwnersReply event + A ParcelObjectOwnersReplyEventArgs object containing the + data returned from the simulator - - Get the simulator the object is located + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the SimParcelsDownloaded event + A SimParcelsDownloadedEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - + + The event subscribers. null if no subcribers + + + Raises the ForceSelectObjectsReply event + A ForceSelectObjectsReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ParcelMediaUpdateReply event + A ParcelMediaUpdateReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ParcelMediaCommand event + A ParcelMediaCommandEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + - Indicates if the operation was successful + Default constructor + A reference to the GridClient object - + - Media version string + Request basic information for a single parcel + Simulator-local ID of the parcel - + - Array of media entries indexed by face number + Request properties of a single parcel + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + multiple simultaneous requests - + - + Request the access list for a single parcel + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelAccessList reply, useful for distinguishing between + multiple simultaneous requests + - + - + Request properties of parcels using a bounding box selection - + Simulator containing the parcel + Northern boundary of the parcel selection + Eastern boundary of the parcel selection + Southern boundary of the parcel selection + Western boundary of the parcel selection + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + different types of parcel property requests + A boolean that is returned with the + ParcelProperties reply, useful for snapping focus to a single + parcel - + - De-serialization constructor for the InventoryNode Class + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) + Simulator to request parcels from (must be connected) - + - Serialization handler for the InventoryNode Class + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) + Simulator to request parcels from (must be connected) + If TRUE, will force a full refresh + Number of milliseconds to pause in between each request - + - De-serialization handler for the InventoryNode Class + Request the dwell value for a parcel + Simulator containing the parcel + Simulator-local ID of the parcel - + - + Send a request to Purchase a parcel of land + The Simulator the parcel is located in + The parcels region specific local ID + true if this parcel is being purchased by a group + The groups + true to remove tier contribution if purchase is successful + The parcels size + The purchase price of the parcel - - - - - - - - - - - - - + - For inventory folder nodes specifies weather the folder needs to be - refreshed from the server + Reclaim a parcel of land + The simulator the parcel is in + The parcels region specific local ID - + - + Deed a parcel to a group + The simulator the parcel is in + The parcels region specific local ID + The groups - - The avatar has no rights - - - The avatar can see the online status of the target avatar - - - The avatar can see the location of the target avatar on the map - - - The avatar can modify the ojects of the target avatar - - + - This class holds information about an avatar in the friends list. There are two ways - to interface to this class. The first is through the set of boolean properties. This is the typical - way clients of this class will use it. The second interface is through two bitflag properties, - TheirFriendsRights and MyFriendsRights + Request prim owners of a parcel of land. + Simulator parcel is in + The parcels region specific local ID - + - Used internally when building the initial list of friends at login time + Return objects from a parcel - System ID of the avatar being prepesented - Rights the friend has to see you online and to modify your objects - Rights you have to see your friend online and to modify their objects + Simulator parcel is in + The parcels region specific local ID + the type of objects to return, + A list containing object owners s to return - + - FriendInfo represented as a string + Subdivide (split) a parcel - A string reprentation of both my rights and my friends rights + + + + + - + - System ID of the avatar + Join two parcels of land creating a single parcel + + + + + - + - full name of the avatar + Get a parcels LocalID + Simulator parcel is in + Vector3 position in simulator (Z not used) + 0 on failure, or parcel LocalID on success. + A call to Parcels.RequestAllSimParcels is required to populate map and + dictionary. - + - True if the avatar is online + Terraform (raise, lower, etc) an area or whole parcel of land + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - + - True if the friend can see if I am online + Terraform (raise, lower, etc) an area or whole parcel of land + Simulator land area is in. + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - + - True if the friend can see me on the map + Terraform (raise, lower, etc) an area or whole parcel of land + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - + - True if the freind can modify my objects + Terraform (raise, lower, etc) an area or whole parcel of land + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + Height at which the terraform operation is acting at - + - True if I can see if my friend is online + Sends a request to the simulator to return a list of objects owned by specific owners + Simulator local ID of parcel + Owners, Others, Etc + List containing keys of avatars objects to select; + if List is null will return Objects of type selectType + Response data is returned in the event - + - True if I can see if my friend is on the map + Eject and optionally ban a user from a parcel + target key of avatar to eject + true to also ban target - + - True if I can modify my friend's objects + Freeze or unfreeze an avatar over your land + target key to freeze + true to freeze, false to unfreeze - + - My friend's rights represented as bitmapped flags + Abandon a parcel of land + Simulator parcel is in + Simulator local ID of parcel - + - My rights represented as bitmapped flags + Requests the UUID of the parcel in a remote region at a specified location + Location of the parcel in the remote region + Remote region handle + Remote region UUID + If successful UUID of the remote parcel, UUID.Zero otherwise - + - This class is used to add and remove avatars from your friends list and to manage their permission. + Retrieves information on resources used by the parcel + UUID of the parcel + Should per object resource usage be requested + Callback invoked when the request is complete - - The event subscribers. null if no subcribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - Raises the FriendOnline event - A FriendInfoEventArgs object containing the - data returned from the data server + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - The event subscribers. null if no subcribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - Raises the FriendOffline event - A FriendInfoEventArgs object containing the - data returned from the data server + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers. null if no subcribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - Raises the FriendRightsUpdate event - A FriendInfoEventArgs object containing the - data returned from the data server + + Raised when the simulator responds to a request - - Thread sync lock object + + Raised when the simulator responds to a request - - The event subscribers. null if no subcribers + + Raised when the simulator responds to a request - - Raises the FriendNames event - A FriendNamesEventArgs object containing the - data returned from the data server + + Raised when the simulator responds to a request - - Thread sync lock object + + Raised when the simulator responds to a request - - The event subscribers. null if no subcribers + + Raised when the simulator responds to a request - - Raises the FriendshipOffered event - A FriendshipOfferedEventArgs object containing the - data returned from the data server + + Raised when the simulator responds to a request - - Thread sync lock object + + Raised when the simulator responds to a Parcel Update request - - The event subscribers. null if no subcribers + + Raised when the parcel your agent is located sends a ParcelMediaCommand - - Raises the FriendshipResponse event - A FriendshipResponseEventArgs object containing the - data returned from the data server + + + Parcel Accesslist + - - Thread sync lock object + + Agents - - The event subscribers. null if no subcribers + + - - Raises the FriendshipTerminated event - A FriendshipTerminatedEventArgs object containing the - data returned from the data server + + Flags for specific entry in white/black lists - - Thread sync lock object + + + Owners of primitives on parcel + - - The event subscribers. null if no subcribers + + Prim Owners - - Raises the FriendFoundReply event - A FriendFoundReplyEventArgs object containing the - data returned from the data server + + True of owner is group - - Thread sync lock object + + Total count of prims owned by OwnerID - - - A dictionary of key/value pairs containing known friends of this avatar. - - The Key is the of the friend, the value is a - object that contains detailed information including permissions you have and have given to the friend - + + true of OwnerID is currently online and is not a group - - - A Dictionary of key/value pairs containing current pending frienship offers. - - The key is the of the avatar making the request, - the value is the of the request which is used to accept - or decline the friendship offer - - - - - Internal constructor - - A reference to the GridClient Object + + The date of the most recent prim left by OwnerID - + - Accept a friendship request + Called once parcel resource usage information has been collected - agentID of avatatar to form friendship with - imSessionID of the friendship request message + Indicates if operation was successfull + Parcel resource usage information - - - Decline a friendship request - - of friend - imSessionID of the friendship request message + + Contains a parcels dwell data returned from the simulator in response to an - + - Overload: Offer friendship to an avatar. + Construct a new instance of the ParcelDwellReplyEventArgs class - System ID of the avatar you are offering friendship to + The global ID of the parcel + The simulator specific ID of the parcel + The calculated dwell for the parcel - - - Offer friendship to an avatar. - - System ID of the avatar you are offering friendship to - A message to send with the request + + Get the global ID of the parcel - - - Terminate a friendship with an avatar - - System ID of the avatar you are terminating the friendship with + + Get the simulator specific ID of the parcel - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Get the calculated dwell - - - Change the rights of a friend avatar. - - the of the friend - the new rights to give the friend - This method will implicitly set the rights to those passed in the rights parameter. + + Contains basic parcel information data returned from the + simulator in response to an request - + - Use to map a friends location on the grid. + Construct a new instance of the ParcelInfoReplyEventArgs class - Friends UUID to find - + The object containing basic parcel info - - - Use to track a friends movement on the grid - - Friends Key + + Get the object containing basic parcel info - - - Ask for a notification of friend's online status - - Friend's UUID + + Contains basic parcel information data returned from the simulator in response to an request - + - This handles the asynchronous response of a RequestAvatarNames call. + Construct a new instance of the ParcelPropertiesEventArgs class - - names cooresponding to the the list of IDs sent the the RequestAvatarNames call. + The object containing the details + The object containing the details + The result of the request + The number of primitieves your agent is + currently selecting and or sitting on in this parcel + The user assigned ID used to correlate a request with + these results + TODO: - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Get the simulator the parcel is located in - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Get the object containing the details + If Result is NoData, this object will not contain valid data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Get the result of the request - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Get the number of primitieves your agent is + currently selecting and or sitting on in this parcel - - - Populate FriendList with data from the login reply - - true if login was successful - true if login request is requiring a redirect - A string containing the response to the login request - A string containing the reason for the request - A object containing the decoded - reply from the login server + + Get the user assigned ID used to correlate a request with + these results - - Raised when the simulator sends notification one of the members in our friends list comes online + + TODO: - - Raised when the simulator sends notification one of the members in our friends list goes offline + + Contains blacklist and whitelist data returned from the simulator in response to an request - - Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions + + + Construct a new instance of the ParcelAccessListReplyEventArgs class + + The simulator the parcel is located in + The user assigned ID used to correlate a request with + these results + The simulator specific ID of the parcel + TODO: + The list containing the white/blacklisted agents for the parcel - - Raised when the simulator sends us the names on our friends list + + Get the simulator the parcel is located in - - Raised when the simulator sends notification another agent is offering us friendship + + Get the user assigned ID used to correlate a request with + these results - - Raised when a request we sent to friend another agent is accepted or declined + + Get the simulator specific ID of the parcel - - Raised when the simulator sends notification one of the members in our friends list has terminated - our friendship + + TODO: - - Raised when the simulator sends the location of a friend we have - requested map location info for + + Get the list containing the white/blacklisted agents for the parcel - - Contains information on a member of our friends list + + Contains blacklist and whitelist data returned from the + simulator in response to an request - + - Construct a new instance of the FriendInfoEventArgs class + Construct a new instance of the ParcelObjectOwnersReplyEventArgs class - The FriendInfo - - - Get the FriendInfo - - - Contains Friend Names + The simulator the parcel is located in + The list containing prim ownership counts - - - Construct a new instance of the FriendNamesEventArgs class - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name + + Get the simulator the parcel is located in - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name + + Get the list containing prim ownership counts - - Sent when another agent requests a friendship with our agent + + Contains the data returned when all parcel data has been retrieved from a simulator - + - Construct a new instance of the FriendshipOfferedEventArgs class + Construct a new instance of the SimParcelsDownloadedEventArgs class - The ID of the agent requesting friendship - The name of the agent requesting friendship - The ID of the session, used in accepting or declining the - friendship offer + The simulator the parcel data was retrieved from + The dictionary containing the parcel data + The multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. - - Get the ID of the agent requesting friendship + + Get the simulator the parcel data was retrieved from - - Get the name of the agent requesting friendship + + A dictionary containing the parcel data where the key correlates to the ParcelMap entry - - Get the ID of the session, used in accepting or declining the - friendship offer + + Get the multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. - - A response containing the results of our request to form a friendship with another agent + + Contains the data returned when a request - + - Construct a new instance of the FriendShipResponseEventArgs class + Construct a new instance of the ForceSelectObjectsReplyEventArgs class - The ID of the agent we requested a friendship with - The name of the agent we requested a friendship with - true if the agent accepted our friendship offer + The simulator the parcel data was retrieved from + The list of primitive IDs + true if the list is clean and contains the information + only for a given request - - Get the ID of the agent we requested a friendship with + + Get the simulator the parcel data was retrieved from - - Get the name of the agent we requested a friendship with + + Get the list of primitive IDs - - true if the agent accepted our friendship offer + + true if the list is clean and contains the information + only for a given request - - Contains data sent when a friend terminates a friendship with us + + Contains data when the media data for a parcel the avatar is on changes - + - Construct a new instance of the FrindshipTerminatedEventArgs class + Construct a new instance of the ParcelMediaUpdateReplyEventArgs class - The ID of the friend who terminated the friendship with us - The name of the friend who terminated the friendship with us + the simulator the parcel media data was updated in + The updated media information - - Get the ID of the agent that terminated the friendship with us + + Get the simulator the parcel media data was updated in - - Get the name of the agent that terminated the friendship with us + + Get the updated media information - + + Contains the media command for a parcel the agent is currently on + + - Data sent in response to a request which contains the information to allow us to map the friends location + Construct a new instance of the ParcelMediaCommandEventArgs class + The simulator the parcel media command was issued in + + + The media command that was sent + - + + Get the simulator the parcel media command was issued in + + + + + + + + + Get the media command that was sent + + + + + - Construct a new instance of the FriendFoundReplyEventArgs class + A Name Value pair with additional settings, used in the protocol + primarily to transmit avatar names and active group in object packets - The ID of the agent we have requested location information for - The region handle where our friend is located - The simulator local position our friend is located - - Get the ID of the agent we have received location information for + + - - Get the region handle where our mapped friend is located + + - - Get the simulator local position where our friend is located + + - + + + + + + + - Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. + Constructor that takes all the fields as parameters + + + + + - + - Rotation Keyframe count (used internally) + Constructor that takes a single line from a NameValue field + - + + Type of the value + + + Unknown + + + String value + + + + + + + + + + + + + + + Deprecated + + + String value, but designated as an asset + + + + + - Position Keyframe count (used internally) + - + + + + + + + + + + + + + - Animation Priority + - + + + + + + + + + + + + + + + + - The animation length in seconds. + Abstract base for rendering plugins - + - Expression set in the client. Null if [None] is selected + Generates a basic mesh structure from a primitive + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh - + - The time in seconds to start the animation + Generates a basic mesh structure from a sculpted primitive and + texture + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh - + - The time in seconds to end the animation + Generates a series of faces, each face containing a mesh and + metadata + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh - + - Loop the animation + Generates a series of faces for a sculpted prim, each face + containing a mesh and metadata + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh - + - Meta data. Ease in Seconds. + Apply texture coordinate modifications from a + to a list of vertices + Vertex list to modify texture coordinates for + Center-point of the face + Face texture parameters + Scale of the prim - + - Meta data. Ease out seconds. + Represents a Landmark with RegionID and Position vector - + + UUID of the Landmark target region + + + Local position of the target + + + Construct an Asset of type Landmark + + - Meta Data for the Hand Pose + Construct an Asset object of type Landmark + A unique specific to this asset + A byte array containing the raw asset data - + - Number of joints defined in the animation + Encode the raw contents of a string with the specific Landmark format - + - Contains an array of joints + Decode the raw asset data, populating the RegionID and Position + true if the AssetData was successfully decoded to a UUID and Vector - + + Override the base classes AssetType + + - Searialize an animation asset into it's joints/keyframes/meta data + Temporary code to produce a tar archive in tar v7 format - - + - Variable length strings seem to be null terminated in the animation asset.. but.. - use with caution, home grown. - advances the index. + Binary writer for the underlying stream - The animation asset byte array - The offset to start reading - a string - + - Read in a Joint from an animation asset byte array - Variable length Joint fields, yay! - Advances the index + Write a directory entry to the tar archive. We can only handle one path level right now! - animation asset byte array - Byte Offset of the start of the joint - The Joint data serialized into the binBVHJoint structure + - + - Read Keyframes of a certain type - advance i + Write a file to the tar archive - Animation Byte array - Offset in the Byte Array. Will be advanced - Number of Keyframes - Scaling Min to pass to the Uint16ToFloat method - Scaling Max to pass to the Uint16ToFloat method - + + - + - A Joint and it's associated meta data and keyframes + Write a file to the tar archive + + - + - Name of the Joint. Matches the avatar_skeleton.xml in client distros + Finish writing the raw tar archive data to a stream. The stream will be closed on completion. - + - Joint Animation Override? Was the same as the Priority in testing.. + Write a particular entry + + + - + - Array of Rotation Keyframes in order from earliest to latest + Operation to apply when applying color to texture - + - Array of Position Keyframes in order from earliest to latest - This seems to only be for the Pelvis? + Information needed to translate visual param value to RGBA color - + - A Joint Keyframe. This is either a position or a rotation. + Construct VisualColorParam + Operation to apply when applying color to texture + Colors - + - Either a Vector3 position or a Vector3 Euler rotation + Represents alpha blending and bump infor for a visual parameter + such as sleive length - + + Stregth of the alpha to apply + + + File containing the alpha channel + + + Skip blending if parameter value is 0 + + + Use miltiply insted of alpha blending + + - Poses set in the animation metadata for the hands. + Create new alhpa information for a visual param + + Stregth of the alpha to apply + File containing the alpha channel + Skip blending if parameter value is 0 + Use miltiply insted of alpha blending + + + + A single visual characteristic of an avatar mesh, such as eyebrow height + + + + Index of this visual param + + + Internal name + + + Group ID this parameter belongs to + + + Name of the wearable this parameter belongs to + + + Displayable label of this characteristic + + + Displayable label for the minimum value of this characteristic + + + Displayable label for the maximum value of this characteristic + + + Default value + + + Minimum value + + + Maximum value + + + Is this param used for creation of bump layer? + + + Alpha blending/bump info + + + Color information + + + Array of param IDs that are drivers for this parameter + + + + Set all the values through the constructor + + Index of this visual param + Internal name + + + Displayable label of this characteristic + Displayable label for the minimum value of this characteristic + Displayable label for the maximum value of this characteristic + Default value + Minimum value + Maximum value + Is this param used for creation of bump layer? + Array of param IDs that are drivers for this parameter + Alpha blending/bump info + Color information + + + + Holds the Params array of all the avatar appearance parameters + + + + + + + + + + Initialize the UDP packet handler in server mode + + Port to listening for incoming UDP packets on + + + + Initialize the UDP packet handler in client mode + + Remote UDP server to connect to + + + + + + + + + + + + + + @@ -16833,6313 +15052,8678 @@ + + + - + - Represents an AssetScriptBinary object containing the - LSO compiled bytecode of an LSL script + Represents an Animation - - Initializes a new instance of an AssetScriptBinary object + + Default Constructor - - Initializes a new instance of an AssetScriptBinary object with parameters + + + Construct an Asset object of type Animation + A unique specific to this asset A byte array containing the raw asset data - - - TODO: Encodes a scripts contents into a LSO Bytecode file - + + Override the base classes AssetType - + - TODO: Decode LSO Bytecode into a string + Static helper functions and global variables - true - - Override the base classes AssetType + + This header flag signals that ACKs are appended to the packet - - - Temporary code to produce a tar archive in tar v7 format - + + This header flag signals that this packet has been sent before - + + This header flags signals that an ACK is expected for this packet + + + This header flag signals that the message is compressed using zerocoding + + - Binary writer for the underlying stream + + + - + - Write a directory entry to the tar archive. We can only handle one path level right now! + - + + + - + - Write a file to the tar archive + - - + + - + - Write a file to the tar archive + - - + + + - + - Finish writing the raw tar archive data to a stream. The stream will be closed on completion. + Given an X/Y location in absolute (grid-relative) terms, a region + handle is returned along with the local X/Y location in that region + The absolute X location, a number such as + 255360.35 + The absolute Y location, a number such as + 255360.35 + The sim-local X position of the global X + position, a value from 0.0 to 256.0 + The sim-local Y position of the global Y + position, a value from 0.0 to 256.0 + A 64-bit region handle that can be used to teleport to - + - Write a particular entry + Converts a floating point number to a terse string format used for + transmitting numbers in wearable asset files - - - + Floating point number to convert to a string + A terse string representation of the input number - + - + Convert a variable length field (byte array) to a string, with a + field name prepended to each line of the output + If the byte array has unprintable characters in it, a + hex dump will be written instead + The StringBuilder object to write to + The byte array to convert to a string + A field name to prepend to each line of output - - + + + Decode a zerocoded byte array, used to decompress packets marked + with the zerocoded flag + + Any time a zero is encountered, the next byte is a count + of how many zeroes to expand. One zero is encoded with 0x00 0x01, + two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The + first four bytes are copied directly to the output buffer. + + The byte array to decode + The length of the byte array to decode. This + would be the length of the packet up to (but not including) any + appended ACKs + The output byte array to decode to + The length of the output buffer - - + + + Encode a byte array with zerocoding. Used to compress packets marked + with the zerocoded flag. Any zeroes in the array are compressed down + to a single zero byte followed by a count of how many zeroes to expand + out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, + three zeroes becomes 0x00 0x03, etc. The first four bytes are copied + directly to the output buffer. + + The byte array to encode + The length of the byte array to encode + The output byte array to encode to + The length of the output buffer - - + + + Calculates the CRC (cyclic redundancy check) needed to upload inventory. + + Creation date + Sale type + Inventory type + Type + Asset ID + Group ID + Sale price + Owner ID + Creator ID + Item ID + Folder ID + Everyone mask (permissions) + Flags + Next owner mask (permissions) + Group mask (permissions) + Owner mask (permissions) + The calculated CRC - + - Thrown when a packet could not be successfully deserialized + Attempts to load a file embedded in the assembly + The filename of the resource to load + A Stream for the requested file, or null if the resource + was not successfully loaded - + - Default constructor + Attempts to load a file either embedded in the assembly or found in + a given search path + The filename of the resource to load + An optional path that will be searched if + the asset is not found embedded in the assembly + A Stream for the requested file, or null if the resource + was not successfully loaded - + - Constructor that takes an additional error message + Converts a list of primitives to an object that can be serialized + with the LLSD system - An error message to attach to this exception + Primitives to convert to a serializable object + An object that can be serialized with LLSD - + - The header of a message template packet. Holds packet flags, sequence - number, packet ID, and any ACKs that will be appended at the end of - the packet + Deserializes OSD in to a list of primitives + Structure holding the serialized primitive list, + must be of the SDMap type + A list of deserialized primitives - + + + Converts a struct or class object containing fields only into a key value separated string + + The struct object + A string containing the struct fields as the keys, and the field value as the value separated + + + // Add the following code to any struct or class containing only fields to override the ToString() + // method to display the values of the passed object + + /// Print the struct data as a string + ///A string containing the field name, and field value + public override string ToString() + { + return Helpers.StructToString(this); + } + + + + - Convert the AckList to a byte array, used for packet serializing + Passed to Logger.Log() to identify the severity of a log entry - Reference to the target byte array - Beginning position to start writing to in the byte - array, will be updated with the ending position of the ACK list - + + No logging information will be output + + + Non-noisy useful information, may be helpful in + debugging a problem + + + A non-critical error occurred. A warning will not + prevent the rest of the library from operating as usual, + although it may be indicative of an underlying issue + + + A critical error has occurred. Generally this will + be followed by the network layer shutting down, although the + stability of the library after an error is uncertain + + + Used for internal testing, this logging level can + generate very noisy (long and/or repetitive) messages. Don't + pass this to the Log() function, use DebugLog() instead. + + + - + Checks the instance back into the object pool - - - - - + - + Returns an instance of the class that has been checked out of the Object Pool. - - - - + - A block of data in a packet. Packets are composed of one or more blocks, - each block containing one or more fields + Creates a new instance of the ObjectPoolBase class. Initialize MUST be called + after using this constructor. - + - Create a block from a byte array + Creates a new instance of the ObjectPool Base class. - Byte array containing the serialized block - Starting position of the block in the byte array. - This will point to the data after the end of the block when the - call returns + The object pool is composed of segments, which + are allocated whenever the size of the pool is exceeded. The number of items + in a segment should be large enough that allocating a new segmeng is a rare + thing. For example, on a server that will have 10k people logged in at once, + the receive buffer object pool should have segment sizes of at least 1000 + byte arrays per segment. + + The minimun number of segments that may exist. + Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. + The frequency which segments are checked to see if they're eligible for cleanup. - + - Serialize this block into a byte array + Forces the segment cleanup algorithm to be run. This method is intended + primarly for use from the Unit Test libraries. - Byte array to serialize this block into - Starting position in the byte array to serialize to. - This will point to the position directly after the end of the - serialized block when the call returns - - Current length of the data in this packet + + + Responsible for allocate 1 instance of an object that will be stored in a segment. + + An instance of whatever objec the pool is pooling. - - A generic value, not an actual packet type + + + Checks in an instance of T owned by the object pool. This method is only intended to be called + by the WrappedObject class. + + The segment from which the instance is checked out. + The instance of T to check back into the segment. - - + + + Checks an instance of T from the pool. If the pool is not sufficient to + allow the checkout, a new segment is created. + + A WrappedObject around the instance of T. To check + the instance back into the segment, be sureto dispose the WrappedObject + when finished. - - - - - + + + The total number of segments created. Intended to be used by the Unit Tests. + - - + + + The number of items that are in a segment. Items in a segment + are all allocated at the same time, and are hopefully close to + each other in the managed heap. + - - + + + The minimum number of segments. When segments are reclaimed, + this number of segments will always be left alone. These + segments are allocated at startup. + - - + + + The age a segment must be before it's eligible for cleanup. + This is used to prevent thrash, and typical values are in + the 5 minute range. + - - + + + The frequence which the cleanup thread runs. This is typically + expected to be in the 5 minute range. + - - + + + Wrapper around a byte array that allows bit to be packed and unpacked + one at a time or by a variable amount. Useful for very tightly packed + data like LayerData packets + - - + + - - + + + Default constructor, initialize the bit packer / bit unpacker + with a byte array and starting position + + Byte array to pack bits in to or unpack from + Starting position in the byte array - - + + + Pack a floating point value in to the data + + Floating point value to pack - - + + + Pack part or all of an integer in to the data + + Integer containing the data to pack + Number of bits of the integer to pack - - + + + Pack part or all of an unsigned integer in to the data + + Unsigned integer containing the data to pack + Number of bits of the integer to pack - - + + + Pack a single bit in to the data + + Bit to pack - - + + + + + + + + - - + + + + + - - + + + + + - - + + + Unpacking a floating point value from the data + + Unpacked floating point value - - + + + Unpack a variable number of bits from the data in to integer format + + Number of bits to unpack + An integer containing the unpacked bits + This function is only useful up to 32 bits - - + + + Unpack a variable number of bits from the data in to unsigned + integer format + + Number of bits to unpack + An unsigned integer containing the unpacked bits + This function is only useful up to 32 bits - - + + + Unpack a 16-bit signed integer + + 16-bit signed integer - - + + + Unpack a 16-bit unsigned integer + + 16-bit unsigned integer - - + + + Unpack a 32-bit signed integer + + 32-bit signed integer - - + + + Unpack a 32-bit unsigned integer + + 32-bit unsigned integer - - + + - - + + - - + + + Represents a Sound Asset + - - + + Initializes a new instance of an AssetSound object - - + + Initializes a new instance of an AssetSound object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + + TODO: Encodes a sound file + - - + + + TODO: Decode a sound file + + true - - + + Override the base classes AssetType - - + + Sort by name - - + + Sort by date - - + + Sort folders by name, regardless of whether items are + sorted by name or date - - + + Place system folders at the top - - + + + Possible destinations for DeRezObject request + - - + + - - + + Copy from in-world to agent inventory - - + + Derez to TaskInventory - - + + - - + + Take Object - - + + - - + + Delete Object - - + + Put an avatar attachment into agent inventory - - + + - - + + Return an object back to the owner's inventory - - + + Return a deeded object back to the last owner's inventory - - + + + Upper half of the Flags field for inventory items + - - + + Indicates that the NextOwner permission will be set to the + most restrictive set of permissions found in the object set + (including linkset items and object inventory items) on next rez - - + + Indicates that the object sale information has been + changed - - + + If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez - - + + If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez - - + + If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez - - + + If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez - - + + If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez - - + + Indicates whether this object is composed of multiple + items or not - - + + Indicates that the asset is only referenced by this + inventory item. If this item is deleted or updated to reference a + new assetID, the asset can be deleted - - + + + Base Class for Inventory Items + - - + + of item/folder - - + + of parent folder - - + + Name of item/folder - - + + Item/Folder Owners - - + + + Constructor, takes an itemID as a parameter + + The of the item - - + + + + + - - + + + + + - - + + + Generates a number corresponding to the value of the object to support the use of a hash table, + suitable for use in hashing algorithms and data structures such as a hash table + + A Hashcode of all the combined InventoryBase fields - - + + + Determine whether the specified object is equal to the current object + + InventoryBase object to compare against + true if objects are the same - - + + + Determine whether the specified object is equal to the current object + + InventoryBase object to compare against + true if objects are the same - - + + + Convert inventory to OSD + + OSD representation - - + + + An Item in Inventory + - - + + The of this item - - + + The combined of this item - - + + The type of item from - - + + The type of item from the enum - - + + The of the creator of this item - - + + A Description of this item - - + + The s this item is set to or owned by - - + + If true, item is owned by a group - - + + The price this item can be purchased for - - + + The type of sale from the enum - - + + Combined flags from - - + + Time and date this inventory item was created, stored as + UTC (Coordinated Universal Time) - - + + Used to update the AssetID in requests sent to the server - - + + The of the previous owner of the item - - + + + Construct a new InventoryItem object + + The of the item - - + + + Construct a new InventoryItem object of a specific Type + + The type of item from + of the item - - + + + Indicates inventory item is a link + + True if inventory item is a link to another inventory item - - + + + + + - - + + + + + - - + + + Generates a number corresponding to the value of the object to support the use of a hash table. + Suitable for use in hashing algorithms and data structures such as a hash table + + A Hashcode of all the combined InventoryItem fields - - + + + Compares an object + + The object to compare + true if comparison object matches - - + + + Determine whether the specified object is equal to the current object + + The object to compare against + true if objects are the same - - + + + Determine whether the specified object is equal to the current object + + The object to compare against + true if objects are the same - - + + + Create InventoryItem from OSD + + OSD Data that makes up InventoryItem + Inventory item created - - + + + Convert InventoryItem to OSD + + OSD representation of InventoryItem - - + + + InventoryTexture Class representing a graphical image + + - - + + + Construct an InventoryTexture object + + A which becomes the + objects AssetUUID - - + + + Construct an InventoryTexture object from a serialization stream + - - + + + InventorySound Class representing a playable sound + - - + + + Construct an InventorySound object + + A which becomes the + objects AssetUUID - - + + + Construct an InventorySound object from a serialization stream + - - + + + InventoryCallingCard Class, contains information on another avatar + - - + + + Construct an InventoryCallingCard object + + A which becomes the + objects AssetUUID - - + + + Construct an InventoryCallingCard object from a serialization stream + - - + + + InventoryLandmark Class, contains details on a specific location + - - + + + Construct an InventoryLandmark object + + A which becomes the + objects AssetUUID - - + + + Construct an InventoryLandmark object from a serialization stream + - - + + + Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited + - - + + + InventoryObject Class contains details on a primitive or coalesced set of primitives + - - + + + Construct an InventoryObject object + + A which becomes the + objects AssetUUID - - + + + Construct an InventoryObject object from a serialization stream + - - + + + Gets or sets the upper byte of the Flags value + - - + + + Gets or sets the object attachment point, the lower byte of the Flags value + - - + + + InventoryNotecard Class, contains details on an encoded text document + - - + + + Construct an InventoryNotecard object + + A which becomes the + objects AssetUUID - - + + + Construct an InventoryNotecard object from a serialization stream + - - + + + InventoryCategory Class + + TODO: Is this even used for anything? - - + + + Construct an InventoryCategory object + + A which becomes the + objects AssetUUID - - + + + Construct an InventoryCategory object from a serialization stream + - - + + + InventoryLSL Class, represents a Linden Scripting Language object + - - + + + Construct an InventoryLSL object + + A which becomes the + objects AssetUUID - - + + + Construct an InventoryLSL object from a serialization stream + - - + + + InventorySnapshot Class, an image taken with the viewer + - - + + + Construct an InventorySnapshot object + + A which becomes the + objects AssetUUID - - + + + Construct an InventorySnapshot object from a serialization stream + - - + + + InventoryAttachment Class, contains details on an attachable object + - - + + + Construct an InventoryAttachment object + + A which becomes the + objects AssetUUID - - + + + Construct an InventoryAttachment object from a serialization stream + - - + + + Get the last AttachmentPoint this object was attached to + - - + + + InventoryWearable Class, details on a clothing item or body part + - - + + + Construct an InventoryWearable object + + A which becomes the + objects AssetUUID - - + + + Construct an InventoryWearable object from a serialization stream + - - + + + The , Skin, Shape, Skirt, Etc + - - + + + InventoryAnimation Class, A bvh encoded object which animates an avatar + - - + + + Construct an InventoryAnimation object + + A which becomes the + objects AssetUUID - - + + + Construct an InventoryAnimation object from a serialization stream + - - + + + InventoryGesture Class, details on a series of animations, sounds, and actions + - - + + + Construct an InventoryGesture object + + A which becomes the + objects AssetUUID - - + + + Construct an InventoryGesture object from a serialization stream + - - + + + A folder contains s and has certain attributes specific + to itself + - - + + The Preferred for a folder. - - + + The Version of this folder - - + + Number of child items this folder contains. - - + + + Constructor + + UUID of the folder - - + + + + + - - + + + Get Serilization data for this InventoryFolder object + - - + + + Construct an InventoryFolder object from a serialization stream + - - + + + + + - - + + + + + + - - + + + + + + - - + + + + + + - - + + + Create InventoryFolder from OSD + + OSD Data that makes up InventoryFolder + Inventory folder created - - + + + Convert InventoryItem to OSD + + OSD representation of InventoryItem - - + + + Tools for dealing with agents inventory + - - + + Used for converting shadow_id to asset_id - - + + The event subscribers, null of no subscribers - - + + Raises the ItemReceived Event + A ItemReceivedEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the FolderUpdated Event + A FolderUpdatedEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the InventoryObjectOffered Event + A InventoryObjectOfferedEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the TaskItemReceived Event + A TaskItemReceivedEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the FindObjectByPath Event + A FindObjectByPathEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the TaskInventoryReply Event + A TaskInventoryReplyEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the SaveAssetToInventory Event + A SaveAssetToInventoryEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the ScriptRunningReply Event + A ScriptRunningReplyEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Partial mapping of AssetTypes to folder names - - + + + Default constructor + + Reference to the GridClient object - - + + + Fetch an inventory item from the dataserver + + The items + The item Owners + a integer representing the number of milliseconds to wait for results + An object on success, or null if no item was found + Items will also be sent to the event - - + + + Request A single inventory item + + The items + The item Owners + - - + + + Request inventory items + + Inventory items to request + Owners of the inventory items + - - + + + Request inventory items via Capabilities + + Inventory items to request + Owners of the inventory items + - - + + + Get contents of a folder + + The of the folder to search + The of the folders owner + true to retrieve folders + true to retrieve items + sort order to return results in + a integer representing the number of milliseconds to wait for results + A list of inventory items matching search criteria within folder + + InventoryFolder.DescendentCount will only be accurate if both folders and items are + requested - - + + + Request the contents of an inventory folder + + The folder to search + The folder owners + true to return s contained in folder + true to return s containd in folder + the sort order to return items in + - - + + + Request the contents of an inventory folder using HTTP capabilities + + The folder to search + The folder owners + true to return s contained in folder + true to return s containd in folder + the sort order to return items in + - - + + + Returns the UUID of the folder (category) that defaults to + containing 'type'. The folder is not necessarily only for that + type + + This will return the root folder if one does not exist + + The UUID of the desired folder if found, the UUID of the RootFolder + if not found, or UUID.Zero on failure - - + + + Find an object in inventory using a specific path to search + + The folder to begin the search in + The object owners + A string path to search + milliseconds to wait for a reply + Found items or if + timeout occurs or item is not found - - + + + Find inventory items by path + + The folder to begin the search in + The object owners + A string path to search, folders/objects separated by a '/' + Results are sent to the event - - + + + Search inventory Store object for an item or folder + + The folder to begin the search in + An array which creates a path to search + Number of levels below baseFolder to conduct searches + if True, will stop searching after first match is found + A list of inventory items found - - + + + Move an inventory item or folder to a new location + + The item or folder to move + The to move item or folder to - - + + + Move an inventory item or folder to a new location and change its name + + The item or folder to move + The to move item or folder to + The name to change the item or folder to - - + + + Move and rename a folder + + The source folders + The destination folders + The name to change the folder to - - + + + Update folder properties + + of the folder to update + Sets folder's parent to + Folder name + Folder type - - + + + Move a folder + + The source folders + The destination folders - - + + + Move multiple folders, the keys in the Dictionary parameter, + to a new parents, the value of that folder's key. + + A Dictionary containing the + of the source as the key, and the + of the destination as the value - - + + + Move an inventory item to a new folder + + The of the source item to move + The of the destination folder - - + + + Move and rename an inventory item + + The of the source item to move + The of the destination folder + The name to change the folder to - - + + + Move multiple inventory items to new locations + + A Dictionary containing the + of the source item as the key, and the + of the destination folder as the value - - + + + Remove descendants of a folder + + The of the folder - - + + + Remove a single item from inventory + + The of the inventory item to remove - - + + + Remove a folder from inventory + + The of the folder to remove - - + + + Remove multiple items or folders from inventory + + A List containing the s of items to remove + A List containing the s of the folders to remove - - + + + Empty the Lost and Found folder + - - + + + Empty the Trash folder + - - - - - - - - - - - + + + + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + - - + + + + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + + - - + + + Creates a new inventory folder + + ID of the folder to put this folder in + Name of the folder to create + The UUID of the newly created folder - - + + + Creates a new inventory folder + + ID of the folder to put this folder in + Name of the folder to create + Sets this folder as the default folder + for new assets of the specified type. Use AssetType.Unknown + to create a normal folder, otherwise it will likely create a + duplicate of an existing folder type + The UUID of the newly created folder + If you specify a preferred type of AsseType.Folder + it will create a new root folder which may likely cause all sorts + of strange problems - - + + + Create an inventory item and upload asset data + + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Delegate that will receive feedback on success or failure - - + + + Create an inventory item and upload asset data + + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Permission of the newly created item + (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) + Delegate that will receive feedback on success or failure - - + + + Creates inventory link to another inventory item or folder + + Put newly created link in folder with this UUID + Inventory item or folder + Method to call upon creation of the link - - + + + Creates inventory link to another inventory item + + Put newly created link in folder with this UUID + Original inventory item + Method to call upon creation of the link - - + + + Creates inventory link to another inventory folder + + Put newly created link in folder with this UUID + Original inventory folder + Method to call upon creation of the link - - + + + Creates inventory link to another inventory item or folder + + Put newly created link in folder with this UUID + Original item's UUID + Name + Description + Asset Type + Inventory Type + Transaction UUID + Method to call upon creation of the link - - + + + + + + + + - - + + + + + + + + + - - + + + + + + + + + - - + + + Request a copy of an asset embedded within a notecard + + Usually UUID.Zero for copying an asset from a notecard + UUID of the notecard to request an asset from + Target folder for asset to go to in your inventory + UUID of the embedded asset + callback to run when item is copied to inventory - - + + + + + - - + + + + + - - + + + + + + - - + + + + + + + - - + + + Save changes to notecard embedded in object contents + + Encoded notecard asset data + Notecard UUID + Object's UUID + Called upon finish of the upload with status information - - + + + Upload new gesture asset for an inventory gesture item + + Encoded gesture asset + Gesture inventory UUID + Callback whick will be called when upload is complete - - + + + Update an existing script in an agents Inventory + + A byte[] array containing the encoded scripts contents + the itemID of the script + if true, sets the script content to run on the mono interpreter + - - + + + Update an existing script in an task Inventory + + A byte[] array containing the encoded scripts contents + the itemID of the script + UUID of the prim containting the script + if true, sets the script content to run on the mono interpreter + if true, sets the script to running + - - + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details - - + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object - - + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object + User defined queryID to correlate replies + If set to true, the CreateSelected flag + will be set on the rezzed object - - + + + Rez an object from inventory + + Simulator to place object in + TaskID object when rezzed + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object + User defined queryID to correlate replies + If set to true, the CreateSelected flag + will be set on the rezzed object - - + + + DeRez an object from the simulator to the agents Objects folder in the agents Inventory + + The simulator Local ID of the object + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - + + + DeRez an object from the simulator and return to inventory + + The simulator Local ID of the object + The type of destination from the enum + The destination inventory folders -or- + if DeRezzing object to a tasks Inventory, the Tasks + The transaction ID for this request which + can be used to correlate this request with other packets + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - + + + Rez an item from inventory to its previous simulator location + + + + + - - + + + Give an inventory item to another avatar + + The of the item to give + The name of the item + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer - - + + + Give an inventory Folder with contents to another avatar + + The of the Folder to give + The name of the folder + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer - - + + + Copy or move an from agent inventory to a task (primitive) inventory + + The target object + The item to copy or move from inventory + + For items with copy permissions a copy of the item is placed in the tasks inventory, + for no-copy items the object is moved to the tasks inventory - - + + + Retrieve a listing of the items contained in a task (Primitive) + + The tasks + The tasks simulator local ID + milliseconds to wait for reply from simulator + A list containing the inventory items inside the task or null + if a timeout occurs + This request blocks until the response from the simulator arrives + or timeoutMS is exceeded - - + + + Request the contents of a tasks (primitives) inventory from the + current simulator + + The LocalID of the object + - - + + + Request the contents of a tasks (primitives) inventory + + The simulator Local ID of the object + A reference to the simulator object that contains the object + - - + + + Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory + + LocalID of the object in the simulator + UUID of the task item to move + The ID of the destination folder in this agents inventory + Simulator Object + Raises the event - - + + + Remove an item from an objects (Prim) Inventory + + LocalID of the object in the simulator + UUID of the task item to remove + Simulator Object + You can confirm the removal by comparing the tasks inventory serial before and after the + request with the request combined with + the event - - + + + Copy an InventoryScript item from the Agents Inventory into a primitives task inventory + + An unsigned integer representing a primitive being simulated + An which represents a script object from the agents inventory + true to set the scripts running state to enabled + A Unique Transaction ID + + The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory + and assumes the script exists in the agents inventory. + + uint primID = 95899503; // Fake prim ID + UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory + + Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, + false, true, InventorySortOrder.ByName, 10000); + + Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); + + - - + + + Request the running status of a script contained in a task (primitive) inventory + + The ID of the primitive containing the script + The ID of the script + The event can be used to obtain the results of the + request + - - + + + Send a request to set the running state of a script contained in a task (primitive) inventory + + The ID of the primitive containing the script + The ID of the script + true to set the script running, false to stop a running script + To verify the change you can use the method combined + with the event - - + + + Create a CRC from an InventoryItem + + The source InventoryItem + A uint representing the source InventoryItem as a CRC - - + + + Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id + + Obfuscated shadow_id value + Deobfuscated asset_id value - - + + + Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id + + asset_id value to obfuscate + Obfuscated shadow_id value - - + + + Wrapper for creating a new object + + The type of item from the enum + The of the newly created object + An object with the type and id passed - - + + + Parse the results of a RequestTaskInventory() response + + A string which contains the data from the task reply + A List containing the items contained within the tasks inventory - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - - - + + + UpdateCreateInventoryItem packets are received when a new inventory item + is created. This may occur when an object that's rezzed in world is + taken into inventory, when an item is created using the CreateInventoryItem + packet, or when an object is purchased + + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + an inventory object sent by another avatar or primitive - - + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - - + + + Get this agents Inventory data + - - + + + Callback for inventory item creation finishing + + Whether the request to create an inventory + item succeeded or not + Inventory item being created. If success is + false this will be null - - + + + Callback for an inventory item being create from an uploaded asset + + true if inventory item creation was successful + + + - - + + + + + - - + + + Reply received when uploading an inventory asset + + Has upload been successful + Error message if upload failed + Inventory asset UUID + New asset UUID - - + + + Delegate that is invoked when script upload is completed + + Has upload succeded (note, there still might be compile errors) + Upload status message + Is compilation successful + If compilation failed, list of error messages, null on compilation success + Script inventory UUID + Script's new asset UUID - - + + Set to true to accept offer, false to decline it - - + + The folder to accept the inventory into, if null default folder for will be used - - + + + Callback when an inventory object is accepted and received from a + task inventory. This is the callback in which you actually get + the ItemID, as in ObjectOfferedCallback it is null when received + from a task. + - - + + + Main class to expose grid functionality to clients. All of the + classes needed for sending and receiving data are accessible through + this class. + + + + // Example minimum code required to instantiate class and + // connect to a simulator. + using System; + using System.Collections.Generic; + using System.Text; + using OpenMetaverse; + + namespace FirstBot + { + class Bot + { + public static GridClient Client; + static void Main(string[] args) + { + Client = new GridClient(); // instantiates the GridClient class + // to the global Client object + // Login to Simulator + Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); + // Wait for a Keypress + Console.ReadLine(); + // Logout of simulator + Client.Network.Logout(); + } + } + } + + - - + + Networking subsystem - - + + Settings class including constant values and changeable + parameters for everything - - + + Parcel (subdivided simulator lots) subsystem - - + + Our own avatars subsystem - - + + Other avatars subsystem - - + + Estate subsystem - - + + Friends list subsystem - - + + Grid (aka simulator group) subsystem - - + + Object subsystem - - + + Group subsystem - - + + Asset subsystem - - + + Appearance subsystem - - + + Inventory subsystem - - + + Directory searches including classifieds, people, land + sales, etc - - + + Handles land, wind, and cloud heightmaps - - + + Handles sound-related networking - - + + Throttling total bandwidth usage, or allocating bandwidth + for specific data stream types - - - - - + + + Default constructor + - - + + + Return the full name of this instance + + Client avatars full name - - + + + Class that handles the local asset cache + - - + + + Default constructor + + A reference to the GridClient object - - + + + Disposes cleanup timer + - - + + + Only create timer when needed + - - + + + Return bytes read from the local asset cache, null if it does not exist + + UUID of the asset we want to get + Raw bytes of the asset, or null on failure - - + + + Returns ImageDownload object of the + image from the local image cache, null if it does not exist + + UUID of the image we want to get + ImageDownload object containing the image, or null on failure - - + + + Constructs a file name of the cached asset + + UUID of the asset + String with the file name of the cahced asset - - + + + Constructs a file name of the static cached asset + + UUID of the asset + String with the file name of the static cached asset - - + + + Saves an asset to the local cache + + UUID of the asset + Raw bytes the asset consists of + Weather the operation was successfull - - + + + Get the file name of the asset stored with gived UUID + + UUID of the asset + Null if we don't have that UUID cached on disk, file name if found in the cache folder - - + + + Checks if the asset exists in the local cache + + UUID of the asset + True is the asset is stored in the cache, otherwise false - - + + + Wipes out entire cache + - - + + + Brings cache size to the 90% of the max size + - - + + + Asynchronously brings cache size to the 90% of the max size + - - + + + Adds up file sizes passes in a FileInfo array + - - + + + Checks whether caching is enabled + - - + + + Periodically prune the cache + - - + + + Nicely formats file sizes + + Byte size we want to output + String with humanly readable file size - - + + + Allows setting weather to periodicale prune the cache if it grows too big + Default is enabled, when caching is enabled + - - + + + How long (in ms) between cache checks (default is 5 min.) + - - + + + Helper class for sorting files by their last accessed time + - - + + + Represents a single Voice Session to the Vivox service. + - - + + + Close this session. + - - + + + Look up an existing Participants in this session + + + - - + + + + - - + + + + - - + + + + - - + + + + - - + + + + + + - - + + + The ObservableDictionary class is used for storing key/value pairs. It has methods for firing + events to subscribers when items are added, removed, or changed. + + Key + Value - - + + + A dictionary of callbacks to fire when specified action occurs + - - + + + Register a callback to be fired when an action occurs + + The action + The callback to fire - - + + + Unregister a callback + + The action + The callback to fire - - + + + + + + - - + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking - - + + + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. + + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); + + - - + + + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. + + Initial size of dictionary + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); + + - - + + + Try to get entry from the with specified key + + Key to use for lookup + Value returned + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + - - + + + Finds the specified match. + + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + - - + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + - - + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + - - + + Check if Key exists in Dictionary + Key to check for + if found, otherwise - - + + Check if Value exists in Dictionary + Value to check for + if found, otherwise - - + + + Adds the specified key to the dictionary, dictionary locking is not performed, + + + The key + The value - - + + + Removes the specified key, dictionary locking is not performed + + The key. + if successful, otherwise - - + + + Clear the contents of the dictionary + - - + + + Enumerator for iterating dictionary entries + + - - + + + Gets the number of Key/Value pairs contained in the + - - + + + Indexer for the dictionary + + The key + The value - - + + + Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. + - - + + + Rotation Keyframe count (used internally) + - - + + + Position Keyframe count (used internally) + - - + + + Animation Priority + - - + + + The animation length in seconds. + - - + + + Expression set in the client. Null if [None] is selected + - - + + + The time in seconds to start the animation + - - + + + The time in seconds to end the animation + - - + + + Loop the animation + - - + + + Meta data. Ease in Seconds. + - - + + + Meta data. Ease out seconds. + - - + + + Meta Data for the Hand Pose + - - + + + Number of joints defined in the animation + - - + + + Contains an array of joints + - - + + + Searialize an animation asset into it's joints/keyframes/meta data + + - - + + + Variable length strings seem to be null terminated in the animation asset.. but.. + use with caution, home grown. + advances the index. + + The animation asset byte array + The offset to start reading + a string - - + + + Read in a Joint from an animation asset byte array + Variable length Joint fields, yay! + Advances the index + + animation asset byte array + Byte Offset of the start of the joint + The Joint data serialized into the binBVHJoint structure - - + + + Read Keyframes of a certain type + advance i + + Animation Byte array + Offset in the Byte Array. Will be advanced + Number of Keyframes + Scaling Min to pass to the Uint16ToFloat method + Scaling Max to pass to the Uint16ToFloat method + - - + + + Determines whether the specified is equal to the current . + + + true if the specified is equal to the current ; otherwise, false. + + The to compare with the current . + The parameter is null. + 2 - - + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + 2 - - + + + A Joint and it's associated meta data and keyframes + - - + + + Indicates whether this instance and a specified object are equal. + + + true if and this instance are the same type and represent the same value; otherwise, false. + + Another object to compare to. + 2 - - + + + Returns the hash code for this instance. + + + A 32-bit signed integer that is the hash code for this instance. + + 2 - - + + + Name of the Joint. Matches the avatar_skeleton.xml in client distros + - - + + + Joint Animation Override? Was the same as the Priority in testing.. + - - + + + Array of Rotation Keyframes in order from earliest to latest + - - + + + Array of Position Keyframes in order from earliest to latest + This seems to only be for the Pelvis? + - - + + + Custom application data that can be attached to a joint + - - + + + A Joint Keyframe. This is either a position or a rotation. + - - + + + Either a Vector3 position or a Vector3 Euler rotation + - - + + + Poses set in the animation metadata for the hands. + - - + + + Represents an AssetScriptBinary object containing the + LSO compiled bytecode of an LSL script + - - + + Initializes a new instance of an AssetScriptBinary object - - + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + + TODO: Encodes a scripts contents into a LSO Bytecode file + - - + + + TODO: Decode LSO Bytecode into a string + + true - - + + Override the base classes AssetType - - + + + A linkset asset, containing a parent primitive and zero or more children + - - + + Initializes a new instance of an AssetPrim object - - + + + Initializes a new instance of an AssetPrim object + + A unique specific to this asset + A byte array containing the raw asset data - - + + + + - - + + + + + - - + + Override the base classes AssetType - - + + + Only used internally for XML serialization/deserialization + - - + + + The deserialized form of a single primitive in a linkset asset + - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - + + - - + + - - + + + + - - + + - - + + - - + + - - + + - - + + + + + + - - + + + + - - + + - - + + - - + + - - + + - - + + + + + + - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + - - + + + + + + - - + + + + + + - - + + + + + + + - - + + + + - - + + + + + + - - + + + + + + - - + + + + + - - + + + + - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + - - + + + Singleton logging class for the entire library + - - + + log4net logging engine - - + + + Default constructor + - - + + + Send a log message to the logging engine + + The log message + The severity of the log entry - - + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Instance of the client - - + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Exception that was raised - - + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Instance of the client + Exception that was raised - - + + + If the library is compiled with DEBUG defined, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine + + The message to log at the DEBUG level to the + current logging engine - - + + + If the library is compiled with DEBUG defined and + GridClient.Settings.DEBUG is true, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine + + The message to log at the DEBUG level to the + current logging engine + Instance of the client - - + + Triggered whenever a message is logged. If this is left + null, log messages will go to the console - - + + + Callback used for client apps to receive log messages from + the library + + Data being logged + The severity of the log entry from - - + + + Represents a Callingcard with AvatarID and Position vector + - - + + UUID of the Callingcard target avatar - - + + Construct an Asset of type Callingcard - - + + + Construct an Asset object of type Callingcard + + A unique specific to this asset + A byte array containing the raw asset data - - + + + Constuct an asset of type Callingcard + + UUID of the target avatar - - + + + Encode the raw contents of a string with the specific Callingcard format + - - + + + Decode the raw asset data, populating the AvatarID and Position + + true if the AssetData was successfully decoded to a UUID and Vector - - + + Override the base classes AssetType - - + + + Simulator (region) properties + - - + + No flags set - - + + Agents can take damage and be killed - - + + Landmarks can be created here - - + + Home position can be set in this sim - - + + Home position is reset when an agent teleports away - - + + Sun does not move - - + + No object, land, etc. taxes - - + + Disable heightmap alterations (agents can still plant + foliage) - - + + Land cannot be released, sold, or purchased - - + + All content is wiped nightly - - + + Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) - - + + Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. - - + + Region does not update agent prim interest lists. Internal debugging option. - - + + No collision detection for non-agent objects - - + + No scripts are ran - - + + All physics processing is turned off - - + + Region can be seen from other regions on world map. (Legacy world map option?) - - + + Region can be seen from mainland on world map. (Legacy world map option?) - - + + Agents not explicitly on the access list can visit the region. - - + + Traffic calculations are not run across entire region, overrides parcel settings. - - + + Flight is disabled (not currently enforced by the sim) - - + + Allow direct (p2p) teleporting - - + + Estate owner has temporarily disabled scripting - - + + Restricts the usage of the LSL llPushObject function, applies to whole region. - - + + Deny agents with no payment info on file - - + + Deny agents with payment info on file - - + + Deny agents who have made a monetary transaction - - + + Parcels within the region may be joined or divided by anyone, not just estate owners/managers. - - + + Abuse reports sent from within this region are sent to the estate owner defined email. - - + + Region is Voice Enabled - - + + Removes the ability from parcel owners to set their parcels to show in search. - - + + Deny agents who have not been age verified from entering the region. - - + + + Region protocol flags + - - + + + Access level for a simulator + - - + + Unknown or invalid access level - - + + Trial accounts allowed - - + + PG rating - - + + Mature rating - - + + Adult rating - - + + Simulator is offline - - + + Simulator does not exist - - + + + + - - + + A public reference to the client that this Simulator object + is attached to - - + + A Unique Cache identifier for this simulator - - + + The capabilities for this simulator - - + + - - + + The current version of software this simulator is running - - + + - - + + A 64x64 grid of parcel coloring values. The values stored + in this array are of the type - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + true if your agent has Estate Manager rights on this region - - + + - - + + - - + + - - + + Statistics information for this simulator and the + connection to the simulator, calculated by the simulator itself + and the library - - + + The regions Unique ID - - + + The physical data center the simulator is located + Known values are: + + Dallas + Chandler + SF + + - - + + The CPU Class of the simulator + Most full mainland/estate sims appear to be 5, + Homesteads and Openspace appear to be 501 - - + + The number of regions sharing the same CPU as this one + "Full Sims" appear to be 1, Homesteads appear to be 4 - - + + The billing product name + Known values are: + + Mainland / Full Region (Sku: 023) + Estate / Full Region (Sku: 024) + Estate / Openspace (Sku: 027) + Estate / Homestead (Sku: 029) + Mainland / Homestead (Sku: 129) (Linden Owned) + Mainland / Linden Homes (Sku: 131) + + - - + + The billing product SKU + Known values are: + + 023 Mainland / Full Region + 024 Estate / Full Region + 027 Estate / Openspace + 029 Estate / Homestead + 129 Mainland / Homestead (Linden Owned) + 131 Linden Homes / Full Region + + - - + + + Flags indicating which protocols this region supports + - - + + The current sequence number for packets sent to this + simulator. Must be Interlocked before modifying. Only + useful for applications manipulating sequence numbers - - + + + A thread-safe dictionary containing avatars in a simulator + - - + + + A thread-safe dictionary containing primitives in a simulator + - - + + + Checks simulator parcel map to make sure it has downloaded all data successfully + + true if map is full (contains no 0's) - - + + + Is it safe to send agent updates to this sim + AgentMovementComplete message received + - - + + Used internally to track sim disconnections - - + + Event that is triggered when the simulator successfully + establishes a connection - - + + Whether this sim is currently connected or not. Hooked up + to the property Connected - - + + Coarse locations of avatars in this simulator - - + + AvatarPositions key representing TrackAgent target - - - - - + + Sequence numbers of packets we've received + (for duplicate checking) - - + + Packets we sent out that need ACKs from the simulator - - + + Sequence number for pause/resume - - + + Indicates if UDP connection to the sim is fully established - - + + + + + Reference to the GridClient object + IPEndPoint of the simulator + handle of the simulator - - + + + Called when this Simulator object is being destroyed + - - + + + Attempt to connect to this simulator + + Whether to move our agent in to this sim or not + True if the connection succeeded or connection status is + unknown, false if there was a failure - - + + + Initiates connection to the simulator + + Should we block until ack for this packet is recieved - - + + + Disconnect from this simulator + - - + + + Instructs the simulator to stop sending update (and possibly other) packets + - - + + + Instructs the simulator to resume sending update packets (unpause) + - - + + + Retrieve the terrain height at a given coordinate + + Sim X coordinate, valid range is from 0 to 255 + Sim Y coordinate, valid range is from 0 to 255 + The terrain height at the given point if the + lookup was successful, otherwise 0.0f + True if the lookup was successful, otherwise false - - + + + Sends a packet + + Packet to be sent - - + + + + - - + + + Returns Simulator Name as a String + + - - + + + + + - - + + + + + + - - + + + Sends out pending acknowledgements + + Number of ACKs sent - - + + + Resend unacknowledged packets + - - + + + Provides access to an internal thread-safe dictionary containing parcel + information found in this simulator + - - + + + Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. + - - + + The IP address and port of the server - - + + Whether there is a working connection to the simulator or + not - - + + Coarse locations of avatars in this simulator - - + + AvatarPositions key representing TrackAgent target - - + + Indicates if UDP connection to the sim is fully established - - + + + Simulator Statistics + - - + + Total number of packets sent by this simulator to this agent - - + + Total number of packets received by this simulator to this agent - - + + Total number of bytes sent by this simulator to this agent - - + + Total number of bytes received by this simulator to this agent - - + + Time in seconds agent has been connected to simulator - - + + Total number of packets that have been resent - - + + Total number of resent packets recieved - - + + Total number of pings sent to this simulator by this agent - - + + Total number of ping replies sent to this agent by this simulator - - + + + Incoming bytes per second + + It would be nice to have this claculated on the fly, but + this is far, far easier - - + + + Outgoing bytes per second + + It would be nice to have this claculated on the fly, but + this is far, far easier - - + + Time last ping was sent - - + + ID of last Ping sent - - + + - - + + - - + + Current time dilation of this simulator - - + + Current Frames per second of simulator - - + + Current Physics frames per second of simulator - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + Total number of objects Simulator is simulating - - + + Total number of Active (Scripted) objects running - - + + Number of agents currently in this simulator - - + + Number of agents in neighbor simulators - - + + Number of Active scripts running in this simulator - - + + - - + + - - + + - - + + Number of downloads pending - - + + Number of uploads pending - - + + - - + + - - + + Number of local uploads pending - - + + Unacknowledged bytes in queue - - + + + Simulator handle + - - + + + Number of GridClients using this datapool + - - + + + Time that the last client disconnected from the simulator + - - + + + The cache of prims used and unused in this simulator + - - + + + Shared parcel info only when POOL_PARCEL_DATA == true + - - + + + + - - + + No report - - + + Unknown report type - - + + Bug report - - + + Complaint report - - + + Customer service report - - + + + Bitflag field for ObjectUpdateCompressed data blocks, describing + which options are present for each object + - - + + Unknown - - + + Whether the object has a TreeSpecies - - + + Whether the object has floating text ala llSetText - - + + Whether the object has an active particle system - - + + Whether the object has sound attached to it - - + + Whether the object is attached to a root object or not - - + + Whether the object has texture animation settings - - + + Whether the object has an angular velocity - - + + Whether the object has a name value pairs string - - + + Whether the object has a Media URL set - - + + + Specific Flags for MultipleObjectUpdate requests + - - + + None - - + + Change position of prims - - + + Change rotation of prims - - + + Change size of prims - - + + Perform operation on link set - - + + Scale prims uniformly, same as selecing ctrl+shift in the + viewer. Used in conjunction with Scale - - + + + Special values in PayPriceReply. If the price is not one of these + literal value of the price should be use + - - + + + Indicates that this pay option should be hidden + - - + + + Indicates that this pay option should have the default value + - - + + + Contains the variables sent in an object update packet for objects. + Used to track position and movement of prims and avatars + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + Handles all network traffic related to prims and avatar positions and + movement. + - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the ObjectProperties Event + A ObjectPropertiesEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the ObjectPropertiesUpdated Event + A ObjectPropertiesUpdatedEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the ObjectPropertiesFamily Event + A ObjectPropertiesFamilyEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the AvatarUpdate Event + A AvatarUpdateEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the ObjectDataBlockUpdate Event + A ObjectDataBlockUpdateEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the KillObject Event + A KillObjectEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the KillObjects Event + A KillObjectsEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the AvatarSitChanged Event + A AvatarSitChangedEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the PayPriceReply Event + A PayPriceReplyEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the PhysicsProperties Event + A PhysicsPropertiesEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Reference to the GridClient object - - + + Does periodic dead reckoning calculation to convert + velocity and acceleration to new positions for objects - - + + + Construct a new instance of the ObjectManager class + + A reference to the instance - - + + + Request information for a single object from a + you are currently connected to + + The the object is located + The Local ID of the object - - + + + Request information for multiple objects contained in + the same simulator + + The the objects are located + An array containing the Local IDs of the objects - - + + + Attempt to purchase an original object, a copy, or the contents of + an object + + The the object is located + The Local ID of the object + Whether the original, a copy, or the object + contents are on sale. This is used for verification, if the this + sale type is not valid for the object the purchase will fail + Price of the object. This is used for + verification, if it does not match the actual price the purchase + will fail + Group ID that will be associated with the new + purchase + Inventory folder UUID where the object or objects + purchased should be placed + + + BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, + 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); + + - - + + + Request prices that should be displayed in pay dialog. This will triggger the simulator + to send us back a PayPriceReply which can be handled by OnPayPriceReply event + + The the object is located + The ID of the object + The result is raised in the event - - + + + Select a single object. This will cause the to send us + an which will raise the event + + The the object is located + The Local ID of the object + - - + + + Select a single object. This will cause the to send us + an which will raise the event + + The the object is located + The Local ID of the object + if true, a call to is + made immediately following the request + - - - - - - - - + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + Should objects be deselected immediately after selection + - - + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + - - + + + Update the properties of an object + + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on - - + + + Update the properties of an object + + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on + Type of the represetnation prim will have in the physics engine + Density - normal value 1000 + Friction - normal value 0.6 + Restitution - standard value 0.5 + Gravity multiplier - standar value 1.0 - - + + + Sets the sale properties of a single object + + The the object is located + The Local ID of the object + One of the options from the enum + The price of the object - - + + + Sets the sale properties of multiple objects + + The the objects are located + An array containing the Local IDs of the objects + One of the options from the enum + The price of the object - - + + + Deselect a single object + + The the object is located + The Local ID of the object - - + + + Deselect multiple objects. + + The the objects are located + An array containing the Local IDs of the objects - - + + + Perform a click action on an object + + The the object is located + The Local ID of the object - - + + + Perform a click action (Grab) on a single object + + The the object is located + The Local ID of the object + The texture coordinates to touch + The surface coordinates to touch + The face of the position to touch + The region coordinates of the position to touch + The surface normal of the position to touch (A normal is a vector perpindicular to the surface) + The surface binormal of the position to touch (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - - + + + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties - - + + + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Specify the + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties - - + + + Rez a Linden tree + + A reference to the object where the object resides + The size of the tree + The rotation of the tree + The position of the tree + The Type of tree + The of the group to set the tree to, + or UUID.Zero if no group is to be set + true to use the "new" Linden trees, false to use the old - - + + + Rez grass and ground cover + + A reference to the object where the object resides + The size of the grass + The rotation of the grass + The position of the grass + The type of grass from the enum + The of the group to set the tree to, + or UUID.Zero if no group is to be set - - + + + Set the textures to apply to the faces of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply - - + + + Set the textures to apply to the faces of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply + A media URL (not used) - - + + + Set the Light data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - - + + + Set the flexible data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - - + + + Set the sculptie texture and data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - - + + + Unset additional primitive parameters on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The extra parameters to set - - + + + Link multiple prims into a linkset + + A reference to the object where the objects reside + An array which contains the IDs of the objects to link + The last object in the array will be the root object of the linkset TODO: Is this true? - - + + + Delink/Unlink multiple prims from a linkset + + A reference to the object where the objects reside + An array which contains the IDs of the objects to delink - - + + + Change the rotation of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation of the object - - - - - + + + Set the name of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new name of the object - - + + + Set the name of multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the name of + An array which contains the new names of the objects - - + + + Set the description of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new description of the object - - + + + Set the descriptions of multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the description of + An array which contains the new descriptions of the objects - - + + + Attach an object to this avatar + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The point on the avatar the object will be attached + The rotation of the attached object - - + + + Drop an attached object from this avatar + + A reference to the + object where the objects reside. This will always be the simulator the avatar is currently in + + The object's ID which is local to the simulator the object is in - - + + + Detach an object from yourself + + A reference to the + object where the objects reside + + This will always be the simulator the avatar is currently in + + An array which contains the IDs of the objects to detach - - + + + Change the position of an object, Will change position of entire linkset + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object - - + + + Change the position of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object + if true, will change position of (this) child prim only, not entire linkset - - + + + Change the Scale (size) of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change scale of this prim only, not entire linkset + True to resize prims uniformly - - + + + Change the Rotation of an object that is either a child or a whole linkset + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change rotation of this prim only, not entire linkset - - + + + Send a Multiple Object Update packet to change the size, scale or rotation of a primitive + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation, size, or position of the target object + The flags from the Enum - - + + + Deed an object (prim) to a group, Object must be shared with group which + can be accomplished with SetPermissions() + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The of the group to deed the object to - - + + + Deed multiple objects (prims) to a group, Objects must be shared with group which + can be accomplished with SetPermissions() + + A reference to the object where the object resides + An array which contains the IDs of the objects to deed + The of the group to deed the object to - - + + + Set the permissions on multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the permissions on + The new Who mask to set + Which permission to modify + The new state of permission - - + + + Request additional properties for an object + + A reference to the object where the object resides + - - + + + Request additional properties for an object + + A reference to the object where the object resides + Absolute UUID of the object + Whether to require server acknowledgement of this request - - + + + Set the ownership of a list of objects to the specified group + + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the group id on + The Groups ID - - + + + Update current URL of the previously set prim media + + UUID of the prim + Set current URL to this + Prim face number + Simulator in which prim is located - - + + + Set object media + + UUID of the prim + Array the length of prims number of faces. Null on face indexes where there is + no media, on faces which contain the media + Simulatior in which prim is located - - + + + Retrieve information about object media + + UUID of the primitive + Simulator where prim is located + Call this callback when done - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + + A terse object update, used when a transformation matrix or + velocity/acceleration for an object changes but nothing else + (scale/position/rotation/acceleration/velocity) + + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - + + + Setup construction data for a basic primitive shape + + Primitive shape to construct + Construction data that can be plugged into a - - + + + + + + + + - - + + + + + + - - + + + Set the Shape data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + Data describing the prim shape - - + + + Set the Material data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new material of the object - - + + + + + + + + - - + + + + + + + + + - - + + + + + + + + - - + + Raised when the simulator sends us data containing + A , Foliage or Attachment + + - - + + Raised when the simulator sends us data containing + additional information + + - - + + Raised when the simulator sends us data containing + Primitive.ObjectProperties for an object we are currently tracking - - + + Raised when the simulator sends us data containing + additional and details + - - + + Raised when the simulator sends us data containing + updated information for an - - + + Raised when the simulator sends us data containing + and movement changes - - + + Raised when the simulator sends us data containing + updates to an Objects DataBlock - - + + Raised when the simulator informs us an + or is no longer within view - - + + Raised when the simulator informs us when a group of + or is no longer within view - - + + Raised when the simulator sends us data containing + updated sit information for our - - + + Raised when the simulator sends us data containing + purchase price information for a - - + + Raised when the simulator sends us data containing + additional information + + - - + + + Callback for getting object media data via CAP + + Indicates if the operation was succesfull + Object media version string + Array indexed on prim face of media entry data - - + + Provides data for the event + The event occurs when the simulator sends + an containing a Primitive, Foliage or Attachment data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or + if an Avatar crosses the border into a new simulator and returns to the current simulator + + + The following code example uses the , , and + properties to display new Primitives and Attachments on the window. + + // Subscribe to the event that gives us prim and foliage information + Client.Objects.ObjectUpdate += Objects_ObjectUpdate; + + + private void Objects_ObjectUpdate(object sender, PrimEventArgs e) + { + Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); + } + + + + + - - + + + Construct a new instance of the PrimEventArgs class + + The simulator the object originated from + The Primitive + The simulator time dilation + The prim was not in the dictionary before this update + true if the primitive represents an attachment to an agent - - + + Get the simulator the originated from - - + + Get the details - - + + true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) - - + + true if the is attached to an - - + + Get the simulator Time Dilation - - - - - + + Provides data for the event + The event occurs when the simulator sends + an containing Avatar data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator + + + The following code example uses the property to make a request for the top picks + using the method in the class to display the names + of our own agents picks listings on the window. + + // subscribe to the AvatarUpdate event to get our information + Client.Objects.AvatarUpdate += Objects_AvatarUpdate; + Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; + + private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) + { + // we only want our own data + if (e.Avatar.LocalID == Client.Self.LocalID) + { + // Unsubscribe from the avatar update event to prevent a loop + // where we continually request the picks every time we get an update for ourselves + Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; + // make the top picks request through AvatarManager + Client.Avatars.RequestAvatarPicks(e.Avatar.ID); + } + } + + private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) + { + // we'll unsubscribe from the AvatarPicksReply event since we now have the data + // we were looking for + Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; + // loop through the dictionary and extract the names of the top picks from our profile + foreach (var pickName in e.Picks.Values) + { + Console.WriteLine(pickName); + } + } + + + + - - + + + Construct a new instance of the AvatarUpdateEventArgs class + + The simulator the packet originated from + The data + The simulator time dilation + The avatar was not in the dictionary before this update - - + + Get the simulator the object originated from - - + + Get the data - - + + Get the simulator time dilation - - + + true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) - - + + Provides additional primitive data for the event + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment data + The event is also raised when a request is + made. + + + The following code example uses the , and + + properties to display new attachments and send a request for additional properties containing the name of the + attachment then display it on the window. + + // Subscribe to the event that provides additional primitive details + Client.Objects.ObjectProperties += Objects_ObjectProperties; + + // handle the properties data that arrives + private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) + { + Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); + } + + - - + + + Construct a new instance of the ObjectPropertiesEventArgs class + + The simulator the object is located + The primitive Properties - - + + Get the simulator the object is located - - + + Get the primitive properties - - + + Provides additional primitive data for the event + The event occurs when the simulator sends + an containing additional details for a Primitive or Foliage data that is currently + being tracked in the dictionary + The event is also raised when a request is + made and is enabled + - - + + + Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class + + The simulator the object is located + The Primitive + The primitive Properties - - + + Get the primitive details - - + + Provides additional primitive data, permissions and sale info for the event + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment. This includes + Permissions, Sale info, and other basic details on an object + The event is also raised when a request is + made, the viewer equivalent is hovering the mouse cursor over an object + - - + + Get the simulator the object is located - - + + - - + + - - + + Provides primitive data containing updated location, velocity, rotation, textures for the event + The event occurs when the simulator sends updated location, velocity, rotation, etc + - - + + Get the simulator the object is located - - + + Get the primitive details - - + + - - + + - - + + + + - - + + Get the simulator the object is located - - + + Get the primitive details - - + + - - + + - - + + - - + + - - + + Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the + event - - + + Get the simulator the object is located - - + + The LocalID of the object - - + + Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the + event - - + + Get the simulator the object is located - - + + The LocalID of the object - - + + + Provides updates sit position data + - - + + Get the simulator the object is located - - + + - - + + - - + + - - - - - + + + + - - + + Get the simulator the object is located - - + + - - + + - - + + - - + + + Indicates if the operation was successful + - - + + + Media version string + - - + + + Array of media entries indexed by face number + - - + + + Set when simulator sends us infomation on primitive's physical properties + - - + + Simulator where the message originated - - + + Updated physical properties - - + + + Constructor + + Simulator where the message originated + Updated physical properties - - + + + + - - + + + + + - - + + + De-serialization constructor for the InventoryNode Class + - - + + + Serialization handler for the InventoryNode Class + - - + + + De-serialization handler for the InventoryNode Class + - - + + + + + - - + + - - + + - - + + - - + + - - + + + For inventory folder nodes specifies weather the folder needs to be + refreshed from the server + - - + + + Exception class to identify inventory exceptions + - - + + + Responsible for maintaining inventory structure. Inventory constructs nodes + and manages node children as is necessary to maintain a coherant hirarchy. + Other classes should not manipulate or create InventoryNodes explicitly. When + A node's parent changes (when a folder is moved, for example) simply pass + Inventory the updated InventoryFolder and it will make the appropriate changes + to its internal representation. + - - + + The event subscribers, null of no subscribers - - + + Raises the InventoryObjectUpdated Event + A InventoryObjectUpdatedEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the InventoryObjectRemoved Event + A InventoryObjectRemovedEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the InventoryObjectAdded Event + A InventoryObjectAddedEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + + Returns the contents of the specified folder + + A folder's UUID + The contents of the folder corresponding to folder + When folder does not exist in the inventory - - + + + Updates the state of the InventoryNode and inventory data structure that + is responsible for the InventoryObject. If the item was previously not added to inventory, + it adds the item, and updates structure accordingly. If it was, it updates the + InventoryNode, changing the parent node if item.parentUUID does + not match node.Parent.Data.UUID. + + You can not set the inventory root folder using this method + + The InventoryObject to store - - + + + Removes the InventoryObject and all related node data from Inventory. + + The InventoryObject to remove. - - + + + Used to find out if Inventory contains the InventoryObject + specified by uuid. + + The UUID to check. + true if inventory contains uuid, false otherwise - - + + + Saves the current inventory structure to a cache file + + Name of the cache file to save to - - + + + Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + + Name of the cache file to load + The number of inventory items sucessfully reconstructed into the inventory node tree - - + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - - + + + The root folder of this avatars inventory + - - + + + The default shared library folder + - - + + + The root node of the avatars inventory + - - + + + The root node of the default shared library + - - + + + By using the bracket operator on this class, the program can get the + InventoryObject designated by the specified uuid. If the value for the corresponding + UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). + If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), + the uuid parameter is ignored. + + The UUID of the InventoryObject to get or set, ignored if set to non-null value. + The InventoryObject corresponding to uuid. - - + + + Map layer request type + - - + + Objects and terrain are shown - - + + Only the terrain is shown, no objects - - + + Overlay showing land for sale and for auction - - + + + Type of grid item, such as telehub, event, populator location, etc. + - - + + Telehub - - + + PG rated event - - + + Mature rated event - - + + Popular location - - + + Locations of avatar groups in a region - - + + Land for sale - - + + Classified ad - - + + Adult rated event - - + + Adult land for sale - - + + + Information about a region on the grid map + - - + + Sim X position on World Map - - + + Sim Y position on World Map - - + + Sim Name (NOTE: In lowercase!) - - + + - - + + Appears to always be zero (None) - - + + Sim's defined Water Height - - + + - - + + UUID of the World Map image - - + + Unique identifier for this region, a combination of the X + and Y position - - + + + + + - - + + + + + - - + + + + + + - - + + + Visual chunk of the grid map + - - + + + Base class for Map Items + - - + + The Global X position of the item - - + + The Global Y position of the item - - + + Get the Local X position of the item - - + + Get the Local Y position of the item - - + + Get the Handle of the region - - + + + Represents an agent or group of agents location + - - + + + Represents a Telehub location + - - + + + Represents a non-adult parcel of land for sale + - - + + + Represents an Adult parcel of land for sale + - - + + + Represents a PG Event + - - + + + Represents a Mature event + - - + + + Represents an Adult event + - - + + + Manages grid-wide tasks such as the world map + - - + + The event subscribers. null if no subcribers - - + + Raises the CoarseLocationUpdate event + A CoarseLocationUpdateEventArgs object containing the + data sent by simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GridRegion event + A GridRegionEventArgs object containing the + data sent by simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GridLayer event + A GridLayerEventArgs object containing the + data sent by simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GridItems event + A GridItemEventArgs object containing the + data sent by simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the RegionHandleReply event + A RegionHandleReplyEventArgs object containing the + data sent by simulator - - + + Thread sync lock object - - + + A dictionary of all the regions, indexed by region name - - + + A dictionary of all the regions, indexed by region handle - - + + + Constructor + + Instance of GridClient object to associate with this GridManager instance - - + + + + + - - + + + Request a map layer + + The name of the region + The type of layer - - + + + + + + + + + + - - + + + + + + + + + - - + + + + + + + - - + + + Request data for all mainland (Linden managed) simulators + - - + + + Request the region handle for the specified region UUID + + UUID of the region to look up - - + + + Get grid region information using the region name, this function + will block until it can find the region or gives up + + Name of sim you're looking for + Layer that you are requesting + Will contain a GridRegion for the sim you're + looking for if successful, otherwise an empty structure + True if the GridRegion was successfully fetched, otherwise + false - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Raised when the simulator sends a + containing the location of agents in the simulator - - + + Raised when the simulator sends a Region Data in response to + a Map request - - + + Raised when the simulator sends GridLayer object containing + a map tile coordinates and texture information - - + + Raised when the simulator sends GridItems object containing + details on events, land sales at a specific location - - + + Raised in response to a Region lookup - - + + Unknown - - + + Current direction of the sun - - + + Current angular velocity of the sun - - + + Microseconds since the start of SL 4-hour day - - + + + Access to the data server which allows searching for land, events, people, etc + - - + + The event subscribers. null if no subcribers - - + + Raises the EventInfoReply event + An EventInfoReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the DirEventsReply event + An DirEventsReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the PlacesReply event + A PlacesReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the DirPlacesReply event + A DirPlacesReplyEventArgs object containing the + data returned from the data server - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the DirClassifiedsReply event + A DirClassifiedsReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the DirGroupsReply event + A DirGroupsReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the DirPeopleReply event + A DirPeopleReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the DirLandReply event + A DirLandReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + + Constructs a new instance of the DirectoryManager class + + An instance of GridClient - - + + + Query the data server for a list of classified ads containing the specified string. + Defaults to searching for classified placed in any category, and includes PG, Adult and Mature + results. + + Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + + The event is raised when a response is received from the simulator + + A string containing a list of keywords to search for + A UUID to correlate the results when the event is raised - - + + + Query the data server for a list of classified ads which contain specified keywords (Overload) + + The event is raised when a response is received from the simulator + + A string containing a list of keywords to search for + The category to search + A set of flags which can be ORed to modify query options + such as classified maturity rating. + A UUID to correlate the results when the event is raised + + Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature + + UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); + + + + Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + - - + + + Starts search for places (Overloaded) + + The event is raised when a response is received from the simulator + + Search text + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised - - + + + Queries the dataserver for parcels of land which are flagged to be shown in search + + The event is raised when a response is received from the simulator + + A string containing a list of keywords to search for separated by a space character + A set of flags which can be ORed to modify query options + such as classified maturity rating. + The category to search + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised + + Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult + + UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); + + + + Additional information on the results can be obtained by using the ParcelManager.InfoRequest method + - - + + + Starts a search for land sales using the directory + + The event is raised when a response is received from the simulator + + What type of land to search for. Auction, + estate, mainland, "first land", etc + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. - - + + + Starts a search for land sales using the directory + + The event is raised when a response is received from the simulator + + What type of land to search for. Auction, + estate, mainland, "first land", etc + Maximum price to search for + Maximum area to search for + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. - - + + + Send a request to the data server for land sales listings + + + Flags sent to specify query options + + Available flags: + Specify the parcel rating with one or more of the following: + IncludePG IncludeMature IncludeAdult + + Specify the field to pre sort the results with ONLY ONE of the following: + PerMeterSort NameSort AreaSort PricesSort + + Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order + SortAsc + + Specify additional filters to limit the results with one or both of the following: + LimitByPrice LimitByArea + + Flags can be combined by separating them with the | (pipe) character + + Additional details can be found in + + What type of land to search for. Auction, + Estate or Mainland + Maximum price to search for when the + DirFindFlags.LimitByPrice flag is specified in findFlags + Maximum area to search for when the + DirFindFlags.LimitByArea flag is specified in findFlags + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + The event will be raised with the response from the simulator + + There is no way to determine how many results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each reply. + + Any land set for sale to either anybody or specific to the connected agent will be included in the + results if the land is included in the query + + + // request all mainland, any maturity rating that is larger than 512 sq.m + StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); + - - + + + Search for Groups + + The name or portion of the name of the group you wish to search for + Start from the match number + - - + + + Search for Groups + + The name or portion of the name of the group you wish to search for + Start from the match number + Search flags + - - + + + Search the People directory for other avatars + + The name or portion of the name of the avatar you wish to search for + + - - + + + Search Places for parcels of land you personally own + - - + + + Searches Places for land owned by the specified group + + ID of the group you want to recieve land list for (You must be a member of the group) + Transaction (Query) ID which can be associated with results from your request. - - + + + Search the Places directory for parcels that are listed in search and contain the specified keywords + + A string containing the keywords to search for + Transaction (Query) ID which can be associated with results from your request. - - + + + Search Places - All Options + + One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. + One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer + A string containing a list of keywords to search for separated by a space character + String Simulator Name to search in + LLUID of group you want to recieve results for + Transaction (Query) ID which can be associated with results from your request. + Transaction (Query) ID which can be associated with results from your request. - - + + + Search All Events with specifid searchText in all categories, includes PG, Mature and Adult + + A string containing a list of keywords to search for separated by a space character + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + UUID of query to correlate results in callback. - - + + + Search Events + + A string containing a list of keywords to search for separated by a space character + One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult + from the Enum + + Multiple flags can be combined by separating the flags with the | (pipe) character + "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled + For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + EventCategory event is listed under. + UUID of query to correlate results in callback. - - + + Requests Event Details + ID of Event returned from the method - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Classified Ad categories - - + + Classified is listed in the Any category - - + + Classified is shopping related - - + + Classified is - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + Event Categories - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. + + Flags can be combined using the | (pipe) character, not all flags are available in all queries + - - + + Query the People database - - + + - - + + - - + + Query the Groups database - - + + Query the Events database - - + + Query the land holdings database for land owned by the currently connected agent - - + + - - + + Query the land holdings database for land which is owned by a Group - - + + Specifies the query should pre sort the results based upon traffic + when searching the Places database - - + + - - + + - - + + - - - Represents a single Voice Session to the Vivox service. - + + - - - Close this session. - + + Specifies the query should pre sort the results in an ascending order when searching the land sales database. + This flag is only used when searching the land sales database - - - Look up an existing Participants in this session - - - + + Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. + This flag is only used when searching the land sales database - - - - + + Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. + This flag is only used when searching the land sales database - - - An instance of DelegateWrapper which calls InvokeWrappedDelegate, - which in turn calls the DynamicInvoke method of the wrapped - delegate - + + Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. + This flag is only used when searching the land sales database - - - Callback used to call EndInvoke on the asynchronously - invoked DelegateWrapper - + + Specifies the query should pre sort the results using the Name field when searching the land sales database. + This flag is only used when searching the land sales database - - - Executes the specified delegate with the specified arguments - asynchronously on a thread pool thread - - - + + When set, only parcels less than the specified Price will be included when searching the land sales database. + This flag is only used when searching the land sales database - - - Invokes the wrapped delegate synchronously - - - + + When set, only parcels greater than the specified Size will be included when searching the land sales database. + This flag is only used when searching the land sales database - - - Calls EndInvoke on the wrapper and Close on the resulting WaitHandle - to prevent resource leaks - - + + - - - Delegate to wrap another delegate and its arguments - - - + + - - The event subscribers. null if no subcribers + + Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases - - Raises the LandPatchReceived event - A LandPatchReceivedEventArgs object containing the - data returned from the simulator + + Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases - - Thread sync lock object + + Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases - + + + + - Default constructor + Land types to search dataserver for - - - - Raised when the simulator responds sends - - - Simulator from that sent tha data - - Sim coordinate of the patch + + Search Auction, Mainland and Estate - - Sim coordinate of the patch + + Land which is currently up for auction - - Size of tha patch + + Parcels which are on the mainland (Linden owned) continents - - Heightmap for the patch + + Parcels which are on privately owned simulators - + - + The content rating of the event - + + Event is PG + + + Event is Mature + + + Event is Adult + + - + Classified Ad Options + There appear to be two formats the flags are packed in. + This set of flags is for the newer style - - - - + - + - + - + - + - + - + Classified ad query options - - Size of the byte array used to store raw packet data + + Include all ads in results - - Raw packet data buffer + + Include PG ads in results - - Length of the data to transmit + + Include Mature ads in results - - EndPoint of the remote host + + Include Adult ads in results - + - Create an allocated UDP packet buffer for receiving a packet + The For Sale flag in PlacesReplyData - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host + + Parcel is not listed for sale - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host - Size of the buffer to allocate for packet data + + Parcel is For Sale - + - Object pool for packet buffers. This is used to allocate memory for all - incoming and outgoing packets, and zerocoding buffers for those packets + A classified ad on the grid - - - Initialize the object pool in client mode - - Server to connect to - - + + UUID for this ad, useful for looking up detailed + information about it - - - Initialize the object pool in server mode - - - + + The title of this classified ad - - - Returns a packet buffer with EndPoint set if the buffer is in - client mode, or with EndPoint set to null in server mode - - Initialized UDPPacketBuffer object + + Flags that show certain options applied to the classified - - - Default constructor - + + Creation date of the ad - - - Check a packet buffer out of the pool - - A packet buffer object + + Expiration date of the ad - - - Singleton logging class for the entire library - + + Price that was paid for this ad - - log4net logging engine + + Print the struct data as a string + A string containing the field name, and field value - + - Default constructor + A parcel retrieved from the dataserver such as results from the + "For-Sale" listings or "Places" Search - - - Send a log message to the logging engine - - The log message - The severity of the log entry + + The unique dataserver parcel ID + This id is used to obtain additional information from the entry + by using the method - + + A string containing the name of the parcel + + + The size of the parcel + This field is not returned for Places searches + + + The price of the parcel + This field is not returned for Places searches + + + If True, this parcel is flagged to be auctioned + + + If true, this parcel is currently set for sale + + + Parcel traffic + + + Print the struct data as a string + A string containing the field name, and field value + + - Send a log message to the logging engine + An Avatar returned from the dataserver - The log message - The severity of the log entry - Instance of the client - + + Online status of agent + This field appears to be obsolete and always returns false + + + The agents first name + + + The agents last name + + + The agents + + + Print the struct data as a string + A string containing the field name, and field value + + - Send a log message to the logging engine + Response to a "Groups" Search - The log message - The severity of the log entry - Exception that was raised - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Instance of the client - Exception that was raised + + The Group ID - - - If the library is compiled with DEBUG defined, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - - The message to log at the DEBUG level to the - current logging engine + + The name of the group - - - If the library is compiled with DEBUG defined and - GridClient.Settings.DEBUG is true, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - - The message to log at the DEBUG level to the - current logging engine - Instance of the client + + The current number of members - - Triggered whenever a message is logged. If this is left - null, log messages will go to the console + + Print the struct data as a string + A string containing the field name, and field value - + - Callback used for client apps to receive log messages from - the library + Parcel information returned from a request + + Represents one of the following: + A parcel of land on the grid that has its Show In Search flag set + A parcel of land owned by the agent making the request + A parcel of land owned by a group the agent making the request is a member of + + + In a request for Group Land, the First record will contain an empty record + + Note: This is not the same as searching the land for sale data source - Data being logged - The severity of the log entry from - - Sort by name + + The ID of the Agent of Group that owns the parcel - - Sort by date + + The name - - Sort folders by name, regardless of whether items are - sorted by name or date + + The description - - Place system folders at the top + + The Size of the parcel - - - Possible destinations for DeRezObject request - + + The billable Size of the parcel, for mainland + parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller + than the ActualArea. For Estate land this will always be 0 - - + + Indicates the ForSale status of the parcel - - Copy from in-world to agent inventory + + The Gridwide X position - - Derez to TaskInventory + + The Gridwide Y position - - + + The Z position of the parcel, or 0 if no landing point set - - Take Object + + The name of the Region the parcel is located in - - + + The Asset ID of the parcels Snapshot texture - - Delete Object + + The calculated visitor traffic - - Put an avatar attachment into agent inventory + + The billing product SKU + Known values are: + + 023Mainland / Full Region + 024Estate / Full Region + 027Estate / Openspace + 029Estate / Homestead + 129Mainland / Homestead (Linden Owned) + + - - + + No longer used, will always be 0 - - Return an object back to the owner's inventory + + Get a SL URL for the parcel + A string, containing a standard SLURL - - Return a deeded object back to the last owner's inventory + + Print the struct data as a string + A string containing the field name, and field value - + - Upper half of the Flags field for inventory items + An "Event" Listing summary - - Indicates that the NextOwner permission will be set to the - most restrictive set of permissions found in the object set - (including linkset items and object inventory items) on next rez - - - Indicates that the object sale information has been - changed - - - If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez + + The ID of the event creator - - If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez + + The name of the event - - If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez + + The events ID - - If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez + + A string containing the short date/time the event will begin - - If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez + + The event start time in Unixtime (seconds since epoch) - - Indicates whether this object is composed of multiple - items or not + + The events maturity rating - - Indicates that the asset is only referenced by this - inventory item. If this item is deleted or updated to reference a - new assetID, the asset can be deleted + + Print the struct data as a string + A string containing the field name, and field value - + - Base Class for Inventory Items + The details of an "Event" - - of item/folder + + The events ID - - of parent folder + + The ID of the event creator - - Name of item/folder + + The name of the event - - Item/Folder Owners + + The category - - - Constructor, takes an itemID as a parameter - - The of the item + + The events description - - - - - + + The short date/time the event will begin - - - - - + + The event start time in Unixtime (seconds since epoch) UTC adjusted + + + The length of the event in minutes + + + 0 if no cover charge applies + + + The cover charge amount in L$ if applicable + + + The name of the region where the event is being held + + + The gridwide location of the event + + + The maturity rating + + + Get a SL URL for the parcel where the event is hosted + A string, containing a standard SLURL + + + Print the struct data as a string + A string containing the field name, and field value - - - Generates a number corresponding to the value of the object to support the use of a hash table, - suitable for use in hashing algorithms and data structures such as a hash table - - A Hashcode of all the combined InventoryBase fields + + Contains the Event data returned from the data server from an EventInfoRequest - - - Determine whether the specified object is equal to the current object - - InventoryBase object to compare against - true if objects are the same + + Construct a new instance of the EventInfoReplyEventArgs class + A single EventInfo object containing the details of an event - + - Determine whether the specified object is equal to the current object + A single EventInfo object containing the details of an event - InventoryBase object to compare against - true if objects are the same - - - An Item in Inventory - + + Contains the "Event" detail data returned from the data server - - The of this item + + Construct a new instance of the DirEventsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Events" returned by the search query - - The combined of this item + + The ID returned by - - The type of item from + + A list of "Events" returned by the data server - - The type of item from the enum + + Contains the "Event" list data returned from the data server - - The of the creator of this item + + Construct a new instance of PlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Places" returned by the data server query - - A Description of this item + + The ID returned by - - The s this item is set to or owned by + + A list of "Places" returned by the data server - - If true, item is owned by a group + + Contains the places data returned from the data server - - The price this item can be purchased for + + Construct a new instance of the DirPlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing land data returned by the data server - - The type of sale from the enum + + The ID returned by - - Combined flags from + + A list containing Places data returned by the data server - - Time and date this inventory item was created, stored as - UTC (Coordinated Universal Time) + + Contains the classified data returned from the data server - - Used to update the AssetID in requests sent to the server + + Construct a new instance of the DirClassifiedsReplyEventArgs class + A list of classified ad data returned from the data server - - The of the previous owner of the item + + A list containing Classified Ads returned by the data server - - - Construct a new InventoryItem object - - The of the item + + Contains the group data returned from the data server - - - Construct a new InventoryItem object of a specific Type - - The type of item from - of the item + + Construct a new instance of the DirGroupsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of groups data returned by the data server - - - Indicates inventory item is a link - - True if inventory item is a link to another inventory item + + The ID returned by - - - - - + + A list containing Groups data returned by the data server - - - - - + + Contains the people data returned from the data server - - - Generates a number corresponding to the value of the object to support the use of a hash table. - Suitable for use in hashing algorithms and data structures such as a hash table - - A Hashcode of all the combined InventoryItem fields + + Construct a new instance of the DirPeopleReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of people data returned by the data server - - - Compares an object - - The object to compare - true if comparison object matches + + The ID returned by - - - Determine whether the specified object is equal to the current object - - The object to compare against - true if objects are the same + + A list containing People data returned by the data server - - - Determine whether the specified object is equal to the current object - - The object to compare against - true if objects are the same + + Contains the land sales data returned from the data server - - - InventoryTexture Class representing a graphical image - - + + Construct a new instance of the DirLandReplyEventArgs class + A list of parcels for sale returned by the data server - - - Construct an InventoryTexture object - - A which becomes the - objects AssetUUID + + A list containing land forsale data returned by the data server - + - Construct an InventoryTexture object from a serialization stream + Sent to the client to indicate a teleport request has completed - + - InventorySound Class representing a playable sound + Interface requirements for Messaging system - - - Construct an InventorySound object - - A which becomes the - objects AssetUUID + + The of the agent - - - Construct an InventorySound object from a serialization stream - + + - - - InventoryCallingCard Class, contains information on another avatar - + + The simulators handle the agent teleported to - - - Construct an InventoryCallingCard object - - A which becomes the - objects AssetUUID + + A Uri which contains a list of Capabilities the simulator supports - - - Construct an InventoryCallingCard object from a serialization stream - + + Indicates the level of access required + to access the simulator, or the content rating, or the simulators + map status - - - InventoryLandmark Class, contains details on a specific location - + + The IP Address of the simulator - - - Construct an InventoryLandmark object - - A which becomes the - objects AssetUUID + + The UDP Port the simulator will listen for UDP traffic on - + + Status flags indicating the state of the Agent upon arrival, Flying, etc. + + - Construct an InventoryLandmark object from a serialization stream + Serialize the object + An containing the objects data - + - Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited + Deserialize the message + An containing the data - + - InventoryObject Class contains details on a primitive or coalesced set of primitives + Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. - + - Construct an InventoryObject object + Serialize the object - A which becomes the - objects AssetUUID + An containing the objects data - + - Construct an InventoryObject object from a serialization stream + Deserialize the message + An containing the data - + - Gets or sets the upper byte of the Flags value + Serialize the object + An containing the objects data - + - Gets or sets the object attachment point, the lower byte of the Flags value + Deserialize the message + An containing the data - + - InventoryNotecard Class, contains details on an encoded text document + Serialize the object + An containing the objects data - + - Construct an InventoryNotecard object + Deserialize the message - A which becomes the - objects AssetUUID + An containing the data - + - Construct an InventoryNotecard object from a serialization stream + A message sent to the client which indicates a teleport request has failed + and contains some information on why it failed - + + + + + A string key of the reason the teleport failed e.g. CouldntTPCloser + Which could be used to look up a value in a dictionary or enum + + + The of the Agent + + + A string human readable message containing the reason + An example: Could not teleport closer to destination + + - InventoryCategory Class + Serialize the object - TODO: Is this even used for anything? + An containing the objects data - + - Construct an InventoryCategory object + Deserialize the message - A which becomes the - objects AssetUUID + An containing the data - + - Construct an InventoryCategory object from a serialization stream + Serialize the object + An containing the objects data - + - InventoryLSL Class, represents a Linden Scripting Language object + Deserialize the message + An containing the data - + - Construct an InventoryLSL object + Contains a list of prim owner information for a specific parcel in a simulator - A which becomes the - objects AssetUUID + + A Simulator will always return at least 1 entry + If agent does not have proper permission the OwnerID will be UUID.Zero + If agent does not have proper permission OR there are no primitives on parcel + the DataBlocksExtended map will not be sent from the simulator + - + + An Array of objects + + - Construct an InventoryLSL object from a serialization stream + Serialize the object + An containing the objects data - + - InventorySnapshot Class, an image taken with the viewer + Deserialize the message + An containing the data - + - Construct an InventorySnapshot object + Prim ownership information for a specified owner on a single parcel - A which becomes the - objects AssetUUID - + + The of the prim owner, + UUID.Zero if agent has no permission to view prim owner information + + + The total number of prims + + + True if the OwnerID is a + + + True if the owner is online + This is no longer used by the LL Simulators + + + The date the most recent prim was rezzed + + - Construct an InventorySnapshot object from a serialization stream + The details of a single parcel in a region, also contains some regionwide globals - + + Simulator-local ID of this parcel + + + Maximum corner of the axis-aligned bounding box for this + parcel + + + Minimum corner of the axis-aligned bounding box for this + parcel + + + Total parcel land area + + + + + + Key of authorized buyer + + + Bitmap describing land layout in 4x4m squares across the + entire region + + + + + + Date land was claimed + + + Appears to always be zero + + + Parcel Description + + + + + + + + + Total number of primitives owned by the parcel group on + this parcel + + + Whether the land is deeded to a group or not + + + + + + Maximum number of primitives this parcel supports + + + The Asset UUID of the Texture which when applied to a + primitive will display the media + + + A URL which points to any Quicktime supported media type + + + A byte, if 0x1 viewer should auto scale media to fit object + + + URL For Music Stream + + + Parcel Name + + + Autoreturn value in minutes for others' objects + + + + + + Total number of other primitives on this parcel + + + UUID of the owner of this parcel + + + Total number of primitives owned by the parcel owner on + this parcel + + + + + + How long is pass valid for + + + Price for a temporary pass + + + + + + Disallows people outside the parcel from being able to see in + + + + + + + + + + + + True if the region denies access to age unverified users + + + + + + This field is no longer used + + + The result of a request for parcel properties + + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it + + - InventoryAttachment Class, contains details on an attachable object + Number of primitives your avatar is currently + selecting and sitting on in this parcel - - - Construct an InventoryAttachment object - - A which becomes the - objects AssetUUID + + - + - Construct an InventoryAttachment object from a serialization stream + A number which increments by 1, starting at 0 for each ParcelProperties request. + Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. + a Negative number indicates the action in has occurred. - - - Get the last AttachmentPoint this object was attached to - + + Maximum primitives across the entire simulator - - - InventoryWearable Class, details on a clothing item or body part - + + Total primitives across the entire simulator - - - Construct an InventoryWearable object - - A which becomes the - objects AssetUUID + + - - - Construct an InventoryWearable object from a serialization stream - + + Key of parcel snapshot - - - The , Skin, Shape, Skirt, Etc - + + Parcel ownership status - - - InventoryAnimation Class, A bvh encoded object which animates an avatar - + + Total number of primitives on this parcel - - - Construct an InventoryAnimation object - - A which becomes the - objects AssetUUID + + - - - Construct an InventoryAnimation object from a serialization stream - + + - - - InventoryGesture Class, details on a series of animations, sounds, and actions - + + A description of the media - - - Construct an InventoryGesture object - - A which becomes the - objects AssetUUID + + An Integer which represents the height of the media - - - Construct an InventoryGesture object from a serialization stream - + + An integer which represents the width of the media - - - A folder contains s and has certain attributes specific - to itself - + + A boolean, if true the viewer should loop the media - - The Preferred for a folder. + + A string which contains the mime type of the media - - The Version of this folder + + true to obscure (hide) media url - - Number of child items this folder contains. + + true to obscure (hide) music url - + - Constructor + Serialize the object - UUID of the folder + An containing the objects data - + - + Deserialize the message - + An containing the data - - - Get Serilization data for this InventoryFolder object - + + A message sent from the viewer to the simulator to updated a specific parcels settings - - - Construct an InventoryFolder object from a serialization stream - + + The of the agent authorized to purchase this + parcel of land or a NULL if the sale is authorized to anyone - - - - - + + true to enable auto scaling of the parcel media - - - - - - + + The category of this parcel used when search is enabled to restrict + search results - - - - - - + + A string containing the description to set - - - - - - + + The of the which allows for additional + powers and restrictions. - - - Tools for dealing with agents inventory - + + The which specifies how avatars which teleport + to this parcel are handled - - Used for converting shadow_id to asset_id + + The LocalID of the parcel to update settings on - - The event subscribers, null of no subscribers + + A string containing the description of the media which can be played + to visitors - - Raises the ItemReceived Event - A ItemReceivedEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the FolderUpdated Event - A FolderUpdatedEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the InventoryObjectOffered Event - A InventoryObjectOfferedEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the TaskItemReceived Event - A TaskItemReceivedEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the FindObjectByPath Event - A FindObjectByPathEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + + + + - - The event subscribers, null of no subscribers + + - - Raises the TaskInventoryReply Event - A TaskInventoryReplyEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + + Deserialize the message + + An containing the data - - Raises the SaveAssetToInventory Event - A SaveAssetToInventoryEventArgs object containing - the data sent from the simulator + + + Serialize the object + + An containing the objects data - - Thread sync lock object + + Base class used for the RemoteParcelRequest message - - The event subscribers, null of no subscribers + + + A message sent from the viewer to the simulator to request information + on a remote parcel + - - Raises the ScriptRunningReply Event - A ScriptRunningReplyEventArgs object containing - the data sent from the simulator + + Local sim position of the parcel we are looking up - - Thread sync lock object + + Region handle of the parcel we are looking up - - Partial mapping of AssetTypes to folder names + + Region of the parcel we are looking up - + - Default constructor + Serialize the object - Reference to the GridClient object + An containing the objects data - + - Fetch an inventory item from the dataserver + Deserialize the message - The items - The item Owners - a integer representing the number of milliseconds to wait for results - An object on success, or null if no item was found - Items will also be sent to the event + An containing the data - + - Request A single inventory item + A message sent from the simulator to the viewer in response to a + which will contain parcel information - The items - The item Owners - - + + The grid-wide unique parcel ID + + - Request inventory items + Serialize the object - Inventory items to request - Owners of the inventory items - + An containing the objects data - + - Get contents of a folder + Deserialize the message - The of the folder to search - The of the folders owner - true to retrieve folders - true to retrieve items - sort order to return results in - a integer representing the number of milliseconds to wait for results - A list of inventory items matching search criteria within folder - - InventoryFolder.DescendentCount will only be accurate if both folders and items are - requested + An containing the data - + - Request the contents of an inventory folder + A message containing a request for a remote parcel from a viewer, or a response + from the simulator to that request - The folder to search - The folder owners - true to return s contained in folder - true to return s containd in folder - the sort order to return items in - - + + The request or response details block + + - Returns the UUID of the folder (category) that defaults to - containing 'type'. The folder is not necessarily only for that - type + Serialize the object - This will return the root folder if one does not exist - - The UUID of the desired folder if found, the UUID of the RootFolder - if not found, or UUID.Zero on failure + An containing the objects data - + - Find an object in inventory using a specific path to search + Deserialize the message - The folder to begin the search in - The object owners - A string path to search - milliseconds to wait for a reply - Found items or if - timeout occurs or item is not found + An containing the data - + - Find inventory items by path + Serialize the object - The folder to begin the search in - The object owners - A string path to search, folders/objects separated by a '/' - Results are sent to the event + An containing the objects data - + - Search inventory Store object for an item or folder + Deserialize the message - The folder to begin the search in - An array which creates a path to search - Number of levels below baseFolder to conduct searches - if True, will stop searching after first match is found - A list of inventory items found + An containing the data - + - Move an inventory item or folder to a new location + Serialize the object - The item or folder to move - The to move item or folder to + An containing the objects data - + - Move an inventory item or folder to a new location and change its name + Deserialize the message - The item or folder to move - The to move item or folder to - The name to change the item or folder to + An containing the data - + - Move and rename a folder + A message sent from the simulator to an agent which contains + the groups the agent is in - The source folders - The destination folders - The name to change the folder to - + + The Agent receiving the message + + + An array containing information + for each the agent is a member of + + + An array containing information + for each the agent is a member of + + - Update folder properties + Serialize the object - of the folder to update - Sets folder's parent to - Folder name - Folder type + An containing the objects data - + - Move a folder + Deserialize the message - The source folders - The destination folders + An containing the data - + + Group Details specific to the agent + + + true of the agent accepts group notices + + + The agents tier contribution to the group + + + The Groups + + + The of the groups insignia + + + The name of the group + + + The aggregate permissions the agent has in the group for all roles the agent + is assigned + + + An optional block containing additional agent specific information + + + true of the agent allows this group to be + listed in their profile + + - Move multiple folders, the keys in the Dictionary parameter, - to a new parents, the value of that folder's key. + A message sent from the viewer to the simulator which + specifies the language and permissions for others to detect + the language specified - A Dictionary containing the - of the source as the key, and the - of the destination as the value - + + A string containng the default language + to use for the agent + + + true of others are allowed to + know the language setting + + - Move an inventory item to a new folder + Serialize the object - The of the source item to move - The of the destination folder + An containing the objects data - + - Move and rename an inventory item + Deserialize the message - The of the source item to move - The of the destination folder - The name to change the folder to + An containing the data - + - Move multiple inventory items to new locations + An EventQueue message sent from the simulator to an agent when the agent + leaves a group - A Dictionary containing the - of the source item as the key, and the - of the destination folder as the value - + - Remove descendants of a folder + An Array containing the AgentID and GroupID - The of the folder - + - Remove a single item from inventory + Serialize the object - The of the inventory item to remove + An containing the objects data - + - Remove a folder from inventory + Deserialize the message - The of the folder to remove + An containing the data - + + An object containing the Agents UUID, and the Groups UUID + + + The ID of the Agent leaving the group + + + The GroupID the Agent is leaving + + + Base class for Asset uploads/results via Capabilities + + - Remove multiple items or folders from inventory + The request state - A List containing the s of items to remove - A List containing the s of the folders to remove - + - Empty the Lost and Found folder + Serialize the object + An containing the objects data - + - Empty the Trash folder + Deserialize the message + An containing the data - + - + A message sent from the viewer to the simulator to request a temporary upload capability + which allows an asset to be uploaded - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - + + The Capability URL sent by the simulator to upload the baked texture to + + - + A message sent from the simulator that will inform the agent the upload is complete, + and the UUID of the uploaded asset - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - - + + The uploaded texture asset ID + + - Creates a new inventory folder + A message sent from the viewer to the simulator to request a temporary + capability URI which is used to upload an agents baked appearance textures - ID of the folder to put this folder in - Name of the folder to create - The UUID of the newly created folder - + + Object containing request or response + + - Creates a new inventory folder + Serialize the object - ID of the folder to put this folder in - Name of the folder to create - Sets this folder as the default folder - for new assets of the specified type. Use AssetType.Unknown - to create a normal folder, otherwise it will likely create a - duplicate of an existing folder type - The UUID of the newly created folder - If you specify a preferred type of AsseType.Folder - it will create a new root folder which may likely cause all sorts - of strange problems + An containing the objects data - + - Create an inventory item and upload asset data + Deserialize the message - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Delegate that will receive feedback on success or failure + An containing the data - + - Create an inventory item and upload asset data + A message sent from the simulator which indicates the minimum version required for + using voice chat - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Permission of the newly created item - (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) - Delegate that will receive feedback on success or failure - + + Major Version Required + + + Minor version required + + + The name of the region sending the version requrements + + - Creates inventory link to another inventory item or folder + Serialize the object - Put newly created link in folder with this UUID - Inventory item or folder - Method to call upon creation of the link + An containing the objects data - + - Creates inventory link to another inventory item + Deserialize the message - Put newly created link in folder with this UUID - Original inventory item - Method to call upon creation of the link + An containing the data - + - Creates inventory link to another inventory folder + A message sent from the simulator to the viewer containing the + voice server URI - Put newly created link in folder with this UUID - Original inventory folder - Method to call upon creation of the link - + + The Parcel ID which the voice server URI applies + + + The name of the region + + + A uri containing the server/channel information + which the viewer can utilize to participate in voice conversations + + - Creates inventory link to another inventory item or folder + Serialize the object - Put newly created link in folder with this UUID - Original item's UUID - Name - Description - Asset Type - Inventory Type - Transaction UUID - Method to call upon creation of the link + An containing the objects data - + - + Deserialize the message - - - - + An containing the data - + - - - - - - + + + + + + + - + Serialize the object - - - - - + An containing the objects data - + - Request a copy of an asset embedded within a notecard + Deserialize the message - Usually UUID.Zero for copying an asset from a notecard - UUID of the notecard to request an asset from - Target folder for asset to go to in your inventory - UUID of the embedded asset - callback to run when item is copied to inventory + An containing the data - + - + A message sent by the viewer to the simulator to request a temporary + capability for a script contained with in a Tasks inventory to be updated - - + + Object containing request or response + + - + Serialize the object - + An containing the objects data - + - + Deserialize the message - - + An containing the data - + - + A message sent from the simulator to the viewer to indicate + a Tasks scripts status. - - - - + + The Asset ID of the script + + + True of the script is compiled/ran using the mono interpreter, false indicates it + uses the older less efficient lsl2 interprter + + + The Task containing the scripts + + + true of the script is in a running state + + - Save changes to notecard embedded in object contents + Serialize the object - Encoded notecard asset data - Notecard UUID - Object's UUID - Called upon finish of the upload with status information + An containing the objects data - + - Upload new gesture asset for an inventory gesture item + Deserialize the message - Encoded gesture asset - Gesture inventory UUID - Callback whick will be called when upload is complete + An containing the data - + - Update an existing script in an agents Inventory + A message containing the request/response used for updating a gesture + contained with an agents inventory - A byte[] array containing the encoded scripts contents - the itemID of the script - if true, sets the script content to run on the mono interpreter - - + + Object containing request or response + + - Update an existing script in an task Inventory + Serialize the object - A byte[] array containing the encoded scripts contents - the itemID of the script - UUID of the prim containting the script - if true, sets the script content to run on the mono interpreter - if true, sets the script to running - + An containing the objects data - + - Rez an object from inventory + Deserialize the message - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details + An containing the data - + - Rez an object from inventory + A message request/response which is used to update a notecard contained within + a tasks inventory - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - + + The of the Task containing the notecard asset to update + + + The notecard assets contained in the tasks inventory + + - Rez an object from inventory + Serialize the object - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - User defined queryID to correlate replies - If set to true, the CreateSelected flag - will be set on the rezzed object + An containing the objects data - + - DeRez an object from the simulator to the agents Objects folder in the agents Inventory + Deserialize the message - The simulator Local ID of the object - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed + An containing the data - + - DeRez an object from the simulator and return to inventory + A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability + which is used to update an asset in an agents inventory - The simulator Local ID of the object - The type of destination from the enum - The destination inventory folders -or- - if DeRezzing object to a tasks Inventory, the Tasks - The transaction ID for this request which - can be used to correlate this request with other packets - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - + - Rez an item from inventory to its previous simulator location + The Notecard AssetID to replace - - - - - + - Give an inventory item to another avatar + Serialize the object - The of the item to give - The name of the item - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer + An containing the objects data - + - Give an inventory Folder with contents to another avatar + Deserialize the message - The of the Folder to give - The name of the folder - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer + An containing the data - + - Copy or move an from agent inventory to a task (primitive) inventory + A message containing the request/response used for updating a notecard + contained with an agents inventory - The target object - The item to copy or move from inventory - - For items with copy permissions a copy of the item is placed in the tasks inventory, - for no-copy items the object is moved to the tasks inventory - + + Object containing request or response + + - Retrieve a listing of the items contained in a task (Primitive) + Serialize the object - The tasks - The tasks simulator local ID - milliseconds to wait for reply from simulator - A list containing the inventory items inside the task or null - if a timeout occurs - This request blocks until the response from the simulator arrives - or timeoutMS is exceeded + An containing the objects data - + - Request the contents of a tasks (primitives) inventory from the - current simulator + Deserialize the message - The LocalID of the object - + An containing the data - + - Request the contents of a tasks (primitives) inventory + Serialize the object - The simulator Local ID of the object - A reference to the simulator object that contains the object - + An containing the objects data - + - Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory + Deserialize the message - LocalID of the object in the simulator - UUID of the task item to move - The ID of the destination folder in this agents inventory - Simulator Object - Raises the event + An containing the data - + - Remove an item from an objects (Prim) Inventory + A message sent from the simulator to the viewer which indicates + an error occurred while attempting to update a script in an agents or tasks + inventory - LocalID of the object in the simulator - UUID of the task item to remove - Simulator Object - You can confirm the removal by comparing the tasks inventory serial before and after the - request with the request combined with - the event - - - Copy an InventoryScript item from the Agents Inventory into a primitives task inventory - - An unsigned integer representing a primitive being simulated - An which represents a script object from the agents inventory - true to set the scripts running state to enabled - A Unique Transaction ID - - The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory - and assumes the script exists in the agents inventory. - - uint primID = 95899503; // Fake prim ID - UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory - - Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, - false, true, InventorySortOrder.ByName, 10000); - - Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); - - + + true of the script was successfully compiled by the simulator + + + A string containing the error which occured while trying + to update the script + + + A new AssetID assigned to the script - + - Request the running status of a script contained in a task (primitive) inventory + A message sent from the viewer to the simulator + requesting the update of an existing script contained + within a tasks inventory - The ID of the primitive containing the script - The ID of the script - The event can be used to obtain the results of the - request - - + + if true, set the script mode to running + + + The scripts InventoryItem ItemID to update + + + A lowercase string containing either "mono" or "lsl2" which + specifies the script is compiled and ran on the mono runtime, or the older + lsl runtime + + + The tasks which contains the script to update + + - Send a request to set the running state of a script contained in a task (primitive) inventory + Serialize the object - The ID of the primitive containing the script - The ID of the script - true to set the script running, false to stop a running script - To verify the change you can use the method combined - with the event + An containing the objects data - + - Create a CRC from an InventoryItem + Deserialize the message - The source InventoryItem - A uint representing the source InventoryItem as a CRC + An containing the data - + - Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id + A message containing either the request or response used in updating a script inside + a tasks inventory - Obfuscated shadow_id value - Deobfuscated asset_id value - + + Object containing request or response + + - Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id + Serialize the object - asset_id value to obfuscate - Obfuscated shadow_id value + An containing the objects data - + - Wrapper for creating a new object + Deserialize the message - The type of item from the enum - The of the newly created object - An object with the type and id passed + An containing the data - + - Parse the results of a RequestTaskInventory() response + Response from the simulator to notify the viewer the upload is completed, and + the UUID of the script asset and its compiled status - A string which contains the data from the task reply - A List containing the items contained within the tasks inventory - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The uploaded texture asset ID - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + true of the script was compiled successfully - + - UpdateCreateInventoryItem packets are received when a new inventory item - is created. This may occur when an object that's rezzed in world is - taken into inventory, when an item is created using the CreateInventoryItem - packet, or when an object is purchased + A message sent from a viewer to the simulator requesting a temporary uploader capability + used to update a script contained in an agents inventory - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - an inventory object sent by another avatar or primitive + + The existing asset if of the script in the agents inventory to replace - - Raised when the simulator sends us data containing - ... + + The language of the script + Defaults to lsl version 2, "mono" might be another possible option - - Raised when the simulator sends us data containing - ... + + + Serialize the object + + An containing the objects data - - Raised when the simulator sends us data containing - ... + + + Deserialize the message + + An containing the data - - Raised when the simulator sends us data containing - ... + + + A message containing either the request or response used in updating a script inside + an agents inventory + - - Raised when the simulator sends us data containing - ... + + Object containing request or response - + - Get this agents Inventory data + Serialize the object + An containing the objects data - + - Callback for inventory item creation finishing + Deserialize the message - Whether the request to create an inventory - item succeeded or not - Inventory item being created. If success is - false this will be null + An containing the data - + - Callback for an inventory item being create from an uploaded asset + Serialize the object - true if inventory item creation was successful - - - + An containing the objects data - + - + Deserialize the message - + An containing the data - + + Base class for Map Layers via Capabilities + + + + + - Reply received when uploading an inventory asset + Serialize the object - Has upload been successful - Error message if upload failed - Inventory asset UUID - New asset UUID + An containing the objects data - + - Delegate that is invoked when script upload is completed + Deserialize the message - Has upload succeded (note, there still might be compile errors) - Upload status message - Is compilation successful - If compilation failed, list of error messages, null on compilation success - Script inventory UUID - Script's new asset UUID - - - Set to true to accept offer, false to decline it - - - The folder to accept the inventory into, if null default folder for will be used + An containing the data - + - Callback when an inventory object is accepted and received from a - task inventory. This is the callback in which you actually get - the ItemID, as in ObjectOfferedCallback it is null when received - from a task. + Sent by an agent to the capabilities server to request map layers - + - Map layer request type + A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates - - Objects and terrain are shown + + An array containing LayerData items - - Only the terrain is shown, no objects + + + Serialize the object + + An containing the objects data - - Overlay showing land for sale and for auction + + + Deserialize the message + + An containing the data - + - Type of grid item, such as telehub, event, populator location, etc. + An object containing map location details - - Telehub - - - PG rated event - - - Mature rated event + + The Asset ID of the regions tile overlay - - Popular location + + The grid location of the southern border of the map tile - - Locations of avatar groups in a region + + The grid location of the western border of the map tile - - Land for sale + + The grid location of the eastern border of the map tile - - Classified ad + + The grid location of the northern border of the map tile - - Adult rated event + + Object containing request or response - - Adult land for sale + + + Serialize the object + + An containing the objects data - + - Information about a region on the grid map + Deserialize the message + An containing the data - - Sim X position on World Map + + + New as of 1.23 RC1, no details yet. + - - Sim Y position on World Map + + + Serialize the object + + An containing the objects data - - Sim Name (NOTE: In lowercase!) + + + Deserialize the message + + An containing the data - - + + + Serialize the object + + An containing the objects data - - Appears to always be zero (None) + + + Deserialize the message + + An containing the data - - Sim's defined Water Height + + A string containing the method used - - + + + A request sent from an agent to the Simulator to begin a new conference. + Contains a list of Agents which will be included in the conference + - - UUID of the World Map image + + An array containing the of the agents invited to this conference - - Unique identifier for this region, a combination of the X - and Y position + + The conferences Session ID - + - + Serialize the object - + An containing the objects data - + - + Deserialize the message - + An containing the data - + - + A moderation request sent from a conference moderator + Contains an agent and an optional action to take + + + + The Session ID + + + + + + A list containing Key/Value pairs, known valid values: + key: text value: true/false - allow/disallow specified agents ability to use text in session + key: voice value: true/false - allow/disallow specified agents ability to use voice in session - - + "text" or "voice" - + + + + - Visual chunk of the grid map + Serialize the object + An containing the objects data - + - Base class for Map Items + Deserialize the message + An containing the data - - The Global X position of the item - - - The Global Y position of the item - - - Get the Local X position of the item - - - Get the Local Y position of the item + + + A message sent from the agent to the simulator which tells the + simulator we've accepted a conference invitation + - - Get the Handle of the region + + The conference SessionID - + - Represents an agent or group of agents location + Serialize the object + An containing the objects data - + - Represents a Telehub location + Deserialize the message + An containing the data - + - Represents a non-adult parcel of land for sale + Serialize the object + An containing the objects data - + - Represents an Adult parcel of land for sale + Deserialize the message + An containing the data - + - Represents a PG Event + Serialize the object + An containing the objects data - + - Represents a Mature event + Deserialize the message + An containing the data - + - Represents an Adult event + Serialize the object + An containing the objects data - + - Manages grid-wide tasks such as the world map + Deserialize the message + An containing the data - - The event subscribers. null if no subcribers - - - Raises the CoarseLocationUpdate event - A CoarseLocationUpdateEventArgs object containing the - data sent by simulator - - - Thread sync lock object + + Key of sender - - The event subscribers. null if no subcribers + + Name of sender - - Raises the GridRegion event - A GridRegionEventArgs object containing the - data sent by simulator + + Key of destination avatar - - Thread sync lock object + + ID of originating estate - - The event subscribers. null if no subcribers + + Key of originating region - - Raises the GridLayer event - A GridLayerEventArgs object containing the - data sent by simulator + + Coordinates in originating region - - Thread sync lock object + + Instant message type - - The event subscribers. null if no subcribers + + Group IM session toggle - - Raises the GridItems event - A GridItemEventArgs object containing the - data sent by simulator + + Key of IM session, for Group Messages, the groups UUID - - Thread sync lock object + + Timestamp of the instant message - - The event subscribers. null if no subcribers + + Instant message text - - Raises the RegionHandleReply event - A RegionHandleReplyEventArgs object containing the - data sent by simulator + + Whether this message is held for offline avatars - - Thread sync lock object + + Context specific packed data - - A dictionary of all the regions, indexed by region name + + Is this invitation for voice group/conference chat - - A dictionary of all the regions, indexed by region handle + + + Serialize the object + + An containing the objects data - + - Constructor + Deserialize the message - Instance of GridClient object to associate with this GridManager instance + An containing the data - + + Sent from the simulator to the viewer. + + When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including + a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate + this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" + During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are + excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with + the string "ENTER" or "LEAVE" respectively. - - + - Request a map layer + Serialize the object - The name of the region - The type of layer + An containing the objects data - + - + Deserialize the message - - - - - - + An containing the data - + - + An EventQueue message sent when the agent is forcibly removed from a chatterbox session - - - - - - + - + A string containing the reason the agent was removed - - - - + - Request data for all mainland (Linden managed) simulators + The ChatterBoxSession's SessionID - + - Request the region handle for the specified region UUID + Serialize the object - UUID of the region to look up + An containing the objects data - + - Get grid region information using the region name, this function - will block until it can find the region or gives up + Deserialize the message - Name of sim you're looking for - Layer that you are requesting - Will contain a GridRegion for the sim you're - looking for if successful, otherwise an empty structure - True if the GridRegion was successfully fetched, otherwise - false - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the simulator sends a - containing the location of agents in the simulator + An containing the data - - Raised when the simulator sends a Region Data in response to - a Map request + + + Serialize the object + + An containing the objects data - - Raised when the simulator sends GridLayer object containing - a map tile coordinates and texture information + + + Deserialize the message + + An containing the data - - Raised when the simulator sends GridItems object containing - details on events, land sales at a specific location + + + Serialize the object + + An containing the objects data - - Raised in response to a Region lookup + + + Deserialize the message + + An containing the data - - Unknown + + + Serialize the object + + An containing the objects data - - Current direction of the sun + + + Deserialize the message + + An containing the data - - Current angular velocity of the sun + + + Serialize the object + + An containing the objects data - - Current world time + + + Deserialize the message + + An containing the data - + - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + Event Queue message describing physics engine attributes of a list of objects + Sim sends these when object is selected + - + + Array with the list of physics properties + + - Login Request Parameters + Serializes the message + Serialized OSD - - The URL of the Login Server + + + Deseializes the message + + Incoming data to deserialize - - The number of milliseconds to wait before a login is considered - failed due to timeout + + + A message sent from the viewer to the simulator which + specifies that the user has changed current URL + of the specific media on a prim face + - - The request method - login_to_simulator is currently the only supported method + + + New URL + - - The Agents First name + + + Prim UUID where navigation occured + - - The Agents Last name + + + Face index + - - A md5 hashed password - plaintext password will be automatically hashed + + + Serialize the object + + An containing the objects data - - The agents starting location once logged in - Either "last", "home", or a string encoded URI - containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 + + + Deserialize the message + + An containing the data - - A string containing the client software channel information - Second Life Release + + Base class used for the ObjectMedia message - - The client software version information - The official viewer uses: Second Life Release n.n.n.n - where n is replaced with the current version of the viewer + + + Message used to retrive prim media data + - - A string containing the platform information the agent is running on + + + Prim UUID + - - A string hash of the network cards Mac Address + + + Requested operation, either GET or UPDATE + - - Unknown or deprecated + + + Serialize object + + Serialized object as OSDMap - - A string hash of the first disk drives ID used to identify this clients uniqueness + + + Deserialize the message + + An containing the data - - A string containing the viewers Software, this is not directly sent to the login server but - instead is used to generate the Version string + + + Message used to update prim media data + - - A string representing the software creator. This is not directly sent to the login server but - is used by the library to generate the Version information + + + Prim UUID + - - If true, this agent agrees to the Terms of Service of the grid its connecting to + + + Array of media entries indexed by face number + - - Unknown + + + Media version string + - - An array of string sent to the login server to enable various options + + + Serialize object + + Serialized object as OSDMap - - A randomly generated ID to distinguish between login attempts. This value is only used - internally in the library and is never sent over the wire + + + Deserialize the message + + An containing the data - + - Default constuctor, initializes sane default values + Message used to update prim media data - + - Instantiates new LoginParams object and fills in the values + Prim UUID - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number - + - Instantiates new LoginParams object and fills in the values + Array of media entries indexed by face number - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number - URI of the login server - + - The decoded data returned from the login server after a successful login + Requested operation, either GET or UPDATE - - true, false, indeterminate + + + Serialize object + + Serialized object as OSDMap - - Login message of the day + + + Deserialize the message + + An containing the data - - M or PG, also agent_region_access and agent_access_max + + + Message for setting or getting per face MediaEntry + - + + The request or response details block + + - Parse LLSD Login Reply Data + Serialize the object - An - contaning the login response data - XML-RPC logins do not require this as XML-RPC.NET - automatically populates the struct properly using attributes + An containing the objects data - + - + Deserialize the message + An containing the data - - OK + + Details about object resource usage - - Transfer completed + + Object UUID - - + + Object name - - + + Indicates if object is group owned - - Unknown error occurred + + Locatio of the object - - Equivalent to a 404 error + + Object owner - - Client does not have permission for that resource + + Resource usage, keys are resource names, values are resource usage for that specific resource - - Unknown status + + + Deserializes object from OSD + + An containing the data - + - + Makes an instance based on deserialized data + serialized data + Instance containg deserialized data - - + + Details about parcel resource usage - - Unknown + + Parcel UUID - - Virtually all asset transfers use this channel + + Parcel local ID - + + Parcel name + + + Indicates if parcel is group owned + + + Parcel owner + + + Array of containing per object resource usage + + - + Deserializes object from OSD + An containing the data - - + + + Makes an instance based on deserialized data + + serialized data + Instance containg deserialized data - - Asset from the asset server + + Resource usage base class, both agent and parcel resource + usage contains summary information - - Inventory item + + Summary of available resources, keys are resource names, + values are resource usage for that specific resource - - Estate asset, such as an estate covenant + + Summary resource usage, keys are resource names, + values are resource usage for that specific resource - + - + Serializes object + serialized data - - + + + Deserializes object from OSD + + An containing the data - - + + Agent resource usage - - + + Per attachment point object resource usage - + - + Deserializes object from OSD + An containing the data - - - - - - - + - Image file format + Makes an instance based on deserialized data + serialized data + Instance containg deserialized data - + - + Detects which class handles deserialization of this message + An containing the data + Object capable of decoding this message - - Number of milliseconds passed since the last transfer - packet was received + + Request message for parcel resource usage - + + UUID of the parel to request resource usage info + + - + Serializes object + serialized data - + - + Deserializes object from OSD + An containing the data - + + Response message for parcel resource usage + + + URL where parcel resource usage details can be retrieved + + + URL where parcel resource usage summary can be retrieved + + - + Serializes object + serialized data - + - + Deserializes object from OSD + An containing the data - + - + Detects which class handles deserialization of this message + An containing the data + Object capable of decoding this message - + + Parcel resource usage + + + Array of containing per percal resource usage + + - + Deserializes object from OSD - - - - + An containing the data - + - + Reply to request for bunch if display names - - Number of milliseconds to wait for a transfer header packet if out of order data was received + + Current display name - - The event subscribers. null if no subcribers + + Following UUIDs failed to return a valid display name - - Raises the XferReceived event - A XferReceivedEventArgs object containing the - data returned from the simulator + + + Serializes the message + + OSD containting the messaage - - Thread sync lock object + + + Message sent when requesting change of the display name + - - The event subscribers. null if no subcribers + + Current display name - - Raises the AssetUploaded event - A AssetUploadedEventArgs object containing the - data returned from the simulator + + Desired new display name - - Thread sync lock object + + + Serializes the message + + OSD containting the messaage - - The event subscribers. null if no subcribers + + + Message recieved in response to request to change display name + - - Raises the UploadProgress event - A UploadProgressEventArgs object containing the - data returned from the simulator + + New display name - - Thread sync lock object + + String message indicating the result of the operation - - The event subscribers. null if no subcribers + + Numerical code of the result, 200 indicates success - - Raises the InitiateDownload event - A InitiateDownloadEventArgs object containing the - data returned from the simulator + + + Serializes the message + + OSD containting the messaage - - Thread sync lock object + + + Message recieved when someone nearby changes their display name + - - The event subscribers. null if no subcribers + + Previous display name, empty string if default - - Raises the ImageReceiveProgress event - A ImageReceiveProgressEventArgs object containing the - data returned from the simulator + + New display name - - Thread sync lock object + + + Serializes the message + + OSD containting the messaage - - Texture download cache + + + Archives assets + - + - Default constructor + Archive assets - A reference to the GridClient object - + - Request an asset download + Archive the assets given to this archiver to the given archive. - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - The callback to fire when the simulator responds with the asset data + - + - Request an asset download + Write an assets metadata file to the given archive - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - The callback to fire when the simulator responds with the asset data + - + - Request an asset download + Write asset data files to the given archive - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - UUID of the transaction - The callback to fire when the simulator responds with the asset data + - + - Request an asset download through the almost deprecated Xfer system + Constants for the archiving module - Filename of the asset to request - Whether or not to delete the asset - off the server after it is retrieved - Use large transfer packets or not - UUID of the file to request, if filename is - left empty - Asset type of vFileID, or - AssetType.Unknown if filename is not empty - Sets the FilePath in the request to Cache - (4) if true, otherwise Unknown (0) is used - - + - + The location of the archive control file - Use UUID.Zero if you do not have the - asset ID but have all the necessary permissions - The item ID of this asset in the inventory - Use UUID.Zero if you are not requesting an - asset from an object inventory - The owner of this asset - Asset type - Whether to prioritize this asset download or not - - + - Used to force asset data into the PendingUpload property, ie: for raw terrain uploads + Path for the assets held in an archive - An AssetUpload object containing the data to upload to the simulator - + - Request an asset be uploaded to the simulator + Path for the prims file + + + + + Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. - The Object containing the asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - + - Request an asset be uploaded to the simulator + Path for region settings. - The of the asset being uploaded - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - + - Request an asset be uploaded to the simulator + The character the separates the uuid from extension information in an archived asset filename - - Asset type to upload this data as - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - + - Initiate an asset upload + Extensions used for asset types in the archive - The ID this asset will have if the - upload succeeds - Asset type to upload this data as - Raw asset data to upload - Whether to store this asset on the local - simulator or the grid-wide asset server - The tranaction id for the upload - The transaction ID of this transfer - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress - transfer. - A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority - indicating an off-by-one error. - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - Request an image and fire a callback when the request is complete - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - - Request an image and use an inline anonymous method to handle the downloaded texture data - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - ); - - Request a texture, decode the texture to a bitmap image and apply it to a imagebox - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - ManagedImage imgData; - Image bitmap; + + - if (state == TextureRequestState.Finished) - { - OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); - picInsignia.Image = bitmap; - } - } - } - - + - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + An instance of DelegateWrapper which calls InvokeWrappedDelegate, + which in turn calls the DynamicInvoke method of the wrapped + delegate - The of the texture asset to download - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + Callback used to call EndInvoke on the asynchronously + invoked DelegateWrapper - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + Executes the specified delegate with the specified arguments + asynchronously on a thread pool thread - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request + + - + - Cancel a texture request + Invokes the wrapped delegate synchronously - The texture assets + + - + - Requests download of a mesh asset + Calls EndInvoke on the wrapper and Close on the resulting WaitHandle + to prevent resource leaks - UUID of the mesh asset - Callback when the request completes + - + - Lets TexturePipeline class fire the progress event + Delegate to wrap another delegate and its arguments - The texture ID currently being downloaded - the number of bytes transferred - the total number of bytes expected - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Size of the byte array used to store raw packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Raw packet data buffer - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Length of the data to transmit - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + EndPoint of the remote host - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Create an allocated UDP packet buffer for receiving a packet + - - Raised when the simulator responds sends + + + Create an allocated UDP packet buffer for sending a packet + + EndPoint of the remote host - - Raised during upload completes + + + Create an allocated UDP packet buffer for sending a packet + + EndPoint of the remote host + Size of the buffer to allocate for packet data - - Raised during upload with progres update + + + Object pool for packet buffers. This is used to allocate memory for all + incoming and outgoing packets, and zerocoding buffers for those packets + - - Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files + + + Initialize the object pool in client mode + + Server to connect to + + - - Fired when a texture is in the process of being downloaded by the TexturePipeline class + + + Initialize the object pool in server mode + + + - + - Callback used for various asset download requests + Returns a packet buffer with EndPoint set if the buffer is in + client mode, or with EndPoint set to null in server mode - Transfer information - Downloaded asset, null on fail + Initialized UDPPacketBuffer object - + - Callback used upon competition of baked texture upload + Default constructor - Asset UUID of the newly uploaded baked texture - + - A callback that fires upon the completition of the RequestMesh call + Check a packet buffer out of the pool - Was the download successfull - Resulting mesh or null on problems - - - Xfer data + A packet buffer object - - Upload data + + + + + Looking direction, must be a normalized vector + Up direction, must be a normalized vector - - Filename used on the simulator + + + Align the coordinate frame X and Y axis with a given rotation + around the Z axis in radians + + Absolute rotation around the Z axis in + radians - - Filename used by the client + + Origin position of this coordinate frame - - UUID of the image that is in progress + + X axis of this coordinate frame, or Forward/At in grid terms - - Number of bytes received so far + + Y axis of this coordinate frame, or Left in grid terms - - Image size in bytes + + Z axis of this coordinate frame, or Up in grid terms @@ -23401,1668 +23985,2153 @@ Agent punching with right hand - - Agent acting repulsed + + Agent acting repulsed + + + Agent trying to be Chuck Norris + + + Rocks, Paper, Scissors 1, 2, 3 + + + Agent with hand flat over other hand + + + Agent with fist over other hand + + + Agent with two fingers spread over other hand + + + Agent running + + + Agent appearing sad + + + Agent saluting + + + Agent shooting bow (left handed) + + + Agent cupping mouth as if shouting + + + Agent shrugging shoulders + + + Agent in sit position + + + Agent in sit position (feminine) + + + Agent in sit position (generic) + + + Agent sitting on ground + + + Agent sitting on ground + + + + + + Agent sleeping on side + + + Agent smoking + + + Agent inhaling smoke + + + + + + Agent taking a picture + + + Agent standing + + + Agent standing up + + + Agent standing + + + Agent standing + + + Agent standing + + + Agent standing + + + Agent stretching + + + Agent in stride (fast walk) + + + Agent surfing + + + Agent acting surprised + + + Agent striking with a sword + + + Agent talking (lips moving) + + + Agent throwing a tantrum + + + Agent throwing an object (right handed) + + + Agent trying on a shirt + + + Agent turning to the left + + + Agent turning to the right + + + Agent typing + + + Agent walking + + + Agent whispering + + + Agent whispering with fingers in mouth + + + Agent winking + + + Agent winking + + + Agent worried + + + Agent nodding yes + + + Agent nodding yes with happy face + + + Agent floating with legs and arms crossed + + + + A dictionary containing all pre-defined animations + + A dictionary containing the pre-defined animations, + where the key is the animations ID, and the value is a string + containing a name to identify the purpose of the animation + + + + Extract the avatar UUID encoded in a SIP URI + + + + + + + Permissions for control of object media + + + + + Style of cotrols that shold be displayed to the user + + + + + Class representing media data for a single face + + + + Is display of the alternative image enabled + + + Should media auto loop + + + Shoule media be auto played + + + Auto scale media to prim face + + + Should viewer automatically zoom in on the face when clicked + + + Should viewer interpret first click as interaction with the media + or when false should the first click be treated as zoom in commadn + + + Style of controls viewer should display when + viewer media on this face - - Agent trying to be Chuck Norris + + Starting URL for the media - - Rocks, Paper, Scissors 1, 2, 3 + + Currently navigated URL - - Agent with hand flat over other hand + + Media height in pixes - - Agent with fist over other hand + + Media width in pixels - - Agent with two fingers spread over other hand + + Who can controls the media - - Agent running + + Who can interact with the media - - Agent appearing sad + + Is URL whitelist enabled - - Agent saluting + + Array of URLs that are whitelisted - - Agent shooting bow (left handed) + + + Serialize to OSD + + OSDMap with the serialized data - - Agent cupping mouth as if shouting + + + Deserialize from OSD data + + Serialized OSD data + Deserialized object - - Agent shrugging shoulders + + + A Wrapper around openjpeg to encode and decode images to and from byte arrays + - - Agent in sit position + + TGA Header size - - Agent in sit position (feminine) + + OpenJPEG is not threadsafe, so this object is used to lock + during calls into unmanaged code - - Agent in sit position (generic) + + + Encode a object into a byte array + + The object to encode + true to enable lossless conversion, only useful for small images ie: sculptmaps + A byte array containing the encoded Image object - - Agent sitting on ground + + + Encode a object into a byte array + + The object to encode + a byte array of the encoded image - - Agent sitting on ground + + + Decode JPEG2000 data to an and + + + JPEG2000 encoded data + ManagedImage object to decode to + Image object to decode to + True if the decode succeeds, otherwise false - - + + + + + + + - - Agent sleeping on side + + + + + + + + - - Agent smoking + + + Encode a object into a byte array + + The source object to encode + true to enable lossless decoding + A byte array containing the source Bitmap object - - Agent inhaling smoke + + + Defines the beginning and ending file positions of a layer in an + LRCP-progression JPEG2000 file + - - + + + This structure is used to marshal both encoded and decoded images. + MUST MATCH THE STRUCT IN dotnet.h! + - - Agent taking a picture + + + Information about a single packet in a JPEG2000 stream + - - Agent standing + + Packet start position - - Agent standing up + + Packet header end position - - Agent standing + + Packet end position - - Agent standing + + + Represents a texture + - - Agent standing + + A object containing image data - - Agent standing + + - - Agent stretching + + - - Agent in stride (fast walk) + + Initializes a new instance of an AssetTexture object - - Agent surfing + + + Initializes a new instance of an AssetTexture object + + A unique specific to this asset + A byte array containing the raw asset data - - Agent acting surprised + + + Initializes a new instance of an AssetTexture object + + A object containing texture data - - Agent striking with a sword + + + Populates the byte array with a JPEG2000 + encoded image created from the data in + - - Agent talking (lips moving) + + + Decodes the JPEG2000 data in AssetData to the + object + + True if the decoding was successful, otherwise false - - Agent throwing a tantrum + + + Decodes the begin and end byte positions for each quality layer in + the image + + - - Agent throwing an object (right handed) + + Override the base classes AssetType - - Agent trying on a shirt + + + Represents an that represents an avatars body ie: Hair, Etc. + - - Agent turning to the left + + Initializes a new instance of an AssetBodyPart object - - Agent turning to the right + + Initializes a new instance of an AssetBodyPart object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - Agent typing + + Override the base classes AssetType - - Agent walking + + + + - - Agent whispering + + The avatar has no rights - - Agent whispering with fingers in mouth + + The avatar can see the online status of the target avatar - - Agent winking + + The avatar can see the location of the target avatar on the map - - Agent winking + + The avatar can modify the ojects of the target avatar - - Agent worried + + + This class holds information about an avatar in the friends list. There are two ways + to interface to this class. The first is through the set of boolean properties. This is the typical + way clients of this class will use it. The second interface is through two bitflag properties, + TheirFriendsRights and MyFriendsRights + - - Agent nodding yes + + + Used internally when building the initial list of friends at login time + + System ID of the avatar being prepesented + Rights the friend has to see you online and to modify your objects + Rights you have to see your friend online and to modify their objects - - Agent nodding yes with happy face + + + FriendInfo represented as a string + + A string reprentation of both my rights and my friends rights - - Agent floating with legs and arms crossed + + + System ID of the avatar + - + - A dictionary containing all pre-defined animations + full name of the avatar - A dictionary containing the pre-defined animations, - where the key is the animations ID, and the value is a string - containing a name to identify the purpose of the animation - + - Level of Detail mesh + True if the avatar is online - + - A linkset asset, containing a parent primitive and zero or more children + True if the friend can see if I am online - - Initializes a new instance of an AssetPrim object + + + True if the friend can see me on the map + - + - Initializes a new instance of an AssetPrim object + True if the freind can modify my objects - A unique specific to this asset - A byte array containing the raw asset data - + - + True if I can see if my friend is online - + - + True if I can see if my friend is on the map - - - Override the base classes AssetType + + + True if I can modify my friend's objects + - + - Only used internally for XML serialization/deserialization + My friend's rights represented as bitmapped flags - + - The deserialized form of a single primitive in a linkset asset + My rights represented as bitmapped flags - + - + This class is used to add and remove avatars from your friends list and to manage their permission. - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - - Raises the AttachedSound Event - A AttachedSoundEventArgs object containing - the data sent from the simulator + + Raises the FriendOnline event + A FriendInfoEventArgs object containing the + data returned from the data server - + Thread sync lock object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - - Raises the AttachedSoundGainChange Event - A AttachedSoundGainChangeEventArgs object containing - the data sent from the simulator + + Raises the FriendOffline event + A FriendInfoEventArgs object containing the + data returned from the data server - + Thread sync lock object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - - Raises the SoundTrigger Event - A SoundTriggerEventArgs object containing - the data sent from the simulator + + Raises the FriendRightsUpdate event + A FriendInfoEventArgs object containing the + data returned from the data server - + Thread sync lock object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - - Raises the PreloadSound Event - A PreloadSoundEventArgs object containing - the data sent from the simulator + + Raises the FriendNames event + A FriendNamesEventArgs object containing the + data returned from the data server - + Thread sync lock object - + + The event subscribers. null if no subcribers + + + Raises the FriendshipOffered event + A FriendshipOfferedEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendshipResponse event + A FriendshipResponseEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendshipTerminated event + A FriendshipTerminatedEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendFoundReply event + A FriendFoundReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + - Construct a new instance of the SoundManager class, used for playing and receiving - sound assets + A dictionary of key/value pairs containing known friends of this avatar. + + The Key is the of the friend, the value is a + object that contains detailed information including permissions you have and have given to the friend - A reference to the current GridClient instance - + - Plays a sound in the current region at full volume from avatar position + A Dictionary of key/value pairs containing current pending frienship offers. + + The key is the of the avatar making the request, + the value is the of the request which is used to accept + or decline the friendship offer + + + + + Internal constructor + + A reference to the GridClient Object + + + + Accept a friendship request + + agentID of avatatar to form friendship with + imSessionID of the friendship request message + + + + Decline a friendship request + + of friend + imSessionID of the friendship request message + + + + Overload: Offer friendship to an avatar. + + System ID of the avatar you are offering friendship to + + + + Offer friendship to an avatar. + + System ID of the avatar you are offering friendship to + A message to send with the request + + + + Terminate a friendship with an avatar + + System ID of the avatar you are terminating the friendship with + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + Change the rights of a friend avatar. - UUID of the sound to be played + the of the friend + the new rights to give the friend + This method will implicitly set the rights to those passed in the rights parameter. - + - Plays a sound in the current region at full volume + Use to map a friends location on the grid. - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. + Friends UUID to find + - + - Plays a sound in the current region + Use to track a friends movement on the grid - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 + Friends Key - + - Plays a sound in the specified sim + Ask for a notification of friend's online status - UUID of the sound to be played. - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 + Friend's UUID - + - Play a sound asset + This handles the asynchronous response of a RequestAvatarNames call. - UUID of the sound to be played. - handle id for the sim to be played in. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 + + names cooresponding to the the list of IDs sent the the RequestAvatarNames call. - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - - Raised when the simulator sends us data containing - sound - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Provides data for the event - The event occurs when the simulator sends - the sound data which emits from an agents attachment - - The following code example shows the process to subscribe to the event - and a stub to handle the data passed from the simulator - - // Subscribe to the AttachedSound event - Client.Sound.AttachedSound += Sound_AttachedSound; - - // process the data raised in the event here - private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) - { - // ... Process AttachedSoundEventArgs here ... - } - - - - + - Construct a new instance of the SoundTriggerEventArgs class + Populate FriendList with data from the login reply - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The volume level - The + true if login was successful + true if login request is requiring a redirect + A string containing the response to the login request + A string containing the reason for the request + A object containing the decoded + reply from the login server - - Simulator where the event originated + + Raised when the simulator sends notification one of the members in our friends list comes online - - Get the sound asset id + + Raised when the simulator sends notification one of the members in our friends list goes offline - - Get the ID of the owner + + Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions - - Get the ID of the Object + + Raised when the simulator sends us the names on our friends list - - Get the volume level + + Raised when the simulator sends notification another agent is offering us friendship - - Get the + + Raised when a request we sent to friend another agent is accepted or declined - - Provides data for the event - The event occurs when an attached sound - changes its volume level + + Raised when the simulator sends notification one of the members in our friends list has terminated + our friendship - - - Construct a new instance of the AttachedSoundGainChangedEventArgs class - - Simulator where the event originated - The ID of the Object - The new volume level + + Raised when the simulator sends the location of a friend we have + requested map location info for - - Simulator where the event originated + + Contains information on a member of our friends list - - Get the ID of the Object + + + Construct a new instance of the FriendInfoEventArgs class + + The FriendInfo - - Get the volume level + + Get the FriendInfo - - Provides data for the event - The event occurs when the simulator forwards - a request made by yourself or another agent to play either an asset sound or a built in sound - - Requests to play sounds where the is not one of the built-in - will require sending a request to download the sound asset before it can be played - - - The following code example uses the , - and - properties to display some information on a sound request on the window. - - // subscribe to the event - Client.Sound.SoundTrigger += Sound_SoundTrigger; - - // play the pre-defined BELL_TING sound - Client.Sound.SendSoundTrigger(Sounds.BELL_TING); - - // handle the response data - private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) - { - Console.WriteLine("{0} played the sound {1} at volume {2}", - e.OwnerID, e.SoundID, e.Gain); - } - - + + Contains Friend Names - + - Construct a new instance of the SoundTriggerEventArgs class + Construct a new instance of the FriendNamesEventArgs class - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The ID of the objects parent - The volume level - The regionhandle - The source position - - - Simulator where the event originated - - - Get the sound asset id + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name - - Get the ID of the owner + + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name - - Get the ID of the Object + + Sent when another agent requests a friendship with our agent - - Get the ID of the objects parent + + + Construct a new instance of the FriendshipOfferedEventArgs class + + The ID of the agent requesting friendship + The name of the agent requesting friendship + The ID of the session, used in accepting or declining the + friendship offer - - Get the volume level + + Get the ID of the agent requesting friendship - - Get the regionhandle + + Get the name of the agent requesting friendship - - Get the source position + + Get the ID of the session, used in accepting or declining the + friendship offer - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - + + A response containing the results of our request to form a friendship with another agent - + - Construct a new instance of the PreloadSoundEventArgs class + Construct a new instance of the FriendShipResponseEventArgs class - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object + The ID of the agent we requested a friendship with + The name of the agent we requested a friendship with + true if the agent accepted our friendship offer - - Simulator where the event originated + + Get the ID of the agent we requested a friendship with - - Get the sound asset id + + Get the name of the agent we requested a friendship with - - Get the ID of the owner + + true if the agent accepted our friendship offer - - Get the ID of the Object + + Contains data sent when a friend terminates a friendship with us - + - A Name Value pair with additional settings, used in the protocol - primarily to transmit avatar names and active group in object packets + Construct a new instance of the FrindshipTerminatedEventArgs class + The ID of the friend who terminated the friendship with us + The name of the friend who terminated the friendship with us - - - - - - - - - - - + + Get the ID of the agent that terminated the friendship with us - - + + Get the name of the agent that terminated the friendship with us - + - Constructor that takes all the fields as parameters + Data sent in response to a request which contains the information to allow us to map the friends location - - - - - - + - Constructor that takes a single line from a NameValue field + Construct a new instance of the FriendFoundReplyEventArgs class - + The ID of the agent we have requested location information for + The region handle where our friend is located + The simulator local position our friend is located - - Type of the value + + Get the ID of the agent we have received location information for - - Unknown + + Get the region handle where our mapped friend is located - - String value + + Get the simulator local position where our friend is located - - + + + + - - + + OK - + + Transfer completed + + - + - - Deprecated + + Unknown error occurred - - String value, but designated as an asset + + Equivalent to a 404 error - - + + Client does not have permission for that resource - + + Unknown status + + - - - - + - - + + Unknown - - + + Virtually all asset transfers use this channel - + - + - - + + Asset from the asset server - - + + Inventory item - + + Estate asset, such as an estate covenant + + + + + + + - + - - Describes tasks returned in LandStatReply + + - + - Estate level administration and utilities + When requesting image download, type of the image requested - - Textures for each of the four terrain height levels + + Normal in-world object texture - - Upper/lower texture boundaries for each corner of the sim + + Avatar texture - + + Server baked avatar texture + + - Constructor for EstateTools class + Image file format - - - The event subscribers. null if no subcribers + + + + - - Raises the TopCollidersReply event - A TopCollidersReplyEventArgs object containing the - data returned from the data server + + Number of milliseconds passed since the last transfer + packet was received - - Thread sync lock object + + + + - - The event subscribers. null if no subcribers + + + + - - Raises the TopScriptsReply event - A TopScriptsReplyEventArgs object containing the - data returned from the data server + + + + - - Thread sync lock object + + + + - - The event subscribers. null if no subcribers + + + + - - Raises the EstateUsersReply event - A EstateUsersReplyEventArgs object containing the - data returned from the data server + + + + + + + + - - Thread sync lock object + + + + - + + Number of milliseconds to wait for a transfer header packet if out of order data was received + + The event subscribers. null if no subcribers - - Raises the EstateGroupsReply event - A EstateGroupsReplyEventArgs object containing the - data returned from the data server + + Raises the XferReceived event + A XferReceivedEventArgs object containing the + data returned from the simulator - + Thread sync lock object - + The event subscribers. null if no subcribers - - Raises the EstateManagersReply event - A EstateManagersReplyEventArgs object containing the - data returned from the data server + + Raises the AssetUploaded event + A AssetUploadedEventArgs object containing the + data returned from the simulator - + Thread sync lock object - + The event subscribers. null if no subcribers - - Raises the EstateBansReply event - A EstateBansReplyEventArgs object containing the - data returned from the data server + + Raises the UploadProgress event + A UploadProgressEventArgs object containing the + data returned from the simulator - + Thread sync lock object - + The event subscribers. null if no subcribers - - Raises the EstateCovenantReply event - A EstateCovenantReplyEventArgs object containing the - data returned from the data server + + Raises the InitiateDownload event + A InitiateDownloadEventArgs object containing the + data returned from the simulator - + Thread sync lock object - + The event subscribers. null if no subcribers - - Raises the EstateUpdateInfoReply event - A EstateUpdateInfoReplyEventArgs object containing the - data returned from the data server + + Raises the ImageReceiveProgress event + A ImageReceiveProgressEventArgs object containing the + data returned from the simulator - + Thread sync lock object - + + Texture download cache + + - Requests estate information such as top scripts and colliders + Default constructor - - - - - - - Requests estate settings, including estate manager and access/ban lists + A reference to the GridClient object - - Requests the "Top Scripts" list for the current region + + + Request an asset download + + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + The callback to fire when the simulator responds with the asset data - - Requests the "Top Colliders" list for the current region + + + Request an asset download + + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + The callback to fire when the simulator responds with the asset data - + - Set several estate specific configuration variables + Request an asset download - The Height of the waterlevel over the entire estate. Defaults to 20 - The maximum height change allowed above the baked terrain. Defaults to 4 - The minimum height change allowed below the baked terrain. Defaults to -4 - true to use - if True forces the sun position to the position in SunPosition - The current position of the sun on the estate, or when FixedSun is true the static position - the sun will remain. 6.0 = Sunrise, 30.0 = Sunset + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + UUID of the transaction + The callback to fire when the simulator responds with the asset data - + - Request return of objects owned by specified avatar + Request an asset download through the almost deprecated Xfer system - The Agents owning the primitives to return - specify the coverage and type of objects to be included in the return - true to perform return on entire estate + Filename of the asset to request + Whether or not to delete the asset + off the server after it is retrieved + Use large transfer packets or not + UUID of the file to request, if filename is + left empty + Asset type of vFileID, or + AssetType.Unknown if filename is not empty + Sets the FilePath in the request to Cache + (4) if true, otherwise Unknown (0) is used + - - - - + + + + + Use UUID.Zero if you do not have the + asset ID but have all the necessary permissions + The item ID of this asset in the inventory + Use UUID.Zero if you are not requesting an + asset from an object inventory + The owner of this asset + Asset type + Whether to prioritize this asset download or not + - + - Used for setting and retrieving various estate panel settings + Used to force asset data into the PendingUpload property, ie: for raw terrain uploads - EstateOwnerMessage Method field - List of parameters to include + An AssetUpload object containing the data to upload to the simulator - + - Kick an avatar from an estate + Request an asset be uploaded to the simulator - Key of Agent to remove + The Object containing the asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - + - Ban an avatar from an estate - Key of Agent to remove - Ban user from this estate and all others owned by the estate owner + Request an asset be uploaded to the simulator + + The of the asset being uploaded + A byte array containing the encoded asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - - Unban an avatar from an estate - Key of Agent to remove - /// Unban user from this estate and all others owned by the estate owner + + + Request an asset be uploaded to the simulator + + + Asset type to upload this data as + A byte array containing the encoded asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - + - Send a message dialog to everyone in an entire estate + Initiate an asset upload - Message to send all users in the estate + The ID this asset will have if the + upload succeeds + Asset type to upload this data as + Raw asset data to upload + Whether to store this asset on the local + simulator or the grid-wide asset server + The tranaction id for the upload + The transaction ID of this transfer + + + + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress + transfer. + A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority + indicating an off-by-one error. + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request + + Request an image and fire a callback when the request is complete + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); + + private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); + } + } + + Request an image and use an inline anonymous method to handle the downloaded texture data + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); + } + } + ); + + Request a texture, decode the texture to a bitmap image and apply it to a imagebox + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); + + private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + ManagedImage imgData; + Image bitmap; + + if (state == TextureRequestState.Finished) + { + OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); + picInsignia.Image = bitmap; + } + } + } + + - + - Send a message dialog to everyone in a simulator + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator - Message to send all users in the simulator + The of the texture asset to download + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data - + - Send an avatar back to their home location + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator - Key of avatar to send home + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data - + - Begin the region restart process + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request - + - Cancels a region restart + Cancel a texture request + The texture assets - - Estate panel "Region" tab settings - - - Estate panel "Debug" tab settings - - - Used for setting the region's terrain textures for its four height levels - - - - - - - Used for setting sim terrain texture heights - - - Requests the estate covenant - - + - Upload a terrain RAW file + Requests download of a mesh asset - A byte array containing the encoded terrain data - The name of the file being uploaded - The Id of the transfer request + UUID of the mesh asset + Callback when the request completes - + - Teleports all users home in current Estate + Fetach avatar texture on a grid capable of server side baking + ID of the avatar + ID of the texture + Name of the part of the avatar texture applies to + Callback invoked on operation completion - + - Remove estate manager - Key of Agent to Remove - removes manager to this estate and all others owned by the estate owner + Lets TexturePipeline class fire the progress event + + The texture ID currently being downloaded + the number of bytes transferred + the total number of bytes expected - - - Add estate manager - Key of Agent to Add - Add agent as manager to this estate and all others owned by the estate owner + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Add's an agent to the estate Allowed list - Key of Agent to Add - Add agent as an allowed reisdent to All estates if true + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Removes an agent from the estate Allowed list - Key of Agent to Remove - Removes agent as an allowed reisdent from All estates if true + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - - Add's a group to the estate Allowed list - Key of Group to Add - Add Group as an allowed group to All estates if true + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - - Removes a group from the estate Allowed list - Key of Group to Remove - Removes Group as an allowed Group from All estates if true + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - - Raised when the data server responds to a request. + + Raised when the simulator responds sends - - Raised when the data server responds to a request. + + Raised during upload completes - - Raised when the data server responds to a request. + + Raised during upload with progres update - - Raised when the data server responds to a request. + + Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files - - Raised when the data server responds to a request. + + Fired when a texture is in the process of being downloaded by the TexturePipeline class - - Raised when the data server responds to a request. + + + Callback used for various asset download requests + + Transfer information + Downloaded asset, null on fail - - Raised when the data server responds to a request. + + + Callback used upon competition of baked texture upload + + Asset UUID of the newly uploaded baked texture - - Raised when the data server responds to a request. + + + A callback that fires upon the completition of the RequestMesh call + + Was the download successfull + Resulting mesh or null on problems - - Used in the ReportType field of a LandStatRequest + + Xfer data - - Used by EstateOwnerMessage packets + + Upload data - - Used by EstateOwnerMessage packets + + Filename used on the simulator - + + Filename used by the client + + + UUID of the image that is in progress + + + Number of bytes received so far + + + Image size in bytes + + + The event subscribers. null if no subcribers + + + Raises the LandPatchReceived event + A LandPatchReceivedEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + - + Default constructor + - - No flags set - - - Only return targets scripted objects + + Raised when the simulator responds sends - - Only return targets objects if on others land + + Simulator from that sent tha data - - Returns target's scripted objects and objects on other parcels + + Sim coordinate of the patch - - Ground texture settings for each corner of the region + + Sim coordinate of the patch - - Used by GroundTextureHeightSettings + + Size of tha patch - - The high and low texture thresholds for each corner of the sim + + Heightmap for the patch - - Raised on LandStatReply when the report type is for "top colliders" + + + Registers, unregisters, and fires events generated by incoming packets + - - Construct a new instance of the TopCollidersReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply + + Reference to the GridClient object - + - The number of returned items in LandStatReply + Default constructor + - + - A Dictionary of Object UUIDs to tasks returned in LandStatReply + Register an event handler + Use PacketType.Default to fire this event on every + incoming packet + Packet type to register the handler for + Callback to be fired + True if this callback should be ran + asynchronously, false to run it synchronous - - Raised on LandStatReply when the report type is for "top Scripts" - - - Construct a new instance of the TopScriptsReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply + + + Unregister an event handler + + Packet type to unregister the handler for + Callback to be unregistered - + - The number of scripts returned in LandStatReply + Fire the events registered for this packet type + Incoming packet type + Incoming packet + Simulator this packet was received from - + - A Dictionary of Object UUIDs to tasks returned in LandStatReply + Object that is passed to worker threads in the ThreadPool for + firing packet callbacks - - Returned, along with other info, upon a successful .RequestInfo() + + Callback to fire for this packet - - Construct a new instance of the EstateBansReplyEventArgs class - The estate's identifier on the grid - The number of returned items in LandStatReply - User UUIDs banned + + Reference to the simulator that this packet came from - + + The packet that needs to be processed + + - The identifier of the estate + Registers, unregisters, and fires events generated by the Capabilities + event queue - + + Reference to the GridClient object + + - The number of returned itmes + Default constructor + Reference to the GridClient object - + - List of UUIDs of Banned Users + Register an new event handler for a capabilities event sent via the EventQueue + Use String.Empty to fire this event on every CAPS event + Capability event name to register the + handler for + Callback to fire - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateUsersReplyEventArgs class - The estate's identifier on the grid - The number of users - Allowed users UUIDs + + + Unregister a previously registered capabilities handler + + Capability event name unregister the + handler for + Callback to unregister - + - The identifier of the estate + Fire the events registered for this event type synchronously + Capability name + Decoded event body + Reference to the simulator that + generated this event - + - The number of returned items + Fire the events registered for this event type asynchronously + Capability name + Decoded event body + Reference to the simulator that + generated this event - + - List of UUIDs of Allowed Users + Object that is passed to worker threads in the ThreadPool for + firing CAPS callbacks - - Returned, along with other info, upon a successful .RequestInfo() + + Callback to fire for this packet - - Construct a new instance of the EstateGroupsReplyEventArgs class - The estate's identifier on the grid - The number of Groups - Allowed Groups UUIDs + + Name of the CAPS event - - - The identifier of the estate - + + Strongly typed decoded data - + + Reference to the simulator that generated this event + + + Describes tasks returned in LandStatReply + + - The number of returned items + Estate level administration and utilities - + + Textures for each of the four terrain height levels + + + Upper/lower texture boundaries for each corner of the sim + + - List of UUIDs of Allowed Groups + Constructor for EstateTools class + - - Returned, along with other info, upon a successful .RequestInfo() + + The event subscribers. null if no subcribers - - Construct a new instance of the EstateManagersReplyEventArgs class - The estate's identifier on the grid - The number of Managers - Managers UUIDs + + Raises the TopCollidersReply event + A TopCollidersReplyEventArgs object containing the + data returned from the data server - + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the TopScriptsReply event + A TopScriptsReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the EstateUsersReply event + A EstateUsersReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the EstateGroupsReply event + A EstateGroupsReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the EstateManagersReply event + A EstateManagersReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the EstateBansReply event + A EstateBansReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the EstateCovenantReply event + A EstateCovenantReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the EstateUpdateInfoReply event + A EstateUpdateInfoReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + - The identifier of the estate + Requests estate information such as top scripts and colliders + + + + + + + Requests estate settings, including estate manager and access/ban lists + + + Requests the "Top Scripts" list for the current region + + + Requests the "Top Colliders" list for the current region - + - The number of returned items + Set several estate specific configuration variables + The Height of the waterlevel over the entire estate. Defaults to 20 + The maximum height change allowed above the baked terrain. Defaults to 4 + The minimum height change allowed below the baked terrain. Defaults to -4 + true to use + if True forces the sun position to the position in SunPosition + The current position of the sun on the estate, or when FixedSun is true the static position + the sun will remain. 6.0 = Sunrise, 30.0 = Sunset - + - List of UUIDs of the Estate's Managers + Request return of objects owned by specified avatar + The Agents owning the primitives to return + specify the coverage and type of objects to be included in the return + true to perform return on entire estate - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateCovenantReplyEventArgs class - The Covenant ID - The timestamp - The estate's name - The Estate Owner's ID (can be a GroupID) + + + + - + - The Covenant + Used for setting and retrieving various estate panel settings + EstateOwnerMessage Method field + List of parameters to include - + - The timestamp + Kick an avatar from an estate + Key of Agent to remove - + - The Estate name - + Ban an avatar from an estate + Key of Agent to remove + Ban user from this estate and all others owned by the estate owner - + + Unban an avatar from an estate + Key of Agent to remove + /// Unban user from this estate and all others owned by the estate owner + + - The Estate Owner's ID (can be a GroupID) + Send a message dialog to everyone in an entire estate + Message to send all users in the estate - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateUpdateInfoReplyEventArgs class - The estate's name - The Estate Owners ID (can be a GroupID) - The estate's identifier on the grid - - - + - The estate's name + Send a message dialog to everyone in a simulator + Message to send all users in the simulator - + - The Estate Owner's ID (can be a GroupID) + Send an avatar back to their home location + Key of avatar to send home - + - The identifier of the estate on the grid + Begin the region restart process - - - - + - Holds group information for Avatars such as those you might find in a profile + Cancels a region restart - - true of Avatar accepts group notices - - - Groups Key - - - Texture Key for groups insignia + + Estate panel "Region" tab settings - - Name of the group + + Estate panel "Debug" tab settings - - Powers avatar has in the group + + Used for setting the region's terrain textures for its four height levels + + + + - - Avatars Currently selected title + + Used for setting sim terrain texture heights - - true of Avatar has chosen to list this in their profile + + Requests the estate covenant - + - Contains an animation currently being played by an agent + Upload a terrain RAW file + A byte array containing the encoded terrain data + The name of the file being uploaded + The Id of the transfer request - - The ID of the animation asset - - - A number to indicate start order of currently playing animations - On Linden Grids this number is unique per region, with OpenSim it is per client - - - - - + - Holds group information on an individual profile pick + Teleports all users home in current Estate - + - Retrieve friend status notifications, and retrieve avatar names and - profiles - - - - The event subscribers, null of no subscribers - - - Raises the AvatarAnimation Event - An AvatarAnimationEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarAppearance Event - A AvatarAppearanceEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the UUIDNameReply Event - A UUIDNameReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarInterestsReply Event - A AvatarInterestsReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarPropertiesReply Event - A AvatarPropertiesReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object + Remove estate manager + Key of Agent to Remove + removes manager to this estate and all others owned by the estate owner - - The event subscribers, null of no subscribers + + + Add estate manager + Key of Agent to Add + Add agent as manager to this estate and all others owned by the estate owner - - Raises the AvatarGroupsReply Event - A AvatarGroupsReplyEventArgs object containing - the data sent from the simulator + + + Add's an agent to the estate Allowed list + Key of Agent to Add + Add agent as an allowed reisdent to All estates if true - - Thread sync lock object + + + Removes an agent from the estate Allowed list + Key of Agent to Remove + Removes agent as an allowed reisdent from All estates if true - - The event subscribers, null of no subscribers + + + + Add's a group to the estate Allowed list + Key of Group to Add + Add Group as an allowed group to All estates if true - - Raises the AvatarPickerReply Event - A AvatarPickerReplyEventArgs object containing - the data sent from the simulator + + + + Removes a group from the estate Allowed list + Key of Group to Remove + Removes Group as an allowed Group from All estates if true - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers, null of no subscribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Raises the ViewerEffectPointAt Event - A ViewerEffectPointAtEventArgs object containing - the data sent from the simulator + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Thread sync lock object + + Raised when the data server responds to a request. - - The event subscribers, null of no subscribers + + Raised when the data server responds to a request. - - Raises the ViewerEffectLookAt Event - A ViewerEffectLookAtEventArgs object containing - the data sent from the simulator + + Raised when the data server responds to a request. - - Thread sync lock object + + Raised when the data server responds to a request. - - The event subscribers, null of no subscribers + + Raised when the data server responds to a request. - - Raises the ViewerEffect Event - A ViewerEffectEventArgs object containing - the data sent from the simulator + + Raised when the data server responds to a request. - - Thread sync lock object + + Raised when the data server responds to a request. - - The event subscribers, null of no subscribers + + Raised when the data server responds to a request. - - Raises the AvatarPicksReply Event - A AvatarPicksReplyEventArgs object containing - the data sent from the simulator + + Used in the ReportType field of a LandStatRequest - - Thread sync lock object + + Used by EstateOwnerMessage packets - - The event subscribers, null of no subscribers + + Used by EstateOwnerMessage packets - - Raises the PickInfoReply Event - A PickInfoReplyEventArgs object containing - the data sent from the simulator + + + + - - Thread sync lock object + + No flags set - - The event subscribers, null of no subscribers + + Only return targets scripted objects - - Raises the AvatarClassifiedReply Event - A AvatarClassifiedReplyEventArgs object containing - the data sent from the simulator + + Only return targets objects if on others land - - Thread sync lock object + + Returns target's scripted objects and objects on other parcels - - The event subscribers, null of no subscribers + + Ground texture settings for each corner of the region - - Raises the ClassifiedInfoReply Event - A ClassifiedInfoReplyEventArgs object containing - the data sent from the simulator + + Used by GroundTextureHeightSettings - - Thread sync lock object + + The high and low texture thresholds for each corner of the sim - - - Represents other avatars - - + + Raised on LandStatReply when the report type is for "top colliders" - - Tracks the specified avatar on your map - Avatar ID to track + + Construct a new instance of the TopCollidersReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply - + - Request a single avatar name + The number of returned items in LandStatReply - The avatar key to retrieve a name for - + - Request a list of avatar names + A Dictionary of Object UUIDs to tasks returned in LandStatReply - The avatar keys to retrieve names for - - - Start a request for Avatar Properties - - + + Raised on LandStatReply when the report type is for "top Scripts" - + + Construct a new instance of the TopScriptsReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply + + - Search for an avatar (first name, last name) + The number of scripts returned in LandStatReply - The name to search for - An ID to associate with this query - + - Start a request for Avatar Picks + A Dictionary of Object UUIDs to tasks returned in LandStatReply - UUID of the avatar - + + Returned, along with other info, upon a successful .RequestInfo() + + + Construct a new instance of the EstateBansReplyEventArgs class + The estate's identifier on the grid + The number of returned items in LandStatReply + User UUIDs banned + + - Start a request for Avatar Classifieds + The identifier of the estate - UUID of the avatar - + - Start a request for details of a specific profile pick + The number of returned itmes - UUID of the avatar - UUID of the profile pick - + - Start a request for details of a specific profile classified + List of UUIDs of Banned Users - UUID of the avatar - UUID of the profile classified - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Returned, along with other info, upon a successful .RequestInfo() - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Construct a new instance of the EstateUsersReplyEventArgs class + The estate's identifier on the grid + The number of users + Allowed users UUIDs - + - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. + The identifier of the estate - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + The number of returned items + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + List of UUIDs of Allowed Users + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Returned, along with other info, upon a successful .RequestInfo() - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Construct a new instance of the EstateGroupsReplyEventArgs class + The estate's identifier on the grid + The number of Groups + Allowed Groups UUIDs - - Raised when the simulator sends us data containing - an agents animation playlist + + + The identifier of the estate + - - Raised when the simulator sends us data containing - the appearance information for an agent + + + The number of returned items + - - Raised when the simulator sends us data containing - agent names/id values + + + List of UUIDs of Allowed Groups + - - Raised when the simulator sends us data containing - the interests listed in an agents profile + + Returned, along with other info, upon a successful .RequestInfo() - - Raised when the simulator sends us data containing - profile property information for an agent + + Construct a new instance of the EstateManagersReplyEventArgs class + The estate's identifier on the grid + The number of Managers + Managers UUIDs - - Raised when the simulator sends us data containing - the group membership an agent is a member of + + + The identifier of the estate + - - Raised when the simulator sends us data containing - name/id pair + + + The number of returned items + - - Raised when the simulator sends us data containing - the objects and effect when an agent is pointing at + + + List of UUIDs of the Estate's Managers + - - Raised when the simulator sends us data containing - the objects and effect when an agent is looking at + + Returned, along with other info, upon a successful .RequestInfo() - - Raised when the simulator sends us data containing - an agents viewer effect information + + Construct a new instance of the EstateCovenantReplyEventArgs class + The Covenant ID + The timestamp + The estate's name + The Estate Owner's ID (can be a GroupID) - - Raised when the simulator sends us data containing - the top picks from an agents profile + + + The Covenant + - - Raised when the simulator sends us data containing - the Pick details + + + The timestamp + - - Raised when the simulator sends us data containing - the classified ads an agent has placed + + + The Estate name + - - Raised when the simulator sends us data containing - the details of a classified ad + + + The Estate Owner's ID (can be a GroupID) + - - Provides data for the event - The event occurs when the simulator sends - the animation playlist for an agent - - The following code example uses the and - properties to display the animation playlist of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; - - private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) - { - // create a dictionary of "known" animations from the Animations class using System.Reflection - Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); - Type type = typeof(Animations); - System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); - foreach (System.Reflection.FieldInfo field in fields) - { - systemAnimations.Add((UUID)field.GetValue(type), field.Name); - } - - // find out which animations being played are known animations and which are assets - foreach (Animation animation in e.Animations) - { - if (systemAnimations.ContainsKey(animation.AnimationID)) - { - Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, - systemAnimations[animation.AnimationID], animation.AnimationSequence); - } - else - { - Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, - animation.AnimationID, animation.AnimationSequence); - } - } - } - - + + Returned, along with other info, upon a successful .RequestInfo() - + + Construct a new instance of the EstateUpdateInfoReplyEventArgs class + The estate's name + The Estate Owners ID (can be a GroupID) + The estate's identifier on the grid + + + - Construct a new instance of the AvatarAnimationEventArgs class + The estate's name - The ID of the agent - The list of animations to start - - Get the ID of the agent + + + The Estate Owner's ID (can be a GroupID) + - - Get the list of animations to start + + + The identifier of the estate on the grid + - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - + + - + - Construct a new instance of the AvatarAppearanceEventArgs class + Represends individual HTTP Download request - The simulator request was from - The ID of the agent - true of the agent is a trial account - The default agent texture - The agents appearance layer textures - The for the agent - - Get the Simulator this request is from of the agent + + URI of the item to fetch - - Get the ID of the agent + + Timout specified in milliseconds - - true if the agent is a trial account + + Download progress callback - - Get the default agent texture + + Download completed callback - - Get the agents appearance layer textures + + Accept the following content type - - Get the for the agent + + How many times will this request be retried - - Represents the interests from the profile of an agent + + Current fetch attempt - - Get the ID of the agent + + Default constructor - - The properties of an agent + + Constructor - - Get the ID of the agent + + + Manages async HTTP downloads with a limit on maximum + concurrent downloads + - - Get the ID of the agent + + Default constructor - - Get the ID of the agent + + Cleanup method - - Get the ID of the avatar + + Setup http download request + + + Check the queue for pending work + + + Enqueue a new HTPP download + + + Maximum number of parallel downloads from a single endpoint + + + Client certificate diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 3e210ba..9054a99 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverse.dll.config b/bin/OpenMetaverse.dll.config index f5423b2..6b7b999 100644 --- a/bin/OpenMetaverse.dll.config +++ b/bin/OpenMetaverse.dll.config @@ -1,5 +1,7 @@ - - - + + + + + diff --git a/bin/OpenMetaverseTypes.XML b/bin/OpenMetaverseTypes.XML index befc8d4..7d00b1b 100644 --- a/bin/OpenMetaverseTypes.XML +++ b/bin/OpenMetaverseTypes.XML @@ -4,114 +4,65 @@ OpenMetaverseTypes - + - A three-dimensional vector with doubleing-point values + A thread-safe lockless queue that supports multiple readers and + multiple writers - - X value - - - Y value - - - Z value - - - - Constructor, builds a vector from a byte array - - Byte array containing three eight-byte doubles - Beginning position in the byte array + + Queue head - - - Test if this vector is equal to another vector, within a given - tolerance range - - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false + + Queue tail - - - IComparable.CompareTo implementation - + + Queue item count - + - Test if this vector is composed of all finite numbers + Constructor - + - Builds a vector from a byte array + Enqueue an item - Byte array containing a 24 byte vector - Beginning position in the byte array + Item to enqeue - + - Returns the raw bytes for this vector + Try to dequeue an item - A 24 byte array containing X, Y, and Z + Dequeued item if the dequeue was successful + True if an item was successfully deqeued, otherwise false - - - Writes the raw bytes for this vector to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 24 bytes before the end of the array + + Gets the current number of items in the queue. Since this + is a lockless collection this value should be treated as a close + estimate - + - Parse a vector from a string + Provides a node container for data in a singly linked list - A string representation of a 3D vector, enclosed - in arrow brackets and separated by commas - - - Interpolates between two vectors using a cubic equation - + + Pointer to the next node in list - - - Get a formatted string representation of the vector - - A string representation of the vector + + The data contained by the node - + - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only + Constructor - Raw string representation of the vector - + - Cross product between two vectors + Constructor - - A vector with a value of 0,0,0 - - - A vector with a value of 1,1,1 - - - A unit vector facing forward (X axis), value of 1,0,0 - - - A unit vector facing left (Y axis), value of 0,1,0 - - - A unit vector facing up (Z axis), value of 0,0,1 - Attribute class that allows extra attributes to be attached to ENUMs @@ -235,6 +186,15 @@ Linden mesh format + + Marketplace direct delivery inbox ("Received Items") + + + Marketplace direct delivery outbox + + + + Inventory Item Types, eg Script, Notecard, Folder, etc @@ -355,292 +315,259 @@ Tattoo + + Physics + Invalid wearable asset - + - A hierarchical token bucket for bandwidth throttling. See - http://en.wikipedia.org/wiki/Token_bucket for more information + An 8-bit color structure including an alpha channel - - Parent bucket to this bucket, or null if this is a root - bucket + + Red - - Size of the bucket in bytes. If zero, the bucket has - infinite capacity + + Green - - Rate that the bucket fills, in bytes per millisecond. If - zero, the bucket always remains full + + Blue - - Number of tokens currently in the bucket + + Alpha - - Time of the last drip, in system ticks + + + + + + + + - + - Default constructor + Builds a color from a byte array - Parent bucket if this is a child bucket, or - null if this is a root bucket - Maximum size of the bucket in bytes, or - zero if this bucket has no maximum capacity - Rate that the bucket fills, in bytes per - second. If zero, the bucket always remains full + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 - + - Remove a given number of tokens from the bucket + Returns the raw bytes for this vector - Number of tokens to remove from the bucket - True if the requested number of tokens were removed from - the bucket, otherwise false + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + True if the alpha value is inverted in + addition to whatever the inverted parameter is. Setting inverted true + and alphaInverted true will flip the alpha value back to non-inverted, + but keep the other color bytes inverted + A 16 byte array containing R, G, B, and A - + - Remove a given number of tokens from the bucket + Copy constructor - Number of tokens to remove from the bucket - True if tokens were added to the bucket - during this call, otherwise false - True if the requested number of tokens were removed from - the bucket, otherwise false + Color to copy - + - Add tokens to the bucket over time. The number of tokens added each - call depends on the length of time that has passed since the last - call to Drip + IComparable.CompareTo implementation - True if tokens were added to the bucket, otherwise false + Sorting ends up like this: |--Grayscale--||--Color--|. + Alpha is only used when the colors are otherwise equivalent - + - The parent bucket of this bucket, or null if this bucket has no - parent. The parent bucket will limit the aggregate bandwidth of all - of its children buckets + Builds a color from a byte array + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + True if the alpha value is inverted in + addition to whatever the inverted parameter is. Setting inverted true + and alphaInverted true will flip the alpha value back to non-inverted, + but keep the other color bytes inverted - + - Maximum burst rate in bytes per second. This is the maximum number - of tokens that can accumulate in the bucket at any one time + Writes the raw bytes for this color to a byte array + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array - + - The speed limit of this bucket in bytes per second. This is the - number of tokens that are added to the bucket per second + Serializes this color into four bytes in a byte array - Tokens are added to the bucket any time - is called, at the granularity of - the system tick interval (typically around 15-22ms) + Destination byte array + Position in the destination array to start + writing. Must be at least 4 bytes before the end of the array + True to invert the output (1.0 becomes 0 + instead of 255) - + - The number of bytes that can be sent at this moment. This is the - current number of tokens in the bucket - If this bucket has a parent bucket that does not have - enough tokens for a request, will - return false regardless of the content of this bucket + Writes the raw bytes for this color to a byte array + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array - + - A thread-safe lockless queue that supports multiple readers and - multiple writers + Ensures that values are in range 0-1 - - Queue head - - - Queue tail - - - Queue item count - - + - Constructor + Create an RGB color from a hue, saturation, value combination + Hue + Saturation + Value + An fully opaque RGB color (alpha is 1.0) - + - Enqueue an item + Performs linear interpolation between two colors - Item to enqeue + Color to start at + Color to end at + Amount to interpolate + The interpolated color - - - Try to dequeue an item - - Dequeued item if the dequeue was successful - True if an item was successfully deqeued, otherwise false + + A Color4 with zero RGB values and fully opaque (alpha 1.0) - - Gets the current number of items in the queue. Since this - is a lockless collection this value should be treated as a close - estimate + + A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) - + - Provides a node container for data in a singly linked list + A three-dimensional vector with doubleing-point values - - Pointer to the next node in list + + X value - - The data contained by the node + + Y value - + + Z value + + - Constructor + Constructor, builds a vector from a byte array + Byte array containing three eight-byte doubles + Beginning position in the byte array - + - Constructor + Test if this vector is equal to another vector, within a given + tolerance range + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false - + - An 8-bit color structure including an alpha channel + IComparable.CompareTo implementation - - Red - - - Green - - - Blue - - - Alpha - - + - + Test if this vector is composed of all finite numbers - - - - - + - Builds a color from a byte array + Builds a vector from a byte array - Byte array containing a 16 byte color + Byte array containing a 24 byte vector Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - + Returns the raw bytes for this vector - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted - A 16 byte array containing R, G, B, and A + A 24 byte array containing X, Y, and Z - + - Copy constructor + Writes the raw bytes for this vector to a byte array - Color to copy + Destination byte array + Position in the destination array to start + writing. Must be at least 24 bytes before the end of the array - + - IComparable.CompareTo implementation + Parse a vector from a string - Sorting ends up like this: |--Grayscale--||--Color--|. - Alpha is only used when the colors are otherwise equivalent + A string representation of a 3D vector, enclosed + in arrow brackets and separated by commas - + - Builds a color from a byte array + Interpolates between two vectors using a cubic equation - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted - + - Writes the raw bytes for this color to a byte array + Get a formatted string representation of the vector - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array + A string representation of the vector - + - Serializes this color into four bytes in a byte array + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only - Destination byte array - Position in the destination array to start - writing. Must be at least 4 bytes before the end of the array - True to invert the output (1.0 becomes 0 - instead of 255) + Raw string representation of the vector - + - Writes the raw bytes for this color to a byte array + Cross product between two vectors - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - + - Ensures that values are in range 0-1 + Implicit casting for Vector3 > Vector3d + + - - - Create an RGB color from a hue, saturation, value combination - - Hue - Saturation - Value - An fully opaque RGB color (alpha is 1.0) + + A vector with a value of 0,0,0 - - - Performs linear interpolation between two colors - - Color to start at - Color to end at - Amount to interpolate - The interpolated color + + A vector with a value of 1,1,1 - - A Color4 with zero RGB values and fully opaque (alpha 1.0) + + A unit vector facing forward (X axis), value of 1,0,0 - - A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) + + A unit vector facing left (Y axis), value of 0,1,0 + + + A unit vector facing up (Z axis), value of 0,0,1 @@ -661,193 +588,218 @@ Before the wait 'numWaiters' is incremented and is restored before leaving this routine. - + + X value + + + Y value + + + Z value + + + W value + + - Copy constructor + Build a quaternion from normalized float values - Circular queue to copy + X value from -1.0 to 1.0 + Y value from -1.0 to 1.0 + Z value from -1.0 to 1.0 - + - A 128-bit Universally Unique Identifier, used throughout the Second - Life networking protocol + Constructor, builds a quaternion object from a byte array + Byte array containing four four-byte floats + Offset in the byte array to start reading at + Whether the source data is normalized or + not. If this is true 12 bytes will be read, otherwise 16 bytes will + be read. - - The System.Guid object this struct wraps around + + + Normalizes the quaternion + - + - Constructor that takes a string UUID representation + Builds a quaternion object from a byte array - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") + The source byte array + Offset in the byte array to start reading at + Whether the source data is normalized or + not. If this is true 12 bytes will be read, otherwise 16 bytes will + be read. - + - Constructor that takes a System.Guid object + Normalize this quaternion and serialize it to a byte array - A Guid object that contains the unique identifier - to be represented by this UUID + A 12 byte array containing normalized X, Y, and Z floating + point values in order using little endian byte ordering - + - Constructor that takes a byte array containing a UUID + Writes the raw bytes for this quaternion to a byte array - Byte array containing a 16 byte UUID - Beginning offset in the array + Destination byte array + Position in the destination array to start + writing. Must be at least 12 bytes before the end of the array - + - Constructor that takes an unsigned 64-bit unsigned integer to - convert to a UUID + Convert this quaternion to euler angles - 64-bit unsigned integer to convert to a UUID + X euler angle + Y euler angle + Z euler angle - + - Copy constructor + Convert this quaternion to an angle around an axis - UUID to copy + Unit vector describing the axis + Angle around the axis, in radians - + - IComparable.CompareTo implementation + Returns the conjugate (spatial inverse) of a quaternion - + - Assigns this UUID from 16 bytes out of a byte array + Build a quaternion from an axis and an angle of rotation around + that axis - Byte array containing the UUID to assign this UUID to - Starting position of the UUID in the byte array - + - Returns a copy of the raw bytes for this UUID + Build a quaternion from an axis and an angle of rotation around + that axis - A 16 byte array containing this UUID + Axis of rotation + Angle of rotation - + - Writes the raw bytes for this UUID to a byte array + Creates a quaternion from a vector containing roll, pitch, and yaw + in radians - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array + Vector representation of the euler angles in + radians + Quaternion representation of the euler angles - + - Calculate an LLCRC (cyclic redundancy check) for this UUID + Creates a quaternion from roll, pitch, and yaw euler angles in + radians - The CRC checksum for this UUID + X angle in radians + Y angle in radians + Z angle in radians + Quaternion representation of the euler angles - + - Create a 64-bit integer representation from the second half of this UUID + Conjugates and renormalizes a vector - An integer created from the last eight bytes of this UUID - + - Generate a UUID from a string + Spherical linear interpolation between two quaternions - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") - + - Generate a UUID from a string + Get a string representation of the quaternion elements with up to three + decimal digits and separated by spaces only - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - Will contain the parsed UUID if successful, - otherwise null - True if the string was successfully parse, otherwise false - UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) + Raw string representation of the quaternion - + + A quaternion with a value of 0,0,0,1 + + - Combine two UUIDs together by taking the MD5 hash of a byte array - containing both UUIDs + Copy constructor - First UUID to combine - Second UUID to combine - The UUID product of the combination + Circular queue to copy - + - + Same as Queue except Dequeue function blocks until there is an object to return. + Note: This class does not need to be synchronized - - + - Return a hash code for this UUID, used by .NET for hash tables + Create new BlockingQueue. - An integer composed of all the UUID bytes XORed together + The System.Collections.ICollection to copy elements from - + - Comparison function + Create new BlockingQueue. - An object to compare to this UUID - True if the object is a UUID and both UUIDs are equal + The initial number of elements that the queue can contain - + - Comparison function + Create new BlockingQueue. - UUID to compare to - True if the UUIDs are equal, otherwise false - + + + BlockingQueue Destructor (Close queue, resume any waiting thread). + + + + + Remove all objects from the Queue. + + + + + Remove all objects from the Queue, resume all dequeue threads. + + + + + Removes and returns the object at the beginning of the Queue. + + Object in queue. + + - Get a hyphenated string representation of this UUID + Removes and returns the object at the beginning of the Queue. - A string representation of this UUID, lowercase and - with hyphens - 11f8aa9c-b071-4242-836b-13b7abe0d489 + time to wait before returning + Object in queue. - + - Equals operator + Removes and returns the object at the beginning of the Queue. - First UUID for comparison - Second UUID for comparison - True if the UUIDs are byte for byte equal, otherwise false + time to wait before returning (in milliseconds) + Object in queue. - + - Not equals operator + Adds an object to the end of the Queue - First UUID for comparison - Second UUID for comparison - True if the UUIDs are not equal, otherwise true + Object to put in queue - + - XOR operator + Open Queue. - First UUID - Second UUID - A UUID that is a XOR combination of the two input UUIDs - + - String typecasting operator + Gets flag indicating if queue has been closed. - A UUID in string form. Case insensitive, - hyphenated or non-hyphenated - A UUID built from the string representation - - - An UUID with a value of all zeroes - - - A cache of UUID.Zero as a string to optimize a common path Used for converting degrees to radians @@ -1378,284 +1330,122 @@ A DateTime object containing the same time specified in the given timestamp - - - Convert a native DateTime object to a UNIX timestamp - - A DateTime object you want to convert to a - timestamp - An unsigned integer representing a UNIX timestamp - - - - Swap two values - - Type of the values to swap - First value - Second value - - - - Try to parse an enumeration value from a string - - Enumeration type - String value to parse - Enumeration value on success - True if the parsing succeeded, otherwise false - - - - Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa - - Byte to swap the words in - Byte value with the words swapped - - - - Attempts to convert a string representation of a hostname or IP - address to a - - Hostname to convert to an IPAddress - Converted IP address object, or null if the conversion - failed - - - - Operating system - - - - Unknown - - - Microsoft Windows - - - Microsoft Windows CE - - - Linux - - - Apple OSX - - - - Runtime platform - - - - .NET runtime - - - Mono runtime: http://www.mono-project.com/ - - - X value - - - Y value - - - Z value - - - W value - - - - Build a quaternion from normalized float values - - X value from -1.0 to 1.0 - Y value from -1.0 to 1.0 - Z value from -1.0 to 1.0 - - - - Constructor, builds a quaternion object from a byte array - - Byte array containing four four-byte floats - Offset in the byte array to start reading at - Whether the source data is normalized or - not. If this is true 12 bytes will be read, otherwise 16 bytes will - be read. - - - - Normalizes the quaternion - - - - - Builds a quaternion object from a byte array - - The source byte array - Offset in the byte array to start reading at - Whether the source data is normalized or - not. If this is true 12 bytes will be read, otherwise 16 bytes will - be read. - - - - Normalize this quaternion and serialize it to a byte array - - A 12 byte array containing normalized X, Y, and Z floating - point values in order using little endian byte ordering - - - - Writes the raw bytes for this quaternion to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 12 bytes before the end of the array - - - - Convert this quaternion to euler angles - - X euler angle - Y euler angle - Z euler angle - - - - Convert this quaternion to an angle around an axis - - Unit vector describing the axis - Angle around the axis, in radians - - - - Returns the conjugate (spatial inverse) of a quaternion - - - - - Build a quaternion from an axis and an angle of rotation around - that axis - - - - - Build a quaternion from an axis and an angle of rotation around - that axis - - Axis of rotation - Angle of rotation - - - - Creates a quaternion from a vector containing roll, pitch, and yaw - in radians - - Vector representation of the euler angles in - radians - Quaternion representation of the euler angles - - - - Creates a quaternion from roll, pitch, and yaw euler angles in - radians - - X angle in radians - Y angle in radians - Z angle in radians - Quaternion representation of the euler angles - - - - Conjugates and renormalizes a vector - - - - - Spherical linear interpolation between two quaternions - - - - - Get a string representation of the quaternion elements with up to three - decimal digits and separated by spaces only - - Raw string representation of the quaternion - - - A quaternion with a value of 0,0,0,1 - - - - Same as Queue except Dequeue function blocks until there is an object to return. - Note: This class does not need to be synchronized - - - + - Create new BlockingQueue. + Convert a native DateTime object to a UNIX timestamp - The System.Collections.ICollection to copy elements from + A DateTime object you want to convert to a + timestamp + An unsigned integer representing a UNIX timestamp - + - Create new BlockingQueue. + Swap two values - The initial number of elements that the queue can contain + Type of the values to swap + First value + Second value - + - Create new BlockingQueue. + Try to parse an enumeration value from a string + Enumeration type + String value to parse + Enumeration value on success + True if the parsing succeeded, otherwise false - + - BlockingQueue Destructor (Close queue, resume any waiting thread). + Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa + Byte to swap the words in + Byte value with the words swapped - + - Remove all objects from the Queue. + Attempts to convert a string representation of a hostname or IP + address to a + Hostname to convert to an IPAddress + Converted IP address object, or null if the conversion + failed - + - Remove all objects from the Queue, resume all dequeue threads. + Operating system - + + Unknown + + + Microsoft Windows + + + Microsoft Windows CE + + + Linux + + + Apple OSX + + - Removes and returns the object at the beginning of the Queue. + Runtime platform - Object in queue. - + + .NET runtime + + + Mono runtime: http://www.mono-project.com/ + + + For thread safety + + + For thread safety + + - Removes and returns the object at the beginning of the Queue. + Purges expired objects from the cache. Called automatically by the purge timer. - time to wait before returning - Object in queue. - + - Removes and returns the object at the beginning of the Queue. + Convert this matrix to euler rotations - time to wait before returning (in milliseconds) - Object in queue. + X euler angle + Y euler angle + Z euler angle - + - Adds an object to the end of the Queue + Convert this matrix to a quaternion rotation - Object to put in queue + A quaternion representation of this rotation matrix - + - Open Queue. + Construct a matrix from euler rotation values in radians + X euler angle in radians + Y euler angle in radians + Z euler angle in radians - + - Gets flag indicating if queue has been closed. + Get a formatted string representation of the vector + A string representation of the vector + + + A 4x4 matrix containing all zeroes + + + A 4x4 identity matrix @@ -1709,136 +1499,273 @@ The number of concurrent execution threads to run A series of method bodies to execute - + + X value + + + Y value + + + Z value + + + W value + + - Convert this matrix to euler rotations + Constructor, builds a vector from a byte array - X euler angle - Y euler angle - Z euler angle + Byte array containing four four-byte floats + Beginning position in the byte array - + - Convert this matrix to a quaternion rotation + Test if this vector is equal to another vector, within a given + tolerance range - A quaternion representation of this rotation matrix + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false - + - Construct a matrix from euler rotation values in radians + IComparable.CompareTo implementation - X euler angle in radians - Y euler angle in radians - Z euler angle in radians - + - Get a formatted string representation of the vector + Test if this vector is composed of all finite numbers - A string representation of the vector - - A 4x4 matrix containing all zeroes + + + Builds a vector from a byte array + + Byte array containing a 16 byte vector + Beginning position in the byte array - - A 4x4 identity matrix + + + Returns the raw bytes for this vector + + A 16 byte array containing X, Y, Z, and W - - X value + + + Writes the raw bytes for this vector to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array - - Y value + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector - - Z value + + A vector with a value of 0,0,0,0 - - W value + + A vector with a value of 1,1,1,1 + + + A vector with a value of 1,0,0,0 + + + A vector with a value of 0,1,0,0 + + + A vector with a value of 0,0,1,0 + + + A vector with a value of 0,0,0,1 + + + + A 128-bit Universally Unique Identifier, used throughout the Second + Life networking protocol + + + + The System.Guid object this struct wraps around + + + + Constructor that takes a string UUID representation + + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") + + + + Constructor that takes a System.Guid object + + A Guid object that contains the unique identifier + to be represented by this UUID + + + + Constructor that takes a byte array containing a UUID + + Byte array containing a 16 byte UUID + Beginning offset in the array + + + + Constructor that takes an unsigned 64-bit unsigned integer to + convert to a UUID + + 64-bit unsigned integer to convert to a UUID + + + + Copy constructor + + UUID to copy + + + + IComparable.CompareTo implementation + - + - Constructor, builds a vector from a byte array + Assigns this UUID from 16 bytes out of a byte array - Byte array containing four four-byte floats - Beginning position in the byte array + Byte array containing the UUID to assign this UUID to + Starting position of the UUID in the byte array - + - Test if this vector is equal to another vector, within a given - tolerance range + Returns a copy of the raw bytes for this UUID - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false + A 16 byte array containing this UUID - + - IComparable.CompareTo implementation + Writes the raw bytes for this UUID to a byte array + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array - + - Test if this vector is composed of all finite numbers + Calculate an LLCRC (cyclic redundancy check) for this UUID + The CRC checksum for this UUID - + - Builds a vector from a byte array + Create a 64-bit integer representation from the second half of this UUID - Byte array containing a 16 byte vector - Beginning position in the byte array + An integer created from the last eight bytes of this UUID - + - Returns the raw bytes for this vector + Generate a UUID from a string - A 16 byte array containing X, Y, Z, and W + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") - + - Writes the raw bytes for this vector to a byte array + Generate a UUID from a string - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + Will contain the parsed UUID if successful, + otherwise null + True if the string was successfully parse, otherwise false + UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) - + - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only + Combine two UUIDs together by taking the MD5 hash of a byte array + containing both UUIDs - Raw string representation of the vector + First UUID to combine + Second UUID to combine + The UUID product of the combination - - A vector with a value of 0,0,0,0 + + + + + - - A vector with a value of 1,1,1,1 + + + Return a hash code for this UUID, used by .NET for hash tables + + An integer composed of all the UUID bytes XORed together - - A vector with a value of 1,0,0,0 + + + Comparison function + + An object to compare to this UUID + True if the object is a UUID and both UUIDs are equal - - A vector with a value of 0,1,0,0 + + + Comparison function + + UUID to compare to + True if the UUIDs are equal, otherwise false - - A vector with a value of 0,0,1,0 + + + Get a hyphenated string representation of this UUID + + A string representation of this UUID, lowercase and + with hyphens + 11f8aa9c-b071-4242-836b-13b7abe0d489 - - A vector with a value of 0,0,0,1 + + + Equals operator + + First UUID for comparison + Second UUID for comparison + True if the UUIDs are byte for byte equal, otherwise false - - For thread safety + + + Not equals operator + + First UUID for comparison + Second UUID for comparison + True if the UUIDs are not equal, otherwise true - - For thread safety + + + XOR operator + + First UUID + Second UUID + A UUID that is a XOR combination of the two input UUIDs - + - Purges expired objects from the cache. Called automatically by the purge timer. + String typecasting operator + A UUID in string form. Case insensitive, + hyphenated or non-hyphenated + A UUID built from the string representation + + + An UUID with a value of all zeroes + + + A cache of UUID.Zero as a string to optimize a common path @@ -1940,6 +1867,13 @@ Cross product between two vectors + + + Explicit casting for Vector3d > Vector3 + + + + A vector with a value of 0,0,0 @@ -1955,6 +1889,98 @@ A unit vector facing up (Z axis), value 0,0,1 + + + A hierarchical token bucket for bandwidth throttling. See + http://en.wikipedia.org/wiki/Token_bucket for more information + + + + Parent bucket to this bucket, or null if this is a root + bucket + + + Size of the bucket in bytes. If zero, the bucket has + infinite capacity + + + Rate that the bucket fills, in bytes per millisecond. If + zero, the bucket always remains full + + + Number of tokens currently in the bucket + + + Time of the last drip, in system ticks + + + + Default constructor + + Parent bucket if this is a child bucket, or + null if this is a root bucket + Maximum size of the bucket in bytes, or + zero if this bucket has no maximum capacity + Rate that the bucket fills, in bytes per + second. If zero, the bucket always remains full + + + + Remove a given number of tokens from the bucket + + Number of tokens to remove from the bucket + True if the requested number of tokens were removed from + the bucket, otherwise false + + + + Remove a given number of tokens from the bucket + + Number of tokens to remove from the bucket + True if tokens were added to the bucket + during this call, otherwise false + True if the requested number of tokens were removed from + the bucket, otherwise false + + + + Add tokens to the bucket over time. The number of tokens added each + call depends on the length of time that has passed since the last + call to Drip + + True if tokens were added to the bucket, otherwise false + + + + The parent bucket of this bucket, or null if this bucket has no + parent. The parent bucket will limit the aggregate bandwidth of all + of its children buckets + + + + + Maximum burst rate in bytes per second. This is the maximum number + of tokens that can accumulate in the bucket at any one time + + + + + The speed limit of this bucket in bytes per second. This is the + number of tokens that are added to the bucket per second + + Tokens are added to the bucket any time + is called, at the granularity of + the system tick interval (typically around 15-22ms) + + + + The number of bytes that can be sent at this moment. This is the + current number of tokens in the bucket + If this bucket has a parent bucket that does not have + enough tokens for a request, will + return false regardless of the content of this bucket + + Identifier code for primitive types @@ -2165,6 +2191,12 @@ Whether this object is a sculpted prim + + Whether this object is a light image map + + + Whether this object is a mesh + @@ -2391,6 +2423,12 @@ HUD Bottom-right + + Neck + + + Avatar Center + Tree foliage types @@ -2508,6 +2546,20 @@ Open parcel media + + + Type of physics representation used for this prim in the simulator + + + + Use prim physics form this object + + + No physics, prim doesn't collide + + + Use convex hull represantion of this prim + A two-dimensional vector with floating-point values diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 6cc4c5a..00397a9 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ diff --git a/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1-i686.so b/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1-i686.so new file mode 100644 index 0000000..193eca4 Binary files /dev/null and b/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1-i686.so differ diff --git a/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1-x86_64.so b/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1-x86_64.so new file mode 100644 index 0000000..7a9bdfc Binary files /dev/null and b/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1-x86_64.so differ diff --git a/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1.dylib b/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1.dylib new file mode 100644 index 0000000..91f7264 Binary files /dev/null and b/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1.dylib differ -- cgit v1.1 From 855c88a9c0f419566ad63e440c0696dabf32313f Mon Sep 17 00:00:00 2001 From: BlueWall Date: Sat, 20 Apr 2013 11:57:11 -0400 Subject: Fix spelling --- bin/Robust.ini.example | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index d932ce7..b98132e 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -18,13 +18,13 @@ ; Set path to directory for plugin registry. Information ; about the registered repositories and installed plugins ; will be stored here - ; The Robust.exe process must hvae R/W access to the location + ; The Robust.exe process must have R/W access to the location RegistryLocation = "." ; Modular configurations ; Set path to directory for modular ini files... - ; The Robust.exe process must hvae R/W access to the location + ; The Robust.exe process must have R/W access to the location ConfigDirectory = "/home/opensim/etc/Configs" [ServiceList] -- cgit v1.1 From 6ddc39a676916009e60d38ab24e7353b9646994e Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sun, 21 Apr 2013 16:56:18 -0700 Subject: Clean up unused config and config comments. --- bin/config-include/StandaloneCommon.ini.example | 14 +++++++------- bin/config-include/StandaloneHypergrid.ini | 5 +++-- 2 files changed, 10 insertions(+), 9 deletions(-) (limited to 'bin') diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index f80044e..2547244 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -85,7 +85,7 @@ Region_Welcome_Area = "DefaultRegion, FallbackRegion" ; === HG ONLY === - ;; If you have this set under [Startup], no need to set it here, leave it commented + ;; If you have this set under [Hypergrid], no need to set it here, leave it commented ; GatekeeperURI="http://127.0.0.1:9000" [LibraryModule] @@ -94,7 +94,7 @@ [LoginService] WelcomeMessage = "Welcome, Avatar!" - ;; If you have Gatekeeper set under [Startup], no need to set it here, leave it commented + ;; If you have Gatekeeper set under [Hypergrid], no need to set it here, leave it commented ; GatekeeperURI = "http://127.0.0.1:9000" SRV_HomeURI = "http://127.0.0.1:9000" @@ -240,7 +240,7 @@ ;; HG configurations ;; [GatekeeperService] - ;; If you have GatekeeperURI set under [Startup], no need to set it here, leave it commented + ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented ; ExternalName = "http://127.0.0.1:9000" ; Does this grid allow incoming links to any region in it? @@ -297,11 +297,11 @@ ; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002" [HGInventoryService] - ;; If you have this set under [Startup], no need to set it here, leave it commented + ;; If you have this set under [Hypergrid], no need to set it here, leave it commented ; HomeURI = "http://127.0.0.1:9000" [HGAssetService] - ;; If you have this set under [Startup], no need to set it here, leave it commented + ;; If you have this set under [Hypergrid], no need to set it here, leave it commented ; HomeURI = "http://127.0.0.1:9000" ;; The asset types that this grid can export to / import from other grids. @@ -318,7 +318,7 @@ [HGInventoryAccessModule] - ;; If you have these set under [Startup], no need to set it here, leave it commented + ;; If you have these set under [Hypergrid], no need to set it here, leave it commented ; HomeURI = "http://127.0.0.1:9000" ; GatekeeperURI = "http://127.0.0.1:9000" @@ -337,7 +337,7 @@ [Messaging] ; === HG ONLY === - ;; If you have this set under [Startup], no need to set it here, leave it commented + ;; If you have this set under [Hypergrid], no need to set it here, leave it commented ; GatekeeperURI = "http://127.0.0.1:9000" diff --git a/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini index 195e780..ba92030 100644 --- a/bin/config-include/StandaloneHypergrid.ini +++ b/bin/config-include/StandaloneHypergrid.ini @@ -55,8 +55,6 @@ HypergridAssetService = "OpenSim.Services.Connectors.dll:HGAssetServiceConnector" [InventoryService] - LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService" - ; For HGInventoryBroker LocalGridInventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" @@ -147,6 +145,9 @@ FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 to show a default "Ruth" avatar rather than a cloud. + CreateDefaultAvatarEntries = true + ;; The interface that local users get when they are in other grids ;; This greatly restricts the inventory operations while in other grids -- cgit v1.1 From 4aa6f2bbba0cdd4baca3bf28458f69b0086b3367 Mon Sep 17 00:00:00 2001 From: Melanie Date: Mon, 22 Apr 2013 22:23:42 +0200 Subject: Add the set object owner floater template --- bin/set_object_owner.xml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 bin/set_object_owner.xml (limited to 'bin') diff --git a/bin/set_object_owner.xml b/bin/set_object_owner.xml new file mode 100644 index 0000000..6d9bb8a --- /dev/null +++ b/bin/set_object_owner.xml @@ -0,0 +1,8 @@ + + + New Owner Name + + + Indicates whether appearance setting was successful + + + Indicates whether appearance setting was successful - - - Attach an object to this avatar - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The point on the avatar the object will be attached - The rotation of the attached object + + Contains the Event data returned from the data server from an RebakeAvatarTextures - + - Drop an attached object from this avatar + Triggered when the simulator sends a request for this agent to rebake + its appearance - A reference to the - object where the objects reside. This will always be the simulator the avatar is currently in - - The object's ID which is local to the simulator the object is in + The ID of the Texture Layer to bake - + + The ID of the Texture Layer to bake + + - Detach an object from yourself + Represents an Animation - A reference to the - object where the objects reside - - This will always be the simulator the avatar is currently in - - An array which contains the IDs of the objects to detach - + + Default Constructor + + - Change the position of an object, Will change position of entire linkset + Construct an Asset object of type Animation - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object + A unique specific to this asset + A byte array containing the raw asset data - + + Override the base classes AssetType + + - Change the position of an object + - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - if true, will change position of (this) child prim only, not entire linkset - + - Change the Scale (size) of an object + - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change scale of this prim only, not entire linkset - True to resize prims uniformly - + - Change the Rotation of an object that is either a child or a whole linkset + - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change rotation of this prim only, not entire linkset - + - Send a Multiple Object Update packet to change the size, scale or rotation of a primitive + - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation, size, or position of the target object - The flags from the Enum - + - Deed an object (prim) to a group, Object must be shared with group which - can be accomplished with SetPermissions() + - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The of the group to deed the object to + + - + - Deed multiple objects (prims) to a group, Objects must be shared with group which - can be accomplished with SetPermissions() + The ObservableDictionary class is used for storing key/value pairs. It has methods for firing + events to subscribers when items are added, removed, or changed. - A reference to the object where the object resides - An array which contains the IDs of the objects to deed - The of the group to deed the object to + Key + Value - + - Set the permissions on multiple objects + A dictionary of callbacks to fire when specified action occurs - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the permissions on - The new Who mask to set - Which permission to modify - The new state of permission - + - Request additional properties for an object + Register a callback to be fired when an action occurs - A reference to the object where the object resides - + The action + The callback to fire - + - Request additional properties for an object + Unregister a callback - A reference to the object where the object resides - Absolute UUID of the object - Whether to require server acknowledgement of this request + The action + The callback to fire - + - Set the ownership of a list of objects to the specified group + - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the group id on - The Groups ID + + - + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking + + - Update current URL of the previously set prim media + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. - UUID of the prim - Set current URL to this - Prim face number - Simulator in which prim is located + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); + + - + - Set object media + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. - UUID of the prim - Array the length of prims number of faces. Null on face indexes where there is - no media, on faces which contain the media - Simulatior in which prim is located + Initial size of dictionary + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); + + - + - Retrieve information about object media + Try to get entry from the with specified key - UUID of the primitive - Simulator where prim is located - Call this callback when done - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + Key to use for lookup + Value returned + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + - + - A terse object update, used when a transformation matrix or - velocity/acceleration for an object changes but nothing else - (scale/position/rotation/acceleration/velocity) + Finds the specified match. - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Check if Key exists in Dictionary + Key to check for + if found, otherwise - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Check if Value exists in Dictionary + Value to check for + if found, otherwise - + - + Adds the specified key to the dictionary, dictionary locking is not performed, + - - - + The key + The value - + - Setup construction data for a basic primitive shape + Removes the specified key, dictionary locking is not performed - Primitive shape to construct - Construction data that can be plugged into a + The key. + if successful, otherwise - + - + Clear the contents of the dictionary - - - - - + - + Enumerator for iterating dictionary entries - - + - + - Set the Shape data of an object + Gets the number of Key/Value pairs contained in the - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - Data describing the prim shape - + - Set the Material data of an object + Indexer for the dictionary - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new material of the object + The key + The value - + - - - - - + - - - - - + - + - + De-serialization constructor for the InventoryNode Class - - - - - - - Raised when the simulator sends us data containing - A , Foliage or Attachment - - - - - Raised when the simulator sends us data containing - additional information - - - - - Raised when the simulator sends us data containing - Primitive.ObjectProperties for an object we are currently tracking - - - Raised when the simulator sends us data containing - additional and details - - - - Raised when the simulator sends us data containing - updated information for an - - - Raised when the simulator sends us data containing - and movement changes - - - Raised when the simulator sends us data containing - updates to an Objects DataBlock - - Raised when the simulator informs us an - or is no longer within view - - - Raised when the simulator informs us when a group of - or is no longer within view - - - Raised when the simulator sends us data containing - updated sit information for our - - - Raised when the simulator sends us data containing - purchase price information for a - - - Raised when the simulator sends us data containing - additional information - - - - + - Callback for getting object media data via CAP + Serialization handler for the InventoryNode Class - Indicates if the operation was succesfull - Object media version string - Array indexed on prim face of media entry data - - - Provides data for the event - The event occurs when the simulator sends - an containing a Primitive, Foliage or Attachment data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or - if an Avatar crosses the border into a new simulator and returns to the current simulator - - - The following code example uses the , , and - properties to display new Primitives and Attachments on the window. - - // Subscribe to the event that gives us prim and foliage information - Client.Objects.ObjectUpdate += Objects_ObjectUpdate; - - - private void Objects_ObjectUpdate(object sender, PrimEventArgs e) - { - Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); - } - - - - - - + - Construct a new instance of the PrimEventArgs class + De-serialization handler for the InventoryNode Class - The simulator the object originated from - The Primitive - The simulator time dilation - The prim was not in the dictionary before this update - true if the primitive represents an attachment to an agent - - - Get the simulator the originated from - - - Get the details - - - true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) - - - true if the is attached to an - - - Get the simulator Time Dilation - - - Provides data for the event - The event occurs when the simulator sends - an containing Avatar data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator - - - The following code example uses the property to make a request for the top picks - using the method in the class to display the names - of our own agents picks listings on the window. - - // subscribe to the AvatarUpdate event to get our information - Client.Objects.AvatarUpdate += Objects_AvatarUpdate; - Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; - - private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) - { - // we only want our own data - if (e.Avatar.LocalID == Client.Self.LocalID) - { - // Unsubscribe from the avatar update event to prevent a loop - // where we continually request the picks every time we get an update for ourselves - Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; - // make the top picks request through AvatarManager - Client.Avatars.RequestAvatarPicks(e.Avatar.ID); - } - } - - private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) - { - // we'll unsubscribe from the AvatarPicksReply event since we now have the data - // we were looking for - Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; - // loop through the dictionary and extract the names of the top picks from our profile - foreach (var pickName in e.Picks.Values) - { - Console.WriteLine(pickName); - } - } - - - - - + - Construct a new instance of the AvatarUpdateEventArgs class + - The simulator the packet originated from - The data - The simulator time dilation - The avatar was not in the dictionary before this update + - - Get the simulator the object originated from + + - - Get the data + + - - Get the simulator time dilation + + - - true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) + + - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment data - The event is also raised when a request is - made. - - - The following code example uses the , and - - properties to display new attachments and send a request for additional properties containing the name of the - attachment then display it on the window. - - // Subscribe to the event that provides additional primitive details - Client.Objects.ObjectProperties += Objects_ObjectProperties; - - // handle the properties data that arrives - private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) - { - Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); - } - - + + + For inventory folder nodes specifies weather the folder needs to be + refreshed from the server + - + - Construct a new instance of the ObjectPropertiesEventArgs class + Capability to load TGAs to Bitmap - The simulator the object is located - The primitive Properties - - Get the simulator the object is located + + + Represents a string of characters encoded with specific formatting properties + - - Get the primitive properties + + A text string containing main text of the notecard - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive or Foliage data that is currently - being tracked in the dictionary - The event is also raised when a request is - made and is enabled - + + List of s embedded on the notecard - + + Construct an Asset of type Notecard + + - Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class - - The simulator the object is located - The Primitive - The primitive Properties + Construct an Asset object of type Notecard + + A unique specific to this asset + A byte array containing the raw asset data - - Get the primitive details + + + Encode the raw contents of a string with the specific Linden Text properties + - - Provides additional primitive data, permissions and sale info for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment. This includes - Permissions, Sale info, and other basic details on an object - The event is also raised when a request is - made, the viewer equivalent is hovering the mouse cursor over an object - + + + Decode the raw asset data including the Linden Text properties + + true if the AssetData was successfully decoded - - Get the simulator the object is located + + Override the base classes AssetType - - + + + Simulator (region) properties + - - + + No flags set - - Provides primitive data containing updated location, velocity, rotation, textures for the event - The event occurs when the simulator sends updated location, velocity, rotation, etc - + + Agents can take damage and be killed - - Get the simulator the object is located + + Landmarks can be created here - - Get the primitive details + + Home position can be set in this sim - - + + Home position is reset when an agent teleports away - - + + Sun does not move - - - - + + No object, land, etc. taxes - - Get the simulator the object is located + + Disable heightmap alterations (agents can still plant + foliage) - - Get the primitive details + + Land cannot be released, sold, or purchased - - + + All content is wiped nightly - - + + Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) - - + + Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. - - + + Region does not update agent prim interest lists. Internal debugging option. - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event + + No collision detection for non-agent objects - - Get the simulator the object is located + + No scripts are ran - - The LocalID of the object + + All physics processing is turned off - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event + + Region can be seen from other regions on world map. (Legacy world map option?) - - Get the simulator the object is located + + Region can be seen from mainland on world map. (Legacy world map option?) - - The LocalID of the object + + Agents not explicitly on the access list can visit the region. - - - Provides updates sit position data - + + Traffic calculations are not run across entire region, overrides parcel settings. - - Get the simulator the object is located + + Flight is disabled (not currently enforced by the sim) - - + + Allow direct (p2p) teleporting - - + + Estate owner has temporarily disabled scripting - - + + Restricts the usage of the LSL llPushObject function, applies to whole region. - - - - + + Deny agents with no payment info on file - - Get the simulator the object is located + + Deny agents with payment info on file - - + + Deny agents who have made a monetary transaction - - + + Parcels within the region may be joined or divided by anyone, not just estate owners/managers. - - + + Abuse reports sent from within this region are sent to the estate owner defined email. + + + Region is Voice Enabled + + + Removes the ability from parcel owners to set their parcels to show in search. + + + Deny agents who have not been age verified from entering the region. - + - Indicates if the operation was successful + Region protocol flags - + - Media version string + Access level for a simulator - - - Array of media entries indexed by face number - + + Unknown or invalid access level - - - Set when simulator sends us infomation on primitive's physical properties - + + Trial accounts allowed - - Simulator where the message originated + + PG rating - - Updated physical properties + + Mature rating - - - Constructor - - Simulator where the message originated - Updated physical properties + + Adult rating - - - - + + Simulator is offline - + + Simulator does not exist + + - - - - De-serialization constructor for the InventoryNode Class - + + A public reference to the client that this Simulator object + is attached to - - - Serialization handler for the InventoryNode Class - + + A Unique Cache identifier for this simulator - - - De-serialization handler for the InventoryNode Class - + + The capabilities for this simulator - - - - - + + - + + The current version of software this simulator is running + + - + + A 64x64 grid of parcel coloring values. The values stored + in this array are of the type + + - + - + - - - For inventory folder nodes specifies weather the folder needs to be - refreshed from the server - + + - - - Exception class to identify inventory exceptions - + + - - - Responsible for maintaining inventory structure. Inventory constructs nodes - and manages node children as is necessary to maintain a coherant hirarchy. - Other classes should not manipulate or create InventoryNodes explicitly. When - A node's parent changes (when a folder is moved, for example) simply pass - Inventory the updated InventoryFolder and it will make the appropriate changes - to its internal representation. - + + - - The event subscribers, null of no subscribers + + - - Raises the InventoryObjectUpdated Event - A InventoryObjectUpdatedEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the InventoryObjectRemoved Event - A InventoryObjectRemovedEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the InventoryObjectAdded Event - A InventoryObjectAddedEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - - Returns the contents of the specified folder - - A folder's UUID - The contents of the folder corresponding to folder - When folder does not exist in the inventory + + - - - Updates the state of the InventoryNode and inventory data structure that - is responsible for the InventoryObject. If the item was previously not added to inventory, - it adds the item, and updates structure accordingly. If it was, it updates the - InventoryNode, changing the parent node if item.parentUUID does - not match node.Parent.Data.UUID. - - You can not set the inventory root folder using this method - - The InventoryObject to store + + - - - Removes the InventoryObject and all related node data from Inventory. - - The InventoryObject to remove. + + - - - Used to find out if Inventory contains the InventoryObject - specified by uuid. - - The UUID to check. - true if inventory contains uuid, false otherwise + + - - - Saves the current inventory structure to a cache file - - Name of the cache file to save to + + true if your agent has Estate Manager rights on this region - - - Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. - - Name of the cache file to load - The number of inventory items sucessfully reconstructed into the inventory node tree + + - - Raised when the simulator sends us data containing - ... + + - - Raised when the simulator sends us data containing - ... + + - - Raised when the simulator sends us data containing - ... + + Statistics information for this simulator and the + connection to the simulator, calculated by the simulator itself + and the library + + + The regions Unique ID + + + The physical data center the simulator is located + Known values are: + + Dallas + Chandler + SF + + + + + The CPU Class of the simulator + Most full mainland/estate sims appear to be 5, + Homesteads and Openspace appear to be 501 + + + The number of regions sharing the same CPU as this one + "Full Sims" appear to be 1, Homesteads appear to be 4 + + + The billing product name + Known values are: + + Mainland / Full Region (Sku: 023) + Estate / Full Region (Sku: 024) + Estate / Openspace (Sku: 027) + Estate / Homestead (Sku: 029) + Mainland / Homestead (Sku: 129) (Linden Owned) + Mainland / Linden Homes (Sku: 131) + + - - - The root folder of this avatars inventory - + + The billing product SKU + Known values are: + + 023 Mainland / Full Region + 024 Estate / Full Region + 027 Estate / Openspace + 029 Estate / Homestead + 129 Mainland / Homestead (Linden Owned) + 131 Linden Homes / Full Region + + - + - The default shared library folder + Flags indicating which protocols this region supports - - - The root node of the avatars inventory - + + The current sequence number for packets sent to this + simulator. Must be Interlocked before modifying. Only + useful for applications manipulating sequence numbers - + - The root node of the default shared library + A thread-safe dictionary containing avatars in a simulator - + - By using the bracket operator on this class, the program can get the - InventoryObject designated by the specified uuid. If the value for the corresponding - UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). - If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), - the uuid parameter is ignored. + A thread-safe dictionary containing primitives in a simulator - The UUID of the InventoryObject to get or set, ignored if set to non-null value. - The InventoryObject corresponding to uuid. - + - Map layer request type + Checks simulator parcel map to make sure it has downloaded all data successfully + true if map is full (contains no 0's) - - Objects and terrain are shown - - - Only the terrain is shown, no objects - - - Overlay showing land for sale and for auction - - + - Type of grid item, such as telehub, event, populator location, etc. + Is it safe to send agent updates to this sim + AgentMovementComplete message received - - Telehub + + Used internally to track sim disconnections - - PG rated event + + Event that is triggered when the simulator successfully + establishes a connection - - Mature rated event + + Whether this sim is currently connected or not. Hooked up + to the property Connected - - Popular location + + Coarse locations of avatars in this simulator - - Locations of avatar groups in a region + + AvatarPositions key representing TrackAgent target - - Land for sale + + Sequence numbers of packets we've received + (for duplicate checking) - - Classified ad + + Packets we sent out that need ACKs from the simulator - - Adult rated event + + Sequence number for pause/resume - - Adult land for sale + + Indicates if UDP connection to the sim is fully established - + - Information about a region on the grid map + + Reference to the GridClient object + IPEndPoint of the simulator + handle of the simulator - - Sim X position on World Map - - - Sim Y position on World Map + + + Called when this Simulator object is being destroyed + - - Sim Name (NOTE: In lowercase!) + + + Attempt to connect to this simulator + + Whether to move our agent in to this sim or not + True if the connection succeeded or connection status is + unknown, false if there was a failure - - + + + Initiates connection to the simulator + + Should we block until ack for this packet is recieved - - Appears to always be zero (None) + + + Disconnect from this simulator + - - Sim's defined Water Height + + + Instructs the simulator to stop sending update (and possibly other) packets + - - + + + Instructs the simulator to resume sending update packets (unpause) + - - UUID of the World Map image + + + Retrieve the terrain height at a given coordinate + + Sim X coordinate, valid range is from 0 to 255 + Sim Y coordinate, valid range is from 0 to 255 + The terrain height at the given point if the + lookup was successful, otherwise 0.0f + True if the lookup was successful, otherwise false - - Unique identifier for this region, a combination of the X - and Y position + + + Sends a packet + + Packet to be sent - + + + + + Returns Simulator Name as a String + - + - + - + - Visual chunk of the grid map + Sends out pending acknowledgements + Number of ACKs sent - + - Base class for Map Items + Resend unacknowledged packets - - The Global X position of the item + + + Provides access to an internal thread-safe dictionary containing parcel + information found in this simulator + - - The Global Y position of the item + + + Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. + - - Get the Local X position of the item + + The IP address and port of the server - - Get the Local Y position of the item + + Whether there is a working connection to the simulator or + not - - Get the Handle of the region + + Coarse locations of avatars in this simulator - + + AvatarPositions key representing TrackAgent target + + + Indicates if UDP connection to the sim is fully established + + - Represents an agent or group of agents location + Simulator Statistics - + + Total number of packets sent by this simulator to this agent + + + Total number of packets received by this simulator to this agent + + + Total number of bytes sent by this simulator to this agent + + + Total number of bytes received by this simulator to this agent + + + Time in seconds agent has been connected to simulator + + + Total number of packets that have been resent + + + Total number of resent packets recieved + + + Total number of pings sent to this simulator by this agent + + + Total number of ping replies sent to this agent by this simulator + + - Represents a Telehub location + Incoming bytes per second + It would be nice to have this claculated on the fly, but + this is far, far easier - + - Represents a non-adult parcel of land for sale + Outgoing bytes per second + It would be nice to have this claculated on the fly, but + this is far, far easier - - - Represents an Adult parcel of land for sale - + + Time last ping was sent - - - Represents a PG Event - + + ID of last Ping sent - - - Represents a Mature event - + + - - - Represents an Adult event - + + - - - Manages grid-wide tasks such as the world map - + + Current time dilation of this simulator - - The event subscribers. null if no subcribers + + Current Frames per second of simulator - - Raises the CoarseLocationUpdate event - A CoarseLocationUpdateEventArgs object containing the - data sent by simulator + + Current Physics frames per second of simulator - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GridRegion event - A GridRegionEventArgs object containing the - data sent by simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GridLayer event - A GridLayerEventArgs object containing the - data sent by simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GridItems event - A GridItemEventArgs object containing the - data sent by simulator + + Total number of objects Simulator is simulating - - Thread sync lock object + + Total number of Active (Scripted) objects running - - The event subscribers. null if no subcribers + + Number of agents currently in this simulator - - Raises the RegionHandleReply event - A RegionHandleReplyEventArgs object containing the - data sent by simulator + + Number of agents in neighbor simulators - - Thread sync lock object + + Number of Active scripts running in this simulator - - A dictionary of all the regions, indexed by region name + + - - A dictionary of all the regions, indexed by region handle + + - - - Constructor - - Instance of GridClient object to associate with this GridManager instance + + - - - - - + + Number of downloads pending - - - Request a map layer - - The name of the region - The type of layer + + Number of uploads pending - + + + + + + + + Number of local uploads pending + + + Unacknowledged bytes in queue + + - + Simulator handle - - - - - - - + - + Number of GridClients using this datapool - - - - - - + - + Time that the last client disconnected from the simulator - - - - + - Request data for all mainland (Linden managed) simulators + The cache of prims used and unused in this simulator - + - Request the region handle for the specified region UUID + Shared parcel info only when POOL_PARCEL_DATA == true - UUID of the region to look up - + - Get grid region information using the region name, this function - will block until it can find the region or gives up + - Name of sim you're looking for - Layer that you are requesting - Will contain a GridRegion for the sim you're - looking for if successful, otherwise an empty structure - True if the GridRegion was successfully fetched, otherwise - false - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the simulator sends a - containing the location of agents in the simulator - - - Raised when the simulator sends a Region Data in response to - a Map request - - Raised when the simulator sends GridLayer object containing - a map tile coordinates and texture information + + - - Raised when the simulator sends GridItems object containing - details on events, land sales at a specific location + + - - Raised in response to a Region lookup + + - - Unknown + + - - Current direction of the sun + + - - Current angular velocity of the sun + + - - Microseconds since the start of SL 4-hour day + + - - - Access to the data server which allows searching for land, events, people, etc - + + - - The event subscribers. null if no subcribers + + - - Raises the EventInfoReply event - An EventInfoReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the DirEventsReply event - An DirEventsReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the PlacesReply event - A PlacesReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the DirPlacesReply event - A DirPlacesReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the DirClassifiedsReply event - A DirClassifiedsReplyEventArgs object containing the - data returned from the data server + + + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the DirGroupsReply event - A DirGroupsReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + + + + + - - Raises the DirPeopleReply event - A DirPeopleReplyEventArgs object containing the - data returned from the data server + + + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the DirLandReply event - A DirLandReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - + - Constructs a new instance of the DirectoryManager class + - An instance of GridClient + + - + - Query the data server for a list of classified ads containing the specified string. - Defaults to searching for classified placed in any category, and includes PG, Adult and Mature - results. - Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + + + + + + + + + + + + + + + + + + + + + + - The event is raised when a response is received from the simulator - A string containing a list of keywords to search for - A UUID to correlate the results when the event is raised - + + + + + + + + + + + + + + + + - Query the data server for a list of classified ads which contain specified keywords (Overload) - The event is raised when a response is received from the simulator - A string containing a list of keywords to search for - The category to search - A set of flags which can be ORed to modify query options - such as classified maturity rating. - A UUID to correlate the results when the event is raised - - Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature - - UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); - - - - Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - + + - + - Starts search for places (Overloaded) - The event is raised when a response is received from the simulator - Search text - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised + + - + - Queries the dataserver for parcels of land which are flagged to be shown in search - The event is raised when a response is received from the simulator - A string containing a list of keywords to search for separated by a space character - A set of flags which can be ORed to modify query options - such as classified maturity rating. - The category to search - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult - - UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); - - - - Additional information on the results can be obtained by using the ParcelManager.InfoRequest method - + + - + - Starts a search for land sales using the directory - The event is raised when a response is received from the simulator - What type of land to search for. Auction, - estate, mainland, "first land", etc - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. + + + - + - Starts a search for land sales using the directory - The event is raised when a response is received from the simulator - What type of land to search for. Auction, - estate, mainland, "first land", etc - Maximum price to search for - Maximum area to search for - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. - + - Send a request to the data server for land sales listings - - - Flags sent to specify query options - - Available flags: - Specify the parcel rating with one or more of the following: - IncludePG IncludeMature IncludeAdult - - Specify the field to pre sort the results with ONLY ONE of the following: - PerMeterSort NameSort AreaSort PricesSort - - Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order - SortAsc - - Specify additional filters to limit the results with one or both of the following: - LimitByPrice LimitByArea - - Flags can be combined by separating them with the | (pipe) character - - Additional details can be found in - - What type of land to search for. Auction, - Estate or Mainland - Maximum price to search for when the - DirFindFlags.LimitByPrice flag is specified in findFlags - Maximum area to search for when the - DirFindFlags.LimitByArea flag is specified in findFlags - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - The event will be raised with the response from the simulator - - There is no way to determine how many results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each reply. - Any land set for sale to either anybody or specific to the connected agent will be included in the - results if the land is included in the query - - - // request all mainland, any maturity rating that is larger than 512 sq.m - StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); - + + + - + - Search for Groups + - The name or portion of the name of the group you wish to search for - Start from the match number - + + - + - Search for Groups + - The name or portion of the name of the group you wish to search for - Start from the match number - Search flags - + - + - Search the People directory for other avatars + - The name or portion of the name of the avatar you wish to search for - - - + + No report + + + Unknown report type + + + Bug report + + + Complaint report + + + Customer service report + + - Search Places for parcels of land you personally own + Bitflag field for ObjectUpdateCompressed data blocks, describing + which options are present for each object - + + Unknown + + + Whether the object has a TreeSpecies + + + Whether the object has floating text ala llSetText + + + Whether the object has an active particle system + + + Whether the object has sound attached to it + + + Whether the object is attached to a root object or not + + + Whether the object has texture animation settings + + + Whether the object has an angular velocity + + + Whether the object has a name value pairs string + + + Whether the object has a Media URL set + + - Searches Places for land owned by the specified group + Specific Flags for MultipleObjectUpdate requests - ID of the group you want to recieve land list for (You must be a member of the group) - Transaction (Query) ID which can be associated with results from your request. - + + None + + + Change position of prims + + + Change rotation of prims + + + Change size of prims + + + Perform operation on link set + + + Scale prims uniformly, same as selecing ctrl+shift in the + viewer. Used in conjunction with Scale + + - Search the Places directory for parcels that are listed in search and contain the specified keywords + Special values in PayPriceReply. If the price is not one of these + literal value of the price should be use - A string containing the keywords to search for - Transaction (Query) ID which can be associated with results from your request. - + - Search Places - All Options + Indicates that this pay option should be hidden - One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. - One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer - A string containing a list of keywords to search for separated by a space character - String Simulator Name to search in - LLUID of group you want to recieve results for - Transaction (Query) ID which can be associated with results from your request. - Transaction (Query) ID which can be associated with results from your request. - + - Search All Events with specifid searchText in all categories, includes PG, Mature and Adult + Indicates that this pay option should have the default value - A string containing a list of keywords to search for separated by a space character - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - UUID of query to correlate results in callback. - + - Search Events + Contains the variables sent in an object update packet for objects. + Used to track position and movement of prims and avatars - A string containing a list of keywords to search for separated by a space character - One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult - from the Enum - - Multiple flags can be combined by separating the flags with the | (pipe) character - "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled - For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - EventCategory event is listed under. - UUID of query to correlate results in callback. - - - Requests Event Details - ID of Event returned from the method - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Raised when the data server responds to a request. + + + Handles all network traffic related to prims and avatar positions and + movement. + - - Raised when the data server responds to a request. + + The event subscribers, null of no subscribers - - Raised when the data server responds to a request. + + Thread sync lock object - - Raised when the data server responds to a request. + + The event subscribers, null of no subscribers - - Raised when the data server responds to a request. + + Raises the ObjectProperties Event + A ObjectPropertiesEventArgs object containing + the data sent from the simulator - - Raised when the data server responds to a request. + + Thread sync lock object - - Raised when the data server responds to a request. + + The event subscribers, null of no subscribers - - Raised when the data server responds to a request. + + Raises the ObjectPropertiesUpdated Event + A ObjectPropertiesUpdatedEventArgs object containing + the data sent from the simulator - - Classified Ad categories + + Thread sync lock object - - Classified is listed in the Any category + + The event subscribers, null of no subscribers - - Classified is shopping related + + Raises the ObjectPropertiesFamily Event + A ObjectPropertiesFamilyEventArgs object containing + the data sent from the simulator - - Classified is + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the AvatarUpdate Event + A AvatarUpdateEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the ObjectDataBlockUpdate Event + A ObjectDataBlockUpdateEventArgs object containing + the data sent from the simulator - - Event Categories + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the KillObject Event + A KillObjectEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the KillObjects Event + A KillObjectsEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the AvatarSitChanged Event + A AvatarSitChangedEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the PayPriceReply Event + A PayPriceReplyEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - - Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. - - Flags can be combined using the | (pipe) character, not all flags are available in all queries - + + The event subscribers, null of no subscribers - - Query the People database + + Raises the PhysicsProperties Event + A PhysicsPropertiesEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Reference to the GridClient object - - Query the Groups database + + Does periodic dead reckoning calculation to convert + velocity and acceleration to new positions for objects - - Query the Events database + + + Construct a new instance of the ObjectManager class + + A reference to the instance - - Query the land holdings database for land owned by the currently connected agent + + + Request information for a single object from a + you are currently connected to + + The the object is located + The Local ID of the object - - + + + Request information for multiple objects contained in + the same simulator + + The the objects are located + An array containing the Local IDs of the objects - - Query the land holdings database for land which is owned by a Group + + + Attempt to purchase an original object, a copy, or the contents of + an object + + The the object is located + The Local ID of the object + Whether the original, a copy, or the object + contents are on sale. This is used for verification, if the this + sale type is not valid for the object the purchase will fail + Price of the object. This is used for + verification, if it does not match the actual price the purchase + will fail + Group ID that will be associated with the new + purchase + Inventory folder UUID where the object or objects + purchased should be placed + + + BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, + 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); + + - - Specifies the query should pre sort the results based upon traffic - when searching the Places database + + + Request prices that should be displayed in pay dialog. This will triggger the simulator + to send us back a PayPriceReply which can be handled by OnPayPriceReply event + + The the object is located + The ID of the object + The result is raised in the event - - + + + Select a single object. This will cause the to send us + an which will raise the event + + The the object is located + The Local ID of the object + - - + + + Select a single object. This will cause the to send us + an which will raise the event + + The the object is located + The Local ID of the object + if true, a call to is + made immediately following the request + - - + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + Should objects be deselected immediately after selection + - - + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + - - Specifies the query should pre sort the results in an ascending order when searching the land sales database. - This flag is only used when searching the land sales database + + + Update the properties of an object + + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on - - Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. - This flag is only used when searching the land sales database + + + Update the properties of an object + + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on + Type of the represetnation prim will have in the physics engine + Density - normal value 1000 + Friction - normal value 0.6 + Restitution - standard value 0.5 + Gravity multiplier - standar value 1.0 - - Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. - This flag is only used when searching the land sales database + + + Sets the sale properties of a single object + + The the object is located + The Local ID of the object + One of the options from the enum + The price of the object - - Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. - This flag is only used when searching the land sales database + + + Sets the sale properties of multiple objects + + The the objects are located + An array containing the Local IDs of the objects + One of the options from the enum + The price of the object - - Specifies the query should pre sort the results using the Name field when searching the land sales database. - This flag is only used when searching the land sales database + + + Deselect a single object + + The the object is located + The Local ID of the object - - When set, only parcels less than the specified Price will be included when searching the land sales database. - This flag is only used when searching the land sales database + + + Deselect multiple objects. + + The the objects are located + An array containing the Local IDs of the objects - - When set, only parcels greater than the specified Size will be included when searching the land sales database. - This flag is only used when searching the land sales database + + + Perform a click action on an object + + The the object is located + The Local ID of the object - - + + + Perform a click action (Grab) on a single object + + The the object is located + The Local ID of the object + The texture coordinates to touch + The surface coordinates to touch + The face of the position to touch + The region coordinates of the position to touch + The surface normal of the position to touch (A normal is a vector perpindicular to the surface) + The surface binormal of the position to touch (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - - + + + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties - - Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Specify the + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties - - Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + Rez a Linden tree + + A reference to the object where the object resides + The size of the tree + The rotation of the tree + The position of the tree + The Type of tree + The of the group to set the tree to, + or UUID.Zero if no group is to be set + true to use the "new" Linden trees, false to use the old - - Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + Rez grass and ground cover + + A reference to the object where the object resides + The size of the grass + The rotation of the grass + The position of the grass + The type of grass from the enum + The of the group to set the tree to, + or UUID.Zero if no group is to be set - - + + + Set the textures to apply to the faces of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply - + - Land types to search dataserver for + Set the textures to apply to the faces of an object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply + A media URL (not used) - - Search Auction, Mainland and Estate + + + Set the Light data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - - Land which is currently up for auction + + + Set the flexible data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - - Parcels which are on the mainland (Linden owned) continents + + + Set the sculptie texture and data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - - Parcels which are on privately owned simulators + + + Unset additional primitive parameters on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The extra parameters to set - + - The content rating of the event + Link multiple prims into a linkset + A reference to the object where the objects reside + An array which contains the IDs of the objects to link + The last object in the array will be the root object of the linkset TODO: Is this true? - - Event is PG - - - Event is Mature - - - Event is Adult - - + - Classified Ad Options + Delink/Unlink multiple prims from a linkset - There appear to be two formats the flags are packed in. - This set of flags is for the newer style - - - - - - - - - - - - - - - + A reference to the object where the objects reside + An array which contains the IDs of the objects to delink - + - Classified ad query options + Change the rotation of an object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation of the object - - Include all ads in results - - - Include PG ads in results - - - Include Mature ads in results - - - Include Adult ads in results - - + - The For Sale flag in PlacesReplyData + Set the name of an object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new name of the object - - Parcel is not listed for sale + + + Set the name of multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the name of + An array which contains the new names of the objects - - Parcel is For Sale + + + Set the description of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new description of the object - + - A classified ad on the grid + Set the descriptions of multiple objects + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the description of + An array which contains the new descriptions of the objects - - UUID for this ad, useful for looking up detailed - information about it + + + Attach an object to this avatar + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The point on the avatar the object will be attached + The rotation of the attached object - - The title of this classified ad + + + Drop an attached object from this avatar + + A reference to the + object where the objects reside. This will always be the simulator the avatar is currently in + + The object's ID which is local to the simulator the object is in - - Flags that show certain options applied to the classified + + + Detach an object from yourself + + A reference to the + object where the objects reside + + This will always be the simulator the avatar is currently in + + An array which contains the IDs of the objects to detach - - Creation date of the ad + + + Change the position of an object, Will change position of entire linkset + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object - - Expiration date of the ad + + + Change the position of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object + if true, will change position of (this) child prim only, not entire linkset - - Price that was paid for this ad + + + Change the Scale (size) of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change scale of this prim only, not entire linkset + True to resize prims uniformly - - Print the struct data as a string - A string containing the field name, and field value + + + Change the Rotation of an object that is either a child or a whole linkset + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change rotation of this prim only, not entire linkset - + - A parcel retrieved from the dataserver such as results from the - "For-Sale" listings or "Places" Search + Send a Multiple Object Update packet to change the size, scale or rotation of a primitive + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation, size, or position of the target object + The flags from the Enum - - The unique dataserver parcel ID - This id is used to obtain additional information from the entry - by using the method + + + Deed an object (prim) to a group, Object must be shared with group which + can be accomplished with SetPermissions() + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The of the group to deed the object to - - A string containing the name of the parcel + + + Deed multiple objects (prims) to a group, Objects must be shared with group which + can be accomplished with SetPermissions() + + A reference to the object where the object resides + An array which contains the IDs of the objects to deed + The of the group to deed the object to - - The size of the parcel - This field is not returned for Places searches + + + Set the permissions on multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the permissions on + The new Who mask to set + Which permission to modify + The new state of permission - - The price of the parcel - This field is not returned for Places searches + + + Request additional properties for an object + + A reference to the object where the object resides + - - If True, this parcel is flagged to be auctioned + + + Request additional properties for an object + + A reference to the object where the object resides + Absolute UUID of the object + Whether to require server acknowledgement of this request - - If true, this parcel is currently set for sale + + + Set the ownership of a list of objects to the specified group + + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the group id on + The Groups ID - - Parcel traffic + + + Update current URL of the previously set prim media + + UUID of the prim + Set current URL to this + Prim face number + Simulator in which prim is located - - Print the struct data as a string - A string containing the field name, and field value + + + Set object media + + UUID of the prim + Array the length of prims number of faces. Null on face indexes where there is + no media, on faces which contain the media + Simulatior in which prim is located - + - An Avatar returned from the dataserver + Retrieve information about object media + UUID of the primitive + Simulator where prim is located + Call this callback when done - - Online status of agent - This field appears to be obsolete and always returns false - - - The agents first name - - - The agents last name - - - The agents - - - Print the struct data as a string - A string containing the field name, and field value + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Response to a "Groups" Search + A terse object update, used when a transformation matrix or + velocity/acceleration for an object changes but nothing else + (scale/position/rotation/acceleration/velocity) + The sender + The EventArgs object containing the packet data - - The Group ID - - - The name of the group - - - The current number of members + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Print the struct data as a string - A string containing the field name, and field value + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Parcel information returned from a request - - Represents one of the following: - A parcel of land on the grid that has its Show In Search flag set - A parcel of land owned by the agent making the request - A parcel of land owned by a group the agent making the request is a member of - - - In a request for Group Land, the First record will contain an empty record - - Note: This is not the same as searching the land for sale data source - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The ID of the Agent of Group that owns the parcel + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The name + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The description + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The Size of the parcel + + + + + + + - - The billable Size of the parcel, for mainland - parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller - than the ActualArea. For Estate land this will always be 0 + + + Setup construction data for a basic primitive shape + + Primitive shape to construct + Construction data that can be plugged into a - - Indicates the ForSale status of the parcel + + + + + + + + - - The Gridwide X position + + + + + + - - The Gridwide Y position + + + Set the Shape data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + Data describing the prim shape - - The Z position of the parcel, or 0 if no landing point set + + + Set the Material data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new material of the object - - The name of the Region the parcel is located in + + + + + + + + - - The Asset ID of the parcels Snapshot texture + + + + + + + + + - - The calculated visitor traffic + + + + + + + + - - The billing product SKU - Known values are: - - 023Mainland / Full Region - 024Estate / Full Region - 027Estate / Openspace - 029Estate / Homestead - 129Mainland / Homestead (Linden Owned) - - + + Raised when the simulator sends us data containing + A , Foliage or Attachment + + - - No longer used, will always be 0 + + Raised when the simulator sends us data containing + additional information + + - - Get a SL URL for the parcel - A string, containing a standard SLURL + + Raised when the simulator sends us data containing + Primitive.ObjectProperties for an object we are currently tracking - - Print the struct data as a string - A string containing the field name, and field value + + Raised when the simulator sends us data containing + additional and details + - - - An "Event" Listing summary - + + Raised when the simulator sends us data containing + updated information for an - - The ID of the event creator + + Raised when the simulator sends us data containing + and movement changes - - The name of the event + + Raised when the simulator sends us data containing + updates to an Objects DataBlock - - The events ID + + Raised when the simulator informs us an + or is no longer within view - - A string containing the short date/time the event will begin + + Raised when the simulator informs us when a group of + or is no longer within view - - The event start time in Unixtime (seconds since epoch) + + Raised when the simulator sends us data containing + updated sit information for our - - The events maturity rating + + Raised when the simulator sends us data containing + purchase price information for a - - Print the struct data as a string - A string containing the field name, and field value + + Raised when the simulator sends us data containing + additional information + + - + - The details of an "Event" + Callback for getting object media data via CAP + Indicates if the operation was succesfull + Object media version string + Array indexed on prim face of media entry data - - The events ID - - - The ID of the event creator - - - The name of the event - - - The category + + Provides data for the event + The event occurs when the simulator sends + an containing a Primitive, Foliage or Attachment data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or + if an Avatar crosses the border into a new simulator and returns to the current simulator + + + The following code example uses the , , and + properties to display new Primitives and Attachments on the window. + + // Subscribe to the event that gives us prim and foliage information + Client.Objects.ObjectUpdate += Objects_ObjectUpdate; + + + private void Objects_ObjectUpdate(object sender, PrimEventArgs e) + { + Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); + } + + + + + - - The events description + + + Construct a new instance of the PrimEventArgs class + + The simulator the object originated from + The Primitive + The simulator time dilation + The prim was not in the dictionary before this update + true if the primitive represents an attachment to an agent - - The short date/time the event will begin + + Get the simulator the originated from - - The event start time in Unixtime (seconds since epoch) UTC adjusted + + Get the details - - The length of the event in minutes + + true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) - - 0 if no cover charge applies + + true if the is attached to an - - The cover charge amount in L$ if applicable + + Get the simulator Time Dilation - - The name of the region where the event is being held + + Provides data for the event + The event occurs when the simulator sends + an containing Avatar data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator + + + The following code example uses the property to make a request for the top picks + using the method in the class to display the names + of our own agents picks listings on the window. + + // subscribe to the AvatarUpdate event to get our information + Client.Objects.AvatarUpdate += Objects_AvatarUpdate; + Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; + + private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) + { + // we only want our own data + if (e.Avatar.LocalID == Client.Self.LocalID) + { + // Unsubscribe from the avatar update event to prevent a loop + // where we continually request the picks every time we get an update for ourselves + Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; + // make the top picks request through AvatarManager + Client.Avatars.RequestAvatarPicks(e.Avatar.ID); + } + } + + private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) + { + // we'll unsubscribe from the AvatarPicksReply event since we now have the data + // we were looking for + Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; + // loop through the dictionary and extract the names of the top picks from our profile + foreach (var pickName in e.Picks.Values) + { + Console.WriteLine(pickName); + } + } + + + + - - The gridwide location of the event + + + Construct a new instance of the AvatarUpdateEventArgs class + + The simulator the packet originated from + The data + The simulator time dilation + The avatar was not in the dictionary before this update - - The maturity rating + + Get the simulator the object originated from - - Get a SL URL for the parcel where the event is hosted - A string, containing a standard SLURL + + Get the data - - Print the struct data as a string - A string containing the field name, and field value + + Get the simulator time dilation - - Contains the Event data returned from the data server from an EventInfoRequest + + true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) - - Construct a new instance of the EventInfoReplyEventArgs class - A single EventInfo object containing the details of an event + + Provides additional primitive data for the event + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment data + The event is also raised when a request is + made. + + + The following code example uses the , and + + properties to display new attachments and send a request for additional properties containing the name of the + attachment then display it on the window. + + // Subscribe to the event that provides additional primitive details + Client.Objects.ObjectProperties += Objects_ObjectProperties; + + // handle the properties data that arrives + private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) + { + Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); + } + + - + - A single EventInfo object containing the details of an event + Construct a new instance of the ObjectPropertiesEventArgs class + The simulator the object is located + The primitive Properties - - Contains the "Event" detail data returned from the data server + + Get the simulator the object is located - - Construct a new instance of the DirEventsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Events" returned by the search query + + Get the primitive properties - - The ID returned by + + Provides additional primitive data for the event + The event occurs when the simulator sends + an containing additional details for a Primitive or Foliage data that is currently + being tracked in the dictionary + The event is also raised when a request is + made and is enabled + - - A list of "Events" returned by the data server + + + Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class + + The simulator the object is located + The Primitive + The primitive Properties - - Contains the "Event" list data returned from the data server + + Get the primitive details - - Construct a new instance of PlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Places" returned by the data server query + + Provides additional primitive data, permissions and sale info for the event + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment. This includes + Permissions, Sale info, and other basic details on an object + The event is also raised when a request is + made, the viewer equivalent is hovering the mouse cursor over an object + - - The ID returned by + + Get the simulator the object is located - - A list of "Places" returned by the data server + + - - Contains the places data returned from the data server + + - - Construct a new instance of the DirPlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing land data returned by the data server + + Provides primitive data containing updated location, velocity, rotation, textures for the event + The event occurs when the simulator sends updated location, velocity, rotation, etc + - - The ID returned by + + Get the simulator the object is located + + + Get the primitive details - - A list containing Places data returned by the data server + + - - Contains the classified data returned from the data server + + - - Construct a new instance of the DirClassifiedsReplyEventArgs class - A list of classified ad data returned from the data server + + + + - - A list containing Classified Ads returned by the data server + + Get the simulator the object is located - - Contains the group data returned from the data server + + Get the primitive details - - Construct a new instance of the DirGroupsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of groups data returned by the data server + + - - The ID returned by + + - - A list containing Groups data returned by the data server + + - - Contains the people data returned from the data server + + - - Construct a new instance of the DirPeopleReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of people data returned by the data server + + Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the + event - - The ID returned by + + Get the simulator the object is located - - A list containing People data returned by the data server + + The LocalID of the object - - Contains the land sales data returned from the data server + + Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the + event - - Construct a new instance of the DirLandReplyEventArgs class - A list of parcels for sale returned by the data server + + Get the simulator the object is located - - A list containing land forsale data returned by the data server + + The LocalID of the object - + - Sent to the client to indicate a teleport request has completed + Provides updates sit position data - + + Get the simulator the object is located + + + + + + + + + + + - Interface requirements for Messaging system + - - The of the agent + + Get the simulator the object is located - + - - The simulators handle the agent teleported to - - - A Uri which contains a list of Capabilities the simulator supports + + - - Indicates the level of access required - to access the simulator, or the content rating, or the simulators - map status + + - - The IP Address of the simulator + + + Indicates if the operation was successful + - - The UDP Port the simulator will listen for UDP traffic on + + + Media version string + - - Status flags indicating the state of the Agent upon arrival, Flying, etc. + + + Array of media entries indexed by face number + - + - Serialize the object + Set when simulator sends us infomation on primitive's physical properties - An containing the objects data - + + Simulator where the message originated + + + Updated physical properties + + - Deserialize the message + Constructor - An containing the data + Simulator where the message originated + Updated physical properties - + - Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. + Exception class to identify inventory exceptions - + - Serialize the object + Responsible for maintaining inventory structure. Inventory constructs nodes + and manages node children as is necessary to maintain a coherant hirarchy. + Other classes should not manipulate or create InventoryNodes explicitly. When + A node's parent changes (when a folder is moved, for example) simply pass + Inventory the updated InventoryFolder and it will make the appropriate changes + to its internal representation. - An containing the objects data - + + The event subscribers, null of no subscribers + + + Raises the InventoryObjectUpdated Event + A InventoryObjectUpdatedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the InventoryObjectRemoved Event + A InventoryObjectRemovedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the InventoryObjectAdded Event + A InventoryObjectAddedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + - Deserialize the message + Returns the contents of the specified folder - An containing the data + A folder's UUID + The contents of the folder corresponding to folder + When folder does not exist in the inventory - + - Serialize the object + Updates the state of the InventoryNode and inventory data structure that + is responsible for the InventoryObject. If the item was previously not added to inventory, + it adds the item, and updates structure accordingly. If it was, it updates the + InventoryNode, changing the parent node if item.parentUUID does + not match node.Parent.Data.UUID. + + You can not set the inventory root folder using this method - An containing the objects data + The InventoryObject to store - + - Deserialize the message + Removes the InventoryObject and all related node data from Inventory. - An containing the data + The InventoryObject to remove. - + - Serialize the object + Used to find out if Inventory contains the InventoryObject + specified by uuid. - An containing the objects data + The UUID to check. + true if inventory contains uuid, false otherwise - + - Deserialize the message + Saves the current inventory structure to a cache file - An containing the data + Name of the cache file to save to - + - A message sent to the client which indicates a teleport request has failed - and contains some information on why it failed + Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + Name of the cache file to load + The number of inventory items sucessfully reconstructed into the inventory node tree - - + + Raised when the simulator sends us data containing + ... - - A string key of the reason the teleport failed e.g. CouldntTPCloser - Which could be used to look up a value in a dictionary or enum + + Raised when the simulator sends us data containing + ... - - The of the Agent + + Raised when the simulator sends us data containing + ... - - A string human readable message containing the reason - An example: Could not teleport closer to destination + + + The root folder of this avatars inventory + - + - Serialize the object + The default shared library folder - An containing the objects data - + - Deserialize the message + The root node of the avatars inventory - An containing the data - + - Serialize the object + The root node of the default shared library - An containing the objects data - + - Deserialize the message + By using the bracket operator on this class, the program can get the + InventoryObject designated by the specified uuid. If the value for the corresponding + UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). + If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), + the uuid parameter is ignored. - An containing the data + The UUID of the InventoryObject to get or set, ignored if set to non-null value. + The InventoryObject corresponding to uuid. - + - Contains a list of prim owner information for a specific parcel in a simulator + The InternalDictionary class is used through the library for storing key/value pairs. + It is intended to be a replacement for the generic Dictionary class and should + be used in its place. It contains several methods for allowing access to the data from + outside the library that are read only and thread safe. + - - A Simulator will always return at least 1 entry - If agent does not have proper permission the OwnerID will be UUID.Zero - If agent does not have proper permission OR there are no primitives on parcel - the DataBlocksExtended map will not be sent from the simulator - + Key + Value - - An Array of objects + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking + on this member - + - Serialize the object + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. - An containing the objects data + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); + + - + - Deserialize the message + Initializes a new instance of the Class + with the specified key/value, has its initial valies copied from the specified + - An containing the data + + to copy initial values from + + + // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. + // populates with copied values from example KeyNameCache Dictionary. + + // create source dictionary + Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); + KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); + KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); + + // Initialize new dictionary. + public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); + + - + - Prim ownership information for a specified owner on a single parcel + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. + Initial size of dictionary + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); + + - - The of the prim owner, - UUID.Zero if agent has no permission to view prim owner information - - - The total number of prims - - - True if the OwnerID is a - - - True if the owner is online - This is no longer used by the LL Simulators - - - The date the most recent prim was rezzed - - + - The details of a single parcel in a region, also contains some regionwide globals + Try to get entry from with specified key + Key to use for lookup + Value returned + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + - - Simulator-local ID of this parcel - - - Maximum corner of the axis-aligned bounding box for this - parcel - - - Minimum corner of the axis-aligned bounding box for this - parcel - - - Total parcel land area - - - - - - Key of authorized buyer - - - Bitmap describing land layout in 4x4m squares across the - entire region - - - - - - Date land was claimed - - - Appears to always be zero - - - Parcel Description - - - - - - - - - Total number of primitives owned by the parcel group on - this parcel - - - Whether the land is deeded to a group or not - - - - - - Maximum number of primitives this parcel supports - - - The Asset UUID of the Texture which when applied to a - primitive will display the media + + + Finds the specified match. + + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + - - A URL which points to any Quicktime supported media type + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + - - A byte, if 0x1 viewer should auto scale media to fit object + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + - - URL For Music Stream + + Perform an on each entry in an + to perform + + + // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. + Client.Network.CurrentSim.ObjectsPrimitives.ForEach( + delegate(Primitive prim) + { + if (prim.Text != null) + { + Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", + prim.PropertiesFamily.Name, prim.ID, prim.Text); + } + }); + + - - Parcel Name + + Perform an on each key of an + to perform - - Autoreturn value in minutes for others' objects + + + Perform an on each KeyValuePair of an + + to perform - - + + Check if Key exists in Dictionary + Key to check for + if found, otherwise - - Total number of other primitives on this parcel + + Check if Value exists in Dictionary + Value to check for + if found, otherwise - - UUID of the owner of this parcel + + + Adds the specified key to the dictionary, dictionary locking is not performed, + + + The key + The value - - Total number of primitives owned by the parcel owner on - this parcel + + + Removes the specified key, dictionary locking is not performed + + The key. + if successful, otherwise - - + + + Gets the number of Key/Value pairs contained in the + - - How long is pass valid for + + + Indexer for the dictionary + + The key + The value - - Price for a temporary pass + + + Constants for the archiving module + - - + + + The location of the archive control file + - - Disallows people outside the parcel from being able to see in + + + Path for the assets held in an archive + - - + + + Path for the prims file + - - + + + Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. + - - + + + Path for region settings. + - - True if the region denies access to age unverified users + + + The character the separates the uuid from extension information in an archived asset filename + - - + + + Extensions used for asset types in the archive + - - This field is no longer used + + X position of this patch - - The result of a request for parcel properties + + Y position of this patch - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it + + A 16x16 array of floats holding decompressed layer data - + - Number of primitives your avatar is currently - selecting and sitting on in this parcel + Creates a LayerData packet for compressed land data given a full + simulator heightmap and an array of indices of patches to compress + A 256 * 256 array of floating point values + specifying the height at each meter in the simulator + Array of indexes in the 16x16 grid of patches + for this simulator. For example if 1 and 17 are specified, patches + x=1,y=0 and x=1,y=1 are sent + - - - - + - A number which increments by 1, starting at 0 for each ParcelProperties request. - Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. - a Negative number indicates the action in has occurred. + Add a patch of terrain to a BitPacker + BitPacker to write the patch to + Heightmap of the simulator, must be a 256 * + 256 float array + X offset of the patch to create, valid values are + from 0 to 15 + Y offset of the patch to create, valid values are + from 0 to 15 - - Maximum primitives across the entire simulator - - - Total primitives across the entire simulator + + + pre-defined built in sounds + - + - - Key of parcel snapshot + + - - Parcel ownership status + + - - Total number of primitives on this parcel + + - + - + - - A description of the media + + - - An Integer which represents the height of the media + + - - An integer which represents the width of the media + + coins - - A boolean, if true the viewer should loop the media + + cash register bell - - A string which contains the mime type of the media + + - - true to obscure (hide) media url + + - - true to obscure (hide) music url + + rubber - - - Serialize the object - - An containing the objects data + + plastic - - - Deserialize the message - - An containing the data + + flesh - - A message sent from the viewer to the simulator to updated a specific parcels settings + + wood splintering? - - The of the agent authorized to purchase this - parcel of land or a NULL if the sale is authorized to anyone + + glass break - - true to enable auto scaling of the parcel media + + metal clunk - - The category of this parcel used when search is enabled to restrict - search results + + whoosh - - A string containing the description to set + + shake - - The of the which allows for additional - powers and restrictions. + + - - The which specifies how avatars which teleport - to this parcel are handled + + ding - - The LocalID of the parcel to update settings on + + - - A string containing the description of the media which can be played - to visitors + + - + - + - + - + - + - + - + - + - + - + - + - + - + + + A dictionary containing all pre-defined sounds + + A dictionary containing the pre-defined sounds, + where the key is the sounds ID, and the value is a string + containing a name to identify the purpose of the sound + + + + + + + + + + + + - + - + - + - + - + - + - Deserialize the message + - An containing the data - + - Serialize the object + Checks the instance back into the object pool - An containing the objects data - - Base class used for the RemoteParcelRequest message + + + Returns an instance of the class that has been checked out of the Object Pool. + - + - A message sent from the viewer to the simulator to request information - on a remote parcel + Sent to the client to indicate a teleport request has completed - - Local sim position of the parcel we are looking up + + The of the agent - - Region handle of the parcel we are looking up + + - - Region of the parcel we are looking up + + The simulators handle the agent teleported to - + + A Uri which contains a list of Capabilities the simulator supports + + + Indicates the level of access required + to access the simulator, or the content rating, or the simulators + map status + + + The IP Address of the simulator + + + The UDP Port the simulator will listen for UDP traffic on + + + Status flags indicating the state of the Agent upon arrival, Flying, etc. + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + - A message sent from the simulator to the viewer in response to a - which will contain parcel information + Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. - - The grid-wide unique parcel ID + + + Serialize the object + + An containing the objects data - + + + Deserialize the message + + An containing the data + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + - A message containing a request for a remote parcel from a viewer, or a response - from the simulator to that request + Serialize the object + An containing the objects data - - The request or response details block + + + Deserialize the message + + An containing the data - + + + A message sent to the client which indicates a teleport request has failed + and contains some information on why it failed + + + + + + + A string key of the reason the teleport failed e.g. CouldntTPCloser + Which could be used to look up a value in a dictionary or enum + + + The of the Agent + + + A string human readable message containing the reason + An example: Could not teleport closer to destination + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + + + Contains a list of prim owner information for a specific parcel in a simulator + + + A Simulator will always return at least 1 entry + If agent does not have proper permission the OwnerID will be UUID.Zero + If agent does not have proper permission OR there are no primitives on parcel + the DataBlocksExtended map will not be sent from the simulator + + + + An Array of objects + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + - A message sent from the simulator to an agent which contains - the groups the agent is in + Prim ownership information for a specified owner on a single parcel + + + + The of the prim owner, + UUID.Zero if agent has no permission to view prim owner information + + + The total number of prims + + + True if the OwnerID is a + + + True if the owner is online + This is no longer used by the LL Simulators + + + The date the most recent prim was rezzed + + + + The details of a single parcel in a region, also contains some regionwide globals - - The Agent receiving the message + + Simulator-local ID of this parcel + + + Maximum corner of the axis-aligned bounding box for this + parcel + + + Minimum corner of the axis-aligned bounding box for this + parcel + + + Total parcel land area + + + + + + Key of authorized buyer + + + Bitmap describing land layout in 4x4m squares across the + entire region + + + + + + Date land was claimed + + + Appears to always be zero - - An array containing information - for each the agent is a member of + + Parcel Description - - An array containing information - for each the agent is a member of + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + Total number of primitives owned by the parcel group on + this parcel - - Group Details specific to the agent + + Whether the land is deeded to a group or not - - true of the agent accepts group notices + + - - The agents tier contribution to the group + + Maximum number of primitives this parcel supports - - The Groups + + The Asset UUID of the Texture which when applied to a + primitive will display the media - - The of the groups insignia + + A URL which points to any Quicktime supported media type - - The name of the group + + A byte, if 0x1 viewer should auto scale media to fit object - - The aggregate permissions the agent has in the group for all roles the agent - is assigned + + URL For Music Stream - - An optional block containing additional agent specific information + + Parcel Name - - true of the agent allows this group to be - listed in their profile + + Autoreturn value in minutes for others' objects - - - A message sent from the viewer to the simulator which - specifies the language and permissions for others to detect - the language specified - + + - - A string containng the default language - to use for the agent + + Total number of other primitives on this parcel - - true of others are allowed to - know the language setting + + UUID of the owner of this parcel - - - Serialize the object - - An containing the objects data + + Total number of primitives owned by the parcel owner on + this parcel - - - Deserialize the message - - An containing the data + + - - - An EventQueue message sent from the simulator to an agent when the agent - leaves a group - + + How long is pass valid for - - - An Array containing the AgentID and GroupID - + + Price for a temporary pass - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + Disallows people outside the parcel from being able to see in - - An object containing the Agents UUID, and the Groups UUID + + - - The ID of the Agent leaving the group + + - - The GroupID the Agent is leaving + + - - Base class for Asset uploads/results via Capabilities + + True if the region denies access to age unverified users - - - The request state - + + - - - Serialize the object - - An containing the objects data + + This field is no longer used - - - Deserialize the message - - An containing the data + + The result of a request for parcel properties - + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it + + - A message sent from the viewer to the simulator to request a temporary upload capability - which allows an asset to be uploaded + Number of primitives your avatar is currently + selecting and sitting on in this parcel - - The Capability URL sent by the simulator to upload the baked texture to + + - + - A message sent from the simulator that will inform the agent the upload is complete, - and the UUID of the uploaded asset + A number which increments by 1, starting at 0 for each ParcelProperties request. + Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. + a Negative number indicates the action in has occurred. - - The uploaded texture asset ID + + Maximum primitives across the entire simulator - - - A message sent from the viewer to the simulator to request a temporary - capability URI which is used to upload an agents baked appearance textures - + + Total primitives across the entire simulator - - Object containing request or response + + - - - Serialize the object - - An containing the objects data + + Key of parcel snapshot - - - Deserialize the message - - An containing the data + + Parcel ownership status - - - A message sent from the simulator which indicates the minimum version required for - using voice chat - + + Total number of primitives on this parcel - - Major Version Required + + - - Minor version required + + - - The name of the region sending the version requrements + + A description of the media - - - Serialize the object - - An containing the objects data + + An Integer which represents the height of the media - - - Deserialize the message - - An containing the data + + An integer which represents the width of the media - - - A message sent from the simulator to the viewer containing the - voice server URI - + + A boolean, if true the viewer should loop the media - - The Parcel ID which the voice server URI applies + + A string which contains the mime type of the media - - The name of the region + + true to obscure (hide) media url - - A uri containing the server/channel information - which the viewer can utilize to participate in voice conversations + + true to obscure (hide) music url - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - - - - + + A message sent from the viewer to the simulator to updated a specific parcels settings - + + The of the agent authorized to purchase this + parcel of land or a NULL if the sale is authorized to anyone + + + true to enable auto scaling of the parcel media + + + The category of this parcel used when search is enabled to restrict + search results + + + A string containing the description to set + + + The of the which allows for additional + powers and restrictions. + + + The which specifies how avatars which teleport + to this parcel are handled + + + The LocalID of the parcel to update settings on + + + A string containing the description of the media which can be played + to visitors + + - + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A message sent by the viewer to the simulator to request a temporary - capability for a script contained with in a Tasks inventory to be updated - + + - - Object containing request or response + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A message sent from the simulator to the viewer to indicate - a Tasks scripts status. - + + - - The Asset ID of the script + + - - True of the script is compiled/ran using the mono interpreter, false indicates it - uses the older less efficient lsl2 interprter + + - - The Task containing the scripts + + - - true of the script is in a running state + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A message containing the request/response used for updating a gesture - contained with an agents inventory - + + - - Object containing request or response + + - - - Serialize the object - - An containing the objects data + + - + Deserialize the message An containing the data - - - A message request/response which is used to update a notecard contained within - a tasks inventory - - - - The of the Task containing the notecard asset to update - - - The notecard assets contained in the tasks inventory - - + Serialize the object An containing the objects data - - - Deserialize the message - - An containing the data + + Base class used for the RemoteParcelRequest message - + - A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability - which is used to update an asset in an agents inventory + A message sent from the viewer to the simulator to request information + on a remote parcel - - - The Notecard AssetID to replace - + + Local sim position of the parcel we are looking up - + + Region handle of the parcel we are looking up + + + Region of the parcel we are looking up + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - - - A message containing the request/response used for updating a notecard - contained with an agents inventory - - - - Object containing request or response - - + - Serialize the object + A message sent from the simulator to the viewer in response to a + which will contain parcel information - An containing the objects data - - - Deserialize the message - - An containing the data + + The grid-wide unique parcel ID - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - - - A message sent from the simulator to the viewer which indicates - an error occurred while attempting to update a script in an agents or tasks - inventory - - - - true of the script was successfully compiled by the simulator - - - A string containing the error which occured while trying - to update the script - - - A new AssetID assigned to the script - - + - A message sent from the viewer to the simulator - requesting the update of an existing script contained - within a tasks inventory - - - - if true, set the script mode to running - - - The scripts InventoryItem ItemID to update - - - A lowercase string containing either "mono" or "lsl2" which - specifies the script is compiled and ran on the mono runtime, or the older - lsl runtime + A message containing a request for a remote parcel from a viewer, or a response + from the simulator to that request + - - The tasks which contains the script to update + + The request or response details block - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + - A message containing either the request or response used in updating a script inside - a tasks inventory + Serialize the object + An containing the objects data - - Object containing request or response + + + Deserialize the message + + An containing the data - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + - Response from the simulator to notify the viewer the upload is completed, and - the UUID of the script asset and its compiled status + A message sent from the simulator to an agent which contains + the groups the agent is in - - The uploaded texture asset ID - - - true of the script was compiled successfully - - - - A message sent from a viewer to the simulator requesting a temporary uploader capability - used to update a script contained in an agents inventory - + + The Agent receiving the message - - The existing asset if of the script in the agents inventory to replace + + An array containing information + for each the agent is a member of - - The language of the script - Defaults to lsl version 2, "mono" might be another possible option + + An array containing information + for each the agent is a member of - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + + Group Details specific to the agent + + + true of the agent accepts group notices + + + The agents tier contribution to the group + + + The Groups + + + The of the groups insignia + + + The name of the group + + + The aggregate permissions the agent has in the group for all roles the agent + is assigned + + + An optional block containing additional agent specific information + + + true of the agent allows this group to be + listed in their profile + + - A message containing either the request or response used in updating a script inside - an agents inventory + A message sent from the viewer to the simulator which + specifies the language and permissions for others to detect + the language specified - - Object containing request or response + + A string containng the default language + to use for the agent - + + true of others are allowed to + know the language setting + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + + + An EventQueue message sent from the simulator to an agent when the agent + leaves a group + + + + + An Array containing the AgentID and GroupID + + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - - Base class for Map Layers via Capabilities + + An object containing the Agents UUID, and the Groups UUID - - + + The ID of the Agent leaving the group - + + The GroupID the Agent is leaving + + + Base class for Asset uploads/results via Capabilities + + + + The request state + + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + - Sent by an agent to the capabilities server to request map layers + A message sent from the viewer to the simulator to request a temporary upload capability + which allows an asset to be uploaded - + + The Capability URL sent by the simulator to upload the baked texture to + + - A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates + A message sent from the simulator that will inform the agent the upload is complete, + and the UUID of the uploaded asset - - An array containing LayerData items + + The uploaded texture asset ID - + + + A message sent from the viewer to the simulator to request a temporary + capability URI which is used to upload an agents baked appearance textures + + + + Object containing request or response + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + - An object containing map location details + A message sent from the simulator which indicates the minimum version required for + using voice chat - - The Asset ID of the regions tile overlay - - - The grid location of the southern border of the map tile - - - The grid location of the western border of the map tile - - - The grid location of the eastern border of the map tile + + Major Version Required - - The grid location of the northern border of the map tile + + Minor version required - - Object containing request or response + + The name of the region sending the version requrements - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + - New as of 1.23 RC1, no details yet. + A message sent from the simulator to the viewer containing the + voice server URI - + + The Parcel ID which the voice server URI applies + + + The name of the region + + + A uri containing the server/channel information + which the viewer can utilize to participate in voice conversations + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + + + + + + + + + + + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - - A string containing the method used - - + - A request sent from an agent to the Simulator to begin a new conference. - Contains a list of Agents which will be included in the conference - - - - An array containing the of the agents invited to this conference + A message sent by the viewer to the simulator to request a temporary + capability for a script contained with in a Tasks inventory to be updated + - - The conferences Session ID + + Object containing request or response - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + - A moderation request sent from a conference moderator - Contains an agent and an optional action to take - + A message sent from the simulator to the viewer to indicate + a Tasks scripts status. + - - The Session ID + + The Asset ID of the script - - + + True of the script is compiled/ran using the mono interpreter, false indicates it + uses the older less efficient lsl2 interprter - - A list containing Key/Value pairs, known valid values: - key: text value: true/false - allow/disallow specified agents ability to use text in session - key: voice value: true/false - allow/disallow specified agents ability to use voice in session - - "text" or "voice" + + The Task containing the scripts - - + + true of the script is in a running state - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + - A message sent from the agent to the simulator which tells the - simulator we've accepted a conference invitation + A message containing the request/response used for updating a gesture + contained with an agents inventory - - The conference SessionID + + Object containing request or response - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + + + A message request/response which is used to update a notecard contained within + a tasks inventory + + + + The of the Task containing the notecard asset to update + + + The notecard assets contained in the tasks inventory + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + - Serialize the object + A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability + which is used to update an asset in an agents inventory - An containing the objects data - + - Deserialize the message + The Notecard AssetID to replace - An containing the data - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - - Key of sender - - - Name of sender - - - Key of destination avatar - - - ID of originating estate - - - Key of originating region - - - Coordinates in originating region - - - Instant message type - - - Group IM session toggle - - - Key of IM session, for Group Messages, the groups UUID - - - Timestamp of the instant message - - - Instant message text - - - Whether this message is held for offline avatars - - - Context specific packed data + + + A message containing the request/response used for updating a notecard + contained with an agents inventory + - - Is this invitation for voice group/conference chat + + Object containing request or response - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - - - Sent from the simulator to the viewer. - - When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including - a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate - this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" - - During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are - excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with - the string "ENTER" or "LEAVE" respectively. - - - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + - An EventQueue message sent when the agent is forcibly removed from a chatterbox session + A message sent from the simulator to the viewer which indicates + an error occurred while attempting to update a script in an agents or tasks + inventory - - - A string containing the reason the agent was removed - + + true of the script was successfully compiled by the simulator - + + A string containing the error which occured while trying + to update the script + + + A new AssetID assigned to the script + + - The ChatterBoxSession's SessionID + A message sent from the viewer to the simulator + requesting the update of an existing script contained + within a tasks inventory - + + if true, set the script mode to running + + + The scripts InventoryItem ItemID to update + + + A lowercase string containing either "mono" or "lsl2" which + specifies the script is compiled and ran on the mono runtime, or the older + lsl runtime + + + The tasks which contains the script to update + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + - Serialize the object + A message containing either the request or response used in updating a script inside + a tasks inventory - An containing the objects data - - - Deserialize the message - - An containing the data + + Object containing request or response - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + - Serialize the object + Response from the simulator to notify the viewer the upload is completed, and + the UUID of the script asset and its compiled status - An containing the objects data - + + The uploaded texture asset ID + + + true of the script was compiled successfully + + - Deserialize the message + A message sent from a viewer to the simulator requesting a temporary uploader capability + used to update a script contained in an agents inventory - An containing the data - + + The existing asset if of the script in the agents inventory to replace + + + The language of the script + Defaults to lsl version 2, "mono" might be another possible option + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + - + A message containing either the request or response used in updating a script inside + an agents inventory - + + Object containing request or response + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + + Base class for Map Layers via Capabilities + + + + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + - Event Queue message describing physics engine attributes of a list of objects - Sim sends these when object is selected + Sent by an agent to the capabilities server to request map layers - - Array with the list of physics properties - - + - Serializes the message + A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates - Serialized OSD - - - Deseializes the message - - Incoming data to deserialize + + An array containing LayerData items - + - A message sent from the viewer to the simulator which - specifies that the user has changed current URL - of the specific media on a prim face + Serialize the object + An containing the objects data - + - New URL + Deserialize the message + An containing the data - + - Prim UUID where navigation occured + An object containing map location details - - - Face index - + + The Asset ID of the regions tile overlay - + + The grid location of the southern border of the map tile + + + The grid location of the western border of the map tile + + + The grid location of the eastern border of the map tile + + + The grid location of the northern border of the map tile + + + Object containing request or response + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - - Base class used for the ObjectMedia message - - + - Message used to retrive prim media data + New as of 1.23 RC1, no details yet. - + - Prim UUID + Serialize the object + An containing the objects data - + - Requested operation, either GET or UPDATE + Deserialize the message + An containing the data - + - Serialize object + Serialize the object - Serialized object as OSDMap + An containing the objects data - + Deserialize the message An containing the data - - - Message used to update prim media data - + + A string containing the method used - + - Prim UUID - + A request sent from an agent to the Simulator to begin a new conference. + Contains a list of Agents which will be included in the conference + - - - Array of media entries indexed by face number - + + An array containing the of the agents invited to this conference - - - Media version string - + + The conferences Session ID - + - Serialize object + Serialize the object - Serialized object as OSDMap + An containing the objects data - + Deserialize the message An containing the data - + - Message used to update prim media data + A moderation request sent from a conference moderator + Contains an agent and an optional action to take + + + + The Session ID + + + + + + A list containing Key/Value pairs, known valid values: + key: text value: true/false - allow/disallow specified agents ability to use text in session + key: voice value: true/false - allow/disallow specified agents ability to use voice in session + "text" or "voice" - + + + + - Prim UUID + Serialize the object + An containing the objects data - + - Array of media entries indexed by face number + Deserialize the message + An containing the data - + - Requested operation, either GET or UPDATE + A message sent from the agent to the simulator which tells the + simulator we've accepted a conference invitation - + + The conference SessionID + + - Serialize object + Serialize the object - Serialized object as OSDMap + An containing the objects data - + Deserialize the message An containing the data - + - Message for setting or getting per face MediaEntry + Serialize the object + An containing the objects data - - The request or response details block + + + Deserialize the message + + An containing the data - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - - Details about object resource usage - - - Object UUID - - - Object name - - - Indicates if object is group owned - - - Locatio of the object - - - Object owner - - - Resource usage, keys are resource names, values are resource usage for that specific resource - - + - Deserializes object from OSD + Serialize the object - An containing the data + An containing the objects data - + - Makes an instance based on deserialized data + Deserialize the message - serialized data - Instance containg deserialized data + An containing the data - - Details about parcel resource usage + + Key of sender - - Parcel UUID + + Name of sender - - Parcel local ID + + Key of destination avatar - - Parcel name + + ID of originating estate - - Indicates if parcel is group owned + + Key of originating region + + + Coordinates in originating region + + + Instant message type - - Parcel owner + + Group IM session toggle - - Array of containing per object resource usage + + Key of IM session, for Group Messages, the groups UUID - - - Deserializes object from OSD - - An containing the data + + Timestamp of the instant message - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data + + Instant message text - - Resource usage base class, both agent and parcel resource - usage contains summary information + + Whether this message is held for offline avatars - - Summary of available resources, keys are resource names, - values are resource usage for that specific resource + + Context specific packed data - - Summary resource usage, keys are resource names, - values are resource usage for that specific resource + + Is this invitation for voice group/conference chat - + - Serializes object + Serialize the object - serialized data + An containing the objects data - + - Deserializes object from OSD + Deserialize the message An containing the data - - Agent resource usage - - - Per attachment point object resource usage - - + - Deserializes object from OSD + Sent from the simulator to the viewer. + + When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including + a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate + this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" + + During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are + excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with + the string "ENTER" or "LEAVE" respectively. - An containing the data - + - Makes an instance based on deserialized data + Serialize the object - serialized data - Instance containg deserialized data + An containing the objects data - + - Detects which class handles deserialization of this message + Deserialize the message An containing the data - Object capable of decoding this message - - - Request message for parcel resource usage - - - UUID of the parel to request resource usage info - + - Serializes object + An EventQueue message sent when the agent is forcibly removed from a chatterbox session - serialized data - + - Deserializes object from OSD + A string containing the reason the agent was removed - An containing the data - - - Response message for parcel resource usage - - - URL where parcel resource usage details can be retrieved - - - URL where parcel resource usage summary can be retrieved - + - Serializes object + The ChatterBoxSession's SessionID - serialized data - + - Deserializes object from OSD + Serialize the object - An containing the data + An containing the objects data - + - Detects which class handles deserialization of this message + Deserialize the message An containing the data - Object capable of decoding this message - - Parcel resource usage - - - Array of containing per percal resource usage + + + Serialize the object + + An containing the objects data - + - Deserializes object from OSD + Deserialize the message An containing the data - + - Reply to request for bunch if display names + Serialize the object + An containing the objects data - - Current display name - - - Following UUIDs failed to return a valid display name - - + - Serializes the message + Deserialize the message - OSD containting the messaage + An containing the data - + - Message sent when requesting change of the display name + Serialize the object + An containing the objects data - - Current display name - - - Desired new display name - - + - Serializes the message + Deserialize the message - OSD containting the messaage + An containing the data - + - Message recieved in response to request to change display name + Serialize the object + An containing the objects data - - New display name - - - String message indicating the result of the operation - - - Numerical code of the result, 200 indicates success - - + - Serializes the message + Deserialize the message - OSD containting the messaage + An containing the data - + - Message recieved when someone nearby changes their display name + - - Previous display name, empty string if default - - - New display name - - + - Serializes the message + Serialize the object - OSD containting the messaage + An containing the objects data - + - Archives assets + Deserialize the message + An containing the data - + - Archive assets + Serialize the object + An containing the objects data - + - Archive the assets given to this archiver to the given archive. + Deserialize the message - + An containing the data - + - Write an assets metadata file to the given archive + Serialize the object - + An containing the objects data - + - Write asset data files to the given archive + Deserialize the message - + An containing the data - + - Constants for the archiving module + Event Queue message describing physics engine attributes of a list of objects + Sim sends these when object is selected - + + Array with the list of physics properties + + - The location of the archive control file + Serializes the message + Serialized OSD - + - Path for the assets held in an archive + Deseializes the message + Incoming data to deserialize - + - Path for the prims file + A message sent from the viewer to the simulator which + specifies that the user has changed current URL + of the specific media on a prim face - + - Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. + New URL - + - Path for region settings. + Prim UUID where navigation occured - + - The character the separates the uuid from extension information in an archived asset filename + Face index - + - Extensions used for asset types in the archive + Serialize the object + An containing the objects data - + - + Deserialize the message + An containing the data - + + Base class used for the ObjectMedia message + + - An instance of DelegateWrapper which calls InvokeWrappedDelegate, - which in turn calls the DynamicInvoke method of the wrapped - delegate + Message used to retrive prim media data - + - Callback used to call EndInvoke on the asynchronously - invoked DelegateWrapper + Prim UUID - + - Executes the specified delegate with the specified arguments - asynchronously on a thread pool thread + Requested operation, either GET or UPDATE - - - + - Invokes the wrapped delegate synchronously + Serialize object - - + Serialized object as OSDMap - + - Calls EndInvoke on the wrapper and Close on the resulting WaitHandle - to prevent resource leaks + Deserialize the message - + An containing the data - + - Delegate to wrap another delegate and its arguments + Message used to update prim media data - - - - - Size of the byte array used to store raw packet data - - - Raw packet data buffer - - - Length of the data to transmit - - EndPoint of the remote host - - + - Create an allocated UDP packet buffer for receiving a packet + Prim UUID - + - Create an allocated UDP packet buffer for sending a packet + Array of media entries indexed by face number - EndPoint of the remote host - + - Create an allocated UDP packet buffer for sending a packet + Media version string - EndPoint of the remote host - Size of the buffer to allocate for packet data - + - Object pool for packet buffers. This is used to allocate memory for all - incoming and outgoing packets, and zerocoding buffers for those packets + Serialize object + Serialized object as OSDMap - + - Initialize the object pool in client mode + Deserialize the message - Server to connect to - - + An containing the data - + - Initialize the object pool in server mode + Message used to update prim media data - - - + - Returns a packet buffer with EndPoint set if the buffer is in - client mode, or with EndPoint set to null in server mode + Prim UUID - Initialized UDPPacketBuffer object - + - Default constructor + Array of media entries indexed by face number - + - Check a packet buffer out of the pool + Requested operation, either GET or UPDATE - A packet buffer object - + - + Serialize object - Looking direction, must be a normalized vector - Up direction, must be a normalized vector + Serialized object as OSDMap - + - Align the coordinate frame X and Y axis with a given rotation - around the Z axis in radians + Deserialize the message - Absolute rotation around the Z axis in - radians - - - Origin position of this coordinate frame + An containing the data - - X axis of this coordinate frame, or Forward/At in grid terms + + + Message for setting or getting per face MediaEntry + - - Y axis of this coordinate frame, or Left in grid terms + + The request or response details block - - Z axis of this coordinate frame, or Up in grid terms + + + Serialize the object + + An containing the objects data - + - Static pre-defined animations available to all agents + Deserialize the message + An containing the data - - Agent with afraid expression on face + + Details about object resource usage - - Agent aiming a bazooka (right handed) + + Object UUID - - Agent aiming a bow (left handed) + + Object name - - Agent aiming a hand gun (right handed) + + Indicates if object is group owned - - Agent aiming a rifle (right handed) + + Locatio of the object - - Agent with angry expression on face + + Object owner - - Agent hunched over (away) + + Resource usage, keys are resource names, values are resource usage for that specific resource - - Agent doing a backflip + + + Deserializes object from OSD + + An containing the data - - Agent laughing while holding belly + + + Makes an instance based on deserialized data + + serialized data + Instance containg deserialized data - - Agent blowing a kiss + + Details about parcel resource usage - - Agent with bored expression on face + + Parcel UUID - - Agent bowing to audience + + Parcel local ID - - Agent brushing himself/herself off + + Parcel name - - Agent in busy mode + + Indicates if parcel is group owned - - Agent clapping hands + + Parcel owner - - Agent doing a curtsey bow + + Array of containing per object resource usage - - Agent crouching + + + Deserializes object from OSD + + An containing the data - - Agent crouching while walking + + + Makes an instance based on deserialized data + + serialized data + Instance containg deserialized data - - Agent crying + + Resource usage base class, both agent and parcel resource + usage contains summary information - - Agent unanimated with arms out (e.g. setting appearance) + + Summary of available resources, keys are resource names, + values are resource usage for that specific resource - - Agent re-animated after set appearance finished + + Summary resource usage, keys are resource names, + values are resource usage for that specific resource - - Agent dancing + + + Serializes object + + serialized data - - Agent dancing + + + Deserializes object from OSD + + An containing the data - - Agent dancing + + Agent resource usage - - Agent dancing + + Per attachment point object resource usage - - Agent dancing + + + Deserializes object from OSD + + An containing the data - - Agent dancing + + + Makes an instance based on deserialized data + + serialized data + Instance containg deserialized data - - Agent dancing + + + Detects which class handles deserialization of this message + + An containing the data + Object capable of decoding this message - - Agent dancing + + Request message for parcel resource usage - - Agent on ground unanimated + + UUID of the parel to request resource usage info - - Agent boozing it up + + + Serializes object + + serialized data - - Agent with embarassed expression on face + + + Deserializes object from OSD + + An containing the data - - Agent with afraid expression on face + + Response message for parcel resource usage - - Agent with angry expression on face + + URL where parcel resource usage details can be retrieved - - Agent with bored expression on face + + URL where parcel resource usage summary can be retrieved - - Agent crying + + + Serializes object + + serialized data - - Agent showing disdain (dislike) for something + + + Deserializes object from OSD + + An containing the data - - Agent with embarassed expression on face + + + Detects which class handles deserialization of this message + + An containing the data + Object capable of decoding this message - - Agent with frowning expression on face + + Parcel resource usage - - Agent with kissy face + + Array of containing per percal resource usage - - Agent expressing laughgter + + + Deserializes object from OSD + + An containing the data - - Agent with open mouth + + + Reply to request for bunch if display names + - - Agent with repulsed expression on face + + Current display name - - Agent expressing sadness + + Following UUIDs failed to return a valid display name - - Agent shrugging shoulders + + + Serializes the message + + OSD containting the messaage - - Agent with a smile + + + Message sent when requesting change of the display name + - - Agent expressing surprise + + Current display name - - Agent sticking tongue out + + Desired new display name - - Agent with big toothy smile + + + Serializes the message + + OSD containting the messaage - - Agent winking + + + Message recieved in response to request to change display name + - - Agent expressing worry + + New display name - - Agent falling down + + String message indicating the result of the operation - - Agent walking (feminine version) + + Numerical code of the result, 200 indicates success - - Agent wagging finger (disapproval) + + + Serializes the message + + OSD containting the messaage - - I'm not sure I want to know + + + Message recieved when someone nearby changes their display name + - - Agent in superman position + + Previous display name, empty string if default - - Agent in superman position + + New display name - - Agent greeting another + + + Serializes the message + + OSD containting the messaage - - Agent holding bazooka (right handed) + + Sort by name - - Agent holding a bow (left handed) + + Sort by date - - Agent holding a handgun (right handed) + + Sort folders by name, regardless of whether items are + sorted by name or date - - Agent holding a rifle (right handed) + + Place system folders at the top - - Agent throwing an object (right handed) + + + Possible destinations for DeRezObject request + - - Agent in static hover + + - - Agent hovering downward + + Copy from in-world to agent inventory - - Agent hovering upward + + Derez to TaskInventory - - Agent being impatient + + - - Agent jumping + + Take Object - - Agent jumping with fervor + + - - Agent point to lips then rear end + + Delete Object - - Agent landing from jump, finished flight, etc + + Put an avatar attachment into agent inventory - - Agent laughing + + - - Agent landing from jump, finished flight, etc + + Return an object back to the owner's inventory - - Agent sitting on a motorcycle + + Return a deeded object back to the last owner's inventory - - + + + Upper half of the Flags field for inventory items + - - Agent moving head side to side + + Indicates that the NextOwner permission will be set to the + most restrictive set of permissions found in the object set + (including linkset items and object inventory items) on next rez - - Agent moving head side to side with unhappy expression + + Indicates that the object sale information has been + changed - - Agent taunting another + + If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez - - + + If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez - - Agent giving peace sign + + If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez - - Agent pointing at self + + If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez - - Agent pointing at another + + If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez - - Agent preparing for jump (bending knees) + + Indicates whether this object is composed of multiple + items or not - - Agent punching with left hand + + Indicates that the asset is only referenced by this + inventory item. If this item is deleted or updated to reference a + new assetID, the asset can be deleted - - Agent punching with right hand + + + Base Class for Inventory Items + - - Agent acting repulsed + + of item/folder - - Agent trying to be Chuck Norris + + of parent folder - - Rocks, Paper, Scissors 1, 2, 3 + + Name of item/folder - - Agent with hand flat over other hand + + Item/Folder Owners - - Agent with fist over other hand + + + Constructor, takes an itemID as a parameter + + The of the item - - Agent with two fingers spread over other hand + + + + + - - Agent running + + + + + - - Agent appearing sad + + + Generates a number corresponding to the value of the object to support the use of a hash table, + suitable for use in hashing algorithms and data structures such as a hash table + + A Hashcode of all the combined InventoryBase fields - - Agent saluting + + + Determine whether the specified object is equal to the current object + + InventoryBase object to compare against + true if objects are the same - - Agent shooting bow (left handed) + + + Determine whether the specified object is equal to the current object + + InventoryBase object to compare against + true if objects are the same - - Agent cupping mouth as if shouting + + + Convert inventory to OSD + + OSD representation - - Agent shrugging shoulders + + + An Item in Inventory + - - Agent in sit position + + The of this item - - Agent in sit position (feminine) + + The combined of this item - - Agent in sit position (generic) + + The type of item from - - Agent sitting on ground + + The type of item from the enum - - Agent sitting on ground + + The of the creator of this item - - + + A Description of this item - - Agent sleeping on side + + The s this item is set to or owned by - - Agent smoking + + If true, item is owned by a group - - Agent inhaling smoke + + The price this item can be purchased for - - + + The type of sale from the enum - - Agent taking a picture + + Combined flags from - - Agent standing + + Time and date this inventory item was created, stored as + UTC (Coordinated Universal Time) - - Agent standing up + + Used to update the AssetID in requests sent to the server - - Agent standing + + The of the previous owner of the item - - Agent standing + + + Construct a new InventoryItem object + + The of the item - - Agent standing + + + Construct a new InventoryItem object of a specific Type + + The type of item from + of the item - - Agent standing + + + Indicates inventory item is a link + + True if inventory item is a link to another inventory item - - Agent stretching + + + + + - - Agent in stride (fast walk) + + + + + - - Agent surfing + + + Generates a number corresponding to the value of the object to support the use of a hash table. + Suitable for use in hashing algorithms and data structures such as a hash table + + A Hashcode of all the combined InventoryItem fields - - Agent acting surprised + + + Compares an object + + The object to compare + true if comparison object matches - - Agent striking with a sword + + + Determine whether the specified object is equal to the current object + + The object to compare against + true if objects are the same - - Agent talking (lips moving) + + + Determine whether the specified object is equal to the current object + + The object to compare against + true if objects are the same - - Agent throwing a tantrum + + + Create InventoryItem from OSD + + OSD Data that makes up InventoryItem + Inventory item created - - Agent throwing an object (right handed) + + + Convert InventoryItem to OSD + + OSD representation of InventoryItem - - Agent trying on a shirt + + + InventoryTexture Class representing a graphical image + + - - Agent turning to the left + + + Construct an InventoryTexture object + + A which becomes the + objects AssetUUID - - Agent turning to the right + + + Construct an InventoryTexture object from a serialization stream + - - Agent typing + + + InventorySound Class representing a playable sound + - - Agent walking + + + Construct an InventorySound object + + A which becomes the + objects AssetUUID - - Agent whispering + + + Construct an InventorySound object from a serialization stream + - - Agent whispering with fingers in mouth + + + InventoryCallingCard Class, contains information on another avatar + - - Agent winking + + + Construct an InventoryCallingCard object + + A which becomes the + objects AssetUUID - - Agent winking + + + Construct an InventoryCallingCard object from a serialization stream + - - Agent worried + + + InventoryLandmark Class, contains details on a specific location + - - Agent nodding yes + + + Construct an InventoryLandmark object + + A which becomes the + objects AssetUUID - - Agent nodding yes with happy face + + + Construct an InventoryLandmark object from a serialization stream + - - Agent floating with legs and arms crossed + + + Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited + - + - A dictionary containing all pre-defined animations + InventoryObject Class contains details on a primitive or coalesced set of primitives - A dictionary containing the pre-defined animations, - where the key is the animations ID, and the value is a string - containing a name to identify the purpose of the animation - + - Extract the avatar UUID encoded in a SIP URI + Construct an InventoryObject object - - + A which becomes the + objects AssetUUID - + - Permissions for control of object media + Construct an InventoryObject object from a serialization stream - + - Style of cotrols that shold be displayed to the user + Gets or sets the upper byte of the Flags value - + - Class representing media data for a single face + Gets or sets the object attachment point, the lower byte of the Flags value - - Is display of the alternative image enabled + + + InventoryNotecard Class, contains details on an encoded text document + - - Should media auto loop + + + Construct an InventoryNotecard object + + A which becomes the + objects AssetUUID - - Shoule media be auto played + + + Construct an InventoryNotecard object from a serialization stream + - - Auto scale media to prim face + + + InventoryCategory Class + + TODO: Is this even used for anything? - - Should viewer automatically zoom in on the face when clicked + + + Construct an InventoryCategory object + + A which becomes the + objects AssetUUID - - Should viewer interpret first click as interaction with the media - or when false should the first click be treated as zoom in commadn + + + Construct an InventoryCategory object from a serialization stream + - - Style of controls viewer should display when - viewer media on this face + + + InventoryLSL Class, represents a Linden Scripting Language object + - - Starting URL for the media + + + Construct an InventoryLSL object + + A which becomes the + objects AssetUUID - - Currently navigated URL + + + Construct an InventoryLSL object from a serialization stream + - - Media height in pixes + + + InventorySnapshot Class, an image taken with the viewer + - - Media width in pixels + + + Construct an InventorySnapshot object + + A which becomes the + objects AssetUUID - - Who can controls the media + + + Construct an InventorySnapshot object from a serialization stream + - - Who can interact with the media + + + InventoryAttachment Class, contains details on an attachable object + - - Is URL whitelist enabled + + + Construct an InventoryAttachment object + + A which becomes the + objects AssetUUID - - Array of URLs that are whitelisted + + + Construct an InventoryAttachment object from a serialization stream + - + - Serialize to OSD + Get the last AttachmentPoint this object was attached to - OSDMap with the serialized data - + - Deserialize from OSD data + InventoryWearable Class, details on a clothing item or body part - Serialized OSD data - Deserialized object - + - A Wrapper around openjpeg to encode and decode images to and from byte arrays + Construct an InventoryWearable object + A which becomes the + objects AssetUUID - - TGA Header size - - - OpenJPEG is not threadsafe, so this object is used to lock - during calls into unmanaged code - - + - Encode a object into a byte array + Construct an InventoryWearable object from a serialization stream - The object to encode - true to enable lossless conversion, only useful for small images ie: sculptmaps - A byte array containing the encoded Image object - + - Encode a object into a byte array + The , Skin, Shape, Skirt, Etc - The object to encode - a byte array of the encoded image - + - Decode JPEG2000 data to an and - + InventoryAnimation Class, A bvh encoded object which animates an avatar - JPEG2000 encoded data - ManagedImage object to decode to - Image object to decode to - True if the decode succeeds, otherwise false - + - + Construct an InventoryAnimation object - - - + A which becomes the + objects AssetUUID - + - + Construct an InventoryAnimation object from a serialization stream - - - - - + - Encode a object into a byte array + InventoryGesture Class, details on a series of animations, sounds, and actions - The source object to encode - true to enable lossless decoding - A byte array containing the source Bitmap object - + - Defines the beginning and ending file positions of a layer in an - LRCP-progression JPEG2000 file + Construct an InventoryGesture object + A which becomes the + objects AssetUUID - + - This structure is used to marshal both encoded and decoded images. - MUST MATCH THE STRUCT IN dotnet.h! + Construct an InventoryGesture object from a serialization stream - + - Information about a single packet in a JPEG2000 stream + A folder contains s and has certain attributes specific + to itself - - Packet start position + + The Preferred for a folder. - - Packet header end position + + The Version of this folder - - Packet end position + + Number of child items this folder contains. - + - Represents a texture + Constructor + UUID of the folder - - A object containing image data - - - - - - + + + + + - - Initializes a new instance of an AssetTexture object + + + Get Serilization data for this InventoryFolder object + - + - Initializes a new instance of an AssetTexture object + Construct an InventoryFolder object from a serialization stream - A unique specific to this asset - A byte array containing the raw asset data - + - Initializes a new instance of an AssetTexture object + - A object containing texture data + - + - Populates the byte array with a JPEG2000 - encoded image created from the data in + + + - + - Decodes the JPEG2000 data in AssetData to the - object + - True if the decoding was successful, otherwise false + + - + - Decodes the begin and end byte positions for each quality layer in - the image + + - - Override the base classes AssetType + + + Create InventoryFolder from OSD + + OSD Data that makes up InventoryFolder + Inventory folder created - + - Represents an that represents an avatars body ie: Hair, Etc. + Convert InventoryItem to OSD + OSD representation of InventoryItem - - Initializes a new instance of an AssetBodyPart object + + + Tools for dealing with agents inventory + - - Initializes a new instance of an AssetBodyPart object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + Used for converting shadow_id to asset_id - - Override the base classes AssetType + + The event subscribers, null of no subscribers - - - - + + Raises the ItemReceived Event + A ItemReceivedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the FolderUpdated Event + A FolderUpdatedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the InventoryObjectOffered Event + A InventoryObjectOfferedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the TaskItemReceived Event + A TaskItemReceivedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the FindObjectByPath Event + A FindObjectByPathEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the TaskInventoryReply Event + A TaskInventoryReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the SaveAssetToInventory Event + A SaveAssetToInventoryEventArgs object containing + the data sent from the simulator - - The avatar has no rights + + Thread sync lock object - - The avatar can see the online status of the target avatar + + The event subscribers, null of no subscribers - - The avatar can see the location of the target avatar on the map + + Raises the ScriptRunningReply Event + A ScriptRunningReplyEventArgs object containing + the data sent from the simulator - - The avatar can modify the ojects of the target avatar + + Thread sync lock object - + + Partial mapping of AssetTypes to folder names + + - This class holds information about an avatar in the friends list. There are two ways - to interface to this class. The first is through the set of boolean properties. This is the typical - way clients of this class will use it. The second interface is through two bitflag properties, - TheirFriendsRights and MyFriendsRights + Default constructor + Reference to the GridClient object - + - Used internally when building the initial list of friends at login time + Fetch an inventory item from the dataserver - System ID of the avatar being prepesented - Rights the friend has to see you online and to modify your objects - Rights you have to see your friend online and to modify their objects + The items + The item Owners + a integer representing the number of milliseconds to wait for results + An object on success, or null if no item was found + Items will also be sent to the event - + - FriendInfo represented as a string + Request A single inventory item - A string reprentation of both my rights and my friends rights + The items + The item Owners + - + - System ID of the avatar + Request inventory items + Inventory items to request + Owners of the inventory items + - + - full name of the avatar + Request inventory items via Capabilities + Inventory items to request + Owners of the inventory items + - + - True if the avatar is online + Get contents of a folder + The of the folder to search + The of the folders owner + true to retrieve folders + true to retrieve items + sort order to return results in + a integer representing the number of milliseconds to wait for results + A list of inventory items matching search criteria within folder + + InventoryFolder.DescendentCount will only be accurate if both folders and items are + requested - + - True if the friend can see if I am online + Request the contents of an inventory folder + The folder to search + The folder owners + true to return s contained in folder + true to return s containd in folder + the sort order to return items in + - + - True if the friend can see me on the map + Request the contents of an inventory folder using HTTP capabilities + The folder to search + The folder owners + true to return s contained in folder + true to return s containd in folder + the sort order to return items in + - + - True if the freind can modify my objects + Returns the UUID of the folder (category) that defaults to + containing 'type'. The folder is not necessarily only for that + type + This will return the root folder if one does not exist + + The UUID of the desired folder if found, the UUID of the RootFolder + if not found, or UUID.Zero on failure - + - True if I can see if my friend is online + Find an object in inventory using a specific path to search + The folder to begin the search in + The object owners + A string path to search + milliseconds to wait for a reply + Found items or if + timeout occurs or item is not found - + - True if I can see if my friend is on the map + Find inventory items by path + The folder to begin the search in + The object owners + A string path to search, folders/objects separated by a '/' + Results are sent to the event - + - True if I can modify my friend's objects + Search inventory Store object for an item or folder + The folder to begin the search in + An array which creates a path to search + Number of levels below baseFolder to conduct searches + if True, will stop searching after first match is found + A list of inventory items found - + - My friend's rights represented as bitmapped flags + Move an inventory item or folder to a new location + The item or folder to move + The to move item or folder to - + - My rights represented as bitmapped flags + Move an inventory item or folder to a new location and change its name + The item or folder to move + The to move item or folder to + The name to change the item or folder to - + - This class is used to add and remove avatars from your friends list and to manage their permission. + Move and rename a folder + The source folders + The destination folders + The name to change the folder to - - The event subscribers. null if no subcribers - - - Raises the FriendOnline event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the FriendOffline event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the FriendRightsUpdate event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the FriendNames event - A FriendNamesEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the FriendshipOffered event - A FriendshipOfferedEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the FriendshipResponse event - A FriendshipResponseEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the FriendshipTerminated event - A FriendshipTerminatedEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the FriendFoundReply event - A FriendFoundReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - + - A dictionary of key/value pairs containing known friends of this avatar. - - The Key is the of the friend, the value is a - object that contains detailed information including permissions you have and have given to the friend + Update folder properties + of the folder to update + Sets folder's parent to + Folder name + Folder type - + - A Dictionary of key/value pairs containing current pending frienship offers. - - The key is the of the avatar making the request, - the value is the of the request which is used to accept - or decline the friendship offer + Move a folder + The source folders + The destination folders - + - Internal constructor + Move multiple folders, the keys in the Dictionary parameter, + to a new parents, the value of that folder's key. - A reference to the GridClient Object + A Dictionary containing the + of the source as the key, and the + of the destination as the value - + - Accept a friendship request + Move an inventory item to a new folder - agentID of avatatar to form friendship with - imSessionID of the friendship request message + The of the source item to move + The of the destination folder - + - Decline a friendship request + Move and rename an inventory item - of friend - imSessionID of the friendship request message + The of the source item to move + The of the destination folder + The name to change the folder to - + - Overload: Offer friendship to an avatar. + Move multiple inventory items to new locations - System ID of the avatar you are offering friendship to + A Dictionary containing the + of the source item as the key, and the + of the destination folder as the value - + - Offer friendship to an avatar. + Remove descendants of a folder - System ID of the avatar you are offering friendship to - A message to send with the request + The of the folder - + - Terminate a friendship with an avatar + Remove a single item from inventory - System ID of the avatar you are terminating the friendship with - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + The of the inventory item to remove - + - Change the rights of a friend avatar. + Remove a folder from inventory - the of the friend - the new rights to give the friend - This method will implicitly set the rights to those passed in the rights parameter. + The of the folder to remove - + - Use to map a friends location on the grid. + Remove multiple items or folders from inventory - Friends UUID to find - + A List containing the s of items to remove + A List containing the s of the folders to remove - + - Use to track a friends movement on the grid + Empty the Lost and Found folder - Friends Key - + - Ask for a notification of friend's online status + Empty the Trash folder - Friend's UUID - + - This handles the asynchronous response of a RequestAvatarNames call. + - - names cooresponding to the the list of IDs sent the the RequestAvatarNames call. - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + - + - Populate FriendList with data from the login reply + - true if login was successful - true if login request is requiring a redirect - A string containing the response to the login request - A string containing the reason for the request - A object containing the decoded - reply from the login server - - - Raised when the simulator sends notification one of the members in our friends list comes online - - - Raised when the simulator sends notification one of the members in our friends list goes offline - - - Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions - - - Raised when the simulator sends us the names on our friends list - - - Raised when the simulator sends notification another agent is offering us friendship - - - Raised when a request we sent to friend another agent is accepted or declined - - - Raised when the simulator sends notification one of the members in our friends list has terminated - our friendship - - - Raised when the simulator sends the location of a friend we have - requested map location info for - - - Contains information on a member of our friends list + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + + - + - Construct a new instance of the FriendInfoEventArgs class + Creates a new inventory folder - The FriendInfo - - - Get the FriendInfo - - - Contains Friend Names + ID of the folder to put this folder in + Name of the folder to create + The UUID of the newly created folder - + - Construct a new instance of the FriendNamesEventArgs class + Creates a new inventory folder - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name - - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name - - - Sent when another agent requests a friendship with our agent + ID of the folder to put this folder in + Name of the folder to create + Sets this folder as the default folder + for new assets of the specified type. Use AssetType.Unknown + to create a normal folder, otherwise it will likely create a + duplicate of an existing folder type + The UUID of the newly created folder + If you specify a preferred type of AsseType.Folder + it will create a new root folder which may likely cause all sorts + of strange problems - + - Construct a new instance of the FriendshipOfferedEventArgs class + Create an inventory item and upload asset data - The ID of the agent requesting friendship - The name of the agent requesting friendship - The ID of the session, used in accepting or declining the - friendship offer - - - Get the ID of the agent requesting friendship - - - Get the name of the agent requesting friendship - - - Get the ID of the session, used in accepting or declining the - friendship offer - - - A response containing the results of our request to form a friendship with another agent + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Delegate that will receive feedback on success or failure - + - Construct a new instance of the FriendShipResponseEventArgs class + Create an inventory item and upload asset data - The ID of the agent we requested a friendship with - The name of the agent we requested a friendship with - true if the agent accepted our friendship offer - - - Get the ID of the agent we requested a friendship with - - - Get the name of the agent we requested a friendship with - - - true if the agent accepted our friendship offer - - - Contains data sent when a friend terminates a friendship with us + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Permission of the newly created item + (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) + Delegate that will receive feedback on success or failure - + - Construct a new instance of the FrindshipTerminatedEventArgs class + Creates inventory link to another inventory item or folder - The ID of the friend who terminated the friendship with us - The name of the friend who terminated the friendship with us + Put newly created link in folder with this UUID + Inventory item or folder + Method to call upon creation of the link - - Get the ID of the agent that terminated the friendship with us + + + Creates inventory link to another inventory item + + Put newly created link in folder with this UUID + Original inventory item + Method to call upon creation of the link - - Get the name of the agent that terminated the friendship with us + + + Creates inventory link to another inventory folder + + Put newly created link in folder with this UUID + Original inventory folder + Method to call upon creation of the link - + - Data sent in response to a request which contains the information to allow us to map the friends location + Creates inventory link to another inventory item or folder + Put newly created link in folder with this UUID + Original item's UUID + Name + Description + Asset Type + Inventory Type + Transaction UUID + Method to call upon creation of the link - + - Construct a new instance of the FriendFoundReplyEventArgs class + - The ID of the agent we have requested location information for - The region handle where our friend is located - The simulator local position our friend is located + + + + - - Get the ID of the agent we have received location information for + + + + + + + + + - - Get the region handle where our mapped friend is located + + + + + + + + + - - Get the simulator local position where our friend is located + + + Request a copy of an asset embedded within a notecard + + Usually UUID.Zero for copying an asset from a notecard + UUID of the notecard to request an asset from + Target folder for asset to go to in your inventory + UUID of the embedded asset + callback to run when item is copied to inventory - + + - - OK - - - Transfer completed + + + + + - - + + + + + + - - + + + + + + + - - Unknown error occurred + + + Save changes to notecard embedded in object contents + + Encoded notecard asset data + Notecard UUID + Object's UUID + Called upon finish of the upload with status information - - Equivalent to a 404 error + + + Upload new gesture asset for an inventory gesture item + + Encoded gesture asset + Gesture inventory UUID + Callback whick will be called when upload is complete - - Client does not have permission for that resource + + + Update an existing script in an agents Inventory + + A byte[] array containing the encoded scripts contents + the itemID of the script + if true, sets the script content to run on the mono interpreter + - - Unknown status + + + Update an existing script in an task Inventory + + A byte[] array containing the encoded scripts contents + the itemID of the script + UUID of the prim containting the script + if true, sets the script content to run on the mono interpreter + if true, sets the script to running + - + - + Rez an object from inventory + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details - - + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object - - Unknown + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object + User defined queryID to correlate replies + If set to true, the CreateSelected flag + will be set on the rezzed object - - Virtually all asset transfers use this channel + + + Rez an object from inventory + + Simulator to place object in + TaskID object when rezzed + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object + User defined queryID to correlate replies + If set to true, the CreateSelected flag + will be set on the rezzed object - + - + DeRez an object from the simulator to the agents Objects folder in the agents Inventory + The simulator Local ID of the object + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - + + + DeRez an object from the simulator and return to inventory + + The simulator Local ID of the object + The type of destination from the enum + The destination inventory folders -or- + if DeRezzing object to a tasks Inventory, the Tasks + The transaction ID for this request which + can be used to correlate this request with other packets + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - Asset from the asset server + + + Rez an item from inventory to its previous simulator location + + + + + - - Inventory item + + + Give an inventory item to another avatar + + The of the item to give + The name of the item + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer - - Estate asset, such as an estate covenant + + + Give an inventory Folder with contents to another avatar + + The of the Folder to give + The name of the folder + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer - + - + Copy or move an from agent inventory to a task (primitive) inventory + The target object + The item to copy or move from inventory + + For items with copy permissions a copy of the item is placed in the tasks inventory, + for no-copy items the object is moved to the tasks inventory - - - - - - - - - - + - When requesting image download, type of the image requested + Retrieve a listing of the items contained in a task (Primitive) + The tasks + The tasks simulator local ID + milliseconds to wait for reply from simulator + A list containing the inventory items inside the task or null + if a timeout occurs + This request blocks until the response from the simulator arrives + or timeoutMS is exceeded - - Normal in-world object texture - - - Avatar texture + + + Request the contents of a tasks (primitives) inventory from the + current simulator + + The LocalID of the object + - - Server baked avatar texture + + + Request the contents of a tasks (primitives) inventory + + The simulator Local ID of the object + A reference to the simulator object that contains the object + - + - Image file format + Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory + LocalID of the object in the simulator + UUID of the task item to move + The ID of the destination folder in this agents inventory + Simulator Object + Raises the event - + - + Remove an item from an objects (Prim) Inventory + LocalID of the object in the simulator + UUID of the task item to remove + Simulator Object + You can confirm the removal by comparing the tasks inventory serial before and after the + request with the request combined with + the event - - Number of milliseconds passed since the last transfer - packet was received + + + Copy an InventoryScript item from the Agents Inventory into a primitives task inventory + + An unsigned integer representing a primitive being simulated + An which represents a script object from the agents inventory + true to set the scripts running state to enabled + A Unique Transaction ID + + The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory + and assumes the script exists in the agents inventory. + + uint primID = 95899503; // Fake prim ID + UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory + + Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, + false, true, InventorySortOrder.ByName, 10000); + + Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); + + - + - + Request the running status of a script contained in a task (primitive) inventory + The ID of the primitive containing the script + The ID of the script + The event can be used to obtain the results of the + request + - + - + Send a request to set the running state of a script contained in a task (primitive) inventory + The ID of the primitive containing the script + The ID of the script + true to set the script running, false to stop a running script + To verify the change you can use the method combined + with the event - + - + Create a CRC from an InventoryItem + The source InventoryItem + A uint representing the source InventoryItem as a CRC - + - + Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id + Obfuscated shadow_id value + Deobfuscated asset_id value - + - + Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id + asset_id value to obfuscate + Obfuscated shadow_id value - + - + Wrapper for creating a new object - - - - + The type of item from the enum + The of the newly created object + An object with the type and id passed - + - + Parse the results of a RequestTaskInventory() response + A string which contains the data from the task reply + A List containing the items contained within the tasks inventory - - Number of milliseconds to wait for a transfer header packet if out of order data was received - - - The event subscribers. null if no subcribers - - - Raises the XferReceived event - A XferReceivedEventArgs object containing the - data returned from the simulator + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers. null if no subcribers + + + UpdateCreateInventoryItem packets are received when a new inventory item + is created. This may occur when an object that's rezzed in world is + taken into inventory, when an item is created using the CreateInventoryItem + packet, or when an object is purchased + + The sender + The EventArgs object containing the packet data - - Raises the AssetUploaded event - A AssetUploadedEventArgs object containing the - data returned from the simulator + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers. null if no subcribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Raises the UploadProgress event - A UploadProgressEventArgs object containing the - data returned from the simulator + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Thread sync lock object + + Raised when the simulator sends us data containing + ... - - The event subscribers. null if no subcribers + + Raised when the simulator sends us data containing + ... - - Raises the InitiateDownload event - A InitiateDownloadEventArgs object containing the - data returned from the simulator + + Raised when the simulator sends us data containing + an inventory object sent by another avatar or primitive - - Thread sync lock object + + Raised when the simulator sends us data containing + ... - - The event subscribers. null if no subcribers + + Raised when the simulator sends us data containing + ... - - Raises the ImageReceiveProgress event - A ImageReceiveProgressEventArgs object containing the - data returned from the simulator + + Raised when the simulator sends us data containing + ... - - Thread sync lock object + + Raised when the simulator sends us data containing + ... - - Texture download cache + + Raised when the simulator sends us data containing + ... - + - Default constructor + Get this agents Inventory data - A reference to the GridClient object - + - Request an asset download + Callback for inventory item creation finishing - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - The callback to fire when the simulator responds with the asset data + Whether the request to create an inventory + item succeeded or not + Inventory item being created. If success is + false this will be null - + - Request an asset download + Callback for an inventory item being create from an uploaded asset - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - The callback to fire when the simulator responds with the asset data + true if inventory item creation was successful + + + - + - Request an asset download + - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - UUID of the transaction - The callback to fire when the simulator responds with the asset data + - + - Request an asset download through the almost deprecated Xfer system + Reply received when uploading an inventory asset - Filename of the asset to request - Whether or not to delete the asset - off the server after it is retrieved - Use large transfer packets or not - UUID of the file to request, if filename is - left empty - Asset type of vFileID, or - AssetType.Unknown if filename is not empty - Sets the FilePath in the request to Cache - (4) if true, otherwise Unknown (0) is used - + Has upload been successful + Error message if upload failed + Inventory asset UUID + New asset UUID - + - + Delegate that is invoked when script upload is completed - Use UUID.Zero if you do not have the - asset ID but have all the necessary permissions - The item ID of this asset in the inventory - Use UUID.Zero if you are not requesting an - asset from an object inventory - The owner of this asset - Asset type - Whether to prioritize this asset download or not - + Has upload succeded (note, there still might be compile errors) + Upload status message + Is compilation successful + If compilation failed, list of error messages, null on compilation success + Script inventory UUID + Script's new asset UUID - + + Set to true to accept offer, false to decline it + + + The folder to accept the inventory into, if null default folder for will be used + + - Used to force asset data into the PendingUpload property, ie: for raw terrain uploads + Callback when an inventory object is accepted and received from a + task inventory. This is the callback in which you actually get + the ItemID, as in ObjectOfferedCallback it is null when received + from a task. - An AssetUpload object containing the data to upload to the simulator - + - Request an asset be uploaded to the simulator + Map layer request type - The Object containing the asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - + + Objects and terrain are shown + + + Only the terrain is shown, no objects + + + Overlay showing land for sale and for auction + + - Request an asset be uploaded to the simulator + Type of grid item, such as telehub, event, populator location, etc. - The of the asset being uploaded - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - + + Telehub + + + PG rated event + + + Mature rated event + + + Popular location + + + Locations of avatar groups in a region + + + Land for sale + + + Classified ad + + + Adult rated event + + + Adult land for sale + + - Request an asset be uploaded to the simulator + Information about a region on the grid map - - Asset type to upload this data as - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - + + Sim X position on World Map + + + Sim Y position on World Map + + + Sim Name (NOTE: In lowercase!) + + + + + + Appears to always be zero (None) + + + Sim's defined Water Height + + + + + + UUID of the World Map image + + + Unique identifier for this region, a combination of the X + and Y position + + - Initiate an asset upload + - The ID this asset will have if the - upload succeeds - Asset type to upload this data as - Raw asset data to upload - Whether to store this asset on the local - simulator or the grid-wide asset server - The tranaction id for the upload - The transaction ID of this transfer + - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress - transfer. - A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority - indicating an off-by-one error. - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - Request an image and fire a callback when the request is complete - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - - Request an image and use an inline anonymous method to handle the downloaded texture data - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - ); - - Request a texture, decode the texture to a bitmap image and apply it to a imagebox - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - ManagedImage imgData; - Image bitmap; + + - if (state == TextureRequestState.Finished) - { - OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); - picInsignia.Image = bitmap; - } - } - } - - + + - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + - The of the texture asset to download - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data + + - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + Visual chunk of the grid map - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + Base class for Map Items - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - + + The Global X position of the item + + + The Global Y position of the item + + + Get the Local X position of the item + + + Get the Local Y position of the item + + + Get the Handle of the region + + - Cancel a texture request + Represents an agent or group of agents location - The texture assets - + - Requests download of a mesh asset + Represents a Telehub location - UUID of the mesh asset - Callback when the request completes - + - Fetach avatar texture on a grid capable of server side baking + Represents a non-adult parcel of land for sale - ID of the avatar - ID of the texture - Name of the part of the avatar texture applies to - Callback invoked on operation completion - + - Lets TexturePipeline class fire the progress event + Represents an Adult parcel of land for sale - The texture ID currently being downloaded - the number of bytes transferred - the total number of bytes expected - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Represents a PG Event + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Represents a Mature event + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Represents an Adult event + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Manages grid-wide tasks such as the world map + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Raises the CoarseLocationUpdate event + A CoarseLocationUpdateEventArgs object containing the + data sent by simulator - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Raised when the simulator responds sends + + Raises the GridRegion event + A GridRegionEventArgs object containing the + data sent by simulator - - Raised during upload completes + + Thread sync lock object - - Raised during upload with progres update + + The event subscribers. null if no subcribers - - Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files + + Raises the GridLayer event + A GridLayerEventArgs object containing the + data sent by simulator - - Fired when a texture is in the process of being downloaded by the TexturePipeline class + + Thread sync lock object - + + The event subscribers. null if no subcribers + + + Raises the GridItems event + A GridItemEventArgs object containing the + data sent by simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the RegionHandleReply event + A RegionHandleReplyEventArgs object containing the + data sent by simulator + + + Thread sync lock object + + + A dictionary of all the regions, indexed by region name + + + A dictionary of all the regions, indexed by region handle + + - Callback used for various asset download requests + Constructor - Transfer information - Downloaded asset, null on fail + Instance of GridClient object to associate with this GridManager instance - + - Callback used upon competition of baked texture upload + - Asset UUID of the newly uploaded baked texture + + + + + Request a map layer + + The name of the region + The type of layer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Request data for all mainland (Linden managed) simulators + + + + + Request the region handle for the specified region UUID + + UUID of the region to look up - + - A callback that fires upon the completition of the RequestMesh call + Get grid region information using the region name, this function + will block until it can find the region or gives up - Was the download successfull - Resulting mesh or null on problems - - - Xfer data - - - Upload data - - - Filename used on the simulator + Name of sim you're looking for + Layer that you are requesting + Will contain a GridRegion for the sim you're + looking for if successful, otherwise an empty structure + True if the GridRegion was successfully fetched, otherwise + false - - Filename used by the client + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - UUID of the image that is in progress + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Number of bytes received so far + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Image size in bytes + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers. null if no subcribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Raises the LandPatchReceived event - A LandPatchReceivedEventArgs object containing the - data returned from the simulator + + Raised when the simulator sends a + containing the location of agents in the simulator - - Thread sync lock object + + Raised when the simulator sends a Region Data in response to + a Map request - - - Default constructor - - + + Raised when the simulator sends GridLayer object containing + a map tile coordinates and texture information - - Raised when the simulator responds sends + + Raised when the simulator sends GridItems object containing + details on events, land sales at a specific location - - Simulator from that sent tha data + + Raised in response to a Region lookup - - Sim coordinate of the patch + + Unknown - - Sim coordinate of the patch + + Current direction of the sun - - Size of tha patch + + Current angular velocity of the sun - - Heightmap for the patch + + Microseconds since the start of SL 4-hour day - + - Registers, unregisters, and fires events generated by incoming packets + + Looking direction, must be a normalized vector + Up direction, must be a normalized vector - - Reference to the GridClient object - - + - Default constructor + Align the coordinate frame X and Y axis with a given rotation + around the Z axis in radians - + Absolute rotation around the Z axis in + radians - - - Register an event handler - - Use PacketType.Default to fire this event on every - incoming packet - Packet type to register the handler for - Callback to be fired - True if this callback should be ran - asynchronously, false to run it synchronous + + Origin position of this coordinate frame - - - Unregister an event handler - - Packet type to unregister the handler for - Callback to be unregistered + + X axis of this coordinate frame, or Forward/At in grid terms - - - Fire the events registered for this packet type - - Incoming packet type - Incoming packet - Simulator this packet was received from + + Y axis of this coordinate frame, or Left in grid terms - + + Z axis of this coordinate frame, or Up in grid terms + + - Object that is passed to worker threads in the ThreadPool for - firing packet callbacks + Represents a texture - - Callback to fire for this packet - - - Reference to the simulator that this packet came from - - - The packet that needs to be processed + + A object containing image data - - - Registers, unregisters, and fires events generated by the Capabilities - event queue - + + - - Reference to the GridClient object + + - - - Default constructor - - Reference to the GridClient object + + Initializes a new instance of an AssetTexture object - + - Register an new event handler for a capabilities event sent via the EventQueue + Initializes a new instance of an AssetTexture object - Use String.Empty to fire this event on every CAPS event - Capability event name to register the - handler for - Callback to fire + A unique specific to this asset + A byte array containing the raw asset data - + - Unregister a previously registered capabilities handler + Initializes a new instance of an AssetTexture object - Capability event name unregister the - handler for - Callback to unregister + A object containing texture data - + - Fire the events registered for this event type synchronously + Populates the byte array with a JPEG2000 + encoded image created from the data in - Capability name - Decoded event body - Reference to the simulator that - generated this event - + - Fire the events registered for this event type asynchronously + Decodes the JPEG2000 data in AssetData to the + object - Capability name - Decoded event body - Reference to the simulator that - generated this event + True if the decoding was successful, otherwise false - + - Object that is passed to worker threads in the ThreadPool for - firing CAPS callbacks + Decodes the begin and end byte positions for each quality layer in + the image + - - Callback to fire for this packet - - - Name of the CAPS event - - - Strongly typed decoded data - - - Reference to the simulator that generated this event - - - Describes tasks returned in LandStatReply + + Override the base classes AssetType - + - Estate level administration and utilities + Class for controlling various system settings. + Some values are readonly because they affect things that + happen when the GridClient object is initialized, so changing them at + runtime won't do any good. Non-readonly values may affect things that + happen at login or dynamically - - Textures for each of the four terrain height levels + + Main grid login server - - Upper/lower texture boundaries for each corner of the sim + + Beta grid login server - + - Constructor for EstateTools class + InventoryManager requests inventory information on login, + GridClient initializes an Inventory store for main inventory. - - - The event subscribers. null if no subcribers + + + InventoryManager requests library information on login, + GridClient initializes an Inventory store for the library. + - - Raises the TopCollidersReply event - A TopCollidersReplyEventArgs object containing the - data returned from the data server + + Number of milliseconds between sending pings to each sim - - Thread sync lock object + + Number of milliseconds between sending camera updates - - The event subscribers. null if no subcribers + + Number of milliseconds between updating the current + positions of moving, non-accelerating and non-colliding objects - - Raises the TopScriptsReply event - A TopScriptsReplyEventArgs object containing the - data returned from the data server + + Millisecond interval between ticks, where all ACKs are + sent out and the age of unACKed packets is checked - - Thread sync lock object + + The initial size of the packet inbox, where packets are + stored before processing - - The event subscribers. null if no subcribers + + Maximum size of packet that we want to send over the wire - - Raises the EstateUsersReply event - A EstateUsersReplyEventArgs object containing the - data returned from the data server + + The maximum value of a packet sequence number before it + rolls over back to one - - Thread sync lock object + + The relative directory where external resources are kept - - The event subscribers. null if no subcribers + + Login server to connect to - - Raises the EstateGroupsReply event - A EstateGroupsReplyEventArgs object containing the - data returned from the data server + + IP Address the client will bind to - - Thread sync lock object + + Use XML-RPC Login or LLSD Login, default is XML-RPC Login - - The event subscribers. null if no subcribers + + + Use Caps for fetching inventory where available + - - Raises the EstateManagersReply event - A EstateManagersReplyEventArgs object containing the - data returned from the data server + + Number of milliseconds before an asset transfer will time + out - - Thread sync lock object + + Number of milliseconds before a teleport attempt will time + out - - The event subscribers. null if no subcribers + + Number of milliseconds before NetworkManager.Logout() will + time out - - Raises the EstateBansReply event - A EstateBansReplyEventArgs object containing the - data returned from the data server + + Number of milliseconds before a CAPS call will time out + Setting this too low will cause web requests time out and + possibly retry repeatedly - - Thread sync lock object + + Number of milliseconds for xml-rpc to timeout - - The event subscribers. null if no subcribers + + Milliseconds before a packet is assumed lost and resent - - Raises the EstateCovenantReply event - A EstateCovenantReplyEventArgs object containing the - data returned from the data server + + Milliseconds without receiving a packet before the + connection to a simulator is assumed lost - - Thread sync lock object + + Milliseconds to wait for a simulator info request through + the grid interface - - The event subscribers. null if no subcribers + + The maximum size of the sequence number archive, used to + check for resent and/or duplicate packets - - Raises the EstateUpdateInfoReply event - A EstateUpdateInfoReplyEventArgs object containing the - data returned from the data server + + Maximum number of queued ACKs to be sent before SendAcks() + is forced - - Thread sync lock object + + Network stats queue length (seconds) - + - Requests estate information such as top scripts and colliders + Primitives will be reused when falling in/out of interest list (and shared between clients) + prims returning to interest list do not need re-requested + Helps also in not re-requesting prim.Properties for code that checks for a Properties == null per client - - - - - - - Requests estate settings, including estate manager and access/ban lists - - - Requests the "Top Scripts" list for the current region - - Requests the "Top Colliders" list for the current region - - + - Set several estate specific configuration variables + Pool parcel data between clients (saves on requesting multiple times when all clients may need it) - The Height of the waterlevel over the entire estate. Defaults to 20 - The maximum height change allowed above the baked terrain. Defaults to 4 - The minimum height change allowed below the baked terrain. Defaults to -4 - true to use - if True forces the sun position to the position in SunPosition - The current position of the sun on the estate, or when FixedSun is true the static position - the sun will remain. 6.0 = Sunrise, 30.0 = Sunset - + - Request return of objects owned by specified avatar + How long to preserve cached data when no client is connected to a simulator + The reason for setting it to something like 2 minutes is in case a client + is running back and forth between region edges or a sim is comming and going - The Agents owning the primitives to return - specify the coverage and type of objects to be included in the return - true to perform return on entire estate - - - - + + Enable/disable storing terrain heightmaps in the + TerrainManager - - - Used for setting and retrieving various estate panel settings - - EstateOwnerMessage Method field - List of parameters to include + + Enable/disable sending periodic camera updates - - - Kick an avatar from an estate - - Key of Agent to remove + + Enable/disable automatically setting agent appearance at + login and after sim crossing - - - Ban an avatar from an estate - Key of Agent to remove - Ban user from this estate and all others owned by the estate owner + + Enable/disable automatically setting the bandwidth throttle + after connecting to each simulator + The default throttle uses the equivalent of the maximum + bandwidth setting in the official client. If you do not set a + throttle your connection will by default be throttled well below + the minimum values and you may experience connection problems + + + Enable/disable the sending of pings to monitor lag and + packet loss + + + Should we connect to multiple sims? This will allow + viewing in to neighboring simulators and sim crossings + (Experimental) + + + If true, all object update packets will be decoded in to + native objects. If false, only updates for our own agent will be + decoded. Registering an event handler will force objects for that + type to always be decoded. If this is disabled the object tracking + will have missing or partial prim and avatar information + + + If true, when a cached object check is received from the + server the full object info will automatically be requested + + + Whether to establish connections to HTTP capabilities + servers for simulators + + + Whether to decode sim stats + + + The capabilities servers are currently designed to + periodically return a 502 error which signals for the client to + re-establish a connection. Set this to true to log those 502 errors + + + If true, any reference received for a folder or item + the library is not aware of will automatically be fetched + + + If true, and SEND_AGENT_UPDATES is true, + AgentUpdate packets will continuously be sent out to give the bot + smoother movement and autopiloting + + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectAvatars. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received - - Unban an avatar from an estate - Key of Agent to remove - /// Unban user from this estate and all others owned by the estate owner + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectPrimitives. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received - - - Send a message dialog to everyone in an entire estate - - Message to send all users in the estate + + If true, position and velocity will periodically be + interpolated (extrapolated, technically) for objects and + avatars that are being tracked by the library. This is + necessary to increase the accuracy of speed and position + estimates for simulated objects - + - Send a message dialog to everyone in a simulator + If true, utilization statistics will be tracked. There is a minor penalty + in CPU time for enabling this option. - Message to send all users in the simulator - + + If true, parcel details will be stored in the + Simulator.Parcels dictionary as they are received + + - Send an avatar back to their home location + If true, an incoming parcel properties reply will automatically send + a request for the parcel access list - Key of avatar to send home - + - Begin the region restart process + if true, an incoming parcel properties reply will automatically send + a request for the traffic count. - + - Cancels a region restart + If true, images, and other assets downloaded from the server + will be cached in a local directory - - Estate panel "Region" tab settings + + Path to store cached texture data - - Estate panel "Debug" tab settings + + Maximum size cached files are allowed to take on disk (bytes) - - Used for setting the region's terrain textures for its four height levels - - - - + + Default color used for viewer particle effects - - Used for setting sim terrain texture heights + + Maximum number of times to resend a failed packet - - Requests the estate covenant + + Throttle outgoing packet rate - - - Upload a terrain RAW file - - A byte array containing the encoded terrain data - The name of the file being uploaded - The Id of the transfer request + + UUID of a texture used by some viewers to indentify type of client used - + - Teleports all users home in current Estate + Download textures using GetTexture capability when available - - - Remove estate manager - Key of Agent to Remove - removes manager to this estate and all others owned by the estate owner + + The maximum number of concurrent texture downloads allowed + Increasing this number will not necessarily increase texture retrieval times due to + simulator throttles - + - Add estate manager - Key of Agent to Add - Add agent as manager to this estate and all others owned by the estate owner + The Refresh timer inteval is used to set the delay between checks for stalled texture downloads + + This is a static variable which applies to all instances - + - Add's an agent to the estate Allowed list - Key of Agent to Add - Add agent as an allowed reisdent to All estates if true + Textures taking longer than this value will be flagged as timed out and removed from the pipeline + - + - Removes an agent from the estate Allowed list - Key of Agent to Remove - Removes agent as an allowed reisdent from All estates if true - - + Get or set the minimum log level to output to the console by default - - Add's a group to the estate Allowed list - Key of Group to Add - Add Group as an allowed group to All estates if true + If the library is not compiled with DEBUG defined and this level is set to DEBUG + You will get no output on the console. This behavior can be overriden by creating + a logger configuration file for log4net + - - - - Removes a group from the estate Allowed list - Key of Group to Remove - Removes Group as an allowed Group from All estates if true + + Attach avatar names to log messages - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Log packet retransmission info - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Log disk cache misses and other info - + + Constructor + Reference to a GridClient object + + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. + + Cost of uploading an asset + Read-only since this value is dynamically fetched at login - - Raised when the data server responds to a request. + + + Main class to expose grid functionality to clients. All of the + classes needed for sending and receiving data are accessible through + this class. + + + + // Example minimum code required to instantiate class and + // connect to a simulator. + using System; + using System.Collections.Generic; + using System.Text; + using OpenMetaverse; + + namespace FirstBot + { + class Bot + { + public static GridClient Client; + static void Main(string[] args) + { + Client = new GridClient(); // instantiates the GridClient class + // to the global Client object + // Login to Simulator + Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); + // Wait for a Keypress + Console.ReadLine(); + // Logout of simulator + Client.Network.Logout(); + } + } + } + + - - Used in the ReportType field of a LandStatRequest + + Networking subsystem - - Used by EstateOwnerMessage packets + + Settings class including constant values and changeable + parameters for everything - - Used by EstateOwnerMessage packets + + Parcel (subdivided simulator lots) subsystem - - - - + + Our own avatars subsystem - - No flags set + + Other avatars subsystem - - Only return targets scripted objects + + Estate subsystem - - Only return targets objects if on others land + + Friends list subsystem - - Returns target's scripted objects and objects on other parcels + + Grid (aka simulator group) subsystem - - Ground texture settings for each corner of the region + + Object subsystem - - Used by GroundTextureHeightSettings + + Group subsystem - - The high and low texture thresholds for each corner of the sim + + Asset subsystem - - Raised on LandStatReply when the report type is for "top colliders" + + Appearance subsystem - - Construct a new instance of the TopCollidersReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply + + Inventory subsystem - - - The number of returned items in LandStatReply - + + Directory searches including classifieds, people, land + sales, etc - - - A Dictionary of Object UUIDs to tasks returned in LandStatReply - + + Handles land, wind, and cloud heightmaps - - Raised on LandStatReply when the report type is for "top Scripts" + + Handles sound-related networking - - Construct a new instance of the TopScriptsReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply + + Throttling total bandwidth usage, or allocating bandwidth + for specific data stream types - + - The number of scripts returned in LandStatReply + Default constructor - + - A Dictionary of Object UUIDs to tasks returned in LandStatReply + Return the full name of this instance + Client avatars full name - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateBansReplyEventArgs class - The estate's identifier on the grid - The number of returned items in LandStatReply - User UUIDs banned - - + - The identifier of the estate + Class that handles the local asset cache - + - The number of returned itmes + Default constructor + A reference to the GridClient object - + - List of UUIDs of Banned Users + Disposes cleanup timer - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateUsersReplyEventArgs class - The estate's identifier on the grid - The number of users - Allowed users UUIDs - - + - The identifier of the estate + Only create timer when needed - + - The number of returned items + Return bytes read from the local asset cache, null if it does not exist + UUID of the asset we want to get + Raw bytes of the asset, or null on failure - + - List of UUIDs of Allowed Users + Returns ImageDownload object of the + image from the local image cache, null if it does not exist + UUID of the image we want to get + ImageDownload object containing the image, or null on failure - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateGroupsReplyEventArgs class - The estate's identifier on the grid - The number of Groups - Allowed Groups UUIDs - - + - The identifier of the estate + Constructs a file name of the cached asset + UUID of the asset + String with the file name of the cahced asset - + - The number of returned items + Constructs a file name of the static cached asset + UUID of the asset + String with the file name of the static cached asset - + - List of UUIDs of Allowed Groups + Saves an asset to the local cache + UUID of the asset + Raw bytes the asset consists of + Weather the operation was successfull - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateManagersReplyEventArgs class - The estate's identifier on the grid - The number of Managers - Managers UUIDs - - + - The identifier of the estate + Get the file name of the asset stored with gived UUID + UUID of the asset + Null if we don't have that UUID cached on disk, file name if found in the cache folder - + - The number of returned items + Checks if the asset exists in the local cache + UUID of the asset + True is the asset is stored in the cache, otherwise false - + - List of UUIDs of the Estate's Managers + Wipes out entire cache - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateCovenantReplyEventArgs class - The Covenant ID - The timestamp - The estate's name - The Estate Owner's ID (can be a GroupID) - - + - The Covenant + Brings cache size to the 90% of the max size - + - The timestamp + Asynchronously brings cache size to the 90% of the max size - + - The Estate name + Adds up file sizes passes in a FileInfo array - + - The Estate Owner's ID (can be a GroupID) + Checks whether caching is enabled - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateUpdateInfoReplyEventArgs class - The estate's name - The Estate Owners ID (can be a GroupID) - The estate's identifier on the grid - - - + - The estate's name + Periodically prune the cache - + - The Estate Owner's ID (can be a GroupID) + Nicely formats file sizes + Byte size we want to output + String with humanly readable file size - + - The identifier of the estate on the grid + Allows setting weather to periodicale prune the cache if it grows too big + Default is enabled, when caching is enabled - - - - + - Represends individual HTTP Download request + How long (in ms) between cache checks (default is 5 min.) - - URI of the item to fetch - - - Timout specified in milliseconds - - - Download progress callback - - - Download completed callback - - - Accept the following content type - - - How many times will this request be retried - - - Current fetch attempt - - - Default constructor - - - Constructor - - + - Manages async HTTP downloads with a limit on maximum - concurrent downloads + Helper class for sorting files by their last accessed time - - Default constructor - - - Cleanup method - - - Setup http download request - - - Check the queue for pending work - - - Enqueue a new HTPP download - - - Maximum number of parallel downloads from a single endpoint - - - Client certificate - diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 9054a99..59e8083 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.XML b/bin/OpenMetaverseTypes.XML index 7d00b1b..56e3ac7 100644 --- a/bin/OpenMetaverseTypes.XML +++ b/bin/OpenMetaverseTypes.XML @@ -4,478 +4,735 @@ OpenMetaverseTypes - - - A thread-safe lockless queue that supports multiple readers and - multiple writers - + + Used for converting degrees to radians - - Queue head + + Used for converting radians to degrees - - Queue tail + + + Convert the first two bytes starting in the byte array in + little endian ordering to a signed short integer + + An array two bytes or longer + A signed short integer, will be zero if a short can't be + read at the given position - - Queue item count + + + Convert the first two bytes starting at the given position in + little endian ordering to a signed short integer + + An array two bytes or longer + Position in the array to start reading + A signed short integer, will be zero if a short can't be + read at the given position - + - Constructor + Convert the first four bytes starting at the given position in + little endian ordering to a signed integer + An array four bytes or longer + Position to start reading the int from + A signed integer, will be zero if an int can't be read + at the given position - + - Enqueue an item + Convert the first four bytes of the given array in little endian + ordering to a signed integer - Item to enqeue + An array four bytes or longer + A signed integer, will be zero if the array contains + less than four bytes - + - Try to dequeue an item + Convert the first eight bytes of the given array in little endian + ordering to a signed long integer - Dequeued item if the dequeue was successful - True if an item was successfully deqeued, otherwise false + An array eight bytes or longer + A signed long integer, will be zero if the array contains + less than eight bytes - - Gets the current number of items in the queue. Since this - is a lockless collection this value should be treated as a close - estimate + + + Convert the first eight bytes starting at the given position in + little endian ordering to a signed long integer + + An array eight bytes or longer + Position to start reading the long from + A signed long integer, will be zero if a long can't be read + at the given position - + - Provides a node container for data in a singly linked list + Convert the first two bytes starting at the given position in + little endian ordering to an unsigned short + Byte array containing the ushort + Position to start reading the ushort from + An unsigned short, will be zero if a ushort can't be read + at the given position - - Pointer to the next node in list + + + Convert two bytes in little endian ordering to an unsigned short + + Byte array containing the ushort + An unsigned short, will be zero if a ushort can't be + read - - The data contained by the node + + + Convert the first four bytes starting at the given position in + little endian ordering to an unsigned integer + + Byte array containing the uint + Position to start reading the uint from + An unsigned integer, will be zero if a uint can't be read + at the given position - + - Constructor + Convert the first four bytes of the given array in little endian + ordering to an unsigned integer + An array four bytes or longer + An unsigned integer, will be zero if the array contains + less than four bytes - + - Constructor + Convert the first eight bytes of the given array in little endian + ordering to an unsigned 64-bit integer + An array eight bytes or longer + An unsigned 64-bit integer, will be zero if the array + contains less than eight bytes - + - Attribute class that allows extra attributes to be attached to ENUMs + Convert four bytes in little endian ordering to a floating point + value + Byte array containing a little ending floating + point value + Starting position of the floating point value in + the byte array + Single precision value - - Text used when presenting ENUM to user + + + Convert an integer to a byte array in little endian format + + The integer to convert + A four byte little endian array - - Default initializer + + + Convert an integer to a byte array in big endian format + + The integer to convert + A four byte big endian array - - Text used when presenting ENUM to user + + + Convert a 64-bit integer to a byte array in little endian format + + The value to convert + An 8 byte little endian array - + - The different types of grid assets + Convert a 64-bit unsigned integer to a byte array in little endian + format + The value to convert + An 8 byte little endian array - - Unknown asset type + + + Convert a floating point value to four bytes in little endian + ordering + + A floating point value + A four byte array containing the value in little endian + ordering - - Texture asset, stores in JPEG2000 J2C stream format + + + Converts an unsigned integer to a hexadecimal string + + An unsigned integer to convert to a string + A hexadecimal string 10 characters long + 0x7fffffff - - Sound asset + + + Convert a variable length UTF8 byte array to a string + + The UTF8 encoded byte array to convert + The decoded string - - Calling card for another avatar + + + Converts a byte array to a string containing hexadecimal characters + + The byte array to convert to a string + The name of the field to prepend to each + line of the string + A string containing hexadecimal characters on multiple + lines. Each line is prepended with the field name - - Link to a location in world + + + Converts a byte array to a string containing hexadecimal characters + + The byte array to convert to a string + Number of bytes in the array to parse + A string to prepend to each line of the hex + dump + A string containing hexadecimal characters on multiple + lines. Each line is prepended with the field name - - Collection of textures and parameters that can be - worn by an avatar + + + Convert a string to a UTF8 encoded byte array + + The string to convert + A null-terminated UTF8 byte array - - Primitive that can contain textures, sounds, - scripts and more + + + Converts a string containing hexadecimal characters to a byte array + + String containing hexadecimal characters + If true, gracefully handles null, empty and + uneven strings as well as stripping unconvertable characters + The converted byte array - - Notecard asset + + + Returns true is c is a hexadecimal digit (A-F, a-f, 0-9) + + Character to test + true if hex digit, false if not - - Holds a collection of inventory items + + + Converts 1 or 2 character string into equivalant byte value + + 1 or 2 character string + byte - - Root inventory folder + + + Convert a float value to a byte given a minimum and maximum range + + Value to convert to a byte + Minimum value range + Maximum value range + A single byte representing the original float value - - Linden scripting language script - - - LSO bytecode for a script - - - Uncompressed TGA texture - - - Collection of textures and shape parameters that can - be worn - - - Trash folder - - - Snapshot folder - - - Lost and found folder - - - Uncompressed sound - - - Uncompressed TGA non-square image, not to be used as a - texture - - - Compressed JPEG non-square image, not to be used as a - texture + + + Convert a byte to a float value given a minimum and maximum range + + Byte array to get the byte from + Position in the byte array the desired byte is at + Minimum value range + Maximum value range + A float value inclusively between lower and upper - - Animation + + + Convert a byte to a float value given a minimum and maximum range + + Byte to convert to a float value + Minimum value range + Maximum value range + A float value inclusively between lower and upper - - Sequence of animations, sounds, chat, and pauses + + + Attempts to parse a floating point value from a string, using an + EN-US number format + + String to parse + Resulting floating point number + True if the parse was successful, otherwise false - - Simstate file + + + Attempts to parse a floating point value from a string, using an + EN-US number format + + String to parse + Resulting floating point number + True if the parse was successful, otherwise false - - Contains landmarks for favorites + + + Tries to parse an unsigned 32-bit integer from a hexadecimal string + + String to parse + Resulting integer + True if the parse was successful, otherwise false - - Asset is a link to another inventory item + + + Returns text specified in EnumInfo attribute of the enumerator + To add the text use [EnumInfo(Text = "Some nice text here")] before declaration + of enum values + + Enum value + Text representation of the enum - - Asset is a link to another inventory folder + + + Takes an AssetType and returns the string representation + + The source + The string version of the AssetType - - Beginning of the range reserved for ensembles + + + Translate a string name of an AssetType into the proper Type + + A string containing the AssetType name + The AssetType which matches the string name, or AssetType.Unknown if no match was found - - End of the range reserved for ensembles + + + Convert an InventoryType to a string + + The to convert + A string representation of the source - - Folder containing inventory links to wearables and attachments - that are part of the current outfit + + + Convert a string into a valid InventoryType + + A string representation of the InventoryType to convert + A InventoryType object which matched the type - - Folder containing inventory items or links to - inventory items of wearables and attachments - together make a full outfit + + + Convert a SaleType to a string + + The to convert + A string representation of the source - - Root folder for the folders of type OutfitFolder + + + Convert a string into a valid SaleType + + A string representation of the SaleType to convert + A SaleType object which matched the type - - Linden mesh format + + + Converts a string used in LLSD to AttachmentPoint type + + String representation of AttachmentPoint to convert + AttachmentPoint enum - - Marketplace direct delivery inbox ("Received Items") + + + Copy a byte array + + Byte array to copy + A copy of the given byte array - - Marketplace direct delivery outbox + + + Packs to 32-bit unsigned integers in to a 64-bit unsigned integer + + The left-hand (or X) value + The right-hand (or Y) value + A 64-bit integer containing the two 32-bit input values - - + + + Unpacks two 32-bit unsigned integers from a 64-bit unsigned integer + + The 64-bit input integer + The left-hand (or X) output value + The right-hand (or Y) output value - + - Inventory Item Types, eg Script, Notecard, Folder, etc + Convert an IP address object to an unsigned 32-bit integer + IP address to convert + 32-bit unsigned integer holding the IP address bits - - Unknown + + + Gets a unix timestamp for the current time + + An unsigned integer representing a unix timestamp for now - - Texture + + + Convert a UNIX timestamp to a native DateTime object + + An unsigned integer representing a UNIX + timestamp + A DateTime object containing the same time specified in + the given timestamp - - Sound + + + Convert a UNIX timestamp to a native DateTime object + + A signed integer representing a UNIX + timestamp + A DateTime object containing the same time specified in + the given timestamp - - Calling Card + + + Convert a native DateTime object to a UNIX timestamp + + A DateTime object you want to convert to a + timestamp + An unsigned integer representing a UNIX timestamp - - Landmark + + + Swap two values + + Type of the values to swap + First value + Second value - - Notecard + + + Try to parse an enumeration value from a string + + Enumeration type + String value to parse + Enumeration value on success + True if the parsing succeeded, otherwise false - - + + + Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa + + Byte to swap the words in + Byte value with the words swapped - - Folder + + + Attempts to convert a string representation of a hostname or IP + address to a + + Hostname to convert to an IPAddress + Converted IP address object, or null if the conversion + failed - - + + Provide a single instance of the CultureInfo class to + help parsing in situations where the grid assumes an en-us + culture - - an LSL Script + + UNIX epoch in DateTime format - - + + Provide a single instance of the MD5 class to avoid making + duplicate copies and handle thread safety - - + + Provide a single instance of the SHA-1 class to avoid + making duplicate copies and handle thread safety - - + + Provide a single instance of a random number generator + to avoid making duplicate copies and handle thread safety - - + + + Clamp a given value between a range + + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper - - + + + Clamp a given value between a range + + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper - - + + + Clamp a given value between a range + + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper - + - Item Sale Status + Round a floating-point value to the nearest integer + Floating point number to round + Integer - - Not for sale + + + Test if a single precision float is a finite number + - - The original is for sale + + + Test if a double precision float is a finite number + - - Copies are for sale + + + Get the distance between two floating-point values + + First value + Second value + The distance between the two values - - The contents of the object are for sale + + + Compute the MD5 hash for a byte array + + Byte array to compute the hash for + MD5 hash of the input data - + - Types of wearable assets + Compute the SHA1 hash for a byte array + Byte array to compute the hash for + SHA1 hash of the input data - - Body shape + + + Calculate the SHA1 hash of a given string + + The string to hash + The SHA1 hash as a string - - Skin textures and attributes + + + Compute the SHA256 hash for a byte array + + Byte array to compute the hash for + SHA256 hash of the input data - - Hair + + + Calculate the SHA256 hash of a given string + + The string to hash + The SHA256 hash as a string - - Eyes + + + Calculate the MD5 hash of a given string + + The password to hash + An MD5 hash in string format, with $1$ prepended - - Shirt + + + Calculate the MD5 hash of a given string + + The string to hash + The MD5 hash as a string - - Pants + + + Generate a random double precision floating point value + + Random value of type double - - Shoes + + + Get the current running platform + + Enumeration of the current platform we are running on - - Socks + + + Get the current running runtime + + Enumeration of the current runtime we are running on - - Jacket + + + Operating system + - - Gloves + + Unknown - - Undershirt + + Microsoft Windows - - Underpants + + Microsoft Windows CE - - Skirt + + Linux - - Alpha mask to hide parts of the avatar + + Apple OSX - - Tattoo + + + Runtime platform + - - Physics + + .NET runtime - - Invalid wearable asset + + Mono runtime: http://www.mono-project.com/ - + - An 8-bit color structure including an alpha channel + Convert this matrix to euler rotations + X euler angle + Y euler angle + Z euler angle - - Red + + + Convert this matrix to a quaternion rotation + + A quaternion representation of this rotation matrix - - Green + + + Construct a matrix from euler rotation values in radians + + X euler angle in radians + Y euler angle in radians + Z euler angle in radians - - Blue + + + Get a formatted string representation of the vector + + A string representation of the vector - - Alpha + + A 4x4 matrix containing all zeroes - + + A 4x4 identity matrix + + - + Same as Queue except Dequeue function blocks until there is an object to return. + Note: This class does not need to be synchronized - - - - - + - Builds a color from a byte array + Create new BlockingQueue. - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 + The System.Collections.ICollection to copy elements from - + - Returns the raw bytes for this vector + Create new BlockingQueue. - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted - A 16 byte array containing R, G, B, and A + The initial number of elements that the queue can contain - + - Copy constructor + Create new BlockingQueue. - Color to copy - + - IComparable.CompareTo implementation + BlockingQueue Destructor (Close queue, resume any waiting thread). - Sorting ends up like this: |--Grayscale--||--Color--|. - Alpha is only used when the colors are otherwise equivalent - + - Builds a color from a byte array + Remove all objects from the Queue. - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted - + - Writes the raw bytes for this color to a byte array + Remove all objects from the Queue, resume all dequeue threads. - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - + - Serializes this color into four bytes in a byte array + Removes and returns the object at the beginning of the Queue. - Destination byte array - Position in the destination array to start - writing. Must be at least 4 bytes before the end of the array - True to invert the output (1.0 becomes 0 - instead of 255) + Object in queue. - + - Writes the raw bytes for this color to a byte array + Removes and returns the object at the beginning of the Queue. - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array + time to wait before returning + Object in queue. - + - Ensures that values are in range 0-1 + Removes and returns the object at the beginning of the Queue. + time to wait before returning (in milliseconds) + Object in queue. - + - Create an RGB color from a hue, saturation, value combination + Adds an object to the end of the Queue - Hue - Saturation - Value - An fully opaque RGB color (alpha is 1.0) + Object to put in queue - + - Performs linear interpolation between two colors + Open Queue. - Color to start at - Color to end at - Amount to interpolate - The interpolated color - - - A Color4 with zero RGB values and fully opaque (alpha 1.0) - - - A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) - + - A three-dimensional vector with doubleing-point values + Gets flag indicating if queue has been closed. - + X value - + Y value - + Z value - + + W value + + Constructor, builds a vector from a byte array - Byte array containing three eight-byte doubles + Byte array containing four four-byte floats Beginning position in the byte array - + Test if this vector is equal to another vector, within a given tolerance range @@ -486,1309 +743,1023 @@ True if the magnitude of difference between the two vectors is less than the given tolerance, otherwise false - + IComparable.CompareTo implementation - + Test if this vector is composed of all finite numbers - + Builds a vector from a byte array - Byte array containing a 24 byte vector + Byte array containing a 16 byte vector Beginning position in the byte array - + Returns the raw bytes for this vector - A 24 byte array containing X, Y, and Z + A 16 byte array containing X, Y, Z, and W - + Writes the raw bytes for this vector to a byte array Destination byte array Position in the destination array to start - writing. Must be at least 24 bytes before the end of the array - - - - Parse a vector from a string - - A string representation of a 3D vector, enclosed - in arrow brackets and separated by commas - - - - Interpolates between two vectors using a cubic equation - - - - - Get a formatted string representation of the vector - - A string representation of the vector + writing. Must be at least 16 bytes before the end of the array - + Get a string representation of the vector elements with up to three decimal digits and separated by spaces only Raw string representation of the vector - - - Cross product between two vectors - - - - - Implicit casting for Vector3 > Vector3d - - - - - - A vector with a value of 0,0,0 - - - A vector with a value of 1,1,1 + + A vector with a value of 0,0,0,0 - - A unit vector facing forward (X axis), value of 1,0,0 + + A vector with a value of 1,1,1,1 - - A unit vector facing left (Y axis), value of 0,1,0 + + A vector with a value of 1,0,0,0 - - A unit vector facing up (Z axis), value of 0,0,1 + + A vector with a value of 0,1,0,0 - - - Determines the appropriate events to set, leaves the locks, and sets the events. - + + A vector with a value of 0,0,1,0 - - - A routine for lazily creating a event outside the lock (so if errors - happen they are outside the lock and that we don't do much work - while holding a spin lock). If all goes well, reenter the lock and - set 'waitEvent' - + + A vector with a value of 0,0,0,1 - + - Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. - Before the wait 'numWaiters' is incremented and is restored before leaving this routine. + A three-dimensional vector with doubleing-point values - + X value - + Y value - + Z value - - W value - - + - Build a quaternion from normalized float values + Constructor, builds a vector from a byte array - X value from -1.0 to 1.0 - Y value from -1.0 to 1.0 - Z value from -1.0 to 1.0 + Byte array containing three eight-byte doubles + Beginning position in the byte array - + - Constructor, builds a quaternion object from a byte array + Test if this vector is equal to another vector, within a given + tolerance range - Byte array containing four four-byte floats - Offset in the byte array to start reading at - Whether the source data is normalized or - not. If this is true 12 bytes will be read, otherwise 16 bytes will - be read. + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false - + - Normalizes the quaternion + IComparable.CompareTo implementation - + - Builds a quaternion object from a byte array + Test if this vector is composed of all finite numbers - The source byte array - Offset in the byte array to start reading at - Whether the source data is normalized or - not. If this is true 12 bytes will be read, otherwise 16 bytes will - be read. - + - Normalize this quaternion and serialize it to a byte array + Builds a vector from a byte array - A 12 byte array containing normalized X, Y, and Z floating - point values in order using little endian byte ordering + Byte array containing a 24 byte vector + Beginning position in the byte array - + - Writes the raw bytes for this quaternion to a byte array + Returns the raw bytes for this vector - Destination byte array - Position in the destination array to start - writing. Must be at least 12 bytes before the end of the array + A 24 byte array containing X, Y, and Z - + - Convert this quaternion to euler angles + Writes the raw bytes for this vector to a byte array - X euler angle - Y euler angle - Z euler angle + Destination byte array + Position in the destination array to start + writing. Must be at least 24 bytes before the end of the array - + - Convert this quaternion to an angle around an axis + Parse a vector from a string - Unit vector describing the axis - Angle around the axis, in radians + A string representation of a 3D vector, enclosed + in arrow brackets and separated by commas - + - Returns the conjugate (spatial inverse) of a quaternion + Interpolates between two vectors using a cubic equation - + - Build a quaternion from an axis and an angle of rotation around - that axis + Get a formatted string representation of the vector + A string representation of the vector - + - Build a quaternion from an axis and an angle of rotation around - that axis + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only - Axis of rotation - Angle of rotation + Raw string representation of the vector - + - Creates a quaternion from a vector containing roll, pitch, and yaw - in radians + Cross product between two vectors - Vector representation of the euler angles in - radians - Quaternion representation of the euler angles - + - Creates a quaternion from roll, pitch, and yaw euler angles in - radians + Implicit casting for Vector3 > Vector3d - X angle in radians - Y angle in radians - Z angle in radians - Quaternion representation of the euler angles + + - + + A vector with a value of 0,0,0 + + + A vector with a value of 1,1,1 + + + A unit vector facing forward (X axis), value of 1,0,0 + + + A unit vector facing left (Y axis), value of 0,1,0 + + + A unit vector facing up (Z axis), value of 0,0,1 + + - Conjugates and renormalizes a vector + A three-dimensional vector with floating-point values - + + X value + + + Y value + + + Z value + + - Spherical linear interpolation between two quaternions + Constructor, builds a vector from a byte array + Byte array containing three four-byte floats + Beginning position in the byte array - + - Get a string representation of the quaternion elements with up to three - decimal digits and separated by spaces only + Test if this vector is equal to another vector, within a given + tolerance range - Raw string representation of the quaternion - - - A quaternion with a value of 0,0,0,1 + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false - + - Copy constructor + IComparable.CompareTo implementation - Circular queue to copy - + - Same as Queue except Dequeue function blocks until there is an object to return. - Note: This class does not need to be synchronized + Test if this vector is composed of all finite numbers - + - Create new BlockingQueue. + Builds a vector from a byte array - The System.Collections.ICollection to copy elements from + Byte array containing a 12 byte vector + Beginning position in the byte array - + - Create new BlockingQueue. + Returns the raw bytes for this vector - The initial number of elements that the queue can contain + A 12 byte array containing X, Y, and Z - + - Create new BlockingQueue. + Writes the raw bytes for this vector to a byte array + Destination byte array + Position in the destination array to start + writing. Must be at least 12 bytes before the end of the array - + - BlockingQueue Destructor (Close queue, resume any waiting thread). + Parse a vector from a string + A string representation of a 3D vector, enclosed + in arrow brackets and separated by commas - + - Remove all objects from the Queue. + Calculate the rotation between two vectors + Normalized directional vector (such as 1,0,0 for forward facing) + Normalized target vector - + - Remove all objects from the Queue, resume all dequeue threads. + Interpolates between two vectors using a cubic equation - + - Removes and returns the object at the beginning of the Queue. + Get a formatted string representation of the vector - Object in queue. + A string representation of the vector - + - Removes and returns the object at the beginning of the Queue. + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only - time to wait before returning - Object in queue. + Raw string representation of the vector - + - Removes and returns the object at the beginning of the Queue. + Cross product between two vectors - time to wait before returning (in milliseconds) - Object in queue. - + - Adds an object to the end of the Queue + Explicit casting for Vector3d > Vector3 - Object to put in queue + + - + + A vector with a value of 0,0,0 + + + A vector with a value of 1,1,1 + + + A unit vector facing forward (X axis), value 1,0,0 + + + A unit vector facing left (Y axis), value 0,1,0 + + + A unit vector facing up (Z axis), value 0,0,1 + + - Open Queue. + Identifier code for primitive types - + + None + + + A Primitive + + + A Avatar + + + Linden grass + + + Linden tree + + + A primitive that acts as the source for a particle stream + + + A Linden tree + + - Gets flag indicating if queue has been closed. + Primary parameters for primitives such as Physics Enabled or Phantom - - Used for converting degrees to radians + + Deprecated + + + Whether physics are enabled for this object + + + + + + + + + + + + + + + + + + + + + Whether this object contains an active touch script + + + + + + Whether this object can receive payments + + + Whether this object is phantom (no collisions) + + + + + + + + + + + + + + + Deprecated - - Used for converting radians to degrees + + - - Provide a single instance of the CultureInfo class to - help parsing in situations where the grid assumes an en-us - culture + + - - UNIX epoch in DateTime format + + - - Provide a single instance of the MD5 class to avoid making - duplicate copies and handle thread safety + + Deprecated - - Provide a single instance of the SHA-1 class to avoid - making duplicate copies and handle thread safety + + - - Provide a single instance of a random number generator - to avoid making duplicate copies and handle thread safety + + - - - Clamp a given value between a range - - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper + + - - - Clamp a given value between a range - - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper + + - - - Clamp a given value between a range - - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper + + Server flag, will not be sent to clients. Specifies that + the object is destroyed when it touches a simulator edge - - - Round a floating-point value to the nearest integer - - Floating point number to round - Integer + + Server flag, will not be sent to clients. Specifies that + the object will be returned to the owner's inventory when it + touches a simulator edge - - - Test if a single precision float is a finite number - + + Server flag, will not be sent to clients. - - - Test if a double precision float is a finite number - + + Server flag, will not be sent to client. Specifies that + the object is hovering/flying - - - Get the distance between two floating-point values - - First value - Second value - The distance between the two values + + - - - Compute the MD5 hash for a byte array - - Byte array to compute the hash for - MD5 hash of the input data + + - - - Compute the SHA1 hash for a byte array - - Byte array to compute the hash for - SHA1 hash of the input data + + - - - Calculate the SHA1 hash of a given string - - The string to hash - The SHA1 hash as a string + + - + - Compute the SHA256 hash for a byte array + Sound flags for sounds attached to primitives - Byte array to compute the hash for - SHA256 hash of the input data - - - Calculate the SHA256 hash of a given string - - The string to hash - The SHA256 hash as a string + + - - - Calculate the MD5 hash of a given string - - The password to hash - An MD5 hash in string format, with $1$ prepended + + - - - Calculate the MD5 hash of a given string - - The string to hash - The MD5 hash as a string + + - - - Generate a random double precision floating point value - - Random value of type double + + - - - Get the current running platform - - Enumeration of the current platform we are running on + + - - - Get the current running runtime - - Enumeration of the current runtime we are running on + + - - - Convert the first two bytes starting in the byte array in - little endian ordering to a signed short integer - - An array two bytes or longer - A signed short integer, will be zero if a short can't be - read at the given position + + - + - Convert the first two bytes starting at the given position in - little endian ordering to a signed short integer + Material type for a primitive - An array two bytes or longer - Position in the array to start reading - A signed short integer, will be zero if a short can't be - read at the given position - - - Convert the first four bytes starting at the given position in - little endian ordering to a signed integer - - An array four bytes or longer - Position to start reading the int from - A signed integer, will be zero if an int can't be read - at the given position + + - - - Convert the first four bytes of the given array in little endian - ordering to a signed integer - - An array four bytes or longer - A signed integer, will be zero if the array contains - less than four bytes + + - - - Convert the first eight bytes of the given array in little endian - ordering to a signed long integer - - An array eight bytes or longer - A signed long integer, will be zero if the array contains - less than eight bytes + + - - - Convert the first eight bytes starting at the given position in - little endian ordering to a signed long integer - - An array eight bytes or longer - Position to start reading the long from - A signed long integer, will be zero if a long can't be read - at the given position + + - - - Convert the first two bytes starting at the given position in - little endian ordering to an unsigned short - - Byte array containing the ushort - Position to start reading the ushort from - An unsigned short, will be zero if a ushort can't be read - at the given position + + - - - Convert two bytes in little endian ordering to an unsigned short - - Byte array containing the ushort - An unsigned short, will be zero if a ushort can't be - read + + + + + - - - Convert the first four bytes starting at the given position in - little endian ordering to an unsigned integer - - Byte array containing the uint - Position to start reading the uint from - An unsigned integer, will be zero if a uint can't be read - at the given position + + - + - Convert the first four bytes of the given array in little endian - ordering to an unsigned integer + Used in a helper function to roughly determine prim shape - An array four bytes or longer - An unsigned integer, will be zero if the array contains - less than four bytes - + - Convert the first eight bytes of the given array in little endian - ordering to an unsigned 64-bit integer + Extra parameters for primitives, these flags are for features that have + been added after the original ObjectFlags that has all eight bits + reserved already - An array eight bytes or longer - An unsigned 64-bit integer, will be zero if the array - contains less than eight bytes - - - Convert four bytes in little endian ordering to a floating point - value - - Byte array containing a little ending floating - point value - Starting position of the floating point value in - the byte array - Single precision value + + Whether this object has flexible parameters - - - Convert an integer to a byte array in little endian format - - The integer to convert - A four byte little endian array + + Whether this object has light parameters - - - Convert an integer to a byte array in big endian format - - The integer to convert - A four byte big endian array + + Whether this object is a sculpted prim - - - Convert a 64-bit integer to a byte array in little endian format - - The value to convert - An 8 byte little endian array + + Whether this object is a light image map - - - Convert a 64-bit unsigned integer to a byte array in little endian - format - - The value to convert - An 8 byte little endian array + + Whether this object is a mesh - + - Convert a floating point value to four bytes in little endian - ordering + - A floating point value - A four byte array containing the value in little endian - ordering - - - Converts an unsigned integer to a hexadecimal string - - An unsigned integer to convert to a string - A hexadecimal string 10 characters long - 0x7fffffff + + - - - Convert a variable length UTF8 byte array to a string - - The UTF8 encoded byte array to convert - The decoded string + + - - - Converts a byte array to a string containing hexadecimal characters - - The byte array to convert to a string - The name of the field to prepend to each - line of the string - A string containing hexadecimal characters on multiple - lines. Each line is prepended with the field name + + - + - Converts a byte array to a string containing hexadecimal characters + - The byte array to convert to a string - Number of bytes in the array to parse - A string to prepend to each line of the hex - dump - A string containing hexadecimal characters on multiple - lines. Each line is prepended with the field name - - - Convert a string to a UTF8 encoded byte array - - The string to convert - A null-terminated UTF8 byte array + + - - - Converts a string containing hexadecimal characters to a byte array - - String containing hexadecimal characters - If true, gracefully handles null, empty and - uneven strings as well as stripping unconvertable characters - The converted byte array + + - - - Returns true is c is a hexadecimal digit (A-F, a-f, 0-9) - - Character to test - true if hex digit, false if not + + - - - Converts 1 or 2 character string into equivalant byte value - - 1 or 2 character string - byte + + - - - Convert a float value to a byte given a minimum and maximum range - - Value to convert to a byte - Minimum value range - Maximum value range - A single byte representing the original float value + + - + + + + + + + + + + - Convert a byte to a float value given a minimum and maximum range + - Byte array to get the byte from - Position in the byte array the desired byte is at - Minimum value range - Maximum value range - A float value inclusively between lower and upper - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Convert a byte to a float value given a minimum and maximum range + - Byte to convert to a float value - Minimum value range - Maximum value range - A float value inclusively between lower and upper - - - Attempts to parse a floating point value from a string, using an - EN-US number format - - String to parse - Resulting floating point number - True if the parse was successful, otherwise false + + + + + + + + + + + + + + + + + + + + + + + + Attachment points for objects on avatar bodies + + + Both InventoryObject and InventoryAttachment types can be attached + + + + Right hand if object was not previously attached + + + Chest + + + Skull + + + Left shoulder - - - Attempts to parse a floating point value from a string, using an - EN-US number format - - String to parse - Resulting floating point number - True if the parse was successful, otherwise false + + Right shoulder - - - Tries to parse an unsigned 32-bit integer from a hexadecimal string - - String to parse - Resulting integer - True if the parse was successful, otherwise false + + Left hand - - - Returns text specified in EnumInfo attribute of the enumerator - To add the text use [EnumInfo(Text = "Some nice text here")] before declaration - of enum values - - Enum value - Text representation of the enum + + Right hand - - - Takes an AssetType and returns the string representation - - The source - The string version of the AssetType + + Left foot - - - Translate a string name of an AssetType into the proper Type - - A string containing the AssetType name - The AssetType which matches the string name, or AssetType.Unknown if no match was found + + Right foot - - - Convert an InventoryType to a string - - The to convert - A string representation of the source + + Spine - - - Convert a string into a valid InventoryType - - A string representation of the InventoryType to convert - A InventoryType object which matched the type + + Pelvis - - - Convert a SaleType to a string - - The to convert - A string representation of the source + + Mouth - - - Convert a string into a valid SaleType - - A string representation of the SaleType to convert - A SaleType object which matched the type + + Chin - - - Converts a string used in LLSD to AttachmentPoint type - - String representation of AttachmentPoint to convert - AttachmentPoint enum + + Left ear - - - Copy a byte array - - Byte array to copy - A copy of the given byte array + + Right ear - - - Packs to 32-bit unsigned integers in to a 64-bit unsigned integer - - The left-hand (or X) value - The right-hand (or Y) value - A 64-bit integer containing the two 32-bit input values + + Left eyeball - - - Unpacks two 32-bit unsigned integers from a 64-bit unsigned integer - - The 64-bit input integer - The left-hand (or X) output value - The right-hand (or Y) output value + + Right eyeball - - - Convert an IP address object to an unsigned 32-bit integer - - IP address to convert - 32-bit unsigned integer holding the IP address bits + + Nose - - - Gets a unix timestamp for the current time - - An unsigned integer representing a unix timestamp for now + + Right upper arm - - - Convert a UNIX timestamp to a native DateTime object - - An unsigned integer representing a UNIX - timestamp - A DateTime object containing the same time specified in - the given timestamp + + Right forearm - - - Convert a UNIX timestamp to a native DateTime object - - A signed integer representing a UNIX - timestamp - A DateTime object containing the same time specified in - the given timestamp + + Left upper arm - - - Convert a native DateTime object to a UNIX timestamp - - A DateTime object you want to convert to a - timestamp - An unsigned integer representing a UNIX timestamp + + Left forearm - - - Swap two values - - Type of the values to swap - First value - Second value + + Right hip - - - Try to parse an enumeration value from a string - - Enumeration type - String value to parse - Enumeration value on success - True if the parsing succeeded, otherwise false + + Right upper leg - - - Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa - - Byte to swap the words in - Byte value with the words swapped + + Right lower leg - - - Attempts to convert a string representation of a hostname or IP - address to a - - Hostname to convert to an IPAddress - Converted IP address object, or null if the conversion - failed + + Left hip - - - Operating system - + + Left upper leg - - Unknown + + Left lower leg - - Microsoft Windows + + Stomach - - Microsoft Windows CE + + Left pectoral - - Linux + + Right pectoral - - Apple OSX + + HUD Center position 2 - - - Runtime platform - + + HUD Top-right - - .NET runtime + + HUD Top - - Mono runtime: http://www.mono-project.com/ + + HUD Top-left - - For thread safety + + HUD Center - - For thread safety + + HUD Bottom-left - - - Purges expired objects from the cache. Called automatically by the purge timer. - + + HUD Bottom - - - Convert this matrix to euler rotations - - X euler angle - Y euler angle - Z euler angle + + HUD Bottom-right - - - Convert this matrix to a quaternion rotation - - A quaternion representation of this rotation matrix + + Neck - - - Construct a matrix from euler rotation values in radians - - X euler angle in radians - Y euler angle in radians - Z euler angle in radians + + Avatar Center - + - Get a formatted string representation of the vector + Tree foliage types - A string representation of the vector - - A 4x4 matrix containing all zeroes + + Pine1 tree - - A 4x4 identity matrix + + Oak tree - - - Provides helper methods for parallelizing loops - + + Tropical Bush1 - - - Executes a for loop in which iterations may run in parallel - - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop + + Palm1 tree - - - Executes a for loop in which iterations may run in parallel - - The number of concurrent execution threads to run - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop + + Dogwood tree - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - An enumerable collection to iterate over - Method body to run for each object in the collection + + Tropical Bush2 - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - The number of concurrent execution threads to run - An enumerable collection to iterate over - Method body to run for each object in the collection + + Palm2 tree - - - Executes a series of tasks in parallel - - A series of method bodies to execute + + Cypress1 tree - - - Executes a series of tasks in parallel - - The number of concurrent execution threads to run - A series of method bodies to execute + + Cypress2 tree - - X value + + Pine2 tree - - Y value + + Plumeria - - Z value + + Winter pinetree1 - - W value + + Winter Aspen tree - - - Constructor, builds a vector from a byte array - - Byte array containing four four-byte floats - Beginning position in the byte array + + Winter pinetree2 - - - Test if this vector is equal to another vector, within a given - tolerance range - - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false + + Eucalyptus tree - - - IComparable.CompareTo implementation - + + Fern - - - Test if this vector is composed of all finite numbers - + + Eelgrass - - - Builds a vector from a byte array - - Byte array containing a 16 byte vector - Beginning position in the byte array + + Sea Sword - - - Returns the raw bytes for this vector - - A 16 byte array containing X, Y, Z, and W + + Kelp1 plant - - - Writes the raw bytes for this vector to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array + + Beach grass - + + Kelp2 plant + + - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only + Grass foliage types - Raw string representation of the vector - - A vector with a value of 0,0,0,0 + + - - A vector with a value of 1,1,1,1 + + - - A vector with a value of 1,0,0,0 + + - - A vector with a value of 0,1,0,0 + + - - A vector with a value of 0,0,1,0 + + - - A vector with a value of 0,0,0,1 + + - + - A 128-bit Universally Unique Identifier, used throughout the Second - Life networking protocol + Action associated with clicking on an object - - The System.Guid object this struct wraps around + + Touch object - - - Constructor that takes a string UUID representation - - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") + + Sit on object - - - Constructor that takes a System.Guid object - - A Guid object that contains the unique identifier - to be represented by this UUID + + Purchase object or contents - - - Constructor that takes a byte array containing a UUID - - Byte array containing a 16 byte UUID - Beginning offset in the array + + Pay the object - - - Constructor that takes an unsigned 64-bit unsigned integer to - convert to a UUID - - 64-bit unsigned integer to convert to a UUID + + Open task inventory - - - Copy constructor - - UUID to copy + + Play parcel media - - - IComparable.CompareTo implementation - + + Open parcel media - + - Assigns this UUID from 16 bytes out of a byte array + Type of physics representation used for this prim in the simulator - Byte array containing the UUID to assign this UUID to - Starting position of the UUID in the byte array - - - Returns a copy of the raw bytes for this UUID - - A 16 byte array containing this UUID + + Use prim physics form this object - - - Writes the raw bytes for this UUID to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array + + No physics, prim doesn't collide - - - Calculate an LLCRC (cyclic redundancy check) for this UUID - - The CRC checksum for this UUID + + Use convex hull represantion of this prim - + - Create a 64-bit integer representation from the second half of this UUID + An 8-bit color structure including an alpha channel - An integer created from the last eight bytes of this UUID - + + Red + + + Green + + + Blue + + + Alpha + + - Generate a UUID from a string + - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") + + + + - + - Generate a UUID from a string + Builds a color from a byte array - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - Will contain the parsed UUID if successful, - otherwise null - True if the string was successfully parse, otherwise false - UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 - + - Combine two UUIDs together by taking the MD5 hash of a byte array - containing both UUIDs + Returns the raw bytes for this vector - First UUID to combine - Second UUID to combine - The UUID product of the combination + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + True if the alpha value is inverted in + addition to whatever the inverted parameter is. Setting inverted true + and alphaInverted true will flip the alpha value back to non-inverted, + but keep the other color bytes inverted + A 16 byte array containing R, G, B, and A - + - + Copy constructor - + Color to copy - + - Return a hash code for this UUID, used by .NET for hash tables + IComparable.CompareTo implementation - An integer composed of all the UUID bytes XORed together + Sorting ends up like this: |--Grayscale--||--Color--|. + Alpha is only used when the colors are otherwise equivalent - + - Comparison function + Builds a color from a byte array - An object to compare to this UUID - True if the object is a UUID and both UUIDs are equal + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + True if the alpha value is inverted in + addition to whatever the inverted parameter is. Setting inverted true + and alphaInverted true will flip the alpha value back to non-inverted, + but keep the other color bytes inverted - + - Comparison function + Writes the raw bytes for this color to a byte array - UUID to compare to - True if the UUIDs are equal, otherwise false + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array - + - Get a hyphenated string representation of this UUID + Serializes this color into four bytes in a byte array - A string representation of this UUID, lowercase and - with hyphens - 11f8aa9c-b071-4242-836b-13b7abe0d489 + Destination byte array + Position in the destination array to start + writing. Must be at least 4 bytes before the end of the array + True to invert the output (1.0 becomes 0 + instead of 255) - + - Equals operator + Writes the raw bytes for this color to a byte array - First UUID for comparison - Second UUID for comparison - True if the UUIDs are byte for byte equal, otherwise false + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array - + - Not equals operator + Ensures that values are in range 0-1 - First UUID for comparison - Second UUID for comparison - True if the UUIDs are not equal, otherwise true - + - XOR operator + Create an RGB color from a hue, saturation, value combination - First UUID - Second UUID - A UUID that is a XOR combination of the two input UUIDs + Hue + Saturation + Value + An fully opaque RGB color (alpha is 1.0) - + - String typecasting operator + Performs linear interpolation between two colors - A UUID in string form. Case insensitive, - hyphenated or non-hyphenated - A UUID built from the string representation + Color to start at + Color to end at + Amount to interpolate + The interpolated color - - An UUID with a value of all zeroes + + A Color4 with zero RGB values and fully opaque (alpha 1.0) - - A cache of UUID.Zero as a string to optimize a common path + + A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) - + - A three-dimensional vector with floating-point values + A two-dimensional vector with floating-point values - + X value - + Y value - - Z value - - - - Constructor, builds a vector from a byte array - - Byte array containing three four-byte floats - Beginning position in the byte array - - + Test if this vector is equal to another vector, within a given tolerance range @@ -1799,95 +1770,73 @@ True if the magnitude of difference between the two vectors is less than the given tolerance, otherwise false - + - IComparable.CompareTo implementation + Test if this vector is composed of all finite numbers - + - Test if this vector is composed of all finite numbers + IComparable.CompareTo implementation - + Builds a vector from a byte array - Byte array containing a 12 byte vector + Byte array containing two four-byte floats Beginning position in the byte array - + Returns the raw bytes for this vector - A 12 byte array containing X, Y, and Z + An eight-byte array containing X and Y - + Writes the raw bytes for this vector to a byte array Destination byte array Position in the destination array to start - writing. Must be at least 12 bytes before the end of the array + writing. Must be at least 8 bytes before the end of the array - + Parse a vector from a string - A string representation of a 3D vector, enclosed + A string representation of a 2D vector, enclosed in arrow brackets and separated by commas - - - Calculate the rotation between two vectors - - Normalized directional vector (such as 1,0,0 for forward facing) - Normalized target vector - - + Interpolates between two vectors using a cubic equation - + Get a formatted string representation of the vector A string representation of the vector - - - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only - - Raw string representation of the vector - - - - Cross product between two vectors - - - + - Explicit casting for Vector3d > Vector3 + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only - - - - - A vector with a value of 0,0,0 + Raw string representation of the vector - - A vector with a value of 1,1,1 + + A vector with a value of 0,0 - - A unit vector facing forward (X axis), value 1,0,0 + + A vector with a value of 1,1 - - A unit vector facing left (Y axis), value 0,1,0 + + A vector with a value of 1,0 - - A unit vector facing up (Z axis), value 0,0,1 + + A vector with a value of 0,1 @@ -1981,674 +1930,725 @@ return false regardless of the content of this bucket - - - Identifier code for primitive types - - - - None - - - A Primitive - - - A Avatar - - - Linden grass + + X value - - Linden tree + + Y value - - A primitive that acts as the source for a particle stream + + Z value - - A Linden tree + + W value - + - Primary parameters for primitives such as Physics Enabled or Phantom + Build a quaternion from normalized float values + X value from -1.0 to 1.0 + Y value from -1.0 to 1.0 + Z value from -1.0 to 1.0 - - Deprecated - - - Whether physics are enabled for this object - - - - - - - - - - - - - - - - - - - - - Whether this object contains an active touch script - - - - - - Whether this object can receive payments - - - Whether this object is phantom (no collisions) - - - - - - - - - - - - - - - Deprecated - - - - - - - - - - - - Deprecated - - - - - - - - - - - - - - - Server flag, will not be sent to clients. Specifies that - the object is destroyed when it touches a simulator edge - - - Server flag, will not be sent to clients. Specifies that - the object will be returned to the owner's inventory when it - touches a simulator edge - - - Server flag, will not be sent to clients. - - - Server flag, will not be sent to client. Specifies that - the object is hovering/flying - - - + + + Constructor, builds a quaternion object from a byte array + + Byte array containing four four-byte floats + Offset in the byte array to start reading at + Whether the source data is normalized or + not. If this is true 12 bytes will be read, otherwise 16 bytes will + be read. - - + + + Normalizes the quaternion + - - + + + Builds a quaternion object from a byte array + + The source byte array + Offset in the byte array to start reading at + Whether the source data is normalized or + not. If this is true 12 bytes will be read, otherwise 16 bytes will + be read. - - + + + Normalize this quaternion and serialize it to a byte array + + A 12 byte array containing normalized X, Y, and Z floating + point values in order using little endian byte ordering - + - Sound flags for sounds attached to primitives + Writes the raw bytes for this quaternion to a byte array + Destination byte array + Position in the destination array to start + writing. Must be at least 12 bytes before the end of the array - - + + + Convert this quaternion to euler angles + + X euler angle + Y euler angle + Z euler angle - - + + + Convert this quaternion to an angle around an axis + + Unit vector describing the axis + Angle around the axis, in radians - - + + + Returns the conjugate (spatial inverse) of a quaternion + - - + + + Build a quaternion from an axis and an angle of rotation around + that axis + - - + + + Build a quaternion from an axis and an angle of rotation around + that axis + + Axis of rotation + Angle of rotation - - + + + Creates a quaternion from a vector containing roll, pitch, and yaw + in radians + + Vector representation of the euler angles in + radians + Quaternion representation of the euler angles - - + + + Creates a quaternion from roll, pitch, and yaw euler angles in + radians + + X angle in radians + Y angle in radians + Z angle in radians + Quaternion representation of the euler angles - + - Material type for a primitive + Conjugates and renormalizes a vector - - - - - - - - - - - + + + Spherical linear interpolation between two quaternions + - - + + + Get a string representation of the quaternion elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the quaternion - - + + A quaternion with a value of 0,0,0,1 - - + + For thread safety - - + + For thread safety - + - Used in a helper function to roughly determine prim shape + Purges expired objects from the cache. Called automatically by the purge timer. - + - Extra parameters for primitives, these flags are for features that have - been added after the original ObjectFlags that has all eight bits - reserved already + Attribute class that allows extra attributes to be attached to ENUMs - - Whether this object has flexible parameters - - - Whether this object has light parameters - - - Whether this object is a sculpted prim + + Text used when presenting ENUM to user - - Whether this object is a light image map + + Default initializer - - Whether this object is a mesh + + Text used when presenting ENUM to user - + - + The different types of grid assets - - + + Unknown asset type - - + + Texture asset, stores in JPEG2000 J2C stream format - - + + Sound asset - - - - + + Calling card for another avatar - - + + Link to a location in world - - + + Collection of textures and parameters that can be + worn by an avatar - - + + Primitive that can contain textures, sounds, + scripts and more - - + + Notecard asset - - + + Holds a collection of inventory items - - + + Root inventory folder - - + + Linden scripting language script - - + + LSO bytecode for a script - - - - + + Uncompressed TGA texture - - + + Collection of textures and shape parameters that can + be worn - - + + Trash folder - - + + Snapshot folder - - + + Lost and found folder - - + + Uncompressed sound - - + + Uncompressed TGA non-square image, not to be used as a + texture - - + + Compressed JPEG non-square image, not to be used as a + texture - - + + Animation - - + + Sequence of animations, sounds, chat, and pauses - - - - + + Simstate file - - + + Contains landmarks for favorites - - + + Asset is a link to another inventory item - - + + Asset is a link to another inventory folder - - + + Beginning of the range reserved for ensembles - - + + End of the range reserved for ensembles - - + + Folder containing inventory links to wearables and attachments + that are part of the current outfit - - + + Folder containing inventory items or links to + inventory items of wearables and attachments + together make a full outfit - - - Attachment points for objects on avatar bodies - - - Both InventoryObject and InventoryAttachment types can be attached - + + Root folder for the folders of type OutfitFolder - - Right hand if object was not previously attached + + Linden mesh format - - Chest + + Marketplace direct delivery inbox ("Received Items") - - Skull + + Marketplace direct delivery outbox - - Left shoulder + + - - Right shoulder + + + Inventory Item Types, eg Script, Notecard, Folder, etc + - - Left hand + + Unknown - - Right hand + + Texture - - Left foot + + Sound - - Right foot + + Calling Card - - Spine + + Landmark - - Pelvis + + Notecard - - Mouth + + - - Chin + + Folder - - Left ear + + - - Right ear + + an LSL Script - - Left eyeball + + - - Right eyeball + + - - Nose + + - - Right upper arm + + - - Right forearm + + - - Left upper arm + + - - Left forearm + + + Item Sale Status + - - Right hip + + Not for sale - - Right upper leg + + The original is for sale - - Right lower leg + + Copies are for sale - - Left hip + + The contents of the object are for sale - - Left upper leg + + + Types of wearable assets + - - Left lower leg + + Body shape - - Stomach + + Skin textures and attributes - - Left pectoral + + Hair - - Right pectoral + + Eyes - - HUD Center position 2 + + Shirt - - HUD Top-right + + Pants - - HUD Top + + Shoes - - HUD Top-left + + Socks - - HUD Center + + Jacket - - HUD Bottom-left + + Gloves - - HUD Bottom + + Undershirt - - HUD Bottom-right + + Underpants - - Neck + + Skirt - - Avatar Center + + Alpha mask to hide parts of the avatar - - - Tree foliage types - + + Tattoo - - Pine1 tree + + Physics - - Oak tree + + Invalid wearable asset - - Tropical Bush1 + + + A thread-safe lockless queue that supports multiple readers and + multiple writers + - - Palm1 tree + + Queue head - - Dogwood tree + + Queue tail - - Tropical Bush2 + + Queue item count - - Palm2 tree + + + Constructor + - - Cypress1 tree + + + Enqueue an item + + Item to enqeue - - Cypress2 tree + + + Try to dequeue an item + + Dequeued item if the dequeue was successful + True if an item was successfully deqeued, otherwise false - - Pine2 tree + + Gets the current number of items in the queue. Since this + is a lockless collection this value should be treated as a close + estimate - - Plumeria + + + Provides a node container for data in a singly linked list + - - Winter pinetree1 + + Pointer to the next node in list - - Winter Aspen tree + + The data contained by the node - - Winter pinetree2 + + + Constructor + - - Eucalyptus tree + + + Constructor + - - Fern + + + A 128-bit Universally Unique Identifier, used throughout the Second + Life networking protocol + - - Eelgrass + + The System.Guid object this struct wraps around - - Sea Sword + + + Constructor that takes a string UUID representation + + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") - - Kelp1 plant + + + Constructor that takes a System.Guid object + + A Guid object that contains the unique identifier + to be represented by this UUID - - Beach grass + + + Constructor that takes a byte array containing a UUID + + Byte array containing a 16 byte UUID + Beginning offset in the array - - Kelp2 plant + + + Constructor that takes an unsigned 64-bit unsigned integer to + convert to a UUID + + 64-bit unsigned integer to convert to a UUID - + - Grass foliage types + Copy constructor + UUID to copy - - - - - + + + IComparable.CompareTo implementation + - - + + + Assigns this UUID from 16 bytes out of a byte array + + Byte array containing the UUID to assign this UUID to + Starting position of the UUID in the byte array - - + + + Returns a copy of the raw bytes for this UUID + + A 16 byte array containing this UUID - - + + + Writes the raw bytes for this UUID to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array - - + + + Calculate an LLCRC (cyclic redundancy check) for this UUID + + The CRC checksum for this UUID - + - Action associated with clicking on an object + Create a 64-bit integer representation from the second half of this UUID + An integer created from the last eight bytes of this UUID - - Touch object + + + Generate a UUID from a string + + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") - - Sit on object + + + Generate a UUID from a string + + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + Will contain the parsed UUID if successful, + otherwise null + True if the string was successfully parse, otherwise false + UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) - - Purchase object or contents + + + Combine two UUIDs together by taking the MD5 hash of a byte array + containing both UUIDs + + First UUID to combine + Second UUID to combine + The UUID product of the combination - - Pay the object + + + + + - - Open task inventory + + + Return a hash code for this UUID, used by .NET for hash tables + + An integer composed of all the UUID bytes XORed together - - Play parcel media + + + Comparison function + + An object to compare to this UUID + True if the object is a UUID and both UUIDs are equal - - Open parcel media + + + Comparison function + + UUID to compare to + True if the UUIDs are equal, otherwise false - + - Type of physics representation used for this prim in the simulator + Get a hyphenated string representation of this UUID + A string representation of this UUID, lowercase and + with hyphens + 11f8aa9c-b071-4242-836b-13b7abe0d489 - - Use prim physics form this object + + + Equals operator + + First UUID for comparison + Second UUID for comparison + True if the UUIDs are byte for byte equal, otherwise false - - No physics, prim doesn't collide + + + Not equals operator + + First UUID for comparison + Second UUID for comparison + True if the UUIDs are not equal, otherwise true - - Use convex hull represantion of this prim + + + XOR operator + + First UUID + Second UUID + A UUID that is a XOR combination of the two input UUIDs - + - A two-dimensional vector with floating-point values + String typecasting operator + A UUID in string form. Case insensitive, + hyphenated or non-hyphenated + A UUID built from the string representation - - X value + + An UUID with a value of all zeroes - - Y value + + A cache of UUID.Zero as a string to optimize a common path - + - Test if this vector is equal to another vector, within a given - tolerance range + Provides helper methods for parallelizing loops - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false - + - Test if this vector is composed of all finite numbers + Executes a for loop in which iterations may run in parallel + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop - + - IComparable.CompareTo implementation + Executes a for loop in which iterations may run in parallel + The number of concurrent execution threads to run + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop - + - Builds a vector from a byte array + Executes a foreach loop in which iterations may run in parallel - Byte array containing two four-byte floats - Beginning position in the byte array + Object type that the collection wraps + An enumerable collection to iterate over + Method body to run for each object in the collection - + - Returns the raw bytes for this vector + Executes a foreach loop in which iterations may run in parallel - An eight-byte array containing X and Y + Object type that the collection wraps + The number of concurrent execution threads to run + An enumerable collection to iterate over + Method body to run for each object in the collection - + - Writes the raw bytes for this vector to a byte array + Executes a series of tasks in parallel - Destination byte array - Position in the destination array to start - writing. Must be at least 8 bytes before the end of the array + A series of method bodies to execute - + - Parse a vector from a string + Executes a series of tasks in parallel - A string representation of a 2D vector, enclosed - in arrow brackets and separated by commas + The number of concurrent execution threads to run + A series of method bodies to execute - + - Interpolates between two vectors using a cubic equation + Copy constructor + Circular queue to copy - + - Get a formatted string representation of the vector + Determines the appropriate events to set, leaves the locks, and sets the events. - A string representation of the vector - + - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only + A routine for lazily creating a event outside the lock (so if errors + happen they are outside the lock and that we don't do much work + while holding a spin lock). If all goes well, reenter the lock and + set 'waitEvent' - Raw string representation of the vector - - A vector with a value of 0,0 - - - A vector with a value of 1,1 - - - A vector with a value of 1,0 - - - A vector with a value of 0,1 + + + Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. + Before the wait 'numWaiters' is incremented and is restored before leaving this routine. + diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 00397a9..7ee907b 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 10097f13aa21356a08fcf60a4e36c4c6471167ef Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Tue, 21 May 2013 21:40:26 -0700 Subject: BulletSim: update DLLs and SOs with version containing gImpact code. --- bin/lib32/BulletSim.dll | Bin 1010176 -> 982528 bytes bin/lib32/libBulletSim.so | Bin 2096576 -> 2271520 bytes bin/lib64/BulletSim.dll | Bin 1142272 -> 1222656 bytes bin/lib64/libBulletSim.so | Bin 2265980 -> 2454504 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 1e94d05..d63ee1d 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index 6216a65..03de631 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 68cfcc4..e155f0e 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index 08c00af..ac64a40 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From 0c35d28933ddb2cae7b4f095b35ed4e386a1b71b Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 26 May 2013 17:35:12 -0700 Subject: BulletSim: enable GImpact shape for prims with cuts. Include DLLs and SOs which recompute GImpact shape bounding box after creation as Bullet doesn't do that itself (something it does for nearly every other shape). Now, physical prims without cuts become single mesh convex meshes. Physical prims with cuts become GImpact meshes. Meshes become a set of convex hulls approximated from the mesh unless the hulls are specified in the mesh asset data. The use of GImpact shapes should make some mechanical physics more stable. --- bin/lib32/BulletSim.dll | Bin 982528 -> 982528 bytes bin/lib32/libBulletSim.so | Bin 2271520 -> 2271724 bytes bin/lib64/BulletSim.dll | Bin 1222656 -> 1222656 bytes bin/lib64/libBulletSim.so | Bin 2454504 -> 2454796 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index d63ee1d..bc0e222 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index 03de631..e09dd27 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index e155f0e..5fc09f6 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index ac64a40..925269d 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From 328883700a15e4216bf7b251ac099d38f413375e Mon Sep 17 00:00:00 2001 From: BlueWall Date: Mon, 13 May 2013 22:11:28 -0400 Subject: UserProfiles UserProfiles for Robust and Standalone. Includes service and connectors for Robust and standalone opensim plus matching region module. --- bin/OpenSim.ini.example | 6 ++++++ bin/OpenSimDefaults.ini | 13 +++++++++++++ bin/Robust.HG.ini.example | 12 +++++++++++- bin/Robust.ini.example | 11 +++++++++++ bin/config-include/StandaloneCommon.ini.example | 16 ++++++++++++++++ bin/config-include/StandaloneHypergrid.ini | 2 +- 6 files changed, 58 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 5e486d4..38e2a07 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1032,6 +1032,12 @@ ;# {InitialTerrain} {} {Initial terrain type} {pinhead-island flat} pinhead-island ; InitialTerrain = "pinhead-island" +[Profile] + ;# {ProfileURL} {} {Set url to UserProfilesService} {} + ;; Set the value of the url to your UserProfilesService + ;; If un-set / "" the module is disabled + ;; ProfileURL = http://127.0.0.1:8002 + [Architecture] ;# {Include-Architecture} {} {Choose one of the following architectures} {config-include/Standalone.ini config-include/StandaloneHypergrid.ini config-include/Grid.ini config-include/GridHypergrid.ini config-include/SimianGrid.ini config-include/HyperSimianGrid.ini} config-include/Standalone.ini ;; Uncomment one of the following includes as required. For instance, to create a standalone OpenSim, diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 81843b1..237f684 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -377,6 +377,19 @@ AllowRegionRestartFromClient = true +[UserProfiles] + ;# {ProfileURL} {} {Set url to UserProfilesService} {} + ;; Set the value of the url to your UserProfilesService + ;; If un-set / "" the module is disabled + ;; If the ProfileURL is not set, then very BASIC + ;; profile support will be configured. If the ProfileURL is set to a + ;; valid URL, then full profile support will be configured. The URL + ;; points to your grid's Robust user profiles service + ;; + ; ProfileURL = http://127.0.0.1:9000 + + + [SMTP] enabled = false diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index bc2b4cf..d9f1ca1 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -71,10 +71,12 @@ HGInventoryServiceConnector = "HGInventoryService@8002/OpenSim.Server.Handlers.d HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:AssetServiceConnector" ;; Uncomment this if you want Groups V2, HG to work ; HGGroupsServiceConnector = "8002/OpenSim.Addons.Groups.dll:HGGroupsServiceRobustConnector" - ;; Additions for other add-on modules. For example: ;; WifiServerConnector = "8002/Diva.Wifi.dll:WifiServerConnector" +;; Uncomment for UserProfiles see [UserProfilesService] to configure... +; UserProfilesServiceConnector = "8002/OpenSim.Server.Handlers.dll:UserProfilesConnector" + ; * This is common for all services, it's the network setup for the entire ; * server instance, if none is specified above ; * @@ -595,4 +597,12 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ;; Can overwrite the default in [Hypergrid], but probably shouldn't ; HomeURI = "http://127.0.0.1:8002" +[UserProfilesService] + LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService" + Enabled = false + ;; Configure this for separate profiles database + ;; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;" + ;; Realm = UserProfiles + UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService + AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 1d66b7f..7d6492b 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -51,6 +51,8 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ;; Uncomment this if you want Groups V2 to work ;GroupsServiceConnector = "8003/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" +;; Uncomment for UserProfiles see [UserProfilesService] to configure... +; UserProfilesServiceConnector = "8002/OpenSim.Server.Handlers.dll:UserProfilesConnector" ; * This is common for all services, it's the network setup for the entire ; * server instance, if none is specified above @@ -391,4 +393,13 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; password help: optional: page providing password assistance for users of your grid ;password = http://127.0.0.1/password +[UserProfilesService] + LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService" + Enabled = false + ;; Configure this for separate profiles database + ;; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;" + ;; Realm = UserProfiles + UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService + AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index 2547244..8c23c41 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -352,3 +352,19 @@ ;; If appearance is restricted, which accounts' appearances are allowed to be exported? ;; Comma-separated list of account names AccountForAppearance = "Test User, Astronaut Smith" + +;; UserProfiles Service +;; +;; To use, set Enabled to true then configure for your site... +[UserProfilesService] + LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService" + Enabled = false + + ;; Configure this for separate databse + ; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" + ; Realm = UserProfiles + + UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService + AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + + diff --git a/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini index ba92030..39c33e8 100644 --- a/bin/config-include/StandaloneHypergrid.ini +++ b/bin/config-include/StandaloneHypergrid.ini @@ -19,6 +19,7 @@ GridUserServices = "LocalGridUserServicesConnector" SimulationServices = "RemoteSimulationConnectorModule" AvatarServices = "LocalAvatarServicesConnector" + UserProfilesServices = "LocalUserProfilesServicesConnector" MapImageService = "MapImageServiceModule" EntityTransferModule = "HGEntityTransferModule" InventoryAccessModule = "HGInventoryAccessModule" @@ -184,7 +185,6 @@ UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" InGatekeeper = True - ;; This should always be the very last thing on this file [Includes] Include-Common = "config-include/StandaloneCommon.ini" -- cgit v1.1 From 3aa2fb99289162b4338b7550a39411bebd74d97b Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 30 May 2013 09:19:42 -0700 Subject: BulletSim: remove unuseful BulletSim parameters from OpenSimDefaults.ini and replace with things someone might actually want to tune (avatar height, ...). --- bin/OpenSimDefaults.ini | 57 ++++++++++++++++++++++--------------------------- 1 file changed, 25 insertions(+), 32 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 81843b1..6cdf146 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -921,56 +921,49 @@ ;force_simple_prim_meshing = true [BulletSim] - ; World parameters + ; All the BulletSim parameters can be displayed with the console command "physics get all" + ; and all are defined in the source file OpenSim/Regions/Physics/BulletSPlugin/BSParam.cs. ; There are two bullet physics libraries, bulletunmanaged is the default and is a native c++ dll - ; bulletxna is a managed C# dll. They have comparible functionality.. the c++ is much faster. - + ; bulletxna is a managed C# dll. They have comparible functionality but the c++ one is much faster. BulletEngine = "bulletunmanaged" ; BulletEngine = "bulletxna" - ; Terrain Implementation {1|0} 0 for HeightField, 1 for Mesh terrain. If you're using the bulletxna engine, - ; you will want to switch to the heightfield option - TerrainImplementation = 1 - ; TerrainImplementation = 0 - - Gravity = -9.80665 - - TerrainFriction = 0.30 - TerrainHitFraction = 0.8 - TerrainRestitution = 0 - TerrainCollisionMargin = 0.04 + ; Terrain Implementation + TerrainImplementation = 1 ; 0=Heightfield, 1=mesh + ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield resolution). '2' + ; gives 512x512. Etc. Cannot be larger than '4'. Higher magnification uses lots of memory. + TerrainMeshMagnification = 2 - AvatarFriction = 0.2 - AvatarStandingFriction = 0.95 - AvatarRestitution = 0.0 - AvatarDensity = 3.5 - AvatarCapsuleWidth = 0.6 - AvatarCapsuleDepth = 0.45 - AvatarCapsuleHeight = 1.5 - AvatarContactProcessingThreshold = 0.1 + ; Avatar physics height adjustments. http://opensimulator.org/wiki/BulletSim#Adjusting_Avatar_Height + AvatarHeightLowFudge = -0.2 ; Adjustment at low end of height range + AvatarHeightMidFudge = 0.1 ; Adjustment at mid point of avatar height range + AvatarHeightHighFudge = 0.1 ; Adjustment at high end of height range - MaxObjectMass = 10000.01 - - CollisionMargin = 0.04 - - ; Linkset implmentation + ; Default linkset implmentation + ; 'Constraint' uses physics constraints to hold linkset together. 'Compound' builds a compound + ; shape from the children shapes to create a single physical shape. 'Compound' uses a lot less CPU time. LinkImplementation = 1 ; 0=constraint, 1=compound - ; Whether to mesh sculpties + ; If 'true', turn scuplties into meshes MeshSculptedPrim = true ; If 'true', force simple prims (box and sphere) to be meshed + ; If 'false', the Bullet native special case shape is used for square rectangles and even dimensioned spheres ForceSimplePrimMeshing = false - ; Bullet step parameters - MaxSubSteps = 10 - FixedTimeStep = .01667 + ; If 'true', when creating meshes, remove all triangles that have two equal vertexes. + ; Happens often in sculpties. If turned off, there will be some doorways that cannot be walked through. + ShouldRemoveZeroWidthTriangles = true + + ; If 'true', use convex hull definition in mesh asset if present. + ShouldUseAssetHulls = true + ; If there are thousands of physical objects, these maximums should be increased. MaxCollisionsPerFrame = 2048 MaxUpdatesPerFrame = 8192 - ; Detailed physics debug logging + ; Detailed physics debug logging. Very verbose. PhysicsLoggingEnabled = False PhysicsLoggingDir = "." VehicleLoggingEnabled = False -- cgit v1.1 From ba2f13db63a58698ca47e9ba51a1a1509b838a77 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Fri, 31 May 2013 18:48:01 -0400 Subject: Adding back the BasicProfileModule --- bin/OpenSim.ini.example | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 38e2a07..3015c08 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1032,11 +1032,11 @@ ;# {InitialTerrain} {} {Initial terrain type} {pinhead-island flat} pinhead-island ; InitialTerrain = "pinhead-island" -[Profile] +[UserProfiles] ;# {ProfileURL} {} {Set url to UserProfilesService} {} ;; Set the value of the url to your UserProfilesService ;; If un-set / "" the module is disabled - ;; ProfileURL = http://127.0.0.1:8002 + ;; ProfileServiceURL = http://127.0.0.1:8002 [Architecture] ;# {Include-Architecture} {} {Choose one of the following architectures} {config-include/Standalone.ini config-include/StandaloneHypergrid.ini config-include/Grid.ini config-include/GridHypergrid.ini config-include/SimianGrid.ini config-include/HyperSimianGrid.ini} config-include/Standalone.ini -- cgit v1.1 From 43d804b998e6f37bbae771711af0ae1ffcc84cbd Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 4 Jun 2013 12:27:22 -0700 Subject: New HttpServer_OpenSim.dll with increased limits on number of connections, requests, etc. --- bin/HttpServer_OpenSim.dll | Bin 119808 -> 116224 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index e15493d..38a4cb7 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ -- cgit v1.1 From 02548bdc16ca5af1d9442bf81cdff6638760fc61 Mon Sep 17 00:00:00 2001 From: Melanie Date: Tue, 4 Jun 2013 21:11:16 +0100 Subject: Update HTTP server --- bin/HttpServer_OpenSim.dll | Bin 119808 -> 116224 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index e15493d..38a4cb7 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ -- cgit v1.1 From 90097de6c3cf58989698b37c89baa8268895fc86 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Tue, 11 Jun 2013 20:35:25 -0400 Subject: Add option to set minimum fee for classified ads Upcoming phoenix-firestorm (4.4.1) adds a configurable option for setting the minimum price for publishing a classified ad. http://hg.phoenixviewer.com/phoenix-firestorm-lgpl/rev/43415d69b048 --- bin/Robust.HG.ini.example | 8 +++++++- bin/Robust.ini.example | 6 ++++++ bin/config-include/StandaloneCommon.ini.example | 3 +++ 3 files changed, 16 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index d9f1ca1..2afb978 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -1,4 +1,4 @@ -; * Run +i * Run ; * $ Robust.exe -inifile Robust.HG.ini ; * @@ -311,6 +311,9 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ;; Ask co-operative viewers to use a different currency name ;Currency = "" + ;; Minimum fee for creation of classified + ; ClassifiedFee = 0 + WelcomeMessage = "Welcome, Avatar!" AllowRemoteSetLoginLevel = "false" @@ -436,6 +439,9 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; this is the entry point for all user-related HG services ; uas = http://127.0.0.1:8002/ + ;; Minimum fee to publish classified add + ; ClassifiedFee = 0 + [GatekeeperService] LocalServiceModule = "OpenSim.Services.HypergridService.dll:GatekeeperService" ;; for the service diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 7d6492b..3440191 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -274,6 +274,9 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; Ask co-operative viewers to use a different currency name ;Currency = "" + ;; Minimum fee for creation of classified + ; ClassifiedFee = 0 + WelcomeMessage = "Welcome, Avatar!" AllowRemoteSetLoginLevel = "false" @@ -393,6 +396,9 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; password help: optional: page providing password assistance for users of your grid ;password = http://127.0.0.1/password + ;; Minimum fee to publish classified add + ; ClassifiedFee = 0 + [UserProfilesService] LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService" Enabled = false diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index 8c23c41..8ec3daf 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -222,6 +222,9 @@ ; this is the entry point for all user-related HG services ; uas = http://127.0.0.1:9000/ + ;; Minimum fee to publish classified add + ; ClassifiedFee = 0 + [MapImageService] ; Set this if you want to change the default ; TilesStoragePath = "maptiles" -- cgit v1.1 From 9fec0faade3979fc6e514b4acde92741aa0e9c16 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Tue, 11 Jun 2013 21:46:40 -0400 Subject: Revert "Add option to set minimum fee for classified ads" This reverts commit 90097de6c3cf58989698b37c89baa8268895fc86. --- bin/Robust.HG.ini.example | 8 +------- bin/Robust.ini.example | 6 ------ bin/config-include/StandaloneCommon.ini.example | 3 --- 3 files changed, 1 insertion(+), 16 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 2afb978..d9f1ca1 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -1,4 +1,4 @@ -i * Run +; * Run ; * $ Robust.exe -inifile Robust.HG.ini ; * @@ -311,9 +311,6 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ;; Ask co-operative viewers to use a different currency name ;Currency = "" - ;; Minimum fee for creation of classified - ; ClassifiedFee = 0 - WelcomeMessage = "Welcome, Avatar!" AllowRemoteSetLoginLevel = "false" @@ -439,9 +436,6 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; this is the entry point for all user-related HG services ; uas = http://127.0.0.1:8002/ - ;; Minimum fee to publish classified add - ; ClassifiedFee = 0 - [GatekeeperService] LocalServiceModule = "OpenSim.Services.HypergridService.dll:GatekeeperService" ;; for the service diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 3440191..7d6492b 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -274,9 +274,6 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; Ask co-operative viewers to use a different currency name ;Currency = "" - ;; Minimum fee for creation of classified - ; ClassifiedFee = 0 - WelcomeMessage = "Welcome, Avatar!" AllowRemoteSetLoginLevel = "false" @@ -396,9 +393,6 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; password help: optional: page providing password assistance for users of your grid ;password = http://127.0.0.1/password - ;; Minimum fee to publish classified add - ; ClassifiedFee = 0 - [UserProfilesService] LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService" Enabled = false diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index 8ec3daf..8c23c41 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -222,9 +222,6 @@ ; this is the entry point for all user-related HG services ; uas = http://127.0.0.1:9000/ - ;; Minimum fee to publish classified add - ; ClassifiedFee = 0 - [MapImageService] ; Set this if you want to change the default ; TilesStoragePath = "maptiles" -- cgit v1.1 From b2c8d5eec7cc5c6b4685d22921a6e684ce7714b1 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Thu, 13 Jun 2013 09:18:27 -0400 Subject: Add Option: ClassifiedFee Add option to set minimum fee for publishing classifieds. Many viewers have a hard coded minimum of 50, which makes publishing classifieds fail where grids have no economy. This allows the grid to set the minimum fee to a suitable value for their operation. The option is located in the [LoginService] section and defaults to 0. The value is sent as "classified_fee" in the login response. --- bin/Robust.HG.ini.example | 3 +++ bin/Robust.ini.example | 3 +++ bin/config-include/StandaloneCommon.ini.example | 3 +++ 3 files changed, 9 insertions(+) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index d9f1ca1..466aed2 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -311,6 +311,9 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ;; Ask co-operative viewers to use a different currency name ;Currency = "" + ;; Set minimum fee to publish classified + ; ClassifiedFee = 0 + WelcomeMessage = "Welcome, Avatar!" AllowRemoteSetLoginLevel = "false" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 7d6492b..da1b43a 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -274,6 +274,9 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; Ask co-operative viewers to use a different currency name ;Currency = "" + ;; Set minimum fee to publish classified + ; ClassifiedFee = 0 + WelcomeMessage = "Welcome, Avatar!" AllowRemoteSetLoginLevel = "false" diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index 8c23c41..6b991a8 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -115,6 +115,9 @@ ;; Ask co-operative viewers to use a different currency name ;Currency = "" + ;; Set minimum fee to publish classified + ; ClassifiedFee = 0 + ;; Regular expressions for controlling which client versions are accepted/denied. ;; An empty string means nothing is checked. ;; -- cgit v1.1 From 4406f07a84faf2622fb1e238757b2ce2545cc24c Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Fri, 28 Jun 2013 23:34:16 +0100 Subject: Add IMG_BLOOM1.jp2 to standard asset set, which is used in stars. This makes stars appear more realistically rather than as massive chunks due to the missing IMG_BLOOM1 asset from the viewer. Thanks to YoshikoFazuku for supplying the star asset which I then uploaded via a viewer and extracted as JPEG2000. Thanks also to Ai Austin for helping this process along. See http://opensimulator.org/mantis/view.php?id=6691 for more details. --- bin/assets/TexturesAssetSet/IMG_BLOOM1.jp2 | Bin 0 -> 11276 bytes bin/assets/TexturesAssetSet/TexturesAssetSet.xml | 12 ++++++++++++ 2 files changed, 12 insertions(+) create mode 100644 bin/assets/TexturesAssetSet/IMG_BLOOM1.jp2 (limited to 'bin') diff --git a/bin/assets/TexturesAssetSet/IMG_BLOOM1.jp2 b/bin/assets/TexturesAssetSet/IMG_BLOOM1.jp2 new file mode 100644 index 0000000..8186d49 Binary files /dev/null and b/bin/assets/TexturesAssetSet/IMG_BLOOM1.jp2 differ diff --git a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml index a4a0cba..a29ac38 100644 --- a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml +++ b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml @@ -746,4 +746,16 @@
+ + +
+ + + + +
+ -- cgit v1.1 From f2f33b75776539560e1dbfec12a6559f5b4be05e Mon Sep 17 00:00:00 2001 From: BlueWall Date: Thu, 4 Jul 2013 17:45:17 -0400 Subject: Some consistency fixes for the ini to stop parser breakage --- bin/OpenSim.ini.example | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 3015c08..1c53935 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -268,7 +268,7 @@ ; AllowedClients = ;# {BannedClients} {} {Bar (|) separated list of banned clients} {} - ;# Bar (|) separated list of viewers which may not gain access to the regions. + ;; Bar (|) separated list of viewers which may not gain access to the regions. ;; One can use a Substring of the viewer name to disable only certain ;; versions ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" @@ -287,7 +287,7 @@ ;; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/ ; GenerateMaptiles = true - ;# {MapImageModule} [] {The map image module to use} {MapImageModule Warp3DImageModule} MapImageModule + ;# {MapImageModule} {} {The map image module to use} {MapImageModule Warp3DImageModule} MapImageModule ;; The module to use in order to generate map images. ;; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can ;; generate better images. @@ -474,7 +474,10 @@ ;# {XmlRpcPort} {} {Port for incoming llRemoteData xmlrpc calls} {} 20800 ;XmlRpcPort = 20800 - ;# {XmlRpcHubURI} {XmlRpcRouterModule} {URI for external service used to register xmlrpc channels created in the simulator. This depends on XmlRpcRouterModule being set to XmlRpcGridRouterModule} http://example.com + +;; {option} {depends on} {question to ask} {choices} default value + + ;# {XmlRpcHubURI} {XmlRpcRouterModule} {URI for external service used to register xmlrpc channels created in the simulator. This depends on XmlRpcRouterModule being set to XmlRpcGridRouterModule} {} http://example.com ;; If XmlRpcRouterModule is set to XmlRpcGridRouterModule, the simulator ;; will use this address to register xmlrpc channels on the external ;; service @@ -538,7 +541,7 @@ ;; Distance in meters that ordinary chat should travel. ; say_distance = 20 - ;# {shout_distance} {Distance at which a shout is heard, in meters?} {} 100 + ;# {shout_distance} {} {Distance at which a shout is heard, in meters?} {} 100 ;; Distance in meters that shouts should travel. ; shout_distance = 100 @@ -613,7 +616,8 @@ ;; the "password" parameter) ; access_password = "" - ;# List the IP addresses allowed to call RemoteAdmin + ;# {access_ip_addresses} {enabled:true} {List the IP addresses allowed to call RemoteAdmin?} {} + ;; List the IP addresses allowed to call RemoteAdmin ;; If access_ip_addresses isn't set, then all IP addresses can access RemoteAdmin. ;; access_ip_addresses = 0.0.0.0, 0.0.0.0 ... ; access_ip_addresses = @@ -798,7 +802,7 @@ ; ScriptStopStrategy = abort - ;# {DeleteScriptsOnStartup} {} {Delete previously compiled script DLLs on startup?} (true false) true + ;# {DeleteScriptsOnStartup} {} {Delete previously compiled script DLLs on startup?} {true false} true ;; Controls whether previously compiled scripts DLLs are deleted on sim restart. If you set this to false ;; then startup will be considerably faster since scripts won't need to be recompiled. However, then it becomes your responsibility to delete the ;; compiled scripts if you're recompiling OpenSim from source code and internal interfaces used -- cgit v1.1 From a65cec3986431f5a2f4f9eb2424157def0d035c8 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sat, 6 Jul 2013 08:22:59 -0700 Subject: BulletSim: implementation of linkset center-of-mass. Default off, for the moment, until more testing. Add separate thread and center-of-mass flags to OpenSimDefaults.ini. Clean up comments in OpenSimDefaults.ini. --- bin/OpenSimDefaults.ini | 56 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 37 insertions(+), 19 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 4a89fe2..4a3104e 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -919,54 +919,72 @@ ; ## Joint support ; ## - ; if you would like physics joints to be enabled through a special naming convention in the client, set this to true. - ; (see NINJA Physics documentation, http://opensimulator.org/wiki/NINJA_Physics) - ; default is false + ; If you would like physics joints to be enabled through a special naming + ; convention in the client, set this to true. + ; (See NINJA Physics documentation, http://opensimulator.org/wiki/NINJA_Physics) + ; Default is false ;use_NINJA_physics_joints = true ; ## ; ## additional meshing options ; ## - ; physical collision mesh proxies are normally created for complex prim shapes, and collisions for simple boxes and - ; spheres are computed algorithmically. If you would rather have mesh proxies for simple prims, you can set this to - ; true. Note that this will increase memory usage and region startup time. Default is false. + ; Physical collision mesh proxies are normally created for complex prim shapes, + ; and collisions for simple boxes and spheres are computed algorithmically. + ; If you would rather have mesh proxies for simple prims, you can set this to + ; true. Note that this will increase memory usage and region startup time. + ; Default is false. ;force_simple_prim_meshing = true [BulletSim] - ; All the BulletSim parameters can be displayed with the console command "physics get all" - ; and all are defined in the source file OpenSim/Regions/Physics/BulletSPlugin/BSParam.cs. + ; All the BulletSim parameters can be displayed with the console command + ; "physics get all" and all are defined in the source file + ; OpenSim/Regions/Physics/BulletSPlugin/BSParam.cs. - ; There are two bullet physics libraries, bulletunmanaged is the default and is a native c++ dll - ; bulletxna is a managed C# dll. They have comparible functionality but the c++ one is much faster. + ; There are two bullet physics libraries, bulletunmanaged is the default and is a + ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality + ; but the c++ one is much faster. BulletEngine = "bulletunmanaged" ; BulletEngine = "bulletxna" - ; Terrain Implementation - TerrainImplementation = 1 ; 0=Heightfield, 1=mesh - ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield resolution). '2' - ; gives 512x512. Etc. Cannot be larger than '4'. Higher magnification uses lots of memory. + ; BulletSim can run on its own thread independent of the simulator's heartbeat + ; thread. Enabling this will nto let the physics engine slow down avatar movement, etc. + UseSeparatePhysicsThread = false + + ; Terrain implementation can use either Bullet's heightField or BulletSim can build + ; a mesh. 0=heightField, 1=mesh + TerrainImplementation = 1 + ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield + ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher + ; magnification uses lots of memory. TerrainMeshMagnification = 2 - ; Avatar physics height adjustments. http://opensimulator.org/wiki/BulletSim#Adjusting_Avatar_Height + ; Avatar physics height adjustments. + ; http://opensimulator.org/wiki/BulletSim#Adjusting_Avatar_Height AvatarHeightLowFudge = -0.2 ; Adjustment at low end of height range AvatarHeightMidFudge = 0.1 ; Adjustment at mid point of avatar height range AvatarHeightHighFudge = 0.1 ; Adjustment at high end of height range ; Default linkset implmentation - ; 'Constraint' uses physics constraints to hold linkset together. 'Compound' builds a compound - ; shape from the children shapes to create a single physical shape. 'Compound' uses a lot less CPU time. + ; 'Constraint' uses physics constraints to hold linkset together. 'Compound' + ; builds a compound shape from the children shapes to create a single physical + ; shape. 'Compound' uses a lot less CPU time. LinkImplementation = 1 ; 0=constraint, 1=compound + ; If 'true', offset a linkset's origin based on mass of linkset parts. + LinksetOffsetCenterOfMass = false + ; If 'true', turn scuplties into meshes MeshSculptedPrim = true ; If 'true', force simple prims (box and sphere) to be meshed - ; If 'false', the Bullet native special case shape is used for square rectangles and even dimensioned spheres + ; If 'false', the Bullet native special case shape is used for square rectangles + ; and even dimensioned spheres. ForceSimplePrimMeshing = false ; If 'true', when creating meshes, remove all triangles that have two equal vertexes. - ; Happens often in sculpties. If turned off, there will be some doorways that cannot be walked through. + ; Happens often in sculpties. If turned off, there will be some doorways + ; that cannot be walked through. ShouldRemoveZeroWidthTriangles = true ; If 'true', use convex hull definition in mesh asset if present. -- cgit v1.1 From d48946f9ef368ff72cec00c33bbfb53b6bd35696 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sun, 14 Jul 2013 16:51:07 -0700 Subject: Document obscure Groups config related to the user level required for creating groups --- bin/OpenSim.ini.example | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 1c53935..4ddefba 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -955,6 +955,10 @@ ;; Enables the groups module ; Enabled = false + ;# {LevelGroupCreate} {Enabled:true} {User level for creating groups} {} 0 + ;; Minimum user level required to create groups + ;LevelGroupCreate = 0 + ;# {Module} {Enabled:true} {Groups module to use? (Use GroupsModule to use Flotsam/Simian)} {Default "Groups Module V2"} Default ;; The default module can use a PHP XmlRpc server from the Flotsam project at ;; http://code.google.com/p/flotsam/ -- cgit v1.1 From 9432f3c94d0b0345132e5ff9eaf966b96cf218c2 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 16 Jul 2013 19:04:30 -0700 Subject: Improvements to the ServiceThrottleModule: added a category and an itemid to the interface, so that duplicate requests aren't enqueued more than once. --- bin/OpenSimDefaults.ini | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 4a3104e..8079632 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1727,5 +1727,9 @@ MaxStringSpace = 0 ;; {MaxDistance} {} {Cut-off distance at which sounds will not be sent to users} {100.0} MaxDistance = 100.0 +[ServiceThrottle] + ;; Default time interval (in ms) for the throttle service thread to wake up + Interval = 5000 + [Modules] Include-modules = "addon-modules/*/config/*.ini" -- cgit v1.1 From e103e34f1d17d218c55ebb1ff19450c018cf73b2 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Wed, 24 Jul 2013 11:23:19 -0700 Subject: Added config var that we all thought was already there: see_into_region. (Note: different from the defunct see_into_neighboring_sim, which used to control the process from the other end). This enables child agents in neighbors for which the root agent doesn't have permission to be in. --- bin/OpenSimDefaults.ini | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 8079632..6aa534a 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -86,6 +86,9 @@ ;; from the selected region_info_source. allow_regionless = false + ;; Allow child agents to see into the region even if their root counterpart isn't allowed in here + see_into_region = true + ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos ; Increasing this number will increase memory usage. MaxPrimUndos = 20 -- cgit v1.1 From 1572e91b5f74c991230e15b7ca120e83a6ed3eb4 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 27 Jul 2013 08:04:48 -0700 Subject: Clarifications on documentation of Group configs --- bin/OpenSim.ini.example | 12 +++++++++--- bin/OpenSimDefaults.ini | 1 - 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 4ddefba..c30c73d 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -579,9 +579,9 @@ ;; must be set to allow offline messaging to work. ; MuteListURL = http://yourserver/Mute.php - ;; Control whether group messages are forwarded to offline users. + ;; Control whether group invites and notices are stored for offline users. ;; Default is true. - ;; This applies to the core groups module (Flotsam) only. + ;; This applies to both core groups module. ; ForwardOfflineGroupMessages = true @@ -957,7 +957,7 @@ ;# {LevelGroupCreate} {Enabled:true} {User level for creating groups} {} 0 ;; Minimum user level required to create groups - ;LevelGroupCreate = 0 + ; LevelGroupCreate = 0 ;# {Module} {Enabled:true} {Groups module to use? (Use GroupsModule to use Flotsam/Simian)} {Default "Groups Module V2"} Default ;; The default module can use a PHP XmlRpc server from the Flotsam project at @@ -1010,6 +1010,12 @@ ;; Enable Group Notices ; NoticesEnabled = true + ;# {MessageOnlineUsersOnly} {Module:GroupsModule Module:Groups Module V2} {Message online users only?} {true false} false + ; Experimental option to only message online users rather than all users + ; Should make large groups with few online members messaging faster, as the expense of more calls to presence service + ; Applies to both Group modules in core + ; MessageOnlineUsersOnly = false + ;; This makes the Groups modules very chatty on the console. ; DebugEnabled = false diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 6aa534a..e70b9b3 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1612,7 +1612,6 @@ ; Experimental option to only message cached online users rather than all users ; Should make large group with few online members messaging faster, as the expense of more calls to ROBUST presence service - ; This currently only applies to the Flotsam XmlRpc backend MessageOnlineUsersOnly = false ; Service connectors to the Groups Service. Select one depending on whether you're using a Flotsam XmlRpc backend or a SimianGrid backend -- cgit v1.1 From 9cbbb7eddfb3316a2db5bfaa0e81a39850e7163d Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 27 Jul 2013 19:16:48 -0700 Subject: Clarification on docs of .ini.examples for Groups (again) --- bin/OpenSim.ini.example | 4 ++-- bin/OpenSimDefaults.ini | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index c30c73d..33f3263 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1010,10 +1010,10 @@ ;; Enable Group Notices ; NoticesEnabled = true - ;# {MessageOnlineUsersOnly} {Module:GroupsModule Module:Groups Module V2} {Message online users only?} {true false} false + ;# {MessageOnlineUsersOnly} {Module:GroupsModule Module} {Message online users only?} {true false} false ; Experimental option to only message online users rather than all users ; Should make large groups with few online members messaging faster, as the expense of more calls to presence service - ; Applies to both Group modules in core + ; Applies Flotsam Group only. V2 has this always on, no other option ; MessageOnlineUsersOnly = false ;; This makes the Groups modules very chatty on the console. diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index e70b9b3..dbafd5c 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1612,6 +1612,7 @@ ; Experimental option to only message cached online users rather than all users ; Should make large group with few online members messaging faster, as the expense of more calls to ROBUST presence service + ; (Flotsam groups only; in V2 this is always on) MessageOnlineUsersOnly = false ; Service connectors to the Groups Service. Select one depending on whether you're using a Flotsam XmlRpc backend or a SimianGrid backend -- cgit v1.1 From 7b0b5c9d97dea840e1ede6e2318b3c049c804983 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sun, 28 Jul 2013 13:49:58 -0700 Subject: Added BasicSearchModule.cs which handles OnDirFindQuery events. Removed that handler from both Groups modules in core, and replaced them with an operation on IGroupsModule. --- bin/config-include/Grid.ini | 1 + bin/config-include/GridHypergrid.ini | 1 + bin/config-include/Standalone.ini | 1 + bin/config-include/StandaloneHypergrid.ini | 1 + 4 files changed, 4 insertions(+) (limited to 'bin') diff --git a/bin/config-include/Grid.ini b/bin/config-include/Grid.ini index cb3a5c8..15ba55a 100644 --- a/bin/config-include/Grid.ini +++ b/bin/config-include/Grid.ini @@ -23,6 +23,7 @@ InventoryAccessModule = "BasicInventoryAccessModule" LandServices = "RemoteLandServicesConnector" MapImageService = "MapImageServiceModule" + SearchModule = "BasicSearchModule" LandServiceInConnector = true NeighbourServiceInConnector = true diff --git a/bin/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini index 31a4059..7edcafb 100644 --- a/bin/config-include/GridHypergrid.ini +++ b/bin/config-include/GridHypergrid.ini @@ -28,6 +28,7 @@ FriendsModule = "HGFriendsModule" MapImageService = "MapImageServiceModule" UserManagementModule = "HGUserManagementModule" + SearchModule = "BasicSearchModule" LandServiceInConnector = true NeighbourServiceInConnector = true diff --git a/bin/config-include/Standalone.ini b/bin/config-include/Standalone.ini index ba72fe7..d3b9cb4 100644 --- a/bin/config-include/Standalone.ini +++ b/bin/config-include/Standalone.ini @@ -19,6 +19,7 @@ EntityTransferModule = "BasicEntityTransferModule" InventoryAccessModule = "BasicInventoryAccessModule" MapImageService = "MapImageServiceModule" + SearchModule = "BasicSearchModule" LibraryModule = true LLLoginServiceInConnector = true diff --git a/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini index 39c33e8..3abf49b 100644 --- a/bin/config-include/StandaloneHypergrid.ini +++ b/bin/config-include/StandaloneHypergrid.ini @@ -25,6 +25,7 @@ InventoryAccessModule = "HGInventoryAccessModule" FriendsModule = "HGFriendsModule" UserManagementModule = "HGUserManagementModule" + SearchModule = "BasicSearchModule" InventoryServiceInConnector = true AssetServiceInConnector = true -- cgit v1.1 From d82126b651d07893c701c8477630aabf022b30d0 Mon Sep 17 00:00:00 2001 From: Mic Bowman Date: Wed, 31 Jul 2013 11:42:22 -0700 Subject: Add the Simian service config to the GridCommon example --- bin/config-include/GridCommon.ini.example | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'bin') diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index d12ea5b..920a691 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -205,3 +205,12 @@ ; DisallowResidents -- only Admins and Managers allowed ; Example: ; Region_Test_1 = "DisallowForeigners" + + +;; Uncomment if you are using SimianGrid for grid services +[SimianGrid] + ;; SimianGrid services URL + ;; SimianServiceURL = "http://grid.sciencesim.com/Grid/" + + ;; Capability assigned by the grid administrator for the simulator + ;; SimulatorCapability = "00000000-0000-0000-0000-000000000000" \ No newline at end of file -- cgit v1.1 From 216e785ca9ca7dee51c32e69952a79b6e87733d1 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Thu, 1 Aug 2013 21:16:53 +0100 Subject: Add experimental "debug attachments throttle " setting (command line) and ThrottlePer100PrimsRezzed in [Attachments] in config This is an experimental setting to control cpu spikes when an attachment heavy avatar logs in or avatars with medium attachments lgoin simultaneously. It inserts a ms sleep specified in terms of attachments prims after each rez when an avatar logs in. Default is 0 (no throttling). "debug attachments " changes to "debug attachments log " which controls logging. A logging level of 1 will show the throttling performed if applicable. Also adds "debug attachments status" command to show current throttle and debug logging levels. --- bin/OpenSimDefaults.ini | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index dbafd5c..2488bf1 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -703,11 +703,18 @@ ; on every login ReuseTextures = false + [Attachments] ; Controls whether avatar attachments are enabled. ; Defaults to true - only set to false for debugging purposes Enabled = true + ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments + ; Experimental setting to control CPU spiking when avatars with many attachments login + ; or when multiple avatars with medium level attachments login simultaneously. + ; If 0 then no throttling is performed. + ThrottlePer100PrimsRezzed = 0; + [Mesh] ; enable / disable Collada mesh support -- cgit v1.1 From c9695a0a59cba91a184683efaa7802338d68e4bd Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Fri, 2 Aug 2013 00:00:00 +0100 Subject: Move experimental attachments throttling further down the chain so that multiple attachments changes (e.g. change outfit) are also throttled --- bin/OpenSimDefaults.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 2488bf1..d5d29ec 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -710,8 +710,8 @@ Enabled = true ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments - ; Experimental setting to control CPU spiking when avatars with many attachments login - ; or when multiple avatars with medium level attachments login simultaneously. + ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit + ; or when multiple avatars with medium level attachments login/change outfit simultaneously. ; If 0 then no throttling is performed. ThrottlePer100PrimsRezzed = 0; -- cgit v1.1 From 54b1071556edf264835f990bb3595064d2b2e2f0 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Fri, 2 Aug 2013 23:12:54 +0100 Subject: Allow older teleport ConnectorProtocolVersion of "SIMULATION/0.1" to be manually forced in a new [SimulationService] config setting. This is for testing and debugging purposes to help determine whether a particular issue may be teleport related or not "SIMULATION/0.2" (the newer teleport protocol) remains the default. If the source simulator only implements "SIMULATION/0.1" this will correctly allow fallback to the older protocol. Specifying "SIMULATION/0.1" will force the older, less efficient protocol to always be used. --- bin/config-include/Grid.ini | 11 +++++++++++ bin/config-include/Standalone.ini | 11 +++++++++++ 2 files changed, 22 insertions(+) (limited to 'bin') diff --git a/bin/config-include/Grid.ini b/bin/config-include/Grid.ini index 15ba55a..1837bdd 100644 --- a/bin/config-include/Grid.ini +++ b/bin/config-include/Grid.ini @@ -30,6 +30,17 @@ SimulationServiceInConnector = true LibraryModule = true +[SimulationService] + ; This is the protocol version which the simulator advertises to the source destination when acting as a target destination for a teleport + ; It is used to control the teleport handoff process. + ; Valid values are + ; "SIMULATION/0.2" + ; - this is the default. A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol + ; - this protocol is more efficient than "SIMULATION/0.1" + ; "SIMULATION/0.1" + ; - this is an older teleport protocol used in OpenSimulator 0.7.5 and before. + ConnectorProtocolVersion = "SIMULATION/0.2" + [SimulationDataStore] LocalServiceModule = "OpenSim.Services.Connectors.dll:SimulationDataService" diff --git a/bin/config-include/Standalone.ini b/bin/config-include/Standalone.ini index d3b9cb4..7b7beb2 100644 --- a/bin/config-include/Standalone.ini +++ b/bin/config-include/Standalone.ini @@ -26,6 +26,17 @@ GridInfoServiceInConnector = true MapImageServiceInConnector = true +[SimulationService] + ; This is the protocol version which the simulator advertises to the source destination when acting as a target destination for a teleport + ; It is used to control the teleport handoff process. + ; Valid values are + ; "SIMULATION/0.2" + ; - this is the default. A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol + ; - this protocol is more efficient than "SIMULATION/0.1" + ; "SIMULATION/0.1" + ; - this is an older teleport protocol used in OpenSimulator 0.7.5 and before. + ConnectorProtocolVersion = "SIMULATION/0.2" + [SimulationDataStore] LocalServiceModule = "OpenSim.Services.Connectors.dll:SimulationDataService" -- cgit v1.1 From 4c2f6de8e4957df3c7186437089ba0925edb1a08 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 6 Aug 2013 18:29:33 +0100 Subject: Add the experimental ability to dump stats (result of command "show stats all") to file OpenSimStats.log every 5 seconds. This can currently only be activated with the console command "debug stats record start". Off by default. Records to file OpenSimStats.log for simulator and RobustStats.log for ROBUST --- bin/OpenSim.32BitLaunch.exe.config | 36 +++++++++++++++++++++++++++++++++++- bin/OpenSim.exe.config | 21 +++++++++++++++++++++ bin/Robust.32BitLaunch.exe.config | 22 ++++++++++++++++++++++ bin/Robust.exe.config | 21 +++++++++++++++++++++ 4 files changed, 99 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.32BitLaunch.exe.config b/bin/OpenSim.32BitLaunch.exe.config index 6ac0206..6a6b3c8 100644 --- a/bin/OpenSim.32BitLaunch.exe.config +++ b/bin/OpenSim.32BitLaunch.exe.config @@ -11,22 +11,56 @@ + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/bin/OpenSim.exe.config b/bin/OpenSim.exe.config index 8a891f4..b2cb4e5 100755 --- a/bin/OpenSim.exe.config +++ b/bin/OpenSim.exe.config @@ -11,6 +11,10 @@ + + + + @@ -21,11 +25,23 @@ + + + + + + + + + + + + @@ -42,5 +58,10 @@ + + + + + diff --git a/bin/Robust.32BitLaunch.exe.config b/bin/Robust.32BitLaunch.exe.config index dae45ff..ec17049 100644 --- a/bin/Robust.32BitLaunch.exe.config +++ b/bin/Robust.32BitLaunch.exe.config @@ -11,22 +11,44 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/bin/Robust.exe.config b/bin/Robust.exe.config index 4914f55..62975fd 100644 --- a/bin/Robust.exe.config +++ b/bin/Robust.exe.config @@ -11,6 +11,10 @@ + + + + @@ -19,15 +23,32 @@ + + + + + + + + + + + + + + + + + -- cgit v1.1 From dbd773e89e1956144d0358033e560fbd36c89ecd Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Wed, 7 Aug 2013 10:04:53 -0700 Subject: Amend to last commit -- remove the obsolete var from OpenSim.ini.example --- bin/OpenSim.ini.example | 4 ---- 1 file changed, 4 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 33f3263..d6de777 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -184,10 +184,6 @@ ;; if the first change occurred this number of seconds ago. ; MaximumTimeBeforePersistenceConsidered = 600 - ;# {see_into_this_sim_from_neighbor} {} {Should avatars in neighbor sims see objects in this sim?} {true false} true - ;; Should avatars in neighbor sims see objects in this sim? - ; see_into_this_sim_from_neighbor = true - ;# {physical_prim} {} {Allow prims to be physical?} {true false} true ;; if you would like to allow prims to be physical and move by physics ;; with the physical checkbox in the client set this to true. -- cgit v1.1 From d9bd6e6b5be3100141a3b1202f859c65a302d4ee Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 8 Aug 2013 09:41:11 -0700 Subject: Add parameter and explanation of ManagedStats return to OpenSimDefaults.ini. Add 'callback' query parameter to managed stats return to return function form of JSON data. --- bin/OpenSimDefaults.ini | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index d5d29ec..0a85085 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -264,8 +264,15 @@ ; Simulator Stats URI ; Enable JSON simulator data by setting a URI name (case sensitive) + ; Returns regular sim stats (SimFPS, ...) ; Stats_URI = "jsonSimStats" + ; Simulator StatsManager URI + ; Enable fetch of StatsManager registered stats. Fetch is query which can optionally + ; specify category, container and stat to fetch. If not selected, returns all of that type. + ; http://simulatorHTTPport/ManagedStats/?cat=Category&cont=Container&stat=Statistic + ; ManagedStatsRemoteFetchURI = "ManagedStats" + ; Make OpenSim start all regions woth logins disabled. They will need ; to be enabled from the console if this is set ; StartDisabled = false -- cgit v1.1 From 5933f9448d839b9f6db391dedc493bb5cc951d66 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 13 Aug 2013 23:54:50 +0100 Subject: Add a SendAgentUpdates setting to a new pCampbot.ini.example file which can control whether bots send agent updates pCampbot.ini.example is used by copying to pCampbot.ini, like other ini files --- bin/pCampbot.ini.example | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 bin/pCampbot.ini.example (limited to 'bin') diff --git a/bin/pCampbot.ini.example b/bin/pCampbot.ini.example new file mode 100644 index 0000000..81cdcf4 --- /dev/null +++ b/bin/pCampbot.ini.example @@ -0,0 +1,9 @@ +; This is the example config file for pCampbot +; To use it, copy this file to pCampbot.ini and change settings if required + +[Bot] + ; Control whether bots should regularly send agent updates + ; Not sending agent updates will reduce CPU requirements for pCampbot but greatly + ; reduce the realism compared to viewers which are constantly sending AgentUpdates UDP packets + ; Defaults to true. + SendAgentUpdates = true -- cgit v1.1 From 225cf0d0102d05721bd01120928b9d1d85c811a7 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 14 Aug 2013 19:53:10 +0100 Subject: Add pCampbot RequestObjectTextures ini setting to control whether textures are requested for received objects. --- bin/pCampbot.ini.example | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/pCampbot.ini.example b/bin/pCampbot.ini.example index 81cdcf4..f44feae 100644 --- a/bin/pCampbot.ini.example +++ b/bin/pCampbot.ini.example @@ -3,7 +3,13 @@ [Bot] ; Control whether bots should regularly send agent updates - ; Not sending agent updates will reduce CPU requirements for pCampbot but greatly - ; reduce the realism compared to viewers which are constantly sending AgentUpdates UDP packets + ; Not doing this will reduce CPU requirements for pCampbot but greatly + ; reduce the realism compared to viewers which are constantly sending AgentUpdates UDP packets. ; Defaults to true. SendAgentUpdates = true + + ; Control whether bots will requests textures when receiving object information + ; Not doing this will reduce CPU requirements for pCampbot but greatly + ; reduce the realism compared to viewers which requests such texture data if not already cached. + ; Defaults to true. + RequestObjectTextures = true -- cgit v1.1 From a6af561660759ef7625d88213b7d43b76e687280 Mon Sep 17 00:00:00 2001 From: teravus Date: Tue, 20 Aug 2013 21:09:17 -0500 Subject: * Fix some threading issues in BulletXNA (the managed bullet library), this should better allow you to run it in multiple region scenarios (but why would you really want to do that?) Source in OpenSimLibs. * Fixed a null ref during shutdown. --- bin/BulletXNA.dll | Bin 610304 -> 618496 bytes bin/BulletXNA.pdb | Bin 1963520 -> 1889792 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/BulletXNA.dll b/bin/BulletXNA.dll index bfaac4f..b3ddc32 100644 Binary files a/bin/BulletXNA.dll and b/bin/BulletXNA.dll differ diff --git a/bin/BulletXNA.pdb b/bin/BulletXNA.pdb index ecab22f..ed3baad 100644 Binary files a/bin/BulletXNA.pdb and b/bin/BulletXNA.pdb differ -- cgit v1.1 From 70f89ae65b09e9c2f0dc63cb416fea4cceb7dd13 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Thu, 22 Aug 2013 23:43:33 +0100 Subject: Make it possible to adjust the pCampbot login delay via the [BotManager] LoginDelay parameter of pCampbot.ini --- bin/pCampbot.ini.example | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bin') diff --git a/bin/pCampbot.ini.example b/bin/pCampbot.ini.example index f44feae..2952bb0 100644 --- a/bin/pCampbot.ini.example +++ b/bin/pCampbot.ini.example @@ -1,6 +1,10 @@ ; This is the example config file for pCampbot ; To use it, copy this file to pCampbot.ini and change settings if required +[BotManager] + ; Number of milliseconds to wait between bot logins + LoginDelay = 5000 + [Bot] ; Control whether bots should regularly send agent updates ; Not doing this will reduce CPU requirements for pCampbot but greatly -- cgit v1.1 From 1a623bb266e78c9dc2648038de7b67d81b5a417e Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Fri, 23 Aug 2013 20:58:22 +0100 Subject: Rename pCampbot.ini -> pCampBot.ini (and example file) to be consistent with other capitalizations of pCampBot --- bin/pCampBot.ini.example | 19 +++++++++++++++++++ bin/pCampbot.ini.example | 19 ------------------- 2 files changed, 19 insertions(+), 19 deletions(-) create mode 100644 bin/pCampBot.ini.example delete mode 100644 bin/pCampbot.ini.example (limited to 'bin') diff --git a/bin/pCampBot.ini.example b/bin/pCampBot.ini.example new file mode 100644 index 0000000..2952bb0 --- /dev/null +++ b/bin/pCampBot.ini.example @@ -0,0 +1,19 @@ +; This is the example config file for pCampbot +; To use it, copy this file to pCampbot.ini and change settings if required + +[BotManager] + ; Number of milliseconds to wait between bot logins + LoginDelay = 5000 + +[Bot] + ; Control whether bots should regularly send agent updates + ; Not doing this will reduce CPU requirements for pCampbot but greatly + ; reduce the realism compared to viewers which are constantly sending AgentUpdates UDP packets. + ; Defaults to true. + SendAgentUpdates = true + + ; Control whether bots will requests textures when receiving object information + ; Not doing this will reduce CPU requirements for pCampbot but greatly + ; reduce the realism compared to viewers which requests such texture data if not already cached. + ; Defaults to true. + RequestObjectTextures = true diff --git a/bin/pCampbot.ini.example b/bin/pCampbot.ini.example deleted file mode 100644 index 2952bb0..0000000 --- a/bin/pCampbot.ini.example +++ /dev/null @@ -1,19 +0,0 @@ -; This is the example config file for pCampbot -; To use it, copy this file to pCampbot.ini and change settings if required - -[BotManager] - ; Number of milliseconds to wait between bot logins - LoginDelay = 5000 - -[Bot] - ; Control whether bots should regularly send agent updates - ; Not doing this will reduce CPU requirements for pCampbot but greatly - ; reduce the realism compared to viewers which are constantly sending AgentUpdates UDP packets. - ; Defaults to true. - SendAgentUpdates = true - - ; Control whether bots will requests textures when receiving object information - ; Not doing this will reduce CPU requirements for pCampbot but greatly - ; reduce the realism compared to viewers which requests such texture data if not already cached. - ; Defaults to true. - RequestObjectTextures = true -- cgit v1.1 From 6a24515269bf4f478c78e2b93f1c09aa5b598775 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 24 Aug 2013 03:40:44 -0700 Subject: Whitespace fubar. --- bin/data/LICENSE-README-IMPORTANT.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/data/LICENSE-README-IMPORTANT.txt b/bin/data/LICENSE-README-IMPORTANT.txt index a1ac20c..dd8671d 100644 --- a/bin/data/LICENSE-README-IMPORTANT.txt +++ b/bin/data/LICENSE-README-IMPORTANT.txt @@ -2,4 +2,4 @@ Not all of the files in this directory are licensed under the BSD license. Some These files are: -- avataranimations.xml (Derivative work of viewerart.ini, Creative Commons Attribution+Share-Alike v2.5 License) +- avataranimations.xml (Derivative work of viewerart.ini, Creative Commons Attribution+Share-Alike v2.5 License) -- cgit v1.1 From 4cbadc3c4984b8bebc7098a720846309f645ad7b Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Mon, 2 Sep 2013 17:27:45 +0100 Subject: Allow one to specify a DefaultHGRegion flag in [GridService] in order to allow different default regions for HG and direct grid logins. This requires a new GridService.GetDefaultHypergridRegions() so ROBUST services require updating but not simulators. This method still returns regions flagged with just DefaultRegion after any DefaultHGRegions, so if no DefaultHGRegions are specified then existing configured defaults will still work. Immediate use is for conference where we need to be able to specify different defaults However, this is also generally useful to send experienced HG users to one default location and local users whose specified region fails (e.g. no "home" or "last") to another. --- bin/Robust.HG.ini.example | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 466aed2..0fbdf4e 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -151,7 +151,8 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; * [GridService] LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" - HypergridLinker = true + + HypergridLinker = true ; Realm = "regions" ; AllowDuplicateNames = "True" @@ -168,16 +169,16 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ;; Next, we can specify properties of regions, including default and fallback regions ;; The syntax is: Region_ = "" ;; or: Region_ = "" - ;; where can be DefaultRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut,Reservation,NoMove,Authenticate + ;; where can be DefaultRegion, DefaultHGRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut, Reservation, NoMove, Authenticate ;; For example: ; Region_Welcome_Area = "DefaultRegion, FallbackRegion" ; (replace spaces with underscore) - ;; Allow Hyperlinks to be created at the console + ;; Allow Hyperlinks to be created at the console HypergridLinker = true - ;; If you have this set under [Hypergrid], no need to set it here, leave it commented - ; GatekeeperURI = "http://127.0.0.1:8002" + ;; If you have this set under [Hypergrid], no need to set it here, leave it commented + ; GatekeeperURI = "http://127.0.0.1:8002" ; * This is the configuration for the freeswitch server in grid mode -- cgit v1.1 From b858be345a03448cf653efc725ec1fd4a57775f2 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Thu, 5 Sep 2013 00:41:03 +0100 Subject: minor: add doc about DefaultHGRegion and some of the other GridService region settings (though not all as of yet) --- bin/Robust.HG.ini.example | 17 ++++++++++++++++- bin/Robust.ini.example | 20 ++++++++++++++++++-- bin/config-include/StandaloneCommon.ini.example | 20 ++++++++++++++++++-- 3 files changed, 52 insertions(+), 5 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 0fbdf4e..8fe6d0c 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -170,7 +170,22 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ;; The syntax is: Region_ = "" ;; or: Region_ = "" ;; where can be DefaultRegion, DefaultHGRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut, Reservation, NoMove, Authenticate - ;; For example: + ;; + ;; DefaultRegion If a local login cannot be placed in the required region (e.g. home region does not exist, avatar is not allowed entry, etc.) + ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion + ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified + ;; an explicit region. + ;; + ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online + ;; region will be used. + ;; + ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the + ;; order specified. This only applies to local logins at this time, not Hypergrid connections. + ;; + ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins. + ;; + ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid. + ;; ; Region_Welcome_Area = "DefaultRegion, FallbackRegion" ; (replace spaces with underscore) diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index da1b43a..de6fc28 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -132,8 +132,24 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ;; Next, we can specify properties of regions, including default and fallback regions ;; The syntax is: Region_ = "" ;; or: Region_ = "" - ;; where can be DefaultRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut,Reservation,NoMove,Authenticate - ;; For example: + ;; where can be DefaultRegion, DefaultHGRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut, Reservation, NoMove, Authenticate + ;; + ;; DefaultRegion If a local login cannot be placed in the required region (e.g. home region does not exist, avatar is not allowed entry, etc.) + ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion + ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified + ;; an explicit region. + ;; + ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online + ;; region will be used. + ;; + ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the + ;; order specified. This only applies to local logins at this time, not Hypergrid connections. + ;; + ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins. + ;; + ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid. + ;; + ;; Example specification: ; Region_Welcome_Area = "DefaultRegion, FallbackRegion" ; (replace spaces with underscore) diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index 6b991a8..f7545d4 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -81,11 +81,27 @@ ;; Next, we can specify properties of regions, including default and fallback regions ;; The syntax is: Region_ = "" ;; where can be DefaultRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut + ;; + ;; DefaultRegion If a local login cannot be placed in the required region (e.g. home region does not exist, avatar is not allowed entry, etc.) + ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion + ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified + ;; an explicit region. + ;; + ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online + ;; region will be used. + ;; + ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the + ;; order specified. This only applies to local logins at this time, not Hypergrid connections. + ;; + ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins. + ;; + ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid. + ;; ;; For example: Region_Welcome_Area = "DefaultRegion, FallbackRegion" ; === HG ONLY === - ;; If you have this set under [Hypergrid], no need to set it here, leave it commented + ;; If you have this set under [Hypergrid], no need to set it here, leave it commented ; GatekeeperURI="http://127.0.0.1:9000" [LibraryModule] @@ -94,7 +110,7 @@ [LoginService] WelcomeMessage = "Welcome, Avatar!" - ;; If you have Gatekeeper set under [Hypergrid], no need to set it here, leave it commented + ;; If you have Gatekeeper set under [Hypergrid], no need to set it here, leave it commented ; GatekeeperURI = "http://127.0.0.1:9000" SRV_HomeURI = "http://127.0.0.1:9000" -- cgit v1.1 From ec5f17b2cecc38a21ae3b1276b3a391f7c004c5d Mon Sep 17 00:00:00 2001 From: Michael Cerquoni Date: Tue, 10 Sep 2013 18:35:02 -0400 Subject: This extends the default max_distance for teleports to 16384, a big thank you to all of the viewer devs who made this possibe! --- bin/OpenSimDefaults.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 0a85085..28f0f4b 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -653,8 +653,8 @@ [EntityTransfer] ; The maximum distance in regions that an agent is allowed to teleport along the x or y axis - ; This is set to 4095 because current viewers can't handle teleports that are greater than this distance - max_distance = 4095 + ; This is set to 16384 because current viewers can't handle teleports that are greater than this distance + max_distance = 16384 ; Minimum user level required for HyperGrid teleports LevelHGTeleport = 0 -- cgit v1.1 From 663059ac5c65f5fcf9e4313a2c2edfb5b5df0829 Mon Sep 17 00:00:00 2001 From: Michael Cerquoni Date: Tue, 10 Sep 2013 19:56:39 -0400 Subject: chaning the default max_distance to 16383 as we actually start counting at zero, thank you dahlia for pointing this out. --- bin/OpenSimDefaults.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 28f0f4b..e168566 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -653,8 +653,8 @@ [EntityTransfer] ; The maximum distance in regions that an agent is allowed to teleport along the x or y axis - ; This is set to 16384 because current viewers can't handle teleports that are greater than this distance - max_distance = 16384 + ; This is set to 16383 because current viewers can't handle teleports that are greater than this distance + max_distance = 16383 ; Minimum user level required for HyperGrid teleports LevelHGTeleport = 0 -- cgit v1.1 From 8755aeb348ed96ef78986e044ec83e7836a6c65a Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Fri, 16 Aug 2013 13:42:31 -0700 Subject: BulletSim: update DLLs and SOs with Bullet svn version 2644 (no major fixes) and with BulletSim implementing more of the constraint types and parameter settings. --- bin/lib32/BulletSim.dll | Bin 982528 -> 1086976 bytes bin/lib32/libBulletSim.so | Bin 2271724 -> 2317618 bytes bin/lib64/BulletSim.dll | Bin 1222656 -> 1229824 bytes bin/lib64/libBulletSim.so | Bin 2454796 -> 2491923 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index bc0e222..7987434 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index e09dd27..114a597 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 5fc09f6..b69fcf3 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index 925269d..e4d2581 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From e34385634b56769516c4e0284860f48a5ce371c4 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Mon, 9 Sep 2013 15:42:57 -0700 Subject: BulletSim: update DLLs and SOs for spring parameters and constraint debugging dump code. --- bin/lib32/BulletSim.dll | Bin 1086976 -> 1095680 bytes bin/lib32/libBulletSim.so | Bin 2317618 -> 2342728 bytes bin/lib64/BulletSim.dll | Bin 1229824 -> 1233920 bytes bin/lib64/libBulletSim.so | Bin 2491923 -> 2520385 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 7987434..9bb7bcd 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index 114a597..a4e0f4a 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index b69fcf3..8c96eb7 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index e4d2581..1f76a40 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From 8bcf75312739ae382175e21df0ad977ec493ddda Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Tue, 10 Sep 2013 17:42:22 -0700 Subject: BulletSim: update DLLs and SOs with ClearCollisionCache inteface calls and constraint debugging messages. --- bin/lib32/BulletSim.dll | Bin 1095680 -> 1096192 bytes bin/lib32/libBulletSim.so | Bin 2342728 -> 2342970 bytes bin/lib64/BulletSim.dll | Bin 1233920 -> 1233920 bytes bin/lib64/libBulletSim.so | Bin 2520385 -> 2520691 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 9bb7bcd..e344f84 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index a4e0f4a..94e1682 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 8c96eb7..31949c8 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index 1f76a40..399f4f8 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From 3c85afbb431d14a676c00d20bfeeb5e2d13e8eaf Mon Sep 17 00:00:00 2001 From: BlueWall Date: Thu, 12 Sep 2013 11:46:12 -0400 Subject: Allow setting the EntityTransfer-max_distance to 0 to override distance checks. This is to facilitate current viewer work fixing the distance limitations for teleporting. --- bin/OpenSimDefaults.ini | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index e168566..c16dee2 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -652,8 +652,11 @@ [EntityTransfer] - ; The maximum distance in regions that an agent is allowed to teleport along the x or y axis - ; This is set to 16383 because current viewers can't handle teleports that are greater than this distance + ; The maximum distance in regions that an agent is allowed to teleport + ; along the x or y axis. This is set to 16383 because current viewers + ; can't handle teleports that are greater than this distance + ; Setting to 0 will allow teleports of any distance + ; max_distance = 16383 ; Minimum user level required for HyperGrid teleports -- cgit v1.1 From 2d7adcb22fdd349b819ac4ffc85029a7664406cc Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 12 Sep 2013 13:07:18 -0700 Subject: BulletSim: update DLLs and SOs to disable Bullet's internal profiling. This was accidentily left on. This version should make performance better and fix the memory leak. --- bin/lib32/BulletSim.dll | Bin 1096192 -> 1093632 bytes bin/lib32/libBulletSim.so | Bin 2342970 -> 2332216 bytes bin/lib64/BulletSim.dll | Bin 1233920 -> 1230848 bytes bin/lib64/libBulletSim.so | Bin 2520691 -> 2522559 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index e344f84..7c16cb5 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index 94e1682..3d2737b 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 31949c8..3afdf63 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index 399f4f8..6a17848 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From 53de6d94ea5e80b873864be32f1781bc2f7017c9 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Thu, 12 Sep 2013 23:38:50 +0100 Subject: minor: replace spaces with tabs for see_into_region setting --- bin/OpenSimDefaults.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index c16dee2..7954a14 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -86,8 +86,8 @@ ;; from the selected region_info_source. allow_regionless = false - ;; Allow child agents to see into the region even if their root counterpart isn't allowed in here - see_into_region = true + ;; Allow child agents to see into the region even if their root counterpart isn't allowed in here + see_into_region = true ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos ; Increasing this number will increase memory usage. -- cgit v1.1 From ac0a527976cda9d138d1b8967e81be4767e9f332 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 18 Sep 2013 23:27:37 +0100 Subject: Add [SimulationService] section to GridHypergrid.ini and StandaloneHypergrid.ini This was already in Grid.ini and Standalone.ini Default settings are same as previously, just introduce a debug ConnectorProtocolVersion parameter --- bin/config-include/GridHypergrid.ini | 11 +++++++++++ bin/config-include/StandaloneHypergrid.ini | 10 ++++++++++ 2 files changed, 21 insertions(+) (limited to 'bin') diff --git a/bin/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini index 7edcafb..d416ee9 100644 --- a/bin/config-include/GridHypergrid.ini +++ b/bin/config-include/GridHypergrid.ini @@ -35,6 +35,17 @@ SimulationServiceInConnector = true LibraryModule = true +[SimulationService] + ; This is the protocol version which the simulator advertises to the source destination when acting as a target destination for a teleport + ; It is used to control the teleport handoff process. + ; Valid values are + ; "SIMULATION/0.2" + ; - this is the default. A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol + ; - this protocol is more efficient than "SIMULATION/0.1" + ; "SIMULATION/0.1" + ; - this is an older teleport protocol used in OpenSimulator 0.7.5 and before. + ConnectorProtocolVersion = "SIMULATION/0.2" + [Profile] Module = "BasicProfileModule" diff --git a/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini index 3abf49b..4dd35c0 100644 --- a/bin/config-include/StandaloneHypergrid.ini +++ b/bin/config-include/StandaloneHypergrid.ini @@ -38,6 +38,16 @@ SimulationServiceInConnector = true MapImageServiceInConnector = true +[SimulationService] + ; This is the protocol version which the simulator advertises to the source destination when acting as a target destination for a teleport + ; It is used to control the teleport handoff process. + ; Valid values are + ; "SIMULATION/0.2" + ; - this is the default. A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol + ; - this protocol is more efficient than "SIMULATION/0.1" + ; "SIMULATION/0.1" + ; - this is an older teleport protocol used in OpenSimulator 0.7.5 and before. + ConnectorProtocolVersion = "SIMULATION/0.2" [Messaging] MessageTransferModule = HGMessageTransferModule -- cgit v1.1 From 997700c4aae2c0498e86c955cd158e89ae2d2489 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 18 Sep 2013 23:49:27 +0100 Subject: minor: Make config-include .ini files more consistent Chiefly tabs to spaces. No actual setting changes --- bin/config-include/Grid.ini | 7 +- bin/config-include/GridCommon.ini.example | 83 +++++++++--------- bin/config-include/GridHypergrid.ini | 25 +++--- bin/config-include/HyperSimianGrid.ini | 7 +- bin/config-include/Standalone.ini | 9 +- bin/config-include/StandaloneCommon.ini.example | 109 ++++++++++++------------ bin/config-include/StandaloneHypergrid.ini | 58 ++++++------- 7 files changed, 149 insertions(+), 149 deletions(-) (limited to 'bin') diff --git a/bin/config-include/Grid.ini b/bin/config-include/Grid.ini index 1837bdd..69a209a 100644 --- a/bin/config-include/Grid.ini +++ b/bin/config-include/Grid.ini @@ -22,8 +22,8 @@ EntityTransferModule = "BasicEntityTransferModule" InventoryAccessModule = "BasicInventoryAccessModule" LandServices = "RemoteLandServicesConnector" - MapImageService = "MapImageServiceModule" - SearchModule = "BasicSearchModule" + MapImageService = "MapImageServiceModule" + SearchModule = "BasicSearchModule" LandServiceInConnector = true NeighbourServiceInConnector = true @@ -52,7 +52,7 @@ ; for the LocalGridServicesConnector which is used by the Remote one StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" - NetworkConnector = "OpenSim.Services.Connectors.dll:GridServicesConnector" + NetworkConnector = "OpenSim.Services.Connectors.dll:GridServicesConnector" [LibraryService] LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" @@ -64,5 +64,6 @@ [MapImageService] LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector" + ; in minutes RefreshTime = 60 diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index 920a691..0a69dbf 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -27,24 +27,24 @@ ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;" [Hypergrid] - ; Uncomment the variables in this section only if you are in - ; Hypergrid configuration. Otherwise, ignore. + ; Uncomment the variables in this section only if you are in + ; Hypergrid configuration. Otherwise, ignore. ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} - ;; If this is a standalone world, this is the address of this instance. - ;; If this is a grided simulator, this is the address of the external robust server that - ;; runs the UserAgentsService. - ;; For example http://myworld.com:9000 or http://myworld.com:8002 - ;; This is a default that can be overwritten in some sections. - ; HomeURI = "http://127.0.0.1:9000" + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server that + ;; runs the UserAgentsService. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; HomeURI = "http://127.0.0.1:9000" ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} - ;; If this is a standalone world, this is the address of this instance. - ;; If this is a grided simulator, this is the address of the external robust server - ;; that runs the Gatekeeper service. - ;; For example http://myworld.com:9000 or http://myworld.com:8002 - ;; This is a default that can be overwritten in some sections. - ; GatekeeperURI = "http://127.0.0.1:9000" + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server + ;; that runs the Gatekeeper service. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; GatekeeperURI = "http://127.0.0.1:9000" [Modules] ;; Choose one cache module and the corresponding config file, if it exists. @@ -81,10 +81,10 @@ InventoryServerURI = "http://mygridserver.com:8003" [GridInfo] - ; - ; Change this to your grid info service - ; - GridInfoURI = "http://mygridserver.com:8002" + ; + ; Change this to your grid info service + ; + GridInfoURI = "http://mygridserver.com:8002" [GridService] ; @@ -157,9 +157,9 @@ ;; uncomment the next line. You may want to do this on sims that have licensed content. ; OutboundPermission = False - ;; Send visual reminder to local users that their inventories are unavailable while they are traveling - ;; and available when they return. True by default. - ;RestrictInventoryAccessAbroad = True + ;; Send visual reminder to local users that their inventories are unavailable while they are traveling + ;; and available when they return. True by default. + ;RestrictInventoryAccessAbroad = True [HGAssetService] @@ -171,14 +171,14 @@ HomeURI = "http://mygridserver.com:8002" ;; The asset types that this grid can export to / import from other grids. - ;; Comma separated. - ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: - ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, - ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh - ;; - ;; Leave blank or commented if you don't want to apply any restrictions. - ;; A more strict, but still reasonable, policy may be to disallow the exchange - ;; of scripts, like so: + ;; Comma separated. + ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: + ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, + ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh + ;; + ;; Leave blank or commented if you don't want to apply any restrictions. + ;; A more strict, but still reasonable, policy may be to disallow the exchange + ;; of scripts, like so: ; DisallowExport ="LSLText" ; DisallowImport ="LSLBytecode" @@ -197,20 +197,19 @@ MapImageServerURI = "http://mygridserver.com:8003" [AuthorizationService] - ; If you have regions with access restrictions - ; specify them here using the convention - ; Region_ = - ; Valid flags are: - ; DisallowForeigners -- HG visitors not allowed - ; DisallowResidents -- only Admins and Managers allowed - ; Example: - ; Region_Test_1 = "DisallowForeigners" - + ; If you have regions with access restrictions + ; specify them here using the convention + ; Region_ = + ; Valid flags are: + ; DisallowForeigners -- HG visitors not allowed + ; DisallowResidents -- only Admins and Managers allowed + ; Example: + ; Region_Test_1 = "DisallowForeigners" ;; Uncomment if you are using SimianGrid for grid services [SimianGrid] - ;; SimianGrid services URL - ;; SimianServiceURL = "http://grid.sciencesim.com/Grid/" + ;; SimianGrid services URL + ;; SimianServiceURL = "http://grid.sciencesim.com/Grid/" - ;; Capability assigned by the grid administrator for the simulator - ;; SimulatorCapability = "00000000-0000-0000-0000-000000000000" \ No newline at end of file + ;; Capability assigned by the grid administrator for the simulator + ;; SimulatorCapability = "00000000-0000-0000-0000-000000000000" diff --git a/bin/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini index d416ee9..2a66b4c 100644 --- a/bin/config-include/GridHypergrid.ini +++ b/bin/config-include/GridHypergrid.ini @@ -25,10 +25,10 @@ EntityTransferModule = "HGEntityTransferModule" InventoryAccessModule = "HGInventoryAccessModule" LandServices = "RemoteLandServicesConnector" - FriendsModule = "HGFriendsModule" - MapImageService = "MapImageServiceModule" - UserManagementModule = "HGUserManagementModule" - SearchModule = "BasicSearchModule" + FriendsModule = "HGFriendsModule" + MapImageService = "MapImageServiceModule" + UserManagementModule = "HGUserManagementModule" + SearchModule = "BasicSearchModule" LandServiceInConnector = true NeighbourServiceInConnector = true @@ -73,7 +73,7 @@ ; Needed to display non-default map tile images for linked regions AssetService = "OpenSim.Services.Connectors.dll:AssetServicesConnector" - HypergridLinker = true + HypergridLinker = true AllowHypergridMapSearch = true [LibraryService] @@ -89,12 +89,13 @@ LureModule = HGLureModule [HGInstantMessageService] - LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" - GridService = "OpenSim.Services.Connectors.dll:GridServicesConnector" - PresenceService = "OpenSim.Services.Connectors.dll:PresenceServicesConnector" - UserAgentService = "OpenSim.Services.Connectors.dll:UserAgentServiceConnector" + LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" + GridService = "OpenSim.Services.Connectors.dll:GridServicesConnector" + PresenceService = "OpenSim.Services.Connectors.dll:PresenceServicesConnector" + UserAgentService = "OpenSim.Services.Connectors.dll:UserAgentServiceConnector" [MapImageService] - LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector" - ; in minutes - RefreshTime = 60 + LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector" + + ; in minutes + RefreshTime = 60 diff --git a/bin/config-include/HyperSimianGrid.ini b/bin/config-include/HyperSimianGrid.ini index 99a589c..f561dd5 100644 --- a/bin/config-include/HyperSimianGrid.ini +++ b/bin/config-include/HyperSimianGrid.ini @@ -91,6 +91,7 @@ ; accessible from other grids ; ProfileServerURI = "http://mygridserver.com:8002/user" - ;; If you want to protect your assets from being copied by foreign visitors - ;; uncomment the next line. You may want to do this on sims that have licensed content. - ; OutboundPermission = False + + ;; If you want to protect your assets from being copied by foreign visitors + ;; uncomment the next line. You may want to do this on sims that have licensed content. + ; OutboundPermission = False diff --git a/bin/config-include/Standalone.ini b/bin/config-include/Standalone.ini index 7b7beb2..424d8c8 100644 --- a/bin/config-include/Standalone.ini +++ b/bin/config-include/Standalone.ini @@ -19,7 +19,7 @@ EntityTransferModule = "BasicEntityTransferModule" InventoryAccessModule = "BasicInventoryAccessModule" MapImageService = "MapImageServiceModule" - SearchModule = "BasicSearchModule" + SearchModule = "BasicSearchModule" LibraryModule = true LLLoginServiceInConnector = true @@ -117,9 +117,10 @@ DSTZone = "America/Los_Angeles;Pacific Standard Time" [MapImageService] - LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" - ; in minutes - RefreshTime = 60 + LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" + + ; in minutes + RefreshTime = 60 ;; This should always be the very last thing on this file [Includes] diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index f7545d4..12c5b95 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -28,25 +28,24 @@ ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;" [Hypergrid] - ; Uncomment the variables in this section only if you are in - ; Hypergrid configuration. Otherwise, ignore. + ; Uncomment the variables in this section only if you are in + ; Hypergrid configuration. Otherwise, ignore. ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} - ;; If this is a standalone world, this is the address of this instance. - ;; If this is a grided simulator, this is the address of the external robust server that - ;; runs the UserAgentsService. - ;; For example http://myworld.com:9000 or http://myworld.com:8002 - ;; This is a default that can be overwritten in some sections. - ; HomeURI = "http://127.0.0.1:9000" + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server that + ;; runs the UserAgentsService. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; HomeURI = "http://127.0.0.1:9000" ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} - ;; If this is a standalone world, this is the address of this instance. - ;; If this is a grided simulator, this is the address of the external robust server - ;; that runs the Gatekeeper service. - ;; For example http://myworld.com:9000 or http://myworld.com:8002 - ;; This is a default that can be overwritten in some sections. - ; GatekeeperURI = "http://127.0.0.1:9000" - + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server + ;; that runs the Gatekeeper service. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; GatekeeperURI = "http://127.0.0.1:9000" [Modules] ;; Choose one cache module and the corresponding config file, if it exists. @@ -266,20 +265,20 @@ ; If false, HG TPs happen only to the Default regions specified in [GridService] section AllowTeleportsToAnyRegion = true - ;; Regular expressions for controlling which client versions are accepted/denied. - ;; An empty string means nothing is checked. - ;; - ;; Example 1: allow only these 3 types of clients (any version of them) - ;; AllowedClients = "Imprudence|Hippo|Second Life" - ;; - ;; Example 2: allow all clients except these - ;; DeniedClients = "Twisted|Crawler|Cryolife|FuckLife|StreetLife|GreenLife|AntiLife|KORE-Phaze|Synlyfe|Purple Second Life|SecondLi |Emerald" - ;; - ;; Note that these are regular expressions, so every character counts. - ;; Also note that this is very weak security and should not be trusted as a reliable means - ;; for keeping bad clients out; modified clients can fake their identifiers. - ;; - ;; + ;; Regular expressions for controlling which client versions are accepted/denied. + ;; An empty string means nothing is checked. + ;; + ;; Example 1: allow only these 3 types of clients (any version of them) + ;; AllowedClients = "Imprudence|Hippo|Second Life" + ;; + ;; Example 2: allow all clients except these + ;; DeniedClients = "Twisted|Crawler|Cryolife|FuckLife|StreetLife|GreenLife|AntiLife|KORE-Phaze|Synlyfe|Purple Second Life|SecondLi |Emerald" + ;; + ;; Note that these are regular expressions, so every character counts. + ;; Also note that this is very weak security and should not be trusted as a reliable means + ;; for keeping bad clients out; modified clients can fake their identifiers. + ;; + ;; ;AllowedClients = "" ;DeniedClients = "" @@ -302,7 +301,7 @@ ;; Are local users allowed to visit other grids? ;; What user level? Use variables of this forrm: ;; ForeignTripsAllowed_Level_ = true | false - ;; (the default is true) + ;; (the default is true) ;; For example: ; ForeignTripsAllowed_Level_0 = false ; ForeignTripsAllowed_Level_200 = true ; true is default, no need to say it @@ -310,45 +309,45 @@ ;; If ForeignTripsAllowed is false, make exceptions using DisallowExcept ;; Leave blank or commented for no exceptions. ; DisallowExcept_Level_0 = "http://myothergrid.com:8002, http://boss.com:8002" - ;; + ;; ;; If ForeignTripsAllowed is true, make exceptions using AllowExcept. ;; Leave blank or commented for no exceptions. ; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002" [HGInventoryService] - ;; If you have this set under [Hypergrid], no need to set it here, leave it commented + ;; If you have this set under [Hypergrid], no need to set it here, leave it commented ; HomeURI = "http://127.0.0.1:9000" [HGAssetService] - ;; If you have this set under [Hypergrid], no need to set it here, leave it commented + ;; If you have this set under [Hypergrid], no need to set it here, leave it commented ; HomeURI = "http://127.0.0.1:9000" ;; The asset types that this grid can export to / import from other grids. - ;; Comma separated. - ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: - ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, - ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh - ;; - ;; Leave blank or commented if you don't want to apply any restrictions. - ;; A more strict, but still reasonable, policy may be to disallow the exchange - ;; of scripts, like so: + ;; Comma separated. + ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: + ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, + ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh + ;; + ;; Leave blank or commented if you don't want to apply any restrictions. + ;; A more strict, but still reasonable, policy may be to disallow the exchange + ;; of scripts, like so: ; DisallowExport ="LSLText" ; DisallowImport ="LSLBytecode" [HGInventoryAccessModule] - ;; If you have these set under [Hypergrid], no need to set it here, leave it commented + ;; If you have these set under [Hypergrid], no need to set it here, leave it commented ; HomeURI = "http://127.0.0.1:9000" - ; GatekeeperURI = "http://127.0.0.1:9000" + ; GatekeeperURI = "http://127.0.0.1:9000" ;; If you want to protect your assets from being copied by foreign visitors ;; uncomment the next line. You may want to do this on sims that have licensed content. - ;; true = allow exports, false = disallow exports. True by default. + ;; true = allow exports, false = disallow exports. True by default. ; OutboundPermission = True - ;; Send visual reminder to local users that their inventories are unavailable while they are traveling - ;; and available when they return. True by default. - ;RestrictInventoryAccessAbroad = True + ;; Send visual reminder to local users that their inventories are unavailable while they are traveling + ;; and available when they return. True by default. + ;RestrictInventoryAccessAbroad = True [HGFriendsModule] ; User level required to be able to send friendship invitations to foreign users @@ -356,20 +355,20 @@ [Messaging] ; === HG ONLY === - ;; If you have this set under [Hypergrid], no need to set it here, leave it commented + ;; If you have this set under [Hypergrid], no need to set it here, leave it commented ; GatekeeperURI = "http://127.0.0.1:9000" [EntityTransfer] - ;; User level from which local users are allowed to HG teleport. Default 0 (all users) - ;LevelHGTeleport = 0 + ;; User level from which local users are allowed to HG teleport. Default 0 (all users) + ;LevelHGTeleport = 0 - ;; Are local users restricted from taking their appearance abroad? - ;; Default is no restrictions + ;; Are local users restricted from taking their appearance abroad? + ;; Default is no restrictions ;RestrictAppearanceAbroad = false - ;; If appearance is restricted, which accounts' appearances are allowed to be exported? - ;; Comma-separated list of account names + ;; If appearance is restricted, which accounts' appearances are allowed to be exported? + ;; Comma-separated list of account names AccountForAppearance = "Test User, Astronaut Smith" ;; UserProfiles Service @@ -385,5 +384,3 @@ UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" - - diff --git a/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini index 4dd35c0..370ab90 100644 --- a/bin/config-include/StandaloneHypergrid.ini +++ b/bin/config-include/StandaloneHypergrid.ini @@ -5,7 +5,7 @@ ;; [Startup] - WorldMapModule = "HGWorldMap" + WorldMapModule = "HGWorldMap" [Modules] AssetServices = "HGAssetBroker" @@ -20,12 +20,12 @@ SimulationServices = "RemoteSimulationConnectorModule" AvatarServices = "LocalAvatarServicesConnector" UserProfilesServices = "LocalUserProfilesServicesConnector" - MapImageService = "MapImageServiceModule" + MapImageService = "MapImageServiceModule" EntityTransferModule = "HGEntityTransferModule" InventoryAccessModule = "HGInventoryAccessModule" FriendsModule = "HGFriendsModule" - UserManagementModule = "HGUserManagementModule" - SearchModule = "BasicSearchModule" + UserManagementModule = "HGUserManagementModule" + SearchModule = "BasicSearchModule" InventoryServiceInConnector = true AssetServiceInConnector = true @@ -33,10 +33,10 @@ NeighbourServiceInConnector = true LibraryModule = true LLLoginServiceInConnector = true - GridInfoServiceInConnector = true + GridInfoServiceInConnector = true AuthenticationServiceInConnector = true SimulationServiceInConnector = true - MapImageServiceInConnector = true + MapImageServiceInConnector = true [SimulationService] ; This is the protocol version which the simulator advertises to the source destination when acting as a target destination for a teleport @@ -74,9 +74,9 @@ LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService" [LibraryService] - LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" - LibraryName = "OpenSim Library" - DefaultLibrary = "./inventory/Libraries.xml" + LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" + LibraryName = "OpenSim Library" + DefaultLibrary = "./inventory/Libraries.xml" [AuthenticationService] LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" @@ -123,7 +123,7 @@ LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService" UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" - UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" + UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" @@ -132,9 +132,9 @@ FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" [MapImageService] - LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" - ; in minutes - RefreshTime = 60 + LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" + ; in minutes + RefreshTime = 60 [GatekeeperService] LocalServiceModule = "OpenSim.Services.HypergridService.dll:GatekeeperService" @@ -148,8 +148,8 @@ SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector" [UserAgentService] - LocalServiceModule = "OpenSim.Services.HypergridService.dll:UserAgentService" - ;; for the service + LocalServiceModule = "OpenSim.Services.HypergridService.dll:UserAgentService" + ;; for the service GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" GridService = "OpenSim.Services.GridService.dll:GridService" GatekeeperService = "OpenSim.Services.HypergridService.dll:GatekeeperService" @@ -166,10 +166,10 @@ [HGInventoryService] ; For the InventoryServiceInConnector LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" - ;; alternatives: - ;; HG1.5, more permissive, not recommended, but still supported + ;; alternatives: + ;; HG1.5, more permissive, not recommended, but still supported ;LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInventoryService" - ;; HG1.0, totally permissive, not recommended, but OK for grids with 100% trust + ;; HG1.0, totally permissive, not recommended, but OK for grids with 100% trust ;LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService" UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" @@ -182,19 +182,19 @@ UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" [HGFriendsService] - LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFriendsService" - UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" - FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" - UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" - GridService = "OpenSim.Services.GridService.dll:GridService" - PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFriendsService" + UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" + FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + GridService = "OpenSim.Services.GridService.dll:GridService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" [HGInstantMessageService] - LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" - GridService = "OpenSim.Services.GridService.dll:GridService" - PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" - UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" - InGatekeeper = True + LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" + GridService = "OpenSim.Services.GridService.dll:GridService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" + InGatekeeper = True ;; This should always be the very last thing on this file [Includes] -- cgit v1.1 From 979b17165b7e504385187ab082ef0a8cd50605bd Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Thu, 19 Sep 2013 22:45:50 +0100 Subject: For debug purposes, allow simulators to force use of earlier SIMULATION/0.1 teleport protocol even if SIMULATION/0.2 is available. This is specified in the MaxOutgoingTransferVersion attribute of [EntityTransfer] in OpenSim.ini, see OpenSimDefaults.ini for more details. Default remains "SIMULATION/0.2" Primarily for http://opensimulator.org/mantis/view.php?id=6755 --- bin/OpenSimDefaults.ini | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 7954a14..8da4daf 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -636,7 +636,6 @@ Cap_AvatarPickerSearch = "localhost" - [Chat] ; Controls whether the chat module is enabled. Default is true. enabled = true; @@ -652,6 +651,15 @@ [EntityTransfer] + ; The maximum protocol version that we will use for outgoing transfers + ; Valid values are + ; "SIMULATION/0.2" + ; - this is the default. A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol + ; - this protocol is more efficient than "SIMULATION/0.1" + ; "SIMULATION/0.1" + ; - this is an older teleport protocol used in OpenSimulator 0.7.5 and before. + MaxOutgoingTransferVersion = "SIMULATION/0.2" + ; The maximum distance in regions that an agent is allowed to teleport ; along the x or y axis. This is set to 16383 because current viewers ; can't handle teleports that are greater than this distance -- cgit v1.1 From 70b51f12cd0b4f2c11cefa4a2c47b91fe2fde53e Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Fri, 27 Sep 2013 00:01:18 +0100 Subject: minor: Clean up tabbing and spacing issues in OpenSim.ini.example --- bin/OpenSim.ini.example | 51 +++++++++++++++++++++++++------------------------ 1 file changed, 26 insertions(+), 25 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index d6de777..b78e3b7 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -418,8 +418,8 @@ ;# {SMTP_SERVER_PASSWORD} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server password} {} ; SMTP_SERVER_PASSWORD = "" -[Network] +[Network] ;# {ConsoleUser} {} {User name for console account} {} ;; Configure the remote console user here. This will not actually be used ;; unless you use -console=rest at startup. @@ -456,6 +456,7 @@ ;; web server ; user_agent = "OpenSim LSL (Mozilla Compatible)" + [XMLRPC] ;# {XmlRpcRouterModule} {} {Module used to route incoming llRemoteData calls} {XmlRpcRouterModule XmlRpcGridRouterModule} XmlRpcRouterModule ;; If enabled and set to XmlRpcRouterModule, this will post an event, @@ -470,9 +471,6 @@ ;# {XmlRpcPort} {} {Port for incoming llRemoteData xmlrpc calls} {} 20800 ;XmlRpcPort = 20800 - -;; {option} {depends on} {question to ask} {choices} default value - ;# {XmlRpcHubURI} {XmlRpcRouterModule} {URI for external service used to register xmlrpc channels created in the simulator. This depends on XmlRpcRouterModule being set to XmlRpcGridRouterModule} {} http://example.com ;; If XmlRpcRouterModule is set to XmlRpcGridRouterModule, the simulator ;; will use this address to register xmlrpc channels on the external @@ -508,7 +506,7 @@ ; These are enabled by default to localhost. Change if you see fit. Cap_GetTexture = "localhost" Cap_GetMesh = "localhost" - Cap_AvatarPickerSearch = "localhost" + Cap_AvatarPickerSearch = "localhost" ; This is disabled by default. Change if you see fit. Note that ; serving this cap from the simulators may lead to poor performace. @@ -516,7 +514,6 @@ [SimulatorFeatures] - ;# {MapImageServerURI} {} {URL for the map server} {} ; Experimental new information sent in SimulatorFeatures cap for Kokua ; viewers @@ -554,7 +551,7 @@ ;; Module to handle offline messaging. The core module requires an external ;; web service to do this. See OpenSim wiki. ; OfflineMessageModule = OfflineMessageModule - ;; Or, alternatively, use this one, which works for both standalones and grids + ;; Or, alternatively, use this one, which works for both standalones and grids ; OfflineMessageModule = "Offline Message Module V2" ;# {OfflineMessageURL} {OfflineMessageModule:OfflineMessageModule Offline Message Module V2:Offline Message Module V2} {URL of offline messaging service} {} @@ -562,8 +559,8 @@ ; OfflineMessageURL = http://yourserver/Offline.php or http://yourrobustserver:8003 ;# {StorageProvider} {Offline Message Module V2:Offline Message Module V2} {DLL that provides the storage interface} {OpenSim.Data.MySQL.dll} - ;; For standalones, this is the storage dll. - ; StorageProvider = OpenSim.Data.MySQL.dll + ;; For standalones, this is the storage dll. + ; StorageProvider = OpenSim.Data.MySQL.dll ;# {MuteListModule} {OfflineMessageModule:OfflineMessageModule} {} {} MuteListModule ;; Mute list handler (not yet implemented). MUST BE SET to allow offline @@ -960,38 +957,38 @@ ;; http://code.google.com/p/flotsam/ ;; or from the SimianGrid project at http://code.google.com/p/openmetaverse ; Module = Default - ;; or... use Groups Module V2, which works for standalones and robust grids - ; Module = "Groups Module V2" + ;; or... use Groups Module V2, which works for standalones and robust grids + ; Module = "Groups Module V2" ;# {StorageProvider} {Module:Groups Module V2} {The DLL that provides the storage for V2} {OpenSim.Data.MySQL.dll} ; StorageProvider = OpenSim.Data.MySQL.dll ;# {ServicesConnectorModule} {Module:GroupsModule Module:Groups Module V2} {Service connector to use for groups} {XmlRpcGroupsServicesConnector SimianGroupsServicesConnector "Groups Local Service Connector" "Groups Remote Service Connector" "Groups HG Service Connector"} XmlRpcGroupsServicesConnector ;; Service connectors to the Groups Service as used in the GroupsModule. Select one as follows: - ;; -- for Flotsam Groups use XmlRpcGroupsServicesConnector - ;; -- for Simian Groups use SimianGroupsServicesConnector - ;; -- for V2 Groups, standalone, non-HG use "Groups Local Service Connector" - ;; -- for V2 Groups, grided sim, non-HG use "Groups Remote Service Connector" - ;; -- for V2 Groups, HG, both standalone and grided sim, use "Groups HG Service Connector" - ;; Note that the quotes "" around the words are important! + ;; -- for Flotsam Groups use XmlRpcGroupsServicesConnector + ;; -- for Simian Groups use SimianGroupsServicesConnector + ;; -- for V2 Groups, standalone, non-HG use "Groups Local Service Connector" + ;; -- for V2 Groups, grided sim, non-HG use "Groups Remote Service Connector" + ;; -- for V2 Groups, HG, both standalone and grided sim, use "Groups HG Service Connector" + ;; Note that the quotes "" around the words are important! ; ServicesConnectorModule = XmlRpcGroupsServicesConnector ;# {LocalService} {ServicesConnectorModule:Groups HG Service Connector} {Is the group service in this process or elsewhere?} {local remote} local - ;; Used for V2 in HG only. If standalone, set this to local; if grided sim, set this to remote + ;; Used for V2 in HG only. If standalone, set this to local; if grided sim, set this to remote ; LocalService = local ;# {GroupsServerURI} {Module:GroupsModule (ServicesConnectorModule:Groups Remote Service Connector or (ServicesConnectorModule:Groups HG Service Connector and LocalService:remote))} {Groups Server URI} {} ;; URI for the groups services of this grid ;; e.g. http://yourxmlrpcserver.com/xmlrpc.php for Flotsam XmlRpc ;; or http://mygridserver.com:82/Grid/ for SimianGrid - ;; or http:://mygridserver.com:8003 for robust, V2 - ;; Leave it commented for standalones, V2 + ;; or http:://mygridserver.com:8003 for robust, V2 + ;; Leave it commented for standalones, V2 ; GroupsServerURI = "" ;# {HomeURI} {ServicesConnectorModule:Groups HG Service Connector} {What's the home address of this world?} {} - ;; Used for V2 in HG only. For example - ;; http://mygridserver.com:9000 or http://mygridserver.com:8002 - ;; If you have this set under [Startup], no need to set it here, leave it commented + ;; Used for V2 in HG only. For example + ;; http://mygridserver.com:9000 or http://mygridserver.com:8002 + ;; If you have this set under [Startup], no need to set it here, leave it commented ; HomeURI = "" ;# {MessagingEnabled} {Module:GroupsModule Module:Groups Module V2} {Is groups messaging enabled?} {true false} true @@ -999,8 +996,8 @@ ;# {MessagingModule} {MessagingEnabled:true} {Module to use for groups messaging} {GroupsMessagingModule "Groups Messaging Module V2"} GroupsMessagingModule ; MessagingModule = GroupsMessagingModule - ;; or use V2 for Groups V2 - ; MessagingModule = "Groups Messaging Module V2" + ;; or use V2 for Groups V2 + ; MessagingModule = "Groups Messaging Module V2" ;# {NoticesEnabled} {Module:GroupsModule Module:Groups Module V2} {Enable group notices?} {true false} true ;; Enable Group Notices @@ -1020,6 +1017,7 @@ ; XmlRpcServiceReadKey = 1234 ; XmlRpcServiceWriteKey = 1234 + [InterestManagement] ;# {UpdatePrioritizationScheme} {} {Update prioritization scheme?} {BestAvatarResponsiveness Time Distance SimpleAngularDistance FrontBack} BestAvatarResponsiveness ;; This section controls how state updates are prioritized for each client @@ -1038,16 +1036,19 @@ ;# {Enabled} {} {Enable Non Player Character (NPC) facilities} {true false} false ; Enabled = false + [Terrain] ;# {InitialTerrain} {} {Initial terrain type} {pinhead-island flat} pinhead-island ; InitialTerrain = "pinhead-island" + [UserProfiles] ;# {ProfileURL} {} {Set url to UserProfilesService} {} ;; Set the value of the url to your UserProfilesService ;; If un-set / "" the module is disabled ;; ProfileServiceURL = http://127.0.0.1:8002 + [Architecture] ;# {Include-Architecture} {} {Choose one of the following architectures} {config-include/Standalone.ini config-include/StandaloneHypergrid.ini config-include/Grid.ini config-include/GridHypergrid.ini config-include/SimianGrid.ini config-include/HyperSimianGrid.ini} config-include/Standalone.ini ;; Uncomment one of the following includes as required. For instance, to create a standalone OpenSim, -- cgit v1.1 From 585d0800dd61798ec2640e3f42f7d41fb9fa5b33 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Fri, 27 Sep 2013 00:14:40 +0100 Subject: minor: Make OpenSimDefaults.ini consistent (spacing and tabs to spaces) --- bin/OpenSimDefaults.ini | 51 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 33 insertions(+), 18 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 8da4daf..c090306 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -399,7 +399,6 @@ ; ProfileURL = http://127.0.0.1:9000 - [SMTP] enabled = false @@ -461,6 +460,7 @@ ; many simultaneous requests, default is 30 and is currently applied only to assets ;MaxRequestConcurrency = 30 + [ClientStack.LindenUDP] ; Set this to true to process incoming packets asynchronously. Networking is ; already separated from packet handling with a queue, so this will only @@ -560,6 +560,7 @@ ; ;PausedAckTimeout = 300 + [ClientStack.LindenCaps] ;; Long list of capabilities taken from ;; http://wiki.secondlife.com/wiki/Current_Sim_Capabilities @@ -632,8 +633,8 @@ Cap_FetchInventoryDescendents2 = "localhost" Cap_FetchInventory2 = "localhost" - ; Capability for searching for people - Cap_AvatarPickerSearch = "localhost" + ; Capability for searching for people + Cap_AvatarPickerSearch = "localhost" [Chat] @@ -964,6 +965,7 @@ ; Default is false. ;force_simple_prim_meshing = true + [BulletSim] ; All the BulletSim parameters can be displayed with the console command ; "physics get all" and all are defined in the source file @@ -1279,6 +1281,7 @@ ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL()) max_external_urls_per_simulator = 100 + [DataSnapshot] ; The following set of configs pertains to search. ; Set index_sims to true to enable search engines to index your searchable data @@ -1683,31 +1686,36 @@ RootReprioritizationDistance = 10.0 ChildReprioritizationDistance = 20.0 + [Monitoring] ; Enable region monitoring ; If true, this will print out an error if more than a minute has passed since the last simulator frame ; Also is another source of region statistics provided via the regionstats URL Enabled = true -; View region statistics via a web page -; See http://opensimulator.org/wiki/FAQ#Region_Statistics_on_a_Web_Page -; Use a web browser and type in the "Login URI" + "/SStats/" -; For example- http://127.0.0.1:9000/SStats/ + [WebStats] -; enabled=false + ; View region statistics via a web page + ; See http://opensimulator.org/wiki/FAQ#Region_Statistics_on_a_Web_Page + ; Use a web browser and type in the "Login URI" + "/SStats/" + ; For example- http://127.0.0.1:9000/SStats/ + ; enabled=false [MediaOnAPrim] ; Enable media on a prim facilities Enabled = true; + [NPC] ;; Enable Non Player Character (NPC) facilities Enabled = false + [Terrain] InitialTerrain = "pinhead-island" + ;; ;; If you are using a simian grid frontend you can enable ;; this module to upload tile images for the mapping fn @@ -1717,15 +1725,17 @@ MaptileURL = "http://www.mygrid.com/Grid/" RefreshTime = 3600 + ;; ;; JsonStore module provides structured store for scripts ;; [JsonStore] -Enabled = False + Enabled = False + + ;; Enable direct access to the SOP dynamic attributes + EnableObjectStore = False + MaxStringSpace = 0 -;; Enable direct access to the SOP dynamic attributes -EnableObjectStore = False -MaxStringSpace = 0 ;; ;; These are defaults that are overwritten below in [Architecture]. @@ -1740,24 +1750,29 @@ MaxStringSpace = 0 ; asset store each time the region starts AssetLoaderEnabled = true + [GridService] ;; default standalone, overridable in StandaloneCommon.ini StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" + [AutoBackupModule] - ;; default is module is disabled at the top level - AutoBackupModuleEnabled = false + ;; default is module is disabled at the top level + AutoBackupModuleEnabled = false + [Sounds] - ;; {Module} {} {Implementation of ISoundModule to use.} {OpenSim.Region.CoreModules.dll:SoundModule} - Module = OpenSim.Region.CoreModules.dll:SoundModule + ;; {Module} {} {Implementation of ISoundModule to use.} {OpenSim.Region.CoreModules.dll:SoundModule} + Module = OpenSim.Region.CoreModules.dll:SoundModule + + ;; {MaxDistance} {} {Cut-off distance at which sounds will not be sent to users} {100.0} + MaxDistance = 100.0 - ;; {MaxDistance} {} {Cut-off distance at which sounds will not be sent to users} {100.0} - MaxDistance = 100.0 [ServiceThrottle] ;; Default time interval (in ms) for the throttle service thread to wake up Interval = 5000 + [Modules] Include-modules = "addon-modules/*/config/*.ini" -- cgit v1.1 From f76cc6036ebf446553ee5201321879538dafe3b2 Mon Sep 17 00:00:00 2001 From: teravus Date: Mon, 7 Oct 2013 21:35:55 -0500 Subject: * Added a Basic DOS protection container/base object for the most common HTTP Server handlers. XMLRPC Handler, GenericHttpHandler and StreamHandler * Applied the XmlRpcBasicDOSProtector.cs to the login service as both an example, and good practice. * Applied the BaseStreamHandlerBasicDOSProtector.cs to the friends service as an example of the DOS Protector on StreamHandlers * Added CircularBuffer, used for CPU and Memory friendly rate monitoring. * DosProtector has 2 states, 1. Just Check for blocked users and check general velocity, 2. Track velocity per user, It only jumps to 2 if it's getting a lot of requests, and state 1 is about as resource friendly as if it wasn't even there. --- bin/Robust.ini.example | 19 +++++++++++++++++++ bin/config-include/StandaloneCommon.ini.example | 19 ++++++++++++++++++- 2 files changed, 37 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index de6fc28..74c208d 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -356,6 +356,25 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows DSTZone = "America/Los_Angeles;Pacific Standard Time" + ;Basic Login Service Dos Protection Tweaks + ;; + ;; Some Grids/Users use a transparent proxy that makes use of the X-Forwarded-For HTTP Header, If you do, set this to true + ;; If you set this to true and you don't have a transparent proxy, it may allow attackers to put random things in the X-Forwarded-For header to + ;; get around this basic DOS protection. + ;DOSAllowXForwardedForHeader = false + ;; + ;; The protector adds up requests during this rolling period of time, default 10 seconds + ;DOSRequestTimeFrameMS = 10000 + ;; + ;; The amount of requests in the above timeframe from the same endpoint that triggers protection + ;DOSMaxRequestsInTimeFrame = 5 + ;; + ;; The amount of time that a specific endpoint is blocked. Default 2 minutes. + ;DOSForgiveClientAfterMS = 120000 + ;; + ;; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0. + + [MapImageService] LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" ; Set this if you want to change the default diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index 12c5b95..75fd956 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -117,7 +117,7 @@ SRV_AssetServerURI = "http://127.0.0.1:9000" SRV_ProfileServerURI = "http://127.0.0.1:9000" SRV_FriendsServerURI = "http://127.0.0.1:9000" - SRV_IMServerURI = "http://127.0.0.1:9000" + SRV_IMServerURI = "http://127.0.0.1:9000 ;; For Viewer 2 MapTileURL = "http://127.0.0.1:9000/" @@ -150,6 +150,23 @@ ;AllowedClients = "" ;DeniedClients = "" + ; Basic Login Service Dos Protection Tweaks + ; ; + ; ; Some Grids/Users use a transparent proxy that makes use of the X-Forwarded-For HTTP Header, If you do, set this to true + ; ; If you set this to true and you don't have a transparent proxy, it may allow attackers to put random things in the X-Forwarded-For header to + ; ; get around this basic DOS protection. + ; DOSAllowXForwardedForHeader = false + ; ; + ; ; The protector adds up requests during this rolling period of time, default 10 seconds + ; DOSRequestTimeFrameMS = 10000 + ; ; + ; ; The amount of requests in the above timeframe from the same endpoint that triggers protection + ; DOSMaxRequestsInTimeFrame = 5 + ; ; + ; ; The amount of time that a specific endpoint is blocked. Default 2 minutes. + ; DOSForgiveClientAfterMS = 120000 + ; ; + ; ; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0. [FreeswitchService] ;; If FreeSWITCH is not being used then you don't need to set any of these parameters -- cgit v1.1 From ff8a76825841533bdc5d534b6f58b2ab964ea6c6 Mon Sep 17 00:00:00 2001 From: Fernando Oliveira Date: Sat, 12 Oct 2013 16:33:45 -0500 Subject: Fernando Oliveira's Postgress SQL Server Data Connector as a single commit. * Added PostGreSQL support * Added MySQL/MySQLXGroupData.cs * PostgreSQL data access implementation * PostgreSQL dll binarie and RegionStore.migrations * Migrations Scripts from MSSQL to POSTGRES * Postgres SQL Type fixes * Postgres SQL Connection string * Data type issues * more fixes * tests and +tests * UUID x string - FIGHT! * Fixed PG types to internal csharp types * More data type fix (PostgreSQL fields are case sensitive) :( * more field case sensitive fixes * changed the migration files to be case sensitive for fields. * fixed fields case * finished converting, now search for hidden bugs. * some more fixes * bool type fixed * more case fixes; * creatorID case fixed * case fields fixed * fixed default now() for TMStamp fields with don't allow nulls. * fix case sensitve for Region name and Estate name * fixed case for names for search * fix class name Error * Bug fixed on select and migrations * Un-Reverting my change due to Postgres issue with the ILIKE function * Fixed some issued for Diva Distro * Fixes for integration with Diva Distro * Added System.Core to prebuild.xml for PG project * Configured to make DIff for Push to OpenSim Project * Diffs only to PostgreSQL mods. --- bin/Npgsql.dll | Bin 0 -> 413184 bytes bin/Npgsql.xml | 4120 +++++++++++++++++++++++ bin/Robust.HG.ini.example | 9 + bin/Robust.ini.example | 9 + bin/config-include/GridCommon.ini.example | 6 + bin/config-include/StandaloneCommon.ini.example | 6 + 6 files changed, 4150 insertions(+) create mode 100644 bin/Npgsql.dll create mode 100644 bin/Npgsql.xml (limited to 'bin') diff --git a/bin/Npgsql.dll b/bin/Npgsql.dll new file mode 100644 index 0000000..24ca4bd Binary files /dev/null and b/bin/Npgsql.dll differ diff --git a/bin/Npgsql.xml b/bin/Npgsql.xml new file mode 100644 index 0000000..a51252d --- /dev/null +++ b/bin/Npgsql.xml @@ -0,0 +1,4120 @@ + + + + Npgsql + + + + + This class represents a parameter to a command that will be sent to server + + + + + Initializes a new instance of the NpgsqlParameter class. + + + + + Initializes a new instance of the NpgsqlParameter + class with the parameter m_Name and a value of the new NpgsqlParameter. + + The m_Name of the parameter to map. + An Object that is the value of the NpgsqlParameter. + +

When you specify an Object + in the value parameter, the DbType is + inferred from the .NET Framework type of the Object.

+

When using this constructor, you must be aware of a possible misuse of the constructor which takes a DbType parameter. + This happens when calling this constructor passing an int 0 and the compiler thinks you are passing a value of DbType. + Use Convert.ToInt32(value) for example to have compiler calling the correct constructor.

+
+
+ + + Initializes a new instance of the NpgsqlParameter + class with the parameter m_Name and the data type. + + The m_Name of the parameter to map. + One of the DbType values. + + + + Initializes a new instance of the NpgsqlParameter + class with the parameter m_Name, the DbType, and the size. + + The m_Name of the parameter to map. + One of the DbType values. + The length of the parameter. + + + + Initializes a new instance of the NpgsqlParameter + class with the parameter m_Name, the DbType, the size, + and the source column m_Name. + + The m_Name of the parameter to map. + One of the DbType values. + The length of the parameter. + The m_Name of the source column. + + + + Initializes a new instance of the NpgsqlParameter + class with the parameter m_Name, the DbType, the size, + the source column m_Name, a ParameterDirection, + the precision of the parameter, the scale of the parameter, a + DataRowVersion to use, and the + value of the parameter. + + The m_Name of the parameter to map. + One of the DbType values. + The length of the parameter. + The m_Name of the source column. + One of the ParameterDirection values. + true if the value of the field can be null, otherwise false. + The total number of digits to the left and right of the decimal point to which + Value is resolved. + The total number of decimal places to which + Value is resolved. + One of the DataRowVersion values. + An Object that is the value + of the NpgsqlParameter. + + + + Creates a new NpgsqlParameter that + is a copy of the current instance. + + A new NpgsqlParameter that is a copy of this instance. + + + + Gets or sets the maximum number of digits used to represent the + Value property. + + The maximum number of digits used to represent the + Value property. + The default value is 0, which indicates that the data provider + sets the precision for Value. + + + + Gets or sets the number of decimal places to which + Value is resolved. + + The number of decimal places to which + Value is resolved. The default is 0. + + + + Gets or sets the maximum size, in bytes, of the data within the column. + + The maximum size, in bytes, of the data within the column. + The default value is inferred from the parameter value. + + + + Gets or sets the DbType of the parameter. + + One of the DbType values. The default is String. + + + + Gets or sets the DbType of the parameter. + + One of the DbType values. The default is String. + + + + Gets or sets a value indicating whether the parameter is input-only, + output-only, bidirectional, or a stored procedure return value parameter. + + One of the ParameterDirection + values. The default is Input. + + + + Gets or sets a value indicating whether the parameter accepts null values. + + true if null values are accepted; otherwise, false. The default is false. + + + + Gets or sets the m_Name of the NpgsqlParameter. + + The m_Name of the NpgsqlParameter. + The default is an empty string. + + + + The m_Name scrubbed of any optional marker + + + + + Gets or sets the m_Name of the source column that is mapped to the + DataSet and used for loading or + returning the Value. + + The m_Name of the source column that is mapped to the + DataSet. The default is an empty string. + + + + Gets or sets the DataRowVersion + to use when loading Value. + + One of the DataRowVersion values. + The default is Current. + + + + Gets or sets the value of the parameter. + + An Object that is the value of the parameter. + The default value is null. + + + + Gets or sets the value of the parameter. + + An Object that is the value of the parameter. + The default value is null. + + + + This class represents the Parse message sent to PostgreSQL + server. + + + + + + For classes representing messages sent from the client to the server. + + + + + Writes given objects into a stream for PostgreSQL COPY in default copy format (not CSV or BINARY). + + + + + Return an exact copy of this NpgsqlConnectionString. + + + + + This function will set value for known key, both private member and base[key]. + + + + + + + The function will modify private member only, not base[key]. + + + + + + + Clear the member and assign them to the default value. + + + + + Compatibilty version. When possible, behaviour caused by breaking changes will be preserved + if this version is less than that where the breaking change was introduced. + + + + + Case insensative accessor for indivual connection string values. + + + + + Common base class for all derived MD5 implementations. + + + + + Called from constructor of derived class. + + + + + Finalizer for HashAlgorithm + + + + + Computes the entire hash of all the bytes in the byte array. + + + + + When overridden in a derived class, drives the hashing function. + + + + + + + + When overridden in a derived class, this pads and hashes whatever data might be left in the buffers and then returns the hash created. + + + + + When overridden in a derived class, initializes the object to prepare for hashing. + + + + + Used for stream chaining. Computes hash as data passes through it. + + The buffer from which to grab the data to be copied. + The offset into the input buffer to start reading at. + The number of bytes to be copied. + The buffer to write the copied data to. + At what point in the outputBuffer to write the data at. + + + + Used for stream chaining. Computes hash as data passes through it. Finishes off the hash. + + The buffer from which to grab the data to be copied. + The offset into the input buffer to start reading at. + The number of bytes to be copied. + + + + Get whether or not the hash can transform multiple blocks at a time. + Note: MUST be overriden if descendant can transform multiple block + on a single call! + + + + + Gets the previously computed hash. + + + + + Returns the size in bits of the hash. + + + + + Must be overriden if not 1 + + + + + Must be overriden if not 1 + + + + + Called from constructor of derived class. + + + + + Creates the default derived class. + + + + + Given a join expression and a projection, fetch all columns in the projection + that reference columns in the join. + + + + + Given an InputExpression append all from names (including nested joins) to the list. + + + + + Get new ColumnExpression that will be used in projection that had it's existing columns moved. + These should be simple references to the inner column + + + + + Every property accessed in the list of columns must be adjusted for a new scope + + + + + This class provides many util methods to handle + reading and writing of PostgreSQL protocol messages. + + + + + This method takes a ProtocolVersion and returns an integer + version number that the Postgres backend will recognize in a + startup packet. + + + + + This method takes a version string as returned by SELECT VERSION() and returns + a valid version string ("7.2.2" for example). + This is only needed when running protocol version 2. + This does not do any validity checks. + + + + + This method gets a C NULL terminated string from the network stream. + It keeps reading a byte in each time until a NULL byte is returned. + It returns the resultant string of bytes read. + This string is sent from backend. + + + + + Reads requested number of bytes from stream with retries until Stream.Read returns 0 or count is reached. + + Stream to read + byte buffer to fill + starting position to fill the buffer + number of bytes to read + The number of bytes read. May be less than count if no more bytes are available. + + + + This method writes a C NULL terminated string to the network stream. + It appends a NULL terminator to the end of the String. + + + This method writes a C NULL terminated string to the network stream. + It appends a NULL terminator to the end of the String. + + + + + This method writes a set of bytes to the stream. It also enables logging of them. + + + + + This method writes a C NULL terminated string limited in length to the + backend server. + It pads the string with null bytes to the size specified. + + + + + Write a 32-bit integer to the given stream in the correct byte order. + + + + + Read a 32-bit integer from the given stream in the correct byte order. + + + + + Write a 16-bit integer to the given stream in the correct byte order. + + + + + Read a 16-bit integer from the given stream in the correct byte order. + + + + + Represent the frontend/backend protocol version. + + + + + Represent the backend server version. + As this class offers no functionality beyond that offered by it has been + deprecated in favour of that class. + + + + + + Returns the string representation of this version in three place dot notation (Major.Minor.Patch). + + + + + Server version major number. + + + + + Server version minor number. + + + + + Server version patch level number. + + + + + Represents a PostgreSQL COPY TO STDOUT operation with a corresponding SQL statement + to execute against a PostgreSQL database + and an associated stream used to write results to (if provided by user) + or for reading the results (when generated by driver). + Eg. new NpgsqlCopyOut("COPY (SELECT * FROM mytable) TO STDOUT", connection, streamToWrite).Start(); + + + + + Creates NpgsqlCommand to run given query upon Start(), after which CopyStream provides data from database as requested in the query. + + + + + Given command is run upon Start(), after which CopyStream provides data from database as requested in the query. + + + + + Given command is executed upon Start() and all requested copy data is written to toStream immediately. + + + + + Returns true if this operation is currently active and field at given location is in binary format. + + + + + Command specified upon creation is executed as a non-query. + If CopyStream is set upon creation, all copy data from server will be written to it, and operation will be finished immediately. + Otherwise the CopyStream member can be used for reading copy data from server until no more data is available. + + + + + Flush generated CopyStream at once. Effectively reads and discard all the rest of copy data from server. + + + + + Returns true if the connection is currently reserved for this operation. + + + + + The stream provided by user or generated upon Start() + + + + + The Command used to execute this copy operation. + + + + + Returns true if this operation is currently active and in binary format. + + + + + Returns number of fields if this operation is currently active, otherwise -1 + + + + + Faster alternative to using the generated CopyStream. + + + + + This class manages all connector objects, pooled AND non-pooled. + + + + Unique static instance of the connector pool + mamager. + + + Map of index to unused pooled connectors, avaliable to the + next RequestConnector() call. + This hashmap will be indexed by connection string. + This key will hold a list of queues of pooled connectors available to be used. + + + Timer for tracking unused connections in pools. + + + + Searches the shared and pooled connector lists for a + matching connector object or creates a new one. + + The NpgsqlConnection that is requesting + the connector. Its ConnectionString will be used to search the + pool for available connectors. + A connector object. + + + + Find a pooled connector. Handle locking and timeout here. + + + + + Find a pooled connector. Handle shared/non-shared here. + + + + + Releases a connector, possibly back to the pool for future use. + + + Pooled connectors will be put back into the pool if there is room. + Shared connectors should just have their use count decremented + since they always stay in the shared pool. + + The connector to release. + + + + Release a pooled connector. Handle locking here. + + + + + Release a pooled connector. Handle shared/non-shared here. + + + + + Create a connector without any pooling functionality. + + + + + Find an available pooled connector in the non-shared pool, or create + a new one if none found. + + + + + This method is only called when NpgsqlConnection.Dispose(false) is called which means a + finalization. This also means, an NpgsqlConnection was leak. We clear pool count so that + client doesn't end running out of connections from pool. When the connection is finalized, its underlying + socket is closed. + + + + + Close the connector. + + + Connector to release + + + + Put a pooled connector into the pool queue. + + Connector to pool + + + + A queue with an extra Int32 for keeping track of busy connections. + + + + + Connections available to the end user + + + + + Connections currently in use + + + + + This class represents a BackEndKeyData message received + from PostgreSQL + + + + + Used when a connection is closed + + + + + Summary description for NpgsqlQuery + + + + + Represents the method that handles the Notice events. + + A NpgsqlNoticeEventArgs that contains the event data. + + + + Represents the method that handles the Notification events. + + The source of the event. + A NpgsqlNotificationEventArgs that contains the event data. + + + + This class represents a connection to a + PostgreSQL server. + + + + + Initializes a new instance of the + NpgsqlConnection class. + + + + + Initializes a new instance of the + NpgsqlConnection class + and sets the ConnectionString. + + The connection used to open the PostgreSQL database. + + + + Begins a database transaction with the specified isolation level. + + The isolation level under which the transaction should run. + An DbTransaction + object representing the new transaction. + + Currently the IsolationLevel ReadCommitted and Serializable are supported by the PostgreSQL backend. + There's no support for nested transactions. + + + + + Begins a database transaction. + + A NpgsqlTransaction + object representing the new transaction. + + Currently there's no support for nested transactions. + + + + + Begins a database transaction with the specified isolation level. + + The isolation level under which the transaction should run. + A NpgsqlTransaction + object representing the new transaction. + + Currently the IsolationLevel ReadCommitted and Serializable are supported by the PostgreSQL backend. + There's no support for nested transactions. + + + + + Opens a database connection with the property settings specified by the + ConnectionString. + + + + + This method changes the current database by disconnecting from the actual + database and connecting to the specified. + + The name of the database to use in place of the current database. + + + + Releases the connection to the database. If the connection is pooled, it will be + made available for re-use. If it is non-pooled, the actual connection will be shutdown. + + + + + Creates and returns a DbCommand + object associated with the IDbConnection. + + A DbCommand object. + + + + Creates and returns a NpgsqlCommand + object associated with the NpgsqlConnection. + + A NpgsqlCommand object. + + + + Releases all resources used by the + NpgsqlConnection. + + true when called from Dispose(); + false when being called from the finalizer. + + + + Create a new connection based on this one. + + A new NpgsqlConnection object. + + + + Create a new connection based on this one. + + A new NpgsqlConnection object. + + + + Default SSL CertificateSelectionCallback implementation. + + + + + Default SSL CertificateValidationCallback implementation. + + + + + Default SSL PrivateKeySelectionCallback implementation. + + + + + Default SSL ProvideClientCertificatesCallback implementation. + + + + + Write each key/value pair in the connection string to the log. + + + + + Returns the supported collections + + + + + Returns the schema collection specified by the collection name. + + The collection name. + The collection specified. + + + + Returns the schema collection specified by the collection name filtered by the restrictions. + + The collection name. + + The restriction values to filter the results. A description of the restrictions is contained + in the Restrictions collection. + + The collection specified. + + + + Occurs on NoticeResponses from the PostgreSQL backend. + + + + + Occurs on NotificationResponses from the PostgreSQL backend. + + + + + Called to provide client certificates for SSL handshake. + + + + + Mono.Security.Protocol.Tls.CertificateSelectionCallback delegate. + + + + + Mono.Security.Protocol.Tls.CertificateValidationCallback delegate. + + + + + Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate. + + + + + Gets or sets the string used to connect to a PostgreSQL database. + Valid values are: +
    +
  • + Server: Address/Name of Postgresql Server; +
  • +
  • + Port: Port to connect to; +
  • +
  • + Protocol: Protocol version to use, instead of automatic; Integer 2 or 3; +
  • +
  • + Database: Database name. Defaults to user name if not specified; +
  • +
  • + User Id: User name; +
  • +
  • + Password: Password for clear text authentication; +
  • +
  • + SSL: True or False. Controls whether to attempt a secure connection. Default = False; +
  • +
  • + Pooling: True or False. Controls whether connection pooling is used. Default = True; +
  • +
  • + MinPoolSize: Min size of connection pool; +
  • +
  • + MaxPoolSize: Max size of connection pool; +
  • +
  • + Timeout: Time to wait for connection open in seconds. Default is 15. +
  • +
  • + CommandTimeout: Time to wait for command to finish execution before throw an exception. In seconds. Default is 20. +
  • +
  • + Sslmode: Mode for ssl connection control. Can be Prefer, Require, Allow or Disable. Default is Disable. Check user manual for explanation of values. +
  • +
  • + ConnectionLifeTime: Time to wait before closing unused connections in the pool in seconds. Default is 15. +
  • +
  • + SyncNotification: Specifies if Npgsql should use synchronous notifications. +
  • +
  • + SearchPath: Changes search path to specified and public schemas. +
  • +
+
+ The connection string that includes the server name, + the database name, and other parameters needed to establish + the initial connection. The default value is an empty string. + +
+ + + Backend server host name. + + + + + Backend server port. + + + + + If true, the connection will attempt to use SSL. + + + + + Gets the time to wait while trying to establish a connection + before terminating the attempt and generating an error. + + The time (in seconds) to wait for a connection to open. The default value is 15 seconds. + + + + Gets the time to wait while trying to execute a command + before terminating the attempt and generating an error. + + The time (in seconds) to wait for a command to complete. The default value is 20 seconds. + + + + Gets the time to wait before closing unused connections in the pool if the count + of all connections exeeds MinPoolSize. + + + If connection pool contains unused connections for ConnectionLifeTime seconds, + the half of them will be closed. If there will be unused connections in a second + later then again the half of them will be closed and so on. + This strategy provide smooth change of connection count in the pool. + + The time (in seconds) to wait. The default value is 15 seconds. + + + + Gets the name of the current database or the database to be used after a connection is opened. + + The name of the current database or the name of the database to be + used after a connection is opened. The default value is the empty string. + + + + Whether datareaders are loaded in their entirety (for compatibility with earlier code). + + + + + Gets the database server name. + + + + + Gets flag indicating if we are using Synchronous notification or not. + The default value is false. + + + + + Gets the current state of the connection. + + A bitwise combination of the ConnectionState values. The default is Closed. + + + + Gets whether the current state of the connection is Open or Closed + + ConnectionState.Open or ConnectionState.Closed + + + + Version of the PostgreSQL backend. + This can only be called when there is an active connection. + + + + + Protocol version in use. + This can only be called when there is an active connection. + + + + + Process id of backend server. + This can only be called when there is an active connection. + + + + + The connector object connected to the backend. + + + + + Gets the NpgsqlConnectionStringBuilder containing the parsed connection string values. + + + + + User name. + + + + + Password. + + + + + Determine if connection pooling will be used for this connection. + + + + + This class represents the CancelRequest message sent to PostgreSQL + server. + + + + + + + + + + + + + + + + + + + A time period expressed in 100ns units. + + + A time period expressed in a + + + Number of 100ns units. + + + Number of seconds. + + + Number of milliseconds. + + + Number of milliseconds. + + + Number of milliseconds. + + + A d with the given number of ticks. + + + A d with the given number of microseconds. + + + A d with the given number of milliseconds. + + + A d with the given number of seconds. + + + A d with the given number of minutes. + + + A d with the given number of hours. + + + A d with the given number of days. + + + A d with the given number of months. + + + An whose values are the sums of the two instances. + + + An whose values are the differences of the two instances. + + + An whose value is the negated value of this instance. + + + An whose value is the absolute value of this instance. + + + + An based on this one, but with any days converted to multiples of ±24hours. + + + + An based on this one, but with any months converted to multiples of ±30days. + + + + An based on this one, but with any months converted to multiples of ±30days and then any days converted to multiples of ±24hours; + + + + An eqivalent, canonical, . + + + An equivalent . + + + + + + An signed integer. + + + + The argument is not an . + + + The string was not in a format that could be parsed to produce an . + + + true if the parsing succeeded, false otherwise. + + + The representation. + + + An whose values are the sum of the arguments. + + + An whose values are the difference of the arguments + + + true if the two arguments are exactly the same, false otherwise. + + + false if the two arguments are exactly the same, true otherwise. + + + true if the first is less than second, false otherwise. + + + true if the first is less than or equivalent to second, false otherwise. + + + true if the first is greater than second, false otherwise. + + + true if the first is greater than or equivalent to the second, false otherwise. + + + The argument. + + + The negation of the argument. + + + + + + + + + + + + + + + + + + + + This time, normalised + + + + + + + + + This time, normalised + + + An integer which is 0 if they are equal, < 0 if this is the smaller and > 0 if this is the larger. + + + + + + + + + A class to handle everything associated with SSPI authentication + + + + + Simplified SecBufferDesc struct with only one SecBuffer + + + + + This class represents the Parse message sent to PostgreSQL + server. + + + + + + EventArgs class to send Notice parameters, which are just NpgsqlError's in a lighter context. + + + + + Notice information. + + + + + This class represents the ErrorResponse and NoticeResponse + message sent from PostgreSQL server. + + + + + Return a string representation of this error object. + + + + + Severity code. All versions. + + + + + Error code. PostgreSQL 7.4 and up. + + + + + Terse error message. All versions. + + + + + Detailed error message. PostgreSQL 7.4 and up. + + + + + Suggestion to help resolve the error. PostgreSQL 7.4 and up. + + + + + Position (one based) within the query string where the error was encounterd. PostgreSQL 7.4 and up. + + + + + Position (one based) within the query string where the error was encounterd. This position refers to an internal command executed for example inside a PL/pgSQL function. PostgreSQL 7.4 and up. + + + + + Internal query string where the error was encounterd. This position refers to an internal command executed for example inside a PL/pgSQL function. PostgreSQL 7.4 and up. + + + + + Trace back information. PostgreSQL 7.4 and up. + + + + + Source file (in backend) reporting the error. PostgreSQL 7.4 and up. + + + + + Source file line number (in backend) reporting the error. PostgreSQL 7.4 and up. + + + + + Source routine (in backend) reporting the error. PostgreSQL 7.4 and up. + + + + + String containing the sql sent which produced this error. + + + + + Backend protocol version in use. + + + + + Represents an ongoing COPY TO STDOUT operation. + Provides methods to read data from server or end the operation. + + + + This class represents the base class for the state pattern design pattern + implementation. + + + + + + This method is used by the states to change the state of the context. + + + + + This method is responsible to handle all protocol messages sent from the backend. + It holds all the logic to do it. + To exchange data, it uses a Mediator object from which it reads/writes information + to handle backend requests. + + + + + + This method is responsible to handle all protocol messages sent from the backend. + It holds all the logic to do it. + To exchange data, it uses a Mediator object from which it reads/writes information + to handle backend requests. + + + + + + Called from NpgsqlState.ProcessBackendResponses upon CopyOutResponse. + If CopyStream is already set, it is used to write data received from server, after which the copy ends. + Otherwise CopyStream is set to a readable NpgsqlCopyOutStream that receives data from server. + + + + + Called from NpgsqlOutStream.Read to read copy data from server. + + + + + Copy format information returned from server. + + + + + Handles serialisation of .NET array or IEnumeration to pg format. + Arrays of arrays, enumerations of enumerations, arrays of enumerations etc. + are treated as multi-dimensional arrays (in much the same manner as an array of arrays + is used to emulate multi-dimensional arrays in languages that lack native support for them). + If such an enumeration of enumerations is "jagged" (as opposed to rectangular, cuboid, + hypercuboid, hyperhypercuboid, etc) then this class will "correctly" serialise it, but pg + will raise an error as it doesn't allow jagged arrays. + + + + + Create an ArrayNativeToBackendTypeConverter with the element converter passed + + The that would be used to serialise the element type. + + + + Serialise the enumeration or array. + + + + + Handles parsing of pg arrays into .NET arrays. + + + + + Takes a string representation of a pg 1-dimensional array + (or a 1-dimensional row within an n-dimensional array) + and allows enumeration of the string represenations of each items. + + + + + Takes a string representation of a pg n-dimensional array + and allows enumeration of the string represenations of the next + lower level of rows (which in turn can be taken as (n-1)-dimensional arrays. + + + + + Takes an ArrayList which may be an ArrayList of ArrayLists, an ArrayList of ArrayLists of ArrayLists + and so on and enumerates the items that aren't ArrayLists (the leaf nodes if we think of the ArrayList + passed as a tree). Simply uses the ArrayLists' own IEnumerators to get that of the next, + pushing them onto a stack until we hit something that isn't an ArrayList. + ArrayList to enumerate + IEnumerable + + + + + Create a new ArrayBackendToNativeTypeConverter + + for the element type. + + + + Creates an array from pg representation. + + + + + Creates an array list from pg represenation of an array. + Multidimensional arrays are treated as ArrayLists of ArrayLists + + + + + Creates an n-dimensional array from an ArrayList of ArrayLists or + a 1-dimensional array from something else. + + to convert + produced. + + + + Takes an array of ints and treats them like the limits of a set of counters. + Retains a matching set of ints that is set to all zeros on the first ++ + On a ++ it increments the "right-most" int. If that int reaches it's + limit it is set to zero and the one before it is incremented, and so on. + + Making this a more general purpose class is pretty straight-forward, but we'll just put what we need here. + + + + + This class represents the ParameterStatus message sent from PostgreSQL + server. + + + + + + This class is responsible for serving as bridge between the backend + protocol handling and the core classes. It is used as the mediator for + exchanging data generated/sent from/to backend. + + + + + + This class is responsible to create database commands for automatic insert, update and delete operations. + + + + + + This method is reponsible to derive the command parameter list with values obtained from function definition. + It clears the Parameters collection of command. Also, if there is any parameter type which is not supported by Npgsql, an InvalidOperationException will be thrown. + Parameters name will be parameter1, parameter2, ... + For while, only parameter name and NpgsqlDbType are obtained. + + NpgsqlCommand whose function parameters will be obtained. + + + + Represents a completed response message. + + + + + + Marker interface which identifies a class which may take possession of a stream for the duration of + it's lifetime (possibly temporarily giving that possession to another class for part of that time. + + It inherits from IDisposable, since any such class must make sure it leaves the stream in a valid state. + + The most important such class is that compiler-generated from ProcessBackendResponsesEnum. Of course + we can't make that inherit from this interface, alas. + + + + + The exception that is thrown when the PostgreSQL backend reports errors. + + + + + Construct a backend error exception based on a list of one or more + backend errors. The basic Exception.Message will be built from the + first (usually the only) error in the list. + + + + + Format a .NET style exception string. + Include all errors in the list, including any hints. + + + + + Append a line to the given Stream, first checking for zero-length. + + + + + Provide access to the entire list of errors provided by the PostgreSQL backend. + + + + + Severity code. All versions. + + + + + Error code. PostgreSQL 7.4 and up. + + + + + Basic error message. All versions. + + + + + Detailed error message. PostgreSQL 7.4 and up. + + + + + Suggestion to help resolve the error. PostgreSQL 7.4 and up. + + + + + Position (one based) within the query string where the error was encounterd. PostgreSQL 7.4 and up. + + + + + Trace back information. PostgreSQL 7.4 and up. + + + + + Source file (in backend) reporting the error. PostgreSQL 7.4 and up. + + + + + Source file line number (in backend) reporting the error. PostgreSQL 7.4 and up. + + + + + Source routine (in backend) reporting the error. PostgreSQL 7.4 and up. + + + + + String containing the sql sent which produced this error. + + + + + Returns the entire list of errors provided by the PostgreSQL backend. + + + + + The level of verbosity of the NpgsqlEventLog + + + + + Don't log at all + + + + + Only log the most common issues + + + + + Log everything + + + + + This class handles all the Npgsql event and debug logging + + + + + Writes a string to the Npgsql event log if msglevel is bigger then NpgsqlEventLog.Level + + + This method is obsolete and should no longer be used. + It is likely to be removed in future versions of Npgsql + + The message to write to the event log + The minimum LogLevel for which this message should be logged. + + + + Writes a string to the Npgsql event log if msglevel is bigger then NpgsqlEventLog.Level + + The ResourceManager to get the localized resources + The name of the resource that should be fetched by the ResourceManager + The minimum LogLevel for which this message should be logged. + The additional parameters that shall be included into the log-message (must be compatible with the string in the resource): + + + + Writes the default log-message for the action of calling the Get-part of an Indexer to the log file. + + The minimum LogLevel for which this message should be logged. + The name of the class that contains the Indexer + The parameter given to the Indexer + + + + Writes the default log-message for the action of calling the Set-part of an Indexer to the logfile. + + The minimum LogLevel for which this message should be logged. + The name of the class that contains the Indexer + The parameter given to the Indexer + The value the Indexer is set to + + + + Writes the default log-message for the action of calling the Get-part of a Property to the logfile. + + The minimum LogLevel for which this message should be logged. + The name of the class that contains the Property + The name of the Property + + + + Writes the default log-message for the action of calling the Set-part of a Property to the logfile. + + The minimum LogLevel for which this message should be logged. + The name of the class that contains the Property + The name of the Property + The value the Property is set to + + + + Writes the default log-message for the action of calling a Method without Arguments to the logfile. + + The minimum LogLevel for which this message should be logged. + The name of the class that contains the Method + The name of the Method + + + + Writes the default log-message for the action of calling a Method with one Argument to the logfile. + + The minimum LogLevel for which this message should be logged. + The name of the class that contains the Method + The name of the Method + The value of the Argument of the Method + + + + Writes the default log-message for the action of calling a Method with two Arguments to the logfile. + + The minimum LogLevel for which this message should be logged. + The name of the class that contains the Method + The name of the Method + The value of the first Argument of the Method + The value of the second Argument of the Method + + + + Writes the default log-message for the action of calling a Method with three Arguments to the logfile. + + The minimum LogLevel for which this message should be logged. + The name of the class that contains the Method + The name of the Method + The value of the first Argument of the Method + The value of the second Argument of the Method + The value of the third Argument of the Method + + + + Writes the default log-message for the action of calling a Method with more than three Arguments to the logfile. + + The minimum LogLevel for which this message should be logged. + The name of the class that contains the Method + The name of the Method + A Object-Array with zero or more Ojects that are Arguments of the Method. + + + + Sets/Returns the level of information to log to the logfile. + + The current LogLevel + + + + Sets/Returns the filename to use for logging. + + The filename of the current Log file. + + + + Sets/Returns whether Log messages should be echoed to the console + + true if Log messages are echoed to the console, otherwise false + + + + This class represents the Parse message sent to PostgreSQL + server. + + + + + + Represents a PostgreSQL COPY FROM STDIN operation with a corresponding SQL statement + to execute against a PostgreSQL database + and an associated stream used to read data from (if provided by user) + or for writing it (when generated by driver). + Eg. new NpgsqlCopyIn("COPY mytable FROM STDIN", connection, streamToRead).Start(); + + + + + Creates NpgsqlCommand to run given query upon Start(). Data for the requested COPY IN operation can then be written to CopyData stream followed by a call to End() or Cancel(). + + + + + Given command is run upon Start(). Data for the requested COPY IN operation can then be written to CopyData stream followed by a call to End() or Cancel(). + + + + + Given command is executed upon Start() and all data from fromStream is passed to it as copy data. + + + + + Returns true if this operation is currently active and field at given location is in binary format. + + + + + Command specified upon creation is executed as a non-query. + If CopyStream is set upon creation, it will be flushed to server as copy data, and operation will be finished immediately. + Otherwise the CopyStream member can be used for writing copy data to server and operation finished with a call to End() or Cancel(). + + + + + Called after writing all data to CopyStream to successfully complete this copy operation. + + + + + Withdraws an already started copy operation. The operation will fail with given error message. + Will do nothing if current operation is not active. + + + + + Returns true if the connection is currently reserved for this operation. + + + + + The stream provided by user or generated upon Start(). + User may provide a stream to constructor; it is used to pass to server all data read from it. + Otherwise, call to Start() sets this to a writable NpgsqlCopyInStream that passes all data written to it to server. + In latter case this is only available while the copy operation is active and null otherwise. + + + + + Returns true if this operation is currently active and in binary format. + + + + + Returns number of fields expected on each input row if this operation is currently active, otherwise -1 + + + + + The Command used to execute this copy operation. + + + + + Set before a COPY IN query to define size of internal buffer for reading from given CopyStream. + + + + + Represents information about COPY operation data transfer format as returned by server. + + + + + Only created when a CopyInResponse or CopyOutResponse is received by NpgsqlState.ProcessBackendResponses() + + + + + Returns true if this operation is currently active and field at given location is in binary format. + + + + + Returns true if this operation is currently active and in binary format. + + + + + Returns number of fields if this operation is currently active, otherwise -1 + + + + + + + + + Provide event handlers to convert all native supported basic data types from their backend + text representation to a .NET object. + + + + + Binary data. + + + + + Convert a postgresql boolean to a System.Boolean. + + + + + Convert a postgresql bit to a System.Boolean. + + + + + Convert a postgresql datetime to a System.DateTime. + + + + + Convert a postgresql date to a System.DateTime. + + + + + Convert a postgresql time to a System.DateTime. + + + + + Convert a postgresql money to a System.Decimal. + + + + + Provide event handlers to convert the basic native supported data types from + native form to backend representation. + + + + + Binary data. + + + + + Convert to a postgresql boolean. + + + + + Convert to a postgresql bit. + + + + + Convert to a postgresql timestamp. + + + + + Convert to a postgresql date. + + + + + Convert to a postgresql time. + + + + + Convert to a postgres money. + + + + + Convert to a postgres double with maximum precision. + + + + + Provide event handlers to convert extended native supported data types from their backend + text representation to a .NET object. + + + + + Convert a postgresql point to a System.NpgsqlPoint. + + + + + Convert a postgresql point to a System.RectangleF. + + + + + LDeg. + + + + + Path. + + + + + Polygon. + + + + + Circle. + + + + + Inet. + + + + + MAC Address. + + + + + interval + + + + + Provide event handlers to convert extended native supported data types from + native form to backend representation. + + + + + Point. + + + + + Box. + + + + + LSeg. + + + + + Open path. + + + + + Polygon. + + + + + Convert to a postgres MAC Address. + + + + + Circle. + + + + + Convert to a postgres inet. + + + + + Convert to a postgres interval + + + + + EventArgs class to send Notification parameters. + + + + + Process ID of the PostgreSQL backend that sent this notification. + + + + + Condition that triggered that notification. + + + + + Additional Information From Notifiying Process (for future use, currently postgres always sets this to an empty string) + + + + + Resolve a host name or IP address. + This is needed because if you call Dns.Resolve() with an IP address, it will attempt + to resolve it as a host name, when it should just convert it to an IP address. + + + + + + This class represents a RowDescription message sent from + the PostgreSQL. + + + + + + This struct represents the internal data of the RowDescription message. + + + + + This class represents the Parse message sent to PostgreSQL + server. + + + + + + A factory to create instances of various Npgsql objects. + + + + + Creates an NpgsqlCommand object. + + + + + This class represents the Parse message sent to PostgreSQL + server. + + + + + + Represents the method that handles the RowUpdated events. + + The source of the event. + A NpgsqlRowUpdatedEventArgs that contains the event data. + + + + Represents the method that handles the RowUpdating events. + + The source of the event. + A NpgsqlRowUpdatingEventArgs that contains the event data. + + + + This class represents an adapter from many commands: select, update, insert and delete to fill Datasets. + + + + + Stream for reading data from a table or select on a PostgreSQL version 7.4 or newer database during an active COPY TO STDOUT operation. + Passes data exactly as provided by the server. + + + + + Created only by NpgsqlCopyOutState.StartCopy() + + + + + Discards copy data as long as server pushes it. Returns after operation is finished. + Does nothing if this stream is not the active copy operation reader. + + + + + Not writable. + + + + + Not flushable. + + + + + Copies data read from server to given byte buffer. + Since server returns data row by row, length will differ each time, but it is only zero once the operation ends. + Can be mixed with calls to the more efficient NpgsqlCopyOutStream.Read() : byte[] though that would not make much sense. + + + + + Not seekable + + + + + Not supported + + + + + Returns a whole row of data from server without extra work. + If standard Stream.Read(...) has been called before, it's internal buffers remains are returned. + + + + + True while this stream can be used to read copy data from server + + + + + True + + + + + False + + + + + False + + + + + Number of bytes read so far + + + + + Number of bytes read so far; can not be set. + + + + + This class represents the Bind message sent to PostgreSQL + server. + + + + + + Summary description for LargeObjectManager. + + + + + Represents a transaction to be made in a PostgreSQL database. This class cannot be inherited. + + + + + Commits the database transaction. + + + + + Rolls back a transaction from a pending state. + + + + + Rolls back a transaction from a pending savepoint state. + + + + + Creates a transaction save point. + + + + + Cancel the transaction without telling the backend about it. This is + used to make the transaction go away when closing a connection. + + + + + Gets the NpgsqlConnection + object associated with the transaction, or a null reference if the + transaction is no longer valid. + + The NpgsqlConnection + object associated with the transaction. + + + + Specifies the IsolationLevel for this transaction. + + The IsolationLevel for this transaction. + The default is ReadCommitted. + + + + This class represents a StartupPacket message of PostgreSQL + protocol. + + + + + + Provides a means of reading a forward-only stream of rows from a PostgreSQL backend. This class cannot be inherited. + + + + + Return the data type name of the column at index . + + + + + Return the data type of the column at index . + + + + + Return the Npgsql specific data type of the column at requested ordinal. + + column position + Appropriate Npgsql type for column. + + + + Return the column name of the column at index . + + + + + Return the data type OID of the column at index . + + FIXME: Why this method returns String? + + + + Return the column name of the column named . + + + + + Return the data DbType of the column at index . + + + + + Return the data NpgsqlDbType of the column at index . + + + + + Get the value of a column as a . + If the differences between and + in handling of days and months is not important to your application, use + instead. + + Index of the field to find. + value of the field. + + + + Gets the value of a column converted to a Guid. + + + + + Gets the value of a column as Int16. + + + + + Gets the value of a column as Int32. + + + + + Gets the value of a column as Int64. + + + + + Gets the value of a column as Single. + + + + + Gets the value of a column as Double. + + + + + Gets the value of a column as String. + + + + + Gets the value of a column as Decimal. + + + + + Gets the value of a column as TimeSpan. + + + + + Copy values from each column in the current row into . + + The number of column values copied. + + + + Copy values from each column in the current row into . + + An array appropriately sized to store values from all columns. + The number of column values copied. + + + + Gets the value of a column as Boolean. + + + + + Gets the value of a column as Byte. Not implemented. + + + + + Gets the value of a column as Char. + + + + + Gets the value of a column as DateTime. + + + + + Returns a System.Data.DataTable that describes the column metadata of the DataReader. + + + + + This methods parses the command text and tries to get the tablename + from it. + + + + + Is raised whenever Close() is called. + + + + + Gets the number of columns in the current row. + + + + + Gets the value of a column in its native format. + + + + + Gets the value of a column in its native format. + + + + + Gets a value indicating the depth of nesting for the current row. Always returns zero. + + + + + Gets a value indicating whether the data reader is closed. + + + + + Contains the column names as the keys + + + + + Contains all unique columns + + + + + This is the primary implementation of NpgsqlDataReader. It is the one used in normal cases (where the + preload-reader option is not set in the connection string to resolve some potential backwards-compatibility + issues), the only implementation used internally, and in cases where CachingDataReader is used, it is still + used to do the actual "leg-work" of turning a response stream from the server into a datareader-style + object - with CachingDataReader then filling it's cache from here. + + + + + Iterate through the objects returned through from the server. + If it's a CompletedResponse the rowsaffected count is updated appropriately, + and we iterate again, otherwise we return it (perhaps updating our cache of pending + rows if appropriate). + + The next we will deal with. + + + + Advances the data reader to the next result, when multiple result sets were returned by the PostgreSQL backend. + + True if the reader was advanced, otherwise false. + + + + Releases the resources used by the NpgsqlCommand. + + + + + Closes the data reader object. + + + + + Advances the data reader to the next result, when multiple result sets were returned by the PostgreSQL backend. + + True if the reader was advanced, otherwise false. + + + + Advances the data reader to the next row. + + True if the reader was advanced, otherwise false. + + + + Return the value of the column at index . + + + + + Gets raw data from a column. + + + + + Gets raw data from a column. + + + + + Report whether the value in a column is DBNull. + + + + + Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. + + + + + Indicates if NpgsqlDatareader has rows to be read. + + + + + Provides an implementation of NpgsqlDataReader in which all data is pre-loaded into memory. + This operates by first creating a ForwardsOnlyDataReader as usual, and then loading all of it's + Rows into memory. There is a general principle that when there is a trade-off between a class design that + is more efficient and/or scalable on the one hand and one that is less efficient but has more functionality + (in this case the internal-only functionality of caching results) that one can build the less efficent class + from the most efficient without significant extra loss in efficiency, but not the other way around. The relationship + between ForwardsOnlyDataReader and CachingDataReader is an example of this). + Since the interface presented to the user is still forwards-only, queues are used to + store this information, so that dequeueing as we go we give the garbage collector the best opportunity + possible to reclaim any memory that is no longer in use. + ForwardsOnlyDataReader being used to actually + obtain the information from the server means that the "leg-work" is still only done (and need only be + maintained) in one place. + This class exists to allow for certain potential backwards-compatibility issues to be resolved + with little effort on the part of affected users. It is considerably less efficient than ForwardsOnlyDataReader + and hence never used internally. + + + + + Represents the method that allows the application to provide a certificate collection to be used for SSL clien authentication + + A X509CertificateCollection to be filled with one or more client certificates. + + + + !!! Helper class, for compilation only. + Connector implements the logic for the Connection Objects to + access the physical connection to the database, and isolate + the application developer from connection pooling internals. + + + + + Constructor. + + Controls whether the connector can be shared. + + + + This method checks if the connector is still ok. + We try to send a simple query text, select 1 as ConnectionTest; + + + + + This method is responsible for releasing all resources associated with this Connector. + + + + + This method is responsible to release all portals used by this Connector. + + + + + Default SSL CertificateSelectionCallback implementation. + + + + + Default SSL CertificateValidationCallback implementation. + + + + + Default SSL PrivateKeySelectionCallback implementation. + + + + + Default SSL ProvideClientCertificatesCallback implementation. + + + + + This method is required to set all the version dependent features flags. + SupportsPrepare means the server can use prepared query plans (7.3+) + + + + + Opens the physical connection to the server. + + Usually called by the RequestConnector + Method of the connection pool manager. + + + + Closes the physical connection to the server. + + + + + Returns next portal index. + + + + + Returns next plan index. + + + + + Occurs on NoticeResponses from the PostgreSQL backend. + + + + + Occurs on NotificationResponses from the PostgreSQL backend. + + + + + Called to provide client certificates for SSL handshake. + + + + + Mono.Security.Protocol.Tls.CertificateSelectionCallback delegate. + + + + + Mono.Security.Protocol.Tls.CertificateValidationCallback delegate. + + + + + Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate. + + + + + Gets the current state of the connection. + + + + + Return Connection String. + + + + + Version of backend server this connector is connected to. + + + + + Backend protocol version in use by this connector. + + + + + The physical connection stream to the backend. + + + + + The physical connection socket to the backend. + + + + + Reports if this connector is fully connected. + + + + + The connection mediator. + + + + + Report if the connection is in a transaction. + + + + + Report whether the current connection can support prepare functionality. + + + + + This class contains helper methods for type conversion between + the .Net type system and postgresql. + + + + + A cache of basic datatype mappings keyed by server version. This way we don't + have to load the basic type mappings for every connection. + + + + + Find a NpgsqlNativeTypeInfo in the default types map that can handle objects + of the given NpgsqlDbType. + + + + + Find a NpgsqlNativeTypeInfo in the default types map that can handle objects + of the given NpgsqlDbType. + + + + + Find a NpgsqlNativeTypeInfo in the default types map that can handle objects + of the given DbType. + + + + + Find a NpgsqlNativeTypeInfo in the default types map that can handle objects + of the given System.Type. + + + + + This method is responsible to convert the string received from the backend + to the corresponding NpgsqlType. + The given TypeInfo is called upon to do the conversion. + If no TypeInfo object is provided, no conversion is performed. + + + + + Create the one and only native to backend type map. + This map is used when formatting native data + types to backend representations. + + + + + This method creates (or retrieves from cache) a mapping between type and OID + of all natively supported postgresql data types. + This is needed as from one version to another, this mapping can be changed and + so we avoid hardcoding them. + + NpgsqlTypeMapping containing all known data types. The mapping must be + cloned before it is modified because it is cached; changes made by one connection may + effect another connection. + + + + Attempt to map types by issuing a query against pg_type. + This function takes a list of NpgsqlTypeInfo and attempts to resolve the OID field + of each by querying pg_type. If the mapping is found, the type info object is + updated (OID) and added to the provided NpgsqlTypeMapping object. + + NpgsqlConnector to send query through. + Mapping object to add types too. + List of types that need to have OID's mapped. + + + + Delegate called to convert the given backend data to its native representation. + + + + + Delegate called to convert the given native data to its backand representation. + + + + + Represents a backend data type. + This class can be called upon to convert a backend field representation to a native object. + + + + + Construct a new NpgsqlTypeInfo with the given attributes and conversion handlers. + + Type OID provided by the backend server. + Type name provided by the backend server. + NpgsqlDbType + System type to convert fields of this type to. + Data conversion handler. + + + + Perform a data conversion from a backend representation to + a native object. + + Data sent from the backend. + Type modifier field sent from the backend. + + + + Type OID provided by the backend server. + + + + + Type name provided by the backend server. + + + + + NpgsqlDbType. + + + + + NpgsqlDbType. + + + + + Provider type to convert fields of this type to. + + + + + System type to convert fields of this type to. + + + + + Represents a backend data type. + This class can be called upon to convert a native object to its backend field representation, + + + + + Returns an NpgsqlNativeTypeInfo for an array where the elements are of the type + described by the NpgsqlNativeTypeInfo supplied. + + + + + Construct a new NpgsqlTypeInfo with the given attributes and conversion handlers. + + Type name provided by the backend server. + NpgsqlDbType + Data conversion handler. + + + + Perform a data conversion from a native object to + a backend representation. + DBNull and null values are handled differently depending if a plain query is used + When + + Native .NET object to be converted. + Flag indicating if the conversion has to be done for + plain queries or extended queries + + + + Type name provided by the backend server. + + + + + NpgsqlDbType. + + + + + DbType. + + + + + Apply quoting. + + + + + Use parameter size information. + + + + + Provide mapping between type OID, type name, and a NpgsqlBackendTypeInfo object that represents it. + + + + + Construct an empty mapping. + + + + + Copy constuctor. + + + + + Add the given NpgsqlBackendTypeInfo to this mapping. + + + + + Add a new NpgsqlBackendTypeInfo with the given attributes and conversion handlers to this mapping. + + Type OID provided by the backend server. + Type name provided by the backend server. + NpgsqlDbType + System type to convert fields of this type to. + Data conversion handler. + + + + Make a shallow copy of this type mapping. + + + + + Determine if a NpgsqlBackendTypeInfo with the given backend type OID exists in this mapping. + + + + + Determine if a NpgsqlBackendTypeInfo with the given backend type name exists in this mapping. + + + + + Get the number of type infos held. + + + + + Retrieve the NpgsqlBackendTypeInfo with the given backend type OID, or null if none found. + + + + + Retrieve the NpgsqlBackendTypeInfo with the given backend type name, or null if none found. + + + + + Provide mapping between type Type, NpgsqlDbType and a NpgsqlNativeTypeInfo object that represents it. + + + + + Add the given NpgsqlNativeTypeInfo to this mapping. + + + + + Add a new NpgsqlNativeTypeInfo with the given attributes and conversion handlers to this mapping. + + Type name provided by the backend server. + NpgsqlDbType + Data conversion handler. + + + + Retrieve the NpgsqlNativeTypeInfo with the given NpgsqlDbType. + + + + + Retrieve the NpgsqlNativeTypeInfo with the given DbType. + + + + + Retrieve the NpgsqlNativeTypeInfo with the given Type. + + + + + Determine if a NpgsqlNativeTypeInfo with the given backend type name exists in this mapping. + + + + + Determine if a NpgsqlNativeTypeInfo with the given NpgsqlDbType exists in this mapping. + + + + + Determine if a NpgsqlNativeTypeInfo with the given Type name exists in this mapping. + + + + + Get the number of type infos held. + + + + + Implements for version 3 of the protocol. + + + + + Reads a row, field by field, allowing a DataRow to be built appropriately. + + + + + Reads part of a field, as needed (for + and + + + + + Adds further functionality to stream that is dependant upon the type of data read. + + + + + Completes the implementation of Streamer for char data. + + + + + Completes the implementation of Streamer for byte data. + + + + + Implements for version 2 of the protocol. + + + + + Encapsulates the null mapping bytes sent at the start of a version 2 + datarow message, and the process of identifying the nullity of the data + at a particular index + + + + + Provides the underlying mechanism for reading schema information. + + + + + Creates an NpgsqlSchema that can read schema information from the database. + + An open database connection for reading metadata. + + + + Returns the MetaDataCollections that lists all possible collections. + + The MetaDataCollections + + + + Returns the Restrictions that contains the meaning and position of the values in the restrictions array. + + The Restrictions + + + + Returns the Databases that contains a list of all accessable databases. + + The restrictions to filter the collection. + The Databases + + + + Returns the Tables that contains table and view names and the database and schema they come from. + + The restrictions to filter the collection. + The Tables + + + + Returns the Columns that contains information about columns in tables. + + The restrictions to filter the collection. + The Columns. + + + + Returns the Views that contains view names and the database and schema they come from. + + The restrictions to filter the collection. + The Views + + + + Returns the Users containing user names and the sysid of those users. + + The restrictions to filter the collection. + The Users. + + + + This is the abstract base class for NpgsqlAsciiRow and NpgsqlBinaryRow. + + + + + Implements a bit string; a collection of zero or more bits which can each be 1 or 0. + BitString's behave as a list of bools, though like most strings and unlike most collections the position + tends to be of as much significance as the value. + BitStrings are often used as masks, and are commonly cast to and from other values. + + + + + Represents the empty string. + + + + + Create a BitString from an enumeration of boolean values. The BitString will contain + those booleans in the order they came in. + + The boolean values. + + + + Creates a BitString filled with a given number of true or false values. + + The value to fill the string with. + The number of bits to fill. + + + + Creats a bitstring from a string. + The string to copy from. + + + + + + Creates a single-bit element from a boolean value. + + The bool value which determines whether + the bit is 1 or 0. + + + + Creates a bitstring from an unsigned integer value. The string will be the shortest required to + contain the integer (e.g. 1 bit for 0 or 1, 2 for 2 or 3, 3 for 4-7, and so on). + + The integer. + This method is not CLS Compliant, and may not be available to some languages. + + + + Creates a bitstring from an integer value. The string will be the shortest required to + contain the integer (e.g. 1 bit for 0 or 1, 2 for 2 or 3, 3 for 4-7, and so on). + + The integer. + + + + Finds the first instance of a given value + + The value - whether true or false - to search for. + The index of the value found, or -1 if none are present. + + + + True if there is at least one bit with the value looked for. + + The value - true or false - to detect. + True if at least one bit was the same as item, false otherwise. + + + + Copies the bitstring to an array of bools. + + The boolean array to copy to. + The index in the array to start copying from. + + + + Returns an enumerator that enumerates through the string. + + The enumerator. + + + + Creats a bitstring by concatenating another onto this one. + + The string to append to this one. + The combined strings. + + + + Returns a substring of this string. + + The position to start from, must be between 0 and the length of the string. + The length of the string to return, must be greater than zero, and may not be + so large that the start + length exceeds the bounds of this instance. + The Bitstring identified + + + + Returns a substring of this string. + + The position to start from, must be between 0 and the length of the string, + the rest of the string is returned. + The Bitstring identified + + + + A logical and between this string and another. The two strings must be the same length. + + Another BitString to AND with this one. + A bitstring with 1 where both BitStrings had 1 and 0 otherwise. + + + + A logical or between this string and another. The two strings must be the same length. + + Another BitString to OR with this one. + A bitstring with 1 where either BitString had 1 and 0 otherwise. + + + + A logical xor between this string and another. The two strings must be the same length. + + Another BitString to XOR with this one. + A bitstring with 1 where one BitStrings and the other had 0, + and 0 where they both had 1 or both had 0. + + + + A bitstring that is the logical inverse of this one. + + A bitstring of the same length as this with 1 where this has 0 and vice-versa. + + + + Shifts the string operand bits to the left, filling with zeros to produce a + string of the same length. + + The number of bits to shift to the left. + A left-shifted bitstring. + The behaviour of LShift is closer to what one would expect from dealing + with PostgreSQL bit-strings than in using the same operations on integers in .NET + In particular, negative operands result in a right-shift, and operands greater than + the length of the string will shift it entirely, resulting in a zero-filled string. + + + + + Shifts the string operand bits to the right, filling with zeros to produce a + string of the same length. + + The number of bits to shift to the right. + A right-shifted bitstring. + The behaviour of RShift is closer to what one would expect from dealing + with PostgreSQL bit-strings than in using the same operations on integers in .NET + In particular, negative operands result in a left-shift, and operands greater than + the length of the string will shift it entirely, resulting in a zero-filled string. It also performs + a logical shift, rather than an arithmetic shift, so it always sets the vacated bit positions to zero + (like PostgreSQL and like .NET for unsigned integers but not for signed integers). + + + + + Returns true if the this string is identical to the argument passed. + + + + + Compares two strings. Strings are compared as strings, so while 0 being less than 1 will + mean a comparison between two strings of the same size is the same as treating them as numbers, + in the case of two strings of differing lengths the comparison starts at the right-most (most significant) + bit, and if all bits of the shorter string are exhausted without finding a comparison, then the larger + string is deemed to be greater than the shorter (0010 is greater than 0001 but less than 00100). + + Another string to compare with this one. + A value if the two strings are identical, an integer less + than zero if this is less than the argument, and an integer greater + than zero otherwise. + + + + Compares the string with another object. + + The object to compare with. + If the object is null then this string is considered greater. If the object is another BitString + then they are compared as in the explicit comparison for BitStrings + in any other case a is thrown. + + + + Compares this BitString with an object for equality. + + + + + Returns a code for use in hashing operations. + + + + + Returns a string representation of the BitString. + + + A string which can contain a letter and optionally a number which sets a minimum size for the string + returned. In each case using the lower-case form of the letter will result in a lower-case string + being returned. + + + B + A string of 1s and 0s. + + + X + An hexadecimal string (will result in an error unless the string's length is divisible by 4). + + + G + A string of 1s and 0s in single-quotes preceded by 'B' (Postgres bit string literal syntax). + + Y + An hexadecimal string in single-quotes preceded by 'X' (Postgres bit literal syntax, will result in an error unless the string's length is divisible by 4. + + C + The format produced by format-string "Y" if legal, otherwise that produced by format-string "G". + E + The most compact safe representation for Postgres. If single bit will be either a 0 or a 1. Otherwise if it + can be that produce by format string "Y" it will, otherwise if there are less than 9bits in length it will be that + produced by format-string "G". For longer strings that cannot be represented in hexadecimal it will be a string + representing the first part of the string in format "Y" followed by the PostgreSQL concatenation operator, followed + by the final bits in the format "G". E.g. "X'13DCE'||B'110'" + If format is empty or null, it is treated as if "B" had been passed (the default repreesentation, and that + generally used by PostgreSQL for display). + + The formatted string. + + + + Returns a string representation for the Bitstring + + A string containing '0' and '1' characters. + + + + Returns the same string as . formatProvider is ignored. + + + + + Parses a string to produce a BitString. Most formats that can be produced by + can be accepted, but hexadecimal + can be interpreted with the preceding X' to mark the following characters as + being hexadecimal rather than binary. + + + + + Performs a logical AND on the two operands. + + + + + Performs a logcial OR on the two operands. + + + + + Perofrms a logical EXCLUSIVE-OR on the two operands + + + + + Performs a logical NOT on the operand. + + + + + Concatenates the operands. + + + + + Left-shifts the string BitString. + + + + + Right-shifts the string BitString. + + + + + Compares the two operands. + + + + + Compares the two operands. + + + + + Compares the two operands. + + + + + Compares the two operands. + + + + + Compares the two operands. + + + + + Compares the two operands. + + + + + Interprets the bitstring as a series of bits in an encoded character string, + encoded according to the Encoding passed, and returns that string. + The bitstring must contain a whole number of octets(bytes) and also be + valid according to the Encoding passed. + + The to use in producing the string. + The string that was encoded in the BitString. + + + + Interprets the bitstring as a series of octets (bytes) and returns those octets. Fails + if the Bitstring does not contain a whole number of octets (its length is not evenly + divisible by 8). + + + + + Interprets the bitstring as a series of signed octets (bytes) and returns those octets. Fails + if the Bitstring does not contain a whole number of octets (its length is not evenly + divisible by 8). + This method is not CLS-Compliant and may not be available to languages that cannot + handle signed bytes. + + + + + Interprets the bitstring as a series of unsigned 16-bit integers and returns those integers. + Fails if the Bitstring's length is not evenly divisible by 16. + This method is not CLS-Compliant and may not be available to languages that cannot + handle unsigned integers. + + + + + Interprets the bitstring as a series of 16-bit integers and returns those integers. + Fails if the Bitstring's length is not evenly divisible by 16. + + + + + Interprets the bitstring as a series of unsigned 32-bit integers and returns those integers. + Fails if the Bitstring's length is not evenly divisible by 32. + This method is not CLS-Compliant and may not be available to languages that cannot + handle unsigned integers. + + + + + Interprets the bitstring as a series of signed 32-bit integers and returns those integers. + Fails if the Bitstring's length is not evenly divisible by 32. + + + + + Interprets the bitstring as a series of unsigned 64-bit integers and returns those integers. + Fails if the Bitstring's length is not evenly divisible by 64. + This method is not CLS-Compliant and may not be available to languages that cannot + handle unsigned integers. + + + + + Interprets the bitstring as a series of signed 64-bit integers and returns those integers. + Fails if the Bitstring's length is not evenly divisible by 64. + + + + + The length of the string. + + + + + Retrieves the value of the bit at the given index. + + + + + C# implementation of the MD5 cryptographic hash function. + + + + + Creates a new MD5CryptoServiceProvider. + + + + + Drives the hashing function. + + Byte array containing the data to hash. + Where in the input buffer to start. + Size in bytes of the data in the buffer to hash. + + + + This finalizes the hash. Takes the data from the chaining variables and returns it. + + + + + Resets the class after use. Called automatically after hashing is done. + + + + + This is the meat of the hash function. It is what processes each block one at a time. + + Byte array to process data from. + Where in the byte array to start processing. + + + + Pads and then processes the final block. + + Buffer to grab data from. + Position in buffer in bytes to get data from. + How much data in bytes in the buffer to use. + + + + Stream for writing data to a table on a PostgreSQL version 7.4 or newer database during an active COPY FROM STDIN operation. + Passes data exactly as is and when given, so see to it that you use server encoding, correct format and reasonably sized writes! + + + + + Created only by NpgsqlCopyInState.StartCopy() + + + + + Successfully completes copying data to server. Returns after operation is finished. + Does nothing if this stream is not the active copy operation writer. + + + + + Withdraws an already started copy operation. The operation will fail with given error message. + Does nothing if this stream is not the active copy operation writer. + + + + + Writes given bytes to server. + Fails if this stream is not the active copy operation writer. + + + + + Flushes stream contents to server. + Fails if this stream is not the active copy operation writer. + + + + + Not readable + + + + + Not seekable + + + + + Not supported + + + + + True while this stream can be used to write copy data to server + + + + + False + + + + + True + + + + + False + + + + + Number of bytes written so far + + + + + Number of bytes written so far; not settable + + + + + Represents a SQL statement or function (stored procedure) to execute + against a PostgreSQL database. This class cannot be inherited. + + + + + Initializes a new instance of the NpgsqlCommand class. + + + + + Initializes a new instance of the NpgsqlCommand class with the text of the query. + + The text of the query. + + + + Initializes a new instance of the NpgsqlCommand class with the text of the query and a NpgsqlConnection. + + The text of the query. + A NpgsqlConnection that represents the connection to a PostgreSQL server. + + + + Initializes a new instance of the NpgsqlCommand class with the text of the query, a NpgsqlConnection, and the NpgsqlTransaction. + + The text of the query. + A NpgsqlConnection that represents the connection to a PostgreSQL server. + The NpgsqlTransaction in which the NpgsqlCommand executes. + + + + Used to execute internal commands. + + + + + Attempts to cancel the execution of a NpgsqlCommand. + + This Method isn't implemented yet. + + + + Create a new command based on this one. + + A new NpgsqlCommand object. + + + + Create a new command based on this one. + + A new NpgsqlCommand object. + + + + Creates a new instance of an DbParameter object. + + An DbParameter object. + + + + Creates a new instance of a NpgsqlParameter object. + + A NpgsqlParameter object. + + + + Slightly optimised version of ExecuteNonQuery() for internal ues in cases where the number + of affected rows is of no interest. + + + + + Executes a SQL statement against the connection and returns the number of rows affected. + + The number of rows affected if known; -1 otherwise. + + + + Sends the CommandText to + the Connection and builds a + NpgsqlDataReader + using one of the CommandBehavior values. + + One of the CommandBehavior values. + A NpgsqlDataReader object. + + + + Sends the CommandText to + the Connection and builds a + NpgsqlDataReader. + + A NpgsqlDataReader object. + + + + Sends the CommandText to + the Connection and builds a + NpgsqlDataReader + using one of the CommandBehavior values. + + One of the CommandBehavior values. + A NpgsqlDataReader object. + Currently the CommandBehavior parameter is ignored. + + + + This method binds the parameters from parameters collection to the bind + message. + + + + + Executes the query, and returns the first column of the first row + in the result set returned by the query. Extra columns or rows are ignored. + + The first column of the first row in the result set, + or a null reference if the result set is empty. + + + + Creates a prepared version of the command on a PostgreSQL server. + + + + + This method checks the connection state to see if the connection + is set or it is open. If one of this conditions is not met, throws + an InvalidOperationException + + + + + This method substitutes the Parameters, if exist, in the command + to their actual values. + The parameter name format is :ParameterName. + + A version of CommandText with the Parameters inserted. + + + + Gets or sets the SQL statement or function (stored procedure) to execute at the data source. + + The Transact-SQL statement or stored procedure to execute. The default is an empty string. + + + + Gets or sets the wait time before terminating the attempt + to execute a command and generating an error. + + The time (in seconds) to wait for the command to execute. + The default is 20 seconds. + + + + Gets or sets a value indicating how the + CommandText property is to be interpreted. + + One of the CommandType values. The default is CommandType.Text. + + + + Gets or sets the NpgsqlConnection + used by this instance of the NpgsqlCommand. + + The connection to a data source. The default value is a null reference. + + + + Gets the NpgsqlParameterCollection. + + The parameters of the SQL statement or function (stored procedure). The default is an empty collection. + + + + Gets or sets the NpgsqlTransaction + within which the NpgsqlCommand executes. + + The NpgsqlTransaction. + The default value is a null reference. + + + + Gets or sets how command results are applied to the DataRow + when used by the Update + method of the DbDataAdapter. + + One of the UpdateRowSource values. + + + + Returns oid of inserted row. This is only updated when using executenonQuery and when command inserts just a single row. If table is created without oids, this will always be 0. + + + + + Represents a collection of parameters relevant to a NpgsqlCommand + as well as their respective mappings to columns in a DataSet. + This class cannot be inherited. + + + + + Initializes a new instance of the NpgsqlParameterCollection class. + + + + + Adds the specified NpgsqlParameter object to the NpgsqlParameterCollection. + + The NpgsqlParameter to add to the collection. + The index of the new NpgsqlParameter object. + + + + Adds a NpgsqlParameter to the NpgsqlParameterCollection given the specified parameter name and value. + + The name of the NpgsqlParameter. + The Value of the NpgsqlParameter to add to the collection. + The index of the new NpgsqlParameter object. + + Use caution when using this overload of the + Add method to specify integer parameter values. + Because this overload takes a value of type Object, + you must convert the integral value to an Object + type when the value is zero, as the following C# example demonstrates. + parameters.Add(":pname", Convert.ToInt32(0)); + If you do not perform this conversion, the compiler will assume you + are attempting to call the NpgsqlParameterCollection.Add(string, DbType) overload. + + + + + Adds a NpgsqlParameter to the NpgsqlParameterCollection given the parameter name and the data type. + + The name of the parameter. + One of the DbType values. + The index of the new NpgsqlParameter object. + + + + Adds a NpgsqlParameter to the NpgsqlParameterCollection with the parameter name, the data type, and the column length. + + The name of the parameter. + One of the DbType values. + The length of the column. + The index of the new NpgsqlParameter object. + + + + Adds a NpgsqlParameter to the NpgsqlParameterCollection with the parameter name, the data type, the column length, and the source column name. + + The name of the parameter. + One of the DbType values. + The length of the column. + The name of the source column. + The index of the new NpgsqlParameter object. + + + + Removes the specified NpgsqlParameter from the collection using the parameter name. + + The name of the NpgsqlParameter object to retrieve. + + + + Gets a value indicating whether a NpgsqlParameter with the specified parameter name exists in the collection. + + The name of the NpgsqlParameter object to find. + true if the collection contains the parameter; otherwise, false. + + + + Gets the location of the NpgsqlParameter in the collection with a specific parameter name. + + The name of the NpgsqlParameter object to find. + The zero-based location of the NpgsqlParameter in the collection. + + + + Removes the specified NpgsqlParameter from the collection using a specific index. + + The zero-based index of the parameter. + + + + Inserts a NpgsqlParameter into the collection at the specified index. + + The zero-based index where the parameter is to be inserted within the collection. + The NpgsqlParameter to add to the collection. + + + + Removes the specified NpgsqlParameter from the collection. + + The NpgsqlParameter to remove from the collection. + + + + Gets a value indicating whether a NpgsqlParameter exists in the collection. + + The value of the NpgsqlParameter object to find. + true if the collection contains the NpgsqlParameter object; otherwise, false. + + + + Gets a value indicating whether a NpgsqlParameter with the specified parameter name exists in the collection. + + The name of the NpgsqlParameter object to find. + A reference to the requested parameter is returned in this out param if it is found in the list. This value is null if the parameter is not found. + true if the collection contains the parameter and param will contain the parameter; otherwise, false. + + + + Removes all items from the collection. + + + + + Gets the location of a NpgsqlParameter in the collection. + + The value of the NpgsqlParameter object to find. + The zero-based index of the NpgsqlParameter object in the collection. + + + + Adds the specified NpgsqlParameter object to the NpgsqlParameterCollection. + + The NpgsqlParameter to add to the collection. + The zero-based index of the new NpgsqlParameter object. + + + + Copies NpgsqlParameter objects from the NpgsqlParameterCollection to the specified array. + + An Array to which to copy the NpgsqlParameter objects in the collection. + The starting index of the array. + + + + Returns an enumerator that can iterate through the collection. + + An IEnumerator that can be used to iterate through the collection. + + + + In methods taking an object as argument this method is used to verify + that the argument has the type NpgsqlParameter + + The object to verify + + + + Gets the NpgsqlParameter with the specified name. + + The name of the NpgsqlParameter to retrieve. + The NpgsqlParameter with the specified name, or a null reference if the parameter is not found. + + + + Gets the NpgsqlParameter at the specified index. + + The zero-based index of the NpgsqlParameter to retrieve. + The NpgsqlParameter at the specified index. + + + + Gets the number of NpgsqlParameter objects in the collection. + + The number of NpgsqlParameter objects in the collection. + + + + Represents an ongoing COPY FROM STDIN operation. + Provides methods to push data to server and end or cancel the operation. + + + + + Called from NpgsqlState.ProcessBackendResponses upon CopyInResponse. + If CopyStream is already set, it is used to read data to push to server, after which the copy is completed. + Otherwise CopyStream is set to a writable NpgsqlCopyInStream that calls SendCopyData each time it is written to. + + + + + Sends given packet to server as a CopyData message. + Does not check for notifications! Use another thread for that. + + + + + Sends CopyDone message to server. Handles responses, ie. may throw an exception. + + + + + Sends CopyFail message to server. Handles responses, ie. should always throw an exception: + in CopyIn state the server responds to CopyFail with an error response; + outside of a CopyIn state the server responds to CopyFail with an error response; + without network connection or whatever, there's going to eventually be a failure, timeout or user intervention. + + + + + Copy format information returned from server. + + + + + Represents a PostgreSQL Point type + + + + + Represents a PostgreSQL Line Segment type. + + + + + Represents a PostgreSQL Path type. + + + + + Represents a PostgreSQL Polygon type. + + + + + Represents a PostgreSQL Circle type. + + + + + Represents a PostgreSQL inet type. + + + + + Represents a PostgreSQL MacAddress type. + + + + + + + The macAddr parameter must contain a string that can only consist of numbers + and upper-case letters as hexadecimal digits. (See PhysicalAddress.Parse method on MSDN) + + + + This class represents a PasswordPacket message sent to backend + PostgreSQL. + + +
+
diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 8fe6d0c..2ad262a 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -126,6 +126,15 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; GatekeeperURI = "http://127.0.0.1:8002" [DatabaseService] + ; PGSQL + ; Uncomment these lines if you want to use PGSQL storage + ; Change the connection string to your db details + ;StorageProvider = "OpenSim.Data.PGSQL.dll" + ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" + + ; MySQL + ; Uncomment these lines if you want to use MySQL storage + ; Change the connection string to your db details StorageProvider = "OpenSim.Data.MySQL.dll" ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 74c208d..6a84574 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -88,6 +88,15 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ;ConsolePort = 0 [DatabaseService] + ; PGSQL + ; Uncomment these lines if you want to use PGSQL storage + ; Change the connection string to your db details + ;StorageProvider = "OpenSim.Data.PGSQL.dll" + ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" + + ; MySQL + ; Uncomment these lines if you want to use MySQL storage + ; Change the connection string to your db details StorageProvider = "OpenSim.Data.MySQL.dll" ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;" diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index 0a69dbf..5460c0a 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -26,6 +26,12 @@ ;StorageProvider = "OpenSim.Data.MSSQL.dll" ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;" + ; PGSQL + ; Uncomment these lines if you want to use PGSQL storage + ; Change the connection string to your db details + ;StorageProvider = "OpenSim.Data.PGSQL.dll" + ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" + [Hypergrid] ; Uncomment the variables in this section only if you are in ; Hypergrid configuration. Otherwise, ignore. diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index 75fd956..ef4fb3c 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -27,6 +27,12 @@ ;StorageProvider = "OpenSim.Data.MSSQL.dll" ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;" + ; PGSQL + ; Uncomment these lines if you want to use PGSQL storage + ; Change the connection string to your db details + ;StorageProvider = "OpenSim.Data.PGSQL.dll" + ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" + [Hypergrid] ; Uncomment the variables in this section only if you are in ; Hypergrid configuration. Otherwise, ignore. -- cgit v1.1 From daf44cc65ed8e2a0158d42011ec8cbeef105d580 Mon Sep 17 00:00:00 2001 From: Michael Cerquoni Date: Sat, 12 Oct 2013 20:47:10 -0400 Subject: fix missing " for variable SRV_IMServerURI in example file --- bin/config-include/StandaloneCommon.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index ef4fb3c..a368bb8 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -123,7 +123,7 @@ SRV_AssetServerURI = "http://127.0.0.1:9000" SRV_ProfileServerURI = "http://127.0.0.1:9000" SRV_FriendsServerURI = "http://127.0.0.1:9000" - SRV_IMServerURI = "http://127.0.0.1:9000 + SRV_IMServerURI = "http://127.0.0.1:9000" ;; For Viewer 2 MapTileURL = "http://127.0.0.1:9000/" -- cgit v1.1 From dbdcf2d995012f17c7948e0ac78bee5fcbbaa300 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Mon, 14 Oct 2013 23:58:12 +0100 Subject: Remove to re-add with version information for future reference --- bin/Npgsql.dll | Bin 413184 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bin/Npgsql.dll (limited to 'bin') diff --git a/bin/Npgsql.dll b/bin/Npgsql.dll deleted file mode 100644 index 24ca4bd..0000000 Binary files a/bin/Npgsql.dll and /dev/null differ -- cgit v1.1 From a27c2432bb7d41d919a96bd44f42fb3154da6d64 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Mon, 14 Oct 2013 23:59:49 +0100 Subject: This is Npgsql2.0.12.0-bin-ms-net3.5sp1 From http://pgfoundry.org/frs/download.php/3354/Npgsql2.0.12.0-bin-ms.net3.5sp1.zip This is identical to the version added in ff8a7682, removed and readded to check and record version --- bin/Npgsql.dll | Bin 0 -> 413184 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 bin/Npgsql.dll (limited to 'bin') diff --git a/bin/Npgsql.dll b/bin/Npgsql.dll new file mode 100644 index 0000000..24ca4bd Binary files /dev/null and b/bin/Npgsql.dll differ -- cgit v1.1 From acfe603a5fb2db84534f97e5f7cee3e49178279b Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 15 Oct 2013 23:24:49 +0100 Subject: As discussed on many previous occasions, switch the default physics engine in OpenSimulator from OpenDynamicsEngine to BulletSim. The BulletSim plugin is higher performance and has a better implementation of vehicles amongst other things. Many thanks to Robert Adams for making this possible with the enormous amount of work that he has done on this plugin. If you want to continue using ODE, set physics = OpenDynamicsEngine in the [Startup] section of OpenSim.ini --- bin/OpenSimDefaults.ini | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index c090306..b56d5d1 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -229,14 +229,13 @@ ;CacheSculptMaps = true ; Choose one of the physics engines below. - ; OpenDynamicsEngine is by some distance the most developed physics engine. - ; BulletSim is a high performance, up-and-coming physics engine. - ; basicphysics effectively does not model physics at all, making all objects phantom. - physics = OpenDynamicsEngine + ; BulletSim is a high performance physics engine. It is the default OpenSimulator physics engine + ; OpenDynamicsEngine is another developed physics engine that was the previous default in OpenSimulator 0.7.6 and before + physics = BulletSim + ;physics = modified_BulletX + ;physics = OpenDynamicsEngine ;physics = basicphysics ;physics = POS - ;physics = modified_BulletX - ;physics = BulletSim ; ## ; ## SCRIPT ENGINE -- cgit v1.1 From 8fdf70b87e51bdd2035f5ab54a335fbb50d79e80 Mon Sep 17 00:00:00 2001 From: Fernando Oliveira Date: Wed, 16 Oct 2013 20:15:04 -0500 Subject: * Fixes mantis mantis 0006803 [PGSQL] - Simulator crashes - Mono.Security.dll missing. The root of the issue is that the Postgres driver relies on Mono.Security.dll from the mono project. Unfortunately, when using Mono, including the dll in the distribution causes conflicts. This solution puts Mono.Security.dll in bin/lib/NET/ and, if windows .NET is the runtime, informs the assembly loader to load bin/lib/NET/Mono.Security.dll when .NET is scanning for the Mono.Security namespace. On Mono, the included Mono.Security assembly is ignored. --- bin/lib/NET/Mono.Security.dll | Bin 0 -> 282624 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 bin/lib/NET/Mono.Security.dll (limited to 'bin') diff --git a/bin/lib/NET/Mono.Security.dll b/bin/lib/NET/Mono.Security.dll new file mode 100644 index 0000000..6accde7 Binary files /dev/null and b/bin/lib/NET/Mono.Security.dll differ -- cgit v1.1 From 622135671282f9fc9ba64cf81960301d7d4ccbeb Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Thu, 17 Oct 2013 22:28:58 +0100 Subject: Removing Mono.Security.dll temporarily so that it can be re-added with origin information --- bin/lib/NET/Mono.Security.dll | Bin 282624 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bin/lib/NET/Mono.Security.dll (limited to 'bin') diff --git a/bin/lib/NET/Mono.Security.dll b/bin/lib/NET/Mono.Security.dll deleted file mode 100644 index 6accde7..0000000 Binary files a/bin/lib/NET/Mono.Security.dll and /dev/null differ -- cgit v1.1 From 1bd89ac2877683a9dfa3693f7407028744c81e4c Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Thu, 17 Oct 2013 22:31:15 +0100 Subject: Readding Mono.Security.dll. This comes from http://pgfoundry.org/frs/download.php/3354/Npgsql2.0.12.0-bin-ms.net3.5sp1.zip This is identical to what was previously there but need to record origin information --- bin/lib/NET/Mono.Security.dll | Bin 0 -> 282624 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 bin/lib/NET/Mono.Security.dll (limited to 'bin') diff --git a/bin/lib/NET/Mono.Security.dll b/bin/lib/NET/Mono.Security.dll new file mode 100644 index 0000000..6accde7 Binary files /dev/null and b/bin/lib/NET/Mono.Security.dll differ -- cgit v1.1 From 571a75f93468fb0ee9f6fd29401ba578f25b47e3 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Fri, 18 Oct 2013 09:15:08 -0700 Subject: BulletSim: update lib32/libBulletSim.dylib to current BulletSim C++ API. --- bin/lib32/libBulletSim.dylib | Bin 1181656 -> 1510988 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/libBulletSim.dylib b/bin/lib32/libBulletSim.dylib index 02f8a7f..6efec3a 100755 Binary files a/bin/lib32/libBulletSim.dylib and b/bin/lib32/libBulletSim.dylib differ -- cgit v1.1 From a7e7bed66096a6ccd2bea8fd46ec2732e7420fd0 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sat, 19 Oct 2013 11:44:27 -0700 Subject: BulletSim: update SOs and DLLs with version that enables compressed AABB maps for Bvh meshes. This greatly reduces the memory usage for large meshes and for mesh terrain in particular. --- bin/lib32/BulletSim.dll | Bin 1093632 -> 992768 bytes bin/lib32/libBulletSim.so | Bin 2332216 -> 2332216 bytes bin/lib64/BulletSim.dll | Bin 1230848 -> 1231872 bytes bin/lib64/libBulletSim.so | Bin 2522559 -> 2522559 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 7c16cb5..187d150 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index 3d2737b..e60bdd3 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 3afdf63..e8738e1 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index 6a17848..ef3eb3a 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From 5be8f6632be186ae09b395d0f87089df3503d2bb Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Fri, 25 Oct 2013 00:54:33 +0100 Subject: minor: Fix commented out GridInfo service URL to be 8002 in Robust.ini.example rather than 9000 (already done in Robust.HG.ini.example) --- bin/Robust.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 6a84574..0660de4 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -425,7 +425,7 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; helper uri: optional: if it exists if will be used to tell the client to use ; this for all economy related things - ;economy = http://127.0.0.1:9000/ + ;economy = http://127.0.0.1:8002/ ; web page of grid: optional: page providing further information about your grid ;about = http://127.0.0.1/about/ -- cgit v1.1 From d23ef79f98d03dd8964e56a412f1417893cff7ec Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sat, 26 Oct 2013 21:30:51 -0700 Subject: BulletSim: restore collision flags when clear collision cache. THis fixes the extranious addition of objects to the collision cache which created extra CPU overhead. --- bin/lib32/BulletSim.dll | Bin 992768 -> 1094144 bytes bin/lib32/libBulletSim.so | Bin 2332216 -> 2337209 bytes bin/lib64/BulletSim.dll | Bin 1231872 -> 1231360 bytes bin/lib64/libBulletSim.so | Bin 2522559 -> 2523676 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 187d150..ee7cce7 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index e60bdd3..ee2bd80 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index e8738e1..b4c4bec 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index ef3eb3a..9c4033b 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From 46a4c32e27e17aa083fe0008b45838f30b36540e Mon Sep 17 00:00:00 2001 From: dahlia Date: Wed, 30 Oct 2013 22:01:34 -0700 Subject: update libomv to 5b4c1e8694479629f7cacd72dd6bc39a6b327f9c (git master as of time of this commit) --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 102400 bytes bin/OpenMetaverse.dll | Bin 1785856 -> 1794048 bytes bin/OpenMetaverseTypes.dll | Bin 114688 -> 110592 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 100916c..e63593e 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index bb16ed0..d6a3247 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 59e8083..3d89548 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 7ee907b..213555c 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 417836ac5e3beb840ad68909e6f618ee3177b282 Mon Sep 17 00:00:00 2001 From: Latif Khalifa Date: Wed, 6 Nov 2013 02:43:44 +0100 Subject: Updated libomv to 25ee208a 2013-11-05 --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 106496 bytes bin/OpenMetaverse.XML | 125 +++++++++++++++++++++++++++- bin/OpenMetaverse.dll | Bin 1794048 -> 1806336 bytes bin/OpenMetaverseTypes.XML | 52 ------------ bin/OpenMetaverseTypes.dll | Bin 110592 -> 110592 bytes 6 files changed, 124 insertions(+), 53 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index e63593e..052490d 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index d6a3247..8b920bd 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.XML b/bin/OpenMetaverse.XML index 457cbe1..6e35a04 100644 --- a/bin/OpenMetaverse.XML +++ b/bin/OpenMetaverse.XML @@ -7557,6 +7557,9 @@ + + + @@ -9160,6 +9163,13 @@ A byte array containing raw texture data + + + Create a byte array containing 32-bit RGBA data with a bottom-left + origin, suitable for feeding directly into OpenGL + + A byte array containing raw texture data + Represents an Animation @@ -11537,6 +11547,26 @@ A that represents the ending Y size of the particle Minimum value is 0, maximum value is 4 + + A that represents the start glow value + Minimum value is 0, maximum value is 1 + + + A that represents the end glow value + Minimum value is 0, maximum value is 1 + + + OpenGL blend function to use at particle source + + + OpenGL blend function to use at particle destination + + + + Can this particle system be packed in a legacy compatible way + + True if the particle system doesn't use new particle system features + Decodes a byte[] array into a ParticleSystem Object @@ -11611,6 +11641,15 @@ used for point/grab/touch + + continuous ribbon particle + + + particle data contains glow + + + particle data contains blend functions + Particle Flags Enum @@ -12044,6 +12083,17 @@ UUID of the transaction The callback to fire when the simulator responds with the asset data + + + Request an asset download + + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + UUID of the transaction + The callback to fire when the simulator responds with the asset data + Request an asset download through the almost deprecated Xfer system @@ -18501,7 +18551,11 @@ True on success, otherwise false - + + + Populates textures and visual params from a decoded asset + + Wearable to decode Populates textures and visual params from a decoded asset @@ -18984,6 +19038,9 @@ + + User data + @@ -19146,6 +19203,15 @@ Region protocol flags + + Nothing special + + + Region supports Server side Appearance + + + Viewer supports Server side Appearance + Access level for a simulator @@ -21475,6 +21541,11 @@ Constants for the archiving module + + + Path for region settings. + + The location of the archive control file @@ -23668,6 +23739,58 @@ OSD containting the messaage + + + Provides helper methods for parallelizing loops + + + + + Executes a for loop in which iterations may run in parallel + + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop + + + + Executes a for loop in which iterations may run in parallel + + The number of concurrent execution threads to run + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop + + + + Executes a foreach loop in which iterations may run in parallel + + Object type that the collection wraps + An enumerable collection to iterate over + Method body to run for each object in the collection + + + + Executes a foreach loop in which iterations may run in parallel + + Object type that the collection wraps + The number of concurrent execution threads to run + An enumerable collection to iterate over + Method body to run for each object in the collection + + + + Executes a series of tasks in parallel + + A series of method bodies to execute + + + + Executes a series of tasks in parallel + + The number of concurrent execution threads to run + A series of method bodies to execute + Sort by name diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 3d89548..a91670d 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.XML b/bin/OpenMetaverseTypes.XML index 56e3ac7..4f5b6b4 100644 --- a/bin/OpenMetaverseTypes.XML +++ b/bin/OpenMetaverseTypes.XML @@ -2573,58 +2573,6 @@ A cache of UUID.Zero as a string to optimize a common path - - - Provides helper methods for parallelizing loops - - - - - Executes a for loop in which iterations may run in parallel - - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop - - - - Executes a for loop in which iterations may run in parallel - - The number of concurrent execution threads to run - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop - - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - An enumerable collection to iterate over - Method body to run for each object in the collection - - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - The number of concurrent execution threads to run - An enumerable collection to iterate over - Method body to run for each object in the collection - - - - Executes a series of tasks in parallel - - A series of method bodies to execute - - - - Executes a series of tasks in parallel - - The number of concurrent execution threads to run - A series of method bodies to execute - Copy constructor diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 213555c..4d00d5e 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From e1ce3907f2edfd10b9322db4b429922897ed9905 Mon Sep 17 00:00:00 2001 From: dahlia Date: Tue, 5 Nov 2013 23:01:14 -0800 Subject: Update libomv to 7e260ad419ebb1c24a5f1b123e11dd930e05f414. Thanks lkalif :) --- bin/OpenMetaverseTypes.XML | 2220 ++++++++++++++++++++++---------------------- bin/OpenMetaverseTypes.dll | Bin 110592 -> 110592 bytes 2 files changed, 1110 insertions(+), 1110 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverseTypes.XML b/bin/OpenMetaverseTypes.XML index 4f5b6b4..5280485 100644 --- a/bin/OpenMetaverseTypes.XML +++ b/bin/OpenMetaverseTypes.XML @@ -4,1048 +4,988 @@ OpenMetaverseTypes - - Used for converting degrees to radians + + For thread safety - - Used for converting radians to degrees + + For thread safety - + - Convert the first two bytes starting in the byte array in - little endian ordering to a signed short integer + Purges expired objects from the cache. Called automatically by the purge timer. - An array two bytes or longer - A signed short integer, will be zero if a short can't be - read at the given position - + - Convert the first two bytes starting at the given position in - little endian ordering to a signed short integer + Determines the appropriate events to set, leaves the locks, and sets the events. - An array two bytes or longer - Position in the array to start reading - A signed short integer, will be zero if a short can't be - read at the given position - + - Convert the first four bytes starting at the given position in - little endian ordering to a signed integer + A routine for lazily creating a event outside the lock (so if errors + happen they are outside the lock and that we don't do much work + while holding a spin lock). If all goes well, reenter the lock and + set 'waitEvent' - An array four bytes or longer - Position to start reading the int from - A signed integer, will be zero if an int can't be read - at the given position - + - Convert the first four bytes of the given array in little endian - ordering to a signed integer + Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. + Before the wait 'numWaiters' is incremented and is restored before leaving this routine. - An array four bytes or longer - A signed integer, will be zero if the array contains - less than four bytes - + + X value + + + Y value + + + Z value + + + W value + + - Convert the first eight bytes of the given array in little endian - ordering to a signed long integer + Build a quaternion from normalized float values - An array eight bytes or longer - A signed long integer, will be zero if the array contains - less than eight bytes + X value from -1.0 to 1.0 + Y value from -1.0 to 1.0 + Z value from -1.0 to 1.0 - + - Convert the first eight bytes starting at the given position in - little endian ordering to a signed long integer + Constructor, builds a quaternion object from a byte array - An array eight bytes or longer - Position to start reading the long from - A signed long integer, will be zero if a long can't be read - at the given position + Byte array containing four four-byte floats + Offset in the byte array to start reading at + Whether the source data is normalized or + not. If this is true 12 bytes will be read, otherwise 16 bytes will + be read. - + - Convert the first two bytes starting at the given position in - little endian ordering to an unsigned short + Normalizes the quaternion - Byte array containing the ushort - Position to start reading the ushort from - An unsigned short, will be zero if a ushort can't be read - at the given position - + - Convert two bytes in little endian ordering to an unsigned short + Builds a quaternion object from a byte array - Byte array containing the ushort - An unsigned short, will be zero if a ushort can't be - read + The source byte array + Offset in the byte array to start reading at + Whether the source data is normalized or + not. If this is true 12 bytes will be read, otherwise 16 bytes will + be read. - + - Convert the first four bytes starting at the given position in - little endian ordering to an unsigned integer + Normalize this quaternion and serialize it to a byte array - Byte array containing the uint - Position to start reading the uint from - An unsigned integer, will be zero if a uint can't be read - at the given position + A 12 byte array containing normalized X, Y, and Z floating + point values in order using little endian byte ordering - + - Convert the first four bytes of the given array in little endian - ordering to an unsigned integer + Writes the raw bytes for this quaternion to a byte array - An array four bytes or longer - An unsigned integer, will be zero if the array contains - less than four bytes + Destination byte array + Position in the destination array to start + writing. Must be at least 12 bytes before the end of the array - + - Convert the first eight bytes of the given array in little endian - ordering to an unsigned 64-bit integer + Convert this quaternion to euler angles - An array eight bytes or longer - An unsigned 64-bit integer, will be zero if the array - contains less than eight bytes + X euler angle + Y euler angle + Z euler angle - + - Convert four bytes in little endian ordering to a floating point - value + Convert this quaternion to an angle around an axis - Byte array containing a little ending floating - point value - Starting position of the floating point value in - the byte array - Single precision value + Unit vector describing the axis + Angle around the axis, in radians - + - Convert an integer to a byte array in little endian format + Returns the conjugate (spatial inverse) of a quaternion - The integer to convert - A four byte little endian array - + - Convert an integer to a byte array in big endian format + Build a quaternion from an axis and an angle of rotation around + that axis - The integer to convert - A four byte big endian array - + - Convert a 64-bit integer to a byte array in little endian format + Build a quaternion from an axis and an angle of rotation around + that axis - The value to convert - An 8 byte little endian array + Axis of rotation + Angle of rotation - + - Convert a 64-bit unsigned integer to a byte array in little endian - format + Creates a quaternion from a vector containing roll, pitch, and yaw + in radians - The value to convert - An 8 byte little endian array + Vector representation of the euler angles in + radians + Quaternion representation of the euler angles - + - Convert a floating point value to four bytes in little endian - ordering + Creates a quaternion from roll, pitch, and yaw euler angles in + radians - A floating point value - A four byte array containing the value in little endian - ordering + X angle in radians + Y angle in radians + Z angle in radians + Quaternion representation of the euler angles - + - Converts an unsigned integer to a hexadecimal string + Conjugates and renormalizes a vector - An unsigned integer to convert to a string - A hexadecimal string 10 characters long - 0x7fffffff - + - Convert a variable length UTF8 byte array to a string + Spherical linear interpolation between two quaternions - The UTF8 encoded byte array to convert - The decoded string - + - Converts a byte array to a string containing hexadecimal characters + Get a string representation of the quaternion elements with up to three + decimal digits and separated by spaces only - The byte array to convert to a string - The name of the field to prepend to each - line of the string - A string containing hexadecimal characters on multiple - lines. Each line is prepended with the field name + Raw string representation of the quaternion - + + A quaternion with a value of 0,0,0,1 + + - Converts a byte array to a string containing hexadecimal characters + A three-dimensional vector with doubleing-point values - The byte array to convert to a string - Number of bytes in the array to parse - A string to prepend to each line of the hex - dump - A string containing hexadecimal characters on multiple - lines. Each line is prepended with the field name - + + X value + + + Y value + + + Z value + + - Convert a string to a UTF8 encoded byte array + Constructor, builds a vector from a byte array - The string to convert - A null-terminated UTF8 byte array + Byte array containing three eight-byte doubles + Beginning position in the byte array - + - Converts a string containing hexadecimal characters to a byte array + Test if this vector is equal to another vector, within a given + tolerance range - String containing hexadecimal characters - If true, gracefully handles null, empty and - uneven strings as well as stripping unconvertable characters - The converted byte array + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false - + - Returns true is c is a hexadecimal digit (A-F, a-f, 0-9) + IComparable.CompareTo implementation - Character to test - true if hex digit, false if not - + - Converts 1 or 2 character string into equivalant byte value + Test if this vector is composed of all finite numbers - 1 or 2 character string - byte - + - Convert a float value to a byte given a minimum and maximum range + Builds a vector from a byte array - Value to convert to a byte - Minimum value range - Maximum value range - A single byte representing the original float value + Byte array containing a 24 byte vector + Beginning position in the byte array - + - Convert a byte to a float value given a minimum and maximum range + Returns the raw bytes for this vector - Byte array to get the byte from - Position in the byte array the desired byte is at - Minimum value range - Maximum value range - A float value inclusively between lower and upper + A 24 byte array containing X, Y, and Z - + - Convert a byte to a float value given a minimum and maximum range + Writes the raw bytes for this vector to a byte array - Byte to convert to a float value - Minimum value range - Maximum value range - A float value inclusively between lower and upper + Destination byte array + Position in the destination array to start + writing. Must be at least 24 bytes before the end of the array - + - Attempts to parse a floating point value from a string, using an - EN-US number format + Parse a vector from a string - String to parse - Resulting floating point number - True if the parse was successful, otherwise false + A string representation of a 3D vector, enclosed + in arrow brackets and separated by commas - + - Attempts to parse a floating point value from a string, using an - EN-US number format + Interpolates between two vectors using a cubic equation - String to parse - Resulting floating point number - True if the parse was successful, otherwise false - + - Tries to parse an unsigned 32-bit integer from a hexadecimal string + Get a formatted string representation of the vector - String to parse - Resulting integer - True if the parse was successful, otherwise false + A string representation of the vector - + - Returns text specified in EnumInfo attribute of the enumerator - To add the text use [EnumInfo(Text = "Some nice text here")] before declaration - of enum values + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only - Enum value - Text representation of the enum + Raw string representation of the vector - + - Takes an AssetType and returns the string representation + Cross product between two vectors - The source - The string version of the AssetType - + - Translate a string name of an AssetType into the proper Type + Implicit casting for Vector3 > Vector3d - A string containing the AssetType name - The AssetType which matches the string name, or AssetType.Unknown if no match was found + + - + + A vector with a value of 0,0,0 + + + A vector with a value of 1,1,1 + + + A unit vector facing forward (X axis), value of 1,0,0 + + + A unit vector facing left (Y axis), value of 0,1,0 + + + A unit vector facing up (Z axis), value of 0,0,1 + + - Convert an InventoryType to a string + A thread-safe lockless queue that supports multiple readers and + multiple writers - The to convert - A string representation of the source - + + Queue head + + + Queue tail + + + Queue item count + + - Convert a string into a valid InventoryType + Constructor - A string representation of the InventoryType to convert - A InventoryType object which matched the type - + - Convert a SaleType to a string + Enqueue an item - The to convert - A string representation of the source + Item to enqeue - + - Convert a string into a valid SaleType + Try to dequeue an item - A string representation of the SaleType to convert - A SaleType object which matched the type + Dequeued item if the dequeue was successful + True if an item was successfully deqeued, otherwise false - + + Gets the current number of items in the queue. Since this + is a lockless collection this value should be treated as a close + estimate + + - Converts a string used in LLSD to AttachmentPoint type + Provides a node container for data in a singly linked list - String representation of AttachmentPoint to convert - AttachmentPoint enum - + + Pointer to the next node in list + + + The data contained by the node + + - Copy a byte array + Constructor - Byte array to copy - A copy of the given byte array - + - Packs to 32-bit unsigned integers in to a 64-bit unsigned integer + Constructor - The left-hand (or X) value - The right-hand (or Y) value - A 64-bit integer containing the two 32-bit input values - + - Unpacks two 32-bit unsigned integers from a 64-bit unsigned integer + Convert this matrix to euler rotations - The 64-bit input integer - The left-hand (or X) output value - The right-hand (or Y) output value + X euler angle + Y euler angle + Z euler angle - + - Convert an IP address object to an unsigned 32-bit integer + Convert this matrix to a quaternion rotation - IP address to convert - 32-bit unsigned integer holding the IP address bits + A quaternion representation of this rotation matrix - + - Gets a unix timestamp for the current time + Construct a matrix from euler rotation values in radians - An unsigned integer representing a unix timestamp for now + X euler angle in radians + Y euler angle in radians + Z euler angle in radians - + - Convert a UNIX timestamp to a native DateTime object + Get a formatted string representation of the vector - An unsigned integer representing a UNIX - timestamp - A DateTime object containing the same time specified in - the given timestamp + A string representation of the vector - + + A 4x4 matrix containing all zeroes + + + A 4x4 identity matrix + + + Used for converting degrees to radians + + + Used for converting radians to degrees + + - Convert a UNIX timestamp to a native DateTime object + Convert the first two bytes starting in the byte array in + little endian ordering to a signed short integer - A signed integer representing a UNIX - timestamp - A DateTime object containing the same time specified in - the given timestamp + An array two bytes or longer + A signed short integer, will be zero if a short can't be + read at the given position - + - Convert a native DateTime object to a UNIX timestamp + Convert the first two bytes starting at the given position in + little endian ordering to a signed short integer - A DateTime object you want to convert to a - timestamp - An unsigned integer representing a UNIX timestamp + An array two bytes or longer + Position in the array to start reading + A signed short integer, will be zero if a short can't be + read at the given position - + - Swap two values - - Type of the values to swap - First value - Second value + Convert the first four bytes starting at the given position in + little endian ordering to a signed integer + + An array four bytes or longer + Position to start reading the int from + A signed integer, will be zero if an int can't be read + at the given position - + - Try to parse an enumeration value from a string + Convert the first four bytes of the given array in little endian + ordering to a signed integer - Enumeration type - String value to parse - Enumeration value on success - True if the parsing succeeded, otherwise false + An array four bytes or longer + A signed integer, will be zero if the array contains + less than four bytes - + - Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa + Convert the first eight bytes of the given array in little endian + ordering to a signed long integer - Byte to swap the words in - Byte value with the words swapped + An array eight bytes or longer + A signed long integer, will be zero if the array contains + less than eight bytes - + - Attempts to convert a string representation of a hostname or IP - address to a + Convert the first eight bytes starting at the given position in + little endian ordering to a signed long integer - Hostname to convert to an IPAddress - Converted IP address object, or null if the conversion - failed - - - Provide a single instance of the CultureInfo class to - help parsing in situations where the grid assumes an en-us - culture - - - UNIX epoch in DateTime format - - - Provide a single instance of the MD5 class to avoid making - duplicate copies and handle thread safety - - - Provide a single instance of the SHA-1 class to avoid - making duplicate copies and handle thread safety - - - Provide a single instance of a random number generator - to avoid making duplicate copies and handle thread safety + An array eight bytes or longer + Position to start reading the long from + A signed long integer, will be zero if a long can't be read + at the given position - + - Clamp a given value between a range + Convert the first two bytes starting at the given position in + little endian ordering to an unsigned short - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper + Byte array containing the ushort + Position to start reading the ushort from + An unsigned short, will be zero if a ushort can't be read + at the given position - + - Clamp a given value between a range + Convert two bytes in little endian ordering to an unsigned short - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper + Byte array containing the ushort + An unsigned short, will be zero if a ushort can't be + read - + - Clamp a given value between a range + Convert the first four bytes starting at the given position in + little endian ordering to an unsigned integer - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper + Byte array containing the uint + Position to start reading the uint from + An unsigned integer, will be zero if a uint can't be read + at the given position - + - Round a floating-point value to the nearest integer + Convert the first four bytes of the given array in little endian + ordering to an unsigned integer - Floating point number to round - Integer + An array four bytes or longer + An unsigned integer, will be zero if the array contains + less than four bytes - + - Test if a single precision float is a finite number + Convert the first eight bytes of the given array in little endian + ordering to an unsigned 64-bit integer + An array eight bytes or longer + An unsigned 64-bit integer, will be zero if the array + contains less than eight bytes - + - Test if a double precision float is a finite number + Convert four bytes in little endian ordering to a floating point + value + Byte array containing a little ending floating + point value + Starting position of the floating point value in + the byte array + Single precision value - + - Get the distance between two floating-point values + Convert an integer to a byte array in little endian format - First value - Second value - The distance between the two values + The integer to convert + A four byte little endian array - + - Compute the MD5 hash for a byte array + Convert an integer to a byte array in big endian format - Byte array to compute the hash for - MD5 hash of the input data + The integer to convert + A four byte big endian array - + - Compute the SHA1 hash for a byte array + Convert a 64-bit integer to a byte array in little endian format - Byte array to compute the hash for - SHA1 hash of the input data + The value to convert + An 8 byte little endian array - + - Calculate the SHA1 hash of a given string + Convert a 64-bit unsigned integer to a byte array in little endian + format - The string to hash - The SHA1 hash as a string + The value to convert + An 8 byte little endian array - + - Compute the SHA256 hash for a byte array + Convert a floating point value to four bytes in little endian + ordering - Byte array to compute the hash for - SHA256 hash of the input data + A floating point value + A four byte array containing the value in little endian + ordering - + - Calculate the SHA256 hash of a given string + Converts an unsigned integer to a hexadecimal string - The string to hash - The SHA256 hash as a string + An unsigned integer to convert to a string + A hexadecimal string 10 characters long + 0x7fffffff - + - Calculate the MD5 hash of a given string + Convert a variable length UTF8 byte array to a string - The password to hash - An MD5 hash in string format, with $1$ prepended + The UTF8 encoded byte array to convert + The decoded string - + - Calculate the MD5 hash of a given string + Converts a byte array to a string containing hexadecimal characters - The string to hash - The MD5 hash as a string + The byte array to convert to a string + The name of the field to prepend to each + line of the string + A string containing hexadecimal characters on multiple + lines. Each line is prepended with the field name - + - Generate a random double precision floating point value + Converts a byte array to a string containing hexadecimal characters - Random value of type double + The byte array to convert to a string + Number of bytes in the array to parse + A string to prepend to each line of the hex + dump + A string containing hexadecimal characters on multiple + lines. Each line is prepended with the field name - + - Get the current running platform + Convert a string to a UTF8 encoded byte array - Enumeration of the current platform we are running on + The string to convert + A null-terminated UTF8 byte array - + - Get the current running runtime + Converts a string containing hexadecimal characters to a byte array - Enumeration of the current runtime we are running on + String containing hexadecimal characters + If true, gracefully handles null, empty and + uneven strings as well as stripping unconvertable characters + The converted byte array - + - Operating system + Returns true is c is a hexadecimal digit (A-F, a-f, 0-9) + Character to test + true if hex digit, false if not - - Unknown - - - Microsoft Windows - - - Microsoft Windows CE - - - Linux - - - Apple OSX - - + - Runtime platform + Converts 1 or 2 character string into equivalant byte value + 1 or 2 character string + byte - - .NET runtime - - - Mono runtime: http://www.mono-project.com/ - - + - Convert this matrix to euler rotations + Convert a float value to a byte given a minimum and maximum range - X euler angle - Y euler angle - Z euler angle + Value to convert to a byte + Minimum value range + Maximum value range + A single byte representing the original float value - + - Convert this matrix to a quaternion rotation + Convert a byte to a float value given a minimum and maximum range - A quaternion representation of this rotation matrix + Byte array to get the byte from + Position in the byte array the desired byte is at + Minimum value range + Maximum value range + A float value inclusively between lower and upper - + - Construct a matrix from euler rotation values in radians + Convert a byte to a float value given a minimum and maximum range - X euler angle in radians - Y euler angle in radians - Z euler angle in radians + Byte to convert to a float value + Minimum value range + Maximum value range + A float value inclusively between lower and upper - + - Get a formatted string representation of the vector + Attempts to parse a floating point value from a string, using an + EN-US number format - A string representation of the vector - - - A 4x4 matrix containing all zeroes - - - A 4x4 identity matrix + String to parse + Resulting floating point number + True if the parse was successful, otherwise false - + - Same as Queue except Dequeue function blocks until there is an object to return. - Note: This class does not need to be synchronized + Attempts to parse a floating point value from a string, using an + EN-US number format + String to parse + Resulting floating point number + True if the parse was successful, otherwise false - + - Create new BlockingQueue. + Tries to parse an unsigned 32-bit integer from a hexadecimal string - The System.Collections.ICollection to copy elements from + String to parse + Resulting integer + True if the parse was successful, otherwise false - + - Create new BlockingQueue. + Returns text specified in EnumInfo attribute of the enumerator + To add the text use [EnumInfo(Text = "Some nice text here")] before declaration + of enum values - The initial number of elements that the queue can contain + Enum value + Text representation of the enum - + - Create new BlockingQueue. + Takes an AssetType and returns the string representation + The source + The string version of the AssetType - + - BlockingQueue Destructor (Close queue, resume any waiting thread). + Translate a string name of an AssetType into the proper Type + A string containing the AssetType name + The AssetType which matches the string name, or AssetType.Unknown if no match was found - + - Remove all objects from the Queue. + Convert an InventoryType to a string + The to convert + A string representation of the source - + - Remove all objects from the Queue, resume all dequeue threads. + Convert a string into a valid InventoryType + A string representation of the InventoryType to convert + A InventoryType object which matched the type - + - Removes and returns the object at the beginning of the Queue. + Convert a SaleType to a string - Object in queue. + The to convert + A string representation of the source - + - Removes and returns the object at the beginning of the Queue. + Convert a string into a valid SaleType - time to wait before returning - Object in queue. + A string representation of the SaleType to convert + A SaleType object which matched the type - + - Removes and returns the object at the beginning of the Queue. + Converts a string used in LLSD to AttachmentPoint type - time to wait before returning (in milliseconds) - Object in queue. + String representation of AttachmentPoint to convert + AttachmentPoint enum - + - Adds an object to the end of the Queue + Copy a byte array - Object to put in queue + Byte array to copy + A copy of the given byte array - + - Open Queue. + Packs to 32-bit unsigned integers in to a 64-bit unsigned integer + The left-hand (or X) value + The right-hand (or Y) value + A 64-bit integer containing the two 32-bit input values - + - Gets flag indicating if queue has been closed. + Unpacks two 32-bit unsigned integers from a 64-bit unsigned integer + The 64-bit input integer + The left-hand (or X) output value + The right-hand (or Y) output value - - X value - - - Y value - - - Z value - - - W value - - + - Constructor, builds a vector from a byte array + Convert an IP address object to an unsigned 32-bit integer - Byte array containing four four-byte floats - Beginning position in the byte array + IP address to convert + 32-bit unsigned integer holding the IP address bits - + - Test if this vector is equal to another vector, within a given - tolerance range + Gets a unix timestamp for the current time - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false + An unsigned integer representing a unix timestamp for now - + - IComparable.CompareTo implementation + Convert a UNIX timestamp to a native DateTime object + An unsigned integer representing a UNIX + timestamp + A DateTime object containing the same time specified in + the given timestamp - + - Test if this vector is composed of all finite numbers + Convert a UNIX timestamp to a native DateTime object + A signed integer representing a UNIX + timestamp + A DateTime object containing the same time specified in + the given timestamp - + - Builds a vector from a byte array + Convert a native DateTime object to a UNIX timestamp - Byte array containing a 16 byte vector - Beginning position in the byte array + A DateTime object you want to convert to a + timestamp + An unsigned integer representing a UNIX timestamp - + - Returns the raw bytes for this vector + Swap two values - A 16 byte array containing X, Y, Z, and W + Type of the values to swap + First value + Second value - + - Writes the raw bytes for this vector to a byte array + Try to parse an enumeration value from a string - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array + Enumeration type + String value to parse + Enumeration value on success + True if the parsing succeeded, otherwise false - + - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only + Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa - Raw string representation of the vector + Byte to swap the words in + Byte value with the words swapped - - A vector with a value of 0,0,0,0 + + + Attempts to convert a string representation of a hostname or IP + address to a + + Hostname to convert to an IPAddress + Converted IP address object, or null if the conversion + failed - - A vector with a value of 1,1,1,1 + + Provide a single instance of the CultureInfo class to + help parsing in situations where the grid assumes an en-us + culture - - A vector with a value of 1,0,0,0 + + UNIX epoch in DateTime format - - A vector with a value of 0,1,0,0 + + Provide a single instance of the MD5 class to avoid making + duplicate copies and handle thread safety - - A vector with a value of 0,0,1,0 + + Provide a single instance of the SHA-1 class to avoid + making duplicate copies and handle thread safety - - A vector with a value of 0,0,0,1 + + Provide a single instance of a random number generator + to avoid making duplicate copies and handle thread safety - + - A three-dimensional vector with doubleing-point values + Clamp a given value between a range + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper - - X value - - - Y value - - - Z value - - + - Constructor, builds a vector from a byte array + Clamp a given value between a range - Byte array containing three eight-byte doubles - Beginning position in the byte array + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper - + - Test if this vector is equal to another vector, within a given - tolerance range + Clamp a given value between a range - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper - + - IComparable.CompareTo implementation + Round a floating-point value to the nearest integer + Floating point number to round + Integer - + - Test if this vector is composed of all finite numbers + Test if a single precision float is a finite number - + - Builds a vector from a byte array + Test if a double precision float is a finite number - Byte array containing a 24 byte vector - Beginning position in the byte array - + - Returns the raw bytes for this vector + Get the distance between two floating-point values - A 24 byte array containing X, Y, and Z + First value + Second value + The distance between the two values - + - Writes the raw bytes for this vector to a byte array + Compute the MD5 hash for a byte array - Destination byte array - Position in the destination array to start - writing. Must be at least 24 bytes before the end of the array + Byte array to compute the hash for + MD5 hash of the input data - + - Parse a vector from a string + Compute the SHA1 hash for a byte array - A string representation of a 3D vector, enclosed - in arrow brackets and separated by commas + Byte array to compute the hash for + SHA1 hash of the input data - + - Interpolates between two vectors using a cubic equation + Calculate the SHA1 hash of a given string + The string to hash + The SHA1 hash as a string - + - Get a formatted string representation of the vector + Compute the SHA256 hash for a byte array - A string representation of the vector + Byte array to compute the hash for + SHA256 hash of the input data - + - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only + Calculate the SHA256 hash of a given string - Raw string representation of the vector + The string to hash + The SHA256 hash as a string - + - Cross product between two vectors + Calculate the MD5 hash of a given string + The password to hash + An MD5 hash in string format, with $1$ prepended - + - Implicit casting for Vector3 > Vector3d + Calculate the MD5 hash of a given string - - - - - A vector with a value of 0,0,0 - - - A vector with a value of 1,1,1 - - - A unit vector facing forward (X axis), value of 1,0,0 - - - A unit vector facing left (Y axis), value of 0,1,0 - - - A unit vector facing up (Z axis), value of 0,0,1 + The string to hash + The MD5 hash as a string - + - A three-dimensional vector with floating-point values + Generate a random double precision floating point value + Random value of type double - - X value - - - Y value - - - Z value - - + - Constructor, builds a vector from a byte array + Get the current running platform - Byte array containing three four-byte floats - Beginning position in the byte array + Enumeration of the current platform we are running on - + - Test if this vector is equal to another vector, within a given - tolerance range + Get the current running runtime - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false + Enumeration of the current runtime we are running on - + - IComparable.CompareTo implementation + Operating system - - - Test if this vector is composed of all finite numbers - + + Unknown - - - Builds a vector from a byte array - - Byte array containing a 12 byte vector - Beginning position in the byte array + + Microsoft Windows - - - Returns the raw bytes for this vector - - A 12 byte array containing X, Y, and Z + + Microsoft Windows CE - - - Writes the raw bytes for this vector to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 12 bytes before the end of the array + + Linux - - - Parse a vector from a string - - A string representation of a 3D vector, enclosed - in arrow brackets and separated by commas + + Apple OSX - + - Calculate the rotation between two vectors + Runtime platform - Normalized directional vector (such as 1,0,0 for forward facing) - Normalized target vector - - - Interpolates between two vectors using a cubic equation - + + .NET runtime - - - Get a formatted string representation of the vector - - A string representation of the vector + + Mono runtime: http://www.mono-project.com/ - + - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only + Identifier code for primitive types - Raw string representation of the vector - - - Cross product between two vectors - + + None - - - Explicit casting for Vector3d > Vector3 - - - - - - A vector with a value of 0,0,0 - - - A vector with a value of 1,1,1 - - - A unit vector facing forward (X axis), value 1,0,0 - - - A unit vector facing left (Y axis), value 0,1,0 - - - A unit vector facing up (Z axis), value 0,0,1 - - - - Identifier code for primitive types - - - - None - - - A Primitive + + A Primitive A Avatar @@ -1615,6 +1555,92 @@ Use convex hull represantion of this prim + + X value + + + Y value + + + Z value + + + W value + + + + Constructor, builds a vector from a byte array + + Byte array containing four four-byte floats + Beginning position in the byte array + + + + Test if this vector is equal to another vector, within a given + tolerance range + + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false + + + + IComparable.CompareTo implementation + + + + + Test if this vector is composed of all finite numbers + + + + + Builds a vector from a byte array + + Byte array containing a 16 byte vector + Beginning position in the byte array + + + + Returns the raw bytes for this vector + + A 16 byte array containing X, Y, Z, and W + + + + Writes the raw bytes for this vector to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array + + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector + + + A vector with a value of 0,0,0,0 + + + A vector with a value of 1,1,1,1 + + + A vector with a value of 1,0,0,0 + + + A vector with a value of 0,1,0,0 + + + A vector with a value of 0,0,1,0 + + + A vector with a value of 0,0,0,1 + An 8-bit color structure including an alpha channel @@ -1748,18 +1774,34 @@ A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) - + - A two-dimensional vector with floating-point values + Copy constructor + Circular queue to copy - + + + A three-dimensional vector with floating-point values + + + X value - + Y value - + + Z value + + + + Constructor, builds a vector from a byte array + + Byte array containing three four-byte floats + Beginning position in the byte array + + Test if this vector is equal to another vector, within a given tolerance range @@ -1770,337 +1812,487 @@ True if the magnitude of difference between the two vectors is less than the given tolerance, otherwise false - + - Test if this vector is composed of all finite numbers + IComparable.CompareTo implementation - + - IComparable.CompareTo implementation + Test if this vector is composed of all finite numbers - + Builds a vector from a byte array - Byte array containing two four-byte floats + Byte array containing a 12 byte vector Beginning position in the byte array - + Returns the raw bytes for this vector - An eight-byte array containing X and Y + A 12 byte array containing X, Y, and Z - + Writes the raw bytes for this vector to a byte array Destination byte array Position in the destination array to start - writing. Must be at least 8 bytes before the end of the array + writing. Must be at least 12 bytes before the end of the array - + Parse a vector from a string - A string representation of a 2D vector, enclosed + A string representation of a 3D vector, enclosed in arrow brackets and separated by commas - + + + Calculate the rotation between two vectors + + Normalized directional vector (such as 1,0,0 for forward facing) + Normalized target vector + + Interpolates between two vectors using a cubic equation - + Get a formatted string representation of the vector A string representation of the vector - + Get a string representation of the vector elements with up to three decimal digits and separated by spaces only Raw string representation of the vector - - A vector with a value of 0,0 - - - A vector with a value of 1,1 - - - A vector with a value of 1,0 - - - A vector with a value of 0,1 + + + Cross product between two vectors + - + - A hierarchical token bucket for bandwidth throttling. See - http://en.wikipedia.org/wiki/Token_bucket for more information + Explicit casting for Vector3d > Vector3 + + - - Parent bucket to this bucket, or null if this is a root - bucket + + A vector with a value of 0,0,0 - - Size of the bucket in bytes. If zero, the bucket has - infinite capacity + + A vector with a value of 1,1,1 - - Rate that the bucket fills, in bytes per millisecond. If - zero, the bucket always remains full + + A unit vector facing forward (X axis), value 1,0,0 - - Number of tokens currently in the bucket + + A unit vector facing left (Y axis), value 0,1,0 - - Time of the last drip, in system ticks + + A unit vector facing up (Z axis), value 0,0,1 - + - Default constructor + A 128-bit Universally Unique Identifier, used throughout the Second + Life networking protocol - Parent bucket if this is a child bucket, or - null if this is a root bucket - Maximum size of the bucket in bytes, or - zero if this bucket has no maximum capacity - Rate that the bucket fills, in bytes per - second. If zero, the bucket always remains full - + + The System.Guid object this struct wraps around + + - Remove a given number of tokens from the bucket + Constructor that takes a string UUID representation - Number of tokens to remove from the bucket - True if the requested number of tokens were removed from - the bucket, otherwise false + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") - + - Remove a given number of tokens from the bucket + Constructor that takes a System.Guid object - Number of tokens to remove from the bucket - True if tokens were added to the bucket - during this call, otherwise false - True if the requested number of tokens were removed from - the bucket, otherwise false + A Guid object that contains the unique identifier + to be represented by this UUID - + - Add tokens to the bucket over time. The number of tokens added each - call depends on the length of time that has passed since the last - call to Drip + Constructor that takes a byte array containing a UUID - True if tokens were added to the bucket, otherwise false + Byte array containing a 16 byte UUID + Beginning offset in the array - + - The parent bucket of this bucket, or null if this bucket has no - parent. The parent bucket will limit the aggregate bandwidth of all - of its children buckets + Constructor that takes an unsigned 64-bit unsigned integer to + convert to a UUID + 64-bit unsigned integer to convert to a UUID - + - Maximum burst rate in bytes per second. This is the maximum number - of tokens that can accumulate in the bucket at any one time + Copy constructor + UUID to copy - + - The speed limit of this bucket in bytes per second. This is the - number of tokens that are added to the bucket per second + IComparable.CompareTo implementation - Tokens are added to the bucket any time - is called, at the granularity of - the system tick interval (typically around 15-22ms) - + - The number of bytes that can be sent at this moment. This is the - current number of tokens in the bucket - If this bucket has a parent bucket that does not have - enough tokens for a request, will - return false regardless of the content of this bucket + Assigns this UUID from 16 bytes out of a byte array + Byte array containing the UUID to assign this UUID to + Starting position of the UUID in the byte array - - X value - - - Y value - - - Z value - - - W value - - + - Build a quaternion from normalized float values + Returns a copy of the raw bytes for this UUID - X value from -1.0 to 1.0 - Y value from -1.0 to 1.0 - Z value from -1.0 to 1.0 + A 16 byte array containing this UUID - + - Constructor, builds a quaternion object from a byte array + Writes the raw bytes for this UUID to a byte array - Byte array containing four four-byte floats - Offset in the byte array to start reading at - Whether the source data is normalized or - not. If this is true 12 bytes will be read, otherwise 16 bytes will - be read. + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array - + - Normalizes the quaternion + Calculate an LLCRC (cyclic redundancy check) for this UUID + The CRC checksum for this UUID - + - Builds a quaternion object from a byte array + Create a 64-bit integer representation from the second half of this UUID - The source byte array - Offset in the byte array to start reading at - Whether the source data is normalized or - not. If this is true 12 bytes will be read, otherwise 16 bytes will - be read. + An integer created from the last eight bytes of this UUID - + - Normalize this quaternion and serialize it to a byte array + Generate a UUID from a string - A 12 byte array containing normalized X, Y, and Z floating - point values in order using little endian byte ordering + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") - + - Writes the raw bytes for this quaternion to a byte array + Generate a UUID from a string - Destination byte array - Position in the destination array to start - writing. Must be at least 12 bytes before the end of the array + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + Will contain the parsed UUID if successful, + otherwise null + True if the string was successfully parse, otherwise false + UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) - + - Convert this quaternion to euler angles + Combine two UUIDs together by taking the MD5 hash of a byte array + containing both UUIDs - X euler angle - Y euler angle - Z euler angle + First UUID to combine + Second UUID to combine + The UUID product of the combination - + - Convert this quaternion to an angle around an axis + - Unit vector describing the axis - Angle around the axis, in radians + - + - Returns the conjugate (spatial inverse) of a quaternion + Return a hash code for this UUID, used by .NET for hash tables + An integer composed of all the UUID bytes XORed together - + - Build a quaternion from an axis and an angle of rotation around - that axis + Comparison function + An object to compare to this UUID + True if the object is a UUID and both UUIDs are equal - + - Build a quaternion from an axis and an angle of rotation around - that axis + Comparison function - Axis of rotation - Angle of rotation + UUID to compare to + True if the UUIDs are equal, otherwise false - + - Creates a quaternion from a vector containing roll, pitch, and yaw - in radians + Get a hyphenated string representation of this UUID - Vector representation of the euler angles in - radians - Quaternion representation of the euler angles + A string representation of this UUID, lowercase and + with hyphens + 11f8aa9c-b071-4242-836b-13b7abe0d489 - + - Creates a quaternion from roll, pitch, and yaw euler angles in - radians + Equals operator - X angle in radians - Y angle in radians - Z angle in radians - Quaternion representation of the euler angles + First UUID for comparison + Second UUID for comparison + True if the UUIDs are byte for byte equal, otherwise false - + - Conjugates and renormalizes a vector + Not equals operator + First UUID for comparison + Second UUID for comparison + True if the UUIDs are not equal, otherwise true - + - Spherical linear interpolation between two quaternions + XOR operator + First UUID + Second UUID + A UUID that is a XOR combination of the two input UUIDs - + - Get a string representation of the quaternion elements with up to three - decimal digits and separated by spaces only + String typecasting operator - Raw string representation of the quaternion - - - A quaternion with a value of 0,0,0,1 + A UUID in string form. Case insensitive, + hyphenated or non-hyphenated + A UUID built from the string representation - - For thread safety + + An UUID with a value of all zeroes - - For thread safety + + A cache of UUID.Zero as a string to optimize a common path - + - Purges expired objects from the cache. Called automatically by the purge timer. + A hierarchical token bucket for bandwidth throttling. See + http://en.wikipedia.org/wiki/Token_bucket for more information - - - Attribute class that allows extra attributes to be attached to ENUMs - + + Parent bucket to this bucket, or null if this is a root + bucket - - Text used when presenting ENUM to user + + Size of the bucket in bytes. If zero, the bucket has + infinite capacity - - Default initializer + + Rate that the bucket fills, in bytes per millisecond. If + zero, the bucket always remains full - - Text used when presenting ENUM to user + + Number of tokens currently in the bucket - + + Time of the last drip, in system ticks + + - The different types of grid assets + Default constructor + Parent bucket if this is a child bucket, or + null if this is a root bucket + Maximum size of the bucket in bytes, or + zero if this bucket has no maximum capacity + Rate that the bucket fills, in bytes per + second. If zero, the bucket always remains full - - Unknown asset type - - - Texture asset, stores in JPEG2000 J2C stream format + + + Remove a given number of tokens from the bucket + + Number of tokens to remove from the bucket + True if the requested number of tokens were removed from + the bucket, otherwise false - - Sound asset + + + Remove a given number of tokens from the bucket + + Number of tokens to remove from the bucket + True if tokens were added to the bucket + during this call, otherwise false + True if the requested number of tokens were removed from + the bucket, otherwise false + + + + Add tokens to the bucket over time. The number of tokens added each + call depends on the length of time that has passed since the last + call to Drip + + True if tokens were added to the bucket, otherwise false + + + + The parent bucket of this bucket, or null if this bucket has no + parent. The parent bucket will limit the aggregate bandwidth of all + of its children buckets + + + + + Maximum burst rate in bytes per second. This is the maximum number + of tokens that can accumulate in the bucket at any one time + + + + + The speed limit of this bucket in bytes per second. This is the + number of tokens that are added to the bucket per second + + Tokens are added to the bucket any time + is called, at the granularity of + the system tick interval (typically around 15-22ms) + + + + The number of bytes that can be sent at this moment. This is the + current number of tokens in the bucket + If this bucket has a parent bucket that does not have + enough tokens for a request, will + return false regardless of the content of this bucket + + + + + A two-dimensional vector with floating-point values + + + + X value + + + Y value + + + + Test if this vector is equal to another vector, within a given + tolerance range + + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false + + + + Test if this vector is composed of all finite numbers + + + + + IComparable.CompareTo implementation + + + + + Builds a vector from a byte array + + Byte array containing two four-byte floats + Beginning position in the byte array + + + + Returns the raw bytes for this vector + + An eight-byte array containing X and Y + + + + Writes the raw bytes for this vector to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 8 bytes before the end of the array + + + + Parse a vector from a string + + A string representation of a 2D vector, enclosed + in arrow brackets and separated by commas + + + + Interpolates between two vectors using a cubic equation + + + + + Get a formatted string representation of the vector + + A string representation of the vector + + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector + + + A vector with a value of 0,0 + + + A vector with a value of 1,1 + + + A vector with a value of 1,0 + + + A vector with a value of 0,1 + + + + Attribute class that allows extra attributes to be attached to ENUMs + + + + Text used when presenting ENUM to user + + + Default initializer + + + Text used when presenting ENUM to user + + + + The different types of grid assets + + + + Unknown asset type + + + Texture asset, stores in JPEG2000 J2C stream format + + + Sound asset Calling card for another avatar @@ -2332,270 +2524,78 @@ Invalid wearable asset - - - A thread-safe lockless queue that supports multiple readers and - multiple writers - - - - Queue head - - - Queue tail - - - Queue item count - - - - Constructor - - - - - Enqueue an item - - Item to enqeue - - - - Try to dequeue an item - - Dequeued item if the dequeue was successful - True if an item was successfully deqeued, otherwise false - - - Gets the current number of items in the queue. Since this - is a lockless collection this value should be treated as a close - estimate - - - - Provides a node container for data in a singly linked list - - - - Pointer to the next node in list - - - The data contained by the node - - - - Constructor - - - - - Constructor - - - - - A 128-bit Universally Unique Identifier, used throughout the Second - Life networking protocol - - - - The System.Guid object this struct wraps around - - - - Constructor that takes a string UUID representation - - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") - - - - Constructor that takes a System.Guid object - - A Guid object that contains the unique identifier - to be represented by this UUID - - - - Constructor that takes a byte array containing a UUID - - Byte array containing a 16 byte UUID - Beginning offset in the array - - - - Constructor that takes an unsigned 64-bit unsigned integer to - convert to a UUID - - 64-bit unsigned integer to convert to a UUID - - - - Copy constructor - - UUID to copy - - - - IComparable.CompareTo implementation - - - - - Assigns this UUID from 16 bytes out of a byte array - - Byte array containing the UUID to assign this UUID to - Starting position of the UUID in the byte array - - - - Returns a copy of the raw bytes for this UUID - - A 16 byte array containing this UUID - - - - Writes the raw bytes for this UUID to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - - - - Calculate an LLCRC (cyclic redundancy check) for this UUID - - The CRC checksum for this UUID - - - - Create a 64-bit integer representation from the second half of this UUID - - An integer created from the last eight bytes of this UUID - - - - Generate a UUID from a string - - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") - - - - Generate a UUID from a string - - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - Will contain the parsed UUID if successful, - otherwise null - True if the string was successfully parse, otherwise false - UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) - - - - Combine two UUIDs together by taking the MD5 hash of a byte array - containing both UUIDs - - First UUID to combine - Second UUID to combine - The UUID product of the combination - - + - + Same as Queue except Dequeue function blocks until there is an object to return. + Note: This class does not need to be synchronized - - + - Return a hash code for this UUID, used by .NET for hash tables + Create new BlockingQueue. - An integer composed of all the UUID bytes XORed together + The System.Collections.ICollection to copy elements from - + - Comparison function + Create new BlockingQueue. - An object to compare to this UUID - True if the object is a UUID and both UUIDs are equal + The initial number of elements that the queue can contain - + - Comparison function + Create new BlockingQueue. - UUID to compare to - True if the UUIDs are equal, otherwise false - + - Get a hyphenated string representation of this UUID + BlockingQueue Destructor (Close queue, resume any waiting thread). - A string representation of this UUID, lowercase and - with hyphens - 11f8aa9c-b071-4242-836b-13b7abe0d489 - + - Equals operator + Remove all objects from the Queue. - First UUID for comparison - Second UUID for comparison - True if the UUIDs are byte for byte equal, otherwise false - + - Not equals operator + Remove all objects from the Queue, resume all dequeue threads. - First UUID for comparison - Second UUID for comparison - True if the UUIDs are not equal, otherwise true - + - XOR operator + Removes and returns the object at the beginning of the Queue. - First UUID - Second UUID - A UUID that is a XOR combination of the two input UUIDs + Object in queue. - + - String typecasting operator + Removes and returns the object at the beginning of the Queue. - A UUID in string form. Case insensitive, - hyphenated or non-hyphenated - A UUID built from the string representation - - - An UUID with a value of all zeroes - - - A cache of UUID.Zero as a string to optimize a common path + time to wait before returning + Object in queue. - + - Copy constructor + Removes and returns the object at the beginning of the Queue. - Circular queue to copy + time to wait before returning (in milliseconds) + Object in queue. - + - Determines the appropriate events to set, leaves the locks, and sets the events. + Adds an object to the end of the Queue + Object to put in queue - + - A routine for lazily creating a event outside the lock (so if errors - happen they are outside the lock and that we don't do much work - while holding a spin lock). If all goes well, reenter the lock and - set 'waitEvent' + Open Queue. - + - Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. - Before the wait 'numWaiters' is incremented and is restored before leaving this routine. + Gets flag indicating if queue has been closed. diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 4d00d5e..49a0f3b 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 52ff860f30a16f57408d372cda9280cf71a95e3d Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 6 Nov 2013 23:27:19 +0000 Subject: minor: Make PID file examples in OpenSim and Robust config somewhat more meaningful than just /tmp/my.pid --- bin/OpenSim.ini.example | 2 +- bin/OpenSimDefaults.ini | 2 +- bin/Robust.ini.example | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index b78e3b7..d3f9156 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -69,7 +69,7 @@ ;# {PIDFile} {} {Path to PID file?} {} ;; Place to create a PID file - ; PIDFile = "/tmp/my.pid" + ; PIDFile = "/tmp/OpenSim.exe.pid" ;# {region_info_source} {} {Where to load region from?} {filesystem web} filesystem ;; Determine where OpenSimulator looks for the files which tell it diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index b56d5d1..ae7b794 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -21,7 +21,7 @@ crash_dir = "crashes" ; Place to create a PID file - ; PIDFile = "/tmp/my.pid" + ; PIDFile = "/tmp/OpenSim.exe.pid" ; Console commands run at startup startup_console_commands_file = "startup_commands.txt" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 0660de4..f79059b 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -15,7 +15,7 @@ [Startup] ; Place to create a PID file ; If no path if specified then a PID file is not created. - ; PIDFile = "/tmp/my.pid" + ; PIDFile = "/tmp/Robust.exe.pid" ; Plugin Registry Location ; Set path to directory for plugin registry. Information -- cgit v1.1 From 3b2721c95726a6968a23b6d27d83769f03b987b0 Mon Sep 17 00:00:00 2001 From: dahlia Date: Wed, 6 Nov 2013 19:13:41 -0800 Subject: update OpenMetaverse.dll to 7ae74674a09877119cbb4c80cbffea474e20da29 - addresses particle flags issue --- bin/OpenMetaverse.dll | Bin 1806336 -> 1806336 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index a91670d..30ad7e5 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ -- cgit v1.1 From 626a050159e0eb3d3d12fee482f2c9280b1b2b4e Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Fri, 8 Nov 2013 00:34:35 +0000 Subject: minor: Make PID file example in Robust.HG.ini more meaningful as is now the case in OpenSim and vanilla ROBUST config files --- bin/Robust.HG.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 2ad262a..965e241 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -23,7 +23,7 @@ [Startup] ; Place to create a PID file ; If no path if specified then a PID file is not created. - ; PIDFile = "/tmp/my.pid" + ; PIDFile = "/tmp/Robust.exe.pid" ; Plugin Registry Location ; Set path to directory for plugin registry. Information -- cgit v1.1 From 869a23e2234ce9b565249c5850324ca2de2f06ba Mon Sep 17 00:00:00 2001 From: justincc Date: Wed, 13 Nov 2013 01:07:14 +0000 Subject: Update OpenSim.32BitLaunch.exe and Robust.32BitLaunch.exe to .NET 4 versions. Also fixes some issues in associated solution files --- bin/OpenSim.32BitLaunch.exe | Bin 5632 -> 5632 bytes bin/Robust.32BitLaunch.exe | Bin 5632 -> 5632 bytes 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 bin/Robust.32BitLaunch.exe (limited to 'bin') diff --git a/bin/OpenSim.32BitLaunch.exe b/bin/OpenSim.32BitLaunch.exe index cc73c8b..62c14af 100755 Binary files a/bin/OpenSim.32BitLaunch.exe and b/bin/OpenSim.32BitLaunch.exe differ diff --git a/bin/Robust.32BitLaunch.exe b/bin/Robust.32BitLaunch.exe old mode 100644 new mode 100755 index 4d2698b..affedb4 Binary files a/bin/Robust.32BitLaunch.exe and b/bin/Robust.32BitLaunch.exe differ -- cgit v1.1 From f63fd81a686ed1ef33d524e28d511ad991b8dbad Mon Sep 17 00:00:00 2001 From: dahlia Date: Fri, 15 Nov 2013 14:40:38 -0800 Subject: update libomv to 1538d3088e79ff0a9abea6905b487755b6890a85 in hope that it fixes some bulletsim issues on linux --- bin/OpenMetaverse.StructuredData.dll | Bin 106496 -> 106496 bytes bin/OpenMetaverse.dll | Bin 1806336 -> 1806336 bytes bin/OpenMetaverseTypes.dll | Bin 110592 -> 110592 bytes 3 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 8b920bd..d980531 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 30ad7e5..4b558e7 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 49a0f3b..5add2f1 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From bd5c414618ef7fb02e3e62172c8f2bf7d7964cbf Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Sat, 23 Nov 2013 01:29:55 +0000 Subject: Stop .NET 4 complaining on Windows when it tries to load in DLLs that haven't been marked as trusted in the operating system. This is done by adding to the execute *.config files. This tells .NET 4 to trust the DLLs, which is safe in our case since we are not loading DLLs from locations that untrusted users may specify Addresses http://opensimulator.org/mantis/view.php?id=6853 and http://opensimulator.org/mantis/view.php?id=6846 As far as I know, CAS policy checks have never been performed in Mono --- bin/OpenSim.32BitLaunch.exe.config | 1 + bin/OpenSim.ConsoleClient.exe.config | 1 + bin/OpenSim.exe.config | 1 + bin/Robust.32BitLaunch.exe.config | 1 + bin/Robust.exe.config | 1 + bin/pCampBot.exe.config | 3 +++ 6 files changed, 8 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.32BitLaunch.exe.config b/bin/OpenSim.32BitLaunch.exe.config index 6a6b3c8..a07ace3 100644 --- a/bin/OpenSim.32BitLaunch.exe.config +++ b/bin/OpenSim.32BitLaunch.exe.config @@ -4,6 +4,7 @@
+ diff --git a/bin/OpenSim.ConsoleClient.exe.config b/bin/OpenSim.ConsoleClient.exe.config index 7aa974c..3a50408 100644 --- a/bin/OpenSim.ConsoleClient.exe.config +++ b/bin/OpenSim.ConsoleClient.exe.config @@ -4,6 +4,7 @@
+ diff --git a/bin/OpenSim.exe.config b/bin/OpenSim.exe.config index b2cb4e5..1ec3c9c 100755 --- a/bin/OpenSim.exe.config +++ b/bin/OpenSim.exe.config @@ -4,6 +4,7 @@
+ diff --git a/bin/Robust.32BitLaunch.exe.config b/bin/Robust.32BitLaunch.exe.config index ec17049..f2802a2 100644 --- a/bin/Robust.32BitLaunch.exe.config +++ b/bin/Robust.32BitLaunch.exe.config @@ -4,6 +4,7 @@
+ diff --git a/bin/Robust.exe.config b/bin/Robust.exe.config index 62975fd..6ffdfef 100644 --- a/bin/Robust.exe.config +++ b/bin/Robust.exe.config @@ -4,6 +4,7 @@
+ diff --git a/bin/pCampBot.exe.config b/bin/pCampBot.exe.config index 9cfb7e9..7912991 100755 --- a/bin/pCampBot.exe.config +++ b/bin/pCampBot.exe.config @@ -3,6 +3,9 @@
+ + + -- cgit v1.1 From 8217b52d3a05fcc78bee7cac5724b6e28cffe7f7 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Sat, 23 Nov 2013 01:40:48 +0000 Subject: Remove old *.exe.config files that related to programs that have long been deleted or renamed --- bin/OpenSim.Services.exe.config | 33 --------------------------------- bin/OpenSimExport.exe.config | 28 ---------------------------- bin/SimpleApp.exe.config | 28 ---------------------------- 3 files changed, 89 deletions(-) delete mode 100644 bin/OpenSim.Services.exe.config delete mode 100644 bin/OpenSimExport.exe.config delete mode 100644 bin/SimpleApp.exe.config (limited to 'bin') diff --git a/bin/OpenSim.Services.exe.config b/bin/OpenSim.Services.exe.config deleted file mode 100644 index c2d93c0..0000000 --- a/bin/OpenSim.Services.exe.config +++ /dev/null @@ -1,33 +0,0 @@ - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/OpenSimExport.exe.config b/bin/OpenSimExport.exe.config deleted file mode 100644 index 3fcb22d..0000000 --- a/bin/OpenSimExport.exe.config +++ /dev/null @@ -1,28 +0,0 @@ - - - -
- - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/SimpleApp.exe.config b/bin/SimpleApp.exe.config deleted file mode 100644 index c4d9c22..0000000 --- a/bin/SimpleApp.exe.config +++ /dev/null @@ -1,28 +0,0 @@ - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -- cgit v1.1 From 13017034b16bc4f406a2013b88ac3b88efa34c89 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Thu, 28 Nov 2013 00:23:27 +0000 Subject: minor: Change ProfileServiceURL reference in OpenSim.ini.example to be consistent --- bin/OpenSim.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index d3f9156..28c16cf 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1043,7 +1043,7 @@ [UserProfiles] - ;# {ProfileURL} {} {Set url to UserProfilesService} {} + ;# {ProfileServiceURL} {} {Set url to UserProfilesService} {} ;; Set the value of the url to your UserProfilesService ;; If un-set / "" the module is disabled ;; ProfileServiceURL = http://127.0.0.1:8002 -- cgit v1.1 From 70dd4cf1525deeaf2c71cb184a6f35dcc63b01df Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Fri, 10 Jan 2014 20:51:28 +0000 Subject: In library inventory, correct asset id for llSay example script From http://opensimulator.org/mantis/view.php?id=6917 Thanks to FreakyTech for this spot. --- bin/assets/ScriptsAssetSet/ScriptsAssetSet.xml | 6 +++--- bin/inventory/ScriptsLibrary/ScriptsLibraryItems.xml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'bin') diff --git a/bin/assets/ScriptsAssetSet/ScriptsAssetSet.xml b/bin/assets/ScriptsAssetSet/ScriptsAssetSet.xml index c76cb78..eae9642 100644 --- a/bin/assets/ScriptsAssetSet/ScriptsAssetSet.xml +++ b/bin/assets/ScriptsAssetSet/ScriptsAssetSet.xml @@ -89,9 +89,9 @@
-
+
- +
@@ -240,4 +240,4 @@
- \ No newline at end of file + diff --git a/bin/inventory/ScriptsLibrary/ScriptsLibraryItems.xml b/bin/inventory/ScriptsLibrary/ScriptsLibraryItems.xml index df9d867..6e51d0b 100644 --- a/bin/inventory/ScriptsLibrary/ScriptsLibraryItems.xml +++ b/bin/inventory/ScriptsLibrary/ScriptsLibraryItems.xml @@ -195,7 +195,7 @@
- + -- cgit v1.1 From 54a4b9eab4009711f574fe744e2dd82373c971c9 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 19 Jan 2014 07:33:56 -0800 Subject: varregion: Update Warp3D to properly handle varregions. This includes additions to Warp3D: Optional rendering of mesh and scupltie prims (INI parameter. Off by default) Texturing of large prims (INI parameter. On by default) Better garbage collection --- bin/OpenSim.ini.example | 12 ++++++++++++ bin/OpenSimDefaults.ini | 9 +++++++++ 2 files changed, 21 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 28c16cf..d422c33 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -308,6 +308,18 @@ ;; got a large number of objects, so you can turn it off here if you'd like. ; DrawPrimOnMapTile = true + ;# {TexturePrims} {} {Texture prims on map tiles?} {true false} true + ;; Texture the faces of the prims that are rendered on the map tiles. + ; TexturePrims = true + + ;# {TexturePrimSize} {} {Size of prims to texture faces?} {} 48 + ;; Only texture prims that have a diagonal size greater than this number + ; TexturePrimSize = 48 + + ;# {RenderMeshes} {} {Render meshes and sculpties on map tiles?} {true false} false + ;; Attempt to render meshes and sculpties on the map + ; RenderMeshes = false; + [Permissions] ;# {permissionmodules} {} {Permission modules to use (may specify multiple modules, separated by comma} {} DefaultPermissionsModule diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index ae7b794..d80f5ba 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -310,6 +310,15 @@ ; Use terrain texture for maptiles if true, use shaded green if false TextureOnMapTile = true + ; Texture prims + TexturePrims = true + + ; Only texture prims that have a diagonal size greater than this number + TexturePrimSize = 48 + + ; Attempt to render meshes and sculpties on the map + RenderMeshes = false; + [Permissions] ; ## ; ## PERMISSIONS -- cgit v1.1 From 3018b2c5d7c9de0e8da6d158f0848c840b7864ab Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Fri, 6 Dec 2013 16:21:11 +0200 Subject: Materials module: a) Store materials as assets; b) Finalized it (removed the "Demo" label; removed most of the logging); c) Enabled by default Changed UuidGatherer to use 'sbyte' to identify assets instead of 'AssetType'. This lets UuidGatherer handle Materials, which are defined in a different enum from 'AssetType'. --- bin/OpenSim.ini.example | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 28c16cf..28369a3 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -691,6 +691,12 @@ ; enable_windlight = false +[Materials] + ;# {enable_materials} {} {Enable Materials support?} {true false} true + ;; This enables the use of Materials. + ; enable_materials = true + + [DataSnapshot] ;# {index_sims} {} {Enable data snapshotting (search)?} {true false} false ;; The following set of configs pertains to search. -- cgit v1.1 From 4800303abdaff19471988097c89193ff6cc4b24e Mon Sep 17 00:00:00 2001 From: dahlia Date: Mon, 20 Jan 2014 03:18:36 -0800 Subject: update OpenMetaverse.StructuredData to git master (bf4e9f654ff99c85e20b53e56faac38e307dd8c2) which fixes JSON OSD serialization to a standards compliant means of encoding floating point NaN and Infinity --- bin/OpenMetaverse.StructuredData.XML | 234 +++++++++++++++++------------------ bin/OpenMetaverse.StructuredData.dll | Bin 106496 -> 106496 bytes 2 files changed, 117 insertions(+), 117 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.StructuredData.XML b/bin/OpenMetaverse.StructuredData.XML index 789ad5b..3999d99 100644 --- a/bin/OpenMetaverse.StructuredData.XML +++ b/bin/OpenMetaverse.StructuredData.XML @@ -4,123 +4,6 @@ OpenMetaverse.StructuredData - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Uses reflection to create an SDMap from all of the SD - serializable types in an object - - Class or struct containing serializable types - An SDMap holding the serialized values from the - container object - - - - Uses reflection to deserialize member variables in an object from - an SDMap - - Reference to an object to fill with deserialized - values - Serialized values to put in the target - object - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -345,5 +228,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Uses reflection to create an SDMap from all of the SD + serializable types in an object + + Class or struct containing serializable types + An SDMap holding the serialized values from the + container object + + + + Uses reflection to deserialize member variables in an object from + an SDMap + + Reference to an object to fill with deserialized + values + Serialized values to put in the target + object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index d980531..ed613e7 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ -- cgit v1.1 From 83626e60e69ac0534faffa40f9e79a5d3ae0d332 Mon Sep 17 00:00:00 2001 From: Mic Bowman Date: Mon, 20 Jan 2014 18:59:43 -0800 Subject: Adds a configuration option to cannibalize bandwidth from the udp texture throttle and move it to the task throttle. Since most viewers are using http textures, the udp texture throttle is holding onto bw that could be used for more responsive prims updates. See the documentation for CannibalizeTextureRate in OpenSimDefaults.ini. Option is disabled by default. --- bin/OpenSimDefaults.ini | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index ae7b794..0da99ba 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -539,6 +539,16 @@ ; ;TextureSendLimit = 20 + ; CannibalizeTextureRate allows bandwidth to be moved from the + ; UDP texture throttle to the task throttle. Since most viewers + ; use HTTP textures, this provides a means of using what is largely + ; unused bandwidth in the total throttle. The value is the proportion + ; of the texture rate to move to the task queue. It must be between + ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the + ; bandwidth is grabbed) + ; + ; CannibalizeTextureRate = 0.5 + ; Quash and remove any light properties from attachments not on the ; hands. This allows flashlights and lanterns to function, but kills ; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps -- cgit v1.1 From 0842e2e15b6af6f940648b0b74488f2da88ce920 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Wed, 29 Jan 2014 06:44:14 -0800 Subject: BulletSim: default physical terrain implementation to heightmap. It originally looked like mesh terrain would perform better for vehicles but, after much use, heightmap is the clear winner. Force terrain implementation to heightmap if the physics region is larger than legacy region size. This solves running out of memory for very large regions. --- bin/OpenSimDefaults.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index df94239..026f285 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1001,10 +1001,10 @@ ; Terrain implementation can use either Bullet's heightField or BulletSim can build ; a mesh. 0=heightField, 1=mesh - TerrainImplementation = 1 + TerrainImplementation = 0 ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher - ; magnification uses lots of memory. + ; magnifications use lots of memory. TerrainMeshMagnification = 2 ; Avatar physics height adjustments. -- cgit v1.1 From 1aed6567a822b49e51de943dab0f3187def95e28 Mon Sep 17 00:00:00 2001 From: Melanie Date: Tue, 4 Feb 2014 02:49:13 +0000 Subject: Samle configurations for the baked texture server. --- bin/OpenSim.ini.example | 5 +++++ bin/Robust.ini.example | 7 +++++++ 2 files changed, 12 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index b692758..e3b91ae 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1066,6 +1066,11 @@ ;; If un-set / "" the module is disabled ;; ProfileServiceURL = http://127.0.0.1:8002 +[XBakes] + ;# {URL} {} {Set URL for Baked texture service} {} + ;; Sets the URL for the baked texture ROBUST service. + ;; Disabled when unset. + ;; URL = http://127.0.0.1:8003 [Architecture] ;# {Include-Architecture} {} {Choose one of the following architectures} {config-include/Standalone.ini config-include/StandaloneHypergrid.ini config-include/Grid.ini config-include/GridHypergrid.ini config-include/SimianGrid.ini config-include/HyperSimianGrid.ini} config-include/Standalone.ini diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index f79059b..004a9c9 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -50,6 +50,8 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ;OfflineIMServiceConnector = "8003/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" ;; Uncomment this if you want Groups V2 to work ;GroupsServiceConnector = "8003/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" +;; Uncomment to provide bakes caching +;BakedTextureService = "8003/OpenSim.Server.Handlers.dll:XBakesConnector ;; Uncomment for UserProfiles see [UserProfilesService] to configure... ; UserProfilesServiceConnector = "8002/OpenSim.Server.Handlers.dll:UserProfilesConnector" @@ -450,3 +452,8 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" +[BakedTextureService] + LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes" + ;; This directiry must exist and be writable for the user ROBUST runs as + BaseDirectory = "/data/bakes" + -- cgit v1.1 From d6837f5dc7ac27948f6fbfd1660f0471d202a4c0 Mon Sep 17 00:00:00 2001 From: dahlia Date: Sat, 22 Feb 2014 18:52:59 -0800 Subject: update libomv to 59280cfe3e96714151158f4ec7b167af57f60e93 (current head) to hopefully resolve zlib incompatibilities when rendering maptiles with mesh --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes bin/OpenMetaverse.StructuredData.XML | 234 +- bin/OpenMetaverse.StructuredData.dll | Bin 106496 -> 106496 bytes bin/OpenMetaverse.XML | 38752 +++++++++++++------------- bin/OpenMetaverse.dll | Bin 1806336 -> 1806336 bytes bin/OpenMetaverseTypes.dll | Bin 110592 -> 110592 bytes 6 files changed, 19493 insertions(+), 19493 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 052490d..e1e251c 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.XML b/bin/OpenMetaverse.StructuredData.XML index 3999d99..789ad5b 100644 --- a/bin/OpenMetaverse.StructuredData.XML +++ b/bin/OpenMetaverse.StructuredData.XML @@ -4,6 +4,123 @@ OpenMetaverse.StructuredData + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Uses reflection to create an SDMap from all of the SD + serializable types in an object + + Class or struct containing serializable types + An SDMap holding the serialized values from the + container object + + + + Uses reflection to deserialize member variables in an object from + an SDMap + + Reference to an object to fill with deserialized + values + Serialized values to put in the target + object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -228,122 +345,5 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Uses reflection to create an SDMap from all of the SD - serializable types in an object - - Class or struct containing serializable types - An SDMap holding the serialized values from the - container object - - - - Uses reflection to deserialize member variables in an object from - an SDMap - - Reference to an object to fill with deserialized - values - Serialized values to put in the target - object - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index ed613e7..190a133 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.XML b/bin/OpenMetaverse.XML index 6e35a04..e9a00c6 100644 --- a/bin/OpenMetaverse.XML +++ b/bin/OpenMetaverse.XML @@ -4,26257 +4,26257 @@ OpenMetaverse - + - Starts a thread that keeps the daemon running + Sent to the client to indicate a teleport request has completed - - - + - Stops the daemon and the thread keeping it running + Interface requirements for Messaging system - - - - - - - + + The of the agent - - - This is used to get a list of audio devices that can be used for capture (input) of voice. - - + + - - - This is used to get a list of audio devices that can be used for render (playback) of voice. - + + The simulators handle the agent teleported to - - - This command is used to select the render device. - - The name of the device as returned by the Aux.GetRenderDevices command. + + A Uri which contains a list of Capabilities the simulator supports - - - This command is used to select the capture device. - - The name of the device as returned by the Aux.GetCaptureDevices command. + + Indicates the level of access required + to access the simulator, or the content rating, or the simulators + map status - - - This command is used to start the audio capture process which will cause - AuxAudioProperty Events to be raised. These events can be used to display a - microphone VU meter for the currently selected capture device. This command - should not be issued if the user is on a call. - - (unused but required) - + + The IP Address of the simulator - - - This command is used to stop the audio capture process. - - + + The UDP Port the simulator will listen for UDP traffic on - - - This command is used to set the mic volume while in the audio tuning process. - Once an acceptable mic level is attained, the application must issue a - connector set mic volume command to have that level be used while on voice - calls. - - the microphone volume (-100 to 100 inclusive) - + + Status flags indicating the state of the Agent upon arrival, Flying, etc. - + - This command is used to set the speaker volume while in the audio tuning - process. Once an acceptable speaker level is attained, the application must - issue a connector set speaker volume command to have that level be used while - on voice calls. + Serialize the object - the speaker volume (-100 to 100 inclusive) - + An containing the objects data - + - Create a Session - Sessions typically represent a connection to a media session with one or more - participants. This is used to generate an ‘outbound’ call to another user or - channel. The specifics depend on the media types involved. A session handle is - required to control the local user functions within the session (or remote - users if the current account has rights to do so). Currently creating a - session automatically connects to the audio media, there is no need to call - Session.Connect at this time, this is reserved for future use. + Deserialize the message - Handle returned from successful Connector ‘create’ request - This is the URI of the terminating point of the session (ie who/what is being called) - This is the display name of the entity being called (user or channel) - Only needs to be supplied when the target URI is password protected - This indicates the format of the password as passed in. This can either be - “ClearText” or “SHA1UserName”. If this element does not exist, it is assumed to be “ClearText”. If it is - “SHA1UserName”, the password as passed in is the SHA1 hash of the password and username concatenated together, - then base64 encoded, with the final “=” character stripped off. - - - + An containing the data - + - Used to accept a call + Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. - SessionHandle such as received from SessionNewEvent - "default" - - + - This command is used to start the audio render process, which will then play - the passed in file through the selected audio render device. This command - should not be issued if the user is on a call. + Serialize the object - The fully qualified path to the sound file. - True if the file is to be played continuously and false if it is should be played once. - + An containing the objects data - + - This command is used to stop the audio render process. + Deserialize the message - The fully qualified path to the sound file issued in the start render command. - + An containing the data - + - This is used to ‘end’ an established session (i.e. hang-up or disconnect). + Serialize the object - Handle returned from successful Session ‘create’ request or a SessionNewEvent - + An containing the objects data - + - Set the combined speaking and listening position in 3D space. + Deserialize the message - Handle returned from successful Session ‘create’ request or a SessionNewEvent - Speaking position - Listening position - + An containing the data - + - Set User Volume for a particular user. Does not affect how other users hear that user. + Serialize the object - Handle returned from successful Session ‘create’ request or a SessionNewEvent - - The level of the audio, a number between -100 and 100 where 0 represents ‘normal’ speaking volume - + An containing the objects data - + - Start up the Voice service. + Deserialize the message + An containing the data - + - Handle miscellaneous request status + A message sent to the client which indicates a teleport request has failed + and contains some information on why it failed - - - ///If something goes wrong, we log it. - - - Cleanup oject resources - + + - - - Request voice cap when changing regions - + + A string key of the reason the teleport failed e.g. CouldntTPCloser + Which could be used to look up a value in a dictionary or enum - - - Handle a change in session state - + + The of the Agent - + + A string human readable message containing the reason + An example: Could not teleport closer to destination + + - Close a voice session + Serialize the object - + An containing the objects data - + - Locate a Session context from its handle + Deserialize the message - Creates the session context if it does not exist. + An containing the data - + - Handle completion of main voice cap request. + Serialize the object - - - + An containing the objects data - + - Daemon has started so connect to it. + Deserialize the message + An containing the data - + - The daemon TCP connection is open. + Contains a list of prim owner information for a specific parcel in a simulator + + A Simulator will always return at least 1 entry + If agent does not have proper permission the OwnerID will be UUID.Zero + If agent does not have proper permission OR there are no primitives on parcel + the DataBlocksExtended map will not be sent from the simulator + - + + An Array of objects + + - Handle creation of the Connector. + Serialize the object + An containing the objects data - + - Handle response to audio output device query + Deserialize the message + An containing the data - + - Handle response to audio input device query + Prim ownership information for a specified owner on a single parcel - - - Set voice channel for new parcel - - + + The of the prim owner, + UUID.Zero if agent has no permission to view prim owner information - - - Request info from a parcel capability Uri. - - + + The total number of prims - - - Receive parcel voice cap - - - - + + True if the OwnerID is a - - - Tell Vivox where we are standing - - This has to be called when we move or turn. + + True if the owner is online + This is no longer used by the LL Simulators - - - Start and stop updating out position. - - + + The date the most recent prim was rezzed - + - This is used to login a specific user account(s). It may only be called after - Connector initialization has completed successfully + The details of a single parcel in a region, also contains some regionwide globals - Handle returned from successful Connector ‘create’ request - User's account name - User's account password - Values may be “AutoAnswer” or “VerifyAnswer” - "" - This is an integer that specifies how often - the daemon will send participant property events while in a channel. If this is not set - the default will be “on state change”, which means that the events will be sent when - the participant starts talking, stops talking, is muted, is unmuted. - The valid values are: - 0 – Never - 5 – 10 times per second - 10 – 5 times per second - 50 – 1 time per second - 100 – on participant state change (this is the default) - false - - - - This is used to logout a user session. It should only be called with a valid AccountHandle. - - Handle returned from successful Connector ‘login’ request - + + Simulator-local ID of this parcel - - - This is used to initialize and stop the Connector as a whole. The Connector - Create call must be completed successfully before any other requests are made - (typically during application initialization). The shutdown should be called - when the application is shutting down to gracefully release resources - - A string value indicting the Application name - URL for the management server - LoggingSettings - - + + Maximum corner of the axis-aligned bounding box for this + parcel - - - Shutdown Connector -- Should be called when the application is shutting down - to gracefully release resources - - Handle returned from successful Connector ‘create’ request + + Minimum corner of the axis-aligned bounding box for this + parcel - - - Mute or unmute the microphone - - Handle returned from successful Connector ‘create’ request - true (mute) or false (unmute) + + Total parcel land area - - - Mute or unmute the speaker - - Handle returned from successful Connector ‘create’ request - true (mute) or false (unmute) + + - - - Set microphone volume - - Handle returned from successful Connector ‘create’ request - The level of the audio, a number between -100 and 100 where - 0 represents ‘normal’ speaking volume + + Key of authorized buyer - - - Set local speaker volume - - Handle returned from successful Connector ‘create’ request - The level of the audio, a number between -100 and 100 where - 0 represents ‘normal’ speaking volume + + Bitmap describing land layout in 4x4m squares across the + entire region - - - Event for most mundane request reposnses. - + + - - Response to Connector.Create request + + Date land was claimed - - Response to Aux.GetCaptureDevices request + + Appears to always be zero - - Response to Aux.GetRenderDevices request + + Parcel Description - - Audio Properties Events are sent after audio capture is started. - These events are used to display a microphone VU meter + + - - Response to Account.Login request + + - - This event message is sent whenever the login state of the - particular Account has transitioned from one value to another + + Total number of primitives owned by the parcel group on + this parcel - - - List of audio input devices - + + Whether the land is deeded to a group or not - - - List of audio output devices - + + - - - Set audio test mode - + + Maximum number of primitives this parcel supports - - Enable logging + + The Asset UUID of the Texture which when applied to a + primitive will display the media - - The folder where any logs will be created + + A URL which points to any Quicktime supported media type - - This will be prepended to beginning of each log file + + A byte, if 0x1 viewer should auto scale media to fit object - - The suffix or extension to be appended to each log file + + URL For Music Stream - - - 0: NONE - No logging - 1: ERROR - Log errors only - 2: WARNING - Log errors and warnings - 3: INFO - Log errors, warnings and info - 4: DEBUG - Log errors, warnings, info and debug - + + Parcel Name - - - Constructor for default logging settings - + + Autoreturn value in minutes for others' objects - - Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter + + - - - - + + Total number of other primitives on this parcel - - + + UUID of the owner of this parcel - - + + Total number of primitives owned by the parcel owner on + this parcel - + - + + How long is pass valid for + + + Price for a temporary pass + + - + + Disallows people outside the parcel from being able to see in + + - + - + - - - Status of the last application run. - Used for error reporting to the grid login service for statistical purposes. - + + True if the region denies access to age unverified users - - Application exited normally + + - - Application froze + + This field is no longer used - - Application detected error and exited abnormally - - - Other crash - - - Application froze during logout + + The result of a request for parcel properties - - Application crashed during logout + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it - + - Login Request Parameters + Number of primitives your avatar is currently + selecting and sitting on in this parcel - - The URL of the Login Server - - - The number of milliseconds to wait before a login is considered - failed due to timeout - - - The request method - login_to_simulator is currently the only supported method - - - The Agents First name + + - - The Agents Last name + + + A number which increments by 1, starting at 0 for each ParcelProperties request. + Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. + a Negative number indicates the action in has occurred. + - - A md5 hashed password - plaintext password will be automatically hashed + + Maximum primitives across the entire simulator - - The agents starting location once logged in - Either "last", "home", or a string encoded URI - containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 + + Total primitives across the entire simulator - - A string containing the client software channel information - Second Life Release + + - - The client software version information - The official viewer uses: Second Life Release n.n.n.n - where n is replaced with the current version of the viewer + + Key of parcel snapshot - - A string containing the platform information the agent is running on + + Parcel ownership status - - A string hash of the network cards Mac Address + + Total number of primitives on this parcel - - Unknown or deprecated + + - - A string hash of the first disk drives ID used to identify this clients uniqueness + + - - A string containing the viewers Software, this is not directly sent to the login server but - instead is used to generate the Version string + + A description of the media - - A string representing the software creator. This is not directly sent to the login server but - is used by the library to generate the Version information + + An Integer which represents the height of the media - - If true, this agent agrees to the Terms of Service of the grid its connecting to + + An integer which represents the width of the media - - Unknown + + A boolean, if true the viewer should loop the media - - Status of the last application run sent to the grid login server for statistical purposes + + A string which contains the mime type of the media - - An array of string sent to the login server to enable various options + + true to obscure (hide) media url - - A randomly generated ID to distinguish between login attempts. This value is only used - internally in the library and is never sent over the wire + + true to obscure (hide) music url - + - Default constuctor, initializes sane default values + Serialize the object + An containing the objects data - + - Instantiates new LoginParams object and fills in the values + Deserialize the message - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number + An containing the data - - - Instantiates new LoginParams object and fills in the values - - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number - URI of the login server + + A message sent from the viewer to the simulator to updated a specific parcels settings - - - The decoded data returned from the login server after a successful login - + + The of the agent authorized to purchase this + parcel of land or a NULL if the sale is authorized to anyone - - true, false, indeterminate + + true to enable auto scaling of the parcel media - - Login message of the day + + The category of this parcel used when search is enabled to restrict + search results - - M or PG, also agent_region_access and agent_access_max + + A string containing the description to set - - - Parse LLSD Login Reply Data - - An - contaning the login response data - XML-RPC logins do not require this as XML-RPC.NET - automatically populates the struct properly using attributes + + The of the which allows for additional + powers and restrictions. - - - Login Routines - - - NetworkManager is responsible for managing the network layer of - OpenMetaverse. It tracks all the server connections, serializes - outgoing traffic and deserializes incoming traffic, and provides - instances of delegates for network-related events. - + + The which specifies how avatars which teleport + to this parcel are handled - - The event subscribers, null of no subscribers + + The LocalID of the parcel to update settings on - - Raises the LoginProgress Event - A LoginProgressEventArgs object containing - the data sent from the simulator + + A string containing the description of the media which can be played + to visitors - - Thread sync lock object + + - - Seed CAPS URL returned from the login server + + - - Maximum number of groups an agent can belong to, -1 for unlimited + + - - Server side baking service URL + + - - A list of packets obtained during the login process which - networkmanager will log but not process + + - - - Generate sane default values for a login request - - Account first name - Account last name - Account password - Client application name (channel) - Client application name + version - A populated struct containing - sane defaults + + - - - Simplified login that takes the most common and required fields - - Account first name - Account last name - Account password - Client application name (channel) - Client application name + version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error + + - - - Simplified login that takes the most common fields along with a - starting location URI, and can accept an MD5 string instead of a - plaintext password - - Account first name - Account last name - Account password or MD5 hash of the password - such as $1$1682a1e45e9f957dcdf0bb56eb43319c - Client application name (channel) - Starting location URI that can be built with - StartLocation() - Client application name + version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Login that takes a struct of all the values that will be passed to - the login server + Deserialize the message - The values that will be passed to the login - server, all fields must be set even if they are String.Empty - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error + An containing the data - + - Build a start location URI for passing to the Login function + Serialize the object - Name of the simulator to start in - X coordinate to start at - Y coordinate to start at - Z coordinate to start at - String with a URI that can be used to login to a specified - location + An containing the objects data - + + Base class used for the RemoteParcelRequest message + + - LoginParams and the initial login XmlRpcRequest were made on a remote machine. - This method now initializes libomv with the results. + A message sent from the viewer to the simulator to request information + on a remote parcel - + + Local sim position of the parcel we are looking up + + + Region handle of the parcel we are looking up + + + Region of the parcel we are looking up + + - Handles response from XML-RPC login replies + Serialize the object + An containing the objects data - + - Handles response from XML-RPC login replies with already parsed LoginResponseData + Deserialize the message + An containing the data - + - Handle response from LLSD login replies + A message sent from the simulator to the viewer in response to a + which will contain parcel information - - - - + + The grid-wide unique parcel ID + + - Get current OS + Serialize the object - Either "Win" or "Linux" + An containing the objects data - + - Get clients default Mac Address + Deserialize the message - A string containing the first found Mac Address + An containing the data - - The event subscribers, null of no subscribers + + + A message containing a request for a remote parcel from a viewer, or a response + from the simulator to that request + - - Raises the PacketSent Event - A PacketSentEventArgs object containing - the data sent from the simulator + + The request or response details block - - Thread sync lock object + + + Serialize the object + + An containing the objects data - - The event subscribers, null of no subscribers + + + Deserialize the message + + An containing the data - - Raises the LoggedOut Event - A LoggedOutEventArgs object containing - the data sent from the simulator + + + Serialize the object + + An containing the objects data - - Thread sync lock object + + + Deserialize the message + + An containing the data - - The event subscribers, null of no subscribers + + + Serialize the object + + An containing the objects data - - Raises the SimConnecting Event - A SimConnectingEventArgs object containing - the data sent from the simulator + + + Deserialize the message + + An containing the data - - Thread sync lock object + + + A message sent from the simulator to an agent which contains + the groups the agent is in + - - The event subscribers, null of no subscribers + + The Agent receiving the message - - Raises the SimConnected Event - A SimConnectedEventArgs object containing - the data sent from the simulator + + An array containing information + for each the agent is a member of - - Thread sync lock object + + An array containing information + for each the agent is a member of - - The event subscribers, null of no subscribers + + + Serialize the object + + An containing the objects data - - Raises the SimDisconnected Event - A SimDisconnectedEventArgs object containing - the data sent from the simulator + + + Deserialize the message + + An containing the data - - Thread sync lock object + + Group Details specific to the agent - - The event subscribers, null of no subscribers + + true of the agent accepts group notices - - Raises the Disconnected Event - A DisconnectedEventArgs object containing - the data sent from the simulator + + The agents tier contribution to the group - - Thread sync lock object + + The Groups - - The event subscribers, null of no subscribers + + The of the groups insignia - - Raises the SimChanged Event - A SimChangedEventArgs object containing - the data sent from the simulator + + The name of the group - - Thread sync lock object + + The aggregate permissions the agent has in the group for all roles the agent + is assigned - - The event subscribers, null of no subscribers + + An optional block containing additional agent specific information - - Raises the EventQueueRunning Event - A EventQueueRunningEventArgs object containing - the data sent from the simulator + + true of the agent allows this group to be + listed in their profile - - Thread sync lock object - - - All of the simulators we are currently connected to - - - Handlers for incoming capability events + + + A message sent from the viewer to the simulator which + specifies the language and permissions for others to detect + the language specified + - - Handlers for incoming packets + + A string containng the default language + to use for the agent - - Incoming packets that are awaiting handling + + true of others are allowed to + know the language setting - - Outgoing packets that are awaiting handling + + + Serialize the object + + An containing the objects data - + - Default constructor + Deserialize the message - Reference to the GridClient object + An containing the data - + - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library + An EventQueue message sent from the simulator to an agent when the agent + leaves a group - Packet type to trigger events for - Callback to fire when a packet of this type - is received - + - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library + An Array containing the AgentID and GroupID - Packet type to trigger events for - Callback to fire when a packet of this type - is received - True if the callback should be ran - asynchronously. Only set this to false (synchronous for callbacks - that will always complete quickly) - If any callback for a packet type is marked as - asynchronous, all callbacks for that packet type will be fired - asynchronously - + - Unregister an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library + Serialize the object - Packet type this callback is registered with - Callback to stop firing events for + An containing the objects data - + - Register a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library + Deserialize the message - Name of the CAPS event to register a handler for - Callback to fire when a CAPS event is received + An containing the data - + + An object containing the Agents UUID, and the Groups UUID + + + The ID of the Agent leaving the group + + + The GroupID the Agent is leaving + + + Base class for Asset uploads/results via Capabilities + + - Unregister a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library + The request state - Name of the CAPS event this callback is - registered with - Callback to stop firing events for - + - Send a packet to the simulator the avatar is currently occupying + Serialize the object - Packet to send + An containing the objects data - + - Send a packet to a specified simulator + Deserialize the message - Packet to send - Simulator to send the packet to + An containing the data - + - Connect to a simulator + A message sent from the viewer to the simulator to request a temporary upload capability + which allows an asset to be uploaded - IP address to connect to - Port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null - + + The Capability URL sent by the simulator to upload the baked texture to + + - Connect to a simulator + A message sent from the simulator that will inform the agent the upload is complete, + and the UUID of the uploaded asset - IP address and port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null - + + The uploaded texture asset ID + + - Initiate a blocking logout request. This will return when the logout - handshake has completed or when Settings.LOGOUT_TIMEOUT - has expired and the network layer is manually shut down + A message sent from the viewer to the simulator to request a temporary + capability URI which is used to upload an agents baked appearance textures - + + Object containing request or response + + - Initiate the logout process. Check if logout succeeded with the - OnLogoutReply event, and if this does not fire the - Shutdown() function needs to be manually called + Serialize the object + An containing the objects data - + - Close a connection to the given simulator + Deserialize the message - - + An containing the data - + - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout + A message sent from the simulator which indicates the minimum version required for + using voice chat - Type of shutdown - + + Major Version Required + + + Minor version required + + + The name of the region sending the version requrements + + - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout + Serialize the object - Type of shutdown - Shutdown message + An containing the objects data - + - Searches through the list of currently connected simulators to find - one attached to the given IPEndPoint + Deserialize the message - IPEndPoint of the Simulator to search for - A Simulator reference on success, otherwise null + An containing the data - + - Fire an event when an event queue connects for capabilities + A message sent from the simulator to the viewer containing the + voice server URI - Simulator the event queue is attached to - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The Parcel ID which the voice server URI applies - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The name of the region - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + A uri containing the server/channel information + which the viewer can utilize to participate in voice conversations - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Serialize the object + + An containing the objects data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Deserialize the message + + An containing the data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the simulator sends us data containing - ... - - - Called when a reply is received from the login server, the - login sequence will block until this event returns - - - Current state of logging in - - - Upon login failure, contains a short string key for the - type of login error that occurred - - - The raw XML-RPC reply from the login server, exactly as it - was received (minus the HTTP header) - - - During login this contains a descriptive version of - LoginStatusCode. After a successful login this will contain the - message of the day, and after a failed login a descriptive error - message will be returned - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Unique identifier associated with our connections to - simulators - - - The simulator that the logged in avatar is currently - occupying - - - Shows whether the network layer is logged in to the - grid or not - - - Number of packets in the incoming queue + + - - Number of packets in the outgoing queue + + - + - + Serialize the object - - - - - + An containing the objects data - + - Explains why a simulator or the grid disconnected from us + Deserialize the message + An containing the data - - The client requested the logout or simulator disconnect - - - The server notified us that it is disconnecting - - - Either a socket was closed or network traffic timed out - - - The last active simulator shut down - - + - Holds a simulator reference and a decoded packet, these structs are put in - the packet inbox for event handling + A message sent by the viewer to the simulator to request a temporary + capability for a script contained with in a Tasks inventory to be updated - - Reference to the simulator that this packet came from - - - Packet that needs to be processed + + Object containing request or response - + - Holds a simulator reference and a serialized packet, these structs are put in - the packet outbox for sending + Serialize the object + An containing the objects data - - Reference to the simulator this packet is destined for + + + Deserialize the message + + An containing the data - - Packet that needs to be sent + + + A message sent from the simulator to the viewer to indicate + a Tasks scripts status. + - - Sequence number of the wrapped packet + + The Asset ID of the script - - Number of times this packet has been resent + + True of the script is compiled/ran using the mono interpreter, false indicates it + uses the older less efficient lsl2 interprter - - Environment.TickCount when this packet was last sent over the wire + + The Task containing the scripts - - Type of the packet + + true of the script is in a running state - + - Registers, unregisters, and fires events generated by incoming packets + Serialize the object + An containing the objects data - - Reference to the GridClient object - - + - Default constructor + Deserialize the message - + An containing the data - + - Register an event handler + A message containing the request/response used for updating a gesture + contained with an agents inventory - Use PacketType.Default to fire this event on every - incoming packet - Packet type to register the handler for - Callback to be fired - True if this callback should be ran - asynchronously, false to run it synchronous - + + Object containing request or response + + - Unregister an event handler + Serialize the object - Packet type to unregister the handler for - Callback to be unregistered + An containing the objects data - + - Fire the events registered for this packet type + Deserialize the message - Incoming packet type - Incoming packet - Simulator this packet was received from + An containing the data - + - Object that is passed to worker threads in the ThreadPool for - firing packet callbacks + A message request/response which is used to update a notecard contained within + a tasks inventory - - Callback to fire for this packet - - - Reference to the simulator that this packet came from + + The of the Task containing the notecard asset to update - - The packet that needs to be processed + + The notecard assets contained in the tasks inventory - + - Registers, unregisters, and fires events generated by the Capabilities - event queue + Serialize the object + An containing the objects data - - Reference to the GridClient object + + + Deserialize the message + + An containing the data - + - Default constructor + A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability + which is used to update an asset in an agents inventory - Reference to the GridClient object - + - Register an new event handler for a capabilities event sent via the EventQueue + The Notecard AssetID to replace - Use String.Empty to fire this event on every CAPS event - Capability event name to register the - handler for - Callback to fire - + - Unregister a previously registered capabilities handler + Serialize the object - Capability event name unregister the - handler for - Callback to unregister + An containing the objects data - + - Fire the events registered for this event type synchronously + Deserialize the message - Capability name - Decoded event body - Reference to the simulator that - generated this event + An containing the data - + - Fire the events registered for this event type asynchronously + A message containing the request/response used for updating a notecard + contained with an agents inventory - Capability name - Decoded event body - Reference to the simulator that - generated this event - + + Object containing request or response + + - Object that is passed to worker threads in the ThreadPool for - firing CAPS callbacks + Serialize the object + An containing the objects data - - Callback to fire for this packet - - - Name of the CAPS event - - - Strongly typed decoded data + + + Deserialize the message + + An containing the data - - Reference to the simulator that generated this event + + + Serialize the object + + An containing the objects data - + - Represends individual HTTP Download request + Deserialize the message + An containing the data - - URI of the item to fetch + + + A message sent from the simulator to the viewer which indicates + an error occurred while attempting to update a script in an agents or tasks + inventory + - - Timout specified in milliseconds + + true of the script was successfully compiled by the simulator - - Download progress callback + + A string containing the error which occured while trying + to update the script - - Download completed callback + + A new AssetID assigned to the script - - Accept the following content type + + + A message sent from the viewer to the simulator + requesting the update of an existing script contained + within a tasks inventory + - - How many times will this request be retried + + if true, set the script mode to running - - Current fetch attempt + + The scripts InventoryItem ItemID to update - - Default constructor + + A lowercase string containing either "mono" or "lsl2" which + specifies the script is compiled and ran on the mono runtime, or the older + lsl runtime - - Constructor + + The tasks which contains the script to update - + - Manages async HTTP downloads with a limit on maximum - concurrent downloads + Serialize the object + An containing the objects data - - Default constructor - - - Cleanup method - - - Setup http download request - - - Check the queue for pending work - - - Enqueue a new HTPP download + + + Deserialize the message + + An containing the data - - Maximum number of parallel downloads from a single endpoint + + + A message containing either the request or response used in updating a script inside + a tasks inventory + - - Client certificate + + Object containing request or response - + - Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. + Serialize the object + An containing the objects data - + - Rotation Keyframe count (used internally) + Deserialize the message + An containing the data - + - Position Keyframe count (used internally) + Response from the simulator to notify the viewer the upload is completed, and + the UUID of the script asset and its compiled status - + + The uploaded texture asset ID + + + true of the script was compiled successfully + + - Animation Priority + A message sent from a viewer to the simulator requesting a temporary uploader capability + used to update a script contained in an agents inventory - + + The existing asset if of the script in the agents inventory to replace + + + The language of the script + Defaults to lsl version 2, "mono" might be another possible option + + - The animation length in seconds. + Serialize the object + An containing the objects data - + - Expression set in the client. Null if [None] is selected + Deserialize the message + An containing the data - + - The time in seconds to start the animation + A message containing either the request or response used in updating a script inside + an agents inventory - + + Object containing request or response + + - The time in seconds to end the animation + Serialize the object + An containing the objects data - + - Loop the animation + Deserialize the message + An containing the data - + - Meta data. Ease in Seconds. + Serialize the object + An containing the objects data - + - Meta data. Ease out seconds. + Deserialize the message + An containing the data - + + Base class for Map Layers via Capabilities + + + + + - Meta Data for the Hand Pose + Serialize the object + An containing the objects data - + - Number of joints defined in the animation + Deserialize the message + An containing the data - + - Contains an array of joints + Sent by an agent to the capabilities server to request map layers - + - Searialize an animation asset into it's joints/keyframes/meta data + A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates - - + + An array containing LayerData items + + - Variable length strings seem to be null terminated in the animation asset.. but.. - use with caution, home grown. - advances the index. + Serialize the object - The animation asset byte array - The offset to start reading - a string + An containing the objects data - + - Read in a Joint from an animation asset byte array - Variable length Joint fields, yay! - Advances the index + Deserialize the message - animation asset byte array - Byte Offset of the start of the joint - The Joint data serialized into the binBVHJoint structure + An containing the data - + - Read Keyframes of a certain type - advance i + An object containing map location details - Animation Byte array - Offset in the Byte Array. Will be advanced - Number of Keyframes - Scaling Min to pass to the Uint16ToFloat method - Scaling Max to pass to the Uint16ToFloat method - - - - Determines whether the specified is equal to the current . - - - true if the specified is equal to the current ; otherwise, false. - - The to compare with the current . - The parameter is null. - 2 + + The Asset ID of the regions tile overlay - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - 2 + + The grid location of the southern border of the map tile - - - A Joint and it's associated meta data and keyframes - + + The grid location of the western border of the map tile - - - Indicates whether this instance and a specified object are equal. - - - true if and this instance are the same type and represent the same value; otherwise, false. - - Another object to compare to. - 2 + + The grid location of the eastern border of the map tile - - - Returns the hash code for this instance. - - - A 32-bit signed integer that is the hash code for this instance. - - 2 + + The grid location of the northern border of the map tile - + + Object containing request or response + + - Name of the Joint. Matches the avatar_skeleton.xml in client distros + Serialize the object + An containing the objects data - + - Joint Animation Override? Was the same as the Priority in testing.. + Deserialize the message + An containing the data - + - Array of Rotation Keyframes in order from earliest to latest + New as of 1.23 RC1, no details yet. - + - Array of Position Keyframes in order from earliest to latest - This seems to only be for the Pelvis? + Serialize the object + An containing the objects data - + - Custom application data that can be attached to a joint + Deserialize the message + An containing the data - + - A Joint Keyframe. This is either a position or a rotation. + Serialize the object + An containing the objects data - + - Either a Vector3 position or a Vector3 Euler rotation + Deserialize the message + An containing the data - + + A string containing the method used + + - Poses set in the animation metadata for the hands. - + A request sent from an agent to the Simulator to begin a new conference. + Contains a list of Agents which will be included in the conference + - - Information about agents display name + + An array containing the of the agents invited to this conference - - Agent UUID + + The conferences Session ID - - Username + + + Serialize the object + + An containing the objects data - - Display name + + + Deserialize the message + + An containing the data - - First name (legacy) + + + A moderation request sent from a conference moderator + Contains an agent and an optional action to take + - - Last name (legacy) + + The Session ID - - Is display name default display name + + - - Cache display name until + + A list containing Key/Value pairs, known valid values: + key: text value: true/false - allow/disallow specified agents ability to use text in session + key: voice value: true/false - allow/disallow specified agents ability to use voice in session + + "text" or "voice" - - Last updated timestamp + + - + - Creates AgentDisplayName object from OSD + Serialize the object - Incoming OSD data - AgentDisplayName object + An containing the objects data - + - Return object as OSD map + Deserialize the message - OSD containing agent's display name data - - - Full name (legacy) + An containing the data - + - Holds group information for Avatars such as those you might find in a profile + A message sent from the agent to the simulator which tells the + simulator we've accepted a conference invitation - - true of Avatar accepts group notices - - - Groups Key - - - Texture Key for groups insignia - - - Name of the group - - - Powers avatar has in the group + + The conference SessionID - - Avatars Currently selected title + + + Serialize the object + + An containing the objects data - - true of Avatar has chosen to list this in their profile + + + Deserialize the message + + An containing the data - + - Contains an animation currently being played by an agent + Serialize the object + An containing the objects data - - The ID of the animation asset + + + Deserialize the message + + An containing the data - - A number to indicate start order of currently playing animations - On Linden Grids this number is unique per region, with OpenSim it is per client + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - + - Holds group information on an individual profile pick + Serialize the object + An containing the objects data - + - Retrieve friend status notifications, and retrieve avatar names and - profiles + Deserialize the message + An containing the data - - The event subscribers, null of no subscribers + + Key of sender - - Raises the AvatarAnimation Event - An AvatarAnimationEventArgs object containing - the data sent from the simulator + + Name of sender - - Thread sync lock object + + Key of destination avatar - - The event subscribers, null of no subscribers - - - Raises the AvatarAppearance Event - A AvatarAppearanceEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the UUIDNameReply Event - A UUIDNameReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarInterestsReply Event - A AvatarInterestsReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarPropertiesReply Event - A AvatarPropertiesReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarGroupsReply Event - A AvatarGroupsReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarPickerReply Event - A AvatarPickerReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the ViewerEffectPointAt Event - A ViewerEffectPointAtEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the ViewerEffectLookAt Event - A ViewerEffectLookAtEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the ViewerEffect Event - A ViewerEffectEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarPicksReply Event - A AvatarPicksReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object + + ID of originating estate - - The event subscribers, null of no subscribers + + Key of originating region - - Raises the PickInfoReply Event - A PickInfoReplyEventArgs object containing - the data sent from the simulator + + Coordinates in originating region - - Thread sync lock object + + Instant message type - - The event subscribers, null of no subscribers + + Group IM session toggle - - Raises the AvatarClassifiedReply Event - A AvatarClassifiedReplyEventArgs object containing - the data sent from the simulator + + Key of IM session, for Group Messages, the groups UUID - - Thread sync lock object + + Timestamp of the instant message - - The event subscribers, null of no subscribers + + Instant message text - - Raises the ClassifiedInfoReply Event - A ClassifiedInfoReplyEventArgs object containing - the data sent from the simulator + + Whether this message is held for offline avatars - - Thread sync lock object + + Context specific packed data - - The event subscribers, null of no subscribers + + Is this invitation for voice group/conference chat - - Raises the DisplayNameUpdate Event - A DisplayNameUpdateEventArgs object containing - the data sent from the simulator + + + Serialize the object + + An containing the objects data - - Thread sync lock object + + + Deserialize the message + + An containing the data - + - Represents other avatars + Sent from the simulator to the viewer. + + When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including + a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate + this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" + + During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are + excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with + the string "ENTER" or "LEAVE" respectively. - - - Tracks the specified avatar on your map - Avatar ID to track + + + Serialize the object + + An containing the objects data - + - Request a single avatar name + Deserialize the message - The avatar key to retrieve a name for + An containing the data - + - Request a list of avatar names + An EventQueue message sent when the agent is forcibly removed from a chatterbox session - The avatar keys to retrieve names for - + - Check if Display Names functionality is available + A string containing the reason the agent was removed - True if Display name functionality is available - + - Request retrieval of display names (max 90 names per request) + The ChatterBoxSession's SessionID - List of UUIDs to lookup - Callback to report result of the operation - + - Start a request for Avatar Properties + Serialize the object - + An containing the objects data - + - Search for an avatar (first name, last name) + Deserialize the message - The name to search for - An ID to associate with this query + An containing the data - + - Start a request for Avatar Picks + Serialize the object - UUID of the avatar + An containing the objects data - + - Start a request for Avatar Classifieds + Deserialize the message - UUID of the avatar + An containing the data - + - Start a request for details of a specific profile pick + Serialize the object - UUID of the avatar - UUID of the profile pick + An containing the objects data - + - Start a request for details of a specific profile classified + Deserialize the message - UUID of the avatar - UUID of the profile classified + An containing the data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Serialize the object + + An containing the objects data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Deserialize the message + + An containing the data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Serialize the object + + An containing the objects data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Deserialize the message + + An containing the data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + + - + - EQ Message fired when someone nearby changes their display name + Serialize the object - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet + An containing the objects data - + - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. + Deserialize the message - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet + An containing the data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Serialize the object + + An containing the objects data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Deserialize the message + + An containing the data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Serialize the object + + An containing the objects data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Deserialize the message + + An containing the data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Event Queue message describing physics engine attributes of a list of objects + Sim sends these when object is selected + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Array with the list of physics properties - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Serializes the message + + Serialized OSD - - Raised when the simulator sends us data containing - an agents animation playlist + + + Deseializes the message + + Incoming data to deserialize - - Raised when the simulator sends us data containing - the appearance information for an agent + + + A message sent from the viewer to the simulator which + specifies that the user has changed current URL + of the specific media on a prim face + - - Raised when the simulator sends us data containing - agent names/id values + + + New URL + - - Raised when the simulator sends us data containing - the interests listed in an agents profile + + + Prim UUID where navigation occured + - - Raised when the simulator sends us data containing - profile property information for an agent + + + Face index + - - Raised when the simulator sends us data containing - the group membership an agent is a member of + + + Serialize the object + + An containing the objects data - - Raised when the simulator sends us data containing - name/id pair + + + Deserialize the message + + An containing the data - - Raised when the simulator sends us data containing - the objects and effect when an agent is pointing at + + Base class used for the ObjectMedia message - - Raised when the simulator sends us data containing - the objects and effect when an agent is looking at + + + Message used to retrive prim media data + - - Raised when the simulator sends us data containing - an agents viewer effect information + + + Prim UUID + - - Raised when the simulator sends us data containing - the top picks from an agents profile + + + Requested operation, either GET or UPDATE + - - Raised when the simulator sends us data containing - the Pick details + + + Serialize object + + Serialized object as OSDMap - - Raised when the simulator sends us data containing - the classified ads an agent has placed + + + Deserialize the message + + An containing the data - - Raised when the simulator sends us data containing - the details of a classified ad + + + Message used to update prim media data + - - Raised when the simulator sends us data containing - the details of display name change + + + Prim UUID + - + - Callback giving results when fetching display names + Array of media entries indexed by face number - If the request was successful - Array of display names - Array of UUIDs that could not be fetched - - Provides data for the event - The event occurs when the simulator sends - the animation playlist for an agent - - The following code example uses the and - properties to display the animation playlist of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; - - private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) - { - // create a dictionary of "known" animations from the Animations class using System.Reflection - Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); - Type type = typeof(Animations); - System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); - foreach (System.Reflection.FieldInfo field in fields) - { - systemAnimations.Add((UUID)field.GetValue(type), field.Name); - } - - // find out which animations being played are known animations and which are assets - foreach (Animation animation in e.Animations) - { - if (systemAnimations.ContainsKey(animation.AnimationID)) - { - Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, - systemAnimations[animation.AnimationID], animation.AnimationSequence); - } - else - { - Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, - animation.AnimationID, animation.AnimationSequence); - } - } - } - - - - + - Construct a new instance of the AvatarAnimationEventArgs class + Media version string - The ID of the agent - The list of animations to start - - - Get the ID of the agent - - Get the list of animations to start + + + Serialize object + + Serialized object as OSDMap - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - + + + Deserialize the message + + An containing the data - + - Construct a new instance of the AvatarAppearanceEventArgs class + Message used to update prim media data - The simulator request was from - The ID of the agent - true of the agent is a trial account - The default agent texture - The agents appearance layer textures - The for the agent - - Get the Simulator this request is from of the agent + + + Prim UUID + - - Get the ID of the agent + + + Array of media entries indexed by face number + - - true if the agent is a trial account + + + Requested operation, either GET or UPDATE + - - Get the default agent texture + + + Serialize object + + Serialized object as OSDMap - - Get the agents appearance layer textures + + + Deserialize the message + + An containing the data - - Get the for the agent + + + Message for setting or getting per face MediaEntry + - - Version of the appearance system used. - Value greater than 0 indicates that server side baking is used + + The request or response details block - - Version of the Current Outfit Folder the appearance is based on + + + Serialize the object + + An containing the objects data - - Appearance flags, introduced with server side baking, currently unused + + + Deserialize the message + + An containing the data - - Represents the interests from the profile of an agent + + Details about object resource usage - - Get the ID of the agent + + Object UUID - - The properties of an agent + + Object name - - Get the ID of the agent + + Indicates if object is group owned - - Get the ID of the agent + + Locatio of the object - - Get the ID of the agent + + Object owner - - Get the ID of the avatar + + Resource usage, keys are resource names, values are resource usage for that specific resource - + - Event args class for display name notification messages + Deserializes object from OSD + An containing the data - + - A linkset asset, containing a parent primitive and zero or more children + Makes an instance based on deserialized data + serialized data + Instance containg deserialized data - - - Base class for all Asset types - + + Details about parcel resource usage - - A byte array containing the raw asset data + + Parcel UUID - - True if the asset it only stored on the server temporarily + + Parcel local ID - - A unique ID + + Parcel name - + + Indicates if parcel is group owned + + + Parcel owner + + + Array of containing per object resource usage + + - Construct a new Asset object + Deserializes object from OSD + An containing the data - + - Construct a new Asset object + Makes an instance based on deserialized data - A unique specific to this asset - A byte array containing the raw asset data + serialized data + Instance containg deserialized data - + + Resource usage base class, both agent and parcel resource + usage contains summary information + + + Summary of available resources, keys are resource names, + values are resource usage for that specific resource + + + Summary resource usage, keys are resource names, + values are resource usage for that specific resource + + - Regenerates the AssetData byte array from the properties - of the derived class. + Serializes object + serialized data - + - Decodes the AssetData, placing it in appropriate properties of the derived - class. + Deserializes object from OSD - True if the asset decoding succeeded, otherwise false + An containing the data - - The assets unique ID + + Agent resource usage - + + Per attachment point object resource usage + + - The "type" of asset, Notecard, Animation, etc + Deserializes object from OSD + An containing the data - - Initializes a new instance of an AssetPrim object - - + - Initializes a new instance of an AssetPrim object + Makes an instance based on deserialized data - A unique specific to this asset - A byte array containing the raw asset data + serialized data + Instance containg deserialized data - + - + Detects which class handles deserialization of this message + An containing the data + Object capable of decoding this message - - - - - + + Request message for parcel resource usage - - Override the base classes AssetType + + UUID of the parel to request resource usage info - + - Only used internally for XML serialization/deserialization + Serializes object + serialized data - + - The deserialized form of a single primitive in a linkset asset + Deserializes object from OSD + An containing the data - - Describes tasks returned in LandStatReply - - - - Estate level administration and utilities - + + Response message for parcel resource usage - - Textures for each of the four terrain height levels + + URL where parcel resource usage details can be retrieved - - Upper/lower texture boundaries for each corner of the sim + + URL where parcel resource usage summary can be retrieved - + - Constructor for EstateTools class + Serializes object - - - - The event subscribers. null if no subcribers - - - Raises the TopCollidersReply event - A TopCollidersReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the TopScriptsReply event - A TopScriptsReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the EstateUsersReply event - A EstateUsersReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the EstateGroupsReply event - A EstateGroupsReplyEventArgs object containing the - data returned from the data server + serialized data - - Thread sync lock object + + + Deserializes object from OSD + + An containing the data - - The event subscribers. null if no subcribers + + + Detects which class handles deserialization of this message + + An containing the data + Object capable of decoding this message - - Raises the EstateManagersReply event - A EstateManagersReplyEventArgs object containing the - data returned from the data server + + Parcel resource usage - - Thread sync lock object + + Array of containing per percal resource usage - - The event subscribers. null if no subcribers + + + Deserializes object from OSD + + An containing the data - - Raises the EstateBansReply event - A EstateBansReplyEventArgs object containing the - data returned from the data server + + + Reply to request for bunch if display names + - - Thread sync lock object + + Current display name - - The event subscribers. null if no subcribers + + Following UUIDs failed to return a valid display name - - Raises the EstateCovenantReply event - A EstateCovenantReplyEventArgs object containing the - data returned from the data server + + + Serializes the message + + OSD containting the messaage - - Thread sync lock object + + + Message sent when requesting change of the display name + - - The event subscribers. null if no subcribers + + Current display name - - Raises the EstateUpdateInfoReply event - A EstateUpdateInfoReplyEventArgs object containing the - data returned from the data server + + Desired new display name - - Thread sync lock object + + + Serializes the message + + OSD containting the messaage - + - Requests estate information such as top scripts and colliders + Message recieved in response to request to change display name - - - - - - Requests estate settings, including estate manager and access/ban lists + + New display name - - Requests the "Top Scripts" list for the current region + + String message indicating the result of the operation - - Requests the "Top Colliders" list for the current region + + Numerical code of the result, 200 indicates success - + - Set several estate specific configuration variables + Serializes the message - The Height of the waterlevel over the entire estate. Defaults to 20 - The maximum height change allowed above the baked terrain. Defaults to 4 - The minimum height change allowed below the baked terrain. Defaults to -4 - true to use - if True forces the sun position to the position in SunPosition - The current position of the sun on the estate, or when FixedSun is true the static position - the sun will remain. 6.0 = Sunrise, 30.0 = Sunset + OSD containting the messaage - + - Request return of objects owned by specified avatar + Message recieved when someone nearby changes their display name - The Agents owning the primitives to return - specify the coverage and type of objects to be included in the return - true to perform return on entire estate - - - - + + Previous display name, empty string if default - + + New display name + + - Used for setting and retrieving various estate panel settings + Serializes the message - EstateOwnerMessage Method field - List of parameters to include + OSD containting the messaage - + - Kick an avatar from an estate + - Key of Agent to remove - + - Ban an avatar from an estate - Key of Agent to remove - Ban user from this estate and all others owned by the estate owner - - - Unban an avatar from an estate - Key of Agent to remove - /// Unban user from this estate and all others owned by the estate owner + Initialize the UDP packet handler in server mode + + Port to listening for incoming UDP packets on - + - Send a message dialog to everyone in an entire estate + Initialize the UDP packet handler in client mode - Message to send all users in the estate + Remote UDP server to connect to - + - Send a message dialog to everyone in a simulator + - Message to send all users in the simulator - + - Send an avatar back to their home location + - Key of avatar to send home - + - Begin the region restart process + - + - Cancels a region restart + - - Estate panel "Region" tab settings - - - Estate panel "Debug" tab settings + + No report - - Used for setting the region's terrain textures for its four height levels - - - - + + Unknown report type - - Used for setting sim terrain texture heights + + Bug report - - Requests the estate covenant + + Complaint report - - - Upload a terrain RAW file - - A byte array containing the encoded terrain data - The name of the file being uploaded - The Id of the transfer request + + Customer service report - + - Teleports all users home in current Estate + Bitflag field for ObjectUpdateCompressed data blocks, describing + which options are present for each object - - - Remove estate manager - Key of Agent to Remove - removes manager to this estate and all others owned by the estate owner + + Unknown - - - Add estate manager - Key of Agent to Add - Add agent as manager to this estate and all others owned by the estate owner + + Whether the object has a TreeSpecies - - - Add's an agent to the estate Allowed list - Key of Agent to Add - Add agent as an allowed reisdent to All estates if true + + Whether the object has floating text ala llSetText - - - Removes an agent from the estate Allowed list - Key of Agent to Remove - Removes agent as an allowed reisdent from All estates if true + + Whether the object has an active particle system - - - - Add's a group to the estate Allowed list - Key of Group to Add - Add Group as an allowed group to All estates if true + + Whether the object has sound attached to it - - - - Removes a group from the estate Allowed list - Key of Group to Remove - Removes Group as an allowed Group from All estates if true + + Whether the object is attached to a root object or not - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Whether the object has texture animation settings - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Whether the object has an angular velocity - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Whether the object has a name value pairs string - - Raised when the data server responds to a request. + + Whether the object has a Media URL set - - Raised when the data server responds to a request. + + + Specific Flags for MultipleObjectUpdate requests + - - Raised when the data server responds to a request. + + None - - Raised when the data server responds to a request. + + Change position of prims - - Raised when the data server responds to a request. + + Change rotation of prims - - Raised when the data server responds to a request. + + Change size of prims - - Raised when the data server responds to a request. + + Perform operation on link set - - Raised when the data server responds to a request. + + Scale prims uniformly, same as selecing ctrl+shift in the + viewer. Used in conjunction with Scale - - Used in the ReportType field of a LandStatRequest + + + Special values in PayPriceReply. If the price is not one of these + literal value of the price should be use + - - Used by EstateOwnerMessage packets + + + Indicates that this pay option should be hidden + - - Used by EstateOwnerMessage packets + + + Indicates that this pay option should have the default value + - + - + Contains the variables sent in an object update packet for objects. + Used to track position and movement of prims and avatars - - No flags set + + - - Only return targets scripted objects + + - - Only return targets objects if on others land + + - - Returns target's scripted objects and objects on other parcels + + - - Ground texture settings for each corner of the region + + - - Used by GroundTextureHeightSettings + + - - The high and low texture thresholds for each corner of the sim + + - - Raised on LandStatReply when the report type is for "top colliders" + + - - Construct a new instance of the TopCollidersReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply + + - - - The number of returned items in LandStatReply - + + - + - A Dictionary of Object UUIDs to tasks returned in LandStatReply + Handles all network traffic related to prims and avatar positions and + movement. - - Raised on LandStatReply when the report type is for "top Scripts" - - - Construct a new instance of the TopScriptsReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply + + The event subscribers, null of no subscribers - - - The number of scripts returned in LandStatReply - + + Thread sync lock object - - - A Dictionary of Object UUIDs to tasks returned in LandStatReply - + + The event subscribers, null of no subscribers - - Returned, along with other info, upon a successful .RequestInfo() + + Raises the ObjectProperties Event + A ObjectPropertiesEventArgs object containing + the data sent from the simulator - - Construct a new instance of the EstateBansReplyEventArgs class - The estate's identifier on the grid - The number of returned items in LandStatReply - User UUIDs banned + + Thread sync lock object - - - The identifier of the estate - + + The event subscribers, null of no subscribers - - - The number of returned itmes - + + Raises the ObjectPropertiesUpdated Event + A ObjectPropertiesUpdatedEventArgs object containing + the data sent from the simulator - - - List of UUIDs of Banned Users - + + Thread sync lock object - - Returned, along with other info, upon a successful .RequestInfo() + + The event subscribers, null of no subscribers - - Construct a new instance of the EstateUsersReplyEventArgs class - The estate's identifier on the grid - The number of users - Allowed users UUIDs + + Raises the ObjectPropertiesFamily Event + A ObjectPropertiesFamilyEventArgs object containing + the data sent from the simulator - - - The identifier of the estate - + + Thread sync lock object - - - The number of returned items - + + The event subscribers, null of no subscribers - - - List of UUIDs of Allowed Users - + + Raises the AvatarUpdate Event + A AvatarUpdateEventArgs object containing + the data sent from the simulator - - Returned, along with other info, upon a successful .RequestInfo() + + Thread sync lock object - - Construct a new instance of the EstateGroupsReplyEventArgs class - The estate's identifier on the grid - The number of Groups - Allowed Groups UUIDs + + The event subscribers, null of no subscribers - - - The identifier of the estate - + + Thread sync lock object - - - The number of returned items - + + The event subscribers, null of no subscribers - - - List of UUIDs of Allowed Groups - + + Raises the ObjectDataBlockUpdate Event + A ObjectDataBlockUpdateEventArgs object containing + the data sent from the simulator - - Returned, along with other info, upon a successful .RequestInfo() + + Thread sync lock object - - Construct a new instance of the EstateManagersReplyEventArgs class - The estate's identifier on the grid - The number of Managers - Managers UUIDs + + The event subscribers, null of no subscribers - - - The identifier of the estate - + + Raises the KillObject Event + A KillObjectEventArgs object containing + the data sent from the simulator - - - The number of returned items - + + Thread sync lock object - - - List of UUIDs of the Estate's Managers - + + The event subscribers, null of no subscribers - - Returned, along with other info, upon a successful .RequestInfo() + + Raises the KillObjects Event + A KillObjectsEventArgs object containing + the data sent from the simulator - - Construct a new instance of the EstateCovenantReplyEventArgs class - The Covenant ID - The timestamp - The estate's name - The Estate Owner's ID (can be a GroupID) + + Thread sync lock object - - - The Covenant - + + The event subscribers, null of no subscribers - + + Raises the AvatarSitChanged Event + A AvatarSitChangedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the PayPriceReply Event + A PayPriceReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the PhysicsProperties Event + A PhysicsPropertiesEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Reference to the GridClient object + + + Does periodic dead reckoning calculation to convert + velocity and acceleration to new positions for objects + + - The timestamp + Construct a new instance of the ObjectManager class + A reference to the instance - + - The Estate name + Request information for a single object from a + you are currently connected to + The the object is located + The Local ID of the object - + - The Estate Owner's ID (can be a GroupID) + Request information for multiple objects contained in + the same simulator + The the objects are located + An array containing the Local IDs of the objects - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateUpdateInfoReplyEventArgs class - The estate's name - The Estate Owners ID (can be a GroupID) - The estate's identifier on the grid - + + + Attempt to purchase an original object, a copy, or the contents of + an object + + The the object is located + The Local ID of the object + Whether the original, a copy, or the object + contents are on sale. This is used for verification, if the this + sale type is not valid for the object the purchase will fail + Price of the object. This is used for + verification, if it does not match the actual price the purchase + will fail + Group ID that will be associated with the new + purchase + Inventory folder UUID where the object or objects + purchased should be placed + + + BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, + 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); + + - + - The estate's name + Request prices that should be displayed in pay dialog. This will triggger the simulator + to send us back a PayPriceReply which can be handled by OnPayPriceReply event + The the object is located + The ID of the object + The result is raised in the event - + - The Estate Owner's ID (can be a GroupID) + Select a single object. This will cause the to send us + an which will raise the event + The the object is located + The Local ID of the object + - + - The identifier of the estate on the grid + Select a single object. This will cause the to send us + an which will raise the event + The the object is located + The Local ID of the object + if true, a call to is + made immediately following the request + - - - - + - Manager class for our own avatar - + Select multiple objects. This will cause the to send us + an which will raise the event +
+ The the objects are located + An array containing the Local IDs of the objects + Should objects be deselected immediately after selection +
- - The event subscribers. null if no subcribers - - - Raises the ChatFromSimulator event - A ChatEventArgs object containing the - data returned from the data server + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + - - Thread sync lock object + + + Update the properties of an object + + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on - - The event subscribers. null if no subcribers + + + Update the properties of an object + + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on + Type of the represetnation prim will have in the physics engine + Density - normal value 1000 + Friction - normal value 0.6 + Restitution - standard value 0.5 + Gravity multiplier - standar value 1.0 - - Raises the ScriptDialog event - A SctriptDialogEventArgs object containing the - data returned from the data server + + + Sets the sale properties of a single object + + The the object is located + The Local ID of the object + One of the options from the enum + The price of the object - - Thread sync lock object + + + Sets the sale properties of multiple objects + + The the objects are located + An array containing the Local IDs of the objects + One of the options from the enum + The price of the object - - The event subscribers. null if no subcribers + + + Deselect a single object + + The the object is located + The Local ID of the object - - Raises the ScriptQuestion event - A ScriptQuestionEventArgs object containing the - data returned from the data server + + + Deselect multiple objects. + + The the objects are located + An array containing the Local IDs of the objects - - Thread sync lock object + + + Perform a click action on an object + + The the object is located + The Local ID of the object - - The event subscribers. null if no subcribers + + + Perform a click action (Grab) on a single object + + The the object is located + The Local ID of the object + The texture coordinates to touch + The surface coordinates to touch + The face of the position to touch + The region coordinates of the position to touch + The surface normal of the position to touch (A normal is a vector perpindicular to the surface) + The surface binormal of the position to touch (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - - Raises the LoadURL event - A LoadUrlEventArgs object containing the - data returned from the data server + + + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties - - Thread sync lock object + + + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Specify the + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties - - The event subscribers. null if no subcribers + + + Rez a Linden tree + + A reference to the object where the object resides + The size of the tree + The rotation of the tree + The position of the tree + The Type of tree + The of the group to set the tree to, + or UUID.Zero if no group is to be set + true to use the "new" Linden trees, false to use the old - - Raises the MoneyBalance event - A BalanceEventArgs object containing the - data returned from the data server + + + Rez grass and ground cover + + A reference to the object where the object resides + The size of the grass + The rotation of the grass + The position of the grass + The type of grass from the enum + The of the group to set the tree to, + or UUID.Zero if no group is to be set - - Thread sync lock object + + + Set the textures to apply to the faces of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply - - The event subscribers. null if no subcribers + + + Set the textures to apply to the faces of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply + A media URL (not used) - - Raises the MoneyBalanceReply event - A MoneyBalanceReplyEventArgs object containing the - data returned from the data server + + + Set the Light data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - - Thread sync lock object + + + Set the flexible data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - - The event subscribers. null if no subcribers + + + Set the sculptie texture and data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - - Raises the IM event - A InstantMessageEventArgs object containing the - data returned from the data server + + + Unset additional primitive parameters on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The extra parameters to set - - Thread sync lock object + + + Link multiple prims into a linkset + + A reference to the object where the objects reside + An array which contains the IDs of the objects to link + The last object in the array will be the root object of the linkset TODO: Is this true? - - The event subscribers. null if no subcribers + + + Delink/Unlink multiple prims from a linkset + + A reference to the object where the objects reside + An array which contains the IDs of the objects to delink - - Raises the TeleportProgress event - A TeleportEventArgs object containing the - data returned from the data server + + + Change the rotation of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation of the object - - Thread sync lock object + + + Set the name of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new name of the object - - The event subscribers. null if no subcribers + + + Set the name of multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the name of + An array which contains the new names of the objects - - Raises the AgentDataReply event - A AgentDataReplyEventArgs object containing the - data returned from the data server + + + Set the description of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new description of the object - - Thread sync lock object + + + Set the descriptions of multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the description of + An array which contains the new descriptions of the objects - - The event subscribers. null if no subcribers + + + Attach an object to this avatar + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The point on the avatar the object will be attached + The rotation of the attached object - - Raises the AnimationsChanged event - A AnimationsChangedEventArgs object containing the - data returned from the data server + + + Drop an attached object from this avatar + + A reference to the + object where the objects reside. This will always be the simulator the avatar is currently in + + The object's ID which is local to the simulator the object is in - - Thread sync lock object + + + Detach an object from yourself + + A reference to the + object where the objects reside + + This will always be the simulator the avatar is currently in + + An array which contains the IDs of the objects to detach - - The event subscribers. null if no subcribers + + + Change the position of an object, Will change position of entire linkset + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object - - Raises the MeanCollision event - A MeanCollisionEventArgs object containing the - data returned from the data server + + + Change the position of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object + if true, will change position of (this) child prim only, not entire linkset - - Thread sync lock object + + + Change the Scale (size) of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change scale of this prim only, not entire linkset + True to resize prims uniformly - - The event subscribers. null if no subcribers + + + Change the Rotation of an object that is either a child or a whole linkset + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change rotation of this prim only, not entire linkset - - Raises the RegionCrossed event - A RegionCrossedEventArgs object containing the - data returned from the data server + + + Send a Multiple Object Update packet to change the size, scale or rotation of a primitive + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation, size, or position of the target object + The flags from the Enum - - Thread sync lock object + + + Deed an object (prim) to a group, Object must be shared with group which + can be accomplished with SetPermissions() + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The of the group to deed the object to - - The event subscribers. null if no subcribers + + + Deed multiple objects (prims) to a group, Objects must be shared with group which + can be accomplished with SetPermissions() + + A reference to the object where the object resides + An array which contains the IDs of the objects to deed + The of the group to deed the object to - - Raises the GroupChatJoined event - A GroupChatJoinedEventArgs object containing the - data returned from the data server + + + Set the permissions on multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the permissions on + The new Who mask to set + Which permission to modify + The new state of permission - - Thread sync lock object + + + Request additional properties for an object + + A reference to the object where the object resides + - - The event subscribers. null if no subcribers + + + Request additional properties for an object + + A reference to the object where the object resides + Absolute UUID of the object + Whether to require server acknowledgement of this request - - Raises the AlertMessage event - A AlertMessageEventArgs object containing the - data returned from the data server + + + Set the ownership of a list of objects to the specified group + + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the group id on + The Groups ID - - Thread sync lock object + + + Update current URL of the previously set prim media + + UUID of the prim + Set current URL to this + Prim face number + Simulator in which prim is located - - The event subscribers. null if no subcribers + + + Set object media + + UUID of the prim + Array the length of prims number of faces. Null on face indexes where there is + no media, on faces which contain the media + Simulatior in which prim is located - - Raises the ScriptControlChange event - A ScriptControlEventArgs object containing the - data returned from the data server + + + Retrieve information about object media + + UUID of the primitive + Simulator where prim is located + Call this callback when done - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers. null if no subcribers + + + A terse object update, used when a transformation matrix or + velocity/acceleration for an object changes but nothing else + (scale/position/rotation/acceleration/velocity) + + The sender + The EventArgs object containing the packet data - - Raises the CameraConstraint event - A CameraConstraintEventArgs object containing the - data returned from the data server + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers. null if no subcribers - - - Raises the ScriptSensorReply event - A ScriptSensorReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the AvatarSitResponse event - A AvatarSitResponseEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the ChatSessionMemberAdded event - A ChatSessionMemberAddedEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the ChatSessionMemberLeft event - A ChatSessionMemberLeftEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the SetDisplayNameReply Event - A SetDisplayNameReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the MuteListUpdated event - A EventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Reference to the GridClient instance - - - Used for movement and camera tracking - - - Currently playing animations for the agent. Can be used to - check the current movement status such as walking, hovering, aiming, - etc. by checking against system animations found in the Animations class - - - Dictionary containing current Group Chat sessions and members + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Dictionary containing mute list keyead on mute name and key + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Various abilities and preferences sent by the grid + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Constructor, setup callbacks for packets related to our avatar - - A reference to the Class + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Send a text message from the Agent to the Simulator + - A containing the message - The channel to send the message on, 0 is the public channel. Channels above 0 - can be used however only scripts listening on the specified channel will see the message - Denotes the type of message being sent, shout, whisper, etc. + + + - + - Request any instant messages sent while the client was offline to be resent. + Setup construction data for a basic primitive shape + Primitive shape to construct + Construction data that can be plugged into a - + - Send an Instant Message to another Avatar + - The recipients - A containing the message to send + + + + - + - Send an Instant Message to an existing group chat or conference chat + - The recipients - A containing the message to send - IM session ID (to differentiate between IM windows) + + - + - Send an Instant Message + Set the Shape data of an object - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - IDs of sessions for a conference + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + Data describing the prim shape - + - Send an Instant Message + Set the Material data of an object - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - Type of instant message to send - Whether to IM offline avatars as well - Senders Position - RegionID Sender is In - Packed binary data that is specific to - the dialog type + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new material of the object - + - Send an Instant Message to a group + - of the group to send message to - Text Message being sent. + + + + - + - Send an Instant Message to a group the agent is a member of + - The name this IM will show up as being from - of the group to send message to - Text message being sent + + + + + - + - Send a request to join a group chat session + - of Group to leave + + + + - - - Exit a group chat session. This will stop further Group chat messages - from being sent until session is rejoined. - - of Group chat session to leave + + Raised when the simulator sends us data containing + A , Foliage or Attachment + + - - - Reply to script dialog questions. - - Channel initial request came on - Index of button you're "clicking" - Label of button you're "clicking" - of Object that sent the dialog request - + + Raised when the simulator sends us data containing + additional information + + - - - Accept invite for to a chatterbox session - - of session to accept invite to + + Raised when the simulator sends us data containing + Primitive.ObjectProperties for an object we are currently tracking - - - Start a friends conference - - List of UUIDs to start a conference with - the temportary session ID returned in the callback> + + Raised when the simulator sends us data containing + additional and details + - - - Start a particle stream between an agent and an object - - Key of the source agent - Key of the target object - - The type from the enum - A unique for this effect + + Raised when the simulator sends us data containing + updated information for an - - - Start a particle stream between an agent and an object - - Key of the source agent - Key of the target object - A representing the beams offset from the source - A which sets the avatars lookat animation - of the Effect + + Raised when the simulator sends us data containing + and movement changes - - - Create a particle beam between an avatar and an primitive - - The ID of source avatar - The ID of the target primitive - global offset - A object containing the combined red, green, blue and alpha - color values of particle beam - a float representing the duration the parcicle beam will last - A Unique ID for the beam - + + Raised when the simulator sends us data containing + updates to an Objects DataBlock - - - Create a particle swirl around a target position using a packet - - global offset - A object containing the combined red, green, blue and alpha - color values of particle beam - a float representing the duration the parcicle beam will last - A Unique ID for the beam + + Raised when the simulator informs us an + or is no longer within view - - - Sends a request to sit on the specified object - - of the object to sit on - Sit at offset + + Raised when the simulator informs us when a group of + or is no longer within view - - - Follows a call to to actually sit on the object - + + Raised when the simulator sends us data containing + updated sit information for our - - Stands up from sitting on a prim or the ground - true of AgentUpdate was sent + + Raised when the simulator sends us data containing + purchase price information for a - - - Does a "ground sit" at the avatar's current position - + + Raised when the simulator sends us data containing + additional information + + - + - Starts or stops flying + Callback for getting object media data via CAP - True to start flying, false to stop flying + Indicates if the operation was succesfull + Object media version string + Array indexed on prim face of media entry data - - - Starts or stops crouching - - True to start crouching, false to stop crouching + + Provides data for the event + The event occurs when the simulator sends + an containing a Primitive, Foliage or Attachment data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or + if an Avatar crosses the border into a new simulator and returns to the current simulator + + + The following code example uses the , , and + properties to display new Primitives and Attachments on the window. + + // Subscribe to the event that gives us prim and foliage information + Client.Objects.ObjectUpdate += Objects_ObjectUpdate; + + + private void Objects_ObjectUpdate(object sender, PrimEventArgs e) + { + Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); + } + + + + + - + - Starts a jump (begin holding the jump key) + Construct a new instance of the PrimEventArgs class + The simulator the object originated from + The Primitive + The simulator time dilation + The prim was not in the dictionary before this update + true if the primitive represents an attachment to an agent - - - Use the autopilot sim function to move the avatar to a new - position. Uses double precision to get precise movements - - The z value is currently not handled properly by the simulator - Global X coordinate to move to - Global Y coordinate to move to - Z coordinate to move to + + Get the simulator the originated from - - - Use the autopilot sim function to move the avatar to a new position - - The z value is currently not handled properly by the simulator - Integer value for the global X coordinate to move to - Integer value for the global Y coordinate to move to - Floating-point value for the Z coordinate to move to + + Get the details - - - Use the autopilot sim function to move the avatar to a new position - - The z value is currently not handled properly by the simulator - Integer value for the local X coordinate to move to - Integer value for the local Y coordinate to move to - Floating-point value for the Z coordinate to move to + + true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) - - Macro to cancel autopilot sim function - Not certain if this is how it is really done - true if control flags were set and AgentUpdate was sent to the simulator + + true if the is attached to an - - - Grabs an object - - an unsigned integer of the objects ID within the simulator - + + Get the simulator Time Dilation - - - Overload: Grab a simulated object - - an unsigned integer of the objects ID within the simulator - - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space + + Provides data for the event + The event occurs when the simulator sends + an containing Avatar data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator + + + The following code example uses the property to make a request for the top picks + using the method in the class to display the names + of our own agents picks listings on the window. + + // subscribe to the AvatarUpdate event to get our information + Client.Objects.AvatarUpdate += Objects_AvatarUpdate; + Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; + + private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) + { + // we only want our own data + if (e.Avatar.LocalID == Client.Self.LocalID) + { + // Unsubscribe from the avatar update event to prevent a loop + // where we continually request the picks every time we get an update for ourselves + Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; + // make the top picks request through AvatarManager + Client.Avatars.RequestAvatarPicks(e.Avatar.ID); + } + } + + private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) + { + // we'll unsubscribe from the AvatarPicksReply event since we now have the data + // we were looking for + Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; + // loop through the dictionary and extract the names of the top picks from our profile + foreach (var pickName in e.Picks.Values) + { + Console.WriteLine(pickName); + } + } + + + + - + - Drag an object + Construct a new instance of the AvatarUpdateEventArgs class - of the object to drag - Drag target in region coordinates + The simulator the packet originated from + The data + The simulator time dilation + The avatar was not in the dictionary before this update - - - Overload: Drag an object - - of the object to drag - Drag target in region coordinates - - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space + + Get the simulator the object originated from - - - Release a grabbed object - - The Objects Simulator Local ID - - - + + Get the data - - - Release a grabbed object - - The Objects Simulator Local ID - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space + + Get the simulator time dilation - - - Touches an object - - an unsigned integer of the objects ID within the simulator - + + true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) - - - Request the current L$ balance - + + Provides additional primitive data for the event + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment data + The event is also raised when a request is + made. + + + The following code example uses the , and + + properties to display new attachments and send a request for additional properties containing the name of the + attachment then display it on the window. + + // Subscribe to the event that provides additional primitive details + Client.Objects.ObjectProperties += Objects_ObjectProperties; + + // handle the properties data that arrives + private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) + { + Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); + } + + - + - Give Money to destination Avatar + Construct a new instance of the ObjectPropertiesEventArgs class - UUID of the Target Avatar - Amount in L$ + The simulator the object is located + The primitive Properties - - - Give Money to destination Avatar - - UUID of the Target Avatar - Amount in L$ - Description that will show up in the - recipients transaction history + + Get the simulator the object is located - - - Give L$ to an object - - object to give money to - amount of L$ to give - name of object + + Get the primitive properties - + + Provides additional primitive data for the event + The event occurs when the simulator sends + an containing additional details for a Primitive or Foliage data that is currently + being tracked in the dictionary + The event is also raised when a request is + made and is enabled + + + - Give L$ to a group - - group to give money to - amount of L$ to give + Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class +
+ The simulator the object is located + The Primitive + The primitive Properties
- + + Get the primitive details + + + Provides additional primitive data, permissions and sale info for the event + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment. This includes + Permissions, Sale info, and other basic details on an object + The event is also raised when a request is + made, the viewer equivalent is hovering the mouse cursor over an object + + + + Get the simulator the object is located + + + + + + + + + Provides primitive data containing updated location, velocity, rotation, textures for the event + The event occurs when the simulator sends updated location, velocity, rotation, etc + + + + Get the simulator the object is located + + + Get the primitive details + + + + + + + + - Give L$ to a group + - group to give money to - amount of L$ to give - description of transaction - + + Get the simulator the object is located + + + Get the primitive details + + + + + + + + + + + + + + + Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the + event + + + Get the simulator the object is located + + + The LocalID of the object + + + Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the + event + + + Get the simulator the object is located + + + The LocalID of the object + + - Pay texture/animation upload fee + Provides updates sit position data - + + Get the simulator the object is located + + + + + + + + + + + - Pay texture/animation upload fee + - description of the transaction - + + Get the simulator the object is located + + + + + + + + + + + - Give Money to destination Object or Avatar + Indicates if the operation was successful - UUID of the Target Object/Avatar - Amount in L$ - Reason (Optional normally) - The type of transaction - Transaction flags, mostly for identifying group - transactions - + - Plays a gesture + Media version string - Asset of the gesture - + - Mark gesture active + Array of media entries indexed by face number - Inventory of the gesture - Asset of the gesture - + - Mark gesture inactive + Set when simulator sends us infomation on primitive's physical properties - Inventory of the gesture - + + Simulator where the message originated + + + Updated physical properties + + - Send an AgentAnimation packet that toggles a single animation on + Constructor - The of the animation to start playing - Whether to ensure delivery of this packet or not + Simulator where the message originated + Updated physical properties - + - Send an AgentAnimation packet that toggles a single animation off + Manager class for our own avatar - The of a - currently playing animation to stop playing - Whether to ensure delivery of this packet or not - - - Send an AgentAnimation packet that will toggle animations on or off - - A list of animation s, and whether to - turn that animation on or off - Whether to ensure delivery of this packet or not + + The event subscribers. null if no subcribers - - - Teleports agent to their stored home location - - true on successful teleport to home location + + Raises the ChatFromSimulator event + A ChatEventArgs object containing the + data returned from the data server - - - Teleport agent to a landmark - - of the landmark to teleport agent to - true on success, false on failure + + Thread sync lock object - - - Attempt to look up a simulator name and teleport to the discovered - destination - - Region name to look up - Position to teleport to - True if the lookup and teleport were successful, otherwise - false + + The event subscribers. null if no subcribers - - - Attempt to look up a simulator name and teleport to the discovered - destination - - Region name to look up - Position to teleport to - Target to look at - True if the lookup and teleport were successful, otherwise - false + + Raises the ScriptDialog event + A SctriptDialogEventArgs object containing the + data returned from the data server - - - Teleport agent to another region - - handle of region to teleport agent to - position in destination sim to teleport to - true on success, false on failure - This call is blocking + + Thread sync lock object - - - Teleport agent to another region - - handle of region to teleport agent to - position in destination sim to teleport to - direction in destination sim agent will look at - true on success, false on failure - This call is blocking + + The event subscribers. null if no subcribers - - - Request teleport to a another simulator - - handle of region to teleport agent to - position in destination sim to teleport to + + Raises the ScriptQuestion event + A ScriptQuestionEventArgs object containing the + data returned from the data server - - - Request teleport to a another simulator - - handle of region to teleport agent to - position in destination sim to teleport to - direction in destination sim agent will look at + + Thread sync lock object - - - Teleport agent to a landmark - - of the landmark to teleport agent to + + The event subscribers. null if no subcribers - - - Send a teleport lure to another avatar with default "Join me in ..." invitation message - - target avatars to lure + + Raises the LoadURL event + A LoadUrlEventArgs object containing the + data returned from the data server - - - Send a teleport lure to another avatar with custom invitation message - - target avatars to lure - custom message to send with invitation + + Thread sync lock object - - - Respond to a teleport lure by either accepting it and initiating - the teleport, or denying it - - of the avatar sending the lure - IM session of the incoming lure request - true to accept the lure, false to decline it + + The event subscribers. null if no subcribers - - - Update agent profile - - struct containing updated - profile information + + Raises the MoneyBalance event + A BalanceEventArgs object containing the + data returned from the data server - - - Update agents profile interests - - selection of interests from struct + + Thread sync lock object - - - Set the height and the width of the client window. This is used - by the server to build a virtual camera frustum for our avatar - - New height of the viewer window - New width of the viewer window + + The event subscribers. null if no subcribers - - - Request the list of muted objects and avatars for this agent - + + Raises the MoneyBalanceReply event + A MoneyBalanceReplyEventArgs object containing the + data returned from the data server - - - Mute an object, resident, etc. - - Mute type - Mute UUID - Mute name + + Thread sync lock object - - - Mute an object, resident, etc. - - Mute type - Mute UUID - Mute name - Mute flags + + The event subscribers. null if no subcribers - - - Unmute an object, resident, etc. - - Mute UUID - Mute name + + Raises the IM event + A InstantMessageEventArgs object containing the + data returned from the data server - - - Sets home location to agents current position - - will fire an AlertMessage () with - success or failure message + + Thread sync lock object - - - Move an agent in to a simulator. This packet is the last packet - needed to complete the transition in to a new simulator - - Object + + The event subscribers. null if no subcribers - - - Reply to script permissions request - - Object - of the itemID requesting permissions - of the taskID requesting permissions - list of permissions to allow + + Raises the TeleportProgress event + A TeleportEventArgs object containing the + data returned from the data server - - - Respond to a group invitation by either accepting or denying it - - UUID of the group (sent in the AgentID field of the invite message) - IM Session ID from the group invitation message - Accept the group invitation or deny it + + Thread sync lock object - - - Requests script detection of objects and avatars - - name of the object/avatar to search for - UUID of the object or avatar to search for - Type of search from ScriptSensorTypeFlags - range of scan (96 max?) - the arc in radians to search within - an user generated ID to correlate replies with - Simulator to perform search in + + The event subscribers. null if no subcribers - - - Create or update profile pick - - UUID of the pick to update, or random UUID to create a new pick - Is this a top pick? (typically false) - UUID of the parcel (UUID.Zero for the current parcel) - Name of the pick - Global position of the pick landmark - UUID of the image displayed with the pick - Long description of the pick + + Raises the AgentDataReply event + A AgentDataReplyEventArgs object containing the + data returned from the data server - - - Delete profile pick - - UUID of the pick to delete - - - - Create or update profile Classified - - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Global position of the classified landmark - Name of the classified - Long description of the classified - if true, auto renew classified after expiration + + Thread sync lock object - - - Create or update profile Classified - - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Name of the classified - Long description of the classified - if true, auto renew classified after expiration + + The event subscribers. null if no subcribers - - - Delete a classified ad - - The classified ads ID + + Raises the AnimationsChanged event + A AnimationsChangedEventArgs object containing the + data returned from the data server - - - Fetches resource usage by agents attachmetns - - Called when the requested information is collected + + Thread sync lock object - - - Initates request to set a new display name - - Previous display name - Desired new display name + + The event subscribers. null if no subcribers - - - Tells the sim what UI language is used, and if it's ok to share that with scripts - - Two letter language code - Share language info with scripts + + Raises the MeanCollision event + A MeanCollisionEventArgs object containing the + data returned from the data server - - - Take an incoming ImprovedInstantMessage packet, auto-parse, and if - OnInstantMessage is defined call that with the appropriate arguments - - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - - Take an incoming Chat packet, auto-parse, and if OnChat is defined call - that with the appropriate arguments. - - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - - Used for parsing llDialogs - - The sender - The EventArgs object containing the packet data + + Raises the RegionCrossed event + A RegionCrossedEventArgs object containing the + data returned from the data server - - - Used for parsing llRequestPermissions dialogs - - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - - Handles Script Control changes when Script with permissions releases or takes a control - - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - - Used for parsing llLoadURL Dialogs - - The sender - The EventArgs object containing the packet data + + Raises the GroupChatJoined event + A GroupChatJoinedEventArgs object containing the + data returned from the data server - - - Update client's Position, LookAt and region handle from incoming packet - - The sender - The EventArgs object containing the packet data - This occurs when after an avatar moves into a new sim + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Raises the AlertMessage event + A AlertMessageEventArgs object containing the + data returned from the data server - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - - EQ Message fired with the result of SetDisplayName request - - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet + + The event subscribers. null if no subcribers - - - Process TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why. - - The Message Key - An IMessage object Deserialized from the recieved message event - The simulator originating the event message + + Raises the ScriptControlChange event + A ScriptControlEventArgs object containing the + data returned from the data server - - - Process TeleportFinish from Event Queue and pass it onto our TeleportHandler - - The message system key for this event - IMessage object containing decoded data from OSD - The simulator originating the event message + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Raises the CameraConstraint event + A CameraConstraintEventArgs object containing the + data returned from the data server - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. - - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - This packet is now being sent via the EventQueue + + Raises the ScriptSensorReply event + A ScriptSensorReplyEventArgs object containing the + data returned from the data server - - - Group Chat event handler - - The capability Key - IMessage object containing decoded data from OSD - + + Thread sync lock object - - - Response from request to join a group chat - - - IMessage object containing decoded data from OSD - + + The event subscribers. null if no subcribers - - - Someone joined or left group chat - - - IMessage object containing decoded data from OSD - + + Raises the AvatarSitResponse event + A AvatarSitResponseEventArgs object containing the + data returned from the data server - - - Handle a group chat Invitation - - Caps Key - IMessage object containing decoded data from OSD - Originating Simulator + + Thread sync lock object - - - Moderate a chat session - - the of the session to moderate, for group chats this will be the groups UUID - the of the avatar to moderate - Either "voice" to moderate users voice, or "text" to moderate users text session - true to moderate (silence user), false to allow avatar to speak - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Raises the ChatSessionMemberAdded event + A ChatSessionMemberAddedEventArgs object containing the + data returned from the data server - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Raised when a scripted object or agent within range sends a public message + + Raises the ChatSessionMemberLeft event + A ChatSessionMemberLeftEventArgs object containing the + data returned from the data server - - Raised when a scripted object sends a dialog box containing possible - options an agent can respond to + + Thread sync lock object - - Raised when an object requests a change in the permissions an agent has permitted + + The event subscribers, null of no subscribers - - Raised when a script requests an agent open the specified URL + + Raises the SetDisplayNameReply Event + A SetDisplayNameReplyEventArgs object containing + the data sent from the simulator - - Raised when an agents currency balance is updated + + Thread sync lock object - - Raised when a transaction occurs involving currency such as a land purchase + + The event subscribers. null if no subcribers - - Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from - private messaging to friendship offers. The Dialog field defines what type of message has arrived + + Raises the MuteListUpdated event + A EventArgs object containing the + data returned from the data server - - Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times - for each teleport indicating the progress of the request + + Thread sync lock object - - Raised when a simulator sends agent specific information for our avatar. + + Reference to the GridClient instance - - Raised when our agents animation playlist changes + + Used for movement and camera tracking - - Raised when an object or avatar forcefully collides with our agent + + Currently playing animations for the agent. Can be used to + check the current movement status such as walking, hovering, aiming, + etc. by checking against system animations found in the Animations class - - Raised when our agent crosses a region border into another region + + Dictionary containing current Group Chat sessions and members - - Raised when our agent succeeds or fails to join a group chat session + + Dictionary containing mute list keyead on mute name and key - - Raised when a simulator sends an urgent message usually indication the recent failure of - another action we have attempted to take such as an attempt to enter a parcel where we are denied access + + Various abilities and preferences sent by the grid - - Raised when a script attempts to take or release specified controls for our agent + + + Constructor, setup callbacks for packets related to our avatar + + A reference to the Class - - Raised when the simulator detects our agent is trying to view something - beyond its limits + + + Send a text message from the Agent to the Simulator + + A containing the message + The channel to send the message on, 0 is the public channel. Channels above 0 + can be used however only scripts listening on the specified channel will see the message + Denotes the type of message being sent, shout, whisper, etc. - - Raised when a script sensor reply is received from a simulator + + + Request any instant messages sent while the client was offline to be resent. + - - Raised in response to a request + + + Send an Instant Message to another Avatar + + The recipients + A containing the message to send - - Raised when an avatar enters a group chat session we are participating in + + + Send an Instant Message to an existing group chat or conference chat + + The recipients + A containing the message to send + IM session ID (to differentiate between IM windows) - - Raised when an agent exits a group chat session we are participating in + + + Send an Instant Message + + The name this IM will show up as being from + Key of Avatar + Text message being sent + IM session ID (to differentiate between IM windows) + IDs of sessions for a conference - - Raised when the simulator sends us data containing - the details of display name change + + + Send an Instant Message + + The name this IM will show up as being from + Key of Avatar + Text message being sent + IM session ID (to differentiate between IM windows) + Type of instant message to send + Whether to IM offline avatars as well + Senders Position + RegionID Sender is In + Packed binary data that is specific to + the dialog type - - Raised when a scripted object or agent within range sends a public message + + + Send an Instant Message to a group + + of the group to send message to + Text Message being sent. - - Your (client) avatars - "client", "agent", and "avatar" all represent the same thing + + + Send an Instant Message to a group the agent is a member of + + The name this IM will show up as being from + of the group to send message to + Text message being sent - - Temporary assigned to this session, used for - verifying our identity in packets + + + Send a request to join a group chat session + + of Group to leave - - Shared secret that is never sent over the wire + + + Exit a group chat session. This will stop further Group chat messages + from being sent until session is rejoined. + + of Group chat session to leave - - Your (client) avatar ID, local to the current region/sim + + + Reply to script dialog questions. + + Channel initial request came on + Index of button you're "clicking" + Label of button you're "clicking" + of Object that sent the dialog request + - - Where the avatar started at login. Can be "last", "home" - or a login + + + Accept invite for to a chatterbox session + + of session to accept invite to - - The access level of this agent, usually M or PG + + + Start a friends conference + + List of UUIDs to start a conference with + the temportary session ID returned in the callback> - - The CollisionPlane of Agent + + + Start a particle stream between an agent and an object + + Key of the source agent + Key of the target object + + The type from the enum + A unique for this effect - - An representing the velocity of our agent + + + Start a particle stream between an agent and an object + + Key of the source agent + Key of the target object + A representing the beams offset from the source + A which sets the avatars lookat animation + of the Effect - - An representing the acceleration of our agent - - - A which specifies the angular speed, and axis about which an Avatar is rotating. - - - Position avatar client will goto when login to 'home' or during - teleport request to 'home' region. + + + Create a particle beam between an avatar and an primitive + + The ID of source avatar + The ID of the target primitive + global offset + A object containing the combined red, green, blue and alpha + color values of particle beam + a float representing the duration the parcicle beam will last + A Unique ID for the beam + - - LookAt point saved/restored with HomePosition + + + Create a particle swirl around a target position using a packet + + global offset + A object containing the combined red, green, blue and alpha + color values of particle beam + a float representing the duration the parcicle beam will last + A Unique ID for the beam - - Avatar First Name (i.e. Philip) + + + Sends a request to sit on the specified object + + of the object to sit on + Sit at offset - - Avatar Last Name (i.e. Linden) + + + Follows a call to to actually sit on the object + - - Avatar Full Name (i.e. Philip Linden) + + Stands up from sitting on a prim or the ground + true of AgentUpdate was sent - - Gets the health of the agent + + + Does a "ground sit" at the avatar's current position + - - Gets the current balance of the agent + + + Starts or stops flying + + True to start flying, false to stop flying - - Gets the local ID of the prim the agent is sitting on, - zero if the avatar is not currently sitting + + + Starts or stops crouching + + True to start crouching, false to stop crouching - - Gets the of the agents active group. + + + Starts a jump (begin holding the jump key) + - - Gets the Agents powers in the currently active group + + + Use the autopilot sim function to move the avatar to a new + position. Uses double precision to get precise movements + + The z value is currently not handled properly by the simulator + Global X coordinate to move to + Global Y coordinate to move to + Z coordinate to move to - - Current status message for teleporting + + + Use the autopilot sim function to move the avatar to a new position + + The z value is currently not handled properly by the simulator + Integer value for the global X coordinate to move to + Integer value for the global Y coordinate to move to + Floating-point value for the Z coordinate to move to - - Current position of the agent as a relative offset from - the simulator, or the parent object if we are sitting on something + + + Use the autopilot sim function to move the avatar to a new position + + The z value is currently not handled properly by the simulator + Integer value for the local X coordinate to move to + Integer value for the local Y coordinate to move to + Floating-point value for the Z coordinate to move to - - Current rotation of the agent as a relative rotation from - the simulator, or the parent object if we are sitting on something + + Macro to cancel autopilot sim function + Not certain if this is how it is really done + true if control flags were set and AgentUpdate was sent to the simulator - - Current position of the agent in the simulator + + + Grabs an object + + an unsigned integer of the objects ID within the simulator + - + - A representing the agents current rotation + Overload: Grab a simulated object + an unsigned integer of the objects ID within the simulator + + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - - Returns the global grid position of the avatar + + + Drag an object + + of the object to drag + Drag target in region coordinates - + - Used to specify movement actions for your agent + Overload: Drag an object + of the object to drag + Drag target in region coordinates + + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - - Empty flag + + + Release a grabbed object + + The Objects Simulator Local ID + + + - - Move Forward (SL Keybinding: W/Up Arrow) + + + Release a grabbed object + + The Objects Simulator Local ID + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - - Move Backward (SL Keybinding: S/Down Arrow) + + + Touches an object + + an unsigned integer of the objects ID within the simulator + - - Move Left (SL Keybinding: Shift-(A/Left Arrow)) + + + Request the current L$ balance + - - Move Right (SL Keybinding: Shift-(D/Right Arrow)) + + + Give Money to destination Avatar + + UUID of the Target Avatar + Amount in L$ - - Not Flying: Jump/Flying: Move Up (SL Keybinding: E) + + + Give Money to destination Avatar + + UUID of the Target Avatar + Amount in L$ + Description that will show up in the + recipients transaction history - - Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) + + + Give L$ to an object + + object to give money to + amount of L$ to give + name of object - - Unused + + + Give L$ to a group + + group to give money to + amount of L$ to give - - Unused + + + Give L$ to a group + + group to give money to + amount of L$ to give + description of transaction - - Unused + + + Pay texture/animation upload fee + - - Unused + + + Pay texture/animation upload fee + + description of the transaction - - ORed with AGENT_CONTROL_AT_* if the keyboard is being used - - - ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used - - - ORed with AGENT_CONTROL_UP_* if the keyboard is being used - - - Fly - - - - - - Finish our current animation - - - Stand up from the ground or a prim seat - - - Sit on the ground at our current location - - - Whether mouselook is currently enabled - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - - - - - - - Set when the avatar is idled or set to away. Note that the away animation is - activated separately from setting this flag - - - - - - - - - - - - - - - - Agent movement and camera control - - Agent movement is controlled by setting specific - After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags - This is most easily accomplished by setting one or more of the AgentMovement properties - - Movement of an avatar is always based on a compass direction, for example AtPos will move the - agent from West to East or forward on the X Axis, AtNeg will of course move agent from - East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis - The Z axis is Up, finer grained control of movements can be done using the Nudge properties - - - - Agent camera controls - - - Currently only used for hiding your group title - - - Action state of the avatar, which can currently be - typing and editing - - - - - - - - - - - - + + + Give Money to destination Object or Avatar + + UUID of the Target Object/Avatar + Amount in L$ + Reason (Optional normally) + The type of transaction + Transaction flags, mostly for identifying group + transactions - - + + + Plays a gesture + + Asset of the gesture - - + + + Mark gesture active + + Inventory of the gesture + Asset of the gesture - - + + + Mark gesture inactive + + Inventory of the gesture - - + + + Send an AgentAnimation packet that toggles a single animation on + + The of the animation to start playing + Whether to ensure delivery of this packet or not - - + + + Send an AgentAnimation packet that toggles a single animation off + + The of a + currently playing animation to stop playing + Whether to ensure delivery of this packet or not - - Timer for sending AgentUpdate packets + + + Send an AgentAnimation packet that will toggle animations on or off + + A list of animation s, and whether to + turn that animation on or off + Whether to ensure delivery of this packet or not - - Default constructor + + + Teleports agent to their stored home location + + true on successful teleport to home location - + - Send an AgentUpdate with the camera set at the current agent - position and pointing towards the heading specified + Teleport agent to a landmark - Camera rotation in radians - Whether to send the AgentUpdate reliable - or not + of the landmark to teleport agent to + true on success, false on failure - + - Rotates the avatar body and camera toward a target position. - This will also anchor the camera position on the avatar + Attempt to look up a simulator name and teleport to the discovered + destination - Region coordinates to turn toward + Region name to look up + Position to teleport to + True if the lookup and teleport were successful, otherwise + false - + - Rotates the avatar body and camera toward a target position. - This will also anchor the camera position on the avatar + Attempt to look up a simulator name and teleport to the discovered + destination - Region coordinates to turn toward - whether to send update or not + Region name to look up + Position to teleport to + Target to look at + True if the lookup and teleport were successful, otherwise + false - + - Send new AgentUpdate packet to update our current camera - position and rotation + Teleport agent to another region + handle of region to teleport agent to + position in destination sim to teleport to + true on success, false on failure + This call is blocking - + - Send new AgentUpdate packet to update our current camera - position and rotation + Teleport agent to another region - Whether to require server acknowledgement - of this packet + handle of region to teleport agent to + position in destination sim to teleport to + direction in destination sim agent will look at + true on success, false on failure + This call is blocking - + - Send new AgentUpdate packet to update our current camera - position and rotation + Request teleport to a another simulator - Whether to require server acknowledgement - of this packet - Simulator to send the update to + handle of region to teleport agent to + position in destination sim to teleport to - + - Builds an AgentUpdate packet entirely from parameters. This - will not touch the state of Self.Movement or - Self.Movement.Camera in any way + Request teleport to a another simulator - - - - - - - - - - - + handle of region to teleport agent to + position in destination sim to teleport to + direction in destination sim agent will look at - + - Sends update of Field of Vision vertical angle to the simulator + Teleport agent to a landmark - Angle in radians + of the landmark to teleport agent to - - Move agent positive along the X axis - - - Move agent negative along the X axis - - - Move agent positive along the Y axis - - - Move agent negative along the Y axis - - - Move agent positive along the Z axis - - - Move agent negative along the Z axis - - - - - - - - - - - - - - - - - - - - - - - - Causes simulator to make agent fly - - - Stop movement - - - Finish animation - - - Stand up from a sit - - - Tells simulator to sit agent on ground - - - Place agent into mouselook mode - - - Nudge agent positive along the X axis - - - Nudge agent negative along the X axis - - - Nudge agent positive along the Y axis - - - Nudge agent negative along the Y axis - - - Nudge agent positive along the Z axis - - - Nudge agent negative along the Z axis - - - - - - - - - Tell simulator to mark agent as away - - - - - - - - - - - - + + + Send a teleport lure to another avatar with default "Join me in ..." invitation message + + target avatars to lure - + - Returns "always run" value, or changes it by sending a SetAlwaysRunPacket + Send a teleport lure to another avatar with custom invitation message + target avatars to lure + custom message to send with invitation - - The current value of the agent control flags + + + Respond to a teleport lure by either accepting it and initiating + the teleport, or denying it + + of the avatar sending the lure + IM session of the incoming lure request + true to accept the lure, false to decline it - - Gets or sets the interval in milliseconds at which - AgentUpdate packets are sent to the current simulator. Setting - this to a non-zero value will also enable the packet sending if - it was previously off, and setting it to zero will disable + + + Update agent profile + + struct containing updated + profile information - - Gets or sets whether AgentUpdate packets are sent to - the current simulator + + + Update agents profile interests + + selection of interests from struct - - Reset movement controls every time we send an update + + + Set the height and the width of the client window. This is used + by the server to build a virtual camera frustum for our avatar + + New height of the viewer window + New width of the viewer window - + - Camera controls for the agent, mostly a thin wrapper around - CoordinateFrame. This class is only responsible for state - tracking and math, it does not send any packets + Request the list of muted objects and avatars for this agent - - + + + Mute an object, resident, etc. + + Mute type + Mute UUID + Mute name - - The camera is a local frame of reference inside of - the larger grid space. This is where the math happens + + + Mute an object, resident, etc. + + Mute type + Mute UUID + Mute name + Mute flags - + - Default constructor + Unmute an object, resident, etc. + Mute UUID + Mute name - - + + + Sets home location to agents current position + + will fire an AlertMessage () with + success or failure message - - + + + Move an agent in to a simulator. This packet is the last packet + needed to complete the transition in to a new simulator + + Object - - + + + Reply to script permissions request + + Object + of the itemID requesting permissions + of the taskID requesting permissions + list of permissions to allow - - + + + Respond to a group invitation by either accepting or denying it + + UUID of the group (sent in the AgentID field of the invite message) + IM Session ID from the group invitation message + Accept the group invitation or deny it - + - Called once attachment resource usage information has been collected + Requests script detection of objects and avatars - Indicates if operation was successfull - Attachment resource usage information + name of the object/avatar to search for + UUID of the object or avatar to search for + Type of search from ScriptSensorTypeFlags + range of scan (96 max?) + the arc in radians to search within + an user generated ID to correlate replies with + Simulator to perform search in - + - Represents an that can be worn on an avatar - such as a Shirt, Pants, etc. + Create or update profile pick + UUID of the pick to update, or random UUID to create a new pick + Is this a top pick? (typically false) + UUID of the parcel (UUID.Zero for the current parcel) + Name of the pick + Global position of the pick landmark + UUID of the image displayed with the pick + Long description of the pick - + - Represents a Wearable Asset, Clothing, Hair, Skin, Etc + Delete profile pick + UUID of the pick to delete - - A string containing the name of the asset + + + Create or update profile Classified + + UUID of the classified to update, or random UUID to create a new classified + Defines what catagory the classified is in + UUID of the image displayed with the classified + Price that the classified will cost to place for a week + Global position of the classified landmark + Name of the classified + Long description of the classified + if true, auto renew classified after expiration - - A string containing a short description of the asset - - - The Assets WearableType - - - The For-Sale status of the object - - - An Integer representing the purchase price of the asset - - - The of the assets creator - - - The of the assets current owner - - - The of the assets prior owner - - - The of the Group this asset is set to - - - True if the asset is owned by a - - - The Permissions mask of the asset - - - A Dictionary containing Key/Value pairs of the objects parameters - - - A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures - - - Initializes a new instance of an AssetWearable object - - - Initializes a new instance of an AssetWearable object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - + - Decode an assets byte encoded data to a string + Create or update profile Classified - true if the asset data was decoded successfully + UUID of the classified to update, or random UUID to create a new classified + Defines what catagory the classified is in + UUID of the image displayed with the classified + Price that the classified will cost to place for a week + Name of the classified + Long description of the classified + if true, auto renew classified after expiration - + - Encode the assets string represantion into a format consumable by the asset server + Delete a classified ad + The classified ads ID - - Initializes a new instance of an AssetScriptBinary object - - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - Override the base classes AssetType - - + - + Fetches resource usage by agents attachmetns + Called when the requested information is collected - - - - - - - - - - + - Thrown when a packet could not be successfully deserialized + Initates request to set a new display name + Previous display name + Desired new display name - + - Default constructor + Tells the sim what UI language is used, and if it's ok to share that with scripts + Two letter language code + Share language info with scripts - + - Constructor that takes an additional error message + Take an incoming ImprovedInstantMessage packet, auto-parse, and if + OnInstantMessage is defined call that with the appropriate arguments - An error message to attach to this exception + The sender + The EventArgs object containing the packet data - + - The header of a message template packet. Holds packet flags, sequence - number, packet ID, and any ACKs that will be appended at the end of - the packet + Take an incoming Chat packet, auto-parse, and if OnChat is defined call + that with the appropriate arguments. + The sender + The EventArgs object containing the packet data - + - Convert the AckList to a byte array, used for packet serializing + Used for parsing llDialogs - Reference to the target byte array - Beginning position to start writing to in the byte - array, will be updated with the ending position of the ACK list + The sender + The EventArgs object containing the packet data - + - + Used for parsing llRequestPermissions dialogs - - - - + The sender + The EventArgs object containing the packet data - + - + Handles Script Control changes when Script with permissions releases or takes a control - - - + The sender + The EventArgs object containing the packet data - + - A block of data in a packet. Packets are composed of one or more blocks, - each block containing one or more fields + Used for parsing llLoadURL Dialogs + The sender + The EventArgs object containing the packet data - + - Create a block from a byte array + Update client's Position, LookAt and region handle from incoming packet - Byte array containing the serialized block - Starting position of the block in the byte array. - This will point to the data after the end of the block when the - call returns + The sender + The EventArgs object containing the packet data + This occurs when after an avatar moves into a new sim - - - Serialize this block into a byte array - - Byte array to serialize this block into - Starting position in the byte array to serialize to. - This will point to the position directly after the end of the - serialized block when the call returns + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Current length of the data in this packet + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - A generic value, not an actual packet type + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Attempts to convert an LLSD structure to a known Packet type + EQ Message fired with the result of SetDisplayName request - Event name, this must match an actual - packet name for a Packet to be successfully built - LLSD to convert to a Packet - A Packet on success, otherwise null - - - - - - + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - + + + Process TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why. + + The Message Key + An IMessage object Deserialized from the recieved message event + The simulator originating the event message - - + + + Process TeleportFinish from Event Queue and pass it onto our TeleportHandler + + The message system key for this event + IMessage object containing decoded data from OSD + The simulator originating the event message - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + + Crossed region handler for message that comes across the EventQueue. Sent to an agent + when the agent crosses a sim border into a new region. + + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + This packet is now being sent via the EventQueue - - + + + Group Chat event handler + + The capability Key + IMessage object containing decoded data from OSD + - - + + + Response from request to join a group chat + + + IMessage object containing decoded data from OSD + - - + + + Someone joined or left group chat + + + IMessage object containing decoded data from OSD + - - + + + Handle a group chat Invitation + + Caps Key + IMessage object containing decoded data from OSD + Originating Simulator - - + + + Moderate a chat session + + the of the session to moderate, for group chats this will be the groups UUID + the of the avatar to moderate + Either "voice" to moderate users voice, or "text" to moderate users text session + true to moderate (silence user), false to allow avatar to speak - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Raised when a scripted object or agent within range sends a public message - - + + Raised when a scripted object sends a dialog box containing possible + options an agent can respond to - - + + Raised when an object requests a change in the permissions an agent has permitted - - + + Raised when a script requests an agent open the specified URL - - + + Raised when an agents currency balance is updated - - + + Raised when a transaction occurs involving currency such as a land purchase - - + + Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from + private messaging to friendship offers. The Dialog field defines what type of message has arrived - - + + Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times + for each teleport indicating the progress of the request - - + + Raised when a simulator sends agent specific information for our avatar. - - + + Raised when our agents animation playlist changes - - + + Raised when an object or avatar forcefully collides with our agent - - + + Raised when our agent crosses a region border into another region - - + + Raised when our agent succeeds or fails to join a group chat session - - + + Raised when a simulator sends an urgent message usually indication the recent failure of + another action we have attempted to take such as an attempt to enter a parcel where we are denied access - - + + Raised when a script attempts to take or release specified controls for our agent - - + + Raised when the simulator detects our agent is trying to view something + beyond its limits - - + + Raised when a script sensor reply is received from a simulator - - + + Raised in response to a request - - + + Raised when an avatar enters a group chat session we are participating in - - + + Raised when an agent exits a group chat session we are participating in - - + + Raised when the simulator sends us data containing + the details of display name change - - + + Raised when a scripted object or agent within range sends a public message - - + + Your (client) avatars + "client", "agent", and "avatar" all represent the same thing - - + + Temporary assigned to this session, used for + verifying our identity in packets - - + + Shared secret that is never sent over the wire - - + + Your (client) avatar ID, local to the current region/sim - - + + Where the avatar started at login. Can be "last", "home" + or a login - - + + The access level of this agent, usually M or PG - - + + The CollisionPlane of Agent - - + + An representing the velocity of our agent - - + + An representing the acceleration of our agent - - + + A which specifies the angular speed, and axis about which an Avatar is rotating. - - + + Position avatar client will goto when login to 'home' or during + teleport request to 'home' region. - - + + LookAt point saved/restored with HomePosition - - + + Avatar First Name (i.e. Philip) - - + + Avatar Last Name (i.e. Linden) - - + + Avatar Full Name (i.e. Philip Linden) - - + + Gets the health of the agent - - + + Gets the current balance of the agent - - + + Gets the local ID of the prim the agent is sitting on, + zero if the avatar is not currently sitting - - + + Gets the of the agents active group. - - + + Gets the Agents powers in the currently active group - - + + Current status message for teleporting - - + + Current position of the agent as a relative offset from + the simulator, or the parent object if we are sitting on something - - + + Current rotation of the agent as a relative rotation from + the simulator, or the parent object if we are sitting on something - - + + Current position of the agent in the simulator - - + + + A representing the agents current rotation + - - + + Returns the global grid position of the avatar - - + + + Agent movement and camera control + + Agent movement is controlled by setting specific + After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags + This is most easily accomplished by setting one or more of the AgentMovement properties + + Movement of an avatar is always based on a compass direction, for example AtPos will move the + agent from West to East or forward on the X Axis, AtNeg will of course move agent from + East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis + The Z axis is Up, finer grained control of movements can be done using the Nudge properties + - - + + Agent camera controls - - + + Currently only used for hiding your group title - - + + Action state of the avatar, which can currently be + typing and editing - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + Timer for sending AgentUpdate packets - - + + Default constructor - - + + + Send an AgentUpdate with the camera set at the current agent + position and pointing towards the heading specified + + Camera rotation in radians + Whether to send the AgentUpdate reliable + or not - - + + + Rotates the avatar body and camera toward a target position. + This will also anchor the camera position on the avatar + + Region coordinates to turn toward - - + + + Rotates the avatar body and camera toward a target position. + This will also anchor the camera position on the avatar + + Region coordinates to turn toward + whether to send update or not - - + + + Send new AgentUpdate packet to update our current camera + position and rotation + - - + + + Send new AgentUpdate packet to update our current camera + position and rotation + + Whether to require server acknowledgement + of this packet - - + + + Send new AgentUpdate packet to update our current camera + position and rotation + + Whether to require server acknowledgement + of this packet + Simulator to send the update to - - + + + Builds an AgentUpdate packet entirely from parameters. This + will not touch the state of Self.Movement or + Self.Movement.Camera in any way + + + + + + + + + + + + - - + + + Sends update of Field of Vision vertical angle to the simulator + + Angle in radians - - + + Move agent positive along the X axis - - + + Move agent negative along the X axis - - + + Move agent positive along the Y axis - - + + Move agent negative along the Y axis - - + + Move agent positive along the Z axis - - + + Move agent negative along the Z axis - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + Causes simulator to make agent fly - - + + Stop movement - - + + Finish animation - - + + Stand up from a sit - - + + Tells simulator to sit agent on ground - - + + Place agent into mouselook mode - - + + Nudge agent positive along the X axis - - + + Nudge agent negative along the X axis - - + + Nudge agent positive along the Y axis - - + + Nudge agent negative along the Y axis - - + + Nudge agent positive along the Z axis - - + + Nudge agent negative along the Z axis - - + + - - + + - - + + Tell simulator to mark agent as away - - + + - - + + - - + + - - + + - - + + + Returns "always run" value, or changes it by sending a SetAlwaysRunPacket + - - + + The current value of the agent control flags - - + + Gets or sets the interval in milliseconds at which + AgentUpdate packets are sent to the current simulator. Setting + this to a non-zero value will also enable the packet sending if + it was previously off, and setting it to zero will disable - - + + Gets or sets whether AgentUpdate packets are sent to + the current simulator - - + + Reset movement controls every time we send an update - - + + + Camera controls for the agent, mostly a thin wrapper around + CoordinateFrame. This class is only responsible for state + tracking and math, it does not send any packets + - - + + - - + + The camera is a local frame of reference inside of + the larger grid space. This is where the math happens - - + + + Default constructor + - - + + - - + + - - + + - - + + - - + + + Used to specify movement actions for your agent + - - + + Empty flag - - + + Move Forward (SL Keybinding: W/Up Arrow) - - + + Move Backward (SL Keybinding: S/Down Arrow) - - + + Move Left (SL Keybinding: Shift-(A/Left Arrow)) - - + + Move Right (SL Keybinding: Shift-(D/Right Arrow)) - - + + Not Flying: Jump/Flying: Move Up (SL Keybinding: E) - - + + Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) - - + + Unused - - + + Unused - - + + Unused - - + + Unused - - + + ORed with AGENT_CONTROL_AT_* if the keyboard is being used - - + + ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used - - + + ORed with AGENT_CONTROL_UP_* if the keyboard is being used - - + + Fly - - + + - - + + Finish our current animation - - + + Stand up from the ground or a prim seat - - + + Sit on the ground at our current location - - + + Whether mouselook is currently enabled - - + + Legacy, used if a key was pressed for less than a certain amount of time - - + + Legacy, used if a key was pressed for less than a certain amount of time - - + + Legacy, used if a key was pressed for less than a certain amount of time - - + + Legacy, used if a key was pressed for less than a certain amount of time - - + + Legacy, used if a key was pressed for less than a certain amount of time - - + + Legacy, used if a key was pressed for less than a certain amount of time - - + + - - + + - - + + Set when the avatar is idled or set to away. Note that the away animation is + activated separately from setting this flag - - + + - - + + - - + + - - + + - - + + + Called once attachment resource usage information has been collected + + Indicates if operation was successfull + Attachment resource usage information - - - - - + + + Represents a single Voice Session to the Vivox service. + - - + + + Close this session. + - - + + + Look up an existing Participants in this session + + + - - + + + Create a Session + Sessions typically represent a connection to a media session with one or more + participants. This is used to generate an ‘outbound’ call to another user or + channel. The specifics depend on the media types involved. A session handle is + required to control the local user functions within the session (or remote + users if the current account has rights to do so). Currently creating a + session automatically connects to the audio media, there is no need to call + Session.Connect at this time, this is reserved for future use. + + Handle returned from successful Connector ‘create’ request + This is the URI of the terminating point of the session (ie who/what is being called) + This is the display name of the entity being called (user or channel) + Only needs to be supplied when the target URI is password protected + This indicates the format of the password as passed in. This can either be + “ClearText” or “SHA1UserName”. If this element does not exist, it is assumed to be “ClearText”. If it is + “SHA1UserName”, the password as passed in is the SHA1 hash of the password and username concatenated together, + then base64 encoded, with the final “=” character stripped off. + + + - - + + + Used to accept a call + + SessionHandle such as received from SessionNewEvent + "default" + - - + + + This command is used to start the audio render process, which will then play + the passed in file through the selected audio render device. This command + should not be issued if the user is on a call. + + The fully qualified path to the sound file. + True if the file is to be played continuously and false if it is should be played once. + - - + + + This command is used to stop the audio render process. + + The fully qualified path to the sound file issued in the start render command. + - - + + + This is used to ‘end’ an established session (i.e. hang-up or disconnect). + + Handle returned from successful Session ‘create’ request or a SessionNewEvent + - - + + + Set the combined speaking and listening position in 3D space. + + Handle returned from successful Session ‘create’ request or a SessionNewEvent + Speaking position + Listening position + - - + + + Set User Volume for a particular user. Does not affect how other users hear that user. + + Handle returned from successful Session ‘create’ request or a SessionNewEvent + + The level of the audio, a number between -100 and 100 where 0 represents ‘normal’ speaking volume + - - + + + Start up the Voice service. + - - + + + Handle miscellaneous request status + + + + ///If something goes wrong, we log it. - - + + + Cleanup oject resources + - - + + + Request voice cap when changing regions + - - + + + Handle a change in session state + - - + + + Close a voice session + + - - + + + Locate a Session context from its handle + + Creates the session context if it does not exist. - - + + + Handle completion of main voice cap request. + + + + - - + + + Daemon has started so connect to it. + - - + + + The daemon TCP connection is open. + - - + + + Handle creation of the Connector. + - - + + + Handle response to audio output device query + - - + + + Handle response to audio input device query + - - + + + Set voice channel for new parcel + + - - + + + Request info from a parcel capability Uri. + + - - + + + Receive parcel voice cap + + + + - - + + + Tell Vivox where we are standing + + This has to be called when we move or turn. - - + + + Start and stop updating out position. + + - - + + + This is used to login a specific user account(s). It may only be called after + Connector initialization has completed successfully + + Handle returned from successful Connector ‘create’ request + User's account name + User's account password + Values may be “AutoAnswer” or “VerifyAnswer” + "" + This is an integer that specifies how often + the daemon will send participant property events while in a channel. If this is not set + the default will be “on state change”, which means that the events will be sent when + the participant starts talking, stops talking, is muted, is unmuted. + The valid values are: + 0 – Never + 5 – 10 times per second + 10 – 5 times per second + 50 – 1 time per second + 100 – on participant state change (this is the default) + false + - - + + + This is used to logout a user session. It should only be called with a valid AccountHandle. + + Handle returned from successful Connector ‘login’ request + - - + + + This is used to initialize and stop the Connector as a whole. The Connector + Create call must be completed successfully before any other requests are made + (typically during application initialization). The shutdown should be called + when the application is shutting down to gracefully release resources + + A string value indicting the Application name + URL for the management server + LoggingSettings + + - - + + + Shutdown Connector -- Should be called when the application is shutting down + to gracefully release resources + + Handle returned from successful Connector ‘create’ request - - + + + Mute or unmute the microphone + + Handle returned from successful Connector ‘create’ request + true (mute) or false (unmute) - - + + + Mute or unmute the speaker + + Handle returned from successful Connector ‘create’ request + true (mute) or false (unmute) - - + + + Set microphone volume + + Handle returned from successful Connector ‘create’ request + The level of the audio, a number between -100 and 100 where + 0 represents ‘normal’ speaking volume - - + + + Set local speaker volume + + Handle returned from successful Connector ‘create’ request + The level of the audio, a number between -100 and 100 where + 0 represents ‘normal’ speaking volume - - + + + This is used to get a list of audio devices that can be used for capture (input) of voice. + + - - + + + This is used to get a list of audio devices that can be used for render (playback) of voice. + - - + + + This command is used to select the render device. + + The name of the device as returned by the Aux.GetRenderDevices command. - - + + + This command is used to select the capture device. + + The name of the device as returned by the Aux.GetCaptureDevices command. - - + + + This command is used to start the audio capture process which will cause + AuxAudioProperty Events to be raised. These events can be used to display a + microphone VU meter for the currently selected capture device. This command + should not be issued if the user is on a call. + + (unused but required) + - - + + + This command is used to stop the audio capture process. + + - - + + + This command is used to set the mic volume while in the audio tuning process. + Once an acceptable mic level is attained, the application must issue a + connector set mic volume command to have that level be used while on voice + calls. + + the microphone volume (-100 to 100 inclusive) + - - + + + This command is used to set the speaker volume while in the audio tuning + process. Once an acceptable speaker level is attained, the application must + issue a connector set speaker volume command to have that level be used while + on voice calls. + + the speaker volume (-100 to 100 inclusive) + - - + + + Starts a thread that keeps the daemon running + + + - - + + + Stops the daemon and the thread keeping it running + - - + + + + + + + - - + + + List of audio input devices + - - + + + List of audio output devices + - - + + + Set audio test mode + - - + + + Event for most mundane request reposnses. + - - + + Response to Connector.Create request - - + + Response to Aux.GetCaptureDevices request - - + + Response to Aux.GetRenderDevices request - - + + Audio Properties Events are sent after audio capture is started. + These events are used to display a microphone VU meter - - + + Response to Account.Login request - - + + This event message is sent whenever the login state of the + particular Account has transitioned from one value to another - - + + Enable logging - - + + The folder where any logs will be created - - + + This will be prepended to beginning of each log file - - + + The suffix or extension to be appended to each log file - - + + + 0: NONE - No logging + 1: ERROR - Log errors only + 2: WARNING - Log errors and warnings + 3: INFO - Log errors, warnings and info + 4: DEBUG - Log errors, warnings, info and debug + - - + + + Constructor for default logging settings + - - + + Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter - - + + + Particle system specific enumerators, flags and methods. + - - + + - - + + - - + + - - + + - - + + - - + + - - + + Foliage type for this primitive. Only applicable if this + primitive is foliage - - + + Unknown - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + Identifies the owner if audio or a particle system is + active - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + Objects physics engine propertis - - + + Extra data about primitive - - + + Indicates if prim is attached to an avatar - - + + Number of clients referencing this prim - - + + + Default constructor + - - + + + Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters in to signed eight bit values + + Floating point parameter to pack + Signed eight bit value containing the packed parameter - - + + + Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters from signed eight bit integers to floating point values + + Signed eight bit value to unpack + Unpacked floating point value - - + + - - + + - - + + + Current version of the media data for the prim + - - + + + Array of media entries indexed by face number + - - + + - - + + Uses basic heuristics to estimate the primitive shape - - + + + Parameters used to construct a visual representation of a primitive + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + + Calculdates hash code for prim construction data + + The has - - + + Attachment point to an avatar - - + + - - + + - - + + - - + + - - + + + Information on the flexible properties of a primitive + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + Default constructor + - - + + + + + + - - + + + + + - - + + + + + - - + + + Information on the light properties of a primitive + - - + + - - + + - - + + - - + + - - + + - - + + + Default constructor + - - + + + + + + - - + + + + + - - + + + + + - - + + + Information on the light properties of a primitive as texture map + - - + + - - + + - - + + + Default constructor + - - + + + + + + - - + + + + + - - + + + + + - - + + + Information on the sculpt properties of a sculpted primitive + - - + + + Default constructor + - - + + + + + + - - + + + Render inside out (inverts the normals). + - - + + + Render an X axis mirror of the sculpty. + - - + + + Extended properties to describe an object + - - + + - - + + - - + + - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + Default constructor + - - + + + Set the properties that are set in an ObjectPropertiesFamily packet + + that has + been partially filled by an ObjectPropertiesFamily packet - - + + + Describes physics attributes of the prim + - - + + Primitive's local ID - - + + Density (1000 for normal density) - - + + Friction - - + + Gravity multiplier (1 for normal gravity) - - + + Type of physics representation of this primitive in the simulator - - + + Restitution - - + + + Creates PhysicsProperties from OSD + + OSDMap with incoming data + Deserialized PhysicsProperties object - - + + + Serializes PhysicsProperties to OSD + + OSDMap with serialized PhysicsProperties data - - + + + Texture animation mode + - - + + Disable texture animation - - + + Enable texture animation - - + + Loop when animating textures - - + + Animate in reverse direction - - + + Animate forward then reverse - - + + Slide texture smoothly instead of frame-stepping - - + + Rotate texture instead of using frames - - + + Scale texture instead of using frames - - + + + A single textured face. Don't instantiate this class yourself, use the + methods in TextureEntry + - - + + + Contains the definition for individual faces + + - - + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + In the future this will specify whether a webpage is + attached to this face - - + + - - + + - - + + + Represents all of the texturable faces for an object + + Grid objects have infinite faces, with each face + using the properties of the default face unless set otherwise. So if + you have a TextureEntry with a default texture uuid of X, and face 18 + has a texture UUID of Y, every face would be textured with X except for + face 18 that uses Y. In practice however, primitives utilize a maximum + of nine faces - - + + - - + + - - + + + Constructor that takes a default texture UUID + + Texture UUID to use as the default texture - - + + + Constructor that takes a TextureEntryFace for the + default face + + Face to use as the default face - - + + + Constructor that creates the TextureEntry class from a byte array + + Byte array containing the TextureEntry field + Starting position of the TextureEntry field in + the byte array + Length of the TextureEntry field, in bytes - - + + + This will either create a new face if a custom face for the given + index is not defined, or return the custom face for that index if + it already exists + + The index number of the face to create or + retrieve + A TextureEntryFace containing all the properties for that + face - - + + + + + + - - + + + + + - - + + + + + - - + + + + + - - + + + Controls the texture animation of a particular prim + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + - - + + + + + - - + + + Complete structure for the particle system + - - + + Particle Flags + There appears to be more data packed in to this area + for many particle systems. It doesn't appear to be flag values + and serialization breaks unless there is a flag for every + possible bit so it is left as an unsigned integer - - + + pattern of particles - - + + A representing the maximimum age (in seconds) particle will be displayed + Maximum value is 30 seconds - - + + A representing the number of seconds, + from when the particle source comes into view, + or the particle system's creation, that the object will emits particles; + after this time period no more particles are emitted - - + + A in radians that specifies where particles will not be created - - + + A in radians that specifies where particles will be created - - + + A representing the number of seconds between burts. - - + + A representing the number of meters + around the center of the source where particles will be created. - - + + A representing in seconds, the minimum speed between bursts of new particles + being emitted - - + + A representing in seconds the maximum speed of new particles being emitted. - - + + A representing the maximum number of particles emitted per burst - - + + A which represents the velocity (speed) from the source which particles are emitted - - + + A which represents the Acceleration from the source which particles are emitted - - + + The Key of the texture displayed on the particle - - + + The Key of the specified target object or avatar particles will follow - - + + Flags of particle from - - + + Max Age particle system will emit particles for - - + + The the particle has at the beginning of its lifecycle - - + + The the particle has at the ending of its lifecycle - - + + A that represents the starting X size of the particle + Minimum value is 0, maximum value is 4 - - + + A that represents the starting Y size of the particle + Minimum value is 0, maximum value is 4 - - + + A that represents the ending X size of the particle + Minimum value is 0, maximum value is 4 - - + + A that represents the ending Y size of the particle + Minimum value is 0, maximum value is 4 - - + + A that represents the start glow value + Minimum value is 0, maximum value is 1 - - + + A that represents the end glow value + Minimum value is 0, maximum value is 1 - - - - - + + OpenGL blend function to use at particle source - - + + OpenGL blend function to use at particle destination - - + + + Can this particle system be packed in a legacy compatible way + + True if the particle system doesn't use new particle system features - - + + + Decodes a byte[] array into a ParticleSystem Object + + ParticleSystem object + Start position for BitPacker - - + + + Generate byte[] array from particle data + + Byte array - - + + + Particle source pattern + - - + + None - - + + Drop particles from source position with no force - - + + "Explode" particles in all directions - - + + Particles shoot across a 2D area - - + + Particles shoot across a 3D Cone - - + + Inverse of AngleCone (shoot particles everywhere except the 3D cone defined - - + + + Particle Data Flags + - - + + None - - + + Interpolate color and alpha from start to end - - + + Interpolate scale from start to end - - + + Bounce particles off particle sources Z height - - + + velocity of particles is dampened toward the simulators wind - - + + Particles follow the source - - + + Particles point towards the direction of source's velocity - - + + Target of the particles - - + + Particles are sent in a straight line - - + + Particles emit a glow - - + + used for point/grab/touch - - + + continuous ribbon particle - - + + particle data contains glow - - + + particle data contains blend functions - - + + + Particle Flags Enum + - - + + None - - + + Acceleration and velocity for particles are + relative to the object rotation - - + + Particles use new 'correct' angle parameters - - + + + Return a decoded capabilities message as a strongly typed object + + A string containing the name of the capabilities message key + An to decode + A strongly typed object containing the decoded information from the capabilities message, or null + if no existing Message object exists for the specified event - - + + + Type of gesture step + - - + + + Base class for gesture steps + - - + + + Retururns what kind of gesture step this is + - - + + + Describes animation step of a gesture + - - + + + If true, this step represents start of animation, otherwise animation stop + - - + + + Animation asset + - - + + + Animation inventory name + - - + + + Returns what kind of gesture step this is + - - + + + Describes sound step of a gesture + - - + + + Sound asset + - - + + + Sound inventory name + - - + + + Returns what kind of gesture step this is + - - + + + Describes sound step of a gesture + - - + + + Text to output in chat + - - + + + Returns what kind of gesture step this is + - - + + + Describes sound step of a gesture + - - + + + If true in this step we wait for all animations to finish + - - - - - + + + If true gesture player should wait for the specified amount of time + - - + + + Time in seconds to wait if WaitForAnimation is false + - - + + + Returns what kind of gesture step this is + - - + + + Describes the final step of a gesture + - - + + + Returns what kind of gesture step this is + - - + + + Represents a sequence of animations, sounds, and chat actions + - - + + + Base class for all Asset types + - - + + A byte array containing the raw asset data - - + + True if the asset it only stored on the server temporarily - - + + A unique ID - - + + + Construct a new Asset object + - - + + + Construct a new Asset object + + A unique specific to this asset + A byte array containing the raw asset data - - + + + Regenerates the AssetData byte array from the properties + of the derived class. + - - + + + Decodes the AssetData, placing it in appropriate properties of the derived + class. + + True if the asset decoding succeeded, otherwise false - - + + The assets unique ID - - + + + The "type" of asset, Notecard, Animation, etc + - - + + + Keyboard key that triggers the gestyre + - - + + + Modifier to the trigger key + - - + + + String that triggers playing of the gesture sequence + - - + + + Text that replaces trigger in chat once gesture is triggered + - - + + + Sequence of gesture steps + - - + + + Constructs guesture asset + - - + + + Constructs guesture asset + + A unique specific to this asset + A byte array containing the raw asset data - - + + + Encodes gesture asset suitable for uplaod + - - + + + Decodes gesture assset into play sequence + + true if the asset data was decoded successfully - - + + + Returns asset type + - - + + + Represents an that can be worn on an avatar + such as a Shirt, Pants, etc. + - - + + + Represents a Wearable Asset, Clothing, Hair, Skin, Etc + - - + + A string containing the name of the asset - - + + A string containing a short description of the asset - - + + The Assets WearableType - - + + The For-Sale status of the object - - + + An Integer representing the purchase price of the asset - - + + The of the assets creator - - + + The of the assets current owner - - + + The of the assets prior owner - - + + The of the Group this asset is set to - - + + True if the asset is owned by a - - + + The Permissions mask of the asset - - + + A Dictionary containing Key/Value pairs of the objects parameters - - + + A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures - - + + Initializes a new instance of an AssetWearable object - - + + Initializes a new instance of an AssetWearable object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + + Decode an assets byte encoded data to a string + + true if the asset data was decoded successfully - - + + + Encode the assets string represantion into a format consumable by the asset server + - - + + Initializes a new instance of an AssetScriptBinary object - - + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - - - - - - - - - - + + Override the base classes AssetType - - + + + Temporary code to produce a tar archive in tar v7 format + - - + + + Binary writer for the underlying stream + - - + + + Write a directory entry to the tar archive. We can only handle one path level right now! + + - - + + + Write a file to the tar archive + + + - - + + + Write a file to the tar archive + + + - - + + + Finish writing the raw tar archive data to a stream. The stream will be closed on completion. + - - + + + Write a particular entry + + + + - - + + + Temporary code to do the bare minimum required to read a tar archive for our purposes + - - + + + Binary reader for the underlying stream + - - + + + Used to trim off null chars + - - + + + Used to trim off space chars + - - + + + Generate a tar reader which reads from the given stream. + + - - + + + Read the next entry in the tar file. + + + + the data for the entry. Returns null if there are no more entries - - + + + Read the next 512 byte chunk of data as a tar header. + + A tar header struct. null if we have reached the end of the archive. - - + + + Read data following a header + + + - - + + + Convert octal bytes to a decimal representation + + + + + - - + + + Static helper functions and global variables + - - + + This header flag signals that ACKs are appended to the packet - - + + This header flag signals that this packet has been sent before - - + + This header flags signals that an ACK is expected for this packet - - + + This header flag signals that the message is compressed using zerocoding - - + + + + + + - - + + + + + + + - - + + + + + + - - + + + + + + + - - + + + Given an X/Y location in absolute (grid-relative) terms, a region + handle is returned along with the local X/Y location in that region + + The absolute X location, a number such as + 255360.35 + The absolute Y location, a number such as + 255360.35 + The sim-local X position of the global X + position, a value from 0.0 to 256.0 + The sim-local Y position of the global Y + position, a value from 0.0 to 256.0 + A 64-bit region handle that can be used to teleport to - - + + + Converts a floating point number to a terse string format used for + transmitting numbers in wearable asset files + + Floating point number to convert to a string + A terse string representation of the input number - - + + + Convert a variable length field (byte array) to a string, with a + field name prepended to each line of the output + + If the byte array has unprintable characters in it, a + hex dump will be written instead + The StringBuilder object to write to + The byte array to convert to a string + A field name to prepend to each line of output - - + + + Decode a zerocoded byte array, used to decompress packets marked + with the zerocoded flag + + Any time a zero is encountered, the next byte is a count + of how many zeroes to expand. One zero is encoded with 0x00 0x01, + two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The + first four bytes are copied directly to the output buffer. + + The byte array to decode + The length of the byte array to decode. This + would be the length of the packet up to (but not including) any + appended ACKs + The output byte array to decode to + The length of the output buffer - - + + + Encode a byte array with zerocoding. Used to compress packets marked + with the zerocoded flag. Any zeroes in the array are compressed down + to a single zero byte followed by a count of how many zeroes to expand + out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, + three zeroes becomes 0x00 0x03, etc. The first four bytes are copied + directly to the output buffer. + + The byte array to encode + The length of the byte array to encode + The output byte array to encode to + The length of the output buffer - - + + + Calculates the CRC (cyclic redundancy check) needed to upload inventory. + + Creation date + Sale type + Inventory type + Type + Asset ID + Group ID + Sale price + Owner ID + Creator ID + Item ID + Folder ID + Everyone mask (permissions) + Flags + Next owner mask (permissions) + Group mask (permissions) + Owner mask (permissions) + The calculated CRC - - + + + Attempts to load a file embedded in the assembly + + The filename of the resource to load + A Stream for the requested file, or null if the resource + was not successfully loaded - - + + + Attempts to load a file either embedded in the assembly or found in + a given search path + + The filename of the resource to load + An optional path that will be searched if + the asset is not found embedded in the assembly + A Stream for the requested file, or null if the resource + was not successfully loaded - - + + + Converts a list of primitives to an object that can be serialized + with the LLSD system + + Primitives to convert to a serializable object + An object that can be serialized with LLSD - - + + + Deserializes OSD in to a list of primitives + + Structure holding the serialized primitive list, + must be of the SDMap type + A list of deserialized primitives - - + + + Converts a struct or class object containing fields only into a key value separated string + + The struct object + A string containing the struct fields as the keys, and the field value as the value separated + + + // Add the following code to any struct or class containing only fields to override the ToString() + // method to display the values of the passed object + + /// Print the struct data as a string + ///A string containing the field name, and field value + public override string ToString() + { + return Helpers.StructToString(this); + } + + - - + + + Passed to Logger.Log() to identify the severity of a log entry + - - + + No logging information will be output - - + + Non-noisy useful information, may be helpful in + debugging a problem - - + + A non-critical error occurred. A warning will not + prevent the rest of the library from operating as usual, + although it may be indicative of an underlying issue - - + + A critical error has occurred. Generally this will + be followed by the network layer shutting down, although the + stability of the library after an error is uncertain - - + + Used for internal testing, this logging level can + generate very noisy (long and/or repetitive) messages. Don't + pass this to the Log() function, use DebugLog() instead. + - - + + + Avatar group management + - - + + Key of Group Member - - + + Total land contribution - - + + Online status information - - + + Abilities that the Group Member has - - + + Current group title - - + + Is a group owner - - + + + Role manager for a group + - - + + Key of the group - - + + Key of Role - - + + Name of Role - - + + Group Title associated with Role - - + + Description of Role - - + + Abilities Associated with Role - - + + Returns the role's title + The role's title - - + + + Class to represent Group Title + - - + + Key of the group - - + + ID of the role title belongs to - - + + Group Title - - + + Whether title is Active - - + + Returns group title - - + + + Represents a group on the grid + - - + + Key of Group - - + + Key of Group Insignia - - + + Key of Group Founder - - + + Key of Group Role for Owners - - + + Name of Group - - + + Text of Group Charter - - + + Title of "everyone" role - - + + Is the group open for enrolement to everyone - - + + Will group show up in search - - + + - - + + - - + + - - + + Is the group Mature - - + + Cost of group membership - - + + - - + + - - + + The total number of current members this group has - - + + The number of roles this group has configured - - + + Show this group in agent's profile - - + + Returns the name of the group + A string containing the name of the group - - + + + A group Vote + - - + + Key of Avatar who created Vote - - + + Text of the Vote proposal - - + + Total number of votes - - + + + A group proposal + - - + + The Text of the proposal - - + + The minimum number of members that must vote before proposal passes or failes - - + + The required ration of yes/no votes required for vote to pass + The three options are Simple Majority, 2/3 Majority, and Unanimous + TODO: this should be an enum - - + + The duration in days votes are accepted - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + Struct representing a group notice + - - + + - - + + - - + + - - + + - - + + + + + - - + + + Struct representing a group notice list entry + - - + + Notice ID - - + + Creation timestamp of notice - - + + Agent name who created notice - - + + Notice subject - - + + Is there an attachment? - - + + Attachment Type - - + + + Struct representing a member of a group chat session and their settings + - - + + The of the Avatar - - + + True if user has voice chat enabled - - + + True of Avatar has moderator abilities - - + + True if a moderator has muted this avatars chat - - + + True if a moderator has muted this avatars voice - - + + + Role update flags + - - + + - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + Can send invitations to groups default role - - + + Can eject members from group - - + + Can toggle 'Open Enrollment' and change 'Signup fee' - - + + Member is visible in the public member list - - + + Can create new roles - - + + Can delete existing roles - - + + Can change Role names, titles and descriptions - - + + Can assign other members to assigners role - - + + Can assign other members to any role - - + + Can remove members from roles - - + + Can assign and remove abilities in roles - - + + Can change group Charter, Insignia, 'Publish on the web' and which + members are publicly visible in group member listings - - + + Can buy land or deed land to group - - + + Can abandon group owned land to Governor Linden on mainland, or Estate owner for + private estates - - + + Can set land for-sale information on group owned parcels - - + + Can subdivide and join parcels - - + + Can join group chat sessions - - + + Can use voice chat in Group Chat sessions - - + + Can moderate group chat sessions - - + + Can toggle "Show in Find Places" and set search category - - + + Can change parcel name, description, and 'Publish on web' settings - - + + Can set the landing point and teleport routing on group land - - + + Can change music and media settings - - + + Can toggle 'Edit Terrain' option in Land settings - - + + Can toggle various About Land > Options settings - - + + Can always terraform land, even if parcel settings have it turned off - - + + Can always fly while over group owned land - - + + Can always rez objects on group owned land - - + + Can always create landmarks for group owned parcels - - + + Can set home location on any group owned parcel - - + + Can modify public access settings for group owned parcels - - + + Can manager parcel ban lists on group owned land - - + + Can manage pass list sales information - - + + Can eject and freeze other avatars on group owned land - - + + Can return objects set to group - - + + Can return non-group owned/set objects - - + + Can return group owned objects - - + + Can landscape using Linden plants - - + + Can deed objects to group - - + + Can move group owned objects - - + + Can set group owned objects for-sale - - + + Pay group liabilities and receive group dividends - - + + List and Host group events - - + + Can send group notices - - + + Can receive group notices - - + + Can create group proposals - - + + Can vote on group proposals - - + + + Handles all network traffic related to reading and writing group + information + - - + + The event subscribers. null if no subcribers - - + + Raises the CurrentGroups event + A CurrentGroupsEventArgs object containing the + data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupNamesReply event + A GroupNamesEventArgs object containing the + data response from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - - - - + + Raises the GroupProfile event + An GroupProfileEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupMembers event + A GroupMembersEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupRolesDataReply event + A GroupRolesDataReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupRoleMembersReply event + A GroupRolesRoleMembersReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupTitlesReply event + A GroupTitlesReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupAccountSummary event + A GroupAccountSummaryReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupCreated event + An GroupCreatedEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupJoined event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupLeft event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupDropped event + An GroupDroppedEventArgs object containing the + the group your agent left - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupMemberEjected event + An GroupMemberEjectedEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupNoticesListReply event + An GroupNoticesListReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupInvitation event + An GroupInvitationEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + A reference to the current instance - - + + Currently-active group members requests - - + + Currently-active group roles requests - - + + Currently-active group role-member requests - - + + Dictionary keeping group members while request is in progress - - + + Dictionary keeping mebmer/role mapping while request is in progress - - + + Dictionary keeping GroupRole information while request is in progress - - + + Caches group name lookups - - + + + Construct a new instance of the GroupManager class + + A reference to the current instance - - + + + Request a current list of groups the avatar is a member of. + + CAPS Event Queue must be running for this to work since the results + come across CAPS. - - + + + Lookup name of group based on groupID + + groupID of group to lookup name for. - - + + + Request lookup of multiple group names + + List of group IDs to request. - - + + Lookup group profile data such as name, enrollment, founder, logo, etc + Subscribe to OnGroupProfile event to receive the results. + group ID (UUID) - - + + Request a list of group members. + Subscribe to OnGroupMembers event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - + + Request group roles + Subscribe to OnGroupRoles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - + + Request members (members,role) role mapping for a group. + Subscribe to OnGroupRolesMembers event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - + + Request a groups Titles + Subscribe to OnGroupTitles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - + + Begin to get the group account summary + Subscribe to the OnGroupAccountSummary event to receive the results. + group ID (UUID) + How long of an interval + Which interval (0 for current, 1 for last) - - + + Invites a user to a group + The group to invite to + A list of roles to invite a person to + Key of person to invite - - + + Set a group as the current active group + group ID (UUID) - - + + Change the role that determines your active title + Group ID to use + Role ID to change to - - + + Set this avatar's tier contribution + Group ID to change tier in + amount of tier to donate - - + + + Save wheather agent wants to accept group notices and list this group in their profile + + Group + Accept notices from this group + List this group in the profile - - + + Request to join a group + Subscribe to OnGroupJoined event for confirmation. + group ID (UUID) to join. - - + + + Request to create a new group. If the group is successfully + created, L$100 will automatically be deducted + + Subscribe to OnGroupCreated event to receive confirmation. + Group struct containing the new group info - - + + Update a group's profile and other information + Groups ID (UUID) to update. + Group struct to update. - - + + Eject a user from a group + Group ID to eject the user from + Avatar's key to eject - - + + Update role information + Modified role to be updated - - + + Create a new group role + Group ID to update + Role to create - - + + Delete a group role + Group ID to update + Role to delete - - + + Remove an avatar from a role + Group ID to update + Role ID to be removed from + Avatar's Key to remove - - + + Assign an avatar to a role + Group ID to update + Role ID to assign to + Avatar's ID to assign to role - - + + Request the group notices list + Group ID to fetch notices for - - + + Request a group notice by key + ID of group notice - - + + Send out a group notice + Group ID to update + GroupNotice structure containing notice data - - + + Start a group proposal (vote) + The Group ID to send proposal to + GroupProposal structure containing the proposal - - + + Request to leave a group + Subscribe to OnGroupLeft event to receive confirmation + The group to leave - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Raised when the simulator sends us data containing + our current group membership - - + + Raised when the simulator responds to a RequestGroupName + or RequestGroupNames request - - + + Raised when the simulator responds to a request - - + + Raised when the simulator responds to a request - - - - - + + Raised when the simulator responds to a request - - + + Raised when the simulator responds to a request - - + + Raised when the simulator responds to a request - - + + Raised when a response to a RequestGroupAccountSummary is returned + by the simulator - - + + Raised when a request to create a group is successful - - + + Raised when a request to join a group either + fails or succeeds - - + + Raised when a request to leave a group either + fails or succeeds - - + + Raised when A group is removed from the group server - - + + Raised when a request to eject a member from a group either + fails or succeeds - - + + Raised when the simulator sends us group notices + - - + + Raised when another agent invites our avatar to join a group - - + + Contains the current groups your agent is a member of - - + + Construct a new instance of the CurrentGroupsEventArgs class + The current groups your agent is a member of - - + + Get the current groups your agent is a member of - - + + A Dictionary of group names, where the Key is the groups ID and the value is the groups name - - + + Construct a new instance of the GroupNamesEventArgs class + The Group names dictionary - - + + Get the Group Names dictionary - - + + Represents the members of a group - - + + + Construct a new instance of the GroupMembersReplyEventArgs class + + The ID of the request + The ID of the group + The membership list of the group - - + + Get the ID as returned by the request to correlate + this result set and the request - - + + Get the ID of the group - - + + Get the dictionary of members - - + + Represents the roles associated with a group - - + + Construct a new instance of the GroupRolesDataReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The dictionary containing the roles - - + + Get the ID as returned by the request to correlate + this result set and the request - - + + Get the ID of the group - - + + Get the dictionary containing the roles - - + + Represents the Role to Member mappings for a group - - + + Construct a new instance of the GroupRolesMembersReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The member to roles map - - + + Get the ID as returned by the request to correlate + this result set and the request - - + + Get the ID of the group - - + + Get the member to roles map - - + + Represents the titles for a group - - + + Construct a new instance of the GroupTitlesReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The titles - - + + Get the ID as returned by the request to correlate + this result set and the request - - + + Get the ID of the group - - + + Get the titles - - + + Represents the summary data for a group - - + + Construct a new instance of the GroupAccountSummaryReplyEventArgs class + The ID of the group + The summary data - - + + Get the ID of the group - - + + Get the summary data - - + + A response to a group create request - - + + Construct a new instance of the GroupCreatedReplyEventArgs class + The ID of the group + the success or faulure of the request + A string containing additional information - - + + Get the ID of the group - - + + true of the group was created successfully - - + + A string containing the message - - + + Represents a response to a request - - + + Construct a new instance of the GroupOperationEventArgs class + The ID of the group + true of the request was successful - - + + Get the ID of the group - - + + true of the request was successful - - + + Represents your agent leaving a group - - + + Construct a new instance of the GroupDroppedEventArgs class + The ID of the group - - + + Get the ID of the group - - + + Represents a list of active group notices - - + + Construct a new instance of the GroupNoticesListReplyEventArgs class + The ID of the group + The list containing active notices - - + + Get the ID of the group - - + + Get the notices list - - + + Represents the profile of a group - - + + Construct a new instance of the GroupProfileEventArgs class + The group profile - - + + Get the group profile - - + + + Provides notification of a group invitation request sent by another Avatar + + The invitation is raised when another avatar makes an offer for our avatar + to join a group. - - + + The ID of the Avatar sending the group invitation - - + + The name of the Avatar sending the group invitation - - + + A message containing the request information which includes + the name of the group, the groups charter and the fee to join details - - + + The Simulator - - + + Set to true to accept invitation, false to decline - - + + + Abstract base for rendering plugins + - - + + + Generates a basic mesh structure from a primitive + + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh - - + + + Generates a basic mesh structure from a sculpted primitive and + texture + + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh - - + + + Generates a series of faces, each face containing a mesh and + metadata + + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh - - + + + Generates a series of faces for a sculpted prim, each face + containing a mesh and metadata + + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh - - + + + Apply texture coordinate modifications from a + to a list of vertices + + Vertex list to modify texture coordinates for + Center-point of the face + Face texture parameters + Scale of the prim - - + + + Represents an AssetScriptBinary object containing the + LSO compiled bytecode of an LSL script + - - + + Initializes a new instance of an AssetScriptBinary object - - + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + + TODO: Encodes a scripts contents into a LSO Bytecode file + - - + + + TODO: Decode LSO Bytecode into a string + + true - - + + Override the base classes AssetType - - + + + Represents a Landmark with RegionID and Position vector + - - + + UUID of the Landmark target region - - + + Local position of the target - - + + Construct an Asset of type Landmark - - + + + Construct an Asset object of type Landmark + + A unique specific to this asset + A byte array containing the raw asset data - - + + + Encode the raw contents of a string with the specific Landmark format + - - + + + Decode the raw asset data, populating the RegionID and Position + + true if the AssetData was successfully decoded to a UUID and Vector - - + + Override the base classes AssetType - - + + + The current status of a texture request as it moves through the pipeline or final result of a texture request. + - - + + The initial state given to a request. Requests in this state + are waiting for an available slot in the pipeline - - + + A request that has been added to the pipeline and the request packet + has been sent to the simulator - - + + A request that has received one or more packets back from the simulator - - + + A request that has received all packets back from the simulator - - + + A request that has taken longer than + to download OR the initial packet containing the packet information was never received - - + + The texture request was aborted by request of the agent - - + + The simulator replied to the request that it was not able to find the requested texture - - + + + A callback fired to indicate the status or final state of the requested texture. For progressive + downloads this will fire each time new asset data is returned from the simulator. + + The indicating either Progress for textures not fully downloaded, + or the final result of the request after it has been processed through the TexturePipeline + The object containing the Assets ID, raw data + and other information. For progressive rendering the will contain + the data from the beginning of the file. For failed, aborted and timed out requests it will contain + an empty byte array. - - + + + Texture request download handler, allows a configurable number of download slots which manage multiple + concurrent texture downloads from the + + This class makes full use of the internal + system for full texture downloads. - - + + A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID + and also the Asset Texture ID, and the value is an object containing the current state of the request and also + the asset data as it is being re-assembled - - + + Holds the reference to the client object - - + + Maximum concurrent texture requests allowed at a time - - + + An array of objects used to manage worker request threads - - + + An array of worker slots which shows the availablity status of the slot - - + + The primary thread which manages the requests. - - + + true if the TexturePipeline is currently running - - + + A synchronization object used by the primary thread - - + + A refresh timer used to increase the priority of stalled requests - - + + + Default constructor, Instantiates a new copy of the TexturePipeline class + + Reference to the instantiated object - - + + + Initialize callbacks required for the TexturePipeline to operate + - - + + + Shutdown the TexturePipeline and cleanup any callbacks or transfers + - - + + + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request - - + + + Sends the actual request packet to the simulator + + The image to download + Type of the image to download, either a baked + avatar texture or a normal texture + Priority level of the download. Default is + 1,013,000.0f + Number of quality layers to discard. + This controls the end marker of the data sent + Packet number to start the download at. + This controls the start marker of the data sent + Sending a priority of 0 and a discardlevel of -1 aborts + download - - + + + Cancel a pending or in process texture request + + The texture assets unique ID - - + + + Master Download Thread, Queues up downloads in the threadpool + - - + + + The worker thread that sends the request and handles timeouts + + A object containing the request details - - + + + Handle responses from the simulator that tell us a texture we have requested is unable to be located + or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use + + The sender + The EventArgs object containing the packet data - - + + + Handles the remaining Image data that did not fit in the initial ImageData packet + + The sender + The EventArgs object containing the packet data - - + + + Handle the initial ImageDataPacket sent from the simulator + + The sender + The EventArgs object containing the packet data - - + + Current number of pending and in-process transfers - - + + + A request task containing information and status of a request as it is processed through the + - - + + The current which identifies the current status of the request - - + + The Unique Request ID, This is also the Asset ID of the texture being requested - - + + The slot this request is occupying in the threadpoolSlots array - - + + The ImageType of the request. - - + + The callback to fire when the request is complete, will include + the and the + object containing the result data - - + + If true, indicates the callback will be fired whenever new data is returned from the simulator. + This is used to progressively render textures as portions of the texture are received. - - + + An object that maintains the data of an request thats in-process. - - + + + A set of textures that are layered on texture of each other and "baked" + in to a single texture, for avatar appearances + - - + + Final baked texture - - + + Component layers - - + + Width of the final baked image and scratchpad - - + + Height of the final baked image and scratchpad - - + + Bake type - - + + + Default constructor + + Bake type - - + + + Adds layer for baking + + TexturaData struct that contains texture and its params - - + + + Converts avatar texture index (face) to Bake type + + Face number (AvatarTextureIndex) + BakeType, layer to which this texture belongs to - - + + + Make sure images exist, resize source if needed to match the destination + + Destination image + Source image + Sanitization was succefull - - + + + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if + the image is a pure solid color + + Color of the base of this layer - - + + + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if + the image is a pure solid color + + Red value + Green value + Blue value - - - - - - - - + + Final baked texture - - + + Component layers - - + + Width of the final baked image and scratchpad - - + + Height of the final baked image and scratchpad - - + + Bake type - - + + Is this one of the 3 skin bakes - - + + + Represents a Sound Asset + - - + + Initializes a new instance of an AssetSound object - - + + Initializes a new instance of an AssetSound object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + + TODO: Encodes a sound file + - - + + + TODO: Decode a sound file + + true - - + + Override the base classes AssetType - - + + + + - - + + + + - - + + + + - - + + + + - - + + + + + + - - + + + The ObservableDictionary class is used for storing key/value pairs. It has methods for firing + events to subscribers when items are added, removed, or changed. + + Key + Value - - + + + A dictionary of callbacks to fire when specified action occurs + - - + + + Register a callback to be fired when an action occurs + + The action + The callback to fire - - + + + Unregister a callback + + The action + The callback to fire - - + + + + + + - - + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking - - + + + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. + + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); + + - - + + + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. + + Initial size of dictionary + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); + + - - + + + Try to get entry from the with specified key + + Key to use for lookup + Value returned + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + - - + + + Finds the specified match. + + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + - - + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + - - + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + - - + + Check if Key exists in Dictionary + Key to check for + if found, otherwise - - + + Check if Value exists in Dictionary + Value to check for + if found, otherwise - - + + + Adds the specified key to the dictionary, dictionary locking is not performed, + + + The key + The value - - - - - - - - + + + Removes the specified key, dictionary locking is not performed + + The key. + if successful, otherwise - - + + + Clear the contents of the dictionary + - - + + + Enumerator for iterating dictionary entries + + - - + + + Gets the number of Key/Value pairs contained in the + - - + + + Indexer for the dictionary + + The key + The value - - + + + A Name Value pair with additional settings, used in the protocol + primarily to transmit avatar names and active group in object packets + - - + + - - + + - - + + - - + + - - + + - - + + + Constructor that takes all the fields as parameters + + + + + + - - + + + Constructor that takes a single line from a NameValue field + + - - + + Type of the value - - + + Unknown - - + + String value - - + + - - + + - - + + - - + + - - + + Deprecated - - + + String value, but designated as an asset - - + + - - + + + + - - + + - - + + - - + + - - + + - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + + Wrapper around a byte array that allows bit to be packed and unpacked + one at a time or by a variable amount. Useful for very tightly packed + data like LayerData packets + - - + + - - + + + Default constructor, initialize the bit packer / bit unpacker + with a byte array and starting position + + Byte array to pack bits in to or unpack from + Starting position in the byte array - - + + + Pack a floating point value in to the data + + Floating point value to pack - - + + + Pack part or all of an integer in to the data + + Integer containing the data to pack + Number of bits of the integer to pack - - + + + Pack part or all of an unsigned integer in to the data + + Unsigned integer containing the data to pack + Number of bits of the integer to pack - - + + + Pack a single bit in to the data + + Bit to pack - - + + + + + + + + - - + + + + + - - + + + + + - - + + + Unpacking a floating point value from the data + + Unpacked floating point value - - - - - - - - + + + Unpack a variable number of bits from the data in to integer format + + Number of bits to unpack + An integer containing the unpacked bits + This function is only useful up to 32 bits - - + + + Unpack a variable number of bits from the data in to unsigned + integer format + + Number of bits to unpack + An unsigned integer containing the unpacked bits + This function is only useful up to 32 bits - - + + + Unpack a 16-bit signed integer + + 16-bit signed integer - - + + + Unpack a 16-bit unsigned integer + + 16-bit unsigned integer - - + + + Unpack a 32-bit signed integer + + 32-bit signed integer - - + + + Unpack a 32-bit unsigned integer + + 32-bit unsigned integer - - + + - - + + - - + + + Index of TextureEntry slots for avatar appearances + - - + + + Bake layers for avatar appearance + - - + + + Appearance Flags, introdued with server side baking, currently unused + - - + + Maximum number of concurrent downloads for wearable assets and textures - - + + Maximum number of concurrent uploads for baked textures - - + + Timeout for fetching inventory listings - - + + Timeout for fetching a single wearable, or receiving a single packet response - - + + Timeout for fetching a single texture - - + + Timeout for uploading a single baked texture - - + + Number of times to retry bake upload - - + + When changing outfit, kick off rebake after + 20 seconds has passed since the last change - - + + Total number of wearables for each avatar - - + + Total number of baked textures on each avatar - - + + Total number of wearables per bake layer - - + + Mask for multiple attachments - - + + Mapping between BakeType and AvatarTextureIndex - - + + Map of what wearables are included in each bake - - + + Magic values to finalize the cache check hashes for each + bake - - + + Default avatar texture, used to detect when a custom + texture is not set for a face - - + + The event subscribers. null if no subcribers - - + + Raises the AgentWearablesReply event + An AgentWearablesReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the CachedBakesReply event + An AgentCachedBakesReplyEventArgs object containing the + data returned from the data server AgentCachedTextureResponse - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the AppearanceSet event + An AppearanceSetEventArgs object indicating if the operatin was successfull - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the RebakeAvatarRequested event + An RebakeAvatarTexturesEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + Visual parameters last sent to the sim - - + + Textures about this client sent to the sim - - + + A cache of wearables currently being worn - - + + A cache of textures currently being worn - - + + Incrementing serial number for AgentCachedTexture packets - - + + Incrementing serial number for AgentSetAppearance packets - - + + Indicates if WearablesRequest succeeded - - + + Indicates whether or not the appearance thread is currently + running, to prevent multiple appearance threads from running + simultaneously - - + + Reference to our agent - - + + + Timer used for delaying rebake on changing outfit + - - + + + Main appearance thread + - - + + + Is server baking complete. It needs doing only once + - - - - - + + + Default constructor + + A reference to our agent - - + + + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread + - - + + + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread + + Unused parameter - - + + + Starts the appearance setting thread + - - + + + Starts the appearance setting thread + + True to force rebaking, otherwise false - - + + + Check if current region supports server side baking + + True if server side baking support is detected - - + + + Ask the server what textures our agent is currently wearing + - - + + + Build hashes out of the texture assetIDs for each baking layer to + ask the simulator whether it has cached copies of each baked texture + - - + + + Returns the AssetID of the asset that is currently being worn in a + given WearableType slot + + WearableType slot to get the AssetID for + The UUID of the asset being worn in the given slot, or + UUID.Zero if no wearable is attached to the given slot or wearables + have not been downloaded yet - - + + + Add a wearable to the current outfit and set appearance + + Wearable to be added to the outfit - - + + + Add a wearable to the current outfit and set appearance + + Wearable to be added to the outfit + Should existing item on the same point or of the same type be replaced - - + + + Add a list of wearables to the current outfit and set appearance + + List of wearable inventory items to + be added to the outfit + Should existing item on the same point or of the same type be replaced - - + + + Add a list of wearables to the current outfit and set appearance + + List of wearable inventory items to + be added to the outfit + Should existing item on the same point or of the same type be replaced - - + + + Remove a wearable from the current outfit and set appearance + + Wearable to be removed from the outfit - - + + + Removes a list of wearables from the current outfit and set appearance + + List of wearable inventory items to + be removed from the outfit - - + + + Replace the current outfit with a list of wearables and set appearance + + List of wearable inventory items that + define a new outfit - - + + + Replace the current outfit with a list of wearables and set appearance + + List of wearable inventory items that + define a new outfit + Check if we have all body parts, set this to false only + if you know what you're doing - - + + + Checks if an inventory item is currently being worn + + The inventory item to check against the agent + wearables + The WearableType slot that the item is being worn in, + or WearbleType.Invalid if it is not currently being worn - - + + + Returns a copy of the agents currently worn wearables + + A copy of the agents currently worn wearables + Avoid calling this function multiple times as it will make + a copy of all of the wearable data each time - - + + + Calls either or + depending on the value of + replaceItems + + List of wearable inventory items to add + to the outfit or become a new outfit + True to replace existing items with the + new list of items, false to add these items to the existing outfit - - + + + Adds a list of attachments to our agent + + A List containing the attachments to add + If true, tells simulator to remove existing attachment + first - + - Add a custom decoder callback + Adds a list of attachments to our agent - The key of the field to decode - The custom decode handler + A List containing the attachments to add + If true, tells simulator to remove existing attachment + If true replace existing attachment on this attachment point, otherwise add to it (multi-attachments) + first - + - Remove a custom decoder callback + Attach an item to our agent at a specific attach point - The key of the field to decode - The custom decode handler + A to attach + the on the avatar + to attach the item to - + - Creates a formatted string containing the values of a Packet + Attach an item to our agent at a specific attach point - The Packet - A formatted string of values of the nested items in the Packet object + A to attach + the on the avatar + If true replace existing attachment on this attachment point, otherwise add to it (multi-attachments) + to attach the item to - + - Decode an IMessage object into a beautifully formatted string + Attach an item to our agent specifying attachment details - The IMessage object - Recursion level (used for indenting) - A formatted string containing the names and values of the source object + The of the item to attach + The attachments owner + The name of the attachment + The description of the attahment + The to apply when attached + The of the attachment + The on the agent + to attach the item to - + - A custom decoder callback + Attach an item to our agent specifying attachment details - The key of the object - the data to decode - A string represending the fieldData + The of the item to attach + The attachments owner + The name of the attachment + The description of the attahment + The to apply when attached + The of the attachment + The on the agent + If true replace existing attachment on this attachment point, otherwise add to it (multi-attachments) + to attach the item to - + - Access to the data server which allows searching for land, events, people, etc + Detach an item from our agent using an object + An object - - The event subscribers. null if no subcribers + + + Detach an item from our agent + + The inventory itemID of the item to detach - - Raises the EventInfoReply event - An EventInfoReplyEventArgs object containing the - data returned from the data server + + + Inform the sim which wearables are part of our current outfit + - - Thread sync lock object + + + Replaces the Wearables collection with a list of new wearable items + + Wearable items to replace the Wearables collection with - - The event subscribers. null if no subcribers + + + Calculates base color/tint for a specific wearable + based on its params + + All the color info gathered from wearable's VisualParams + passed as list of ColorParamInfo tuples + Base color/tint for the wearable - - Raises the DirEventsReply event - An DirEventsReplyEventArgs object containing the - data returned from the data server + + + Blocking method to populate the Wearables dictionary + + True on success, otherwise false - - Thread sync lock object + + + Blocking method to populate the Textures array with cached bakes + + True on success, otherwise false - - The event subscribers. null if no subcribers + + + Populates textures and visual params from a decoded asset + + Wearable to decode + + Populates textures and visual params from a decoded asset + + Wearable to decode - - Raises the PlacesReply event - A PlacesReplyEventArgs object containing the - data returned from the data server + + + Blocking method to download and parse currently worn wearable assets + + True on success, otherwise false - - Thread sync lock object + + + Get a list of all of the textures that need to be downloaded for a + single bake layer + + Bake layer to get texture AssetIDs for + A list of texture AssetIDs to download - - The event subscribers. null if no subcribers + + + Helper method to lookup the TextureID for a single layer and add it + to a list if it is not already present + + + - - Raises the DirPlacesReply event - A DirPlacesReplyEventArgs object containing the - data returned from the data server + + + Blocking method to download all of the textures needed for baking + the given bake layers + + A list of layers that need baking + No return value is given because the baking will happen + whether or not all textures are successfully downloaded - - Thread sync lock object + + + Blocking method to create and upload baked textures for all of the + missing bakes + + True on success, otherwise false - - The event subscribers. null if no subcribers + + + Blocking method to create and upload a baked texture for a single + bake layer + + Layer to bake + True on success, otherwise false - - Raises the DirClassifiedsReply event - A DirClassifiedsReplyEventArgs object containing the - data returned from the data server + + + Blocking method to upload a baked texture + + Five channel JPEG2000 texture data to upload + UUID of the newly created asset on success, otherwise UUID.Zero - - Thread sync lock object + + + Creates a dictionary of visual param values from the downloaded wearables + + A dictionary of visual param indices mapping to visual param + values for our agent that can be fed to the Baker class - - The event subscribers. null if no subcribers + + + Initate server baking process + + True if the server baking was successful - - Raises the DirGroupsReply event - A DirGroupsReplyEventArgs object containing the - data returned from the data server + + + Get the latest version of COF + + Current Outfit Folder (or null if getting the data failed) - - Thread sync lock object + + + Create an AgentSetAppearance packet from Wearables data and the + Textures array and send it + - - The event subscribers. null if no subcribers + + + Converts a WearableType to a bodypart or clothing WearableType + + A WearableType + AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown - - Raises the DirPeopleReply event - A DirPeopleReplyEventArgs object containing the - data returned from the data server + + + Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex + + A BakeType + The AvatarTextureIndex slot that holds the given BakeType - - Thread sync lock object + + + Gives the layer number that is used for morph mask + + >A BakeType + Which layer number as defined in BakeTypeToTextures is used for morph mask - - The event subscribers. null if no subcribers + + + Converts a BakeType to a list of the texture slots that make up that bake + + A BakeType + A list of texture slots that are inputs for the given bake - - Raises the DirLandReply event - A DirLandReplyEventArgs object containing the - data returned from the data server + + Triggered when an AgentWearablesUpdate packet is received, + telling us what our avatar is currently wearing + request. - - Thread sync lock object + + Raised when an AgentCachedTextureResponse packet is + received, giving a list of cached bakes that were found on the + simulator + request. - + - Constructs a new instance of the DirectoryManager class + Raised when appearance data is sent to the simulator, also indicates + the main appearance thread is finished. - An instance of GridClient + request. - + - Query the data server for a list of classified ads containing the specified string. - Defaults to searching for classified placed in any category, and includes PG, Adult and Mature - results. - - Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - - The event is raised when a response is received from the simulator + Triggered when the simulator requests the agent rebake its appearance. - A string containing a list of keywords to search for - A UUID to correlate the results when the event is raised + - + - Query the data server for a list of classified ads which contain specified keywords (Overload) - - The event is raised when a response is received from the simulator + Returns true if AppearanceManager is busy and trying to set or change appearance will fail - A string containing a list of keywords to search for - The category to search - A set of flags which can be ORed to modify query options - such as classified maturity rating. - A UUID to correlate the results when the event is raised - - Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature - - UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); - - - - Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - - + - Starts search for places (Overloaded) - - The event is raised when a response is received from the simulator + Contains information about a wearable inventory item - Search text - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - - Queries the dataserver for parcels of land which are flagged to be shown in search - - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for separated by a space character - A set of flags which can be ORed to modify query options - such as classified maturity rating. - The category to search - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult - - UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); - - - - Additional information on the results can be obtained by using the ParcelManager.InfoRequest method - + + Inventory ItemID of the wearable - - - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator - - What type of land to search for. Auction, - estate, mainland, "first land", etc - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. + + AssetID of the wearable asset - + + WearableType of the wearable + + + AssetType of the wearable + + + Asset data for the wearable + + - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator + Data collected from visual params for each wearable + needed for the calculation of the color - What type of land to search for. Auction, - estate, mainland, "first land", etc - Maximum price to search for - Maximum area to search for - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. - + - Send a request to the data server for land sales listings + Holds a texture assetID and the data needed to bake this layer into + an outfit texture. Used to keep track of currently worn textures + and baking data - - Flags sent to specify query options - - Available flags: - Specify the parcel rating with one or more of the following: - IncludePG IncludeMature IncludeAdult - - Specify the field to pre sort the results with ONLY ONE of the following: - PerMeterSort NameSort AreaSort PricesSort - - Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order - SortAsc - - Specify additional filters to limit the results with one or both of the following: - LimitByPrice LimitByArea - - Flags can be combined by separating them with the | (pipe) character - - Additional details can be found in - - What type of land to search for. Auction, - Estate or Mainland - Maximum price to search for when the - DirFindFlags.LimitByPrice flag is specified in findFlags - Maximum area to search for when the - DirFindFlags.LimitByArea flag is specified in findFlags - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - The event will be raised with the response from the simulator - - There is no way to determine how many results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each reply. - - Any land set for sale to either anybody or specific to the connected agent will be included in the - results if the land is included in the query - - - // request all mainland, any maturity rating that is larger than 512 sq.m - StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); - - + + A texture AssetID + + + Asset data for the texture + + + Collection of alpha masks that needs applying + + + Tint that should be applied to the texture + + + Where on avatar does this texture belong + + + Contains the Event data returned from the data server from an AgentWearablesRequest + + + Construct a new instance of the AgentWearablesReplyEventArgs class + + + Contains the Event data returned from the data server from an AgentCachedTextureResponse + + + Construct a new instance of the AgentCachedBakesReplyEventArgs class + + + Contains the Event data returned from an AppearanceSetRequest + + - Search for Groups - - The name or portion of the name of the group you wish to search for - Start from the match number - + Triggered when appearance data is sent to the sim and + the main appearance thread is done.
+ Indicates whether appearance setting was successful
- + + Indicates whether appearance setting was successful + + + Contains the Event data returned from the data server from an RebakeAvatarTextures + + - Search for Groups + Triggered when the simulator sends a request for this agent to rebake + its appearance - The name or portion of the name of the group you wish to search for - Start from the match number - Search flags - + The ID of the Texture Layer to bake - + + The ID of the Texture Layer to bake + + - Search the People directory for other avatars + - The name or portion of the name of the avatar you wish to search for - - - + - Search Places for parcels of land you personally own + - + + + + + + + + + + + + + + + + + + + - Searches Places for land owned by the specified group + - ID of the group you want to recieve land list for (You must be a member of the group) - Transaction (Query) ID which can be associated with results from your request. - + + Information about agents display name + + + Agent UUID + + + Username + + + Display name + + + First name (legacy) + + + Last name (legacy) + + + Is display name default display name + + + Cache display name until + + + Last updated timestamp + + - Search the Places directory for parcels that are listed in search and contain the specified keywords + Creates AgentDisplayName object from OSD - A string containing the keywords to search for - Transaction (Query) ID which can be associated with results from your request. + Incoming OSD data + AgentDisplayName object - + - Search Places - All Options + Return object as OSD map - One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. - One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer - A string containing a list of keywords to search for separated by a space character - String Simulator Name to search in - LLUID of group you want to recieve results for - Transaction (Query) ID which can be associated with results from your request. - Transaction (Query) ID which can be associated with results from your request. + OSD containing agent's display name data - + + Full name (legacy) + + - Search All Events with specifid searchText in all categories, includes PG, Mature and Adult + Holds group information for Avatars such as those you might find in a profile - A string containing a list of keywords to search for separated by a space character - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - UUID of query to correlate results in callback. - - - Search Events - - A string containing a list of keywords to search for separated by a space character - One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult - from the Enum - - Multiple flags can be combined by separating the flags with the | (pipe) character - "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled - For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - EventCategory event is listed under. - UUID of query to correlate results in callback. + + true of Avatar accepts group notices - - Requests Event Details - ID of Event returned from the method + + Groups Key - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Texture Key for groups insignia - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Name of the group - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from + + Powers avatar has in the group - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Avatars Currently selected title - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + true of Avatar has chosen to list this in their profile - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from + + + Contains an animation currently being played by an agent + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The ID of the animation asset - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + A number to indicate start order of currently playing animations + On Linden Grids this number is unique per region, with OpenSim it is per client - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Holds group information on an individual profile pick + - - Raised when the data server responds to a request. + + + Retrieve friend status notifications, and retrieve avatar names and + profiles + - - Raised when the data server responds to a request. + + The event subscribers, null of no subscribers - - Raised when the data server responds to a request. + + Raises the AvatarAnimation Event + An AvatarAnimationEventArgs object containing + the data sent from the simulator - - Raised when the data server responds to a request. + + Thread sync lock object - - Raised when the data server responds to a request. + + The event subscribers, null of no subscribers - - Raised when the data server responds to a request. + + Raises the AvatarAppearance Event + A AvatarAppearanceEventArgs object containing + the data sent from the simulator - - Raised when the data server responds to a request. + + Thread sync lock object - - Raised when the data server responds to a request. + + The event subscribers, null of no subscribers - - Classified Ad categories + + Raises the UUIDNameReply Event + A UUIDNameReplyEventArgs object containing + the data sent from the simulator - - Classified is listed in the Any category + + Thread sync lock object - - Classified is shopping related + + The event subscribers, null of no subscribers - - Classified is + + Raises the AvatarInterestsReply Event + A AvatarInterestsReplyEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the AvatarPropertiesReply Event + A AvatarPropertiesReplyEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the AvatarGroupsReply Event + A AvatarGroupsReplyEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - Event Categories + + The event subscribers, null of no subscribers - - + + Raises the AvatarPickerReply Event + A AvatarPickerReplyEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the ViewerEffectPointAt Event + A ViewerEffectPointAtEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the ViewerEffectLookAt Event + A ViewerEffectLookAtEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the ViewerEffect Event + A ViewerEffectEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - - Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. - - Flags can be combined using the | (pipe) character, not all flags are available in all queries - + + Raises the AvatarPicksReply Event + A AvatarPicksReplyEventArgs object containing + the data sent from the simulator - - Query the People database + + Thread sync lock object - - - - - - - - Query the Groups database - - - Query the Events database - - - Query the land holdings database for land owned by the currently connected agent - - - - - - Query the land holdings database for land which is owned by a Group - - - Specifies the query should pre sort the results based upon traffic - when searching the Places database - - - - - - - - - - - - - - - Specifies the query should pre sort the results in an ascending order when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. - This flag is only used when searching the land sales database + + The event subscribers, null of no subscribers - - Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. - This flag is only used when searching the land sales database + + Raises the PickInfoReply Event + A PickInfoReplyEventArgs object containing + the data sent from the simulator - - Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. - This flag is only used when searching the land sales database + + Thread sync lock object - - Specifies the query should pre sort the results using the Name field when searching the land sales database. - This flag is only used when searching the land sales database + + The event subscribers, null of no subscribers - - When set, only parcels less than the specified Price will be included when searching the land sales database. - This flag is only used when searching the land sales database + + Raises the AvatarClassifiedReply Event + A AvatarClassifiedReplyEventArgs object containing + the data sent from the simulator - - When set, only parcels greater than the specified Size will be included when searching the land sales database. - This flag is only used when searching the land sales database + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the ClassifiedInfoReply Event + A ClassifiedInfoReplyEventArgs object containing + the data sent from the simulator - - Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases + + Thread sync lock object - - Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases + + The event subscribers, null of no subscribers - - Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases + + Raises the DisplayNameUpdate Event + A DisplayNameUpdateEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - + - Land types to search dataserver for + Represents other avatars + - - Search Auction, Mainland and Estate - - - Land which is currently up for auction - - - Parcels which are on the mainland (Linden owned) continents - - - Parcels which are on privately owned simulators + + Tracks the specified avatar on your map + Avatar ID to track - + - The content rating of the event + Request a single avatar name + The avatar key to retrieve a name for - - Event is PG - - - Event is Mature + + + Request a list of avatar names + + The avatar keys to retrieve names for - - Event is Adult + + + Check if Display Names functionality is available + + True if Display name functionality is available - + - Classified Ad Options + Request retrieval of display names (max 90 names per request) - There appear to be two formats the flags are packed in. - This set of flags is for the newer style + List of UUIDs to lookup + Callback to report result of the operation - - + + + Start a request for Avatar Properties + + - - + + + Search for an avatar (first name, last name) + + The name to search for + An ID to associate with this query - - + + + Start a request for Avatar Picks + + UUID of the avatar - - + + + Start a request for Avatar Classifieds + + UUID of the avatar - - + + + Start a request for details of a specific profile pick + + UUID of the avatar + UUID of the profile pick - + - Classified ad query options + Start a request for details of a specific profile classified + UUID of the avatar + UUID of the profile classified - - Include all ads in results + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Include PG ads in results + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Include Mature ads in results + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Include Adult ads in results + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + - The For Sale flag in PlacesReplyData + EQ Message fired when someone nearby changes their display name + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - Parcel is not listed for sale - - - Parcel is For Sale - - + - A classified ad on the grid + Crossed region handler for message that comes across the EventQueue. Sent to an agent + when the agent crosses a sim border into a new region. + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - UUID for this ad, useful for looking up detailed - information about it + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The title of this classified ad + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Flags that show certain options applied to the classified + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Creation date of the ad + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Expiration date of the ad + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Price that was paid for this ad + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Print the struct data as a string - A string containing the field name, and field value + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - A parcel retrieved from the dataserver such as results from the - "For-Sale" listings or "Places" Search - + + Raised when the simulator sends us data containing + an agents animation playlist - - The unique dataserver parcel ID - This id is used to obtain additional information from the entry - by using the method + + Raised when the simulator sends us data containing + the appearance information for an agent - - A string containing the name of the parcel + + Raised when the simulator sends us data containing + agent names/id values - - The size of the parcel - This field is not returned for Places searches + + Raised when the simulator sends us data containing + the interests listed in an agents profile - - The price of the parcel - This field is not returned for Places searches + + Raised when the simulator sends us data containing + profile property information for an agent - - If True, this parcel is flagged to be auctioned + + Raised when the simulator sends us data containing + the group membership an agent is a member of - - If true, this parcel is currently set for sale + + Raised when the simulator sends us data containing + name/id pair - - Parcel traffic + + Raised when the simulator sends us data containing + the objects and effect when an agent is pointing at - - Print the struct data as a string - A string containing the field name, and field value + + Raised when the simulator sends us data containing + the objects and effect when an agent is looking at - - - An Avatar returned from the dataserver - + + Raised when the simulator sends us data containing + an agents viewer effect information - - Online status of agent - This field appears to be obsolete and always returns false + + Raised when the simulator sends us data containing + the top picks from an agents profile - - The agents first name + + Raised when the simulator sends us data containing + the Pick details - - The agents last name + + Raised when the simulator sends us data containing + the classified ads an agent has placed - - The agents + + Raised when the simulator sends us data containing + the details of a classified ad - - Print the struct data as a string - A string containing the field name, and field value + + Raised when the simulator sends us data containing + the details of display name change - + - Response to a "Groups" Search + Callback giving results when fetching display names + If the request was successful + Array of display names + Array of UUIDs that could not be fetched - - The Group ID + + Provides data for the event + The event occurs when the simulator sends + the animation playlist for an agent + + The following code example uses the and + properties to display the animation playlist of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; + + private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) + { + // create a dictionary of "known" animations from the Animations class using System.Reflection + Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); + Type type = typeof(Animations); + System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); + foreach (System.Reflection.FieldInfo field in fields) + { + systemAnimations.Add((UUID)field.GetValue(type), field.Name); + } + + // find out which animations being played are known animations and which are assets + foreach (Animation animation in e.Animations) + { + if (systemAnimations.ContainsKey(animation.AnimationID)) + { + Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, + systemAnimations[animation.AnimationID], animation.AnimationSequence); + } + else + { + Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, + animation.AnimationID, animation.AnimationSequence); + } + } + } + + - - The name of the group + + + Construct a new instance of the AvatarAnimationEventArgs class + + The ID of the agent + The list of animations to start - - The current number of members + + Get the ID of the agent - - Print the struct data as a string - A string containing the field name, and field value + + Get the list of animations to start - + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + + + + - Parcel information returned from a request - - Represents one of the following: - A parcel of land on the grid that has its Show In Search flag set - A parcel of land owned by the agent making the request - A parcel of land owned by a group the agent making the request is a member of - - - In a request for Group Land, the First record will contain an empty record - - Note: This is not the same as searching the land for sale data source + Construct a new instance of the AvatarAppearanceEventArgs class + The simulator request was from + The ID of the agent + true of the agent is a trial account + The default agent texture + The agents appearance layer textures + The for the agent - - The ID of the Agent of Group that owns the parcel - - - The name + + Get the Simulator this request is from of the agent - - The description + + Get the ID of the agent - - The Size of the parcel + + true if the agent is a trial account - - The billable Size of the parcel, for mainland - parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller - than the ActualArea. For Estate land this will always be 0 + + Get the default agent texture - - Indicates the ForSale status of the parcel + + Get the agents appearance layer textures - - The Gridwide X position + + Get the for the agent - - The Gridwide Y position + + Version of the appearance system used. + Value greater than 0 indicates that server side baking is used - - The Z position of the parcel, or 0 if no landing point set + + Version of the Current Outfit Folder the appearance is based on - - The name of the Region the parcel is located in + + Appearance flags, introduced with server side baking, currently unused - - The Asset ID of the parcels Snapshot texture + + Represents the interests from the profile of an agent - - The calculated visitor traffic + + Get the ID of the agent - - The billing product SKU - Known values are: - - 023Mainland / Full Region - 024Estate / Full Region - 027Estate / Openspace - 029Estate / Homestead - 129Mainland / Homestead (Linden Owned) - - + + The properties of an agent - - No longer used, will always be 0 + + Get the ID of the agent - - Get a SL URL for the parcel - A string, containing a standard SLURL + + Get the ID of the agent - - Print the struct data as a string - A string containing the field name, and field value + + Get the ID of the agent - + + Get the ID of the avatar + + - An "Event" Listing summary + Event args class for display name notification messages - - The ID of the event creator - - - The name of the event - - - The events ID + + + Capability to load TGAs to Bitmap + - - A string containing the short date/time the event will begin + + + Represents Mesh asset + - - The event start time in Unixtime (seconds since epoch) + + + Decoded mesh data + - - The events maturity rating + + Initializes a new instance of an AssetMesh object - - Print the struct data as a string - A string containing the field name, and field value + + Initializes a new instance of an AssetMesh object with parameters + A unique specific to this asset + A byte array containing the raw asset data - + - The details of an "Event" + TODO: Encodes Collada file into LLMesh format - - The events ID + + + Decodes mesh asset. See + to furter decode it for rendering + true - - The ID of the event creator + + Override the base classes AssetType - - The name of the event + + + NetworkManager is responsible for managing the network layer of + OpenMetaverse. It tracks all the server connections, serializes + outgoing traffic and deserializes incoming traffic, and provides + instances of delegates for network-related events. + + + Login Routines + - - The category + + The event subscribers, null of no subscribers - - The events description + + Raises the PacketSent Event + A PacketSentEventArgs object containing + the data sent from the simulator - - The short date/time the event will begin + + Thread sync lock object - - The event start time in Unixtime (seconds since epoch) UTC adjusted + + The event subscribers, null of no subscribers - - The length of the event in minutes + + Raises the LoggedOut Event + A LoggedOutEventArgs object containing + the data sent from the simulator - - 0 if no cover charge applies + + Thread sync lock object - - The cover charge amount in L$ if applicable + + The event subscribers, null of no subscribers - - The name of the region where the event is being held + + Raises the SimConnecting Event + A SimConnectingEventArgs object containing + the data sent from the simulator - - The gridwide location of the event + + Thread sync lock object - - The maturity rating + + The event subscribers, null of no subscribers - - Get a SL URL for the parcel where the event is hosted - A string, containing a standard SLURL + + Raises the SimConnected Event + A SimConnectedEventArgs object containing + the data sent from the simulator - - Print the struct data as a string - A string containing the field name, and field value + + Thread sync lock object - - Contains the Event data returned from the data server from an EventInfoRequest + + The event subscribers, null of no subscribers - - Construct a new instance of the EventInfoReplyEventArgs class - A single EventInfo object containing the details of an event + + Raises the SimDisconnected Event + A SimDisconnectedEventArgs object containing + the data sent from the simulator - - - A single EventInfo object containing the details of an event - + + Thread sync lock object - - Contains the "Event" detail data returned from the data server + + The event subscribers, null of no subscribers - - Construct a new instance of the DirEventsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Events" returned by the search query + + Raises the Disconnected Event + A DisconnectedEventArgs object containing + the data sent from the simulator - - The ID returned by + + Thread sync lock object - - A list of "Events" returned by the data server + + The event subscribers, null of no subscribers - - Contains the "Event" list data returned from the data server + + Raises the SimChanged Event + A SimChangedEventArgs object containing + the data sent from the simulator - - Construct a new instance of PlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Places" returned by the data server query + + Thread sync lock object - - The ID returned by + + The event subscribers, null of no subscribers - - A list of "Places" returned by the data server + + Raises the EventQueueRunning Event + A EventQueueRunningEventArgs object containing + the data sent from the simulator - - Contains the places data returned from the data server + + Thread sync lock object - - Construct a new instance of the DirPlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing land data returned by the data server + + All of the simulators we are currently connected to - - The ID returned by + + Handlers for incoming capability events - - A list containing Places data returned by the data server + + Handlers for incoming packets - - Contains the classified data returned from the data server + + Incoming packets that are awaiting handling - - Construct a new instance of the DirClassifiedsReplyEventArgs class - A list of classified ad data returned from the data server - - - A list containing Classified Ads returned by the data server - - - Contains the group data returned from the data server - - - Construct a new instance of the DirGroupsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of groups data returned by the data server - - - The ID returned by - - - A list containing Groups data returned by the data server - - - Contains the people data returned from the data server - - - Construct a new instance of the DirPeopleReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of people data returned by the data server - - - The ID returned by - - - A list containing People data returned by the data server - - - Contains the land sales data returned from the data server - - - Construct a new instance of the DirLandReplyEventArgs class - A list of parcels for sale returned by the data server - - - A list containing land forsale data returned by the data server + + Outgoing packets that are awaiting handling - + - Interface requirements for Messaging system + Default constructor + Reference to the GridClient object - + - Image width + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + Packet type to trigger events for + Callback to fire when a packet of this type + is received - + - Image height + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + Packet type to trigger events for + Callback to fire when a packet of this type + is received + True if the callback should be ran + asynchronously. Only set this to false (synchronous for callbacks + that will always complete quickly) + If any callback for a packet type is marked as + asynchronous, all callbacks for that packet type will be fired + asynchronously - + - Image channel flags + Unregister an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + Packet type this callback is registered with + Callback to stop firing events for - + - Red channel data + Register a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library + Name of the CAPS event to register a handler for + Callback to fire when a CAPS event is received - + - Green channel data + Unregister a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library + Name of the CAPS event this callback is + registered with + Callback to stop firing events for - + - Blue channel data + Send a packet to the simulator the avatar is currently occupying + Packet to send - + - Alpha channel data + Send a packet to a specified simulator + Packet to send + Simulator to send the packet to - + - Bump channel data + Connect to a simulator + IP address to connect to + Port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null - + - Create a new blank image + Connect to a simulator - width - height - channel flags + IP address and port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null - + - + Initiate a blocking logout request. This will return when the logout + handshake has completed or when Settings.LOGOUT_TIMEOUT + has expired and the network layer is manually shut down - - + - Convert the channels in the image. Channels are created or destroyed as required. + Initiate the logout process. Check if logout succeeded with the + OnLogoutReply event, and if this does not fire the + Shutdown() function needs to be manually called - new channel flags - + - Resize or stretch the image using nearest neighbor (ugly) resampling + Close a connection to the given simulator - new width - new height + + - + - Create a byte array containing 32-bit RGBA data with a bottom-left - origin, suitable for feeding directly into OpenGL + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout - A byte array containing raw texture data + Type of shutdown - + - Create a byte array containing 32-bit RGBA data with a bottom-left - origin, suitable for feeding directly into OpenGL + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout - A byte array containing raw texture data + Type of shutdown + Shutdown message - + - Represents an Animation + Searches through the list of currently connected simulators to find + one attached to the given IPEndPoint + IPEndPoint of the Simulator to search for + A Simulator reference on success, otherwise null - - Default Constructor - - + - Construct an Asset object of type Animation + Fire an event when an event queue connects for capabilities - Asset type - A unique specific to this asset - A byte array containing the raw asset data + Simulator the event queue is attached to - - Override the base classes AssetType + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Represents a Landmark with RegionID and Position vector - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - UUID of the Landmark target region + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Local position of the target + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Construct an Asset of type Landmark + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Construct an Asset object of type Landmark - - A unique specific to this asset - A byte array containing the raw asset data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Encode the raw contents of a string with the specific Landmark format - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Decode the raw asset data, populating the RegionID and Position - - true if the AssetData was successfully decoded to a UUID and Vector + + The event subscribers, null of no subscribers - - Override the base classes AssetType + + Raises the LoginProgress Event + A LoginProgressEventArgs object containing + the data sent from the simulator - + + Thread sync lock object + + + Seed CAPS URL returned from the login server + + + Maximum number of groups an agent can belong to, -1 for unlimited + + + Server side baking service URL + + + A list of packets obtained during the login process which + networkmanager will log but not process + + - + Generate sane default values for a login request + Account first name + Account last name + Account password + Client application name (channel) + Client application name + version + A populated struct containing + sane defaults - + - An instance of DelegateWrapper which calls InvokeWrappedDelegate, - which in turn calls the DynamicInvoke method of the wrapped - delegate + Simplified login that takes the most common and required fields + Account first name + Account last name + Account password + Client application name (channel) + Client application name + version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - + - Callback used to call EndInvoke on the asynchronously - invoked DelegateWrapper + Simplified login that takes the most common fields along with a + starting location URI, and can accept an MD5 string instead of a + plaintext password + Account first name + Account last name + Account password or MD5 hash of the password + such as $1$1682a1e45e9f957dcdf0bb56eb43319c + Client application name (channel) + Starting location URI that can be built with + StartLocation() + Client application name + version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - + - Executes the specified delegate with the specified arguments - asynchronously on a thread pool thread + Login that takes a struct of all the values that will be passed to + the login server - - + The values that will be passed to the login + server, all fields must be set even if they are String.Empty + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - + - Invokes the wrapped delegate synchronously + Build a start location URI for passing to the Login function - - + Name of the simulator to start in + X coordinate to start at + Y coordinate to start at + Z coordinate to start at + String with a URI that can be used to login to a specified + location - + - Calls EndInvoke on the wrapper and Close on the resulting WaitHandle - to prevent resource leaks + LoginParams and the initial login XmlRpcRequest were made on a remote machine. + This method now initializes libomv with the results. - - + - Delegate to wrap another delegate and its arguments + Handles response from XML-RPC login replies - - - + - The current status of a texture request as it moves through the pipeline or final result of a texture request. + Handles response from XML-RPC login replies with already parsed LoginResponseData - - The initial state given to a request. Requests in this state - are waiting for an available slot in the pipeline + + + Handle response from LLSD login replies + + + + - - A request that has been added to the pipeline and the request packet - has been sent to the simulator + + + Get current OS + + Either "Win" or "Linux" - - A request that has received one or more packets back from the simulator + + + Get clients default Mac Address + + A string containing the first found Mac Address - - A request that has received all packets back from the simulator + + Raised when the simulator sends us data containing + ... - - A request that has taken longer than - to download OR the initial packet containing the packet information was never received + + Raised when the simulator sends us data containing + ... - - The texture request was aborted by request of the agent + + Raised when the simulator sends us data containing + ... - - The simulator replied to the request that it was not able to find the requested texture + + Raised when the simulator sends us data containing + ... - - - A callback fired to indicate the status or final state of the requested texture. For progressive - downloads this will fire each time new asset data is returned from the simulator. - - The indicating either Progress for textures not fully downloaded, - or the final result of the request after it has been processed through the TexturePipeline - The object containing the Assets ID, raw data - and other information. For progressive rendering the will contain - the data from the beginning of the file. For failed, aborted and timed out requests it will contain - an empty byte array. + + Raised when the simulator sends us data containing + ... - - - Texture request download handler, allows a configurable number of download slots which manage multiple - concurrent texture downloads from the - - This class makes full use of the internal - system for full texture downloads. + + Raised when the simulator sends us data containing + ... - - A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID - and also the Asset Texture ID, and the value is an object containing the current state of the request and also - the asset data as it is being re-assembled + + Raised when the simulator sends us data containing + ... - - Holds the reference to the client object + + Raised when the simulator sends us data containing + ... - - Maximum concurrent texture requests allowed at a time + + Unique identifier associated with our connections to + simulators - - An array of objects used to manage worker request threads + + The simulator that the logged in avatar is currently + occupying - - An array of worker slots which shows the availablity status of the slot + + Shows whether the network layer is logged in to the + grid or not - - The primary thread which manages the requests. + + Number of packets in the incoming queue - - true if the TexturePipeline is currently running + + Number of packets in the outgoing queue - - A synchronization object used by the primary thread + + Raised when the simulator sends us data containing + ... - - A refresh timer used to increase the priority of stalled requests + + Called when a reply is received from the login server, the + login sequence will block until this event returns - - - Default constructor, Instantiates a new copy of the TexturePipeline class - - Reference to the instantiated object + + Current state of logging in - - - Initialize callbacks required for the TexturePipeline to operate - + + Upon login failure, contains a short string key for the + type of login error that occurred - - - Shutdown the TexturePipeline and cleanup any callbacks or transfers - + + The raw XML-RPC reply from the login server, exactly as it + was received (minus the HTTP header) - + + During login this contains a descriptive version of + LoginStatusCode. After a successful login this will contain the + message of the day, and after a failed login a descriptive error + message will be returned + + - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + Explains why a simulator or the grid disconnected from us - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - - Sends the actual request packet to the simulator - - The image to download - Type of the image to download, either a baked - avatar texture or a normal texture - Priority level of the download. Default is - 1,013,000.0f - Number of quality layers to discard. - This controls the end marker of the data sent - Packet number to start the download at. - This controls the start marker of the data sent - Sending a priority of 0 and a discardlevel of -1 aborts - download + + The client requested the logout or simulator disconnect - - - Cancel a pending or in process texture request - - The texture assets unique ID + + The server notified us that it is disconnecting - - - Master Download Thread, Queues up downloads in the threadpool - + + Either a socket was closed or network traffic timed out - + + The last active simulator shut down + + - The worker thread that sends the request and handles timeouts + Holds a simulator reference and a decoded packet, these structs are put in + the packet inbox for event handling - A object containing the request details - + + Reference to the simulator that this packet came from + + + Packet that needs to be processed + + - Handle responses from the simulator that tell us a texture we have requested is unable to be located - or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use + Holds a simulator reference and a serialized packet, these structs are put in + the packet outbox for sending - The sender - The EventArgs object containing the packet data - + + Reference to the simulator this packet is destined for + + + Packet that needs to be sent + + + Sequence number of the wrapped packet + + + Number of times this packet has been resent + + + Environment.TickCount when this packet was last sent over the wire + + + Type of the packet + + - Handles the remaining Image data that did not fit in the initial ImageData packet + - The sender - The EventArgs object containing the packet data + + + + + - + - Handle the initial ImageDataPacket sent from the simulator + Map layer request type - The sender - The EventArgs object containing the packet data - - Current number of pending and in-process transfers + + Objects and terrain are shown - + + Only the terrain is shown, no objects + + + Overlay showing land for sale and for auction + + - A request task containing information and status of a request as it is processed through the + Type of grid item, such as telehub, event, populator location, etc. - - The current which identifies the current status of the request + + Telehub - - The Unique Request ID, This is also the Asset ID of the texture being requested + + PG rated event - - The slot this request is occupying in the threadpoolSlots array + + Mature rated event - - The ImageType of the request. + + Popular location - - The callback to fire when the request is complete, will include - the and the - object containing the result data + + Locations of avatar groups in a region - - If true, indicates the callback will be fired whenever new data is returned from the simulator. - This is used to progressively render textures as portions of the texture are received. + + Land for sale - - An object that maintains the data of an request thats in-process. + + Classified ad - - Size of the byte array used to store raw packet data + + Adult rated event - - Raw packet data buffer + + Adult land for sale - - Length of the data to transmit + + + Information about a region on the grid map + - - EndPoint of the remote host + + Sim X position on World Map - + + Sim Y position on World Map + + + Sim Name (NOTE: In lowercase!) + + + + + + Appears to always be zero (None) + + + Sim's defined Water Height + + + + + + UUID of the World Map image + + + Unique identifier for this region, a combination of the X + and Y position + + - Create an allocated UDP packet buffer for receiving a packet + + - + - Create an allocated UDP packet buffer for sending a packet + - EndPoint of the remote host + - + - Create an allocated UDP packet buffer for sending a packet + - EndPoint of the remote host - Size of the buffer to allocate for packet data + + - + - Object pool for packet buffers. This is used to allocate memory for all - incoming and outgoing packets, and zerocoding buffers for those packets + Visual chunk of the grid map - + - Creates a new instance of the ObjectPoolBase class. Initialize MUST be called - after using this constructor. + Base class for Map Items - + + The Global X position of the item + + + The Global Y position of the item + + + Get the Local X position of the item + + + Get the Local Y position of the item + + + Get the Handle of the region + + - Creates a new instance of the ObjectPool Base class. + Represents an agent or group of agents location - The object pool is composed of segments, which - are allocated whenever the size of the pool is exceeded. The number of items - in a segment should be large enough that allocating a new segmeng is a rare - thing. For example, on a server that will have 10k people logged in at once, - the receive buffer object pool should have segment sizes of at least 1000 - byte arrays per segment. - - The minimun number of segments that may exist. - Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. - The frequency which segments are checked to see if they're eligible for cleanup. - + - Forces the segment cleanup algorithm to be run. This method is intended - primarly for use from the Unit Test libraries. + Represents a Telehub location - + - Responsible for allocate 1 instance of an object that will be stored in a segment. + Represents a non-adult parcel of land for sale - An instance of whatever objec the pool is pooling. - + - Checks in an instance of T owned by the object pool. This method is only intended to be called - by the WrappedObject class. + Represents an Adult parcel of land for sale - The segment from which the instance is checked out. - The instance of T to check back into the segment. - + - Checks an instance of T from the pool. If the pool is not sufficient to - allow the checkout, a new segment is created. + Represents a PG Event - A WrappedObject around the instance of T. To check - the instance back into the segment, be sureto dispose the WrappedObject - when finished. - + - The total number of segments created. Intended to be used by the Unit Tests. + Represents a Mature event - + - The number of items that are in a segment. Items in a segment - are all allocated at the same time, and are hopefully close to - each other in the managed heap. + Represents an Adult event - + - The minimum number of segments. When segments are reclaimed, - this number of segments will always be left alone. These - segments are allocated at startup. + Manages grid-wide tasks such as the world map - - - The age a segment must be before it's eligible for cleanup. - This is used to prevent thrash, and typical values are in - the 5 minute range. - + + The event subscribers. null if no subcribers - - - The frequence which the cleanup thread runs. This is typically - expected to be in the 5 minute range. - + + Raises the CoarseLocationUpdate event + A CoarseLocationUpdateEventArgs object containing the + data sent by simulator - - - Initialize the object pool in client mode - - Server to connect to - - + + Thread sync lock object - - - Initialize the object pool in server mode - - - + + The event subscribers. null if no subcribers - - - Returns a packet buffer with EndPoint set if the buffer is in - client mode, or with EndPoint set to null in server mode - - Initialized UDPPacketBuffer object + + Raises the GridRegion event + A GridRegionEventArgs object containing the + data sent by simulator - - - Default constructor - + + Thread sync lock object - - - Check a packet buffer out of the pool - - A packet buffer object + + The event subscribers. null if no subcribers - - - Singleton logging class for the entire library - + + Raises the GridLayer event + A GridLayerEventArgs object containing the + data sent by simulator - - log4net logging engine + + Thread sync lock object - - - Default constructor - + + The event subscribers. null if no subcribers - - - Send a log message to the logging engine - - The log message - The severity of the log entry + + Raises the GridItems event + A GridItemEventArgs object containing the + data sent by simulator - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Instance of the client + + Thread sync lock object - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Exception that was raised + + The event subscribers. null if no subcribers - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Instance of the client - Exception that was raised + + Raises the RegionHandleReply event + A RegionHandleReplyEventArgs object containing the + data sent by simulator - - - If the library is compiled with DEBUG defined, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - - The message to log at the DEBUG level to the - current logging engine + + Thread sync lock object - - - If the library is compiled with DEBUG defined and - GridClient.Settings.DEBUG is true, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - - The message to log at the DEBUG level to the - current logging engine - Instance of the client + + A dictionary of all the regions, indexed by region name - - Triggered whenever a message is logged. If this is left - null, log messages will go to the console + + A dictionary of all the regions, indexed by region handle - + - Callback used for client apps to receive log messages from - the library + Constructor - Data being logged - The severity of the log entry from + Instance of GridClient object to associate with this GridManager instance - + + - - The avatar has no rights - - - The avatar can see the online status of the target avatar - - - The avatar can see the location of the target avatar on the map - - - The avatar can modify the ojects of the target avatar - - + - This class holds information about an avatar in the friends list. There are two ways - to interface to this class. The first is through the set of boolean properties. This is the typical - way clients of this class will use it. The second interface is through two bitflag properties, - TheirFriendsRights and MyFriendsRights + Request a map layer + The name of the region + The type of layer - + - Used internally when building the initial list of friends at login time + - System ID of the avatar being prepesented - Rights the friend has to see you online and to modify your objects - Rights you have to see your friend online and to modify their objects + + + + + + - + - FriendInfo represented as a string + - A string reprentation of both my rights and my friends rights + + + + + - + - System ID of the avatar + + + + - + - full name of the avatar + Request data for all mainland (Linden managed) simulators - + - True if the avatar is online + Request the region handle for the specified region UUID + UUID of the region to look up - + - True if the friend can see if I am online + Get grid region information using the region name, this function + will block until it can find the region or gives up + Name of sim you're looking for + Layer that you are requesting + Will contain a GridRegion for the sim you're + looking for if successful, otherwise an empty structure + True if the GridRegion was successfully fetched, otherwise + false - - - True if the friend can see me on the map - - - - - True if the freind can modify my objects - - - - - True if I can see if my friend is online - - - - - True if I can see if my friend is on the map - - - - - True if I can modify my friend's objects - - - - - My friend's rights represented as bitmapped flags - - - - - My rights represented as bitmapped flags - - - - - This class is used to add and remove avatars from your friends list and to manage their permission. - - - - The event subscribers. null if no subcribers - - - Raises the FriendOnline event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the FriendOffline event - A FriendInfoEventArgs object containing the - data returned from the data server + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers. null if no subcribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Raises the FriendRightsUpdate event - A FriendInfoEventArgs object containing the - data returned from the data server + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers. null if no subcribers + + Raised when the simulator sends a + containing the location of agents in the simulator - - Raises the FriendNames event - A FriendNamesEventArgs object containing the - data returned from the data server + + Raised when the simulator sends a Region Data in response to + a Map request - - Thread sync lock object + + Raised when the simulator sends GridLayer object containing + a map tile coordinates and texture information - - The event subscribers. null if no subcribers + + Raised when the simulator sends GridItems object containing + details on events, land sales at a specific location - - Raises the FriendshipOffered event - A FriendshipOfferedEventArgs object containing the - data returned from the data server + + Raised in response to a Region lookup - - Thread sync lock object + + Unknown - - The event subscribers. null if no subcribers + + Current direction of the sun - - Raises the FriendshipResponse event - A FriendshipResponseEventArgs object containing the - data returned from the data server + + Current angular velocity of the sun - - Thread sync lock object + + Microseconds since the start of SL 4-hour day - - The event subscribers. null if no subcribers + + = - - Raises the FriendshipTerminated event - A FriendshipTerminatedEventArgs object containing the - data returned from the data server + + Number of times we've received an unknown CAPS exception in series. - - Thread sync lock object + + For exponential backoff on error. - - The event subscribers. null if no subcribers + + X position of this patch - - Raises the FriendFoundReply event - A FriendFoundReplyEventArgs object containing the - data returned from the data server + + Y position of this patch - - Thread sync lock object + + A 16x16 array of floats holding decompressed layer data - + - A dictionary of key/value pairs containing known friends of this avatar. - - The Key is the of the friend, the value is a - object that contains detailed information including permissions you have and have given to the friend + Creates a LayerData packet for compressed land data given a full + simulator heightmap and an array of indices of patches to compress + A 256 * 256 array of floating point values + specifying the height at each meter in the simulator + Array of indexes in the 16x16 grid of patches + for this simulator. For example if 1 and 17 are specified, patches + x=1,y=0 and x=1,y=1 are sent + - + - A Dictionary of key/value pairs containing current pending frienship offers. - - The key is the of the avatar making the request, - the value is the of the request which is used to accept - or decline the friendship offer + Add a patch of terrain to a BitPacker + BitPacker to write the patch to + Heightmap of the simulator, must be a 256 * + 256 float array + X offset of the patch to create, valid values are + from 0 to 15 + Y offset of the patch to create, valid values are + from 0 to 15 - + - Internal constructor + Add a custom decoder callback - A reference to the GridClient Object + The key of the field to decode + The custom decode handler - + - Accept a friendship request + Remove a custom decoder callback - agentID of avatatar to form friendship with - imSessionID of the friendship request message + The key of the field to decode + The custom decode handler - + - Decline a friendship request + Creates a formatted string containing the values of a Packet - of friend - imSessionID of the friendship request message + The Packet + A formatted string of values of the nested items in the Packet object - + - Overload: Offer friendship to an avatar. + Decode an IMessage object into a beautifully formatted string - System ID of the avatar you are offering friendship to + The IMessage object + Recursion level (used for indenting) + A formatted string containing the names and values of the source object - + - Offer friendship to an avatar. + A custom decoder callback - System ID of the avatar you are offering friendship to - A message to send with the request + The key of the object + the data to decode + A string represending the fieldData - + - Terminate a friendship with an avatar + Singleton logging class for the entire library - System ID of the avatar you are terminating the friendship with - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + log4net logging engine - + - Change the rights of a friend avatar. + Default constructor - the of the friend - the new rights to give the friend - This method will implicitly set the rights to those passed in the rights parameter. - + - Use to map a friends location on the grid. + Send a log message to the logging engine - Friends UUID to find - + The log message + The severity of the log entry - + - Use to track a friends movement on the grid + Send a log message to the logging engine - Friends Key + The log message + The severity of the log entry + Instance of the client - + - Ask for a notification of friend's online status + Send a log message to the logging engine - Friend's UUID + The log message + The severity of the log entry + Exception that was raised - + - This handles the asynchronous response of a RequestAvatarNames call. + Send a log message to the logging engine - - names cooresponding to the the list of IDs sent the the RequestAvatarNames call. - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + The log message + The severity of the log entry + Instance of the client + Exception that was raised - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + If the library is compiled with DEBUG defined, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine + + The message to log at the DEBUG level to the + current logging engine - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + If the library is compiled with DEBUG defined and + GridClient.Settings.DEBUG is true, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine + + The message to log at the DEBUG level to the + current logging engine + Instance of the client - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Triggered whenever a message is logged. If this is left + null, log messages will go to the console - + - Populate FriendList with data from the login reply + Callback used for client apps to receive log messages from + the library - true if login was successful - true if login request is requiring a redirect - A string containing the response to the login request - A string containing the reason for the request - A object containing the decoded - reply from the login server + Data being logged + The severity of the log entry from - - Raised when the simulator sends notification one of the members in our friends list comes online + + Sort by name - - Raised when the simulator sends notification one of the members in our friends list goes offline + + Sort by date - - Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions + + Sort folders by name, regardless of whether items are + sorted by name or date - - Raised when the simulator sends us the names on our friends list + + Place system folders at the top - - Raised when the simulator sends notification another agent is offering us friendship + + + Possible destinations for DeRezObject request + - - Raised when a request we sent to friend another agent is accepted or declined + + - - Raised when the simulator sends notification one of the members in our friends list has terminated - our friendship + + Copy from in-world to agent inventory - - Raised when the simulator sends the location of a friend we have - requested map location info for + + Derez to TaskInventory - - Contains information on a member of our friends list + + - - - Construct a new instance of the FriendInfoEventArgs class - - The FriendInfo + + Take Object - - Get the FriendInfo + + - - Contains Friend Names + + Delete Object - - - Construct a new instance of the FriendNamesEventArgs class - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name + + Put an avatar attachment into agent inventory - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name + + - - Sent when another agent requests a friendship with our agent + + Return an object back to the owner's inventory - + + Return a deeded object back to the last owner's inventory + + - Construct a new instance of the FriendshipOfferedEventArgs class + Upper half of the Flags field for inventory items - The ID of the agent requesting friendship - The name of the agent requesting friendship - The ID of the session, used in accepting or declining the - friendship offer - - Get the ID of the agent requesting friendship + + Indicates that the NextOwner permission will be set to the + most restrictive set of permissions found in the object set + (including linkset items and object inventory items) on next rez - - Get the name of the agent requesting friendship + + Indicates that the object sale information has been + changed - - Get the ID of the session, used in accepting or declining the - friendship offer + + If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez - - A response containing the results of our request to form a friendship with another agent + + If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez - - - Construct a new instance of the FriendShipResponseEventArgs class - - The ID of the agent we requested a friendship with - The name of the agent we requested a friendship with - true if the agent accepted our friendship offer + + If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez - - Get the ID of the agent we requested a friendship with + + If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez - - Get the name of the agent we requested a friendship with + + If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez - - true if the agent accepted our friendship offer + + Indicates whether this object is composed of multiple + items or not - - Contains data sent when a friend terminates a friendship with us + + Indicates that the asset is only referenced by this + inventory item. If this item is deleted or updated to reference a + new assetID, the asset can be deleted - + - Construct a new instance of the FrindshipTerminatedEventArgs class + Base Class for Inventory Items - The ID of the friend who terminated the friendship with us - The name of the friend who terminated the friendship with us - - Get the ID of the agent that terminated the friendship with us + + of item/folder - - Get the name of the agent that terminated the friendship with us + + of parent folder - + + Name of item/folder + + + Item/Folder Owners + + - Data sent in response to a request which contains the information to allow us to map the friends location + Constructor, takes an itemID as a parameter + The of the item - + - Construct a new instance of the FriendFoundReplyEventArgs class + - The ID of the agent we have requested location information for - The region handle where our friend is located - The simulator local position our friend is located - - - Get the ID of the agent we have received location information for - - - Get the region handle where our mapped friend is located - - - Get the simulator local position where our friend is located + - + - Static pre-defined animations available to all agents + + - - Agent with afraid expression on face - - - Agent aiming a bazooka (right handed) + + + Generates a number corresponding to the value of the object to support the use of a hash table, + suitable for use in hashing algorithms and data structures such as a hash table + + A Hashcode of all the combined InventoryBase fields - - Agent aiming a bow (left handed) + + + Determine whether the specified object is equal to the current object + + InventoryBase object to compare against + true if objects are the same - - Agent aiming a hand gun (right handed) + + + Determine whether the specified object is equal to the current object + + InventoryBase object to compare against + true if objects are the same - - Agent aiming a rifle (right handed) + + + Convert inventory to OSD + + OSD representation - - Agent with angry expression on face + + + An Item in Inventory + - - Agent hunched over (away) + + The of this item - - Agent doing a backflip + + The combined of this item - - Agent laughing while holding belly + + The type of item from - - Agent blowing a kiss + + The type of item from the enum - - Agent with bored expression on face + + The of the creator of this item - - Agent bowing to audience + + A Description of this item - - Agent brushing himself/herself off + + The s this item is set to or owned by - - Agent in busy mode + + If true, item is owned by a group - - Agent clapping hands + + The price this item can be purchased for - - Agent doing a curtsey bow + + The type of sale from the enum - - Agent crouching + + Combined flags from - - Agent crouching while walking + + Time and date this inventory item was created, stored as + UTC (Coordinated Universal Time) - - Agent crying + + Used to update the AssetID in requests sent to the server - - Agent unanimated with arms out (e.g. setting appearance) + + The of the previous owner of the item - - Agent re-animated after set appearance finished + + + Construct a new InventoryItem object + + The of the item - - Agent dancing + + + Construct a new InventoryItem object of a specific Type + + The type of item from + of the item - - Agent dancing + + + Indicates inventory item is a link + + True if inventory item is a link to another inventory item - - Agent dancing + + + + + - - Agent dancing + + + + + - - Agent dancing + + + Generates a number corresponding to the value of the object to support the use of a hash table. + Suitable for use in hashing algorithms and data structures such as a hash table + + A Hashcode of all the combined InventoryItem fields - - Agent dancing + + + Compares an object + + The object to compare + true if comparison object matches - - Agent dancing + + + Determine whether the specified object is equal to the current object + + The object to compare against + true if objects are the same - - Agent dancing + + + Determine whether the specified object is equal to the current object + + The object to compare against + true if objects are the same - - Agent on ground unanimated + + + Create InventoryItem from OSD + + OSD Data that makes up InventoryItem + Inventory item created - - Agent boozing it up + + + Convert InventoryItem to OSD + + OSD representation of InventoryItem - - Agent with embarassed expression on face + + + InventoryTexture Class representing a graphical image + + - - Agent with afraid expression on face + + + Construct an InventoryTexture object + + A which becomes the + objects AssetUUID - - Agent with angry expression on face + + + Construct an InventoryTexture object from a serialization stream + - - Agent with bored expression on face + + + InventorySound Class representing a playable sound + - - Agent crying + + + Construct an InventorySound object + + A which becomes the + objects AssetUUID - - Agent showing disdain (dislike) for something + + + Construct an InventorySound object from a serialization stream + - - Agent with embarassed expression on face + + + InventoryCallingCard Class, contains information on another avatar + - - Agent with frowning expression on face + + + Construct an InventoryCallingCard object + + A which becomes the + objects AssetUUID - - Agent with kissy face + + + Construct an InventoryCallingCard object from a serialization stream + - - Agent expressing laughgter + + + InventoryLandmark Class, contains details on a specific location + - - Agent with open mouth + + + Construct an InventoryLandmark object + + A which becomes the + objects AssetUUID - - Agent with repulsed expression on face + + + Construct an InventoryLandmark object from a serialization stream + - - Agent expressing sadness + + + Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited + - - Agent shrugging shoulders + + + InventoryObject Class contains details on a primitive or coalesced set of primitives + - - Agent with a smile + + + Construct an InventoryObject object + + A which becomes the + objects AssetUUID - - Agent expressing surprise + + + Construct an InventoryObject object from a serialization stream + - - Agent sticking tongue out + + + Gets or sets the upper byte of the Flags value + - - Agent with big toothy smile + + + Gets or sets the object attachment point, the lower byte of the Flags value + - - Agent winking + + + InventoryNotecard Class, contains details on an encoded text document + - - Agent expressing worry + + + Construct an InventoryNotecard object + + A which becomes the + objects AssetUUID - - Agent falling down + + + Construct an InventoryNotecard object from a serialization stream + - - Agent walking (feminine version) + + + InventoryCategory Class + + TODO: Is this even used for anything? - - Agent wagging finger (disapproval) + + + Construct an InventoryCategory object + + A which becomes the + objects AssetUUID - - I'm not sure I want to know + + + Construct an InventoryCategory object from a serialization stream + - - Agent in superman position + + + InventoryLSL Class, represents a Linden Scripting Language object + - - Agent in superman position + + + Construct an InventoryLSL object + + A which becomes the + objects AssetUUID - - Agent greeting another + + + Construct an InventoryLSL object from a serialization stream + - - Agent holding bazooka (right handed) + + + InventorySnapshot Class, an image taken with the viewer + - - Agent holding a bow (left handed) + + + Construct an InventorySnapshot object + + A which becomes the + objects AssetUUID - - Agent holding a handgun (right handed) + + + Construct an InventorySnapshot object from a serialization stream + - - Agent holding a rifle (right handed) + + + InventoryAttachment Class, contains details on an attachable object + - - Agent throwing an object (right handed) + + + Construct an InventoryAttachment object + + A which becomes the + objects AssetUUID - - Agent in static hover + + + Construct an InventoryAttachment object from a serialization stream + - - Agent hovering downward + + + Get the last AttachmentPoint this object was attached to + - - Agent hovering upward + + + InventoryWearable Class, details on a clothing item or body part + - - Agent being impatient + + + Construct an InventoryWearable object + + A which becomes the + objects AssetUUID - - Agent jumping + + + Construct an InventoryWearable object from a serialization stream + - - Agent jumping with fervor + + + The , Skin, Shape, Skirt, Etc + - - Agent point to lips then rear end + + + InventoryAnimation Class, A bvh encoded object which animates an avatar + - - Agent landing from jump, finished flight, etc + + + Construct an InventoryAnimation object + + A which becomes the + objects AssetUUID - - Agent laughing + + + Construct an InventoryAnimation object from a serialization stream + - - Agent landing from jump, finished flight, etc + + + InventoryGesture Class, details on a series of animations, sounds, and actions + - - Agent sitting on a motorcycle + + + Construct an InventoryGesture object + + A which becomes the + objects AssetUUID - - + + + Construct an InventoryGesture object from a serialization stream + - - Agent moving head side to side + + + A folder contains s and has certain attributes specific + to itself + - - Agent moving head side to side with unhappy expression + + The Preferred for a folder. - - Agent taunting another + + The Version of this folder - - + + Number of child items this folder contains. - - Agent giving peace sign + + + Constructor + + UUID of the folder - - Agent pointing at self + + + + + - - Agent pointing at another + + + Get Serilization data for this InventoryFolder object + - - Agent preparing for jump (bending knees) - - - Agent punching with left hand - - - Agent punching with right hand - - - Agent acting repulsed - - - Agent trying to be Chuck Norris - - - Rocks, Paper, Scissors 1, 2, 3 - - - Agent with hand flat over other hand - - - Agent with fist over other hand - - - Agent with two fingers spread over other hand - - - Agent running - - - Agent appearing sad - - - Agent saluting - - - Agent shooting bow (left handed) - - - Agent cupping mouth as if shouting - - - Agent shrugging shoulders - - - Agent in sit position - - - Agent in sit position (feminine) - - - Agent in sit position (generic) - - - Agent sitting on ground - - - Agent sitting on ground + + + Construct an InventoryFolder object from a serialization stream + - - + + + + + - - Agent sleeping on side + + + + + + - - Agent smoking + + + + + + - - Agent inhaling smoke + + + + + + - - + + + Create InventoryFolder from OSD + + OSD Data that makes up InventoryFolder + Inventory folder created - - Agent taking a picture + + + Convert InventoryItem to OSD + + OSD representation of InventoryItem - - Agent standing + + + Tools for dealing with agents inventory + - - Agent standing up + + Used for converting shadow_id to asset_id - - Agent standing + + The event subscribers, null of no subscribers - - Agent standing + + Raises the ItemReceived Event + A ItemReceivedEventArgs object containing + the data sent from the simulator - - Agent standing + + Thread sync lock object - - Agent standing + + The event subscribers, null of no subscribers - - Agent stretching + + Raises the FolderUpdated Event + A FolderUpdatedEventArgs object containing + the data sent from the simulator - - Agent in stride (fast walk) + + Thread sync lock object - - Agent surfing + + The event subscribers, null of no subscribers - - Agent acting surprised + + Raises the InventoryObjectOffered Event + A InventoryObjectOfferedEventArgs object containing + the data sent from the simulator - - Agent striking with a sword + + Thread sync lock object - - Agent talking (lips moving) + + The event subscribers, null of no subscribers - - Agent throwing a tantrum + + Raises the TaskItemReceived Event + A TaskItemReceivedEventArgs object containing + the data sent from the simulator - - Agent throwing an object (right handed) + + Thread sync lock object - - Agent trying on a shirt + + The event subscribers, null of no subscribers - - Agent turning to the left + + Raises the FindObjectByPath Event + A FindObjectByPathEventArgs object containing + the data sent from the simulator - - Agent turning to the right + + Thread sync lock object - - Agent typing + + The event subscribers, null of no subscribers - - Agent walking + + Raises the TaskInventoryReply Event + A TaskInventoryReplyEventArgs object containing + the data sent from the simulator - - Agent whispering + + Thread sync lock object - - Agent whispering with fingers in mouth + + The event subscribers, null of no subscribers - - Agent winking + + Raises the SaveAssetToInventory Event + A SaveAssetToInventoryEventArgs object containing + the data sent from the simulator - - Agent winking + + Thread sync lock object - - Agent worried + + The event subscribers, null of no subscribers - - Agent nodding yes + + Raises the ScriptRunningReply Event + A ScriptRunningReplyEventArgs object containing + the data sent from the simulator - - Agent nodding yes with happy face + + Thread sync lock object - - Agent floating with legs and arms crossed + + Partial mapping of AssetTypes to folder names - + - A dictionary containing all pre-defined animations + Default constructor - A dictionary containing the pre-defined animations, - where the key is the animations ID, and the value is a string - containing a name to identify the purpose of the animation + Reference to the GridClient object - + - Throttles the network traffic for various different traffic types. - Access this class through GridClient.Throttle + Fetch an inventory item from the dataserver + The items + The item Owners + a integer representing the number of milliseconds to wait for results + An object on success, or null if no item was found + Items will also be sent to the event - + - Default constructor, uses a default high total of 1500 KBps (1536000) + Request A single inventory item + The items + The item Owners + - + - Constructor that decodes an existing AgentThrottle packet in to - individual values + Request inventory items - Reference to the throttle data in an AgentThrottle - packet - Offset position to start reading at in the - throttle data - This is generally not needed in clients as the server will - never send a throttle packet to the client + Inventory items to request + Owners of the inventory items + - + - Send an AgentThrottle packet to the current server using the - current values + Request inventory items via Capabilities + Inventory items to request + Owners of the inventory items + - + - Send an AgentThrottle packet to the specified server using the - current values + Get contents of a folder + The of the folder to search + The of the folders owner + true to retrieve folders + true to retrieve items + sort order to return results in + a integer representing the number of milliseconds to wait for results + A list of inventory items matching search criteria within folder + + InventoryFolder.DescendentCount will only be accurate if both folders and items are + requested - + - Convert the current throttle values to a byte array that can be put - in an AgentThrottle packet + Request the contents of an inventory folder - Byte array containing all the throttle values - - - Maximum bits per second for resending unacknowledged packets - - - Maximum bits per second for LayerData terrain - - - Maximum bits per second for LayerData wind data - - - Maximum bits per second for LayerData clouds - - - Unknown, includes object data - - - Maximum bits per second for textures - - - Maximum bits per second for downloaded assets - - - Maximum bits per second the entire connection, divided up - between invidiual streams using default multipliers + The folder to search + The folder owners + true to return s contained in folder + true to return s containd in folder + the sort order to return items in + - + - Represents a single Voice Session to the Vivox service. + Request the contents of an inventory folder using HTTP capabilities + The folder to search + The folder owners + true to return s contained in folder + true to return s containd in folder + the sort order to return items in + - + - Close this session. + Returns the UUID of the folder (category) that defaults to + containing 'type'. The folder is not necessarily only for that + type + This will return the root folder if one does not exist + + The UUID of the desired folder if found, the UUID of the RootFolder + if not found, or UUID.Zero on failure - + - Look up an existing Participants in this session + Find an object in inventory using a specific path to search - - + The folder to begin the search in + The object owners + A string path to search + milliseconds to wait for a reply + Found items or if + timeout occurs or item is not found - + - Extract the avatar UUID encoded in a SIP URI + Find inventory items by path - - + The folder to begin the search in + The object owners + A string path to search, folders/objects separated by a '/' + Results are sent to the event - + - Permissions for control of object media + Search inventory Store object for an item or folder + The folder to begin the search in + An array which creates a path to search + Number of levels below baseFolder to conduct searches + if True, will stop searching after first match is found + A list of inventory items found - + - Style of cotrols that shold be displayed to the user + Move an inventory item or folder to a new location + The item or folder to move + The to move item or folder to - + - Class representing media data for a single face + Move an inventory item or folder to a new location and change its name + The item or folder to move + The to move item or folder to + The name to change the item or folder to - - Is display of the alternative image enabled - - - Should media auto loop - - - Shoule media be auto played - - - Auto scale media to prim face - - - Should viewer automatically zoom in on the face when clicked - - - Should viewer interpret first click as interaction with the media - or when false should the first click be treated as zoom in commadn - - - Style of controls viewer should display when - viewer media on this face - - - Starting URL for the media - - - Currently navigated URL - - - Media height in pixes + + + Move and rename a folder + + The source folders + The destination folders + The name to change the folder to - - Media width in pixels + + + Update folder properties + + of the folder to update + Sets folder's parent to + Folder name + Folder type - - Who can controls the media + + + Move a folder + + The source folders + The destination folders - - Who can interact with the media + + + Move multiple folders, the keys in the Dictionary parameter, + to a new parents, the value of that folder's key. + + A Dictionary containing the + of the source as the key, and the + of the destination as the value - - Is URL whitelist enabled + + + Move an inventory item to a new folder + + The of the source item to move + The of the destination folder - - Array of URLs that are whitelisted + + + Move and rename an inventory item + + The of the source item to move + The of the destination folder + The name to change the folder to - + - Serialize to OSD + Move multiple inventory items to new locations - OSDMap with the serialized data + A Dictionary containing the + of the source item as the key, and the + of the destination folder as the value - + - Deserialize from OSD data + Remove descendants of a folder - Serialized OSD data - Deserialized object + The of the folder - + - Particle system specific enumerators, flags and methods. + Remove a single item from inventory + The of the inventory item to remove - + - Current version of the media data for the prim + Remove a folder from inventory + The of the folder to remove - + - Array of media entries indexed by face number + Remove multiple items or folders from inventory + A List containing the s of items to remove + A List containing the s of the folders to remove - - - - - - - - - - - - - - - - - - - - - - - - - - Foliage type for this primitive. Only applicable if this - primitive is foliage - - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Identifies the owner if audio or a particle system is - active - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Objects physics engine propertis - - - Extra data about primitive - - - Indicates if prim is attached to an avatar - - - Number of clients referencing this prim - - + - Default constructor + Empty the Lost and Found folder - + - Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters in to signed eight bit values + Empty the Trash folder - Floating point parameter to pack - Signed eight bit value containing the packed parameter - + - Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters from signed eight bit integers to floating point values + - Signed eight bit value to unpack - Unpacked floating point value - - - - - - Uses basic heuristics to estimate the primitive shape + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + - + - Texture animation mode + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + + - - Disable texture animation - - - Enable texture animation - - - Loop when animating textures - - - Animate in reverse direction - - - Animate forward then reverse + + + Creates a new inventory folder + + ID of the folder to put this folder in + Name of the folder to create + The UUID of the newly created folder - - Slide texture smoothly instead of frame-stepping + + + Creates a new inventory folder + + ID of the folder to put this folder in + Name of the folder to create + Sets this folder as the default folder + for new assets of the specified type. Use AssetType.Unknown + to create a normal folder, otherwise it will likely create a + duplicate of an existing folder type + The UUID of the newly created folder + If you specify a preferred type of AsseType.Folder + it will create a new root folder which may likely cause all sorts + of strange problems - - Rotate texture instead of using frames + + + Create an inventory item and upload asset data + + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Delegate that will receive feedback on success or failure - - Scale texture instead of using frames + + + Create an inventory item and upload asset data + + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Permission of the newly created item + (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) + Delegate that will receive feedback on success or failure - + - A single textured face. Don't instantiate this class yourself, use the - methods in TextureEntry + Creates inventory link to another inventory item or folder + Put newly created link in folder with this UUID + Inventory item or folder + Method to call upon creation of the link - + - Contains the definition for individual faces + Creates inventory link to another inventory item - + Put newly created link in folder with this UUID + Original inventory item + Method to call upon creation of the link - + - + Creates inventory link to another inventory folder - + Put newly created link in folder with this UUID + Original inventory folder + Method to call upon creation of the link - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - In the future this will specify whether a webpage is - attached to this face - - - - - - - - + - Represents all of the texturable faces for an object + Creates inventory link to another inventory item or folder - Grid objects have infinite faces, with each face - using the properties of the default face unless set otherwise. So if - you have a TextureEntry with a default texture uuid of X, and face 18 - has a texture UUID of Y, every face would be textured with X except for - face 18 that uses Y. In practice however, primitives utilize a maximum - of nine faces - - - - - - + Put newly created link in folder with this UUID + Original item's UUID + Name + Description + Asset Type + Inventory Type + Transaction UUID + Method to call upon creation of the link - + - Constructor that takes a default texture UUID + - Texture UUID to use as the default texture + + + + - + - Constructor that takes a TextureEntryFace for the - default face + - Face to use as the default face + + + + + - + - Constructor that creates the TextureEntry class from a byte array + - Byte array containing the TextureEntry field - Starting position of the TextureEntry field in - the byte array - Length of the TextureEntry field, in bytes + + + + + - + - This will either create a new face if a custom face for the given - index is not defined, or return the custom face for that index if - it already exists + Request a copy of an asset embedded within a notecard - The index number of the face to create or - retrieve - A TextureEntryFace containing all the properties for that - face + Usually UUID.Zero for copying an asset from a notecard + UUID of the notecard to request an asset from + Target folder for asset to go to in your inventory + UUID of the embedded asset + callback to run when item is copied to inventory - + - - + - + - + - + - + + - + - + + + - + - Controls the texture animation of a particular prim + Save changes to notecard embedded in object contents + Encoded notecard asset data + Notecard UUID + Object's UUID + Called upon finish of the upload with status information - - + + + Upload new gesture asset for an inventory gesture item + + Encoded gesture asset + Gesture inventory UUID + Callback whick will be called when upload is complete - - + + + Update an existing script in an agents Inventory + + A byte[] array containing the encoded scripts contents + the itemID of the script + if true, sets the script content to run on the mono interpreter + - - + + + Update an existing script in an task Inventory + + A byte[] array containing the encoded scripts contents + the itemID of the script + UUID of the prim containting the script + if true, sets the script content to run on the mono interpreter + if true, sets the script to running + - - + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details - - + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object - - + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object + User defined queryID to correlate replies + If set to true, the CreateSelected flag + will be set on the rezzed object - - + + + Rez an object from inventory + + Simulator to place object in + TaskID object when rezzed + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object + User defined queryID to correlate replies + If set to true, the CreateSelected flag + will be set on the rezzed object - + - + DeRez an object from the simulator to the agents Objects folder in the agents Inventory - - + The simulator Local ID of the object + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - + - + DeRez an object from the simulator and return to inventory + + The simulator Local ID of the object + The type of destination from the enum + The destination inventory folders -or- + if DeRezzing object to a tasks Inventory, the Tasks + The transaction ID for this request which + can be used to correlate this request with other packets + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed + + + + Rez an item from inventory to its previous simulator location + + + - + - Parameters used to construct a visual representation of a primitive + Give an inventory item to another avatar + The of the item to give + The name of the item + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - Calculdates hash code for prim construction data + Give an inventory Folder with contents to another avatar - The has - - - Attachment point to an avatar - - - - - - - - - - - - + The of the Folder to give + The name of the folder + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer - + - Information on the flexible properties of a primitive + Copy or move an from agent inventory to a task (primitive) inventory + The target object + The item to copy or move from inventory + + For items with copy permissions a copy of the item is placed in the tasks inventory, + for no-copy items the object is moved to the tasks inventory - - - - - - - - - - - - - - - - - - - + - Default constructor + Retrieve a listing of the items contained in a task (Primitive) + The tasks + The tasks simulator local ID + milliseconds to wait for reply from simulator + A list containing the inventory items inside the task or null + if a timeout occurs + This request blocks until the response from the simulator arrives + or timeoutMS is exceeded - + - + Request the contents of a tasks (primitives) inventory from the + current simulator - - + The LocalID of the object + - + - + Request the contents of a tasks (primitives) inventory - + The simulator Local ID of the object + A reference to the simulator object that contains the object + - + - + Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory - + LocalID of the object in the simulator + UUID of the task item to move + The ID of the destination folder in this agents inventory + Simulator Object + Raises the event - + - Information on the light properties of a primitive + Remove an item from an objects (Prim) Inventory + LocalID of the object in the simulator + UUID of the task item to remove + Simulator Object + You can confirm the removal by comparing the tasks inventory serial before and after the + request with the request combined with + the event - - - - - - - - - - - - - - + + + Copy an InventoryScript item from the Agents Inventory into a primitives task inventory + + An unsigned integer representing a primitive being simulated + An which represents a script object from the agents inventory + true to set the scripts running state to enabled + A Unique Transaction ID + + The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory + and assumes the script exists in the agents inventory. + + uint primID = 95899503; // Fake prim ID + UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory + + Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, + false, true, InventorySortOrder.ByName, 10000); + + Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); + + - + - Default constructor + Request the running status of a script contained in a task (primitive) inventory + The ID of the primitive containing the script + The ID of the script + The event can be used to obtain the results of the + request + - + - + Send a request to set the running state of a script contained in a task (primitive) inventory - - + The ID of the primitive containing the script + The ID of the script + true to set the script running, false to stop a running script + To verify the change you can use the method combined + with the event - + - + Create a CRC from an InventoryItem - + The source InventoryItem + A uint representing the source InventoryItem as a CRC - + - + Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id - + Obfuscated shadow_id value + Deobfuscated asset_id value - + - Information on the light properties of a primitive as texture map + Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id + asset_id value to obfuscate + Obfuscated shadow_id value - - - - - - - + - Default constructor + Wrapper for creating a new object + The type of item from the enum + The of the newly created object + An object with the type and id passed - + - + Parse the results of a RequestTaskInventory() response - - - - - - - - - - - - - - - - - - Information on the sculpt properties of a sculpted primitive - - - - - Default constructor - - - - - - - - + A string which contains the data from the task reply + A List containing the items contained within the tasks inventory - - - Render inside out (inverts the normals). - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Render an X axis mirror of the sculpty. - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Extended properties to describe an object + UpdateCreateInventoryItem packets are received when a new inventory item + is created. This may occur when an object that's rezzed in world is + taken into inventory, when an item is created using the CreateInventoryItem + packet, or when an object is purchased + The sender + The EventArgs object containing the packet data - - - - - - - - - - - - - - - - - - - - - - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + an inventory object sent by another avatar or primitive - - + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - - + + + Get this agents Inventory data + - - + + + Callback for inventory item creation finishing + + Whether the request to create an inventory + item succeeded or not + Inventory item being created. If success is + false this will be null - - + + + Callback for an inventory item being create from an uploaded asset + + true if inventory item creation was successful + + + - + - Default constructor + + - + - Set the properties that are set in an ObjectPropertiesFamily packet + Reply received when uploading an inventory asset - that has - been partially filled by an ObjectPropertiesFamily packet + Has upload been successful + Error message if upload failed + Inventory asset UUID + New asset UUID - + - Describes physics attributes of the prim + Delegate that is invoked when script upload is completed + Has upload succeded (note, there still might be compile errors) + Upload status message + Is compilation successful + If compilation failed, list of error messages, null on compilation success + Script inventory UUID + Script's new asset UUID - - Primitive's local ID + + Set to true to accept offer, false to decline it - - Density (1000 for normal density) + + The folder to accept the inventory into, if null default folder for will be used - - Friction + + + Callback when an inventory object is accepted and received from a + task inventory. This is the callback in which you actually get + the ItemID, as in ObjectOfferedCallback it is null when received + from a task. + - - Gravity multiplier (1 for normal gravity) + + + Attempts to convert an LLSD structure to a known Packet type + + Event name, this must match an actual + packet name for a Packet to be successfully built + LLSD to convert to a Packet + A Packet on success, otherwise null - - Type of physics representation of this primitive in the simulator + + + Class that handles the local asset cache + - - Restitution + + + Default constructor + + A reference to the GridClient object - + - Creates PhysicsProperties from OSD + Disposes cleanup timer - OSDMap with incoming data - Deserialized PhysicsProperties object - + - Serializes PhysicsProperties to OSD + Only create timer when needed - OSDMap with serialized PhysicsProperties data - + - Complete structure for the particle system + Return bytes read from the local asset cache, null if it does not exist + UUID of the asset we want to get + Raw bytes of the asset, or null on failure - - Particle Flags - There appears to be more data packed in to this area - for many particle systems. It doesn't appear to be flag values - and serialization breaks unless there is a flag for every - possible bit so it is left as an unsigned integer - - - pattern of particles - - - A representing the maximimum age (in seconds) particle will be displayed - Maximum value is 30 seconds - - - A representing the number of seconds, - from when the particle source comes into view, - or the particle system's creation, that the object will emits particles; - after this time period no more particles are emitted - - - A in radians that specifies where particles will not be created - - - A in radians that specifies where particles will be created - - - A representing the number of seconds between burts. - - - A representing the number of meters - around the center of the source where particles will be created. - - - A representing in seconds, the minimum speed between bursts of new particles - being emitted - - - A representing in seconds the maximum speed of new particles being emitted. + + + Returns ImageDownload object of the + image from the local image cache, null if it does not exist + + UUID of the image we want to get + ImageDownload object containing the image, or null on failure - - A representing the maximum number of particles emitted per burst + + + Constructs a file name of the cached asset + + UUID of the asset + String with the file name of the cahced asset - - A which represents the velocity (speed) from the source which particles are emitted + + + Constructs a file name of the static cached asset + + UUID of the asset + String with the file name of the static cached asset - - A which represents the Acceleration from the source which particles are emitted + + + Saves an asset to the local cache + + UUID of the asset + Raw bytes the asset consists of + Weather the operation was successfull - - The Key of the texture displayed on the particle + + + Get the file name of the asset stored with gived UUID + + UUID of the asset + Null if we don't have that UUID cached on disk, file name if found in the cache folder - - The Key of the specified target object or avatar particles will follow + + + Checks if the asset exists in the local cache + + UUID of the asset + True is the asset is stored in the cache, otherwise false - - Flags of particle from + + + Wipes out entire cache + - - Max Age particle system will emit particles for + + + Brings cache size to the 90% of the max size + - - The the particle has at the beginning of its lifecycle + + + Asynchronously brings cache size to the 90% of the max size + - - The the particle has at the ending of its lifecycle + + + Adds up file sizes passes in a FileInfo array + - - A that represents the starting X size of the particle - Minimum value is 0, maximum value is 4 + + + Checks whether caching is enabled + - - A that represents the starting Y size of the particle - Minimum value is 0, maximum value is 4 + + + Periodically prune the cache + - - A that represents the ending X size of the particle - Minimum value is 0, maximum value is 4 + + + Nicely formats file sizes + + Byte size we want to output + String with humanly readable file size - - A that represents the ending Y size of the particle - Minimum value is 0, maximum value is 4 + + + Allows setting weather to periodicale prune the cache if it grows too big + Default is enabled, when caching is enabled + - - A that represents the start glow value - Minimum value is 0, maximum value is 1 + + + How long (in ms) between cache checks (default is 5 min.) + - - A that represents the end glow value - Minimum value is 0, maximum value is 1 + + + Helper class for sorting files by their last accessed time + - - OpenGL blend function to use at particle source + + + Throttles the network traffic for various different traffic types. + Access this class through GridClient.Throttle + - - OpenGL blend function to use at particle destination + + + Default constructor, uses a default high total of 1500 KBps (1536000) + - + - Can this particle system be packed in a legacy compatible way + Constructor that decodes an existing AgentThrottle packet in to + individual values - True if the particle system doesn't use new particle system features + Reference to the throttle data in an AgentThrottle + packet + Offset position to start reading at in the + throttle data + This is generally not needed in clients as the server will + never send a throttle packet to the client - + - Decodes a byte[] array into a ParticleSystem Object + Send an AgentThrottle packet to the current server using the + current values - ParticleSystem object - Start position for BitPacker - + - Generate byte[] array from particle data + Send an AgentThrottle packet to the specified server using the + current values - Byte array - + - Particle source pattern + Convert the current throttle values to a byte array that can be put + in an AgentThrottle packet + Byte array containing all the throttle values - - None + + Maximum bits per second for resending unacknowledged packets - - Drop particles from source position with no force + + Maximum bits per second for LayerData terrain - - "Explode" particles in all directions + + Maximum bits per second for LayerData wind data - - Particles shoot across a 2D area + + Maximum bits per second for LayerData clouds - - Particles shoot across a 3D Cone + + Unknown, includes object data - - Inverse of AngleCone (shoot particles everywhere except the 3D cone defined + + Maximum bits per second for textures - + + Maximum bits per second for downloaded assets + + + Maximum bits per second the entire connection, divided up + between invidiual streams using default multipliers + + - Particle Data Flags + Represents a Callingcard with AvatarID and Position vector - - None + + UUID of the Callingcard target avatar - - Interpolate color and alpha from start to end + + Construct an Asset of type Callingcard - - Interpolate scale from start to end + + + Construct an Asset object of type Callingcard + + A unique specific to this asset + A byte array containing the raw asset data - - Bounce particles off particle sources Z height + + + Constuct an asset of type Callingcard + + UUID of the target avatar - - velocity of particles is dampened toward the simulators wind - - - Particles follow the source - - - Particles point towards the direction of source's velocity - - - Target of the particles - - - Particles are sent in a straight line - - - Particles emit a glow - - - used for point/grab/touch - - - continuous ribbon particle - - - particle data contains glow - - - particle data contains blend functions + + + Encode the raw contents of a string with the specific Callingcard format + - + - Particle Flags Enum + Decode the raw asset data, populating the AvatarID and Position + true if the AssetData was successfully decoded to a UUID and Vector - - None + + Override the base classes AssetType - - Acceleration and velocity for particles are - relative to the object rotation + + + Constants for the archiving module + - - Particles use new 'correct' angle parameters + + + Path for region settings. + - + - Return a decoded capabilities message as a strongly typed object + The location of the archive control file - A string containing the name of the capabilities message key - An to decode - A strongly typed object containing the decoded information from the capabilities message, or null - if no existing Message object exists for the specified event - + - A Wrapper around openjpeg to encode and decode images to and from byte arrays + Path for the assets held in an archive - - TGA Header size - - - OpenJPEG is not threadsafe, so this object is used to lock - during calls into unmanaged code - - + - Encode a object into a byte array + Path for the prims file - The object to encode - true to enable lossless conversion, only useful for small images ie: sculptmaps - A byte array containing the encoded Image object - + - Encode a object into a byte array + Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. - The object to encode - a byte array of the encoded image - + - Decode JPEG2000 data to an and - + Path for region settings. - JPEG2000 encoded data - ManagedImage object to decode to - Image object to decode to - True if the decode succeeds, otherwise false - + - + The character the separates the uuid from extension information in an archived asset filename - - - - + - + Extensions used for asset types in the archive - - - - - + - Encode a object into a byte array + Checks the instance back into the object pool - The source object to encode - true to enable lossless decoding - A byte array containing the source Bitmap object - + - Defines the beginning and ending file positions of a layer in an - LRCP-progression JPEG2000 file + Returns an instance of the class that has been checked out of the Object Pool. - + - This structure is used to marshal both encoded and decoded images. - MUST MATCH THE STRUCT IN dotnet.h! + Creates a new instance of the ObjectPoolBase class. Initialize MUST be called + after using this constructor. - + - Information about a single packet in a JPEG2000 stream + Creates a new instance of the ObjectPool Base class. + The object pool is composed of segments, which + are allocated whenever the size of the pool is exceeded. The number of items + in a segment should be large enough that allocating a new segmeng is a rare + thing. For example, on a server that will have 10k people logged in at once, + the receive buffer object pool should have segment sizes of at least 1000 + byte arrays per segment. + + The minimun number of segments that may exist. + Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. + The frequency which segments are checked to see if they're eligible for cleanup. - - Packet start position - - - Packet header end position - - - Packet end position - - - The event subscribers. null if no subcribers - - - Raises the LandPatchReceived event - A LandPatchReceivedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - + - Default constructor + Forces the segment cleanup algorithm to be run. This method is intended + primarly for use from the Unit Test libraries. - - - - Raised when the simulator responds sends - - - Simulator from that sent tha data - - - Sim coordinate of the patch - - - Sim coordinate of the patch - - - Size of tha patch - - - Heightmap for the patch - + - Capabilities is the name of the bi-directional HTTP REST protocol - used to communicate non real-time transactions such as teleporting or - group messaging + Responsible for allocate 1 instance of an object that will be stored in a segment. + An instance of whatever objec the pool is pooling. - - Reference to the simulator this system is connected to - - + - Default constructor + Checks in an instance of T owned by the object pool. This method is only intended to be called + by the WrappedObject class. - - + The segment from which the instance is checked out. + The instance of T to check back into the segment. - + - Request the URI of a named capability + Checks an instance of T from the pool. If the pool is not sufficient to + allow the checkout, a new segment is created. - Name of the capability to request - The URI of the requested capability, or String.Empty if - the capability does not exist + A WrappedObject around the instance of T. To check + the instance back into the segment, be sureto dispose the WrappedObject + when finished. - + - Process any incoming events, check to see if we have a message created for the event, + The total number of segments created. Intended to be used by the Unit Tests. - - - - Capabilities URI this system was initialized with + + + The number of items that are in a segment. Items in a segment + are all allocated at the same time, and are hopefully close to + each other in the managed heap. + - - Whether the capabilities event queue is connected and - listening for incoming events + + + The minimum number of segments. When segments are reclaimed, + this number of segments will always be left alone. These + segments are allocated at startup. + - + - Triggered when an event is received via the EventQueueGet - capability + The age a segment must be before it's eligible for cleanup. + This is used to prevent thrash, and typical values are in + the 5 minute range. - Event name - Decoded event data - The simulator that generated the event - + - + The frequence which the cleanup thread runs. This is typically + expected to be in the 5 minute range. - - OK - - - Transfer completed - - - - - - - - - Unknown error occurred - - - Equivalent to a 404 error - - - Client does not have permission for that resource - - - Unknown status - - + - + Main class to expose grid functionality to clients. All of the + classes needed for sending and receiving data are accessible through + this class. + + + // Example minimum code required to instantiate class and + // connect to a simulator. + using System; + using System.Collections.Generic; + using System.Text; + using OpenMetaverse; + + namespace FirstBot + { + class Bot + { + public static GridClient Client; + static void Main(string[] args) + { + Client = new GridClient(); // instantiates the GridClient class + // to the global Client object + // Login to Simulator + Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); + // Wait for a Keypress + Console.ReadLine(); + // Logout of simulator + Client.Network.Logout(); + } + } + } + + - - + + Networking subsystem - - Unknown + + Settings class including constant values and changeable + parameters for everything - - Virtually all asset transfers use this channel + + Parcel (subdivided simulator lots) subsystem - - - - + + Our own avatars subsystem - - + + Other avatars subsystem - - Asset from the asset server + + Estate subsystem - - Inventory item + + Friends list subsystem - - Estate asset, such as an estate covenant + + Grid (aka simulator group) subsystem - - - - + + Object subsystem - - + + Group subsystem - - + + Asset subsystem - - + + Appearance subsystem - - - When requesting image download, type of the image requested - + + Inventory subsystem - - Normal in-world object texture + + Directory searches including classifieds, people, land + sales, etc - - Avatar texture + + Handles land, wind, and cloud heightmaps - - Server baked avatar texture + + Handles sound-related networking - - - Image file format - + + Throttling total bandwidth usage, or allocating bandwidth + for specific data stream types - + - + Default constructor - - Number of milliseconds passed since the last transfer - packet was received - - + - + Return the full name of this instance + Client avatars full name - - - - + + Describes tasks returned in LandStatReply - + - + Estate level administration and utilities - - - - + + Textures for each of the four terrain height levels - - - - + + Upper/lower texture boundaries for each corner of the sim - + - + Constructor for EstateTools class - - - - + - - - - + + The event subscribers. null if no subcribers - - Number of milliseconds to wait for a transfer header packet if out of order data was received + + Raises the TopCollidersReply event + A TopCollidersReplyEventArgs object containing the + data returned from the data server - + + Thread sync lock object + + The event subscribers. null if no subcribers - - Raises the XferReceived event - A XferReceivedEventArgs object containing the - data returned from the simulator + + Raises the TopScriptsReply event + A TopScriptsReplyEventArgs object containing the + data returned from the data server - + Thread sync lock object - + The event subscribers. null if no subcribers - - Raises the AssetUploaded event - A AssetUploadedEventArgs object containing the - data returned from the simulator + + Raises the EstateUsersReply event + A EstateUsersReplyEventArgs object containing the + data returned from the data server - + Thread sync lock object - + The event subscribers. null if no subcribers - - Raises the UploadProgress event - A UploadProgressEventArgs object containing the - data returned from the simulator + + Raises the EstateGroupsReply event + A EstateGroupsReplyEventArgs object containing the + data returned from the data server - + Thread sync lock object - + The event subscribers. null if no subcribers - - Raises the InitiateDownload event - A InitiateDownloadEventArgs object containing the - data returned from the simulator + + Raises the EstateManagersReply event + A EstateManagersReplyEventArgs object containing the + data returned from the data server - + Thread sync lock object - + The event subscribers. null if no subcribers - - Raises the ImageReceiveProgress event - A ImageReceiveProgressEventArgs object containing the - data returned from the simulator + + Raises the EstateBansReply event + A EstateBansReplyEventArgs object containing the + data returned from the data server - + Thread sync lock object - - Texture download cache + + The event subscribers. null if no subcribers - + + Raises the EstateCovenantReply event + A EstateCovenantReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the EstateUpdateInfoReply event + A EstateUpdateInfoReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + - Default constructor + Requests estate information such as top scripts and colliders - A reference to the GridClient object + + + + - + + Requests estate settings, including estate manager and access/ban lists + + + Requests the "Top Scripts" list for the current region + + + Requests the "Top Colliders" list for the current region + + - Request an asset download + Set several estate specific configuration variables - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - The callback to fire when the simulator responds with the asset data + The Height of the waterlevel over the entire estate. Defaults to 20 + The maximum height change allowed above the baked terrain. Defaults to 4 + The minimum height change allowed below the baked terrain. Defaults to -4 + true to use + if True forces the sun position to the position in SunPosition + The current position of the sun on the estate, or when FixedSun is true the static position + the sun will remain. 6.0 = Sunrise, 30.0 = Sunset - + - Request an asset download + Request return of objects owned by specified avatar - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - The callback to fire when the simulator responds with the asset data + The Agents owning the primitives to return + specify the coverage and type of objects to be included in the return + true to perform return on entire estate - + + + + + + - Request an asset download + Used for setting and retrieving various estate panel settings - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - UUID of the transaction - The callback to fire when the simulator responds with the asset data + EstateOwnerMessage Method field + List of parameters to include - + - Request an asset download + Kick an avatar from an estate - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - UUID of the transaction - The callback to fire when the simulator responds with the asset data + Key of Agent to remove - + - Request an asset download through the almost deprecated Xfer system + Ban an avatar from an estate + Key of Agent to remove + Ban user from this estate and all others owned by the estate owner + + + Unban an avatar from an estate + Key of Agent to remove + /// Unban user from this estate and all others owned by the estate owner + + + + Send a message dialog to everyone in an entire estate - Filename of the asset to request - Whether or not to delete the asset - off the server after it is retrieved - Use large transfer packets or not - UUID of the file to request, if filename is - left empty - Asset type of vFileID, or - AssetType.Unknown if filename is not empty - Sets the FilePath in the request to Cache - (4) if true, otherwise Unknown (0) is used - + Message to send all users in the estate - + - + Send a message dialog to everyone in a simulator - Use UUID.Zero if you do not have the - asset ID but have all the necessary permissions - The item ID of this asset in the inventory - Use UUID.Zero if you are not requesting an - asset from an object inventory - The owner of this asset - Asset type - Whether to prioritize this asset download or not - + Message to send all users in the simulator - + - Used to force asset data into the PendingUpload property, ie: for raw terrain uploads + Send an avatar back to their home location - An AssetUpload object containing the data to upload to the simulator + Key of avatar to send home - + - Request an asset be uploaded to the simulator + Begin the region restart process - The Object containing the asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - + - Request an asset be uploaded to the simulator + Cancels a region restart - The of the asset being uploaded - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - + + Estate panel "Region" tab settings + + + Estate panel "Debug" tab settings + + + Used for setting the region's terrain textures for its four height levels + + + + + + + Used for setting sim terrain texture heights + + + Requests the estate covenant + + - Request an asset be uploaded to the simulator + Upload a terrain RAW file - - Asset type to upload this data as - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired + A byte array containing the encoded terrain data + The name of the file being uploaded + The Id of the transfer request - + - Initiate an asset upload + Teleports all users home in current Estate - The ID this asset will have if the - upload succeeds - Asset type to upload this data as - Raw asset data to upload - Whether to store this asset on the local - simulator or the grid-wide asset server - The tranaction id for the upload - The transaction ID of this transfer - + + + Remove estate manager + Key of Agent to Remove + removes manager to this estate and all others owned by the estate owner + + + + Add estate manager + Key of Agent to Add + Add agent as manager to this estate and all others owned by the estate owner + + + + Add's an agent to the estate Allowed list + Key of Agent to Add + Add agent as an allowed reisdent to All estates if true + + + + Removes an agent from the estate Allowed list + Key of Agent to Remove + Removes agent as an allowed reisdent from All estates if true + + + - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress - transfer. - A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority - indicating an off-by-one error. - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - Request an image and fire a callback when the request is complete - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - - Request an image and use an inline anonymous method to handle the downloaded texture data - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - ); - - Request a texture, decode the texture to a bitmap image and apply it to a imagebox - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - ManagedImage imgData; - Image bitmap; - - if (state == TextureRequestState.Finished) - { - OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); - picInsignia.Image = bitmap; - } - } - } - - - - - - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - - - - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - - - - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - - - Cancel a texture request - - The texture assets - - - - Requests download of a mesh asset - - UUID of the mesh asset - Callback when the request completes - - - - Fetach avatar texture on a grid capable of server side baking - - ID of the avatar - ID of the texture - Name of the part of the avatar texture applies to - Callback invoked on operation completion + Add's a group to the estate Allowed list
+ Key of Group to Add + Add Group as an allowed group to All estates if true
- - - Lets TexturePipeline class fire the progress event - - The texture ID currently being downloaded - the number of bytes transferred - the total number of bytes expected + + + + Removes a group from the estate Allowed list + Key of Group to Remove + Removes Group as an allowed Group from All estates if true - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Raised when the data server responds to a request. - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Raised when the data server responds to a request. - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Raised when the data server responds to a request. - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Raised when the data server responds to a request. - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Raised when the data server responds to a request. - - Raised when the simulator responds sends + + Raised when the data server responds to a request. - - Raised during upload completes + + Raised when the data server responds to a request. - - Raised during upload with progres update + + Raised when the data server responds to a request. - - Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files + + Used in the ReportType field of a LandStatRequest - - Fired when a texture is in the process of being downloaded by the TexturePipeline class + + Used by EstateOwnerMessage packets - - - Callback used for various asset download requests - - Transfer information - Downloaded asset, null on fail + + Used by EstateOwnerMessage packets - + - Callback used upon competition of baked texture upload + - Asset UUID of the newly uploaded baked texture - - - A callback that fires upon the completition of the RequestMesh call - - Was the download successfull - Resulting mesh or null on problems + + No flags set - - Xfer data + + Only return targets scripted objects - - Upload data + + Only return targets objects if on others land - - Filename used on the simulator + + Returns target's scripted objects and objects on other parcels - - Filename used by the client + + Ground texture settings for each corner of the region - - UUID of the image that is in progress + + Used by GroundTextureHeightSettings - - Number of bytes received so far + + The high and low texture thresholds for each corner of the sim - - Image size in bytes + + Raised on LandStatReply when the report type is for "top colliders" - + + Construct a new instance of the TopCollidersReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply + + - Represents an LSL Text object containing a string of UTF encoded characters + The number of returned items in LandStatReply - - A string of characters represting the script contents - - - Initializes a new AssetScriptText object - - + - Initializes a new AssetScriptText object with parameters + A Dictionary of Object UUIDs to tasks returned in LandStatReply - A unique specific to this asset - A byte array containing the raw asset data - + + Raised on LandStatReply when the report type is for "top Scripts" + + + Construct a new instance of the TopScriptsReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply + + - Encode a string containing the scripts contents into byte encoded AssetData + The number of scripts returned in LandStatReply - + - Decode a byte array containing the scripts contents into a string + A Dictionary of Object UUIDs to tasks returned in LandStatReply - true if decoding is successful - - Override the base classes AssetType + + Returned, along with other info, upon a successful .RequestInfo() - + + Construct a new instance of the EstateBansReplyEventArgs class + The estate's identifier on the grid + The number of returned items in LandStatReply + User UUIDs banned + + - Represents an AssetScriptBinary object containing the - LSO compiled bytecode of an LSL script + The identifier of the estate - - Initializes a new instance of an AssetScriptBinary object - - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + + The number of returned itmes + - + - TODO: Encodes a scripts contents into a LSO Bytecode file + List of UUIDs of Banned Users - + + Returned, along with other info, upon a successful .RequestInfo() + + + Construct a new instance of the EstateUsersReplyEventArgs class + The estate's identifier on the grid + The number of users + Allowed users UUIDs + + - TODO: Decode LSO Bytecode into a string + The identifier of the estate - true - - Override the base classes AssetType + + + The number of returned items + - + - Represents a Callingcard with AvatarID and Position vector + List of UUIDs of Allowed Users - - UUID of the Callingcard target avatar + + Returned, along with other info, upon a successful .RequestInfo() - - Construct an Asset of type Callingcard + + Construct a new instance of the EstateGroupsReplyEventArgs class + The estate's identifier on the grid + The number of Groups + Allowed Groups UUIDs - + - Construct an Asset object of type Callingcard + The identifier of the estate - A unique specific to this asset - A byte array containing the raw asset data - + - Constuct an asset of type Callingcard + The number of returned items - UUID of the target avatar - + - Encode the raw contents of a string with the specific Callingcard format + List of UUIDs of Allowed Groups - + + Returned, along with other info, upon a successful .RequestInfo() + + + Construct a new instance of the EstateManagersReplyEventArgs class + The estate's identifier on the grid + The number of Managers + Managers UUIDs + + - Decode the raw asset data, populating the AvatarID and Position + The identifier of the estate - true if the AssetData was successfully decoded to a UUID and Vector - - Override the base classes AssetType + + + The number of returned items + - + - + List of UUIDs of the Estate's Managers - - The event subscribers, null of no subscribers + + Returned, along with other info, upon a successful .RequestInfo() - - Raises the AttachedSound Event - A AttachedSoundEventArgs object containing - the data sent from the simulator + + Construct a new instance of the EstateCovenantReplyEventArgs class + The Covenant ID + The timestamp + The estate's name + The Estate Owner's ID (can be a GroupID) - - Thread sync lock object + + + The Covenant + - - The event subscribers, null of no subscribers + + + The timestamp + - - Raises the AttachedSoundGainChange Event - A AttachedSoundGainChangeEventArgs object containing - the data sent from the simulator + + + The Estate name + - - Thread sync lock object + + + The Estate Owner's ID (can be a GroupID) + - - The event subscribers, null of no subscribers + + Returned, along with other info, upon a successful .RequestInfo() - - Raises the SoundTrigger Event - A SoundTriggerEventArgs object containing - the data sent from the simulator + + Construct a new instance of the EstateUpdateInfoReplyEventArgs class + The estate's name + The Estate Owners ID (can be a GroupID) + The estate's identifier on the grid + - - Thread sync lock object + + + The estate's name + - - The event subscribers, null of no subscribers + + + The Estate Owner's ID (can be a GroupID) + - - Raises the PreloadSound Event - A PreloadSoundEventArgs object containing - the data sent from the simulator + + + The identifier of the estate on the grid + - - Thread sync lock object + + - + - Construct a new instance of the SoundManager class, used for playing and receiving - sound assets + Archives assets - A reference to the current GridClient instance - + - Plays a sound in the current region at full volume from avatar position + Archive assets - UUID of the sound to be played - + - Plays a sound in the current region at full volume + Archive the assets given to this archiver to the given archive. - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. + - + - Plays a sound in the current region + Write an assets metadata file to the given archive - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 + - + - Plays a sound in the specified sim + Write asset data files to the given archive - UUID of the sound to be played. - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 + - + - Play a sound asset + Access to the data server which allows searching for land, events, people, etc - UUID of the sound to be played. - handle id for the sim to be played in. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Raises the EventInfoReply event + An EventInfoReplyEventArgs object containing the + data returned from the data server - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Raised when the simulator sends us data containing - sound - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Provides data for the event - The event occurs when the simulator sends - the sound data which emits from an agents attachment - - The following code example shows the process to subscribe to the event - and a stub to handle the data passed from the simulator - - // Subscribe to the AttachedSound event - Client.Sound.AttachedSound += Sound_AttachedSound; - - // process the data raised in the event here - private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) - { - // ... Process AttachedSoundEventArgs here ... - } - - - - - - Construct a new instance of the SoundTriggerEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The volume level - The + + Raises the DirEventsReply event + An DirEventsReplyEventArgs object containing the + data returned from the data server - - Simulator where the event originated + + Thread sync lock object - - Get the sound asset id + + The event subscribers. null if no subcribers - - Get the ID of the owner + + Raises the PlacesReply event + A PlacesReplyEventArgs object containing the + data returned from the data server - - Get the ID of the Object + + Thread sync lock object - - Get the volume level + + The event subscribers. null if no subcribers - - Get the + + Raises the DirPlacesReply event + A DirPlacesReplyEventArgs object containing the + data returned from the data server - - Provides data for the event - The event occurs when an attached sound - changes its volume level + + Thread sync lock object - - - Construct a new instance of the AttachedSoundGainChangedEventArgs class - - Simulator where the event originated - The ID of the Object - The new volume level + + The event subscribers. null if no subcribers - - Simulator where the event originated + + Raises the DirClassifiedsReply event + A DirClassifiedsReplyEventArgs object containing the + data returned from the data server - - Get the ID of the Object + + Thread sync lock object - - Get the volume level + + The event subscribers. null if no subcribers - - Provides data for the event - The event occurs when the simulator forwards - a request made by yourself or another agent to play either an asset sound or a built in sound - - Requests to play sounds where the is not one of the built-in - will require sending a request to download the sound asset before it can be played - - - The following code example uses the , - and - properties to display some information on a sound request on the window. - - // subscribe to the event - Client.Sound.SoundTrigger += Sound_SoundTrigger; - - // play the pre-defined BELL_TING sound - Client.Sound.SendSoundTrigger(Sounds.BELL_TING); - - // handle the response data - private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) - { - Console.WriteLine("{0} played the sound {1} at volume {2}", - e.OwnerID, e.SoundID, e.Gain); - } - - + + Raises the DirGroupsReply event + A DirGroupsReplyEventArgs object containing the + data returned from the data server - - - Construct a new instance of the SoundTriggerEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The ID of the objects parent - The volume level - The regionhandle - The source position + + Thread sync lock object - - Simulator where the event originated + + The event subscribers. null if no subcribers - - Get the sound asset id + + Raises the DirPeopleReply event + A DirPeopleReplyEventArgs object containing the + data returned from the data server - - Get the ID of the owner + + Thread sync lock object - - Get the ID of the Object + + The event subscribers. null if no subcribers - - Get the ID of the objects parent + + Raises the DirLandReply event + A DirLandReplyEventArgs object containing the + data returned from the data server - - Get the volume level + + Thread sync lock object - - Get the regionhandle + + + Constructs a new instance of the DirectoryManager class + + An instance of GridClient - - Get the source position + + + Query the data server for a list of classified ads containing the specified string. + Defaults to searching for classified placed in any category, and includes PG, Adult and Mature + results. + + Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + + The event is raised when a response is received from the simulator + + A string containing a list of keywords to search for + A UUID to correlate the results when the event is raised - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar + + + Query the data server for a list of classified ads which contain specified keywords (Overload) + + The event is raised when a response is received from the simulator + + A string containing a list of keywords to search for + The category to search + A set of flags which can be ORed to modify query options + such as classified maturity rating. + A UUID to correlate the results when the event is raised - The following code example uses the and - properties to display the selected shape of an avatar on the window. + Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } + UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); + + Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + - + - Construct a new instance of the PreloadSoundEventArgs class + Starts search for places (Overloaded) + + The event is raised when a response is received from the simulator - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - - - Simulator where the event originated - - - Get the sound asset id - - - Get the ID of the owner + Search text + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised - - Get the ID of the Object - - - Positional vector of the users position - - - Velocity vector of the position - - - At Orientation (X axis) of the position - - - Up Orientation (Y axis) of the position - - - Left Orientation (Z axis) of the position - - - - Contains all mesh faces that belong to a prim - - - - List of primitive faces - - + - Decodes mesh asset into FacetedMesh + Queries the dataserver for parcels of land which are flagged to be shown in search + + The event is raised when a response is received from the simulator - Mesh primitive - Asset retrieved from the asset server - Level of detail - Resulting decoded FacetedMesh - True if mesh asset decoding was successful + A string containing a list of keywords to search for separated by a space character + A set of flags which can be ORed to modify query options + such as classified maturity rating. + The category to search + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised + + Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult + + UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); + + + + Additional information on the results can be obtained by using the ParcelManager.InfoRequest method + - + - Type of gesture step + Starts a search for land sales using the directory + + The event is raised when a response is received from the simulator + What type of land to search for. Auction, + estate, mainland, "first land", etc + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. - + - Base class for gesture steps + Starts a search for land sales using the directory + + The event is raised when a response is received from the simulator + What type of land to search for. Auction, + estate, mainland, "first land", etc + Maximum price to search for + Maximum area to search for + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. - + - Retururns what kind of gesture step this is + Send a request to the data server for land sales listings + + Flags sent to specify query options + + Available flags: + Specify the parcel rating with one or more of the following: + IncludePG IncludeMature IncludeAdult + + Specify the field to pre sort the results with ONLY ONE of the following: + PerMeterSort NameSort AreaSort PricesSort + + Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order + SortAsc + + Specify additional filters to limit the results with one or both of the following: + LimitByPrice LimitByArea + + Flags can be combined by separating them with the | (pipe) character + + Additional details can be found in + + What type of land to search for. Auction, + Estate or Mainland + Maximum price to search for when the + DirFindFlags.LimitByPrice flag is specified in findFlags + Maximum area to search for when the + DirFindFlags.LimitByArea flag is specified in findFlags + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + The event will be raised with the response from the simulator + + There is no way to determine how many results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each reply. + + Any land set for sale to either anybody or specific to the connected agent will be included in the + results if the land is included in the query + + + // request all mainland, any maturity rating that is larger than 512 sq.m + StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); + - + - Describes animation step of a gesture + Search for Groups + The name or portion of the name of the group you wish to search for + Start from the match number + - + - If true, this step represents start of animation, otherwise animation stop + Search for Groups + The name or portion of the name of the group you wish to search for + Start from the match number + Search flags + - + - Animation asset + Search the People directory for other avatars + The name or portion of the name of the avatar you wish to search for + + - + - Animation inventory name + Search Places for parcels of land you personally own - + - Returns what kind of gesture step this is + Searches Places for land owned by the specified group + ID of the group you want to recieve land list for (You must be a member of the group) + Transaction (Query) ID which can be associated with results from your request. - + - Describes sound step of a gesture + Search the Places directory for parcels that are listed in search and contain the specified keywords + A string containing the keywords to search for + Transaction (Query) ID which can be associated with results from your request. - + - Sound asset + Search Places - All Options + One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. + One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer + A string containing a list of keywords to search for separated by a space character + String Simulator Name to search in + LLUID of group you want to recieve results for + Transaction (Query) ID which can be associated with results from your request. + Transaction (Query) ID which can be associated with results from your request. - + - Sound inventory name + Search All Events with specifid searchText in all categories, includes PG, Mature and Adult + A string containing a list of keywords to search for separated by a space character + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + UUID of query to correlate results in callback. - + - Returns what kind of gesture step this is + Search Events + A string containing a list of keywords to search for separated by a space character + One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult + from the Enum + + Multiple flags can be combined by separating the flags with the | (pipe) character + "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled + For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + EventCategory event is listed under. + UUID of query to correlate results in callback. - - - Describes sound step of a gesture - + + Requests Event Details + ID of Event returned from the method - - - Text to output in chat - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Returns what kind of gesture step this is - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Describes sound step of a gesture - + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from - - - If true in this step we wait for all animations to finish - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - If true gesture player should wait for the specified amount of time - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Time in seconds to wait if WaitForAnimation is false - - - - - Returns what kind of gesture step this is - - - - - Describes the final step of a gesture - + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from - - - Returns what kind of gesture step this is - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Represents a sequence of animations, sounds, and chat actions - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Keyboard key that triggers the gestyre - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Modifier to the trigger key - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - String that triggers playing of the gesture sequence - + + Raised when the data server responds to a request. - - - Text that replaces trigger in chat once gesture is triggered - + + Raised when the data server responds to a request. - - - Sequence of gesture steps - + + Raised when the data server responds to a request. - - - Constructs guesture asset - + + Raised when the data server responds to a request. - - - Constructs guesture asset - - A unique specific to this asset - A byte array containing the raw asset data + + Raised when the data server responds to a request. - - - Encodes gesture asset suitable for uplaod - + + Raised when the data server responds to a request. - - - Decodes gesture assset into play sequence - - true if the asset data was decoded successfully + + Raised when the data server responds to a request. - - - Returns asset type - + + Raised when the data server responds to a request. - - - Type of return to use when returning objects from a parcel - + + Classified Ad categories - - + + Classified is listed in the Any category - - Return objects owned by parcel owner + + Classified is shopping related - - Return objects set to group + + Classified is - - Return objects not owned by parcel owner or set to group + + - - Return a specific list of objects on parcel + + - - Return objects that are marked for-sale + + - - - Blacklist/Whitelist flags used in parcels Access List - + + - - Agent is denied access + + - - Agent is granted access + + - - - The result of a request for parcel properties - + + - - No matches were found for the request + + Event Categories - - Request matched a single parcel + + - - Request matched multiple parcels + + - - - Flags used in the ParcelAccessListRequest packet to specify whether - we want the access list (whitelist), ban list (blacklist), or both - + + - - Request the access list + + - - Request the ban list + + - - Request both White and Black lists + + - - - Sequence ID in ParcelPropertiesReply packets (sent when avatar - tries to cross a parcel border) - + + - - Parcel is currently selected + + - - Parcel restricted to a group the avatar is not a - member of + + - - Avatar is banned from the parcel + + - - Parcel is restricted to an access list that the - avatar is not on + + - - Response to hovering over a parcel + + - + - The tool to use when modifying terrain levels + Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. + + Flags can be combined using the | (pipe) character, not all flags are available in all queries - - Level the terrain + + Query the People database - - Raise the terrain + + - - Lower the terrain + + - - Smooth the terrain + + Query the Groups database - - Add random noise to the terrain + + Query the Events database - - Revert terrain to simulator default + + Query the land holdings database for land owned by the currently connected agent - - - The tool size to use when changing terrain levels - + + - - Small + + Query the land holdings database for land which is owned by a Group - - Medium + + Specifies the query should pre sort the results based upon traffic + when searching the Places database - - Large - - - - Reasons agent is denied access to a parcel on the simulator - + + - - Agent is not denied, access is granted + + - - Agent is not a member of the group set for the parcel, or which owns the parcel + + - - Agent is not on the parcels specific allow list + + - - Agent is on the parcels ban list + + Specifies the query should pre sort the results in an ascending order when searching the land sales database. + This flag is only used when searching the land sales database - - Unknown + + Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. + This flag is only used when searching the land sales database - - Agent is not age verified and parcel settings deny access to non age verified avatars + + Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. + This flag is only used when searching the land sales database - - - Parcel overlay type. This is used primarily for highlighting and - coloring which is why it is a single integer instead of a set of - flags - - These values seem to be poorly thought out. The first three - bits represent a single value, not flags. For example Auction (0x05) is - not a combination of OwnedByOther (0x01) and ForSale(0x04). However, - the BorderWest and BorderSouth values are bit flags that get attached - to the value stored in the first three bits. Bits four, five, and six - are unused + + Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. + This flag is only used when searching the land sales database - - Public land + + Specifies the query should pre sort the results using the Name field when searching the land sales database. + This flag is only used when searching the land sales database - - Land is owned by another avatar + + When set, only parcels less than the specified Price will be included when searching the land sales database. + This flag is only used when searching the land sales database - - Land is owned by a group + + When set, only parcels greater than the specified Size will be included when searching the land sales database. + This flag is only used when searching the land sales database - - Land is owned by the current avatar + + - - Land is for sale + + - - Land is being auctioned + + Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases - - Land is private + + Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases - - To the west of this area is a parcel border + + Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases - - To the south of this area is a parcel border + + - + - Various parcel properties + Land types to search dataserver for - - No flags set - - - Allow avatars to fly (a client-side only restriction) + + Search Auction, Mainland and Estate - - Allow foreign scripts to run + + Land which is currently up for auction - - This parcel is for sale + + Parcels which are on the mainland (Linden owned) continents - - Allow avatars to create a landmark on this parcel + + Parcels which are on privately owned simulators - - Allows all avatars to edit the terrain on this parcel + + + The content rating of the event + - - Avatars have health and can take damage on this parcel. - If set, avatars can be killed and sent home here + + Event is PG - - Foreign avatars can create objects here + + Event is Mature - - All objects on this parcel can be purchased + + Event is Adult - - Access is restricted to a group + + + Classified Ad Options + + There appear to be two formats the flags are packed in. + This set of flags is for the newer style - - Access is restricted to a whitelist + + - - Ban blacklist is enabled + + - - Unknown + + - - List this parcel in the search directory + + - - Allow personally owned parcels to be deeded to group + + - - If Deeded, owner contributes required tier to group parcel is deeded to + + + Classified ad query options + - - Restrict sounds originating on this parcel to the - parcel boundaries + + Include all ads in results - - Objects on this parcel are sold when the land is - purchsaed + + Include PG ads in results - - Allow this parcel to be published on the web + + Include Mature ads in results - - The information for this parcel is mature content + + Include Adult ads in results - - The media URL is an HTML page + + + The For Sale flag in PlacesReplyData + - - The media URL is a raw HTML string + + Parcel is not listed for sale - - Restrict foreign object pushes + + Parcel is For Sale - - Ban all non identified/transacted avatars + + + A classified ad on the grid + - - Allow group-owned scripts to run + + UUID for this ad, useful for looking up detailed + information about it - - Allow object creation by group members or group - objects + + The title of this classified ad - - Allow all objects to enter this parcel + + Flags that show certain options applied to the classified - - Only allow group and owner objects to enter this parcel + + Creation date of the ad - - Voice Enabled on this parcel + + Expiration date of the ad - - Use Estate Voice channel for Voice on this parcel + + Price that was paid for this ad - - Deny Age Unverified Users + + Print the struct data as a string + A string containing the field name, and field value - + - Parcel ownership status + A parcel retrieved from the dataserver such as results from the + "For-Sale" listings or "Places" Search - - Placeholder - - - Parcel is leased (owned) by an avatar or group + + The unique dataserver parcel ID + This id is used to obtain additional information from the entry + by using the method - - Parcel is in process of being leased (purchased) by an avatar or group + + A string containing the name of the parcel - - Parcel has been abandoned back to Governor Linden + + The size of the parcel + This field is not returned for Places searches - - - Category parcel is listed in under search - + + The price of the parcel + This field is not returned for Places searches - - No assigned category + + If True, this parcel is flagged to be auctioned - - Linden Infohub or public area + + If true, this parcel is currently set for sale - - Adult themed area + + Parcel traffic - - Arts and Culture + + Print the struct data as a string + A string containing the field name, and field value - - Business + + + An Avatar returned from the dataserver + - - Educational + + Online status of agent + This field appears to be obsolete and always returns false - - Gaming + + The agents first name - - Hangout or Club + + The agents last name - - Newcomer friendly + + The agents - - Parks and Nature + + Print the struct data as a string + A string containing the field name, and field value - - Residential + + + Response to a "Groups" Search + - - Shopping + + The Group ID - - Not Used? + + The name of the group - - Other + + The current number of members - - Not an actual category, only used for queries + + Print the struct data as a string + A string containing the field name, and field value - + - Type of teleport landing for a parcel + Parcel information returned from a request + + Represents one of the following: + A parcel of land on the grid that has its Show In Search flag set + A parcel of land owned by the agent making the request + A parcel of land owned by a group the agent making the request is a member of + + + In a request for Group Land, the First record will contain an empty record + + Note: This is not the same as searching the land for sale data source - - Unset, simulator default - - - Specific landing point set for this parcel + + The ID of the Agent of Group that owns the parcel - - No landing point set, direct teleports enabled for - this parcel + + The name - - - Parcel Media Command used in ParcelMediaCommandMessage - + + The description - - Stop the media stream and go back to the first frame + + The Size of the parcel - - Pause the media stream (stop playing but stay on current frame) + + The billable Size of the parcel, for mainland + parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller + than the ActualArea. For Estate land this will always be 0 - - Start the current media stream playing and stop when the end is reached + + Indicates the ForSale status of the parcel - - Start the current media stream playing, - loop to the beginning when the end is reached and continue to play + + The Gridwide X position - - Specifies the texture to replace with video - If passing the key of a texture, it must be explicitly typecast as a key, - not just passed within double quotes. + + The Gridwide Y position - - Specifies the movie URL (254 characters max) + + The Z position of the parcel, or 0 if no landing point set - - Specifies the time index at which to begin playing + + The name of the Region the parcel is located in - - Specifies a single agent to apply the media command to + + The Asset ID of the parcels Snapshot texture - - Unloads the stream. While the stop command sets the texture to the first frame of the movie, - unload resets it to the real texture that the movie was replacing. + + The calculated visitor traffic - - Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties - (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. + + The billing product SKU + Known values are: + + 023Mainland / Full Region + 024Estate / Full Region + 027Estate / Openspace + 029Estate / Homestead + 129Mainland / Homestead (Linden Owned) + + - - Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). - Use "text/html" for HTML. + + No longer used, will always be 0 - - Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). - This might still not be working + + Get a SL URL for the parcel + A string, containing a standard SLURL - - Sets a description for the media being displayed (1.19.1 RC0 and later only). + + Print the struct data as a string + A string containing the field name, and field value - + - Some information about a parcel of land returned from a DirectoryManager search + An "Event" Listing summary - - Global Key of record + + The ID of the event creator - - Parcel Owners + + The name of the event - - Name field of parcel, limited to 128 characters + + The events ID - - Description field of parcel, limited to 256 characters + + A string containing the short date/time the event will begin - - Total Square meters of parcel + + The event start time in Unixtime (seconds since epoch) - - Total area billable as Tier, for group owned land this will be 10% less than ActualArea + + The events maturity rating - - True of parcel is in Mature simulator + + Print the struct data as a string + A string containing the field name, and field value - - Grid global X position of parcel + + + The details of an "Event" + - - Grid global Y position of parcel + + The events ID - - Grid global Z position of parcel (not used) + + The ID of the event creator - - Name of simulator parcel is located in + + The name of the event - - Texture of parcels display picture + + The category - - Float representing calculated traffic based on time spent on parcel by avatars + + The events description - - Sale price of parcel (not used) + + The short date/time the event will begin - - Auction ID of parcel + + The event start time in Unixtime (seconds since epoch) UTC adjusted - - - Parcel Media Information - + + The length of the event in minutes - - A byte, if 0x1 viewer should auto scale media to fit object + + 0 if no cover charge applies - - A boolean, if true the viewer should loop the media + + The cover charge amount in L$ if applicable - - The Asset UUID of the Texture which when applied to a - primitive will display the media + + The name of the region where the event is being held - - A URL which points to any Quicktime supported media type + + The gridwide location of the event - - A description of the media + + The maturity rating - - An Integer which represents the height of the media + + Get a SL URL for the parcel where the event is hosted + A string, containing a standard SLURL - - An integer which represents the width of the media + + Print the struct data as a string + A string containing the field name, and field value - - A string which contains the mime type of the media + + Contains the Event data returned from the data server from an EventInfoRequest - + + Construct a new instance of the EventInfoReplyEventArgs class + A single EventInfo object containing the details of an event + + - Parcel of land, a portion of virtual real estate in a simulator + A single EventInfo object containing the details of an event - - The total number of contiguous 4x4 meter blocks your agent owns within this parcel + + Contains the "Event" detail data returned from the data server - - The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own + + Construct a new instance of the DirEventsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Events" returned by the search query - - Deprecated, Value appears to always be 0 + + The ID returned by - - Simulator-local ID of this parcel + + A list of "Events" returned by the data server - - UUID of the owner of this parcel + + Contains the "Event" list data returned from the data server - - Whether the land is deeded to a group or not + + Construct a new instance of PlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Places" returned by the data server query - - + + The ID returned by - - Date land was claimed + + A list of "Places" returned by the data server - - Appears to always be zero + + Contains the places data returned from the data server - - This field is no longer used + + Construct a new instance of the DirPlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing land data returned by the data server - - Minimum corner of the axis-aligned bounding box for this - parcel + + The ID returned by - - Maximum corner of the axis-aligned bounding box for this - parcel + + A list containing Places data returned by the data server - - Bitmap describing land layout in 4x4m squares across the - entire region + + Contains the classified data returned from the data server - - Total parcel land area + + Construct a new instance of the DirClassifiedsReplyEventArgs class + A list of classified ad data returned from the data server - - + + A list containing Classified Ads returned by the data server - - Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used + + Contains the group data returned from the data server - - Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel - owned by the agent or group that owns this parcel + + Construct a new instance of the DirGroupsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of groups data returned by the data server - - Maximum number of primitives this parcel supports + + The ID returned by - - Total number of primitives on this parcel + + A list containing Groups data returned by the data server - - For group-owned parcels this indicates the total number of prims deeded to the group, - for parcels owned by an individual this inicates the number of prims owned by the individual + + Contains the people data returned from the data server - - Total number of primitives owned by the parcel group on - this parcel, or for parcels owned by an individual with a group set the - total number of prims set to that group. + + Construct a new instance of the DirPeopleReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of people data returned by the data server - - Total number of prims owned by other avatars that are not set to group, or not the parcel owner + + The ID returned by - - A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect - the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed + + A list containing People data returned by the data server - - Autoreturn value in minutes for others' objects + + Contains the land sales data returned from the data server - - + + Construct a new instance of the DirLandReplyEventArgs class + A list of parcels for sale returned by the data server - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it + + A list containing land forsale data returned by the data server - - Parcel Name + + + Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. + - - Parcel Description + + + Rotation Keyframe count (used internally) + - - URL For Music Stream + + + Position Keyframe count (used internally) + - - + + + Animation Priority + - - Price for a temporary pass + + + The animation length in seconds. + - - How long is pass valid for + + + Expression set in the client. Null if [None] is selected + - - + + + The time in seconds to start the animation + - - Key of authorized buyer + + + The time in seconds to end the animation + - - Key of parcel snapshot + + + Loop the animation + - - The landing point location + + + Meta data. Ease in Seconds. + - - The landing point LookAt + + + Meta data. Ease out seconds. + - - The type of landing enforced from the enum + + + Meta Data for the Hand Pose + - - + + + Number of joints defined in the animation + - - + + + Contains an array of joints + - - + + + Searialize an animation asset into it's joints/keyframes/meta data + + - - Access list of who is whitelisted on this - parcel + + + Variable length strings seem to be null terminated in the animation asset.. but.. + use with caution, home grown. + advances the index. + + The animation asset byte array + The offset to start reading + a string - - Access list of who is blacklisted on this - parcel + + + Read in a Joint from an animation asset byte array + Variable length Joint fields, yay! + Advances the index + + animation asset byte array + Byte Offset of the start of the joint + The Joint data serialized into the binBVHJoint structure - - TRUE of region denies access to age unverified users + + + Read Keyframes of a certain type + advance i + + Animation Byte array + Offset in the Byte Array. Will be advanced + Number of Keyframes + Scaling Min to pass to the Uint16ToFloat method + Scaling Max to pass to the Uint16ToFloat method + - - true to obscure (hide) media url + + + Determines whether the specified is equal to the current . + + + true if the specified is equal to the current ; otherwise, false. + + The to compare with the current . + The parameter is null. + 2 - - true to obscure (hide) music url + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + 2 - - A struct containing media details + + + A Joint and it's associated meta data and keyframes + - + + + Indicates whether this instance and a specified object are equal. + + + true if and this instance are the same type and represent the same value; otherwise, false. + + Another object to compare to. + 2 + + + + Returns the hash code for this instance. + + + A 32-bit signed integer that is the hash code for this instance. + + 2 + + - Displays a parcel object in string format + Name of the Joint. Matches the avatar_skeleton.xml in client distros - string containing key=value pairs of a parcel object - + - Defalt constructor + Joint Animation Override? Was the same as the Priority in testing.. - Local ID of this parcel - + - Update the simulator with any local changes to this Parcel object + Array of Rotation Keyframes in order from earliest to latest - Simulator to send updates to - Whether we want the simulator to confirm - the update with a reply packet or not - + - Set Autoreturn time + Array of Position Keyframes in order from earliest to latest + This seems to only be for the Pelvis? - Simulator to send the update to - + - Parcel (subdivided simulator lots) subsystem + Custom application data that can be attached to a joint - - The event subscribers. null if no subcribers - - - Raises the ParcelDwellReply event - A ParcelDwellReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the ParcelInfoReply event - A ParcelInfoReplyEventArgs object containing the - data returned from the simulator + + + A Joint Keyframe. This is either a position or a rotation. + - - Thread sync lock object + + + Either a Vector3 position or a Vector3 Euler rotation + - - The event subscribers. null if no subcribers + + + Poses set in the animation metadata for the hands. + - - Raises the ParcelProperties event - A ParcelPropertiesEventArgs object containing the - data returned from the simulator + + + Extract the avatar UUID encoded in a SIP URI + + + - - Thread sync lock object + + + The type of bump-mapping applied to a face + - - The event subscribers. null if no subcribers + + - - Raises the ParcelAccessListReply event - A ParcelAccessListReplyEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the ParcelObjectOwnersReply event - A ParcelObjectOwnersReplyEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the SimParcelsDownloaded event - A SimParcelsDownloadedEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the ForceSelectObjectsReply event - A ForceSelectObjectsReplyEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the ParcelMediaUpdateReply event - A ParcelMediaUpdateReplyEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the ParcelMediaCommand event - A ParcelMediaCommandEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - + - Default constructor + The level of shininess applied to a face - A reference to the GridClient object - - - Request basic information for a single parcel - - Simulator-local ID of the parcel + + - - - Request properties of a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - multiple simultaneous requests + + - - - Request the access list for a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelAccessList reply, useful for distinguishing between - multiple simultaneous requests - + + - - - Request properties of parcels using a bounding box selection - - Simulator containing the parcel - Northern boundary of the parcel selection - Eastern boundary of the parcel selection - Southern boundary of the parcel selection - Western boundary of the parcel selection - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - different types of parcel property requests - A boolean that is returned with the - ParcelProperties reply, useful for snapping focus to a single - parcel + + - + - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) + The texture mapping style used for a face - Simulator to request parcels from (must be connected) - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) - If TRUE, will force a full refresh - Number of milliseconds to pause in between each request + + - - - Request the dwell value for a parcel - - Simulator containing the parcel - Simulator-local ID of the parcel + + - - - Send a request to Purchase a parcel of land - - The Simulator the parcel is located in - The parcels region specific local ID - true if this parcel is being purchased by a group - The groups - true to remove tier contribution if purchase is successful - The parcels size - The purchase price of the parcel - + + - + + + + - Reclaim a parcel of land + Flags in the TextureEntry block that describe which properties are + set - The simulator the parcel is in - The parcels region specific local ID - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Deed a parcel to a group + Permissions for control of object media - The simulator the parcel is in - The parcels region specific local ID - The groups - + - Request prim owners of a parcel of land. + Style of cotrols that shold be displayed to the user - Simulator parcel is in - The parcels region specific local ID - + - Return objects from a parcel + Class representing media data for a single face - Simulator parcel is in - The parcels region specific local ID - the type of objects to return, - A list containing object owners s to return - + + Is display of the alternative image enabled + + + Should media auto loop + + + Shoule media be auto played + + + Auto scale media to prim face + + + Should viewer automatically zoom in on the face when clicked + + + Should viewer interpret first click as interaction with the media + or when false should the first click be treated as zoom in commadn + + + Style of controls viewer should display when + viewer media on this face + + + Starting URL for the media + + + Currently navigated URL + + + Media height in pixes + + + Media width in pixels + + + Who can controls the media + + + Who can interact with the media + + + Is URL whitelist enabled + + + Array of URLs that are whitelisted + + - Subdivide (split) a parcel + Serialize to OSD - - - - - + OSDMap with the serialized data - + - Join two parcels of land creating a single parcel + Deserialize from OSD data - - - - - + Serialized OSD data + Deserialized object - + - Get a parcels LocalID + Represents an that represents an avatars body ie: Hair, Etc. - Simulator parcel is in - Vector3 position in simulator (Z not used) - 0 on failure, or parcel LocalID on success. - A call to Parcels.RequestAllSimParcels is required to populate map and - dictionary. - + + Initializes a new instance of an AssetBodyPart object + + + Initializes a new instance of an AssetBodyPart object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + + Override the base classes AssetType + + - Terraform (raise, lower, etc) an area or whole parcel of land + Simulator (region) properties - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - Height at which the terraform operation is acting at - - - - Sends a request to the simulator to return a list of objects owned by specific owners - - Simulator local ID of parcel - Owners, Others, Etc - List containing keys of avatars objects to select; - if List is null will return Objects of type selectType - Response data is returned in the event + + No flags set - - - Eject and optionally ban a user from a parcel - - target key of avatar to eject - true to also ban target + + Agents can take damage and be killed - - - Freeze or unfreeze an avatar over your land - - target key to freeze - true to freeze, false to unfreeze + + Landmarks can be created here - - - Abandon a parcel of land - - Simulator parcel is in - Simulator local ID of parcel + + Home position can be set in this sim - - - Requests the UUID of the parcel in a remote region at a specified location - - Location of the parcel in the remote region - Remote region handle - Remote region UUID - If successful UUID of the remote parcel, UUID.Zero otherwise + + Home position is reset when an agent teleports away - - - Retrieves information on resources used by the parcel - - UUID of the parcel - Should per object resource usage be requested - Callback invoked when the request is complete + + Sun does not move - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + No object, land, etc. taxes - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Disable heightmap alterations (agents can still plant + foliage) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Land cannot be released, sold, or purchased - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + All content is wiped nightly - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Region does not update agent prim interest lists. Internal debugging option. - - Raised when the simulator responds to a request + + No collision detection for non-agent objects - - Raised when the simulator responds to a request + + No scripts are ran - - Raised when the simulator responds to a request + + All physics processing is turned off - - Raised when the simulator responds to a request + + Region can be seen from other regions on world map. (Legacy world map option?) - - Raised when the simulator responds to a request + + Region can be seen from mainland on world map. (Legacy world map option?) - - Raised when the simulator responds to a request + + Agents not explicitly on the access list can visit the region. - - Raised when the simulator responds to a request + + Traffic calculations are not run across entire region, overrides parcel settings. - - Raised when the simulator responds to a Parcel Update request + + Flight is disabled (not currently enforced by the sim) - - Raised when the parcel your agent is located sends a ParcelMediaCommand + + Allow direct (p2p) teleporting - - - Parcel Accesslist - + + Estate owner has temporarily disabled scripting - - Agents + + Restricts the usage of the LSL llPushObject function, applies to whole region. - - + + Deny agents with no payment info on file - - Flags for specific entry in white/black lists + + Deny agents with payment info on file - - - Owners of primitives on parcel - + + Deny agents who have made a monetary transaction - - Prim Owners + + Parcels within the region may be joined or divided by anyone, not just estate owners/managers. - - True of owner is group + + Abuse reports sent from within this region are sent to the estate owner defined email. - - Total count of prims owned by OwnerID + + Region is Voice Enabled - - true of OwnerID is currently online and is not a group + + Removes the ability from parcel owners to set their parcels to show in search. - - The date of the most recent prim left by OwnerID + + Deny agents who have not been age verified from entering the region. - + - Called once parcel resource usage information has been collected + Region protocol flags - Indicates if operation was successfull - Parcel resource usage information - - Contains a parcels dwell data returned from the simulator in response to an + + Nothing special - + + Region supports Server side Appearance + + + Viewer supports Server side Appearance + + - Construct a new instance of the ParcelDwellReplyEventArgs class + Access level for a simulator - The global ID of the parcel - The simulator specific ID of the parcel - The calculated dwell for the parcel - - Get the global ID of the parcel + + Unknown or invalid access level - - Get the simulator specific ID of the parcel - - - Get the calculated dwell - - - Contains basic parcel information data returned from the - simulator in response to an request - - - - Construct a new instance of the ParcelInfoReplyEventArgs class - - The object containing basic parcel info - - - Get the object containing basic parcel info - - - Contains basic parcel information data returned from the simulator in response to an request - - - - Construct a new instance of the ParcelPropertiesEventArgs class - - The object containing the details - The object containing the details - The result of the request - The number of primitieves your agent is - currently selecting and or sitting on in this parcel - The user assigned ID used to correlate a request with - these results - TODO: - - - Get the simulator the parcel is located in - - - Get the object containing the details - If Result is NoData, this object will not contain valid data - - - Get the result of the request - - - Get the number of primitieves your agent is - currently selecting and or sitting on in this parcel - - - Get the user assigned ID used to correlate a request with - these results - - - TODO: - - - Contains blacklist and whitelist data returned from the simulator in response to an request - - - - Construct a new instance of the ParcelAccessListReplyEventArgs class - - The simulator the parcel is located in - The user assigned ID used to correlate a request with - these results - The simulator specific ID of the parcel - TODO: - The list containing the white/blacklisted agents for the parcel - - - Get the simulator the parcel is located in + + Trial accounts allowed - - Get the user assigned ID used to correlate a request with - these results + + PG rating - - Get the simulator specific ID of the parcel + + Mature rating - - TODO: + + Adult rating - - Get the list containing the white/blacklisted agents for the parcel + + Simulator is offline - - Contains blacklist and whitelist data returned from the - simulator in response to an request + + Simulator does not exist - + - Construct a new instance of the ParcelObjectOwnersReplyEventArgs class + - The simulator the parcel is located in - The list containing prim ownership counts - - Get the simulator the parcel is located in + + A public reference to the client that this Simulator object + is attached to - - Get the list containing prim ownership counts + + A Unique Cache identifier for this simulator - - Contains the data returned when all parcel data has been retrieved from a simulator + + The capabilities for this simulator - - - Construct a new instance of the SimParcelsDownloadedEventArgs class - - The simulator the parcel data was retrieved from - The dictionary containing the parcel data - The multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + + - - Get the simulator the parcel data was retrieved from + + The current version of software this simulator is running - - A dictionary containing the parcel data where the key correlates to the ParcelMap entry + + - - Get the multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + + A 64x64 grid of parcel coloring values. The values stored + in this array are of the type - - Contains the data returned when a request + + - - - Construct a new instance of the ForceSelectObjectsReplyEventArgs class - - The simulator the parcel data was retrieved from - The list of primitive IDs - true if the list is clean and contains the information - only for a given request + + - - Get the simulator the parcel data was retrieved from + + - - Get the list of primitive IDs + + - - true if the list is clean and contains the information - only for a given request + + - - Contains data when the media data for a parcel the avatar is on changes + + - - - Construct a new instance of the ParcelMediaUpdateReplyEventArgs class - - the simulator the parcel media data was updated in - The updated media information + + - - Get the simulator the parcel media data was updated in + + - - Get the updated media information + + - - Contains the media command for a parcel the agent is currently on + + - - - Construct a new instance of the ParcelMediaCommandEventArgs class - - The simulator the parcel media command was issued in - - - The media command that was sent - + + - - Get the simulator the parcel media command was issued in + + - + - + - - Get the media command that was sent + + - + - - - A Name Value pair with additional settings, used in the protocol - primarily to transmit avatar names and active group in object packets - + + - + - + - + + true if your agent has Estate Manager rights on this region + + - + - + - - - Constructor that takes all the fields as parameters - - - - - - + + Statistics information for this simulator and the + connection to the simulator, calculated by the simulator itself + and the library - - - Constructor that takes a single line from a NameValue field - - + + The regions Unique ID - - Type of the value - - - Unknown - - - String value - - - - - - - - - + + The physical data center the simulator is located + Known values are: + + Dallas + Chandler + SF + + - - + + The CPU Class of the simulator + Most full mainland/estate sims appear to be 5, + Homesteads and Openspace appear to be 501 - - Deprecated + + The number of regions sharing the same CPU as this one + "Full Sims" appear to be 1, Homesteads appear to be 4 - - String value, but designated as an asset + + The billing product name + Known values are: + + Mainland / Full Region (Sku: 023) + Estate / Full Region (Sku: 024) + Estate / Openspace (Sku: 027) + Estate / Homestead (Sku: 029) + Mainland / Homestead (Sku: 129) (Linden Owned) + Mainland / Linden Homes (Sku: 131) + + - - + + The billing product SKU + Known values are: + + 023 Mainland / Full Region + 024 Estate / Full Region + 027 Estate / Openspace + 029 Estate / Homestead + 129 Mainland / Homestead (Linden Owned) + 131 Linden Homes / Full Region + + - + - + Flags indicating which protocols this region supports - - + + The current sequence number for packets sent to this + simulator. Must be Interlocked before modifying. Only + useful for applications manipulating sequence numbers - - + + + A thread-safe dictionary containing avatars in a simulator + - - + + + A thread-safe dictionary containing primitives in a simulator + - - + + + Checks simulator parcel map to make sure it has downloaded all data successfully + + true if map is full (contains no 0's) - + - + Is it safe to send agent updates to this sim + AgentMovementComplete message received - - + + Used internally to track sim disconnections - - + + Event that is triggered when the simulator successfully + establishes a connection - - + + Whether this sim is currently connected or not. Hooked up + to the property Connected - - + + Coarse locations of avatars in this simulator - - + + AvatarPositions key representing TrackAgent target - - - Level of Detail mesh - + + Sequence numbers of packets we've received + (for duplicate checking) - - - Temporary code to produce a tar archive in tar v7 format - + + Packets we sent out that need ACKs from the simulator - - - Binary writer for the underlying stream - + + Sequence number for pause/resume - - - Write a directory entry to the tar archive. We can only handle one path level right now! - - + + Indicates if UDP connection to the sim is fully established - + - Write a file to the tar archive + - - + Reference to the GridClient object + IPEndPoint of the simulator + handle of the simulator - + - Write a file to the tar archive + Called when this Simulator object is being destroyed - - - + - Finish writing the raw tar archive data to a stream. The stream will be closed on completion. + Attempt to connect to this simulator + Whether to move our agent in to this sim or not + True if the connection succeeded or connection status is + unknown, false if there was a failure - + - Write a particular entry + Initiates connection to the simulator - - - + Should we block until ack for this packet is recieved - + - Temporary code to do the bare minimum required to read a tar archive for our purposes + Disconnect from this simulator - + - Binary reader for the underlying stream + Instructs the simulator to stop sending update (and possibly other) packets - + - Used to trim off null chars + Instructs the simulator to resume sending update packets (unpause) - + - Used to trim off space chars + Retrieve the terrain height at a given coordinate + Sim X coordinate, valid range is from 0 to 255 + Sim Y coordinate, valid range is from 0 to 255 + The terrain height at the given point if the + lookup was successful, otherwise 0.0f + True if the lookup was successful, otherwise false - + - Generate a tar reader which reads from the given stream. + Sends a packet - + Packet to be sent - + - Read the next entry in the tar file. + - - - the data for the entry. Returns null if there are no more entries - + - Read the next 512 byte chunk of data as a tar header. + Returns Simulator Name as a String - A tar header struct. null if we have reached the end of the archive. + - + - Read data following a header + - - + - Convert octal bytes to a decimal representation + - - - + - + - Operation to apply when applying color to texture + Sends out pending acknowledgements + Number of ACKs sent - + - Information needed to translate visual param value to RGBA color + Resend unacknowledged packets - + - Construct VisualColorParam + Provides access to an internal thread-safe dictionary containing parcel + information found in this simulator - Operation to apply when applying color to texture - Colors - + - Represents alpha blending and bump infor for a visual parameter - such as sleive length + Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. - - Stregth of the alpha to apply + + The IP address and port of the server - - File containing the alpha channel + + Whether there is a working connection to the simulator or + not - - Skip blending if parameter value is 0 + + Coarse locations of avatars in this simulator - - Use miltiply insted of alpha blending + + AvatarPositions key representing TrackAgent target - + + Indicates if UDP connection to the sim is fully established + + - Create new alhpa information for a visual param + Simulator Statistics - Stregth of the alpha to apply - File containing the alpha channel - Skip blending if parameter value is 0 - Use miltiply insted of alpha blending - + + Total number of packets sent by this simulator to this agent + + + Total number of packets received by this simulator to this agent + + + Total number of bytes sent by this simulator to this agent + + + Total number of bytes received by this simulator to this agent + + + Time in seconds agent has been connected to simulator + + + Total number of packets that have been resent + + + Total number of resent packets recieved + + + Total number of pings sent to this simulator by this agent + + + Total number of ping replies sent to this agent by this simulator + + - A single visual characteristic of an avatar mesh, such as eyebrow height + Incoming bytes per second + It would be nice to have this claculated on the fly, but + this is far, far easier - - Index of this visual param + + + Outgoing bytes per second + + It would be nice to have this claculated on the fly, but + this is far, far easier - - Internal name + + Time last ping was sent - - Group ID this parameter belongs to + + ID of last Ping sent - - Name of the wearable this parameter belongs to + + - - Displayable label of this characteristic + + - - Displayable label for the minimum value of this characteristic + + Current time dilation of this simulator - - Displayable label for the maximum value of this characteristic + + Current Frames per second of simulator - - Default value + + Current Physics frames per second of simulator - - Minimum value + + - - Maximum value + + - - Is this param used for creation of bump layer? + + - - Alpha blending/bump info + + - - Color information + + - - Array of param IDs that are drivers for this parameter + + - - - Set all the values through the constructor - - Index of this visual param - Internal name - - - Displayable label of this characteristic - Displayable label for the minimum value of this characteristic - Displayable label for the maximum value of this characteristic - Default value - Minimum value - Maximum value - Is this param used for creation of bump layer? - Array of param IDs that are drivers for this parameter - Alpha blending/bump info - Color information + + - - - Holds the Params array of all the avatar appearance parameters - + + - - - - + + Total number of objects Simulator is simulating - + + Total number of Active (Scripted) objects running + + + Number of agents currently in this simulator + + + Number of agents in neighbor simulators + + + Number of Active scripts running in this simulator + + + + + + + + + + + + Number of downloads pending + + + Number of uploads pending + + + + + + + + + Number of local uploads pending + + + Unacknowledged bytes in queue + + - Initialize the UDP packet handler in server mode + Simulator handle - Port to listening for incoming UDP packets on - + - Initialize the UDP packet handler in client mode + Number of GridClients using this datapool - Remote UDP server to connect to - + - + Time that the last client disconnected from the simulator - + - + The cache of prims used and unused in this simulator - + - + Shared parcel info only when POOL_PARCEL_DATA == true - + - Static helper functions and global variables + Type of return to use when returning objects from a parcel - - This header flag signals that ACKs are appended to the packet + + - - This header flag signals that this packet has been sent before + + Return objects owned by parcel owner - - This header flags signals that an ACK is expected for this packet + + Return objects set to group - - This header flag signals that the message is compressed using zerocoding + + Return objects not owned by parcel owner or set to group - - - - - - + + Return a specific list of objects on parcel - + + Return objects that are marked for-sale + + - + Blacklist/Whitelist flags used in parcels Access List - - - - + + Agent is denied access + + + Agent is granted access + + - + The result of a request for parcel properties - - - - - - - - - + + No matches were found for the request - - - Given an X/Y location in absolute (grid-relative) terms, a region - handle is returned along with the local X/Y location in that region - - The absolute X location, a number such as - 255360.35 - The absolute Y location, a number such as - 255360.35 - The sim-local X position of the global X - position, a value from 0.0 to 256.0 - The sim-local Y position of the global Y - position, a value from 0.0 to 256.0 - A 64-bit region handle that can be used to teleport to + + Request matched a single parcel - - - Converts a floating point number to a terse string format used for - transmitting numbers in wearable asset files - - Floating point number to convert to a string - A terse string representation of the input number + + Request matched multiple parcels - + - Convert a variable length field (byte array) to a string, with a - field name prepended to each line of the output + Flags used in the ParcelAccessListRequest packet to specify whether + we want the access list (whitelist), ban list (blacklist), or both - If the byte array has unprintable characters in it, a - hex dump will be written instead - The StringBuilder object to write to - The byte array to convert to a string - A field name to prepend to each line of output - - - Decode a zerocoded byte array, used to decompress packets marked - with the zerocoded flag - - Any time a zero is encountered, the next byte is a count - of how many zeroes to expand. One zero is encoded with 0x00 0x01, - two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The - first four bytes are copied directly to the output buffer. - - The byte array to decode - The length of the byte array to decode. This - would be the length of the packet up to (but not including) any - appended ACKs - The output byte array to decode to - The length of the output buffer + + Request the access list - - - Encode a byte array with zerocoding. Used to compress packets marked - with the zerocoded flag. Any zeroes in the array are compressed down - to a single zero byte followed by a count of how many zeroes to expand - out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, - three zeroes becomes 0x00 0x03, etc. The first four bytes are copied - directly to the output buffer. - - The byte array to encode - The length of the byte array to encode - The output byte array to encode to - The length of the output buffer + + Request the ban list - - - Calculates the CRC (cyclic redundancy check) needed to upload inventory. - - Creation date - Sale type - Inventory type - Type - Asset ID - Group ID - Sale price - Owner ID - Creator ID - Item ID - Folder ID - Everyone mask (permissions) - Flags - Next owner mask (permissions) - Group mask (permissions) - Owner mask (permissions) - The calculated CRC + + Request both White and Black lists - + - Attempts to load a file embedded in the assembly + Sequence ID in ParcelPropertiesReply packets (sent when avatar + tries to cross a parcel border) - The filename of the resource to load - A Stream for the requested file, or null if the resource - was not successfully loaded - - - Attempts to load a file either embedded in the assembly or found in - a given search path - - The filename of the resource to load - An optional path that will be searched if - the asset is not found embedded in the assembly - A Stream for the requested file, or null if the resource - was not successfully loaded + + Parcel is currently selected - - - Converts a list of primitives to an object that can be serialized - with the LLSD system - - Primitives to convert to a serializable object - An object that can be serialized with LLSD + + Parcel restricted to a group the avatar is not a + member of - - - Deserializes OSD in to a list of primitives - - Structure holding the serialized primitive list, - must be of the SDMap type - A list of deserialized primitives + + Avatar is banned from the parcel - - - Converts a struct or class object containing fields only into a key value separated string - - The struct object - A string containing the struct fields as the keys, and the field value as the value separated - - - // Add the following code to any struct or class containing only fields to override the ToString() - // method to display the values of the passed object - - /// Print the struct data as a string - ///A string containing the field name, and field value - public override string ToString() - { - return Helpers.StructToString(this); - } - - + + Parcel is restricted to an access list that the + avatar is not on - + + Response to hovering over a parcel + + - Passed to Logger.Log() to identify the severity of a log entry + The tool to use when modifying terrain levels - - No logging information will be output - - - Non-noisy useful information, may be helpful in - debugging a problem - - - A non-critical error occurred. A warning will not - prevent the rest of the library from operating as usual, - although it may be indicative of an underlying issue + + Level the terrain - - A critical error has occurred. Generally this will - be followed by the network layer shutting down, although the - stability of the library after an error is uncertain + + Raise the terrain - - Used for internal testing, this logging level can - generate very noisy (long and/or repetitive) messages. Don't - pass this to the Log() function, use DebugLog() instead. - + + Lower the terrain - - = + + Smooth the terrain - - Number of times we've received an unknown CAPS exception in series. + + Add random noise to the terrain - - For exponential backoff on error. + + Revert terrain to simulator default - + - The type of bump-mapping applied to a face + The tool size to use when changing terrain levels - - + + Small - - + + Medium - - + + Large - - + + + Reasons agent is denied access to a parcel on the simulator + - - + + Agent is not denied, access is granted - - + + Agent is not a member of the group set for the parcel, or which owns the parcel - - + + Agent is not on the parcels specific allow list - - + + Agent is on the parcels ban list - - + + Unknown - - + + Agent is not age verified and parcel settings deny access to non age verified avatars - - + + + Parcel overlay type. This is used primarily for highlighting and + coloring which is why it is a single integer instead of a set of + flags + + These values seem to be poorly thought out. The first three + bits represent a single value, not flags. For example Auction (0x05) is + not a combination of OwnedByOther (0x01) and ForSale(0x04). However, + the BorderWest and BorderSouth values are bit flags that get attached + to the value stored in the first three bits. Bits four, five, and six + are unused - - + + Public land - - + + Land is owned by another avatar - - + + Land is owned by a group - - + + Land is owned by the current avatar - - + + Land is for sale - - + + Land is being auctioned - - + + Land is private - + + To the west of this area is a parcel border + + + To the south of this area is a parcel border + + - The level of shininess applied to a face + Various parcel properties - - + + No flags set - - + + Allow avatars to fly (a client-side only restriction) - - + + Allow foreign scripts to run - - + + This parcel is for sale - - - The texture mapping style used for a face - + + Allow avatars to create a landmark on this parcel - - + + Allows all avatars to edit the terrain on this parcel - - + + Avatars have health and can take damage on this parcel. + If set, avatars can be killed and sent home here - - + + Foreign avatars can create objects here - - + + All objects on this parcel can be purchased - - - Flags in the TextureEntry block that describe which properties are - set - + + Access is restricted to a group - - + + Access is restricted to a whitelist - - + + Ban blacklist is enabled - - + + Unknown - - + + List this parcel in the search directory - - + + Allow personally owned parcels to be deeded to group - - + + If Deeded, owner contributes required tier to group parcel is deeded to - - + + Restrict sounds originating on this parcel to the + parcel boundaries - - + + Objects on this parcel are sold when the land is + purchsaed - - + + Allow this parcel to be published on the web - - + + The information for this parcel is mature content - - + + The media URL is an HTML page - - + + The media URL is a raw HTML string - - + + Restrict foreign object pushes - - - Wrapper around a byte array that allows bit to be packed and unpacked - one at a time or by a variable amount. Useful for very tightly packed - data like LayerData packets - + + Ban all non identified/transacted avatars - - + + Allow group-owned scripts to run - - - Default constructor, initialize the bit packer / bit unpacker - with a byte array and starting position - - Byte array to pack bits in to or unpack from - Starting position in the byte array + + Allow object creation by group members or group + objects - - - Pack a floating point value in to the data - - Floating point value to pack + + Allow all objects to enter this parcel - - - Pack part or all of an integer in to the data - - Integer containing the data to pack - Number of bits of the integer to pack + + Only allow group and owner objects to enter this parcel - - - Pack part or all of an unsigned integer in to the data - - Unsigned integer containing the data to pack - Number of bits of the integer to pack + + Voice Enabled on this parcel - - - Pack a single bit in to the data - - Bit to pack + + Use Estate Voice channel for Voice on this parcel - - - - - - - - + + Deny Age Unverified Users - + - + Parcel ownership status - - - - - - + + Placeholder - - - Unpacking a floating point value from the data - - Unpacked floating point value + + Parcel is leased (owned) by an avatar or group - - - Unpack a variable number of bits from the data in to integer format - - Number of bits to unpack - An integer containing the unpacked bits - This function is only useful up to 32 bits + + Parcel is in process of being leased (purchased) by an avatar or group - - - Unpack a variable number of bits from the data in to unsigned - integer format - - Number of bits to unpack - An unsigned integer containing the unpacked bits - This function is only useful up to 32 bits + + Parcel has been abandoned back to Governor Linden - + - Unpack a 16-bit signed integer + Category parcel is listed in under search - 16-bit signed integer - - - Unpack a 16-bit unsigned integer - - 16-bit unsigned integer + + No assigned category - - - Unpack a 32-bit signed integer - - 32-bit signed integer + + Linden Infohub or public area - - - Unpack a 32-bit unsigned integer - - 32-bit unsigned integer + + Adult themed area - - + + Arts and Culture - - + + Business - - - Permission request flags, asked when a script wants to control an Avatar - + + Educational - - Placeholder for empty values, shouldn't ever see this + + Gaming - - Script wants ability to take money from you + + Hangout or Club - - Script wants to take camera controls for you + + Newcomer friendly - - Script wants to remap avatars controls + + Parks and Nature - - Script wants to trigger avatar animations - This function is not implemented on the grid + + Residential - - Script wants to attach or detach the prim or primset to your avatar + + Shopping - - Script wants permission to release ownership - This function is not implemented on the grid - The concept of "public" objects does not exist anymore. + + Not Used? - - Script wants ability to link/delink with other prims + + Other - - Script wants permission to change joints - This function is not implemented on the grid + + Not an actual category, only used for queries - - Script wants permissions to change permissions - This function is not implemented on the grid + + + Type of teleport landing for a parcel + - - Script wants to track avatars camera position and rotation + + Unset, simulator default - - Script wants to control your camera + + Specific landing point set for this parcel - - Script wants the ability to teleport you + + No landing point set, direct teleports enabled for + this parcel - + - Special commands used in Instant Messages + Parcel Media Command used in ParcelMediaCommandMessage - - Indicates a regular IM from another agent + + Stop the media stream and go back to the first frame - - Simple notification box with an OK button + + Pause the media stream (stop playing but stay on current frame) - - You've been invited to join a group. + + Start the current media stream playing and stop when the end is reached - - Inventory offer + + Start the current media stream playing, + loop to the beginning when the end is reached and continue to play - - Accepted inventory offer + + Specifies the texture to replace with video + If passing the key of a texture, it must be explicitly typecast as a key, + not just passed within double quotes. - - Declined inventory offer + + Specifies the movie URL (254 characters max) - - Group vote + + Specifies the time index at which to begin playing - - An object is offering its inventory + + Specifies a single agent to apply the media command to - - Accept an inventory offer from an object + + Unloads the stream. While the stop command sets the texture to the first frame of the movie, + unload resets it to the real texture that the movie was replacing. - - Decline an inventory offer from an object + + Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties + (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. - - Unknown + + Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). + Use "text/html" for HTML. - - Start a session, or add users to a session + + Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). + This might still not be working - - Start a session, but don't prune offline users + + Sets a description for the media being displayed (1.19.1 RC0 and later only). - - Start a session with your group + + + Some information about a parcel of land returned from a DirectoryManager search + - - Start a session without a calling card (finder or objects) + + Global Key of record - - Send a message to a session + + Parcel Owners - - Leave a session + + Name field of parcel, limited to 128 characters - - Indicates that the IM is from an object + + Description field of parcel, limited to 256 characters - - Sent an IM to a busy user, this is the auto response + + Total Square meters of parcel - - Shows the message in the console and chat history + + Total area billable as Tier, for group owned land this will be 10% less than ActualArea - - Send a teleport lure + + True of parcel is in Mature simulator - - Response sent to the agent which inititiated a teleport invitation + + Grid global X position of parcel - - Response sent to the agent which inititiated a teleport invitation + + Grid global Y position of parcel - - Only useful if you have Linden permissions + + Grid global Z position of parcel (not used) - - Request a teleport lure + + Name of simulator parcel is located in - - IM to tell the user to go to an URL + + Texture of parcels display picture - - IM for help + + Float representing calculated traffic based on time spent on parcel by avatars - - IM sent automatically on call for help, sends a lure - to each Helper reached + + Sale price of parcel (not used) - - Like an IM but won't go to email + + Auction ID of parcel - - IM from a group officer to all group members + + + Parcel Media Information + - - Unknown + + A byte, if 0x1 viewer should auto scale media to fit object - - Unknown + + A boolean, if true the viewer should loop the media - - Accept a group invitation + + The Asset UUID of the Texture which when applied to a + primitive will display the media - - Decline a group invitation + + A URL which points to any Quicktime supported media type - - Unknown + + A description of the media - - An avatar is offering you friendship + + An Integer which represents the height of the media - - An avatar has accepted your friendship offer - - - An avatar has declined your friendship offer - - - Indicates that a user has started typing + + An integer which represents the width of the media - - Indicates that a user has stopped typing + + A string which contains the mime type of the media - + - Flag in Instant Messages, whether the IM should be delivered to - offline avatars as well + Parcel of land, a portion of virtual real estate in a simulator - - Only deliver to online avatars - - - If the avatar is offline the message will be held until - they login next, and possibly forwarded to their e-mail account - - - - Conversion type to denote Chat Packet types in an easier-to-understand format - + + The total number of contiguous 4x4 meter blocks your agent owns within this parcel - - Whisper (5m radius) + + The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own - - Normal chat (10/20m radius), what the official viewer typically sends + + Deprecated, Value appears to always be 0 - - Shouting! (100m radius) + + Simulator-local ID of this parcel - - Event message when an Avatar has begun to type + + UUID of the owner of this parcel - - Event message when an Avatar has stopped typing + + Whether the land is deeded to a group or not - - Send the message to the debug channel + + - - Event message when an object uses llOwnerSay + + Date land was claimed - - Special value to support llRegionSay, never sent to the client + + Appears to always be zero - - - Identifies the source of a chat message - + + This field is no longer used - - Chat from the grid or simulator + + Minimum corner of the axis-aligned bounding box for this + parcel - - Chat from another avatar + + Maximum corner of the axis-aligned bounding box for this + parcel - - Chat from an object + + Bitmap describing land layout in 4x4m squares across the + entire region - - - - + + Total parcel land area - + - - + + Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used - - + + Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel + owned by the agent or group that owns this parcel - - - Effect type used in ViewerEffect packets - + + Maximum number of primitives this parcel supports - - + + Total number of primitives on this parcel - - + + For group-owned parcels this indicates the total number of prims deeded to the group, + for parcels owned by an individual this inicates the number of prims owned by the individual - - + + Total number of primitives owned by the parcel group on + this parcel, or for parcels owned by an individual with a group set the + total number of prims set to that group. - - + + Total number of prims owned by other avatars that are not set to group, or not the parcel owner - - + + A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect + the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed - - + + Autoreturn value in minutes for others' objects - + - - Project a beam from a source to a destination, such as - the one used when editing an object + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it - - + + Parcel Name - - + + Parcel Description - + + URL For Music Stream + + - - Create a swirl of particles around an object + + Price for a temporary pass - - + + How long is pass valid for - + - - Cause an avatar to look at an object + + Key of authorized buyer - - Cause an avatar to point at an object + + Key of parcel snapshot - - - The action an avatar is doing when looking at something, used in - ViewerEffect packets for the LookAt effect - + + The landing point location - - + + The landing point LookAt - - + + The type of landing enforced from the enum - + - + - + - - + + Access list of who is whitelisted on this + parcel - - Deprecated + + Access list of who is blacklisted on this + parcel - - + + TRUE of region denies access to age unverified users - - + + true to obscure (hide) media url - - + + true to obscure (hide) music url - - + + A struct containing media details - + - The action an avatar is doing when pointing at something, used in - ViewerEffect packets for the PointAt effect + Displays a parcel object in string format + string containing key=value pairs of a parcel object - - - - - - - - - - - - - + - Money transaction types + Defalt constructor + Local ID of this parcel - - + + + Update the simulator with any local changes to this Parcel object + + Simulator to send updates to + Whether we want the simulator to confirm + the update with a reply packet or not - - - - - - - - + + + Set Autoreturn time + + Simulator to send the update to - - + + + Parcel (subdivided simulator lots) subsystem + - - + + The event subscribers. null if no subcribers - - + + Raises the ParcelDwellReply event + A ParcelDwellReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the ParcelInfoReply event + A ParcelInfoReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the ParcelProperties event + A ParcelPropertiesEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the ParcelAccessListReply event + A ParcelAccessListReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the ParcelObjectOwnersReply event + A ParcelObjectOwnersReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the SimParcelsDownloaded event + A SimParcelsDownloadedEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the ForceSelectObjectsReply event + A ForceSelectObjectsReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the ParcelMediaUpdateReply event + A ParcelMediaUpdateReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the ParcelMediaCommand event + A ParcelMediaCommandEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + + Default constructor + + A reference to the GridClient object - - + + + Request basic information for a single parcel + + Simulator-local ID of the parcel - - + + + Request properties of a single parcel + + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + multiple simultaneous requests - - + + + Request the access list for a single parcel + + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelAccessList reply, useful for distinguishing between + multiple simultaneous requests + - - + + + Request properties of parcels using a bounding box selection + + Simulator containing the parcel + Northern boundary of the parcel selection + Eastern boundary of the parcel selection + Southern boundary of the parcel selection + Western boundary of the parcel selection + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + different types of parcel property requests + A boolean that is returned with the + ParcelProperties reply, useful for snapping focus to a single + parcel - - + + + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) + + Simulator to request parcels from (must be connected) - - + + + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) + + Simulator to request parcels from (must be connected) + If TRUE, will force a full refresh + Number of milliseconds to pause in between each request - - + + + Request the dwell value for a parcel + + Simulator containing the parcel + Simulator-local ID of the parcel - - + + + Send a request to Purchase a parcel of land + + The Simulator the parcel is located in + The parcels region specific local ID + true if this parcel is being purchased by a group + The groups + true to remove tier contribution if purchase is successful + The parcels size + The purchase price of the parcel + - - + + + Reclaim a parcel of land + + The simulator the parcel is in + The parcels region specific local ID - - + + + Deed a parcel to a group + + The simulator the parcel is in + The parcels region specific local ID + The groups - - - - - + + + Request prim owners of a parcel of land. + + Simulator parcel is in + The parcels region specific local ID - - + + + Return objects from a parcel + + Simulator parcel is in + The parcels region specific local ID + the type of objects to return, + A list containing object owners s to return - - + + + Subdivide (split) a parcel + + + + + + - - + + + Join two parcels of land creating a single parcel + + + + + + - - + + + Get a parcels LocalID + + Simulator parcel is in + Vector3 position in simulator (Z not used) + 0 on failure, or parcel LocalID on success. + A call to Parcels.RequestAllSimParcels is required to populate map and + dictionary. - - + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - + - + Terraform (raise, lower, etc) an area or whole parcel of land + Simulator land area is in. + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - - + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - - + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + Height at which the terraform operation is acting at - - + + + Sends a request to the simulator to return a list of objects owned by specific owners + + Simulator local ID of parcel + Owners, Others, Etc + List containing keys of avatars objects to select; + if List is null will return Objects of type selectType + Response data is returned in the event - - + + + Eject and optionally ban a user from a parcel + + target key of avatar to eject + true to also ban target - - + + + Freeze or unfreeze an avatar over your land + + target key to freeze + true to freeze, false to unfreeze - - + + + Abandon a parcel of land + + Simulator parcel is in + Simulator local ID of parcel - + - + Requests the UUID of the parcel in a remote region at a specified location + Location of the parcel in the remote region + Remote region handle + Remote region UUID + If successful UUID of the remote parcel, UUID.Zero otherwise - - + + + Retrieves information on resources used by the parcel + + UUID of the parcel + Should per object resource usage be requested + Callback invoked when the request is complete - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - - Flags sent when a script takes or releases a control - - NOTE: (need to verify) These might be a subset of the ControlFlags enum in Movement, + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - No Flags set + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - Forward (W or up Arrow) + + Raised when the simulator responds to a request - - Back (S or down arrow) + + Raised when the simulator responds to a request - - Move left (shift+A or left arrow) + + Raised when the simulator responds to a request - - Move right (shift+D or right arrow) + + Raised when the simulator responds to a request - - Up (E or PgUp) + + Raised when the simulator responds to a request - - Down (C or PgDown) + + Raised when the simulator responds to a request - - Rotate left (A or left arrow) + + Raised when the simulator responds to a request - - Rotate right (D or right arrow) + + Raised when the simulator responds to a Parcel Update request - - Left Mouse Button + + Raised when the parcel your agent is located sends a ParcelMediaCommand - - Left Mouse button in MouseLook - - + - Currently only used to hide your group title + Parcel Accesslist - - No flags set + + Agents - - Hide your group title + + - + + Flags for specific entry in white/black lists + + - Action state of the avatar, which can currently be typing and - editing + Owners of primitives on parcel - - + + Prim Owners - - + + True of owner is group - - + + Total count of prims owned by OwnerID - + + true of OwnerID is currently online and is not a group + + + The date of the most recent prim left by OwnerID + + - Current teleport status + Called once parcel resource usage information has been collected + Indicates if operation was successfull + Parcel resource usage information - - Unknown status + + Contains a parcels dwell data returned from the simulator in response to an - - Teleport initialized + + + Construct a new instance of the ParcelDwellReplyEventArgs class + + The global ID of the parcel + The simulator specific ID of the parcel + The calculated dwell for the parcel - - Teleport in progress + + Get the global ID of the parcel - - Teleport failed + + Get the simulator specific ID of the parcel - - Teleport completed + + Get the calculated dwell - - Teleport cancelled + + Contains basic parcel information data returned from the + simulator in response to an request - + - + Construct a new instance of the ParcelInfoReplyEventArgs class + The object containing basic parcel info - - No flags set, or teleport failed - - - Set when newbie leaves help island for first time - - - - - - Via Lure + + Get the object containing basic parcel info - - Via Landmark + + Contains basic parcel information data returned from the simulator in response to an request - - Via Location + + + Construct a new instance of the ParcelPropertiesEventArgs class + + The object containing the details + The object containing the details + The result of the request + The number of primitieves your agent is + currently selecting and or sitting on in this parcel + The user assigned ID used to correlate a request with + these results + TODO: - - Via Home + + Get the simulator the parcel is located in - - Via Telehub + + Get the object containing the details + If Result is NoData, this object will not contain valid data - - Via Login + + Get the result of the request - - Linden Summoned + + Get the number of primitieves your agent is + currently selecting and or sitting on in this parcel - - Linden Forced me + + Get the user assigned ID used to correlate a request with + these results - - + + TODO: - - Agent Teleported Home via Script + + Contains blacklist and whitelist data returned from the simulator in response to an request - - + + + Construct a new instance of the ParcelAccessListReplyEventArgs class + + The simulator the parcel is located in + The user assigned ID used to correlate a request with + these results + The simulator specific ID of the parcel + TODO: + The list containing the white/blacklisted agents for the parcel - - + + Get the simulator the parcel is located in - - + + Get the user assigned ID used to correlate a request with + these results - - forced to new location for example when avatar is banned or ejected + + Get the simulator specific ID of the parcel - - Teleport Finished via a Lure + + TODO: - - Finished, Sim Changed + + Get the list containing the white/blacklisted agents for the parcel - - Finished, Same Sim + + Contains blacklist and whitelist data returned from the + simulator in response to an request - + - + Construct a new instance of the ParcelObjectOwnersReplyEventArgs class + The simulator the parcel is located in + The list containing prim ownership counts - - + + Get the simulator the parcel is located in - - + + Get the list containing prim ownership counts - - + + Contains the data returned when all parcel data has been retrieved from a simulator - + - + Construct a new instance of the SimParcelsDownloadedEventArgs class + The simulator the parcel data was retrieved from + The dictionary containing the parcel data + The multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. - - + + Get the simulator the parcel data was retrieved from - - + + A dictionary containing the parcel data where the key correlates to the ParcelMap entry - - + + Get the multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. - - + + Contains the data returned when a request - + - Type of mute entry + Construct a new instance of the ForceSelectObjectsReplyEventArgs class + The simulator the parcel data was retrieved from + The list of primitive IDs + true if the list is clean and contains the information + only for a given request - - Object muted by name - - - Muted residet + + Get the simulator the parcel data was retrieved from - - Object muted by UUID + + Get the list of primitive IDs - - Muted group + + true if the list is clean and contains the information + only for a given request - - Muted external entry + + Contains data when the media data for a parcel the avatar is on changes - + - Flags of mute entry + Construct a new instance of the ParcelMediaUpdateReplyEventArgs class + the simulator the parcel media data was updated in + The updated media information - - No exceptions - - - Don't mute text chat - - - Don't mute voice chat - - - Don't mute particles + + Get the simulator the parcel media data was updated in - - Don't mute sounds + + Get the updated media information - - Don't mute + + Contains the media command for a parcel the agent is currently on - + - Instant Message + Construct a new instance of the ParcelMediaCommandEventArgs class + The simulator the parcel media command was issued in + + + The media command that was sent + - - Key of sender - - - Name of sender - - - Key of destination avatar - - - ID of originating estate + + Get the simulator the parcel media command was issued in - - Key of originating region + + - - Coordinates in originating region + + - - Instant message type + + Get the media command that was sent - - Group IM session toggle + + - - Key of IM session, for Group Messages, the groups UUID + + + Provides helper methods for parallelizing loops + - - Timestamp of the instant message + + + Executes a for loop in which iterations may run in parallel + + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop - - Instant message text + + + Executes a for loop in which iterations may run in parallel + + The number of concurrent execution threads to run + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop - - Whether this message is held for offline avatars + + + Executes a foreach loop in which iterations may run in parallel + + Object type that the collection wraps + An enumerable collection to iterate over + Method body to run for each object in the collection - - Context specific packed data + + + Executes a foreach loop in which iterations may run in parallel + + Object type that the collection wraps + The number of concurrent execution threads to run + An enumerable collection to iterate over + Method body to run for each object in the collection - - Print the struct data as a string - A string containing the field name, and field value + + + Executes a series of tasks in parallel + + A series of method bodies to execute - - Represents muted object or resident + + + Executes a series of tasks in parallel + + The number of concurrent execution threads to run + A series of method bodies to execute - - Type of the mute entry + + + Exception class to identify inventory exceptions + - - UUID of the mute etnry + + + Responsible for maintaining inventory structure. Inventory constructs nodes + and manages node children as is necessary to maintain a coherant hirarchy. + Other classes should not manipulate or create InventoryNodes explicitly. When + A node's parent changes (when a folder is moved, for example) simply pass + Inventory the updated InventoryFolder and it will make the appropriate changes + to its internal representation. + - - Mute entry name + + The event subscribers, null of no subscribers - - Mute flags + + Raises the InventoryObjectUpdated Event + A InventoryObjectUpdatedEventArgs object containing + the data sent from the simulator - - Transaction detail sent with MoneyBalanceReply message + + Thread sync lock object - - Type of the transaction + + The event subscribers, null of no subscribers - - UUID of the transaction source + + Raises the InventoryObjectRemoved Event + A InventoryObjectRemovedEventArgs object containing + the data sent from the simulator - - Is the transaction source a group + + Thread sync lock object - - UUID of the transaction destination + + The event subscribers, null of no subscribers - - Is transaction destination a group + + Raises the InventoryObjectAdded Event + A InventoryObjectAddedEventArgs object containing + the data sent from the simulator - - Transaction amount + + Thread sync lock object - - Transaction description + + + Returns the contents of the specified folder + + A folder's UUID + The contents of the folder corresponding to folder + When folder does not exist in the inventory - + + Updates the state of the InventoryNode and inventory data structure that + is responsible for the InventoryObject. If the item was previously not added to inventory, + it adds the item, and updates structure accordingly. If it was, it updates the + InventoryNode, changing the parent node if item.parentUUID does + not match node.Parent.Data.UUID. + You can not set the inventory root folder using this method + The InventoryObject to store - + - Construct a new instance of the ChatEventArgs object + Removes the InventoryObject and all related node data from Inventory. - Sim from which the message originates - The message sent - The audible level of the message - The type of message sent: whisper, shout, etc - The source type of the message sender - The name of the agent or object sending the message - The ID of the agent or object sending the message - The ID of the object owner, or the agent ID sending the message - The position of the agent or object sending the message + The InventoryObject to remove. - - Get the simulator sending the message + + + Used to find out if Inventory contains the InventoryObject + specified by uuid. + + The UUID to check. + true if inventory contains uuid, false otherwise - - Get the message sent + + + Saves the current inventory structure to a cache file + + Name of the cache file to save to - - Get the audible level of the message + + + Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + + Name of the cache file to load + The number of inventory items sucessfully reconstructed into the inventory node tree - - Get the type of message sent: whisper, shout, etc + + Raised when the simulator sends us data containing + ... - - Get the source type of the message sender + + Raised when the simulator sends us data containing + ... - - Get the name of the agent or object sending the message + + Raised when the simulator sends us data containing + ... - - Get the ID of the agent or object sending the message + + + The root folder of this avatars inventory + - - Get the ID of the object owner, or the agent ID sending the message - - - Get the position of the agent or object sending the message - - - Contains the data sent when a primitive opens a dialog with this agent - - + - Construct a new instance of the ScriptDialogEventArgs + The default shared library folder - The dialog message - The name of the object that sent the dialog request - The ID of the image to be displayed - The ID of the primitive sending the dialog - The first name of the senders owner - The last name of the senders owner - The communication channel the dialog was sent on - The string labels containing the options presented in this dialog - UUID of the scritped object owner - - - Get the dialog message - - - Get the name of the object that sent the dialog request - - - Get the ID of the image to be displayed - - - Get the ID of the primitive sending the dialog - - - Get the first name of the senders owner - - - Get the last name of the senders owner - - - Get the communication channel the dialog was sent on, responses - should also send responses on this same channel - - - Get the string labels containing the options presented in this dialog - - - UUID of the scritped object owner - - - Contains the data sent when a primitive requests debit or other permissions - requesting a YES or NO answer - + - Construct a new instance of the ScriptQuestionEventArgs + The root node of the avatars inventory - The simulator containing the object sending the request - The ID of the script making the request - The ID of the primitive containing the script making the request - The name of the primitive making the request - The name of the owner of the object making the request - The permissions being requested - - Get the simulator containing the object sending the request - - - Get the ID of the script making the request - - - Get the ID of the primitive containing the script making the request - - - Get the name of the primitive making the request - - - Get the name of the owner of the object making the request - - - Get the permissions being requested - - - Contains the data sent when a primitive sends a request - to an agent to open the specified URL - - + - Construct a new instance of the LoadUrlEventArgs + The root node of the default shared library - The name of the object sending the request - The ID of the object sending the request - The ID of the owner of the object sending the request - True if the object is owned by a group - The message sent with the request - The URL the object sent - - Get the name of the object sending the request - - - Get the ID of the object sending the request - - - Get the ID of the owner of the object sending the request - - - True if the object is owned by a group - - - Get the message sent with the request - - - Get the URL the object sent - - - The date received from an ImprovedInstantMessage - - + - Construct a new instance of the InstantMessageEventArgs object + By using the bracket operator on this class, the program can get the + InventoryObject designated by the specified uuid. If the value for the corresponding + UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). + If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), + the uuid parameter is ignored. - the InstantMessage object - the simulator where the InstantMessage origniated - - - Get the InstantMessage object + The UUID of the InventoryObject to get or set, ignored if set to non-null value. + The InventoryObject corresponding to uuid. - - Get the simulator where the InstantMessage origniated + + + The InternalDictionary class is used through the library for storing key/value pairs. + It is intended to be a replacement for the generic Dictionary class and should + be used in its place. It contains several methods for allowing access to the data from + outside the library that are read only and thread safe. + + + Key + Value - - Contains the currency balance + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking + on this member - + - Construct a new BalanceEventArgs object + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. - The currenct balance + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); + + - + - Get the currenct balance + Initializes a new instance of the Class + with the specified key/value, has its initial valies copied from the specified + + + to copy initial values from + + + // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. + // populates with copied values from example KeyNameCache Dictionary. + + // create source dictionary + Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); + KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); + KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); + + // Initialize new dictionary. + public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); + + - - Contains the transaction summary when an item is purchased, - money is given, or land is purchased - - + - Construct a new instance of the MoneyBalanceReplyEventArgs object + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. - The ID of the transaction - True of the transaction was successful - The current currency balance - The meters credited - The meters comitted - A brief description of the transaction - Transaction info - - - Get the ID of the transaction - - - True of the transaction was successful - - - Get the remaining currency balance - - - Get the meters credited - - - Get the meters comitted - - - Get the description of the transaction - - - Detailed transaction information - - - Data sent from the simulator containing information about your agent and active group information + Initial size of dictionary + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); + + - + - Construct a new instance of the AgentDataReplyEventArgs object + Try to get entry from with specified key - The agents first name - The agents last name - The agents active group ID - The group title of the agents active group - The combined group powers the agent has in the active group - The name of the group the agent has currently active + Key to use for lookup + Value returned + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + - - Get the agents first name + + + Finds the specified match. + + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + - - Get the agents last name + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + - - Get the active group ID of your agent + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + - - Get the active groups title of your agent + + Perform an on each entry in an + to perform + + + // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. + Client.Network.CurrentSim.ObjectsPrimitives.ForEach( + delegate(Primitive prim) + { + if (prim.Text != null) + { + Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", + prim.PropertiesFamily.Name, prim.ID, prim.Text); + } + }); + + - - Get the combined group powers of your agent + + Perform an on each key of an + to perform - - Get the active group name of your agent + + + Perform an on each KeyValuePair of an + + to perform - - Data sent by the simulator to indicate the active/changed animations - applied to your agent + + Check if Key exists in Dictionary + Key to check for + if found, otherwise - + + Check if Value exists in Dictionary + Value to check for + if found, otherwise + + - Construct a new instance of the AnimationsChangedEventArgs class + Adds the specified key to the dictionary, dictionary locking is not performed, + - The dictionary that contains the changed animations - - - Get the dictionary that contains the changed animations + The key + The value - + - Data sent from a simulator indicating a collision with your agent + Removes the specified key, dictionary locking is not performed + The key. + if successful, otherwise - + - Construct a new instance of the MeanCollisionEventArgs class + Gets the number of Key/Value pairs contained in the - The type of collision that occurred - The ID of the agent or object that perpetrated the agression - The ID of the Victim - The strength of the collision - The Time the collision occurred - - Get the Type of collision + + + Indexer for the dictionary + + The key + The value - - Get the ID of the agent or object that collided with your agent + + + A Wrapper around openjpeg to encode and decode images to and from byte arrays + - - Get the ID of the agent that was attacked + + TGA Header size - - A value indicating the strength of the collision + + OpenJPEG is not threadsafe, so this object is used to lock + during calls into unmanaged code - - Get the time the collision occurred + + + Encode a object into a byte array + + The object to encode + true to enable lossless conversion, only useful for small images ie: sculptmaps + A byte array containing the encoded Image object - - Data sent to your agent when it crosses region boundaries + + + Encode a object into a byte array + + The object to encode + a byte array of the encoded image - + - Construct a new instance of the RegionCrossedEventArgs class + Decode JPEG2000 data to an and + - The simulator your agent just left - The simulator your agent is now in + JPEG2000 encoded data + ManagedImage object to decode to + Image object to decode to + True if the decode succeeds, otherwise false - - Get the simulator your agent just left + + + + + + + - - Get the simulator your agent is now in + + + + + + + + - - Data sent from the simulator when your agent joins a group chat session + + + Encode a object into a byte array + + The source object to encode + true to enable lossless decoding + A byte array containing the source Bitmap object - + - Construct a new instance of the GroupChatJoinedEventArgs class + Defines the beginning and ending file positions of a layer in an + LRCP-progression JPEG2000 file - The ID of the session - The name of the session - A temporary session id used for establishing new sessions - True of your agent successfully joined the session - - Get the ID of the group chat session + + + This structure is used to marshal both encoded and decoded images. + MUST MATCH THE STRUCT IN dotnet.h! + - - Get the name of the session + + + Information about a single packet in a JPEG2000 stream + - - Get the temporary session ID used for establishing new sessions + + Packet start position - - True if your agent successfully joined the session + + Packet header end position - - Data sent by the simulator containing urgent messages + + Packet end position - + - Construct a new instance of the AlertMessageEventArgs class + Image width - The alert message - - Get the alert message + + + Image height + - - Data sent by a script requesting to take or release specified controls to your agent + + + Image channel flags + - + - Construct a new instance of the ScriptControlEventArgs class + Red channel data - The controls the script is attempting to take or release to the agent - True if the script is passing controls back to the agent - True if the script is requesting controls be released to the script - - Get the controls the script is attempting to take or release to the agent - - - True if the script is passing controls back to the agent - - - True if the script is requesting controls be released to the script - - + - Data sent from the simulator to an agent to indicate its view limits + Green channel data - + - Construct a new instance of the CameraConstraintEventArgs class + Blue channel data - The collision plane - - - Get the collision plane - + - Data containing script sensor requests which allow an agent to know the specific details - of a primitive sending script sensor requests + Alpha channel data - + - Construct a new instance of the ScriptSensorReplyEventArgs + Bump channel data - The ID of the primitive sending the sensor - The ID of the group associated with the primitive - The name of the primitive sending the sensor - The ID of the primitive sending the sensor - The ID of the owner of the primitive sending the sensor - The position of the primitive sending the sensor - The range the primitive specified to scan - The rotation of the primitive sending the sensor - The type of sensor the primitive sent - The velocity of the primitive sending the sensor - - - Get the ID of the primitive sending the sensor - - - Get the ID of the group associated with the primitive - - - Get the name of the primitive sending the sensor - - - Get the ID of the primitive sending the sensor - - - Get the ID of the owner of the primitive sending the sensor - - - Get the position of the primitive sending the sensor - - - Get the range the primitive specified to scan - - - Get the rotation of the primitive sending the sensor - - - Get the type of sensor the primitive sent - - - Get the velocity of the primitive sending the sensor - - - Contains the response data returned from the simulator in response to a - - - Construct a new instance of the AvatarSitResponseEventArgs object - - - Get the ID of the primitive the agent will be sitting on - - - True if the simulator Autopilot functions were involved - - - Get the camera offset of the agent when seated - - - Get the camera eye offset of the agent when seated - - - True of the agent will be in mouselook mode when seated - - - Get the position of the agent when seated - - - Get the rotation of the agent when seated - - Data sent when an agent joins a chat session your agent is currently participating in - - + - Construct a new instance of the ChatSessionMemberAddedEventArgs object + Create a new blank image - The ID of the chat session - The ID of the agent joining - - - Get the ID of the chat session - - - Get the ID of the agent that joined - - - Data sent when an agent exits a chat session your agent is currently participating in + width + height + channel flags - + - Construct a new instance of the ChatSessionMemberLeftEventArgs object + - The ID of the chat session - The ID of the Agent that left - - - Get the ID of the chat session - - - Get the ID of the agent that left - - - Event arguments with the result of setting display name operation - - - Default constructor - - - Status code, 200 indicates settign display name was successful - - - Textual description of the status - - - Details of the newly set display name + - + - Abstract base for rendering plugins + Convert the channels in the image. Channels are created or destroyed as required. + new channel flags - + - Generates a basic mesh structure from a primitive + Resize or stretch the image using nearest neighbor (ugly) resampling - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh + new width + new height - + - Generates a basic mesh structure from a sculpted primitive and - texture + Create a byte array containing 32-bit RGBA data with a bottom-left + origin, suitable for feeding directly into OpenGL - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh + A byte array containing raw texture data - + - Generates a series of faces, each face containing a mesh and - metadata + Create a byte array containing 32-bit RGBA data with a bottom-left + origin, suitable for feeding directly into OpenGL - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh + A byte array containing raw texture data - + - Generates a series of faces for a sculpted prim, each face - containing a mesh and metadata + Represents a texture - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh - + + A object containing image data + + + + + + + + + Initializes a new instance of an AssetTexture object + + - Apply texture coordinate modifications from a - to a list of vertices + Initializes a new instance of an AssetTexture object - Vertex list to modify texture coordinates for - Center-point of the face - Face texture parameters - Scale of the prim + A unique specific to this asset + A byte array containing the raw asset data - + - Represents Mesh asset + Initializes a new instance of an AssetTexture object + A object containing texture data - + - Decoded mesh data + Populates the byte array with a JPEG2000 + encoded image created from the data in - - Initializes a new instance of an AssetMesh object - - - Initializes a new instance of an AssetMesh object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - + - TODO: Encodes Collada file into LLMesh format + Decodes the JPEG2000 data in AssetData to the + object + True if the decoding was successful, otherwise false - + - Decodes mesh asset. See - to furter decode it for rendering - true + Decodes the begin and end byte positions for each quality layer in + the image + + - + Override the base classes AssetType - + - Archives assets + Operation to apply when applying color to texture - + - Archive assets + Information needed to translate visual param value to RGBA color - + - Archive the assets given to this archiver to the given archive. + Construct VisualColorParam - + Operation to apply when applying color to texture + Colors - + - Write an assets metadata file to the given archive + Represents alpha blending and bump infor for a visual parameter + such as sleive length - - + + Stregth of the alpha to apply + + + File containing the alpha channel + + + Skip blending if parameter value is 0 + + + Use miltiply insted of alpha blending + + - Write asset data files to the given archive + Create new alhpa information for a visual param - + Stregth of the alpha to apply + File containing the alpha channel + Skip blending if parameter value is 0 + Use miltiply insted of alpha blending - + - Avatar group management + A single visual characteristic of an avatar mesh, such as eyebrow height - - Key of Group Member + + Index of this visual param - - Total land contribution + + Internal name - - Online status information + + Group ID this parameter belongs to - - Abilities that the Group Member has + + Name of the wearable this parameter belongs to - - Current group title + + Displayable label of this characteristic - - Is a group owner + + Displayable label for the minimum value of this characteristic - - - Role manager for a group - + + Displayable label for the maximum value of this characteristic - - Key of the group + + Default value - - Key of Role + + Minimum value - - Name of Role + + Maximum value - - Group Title associated with Role + + Is this param used for creation of bump layer? - - Description of Role + + Alpha blending/bump info - - Abilities Associated with Role + + Color information - - Returns the role's title - The role's title + + Array of param IDs that are drivers for this parameter - + - Class to represent Group Title + Set all the values through the constructor + Index of this visual param + Internal name + + + Displayable label of this characteristic + Displayable label for the minimum value of this characteristic + Displayable label for the maximum value of this characteristic + Default value + Minimum value + Maximum value + Is this param used for creation of bump layer? + Array of param IDs that are drivers for this parameter + Alpha blending/bump info + Color information - - Key of the group + + + Holds the Params array of all the avatar appearance parameters + - - ID of the role title belongs to + + + Class for controlling various system settings. + + Some values are readonly because they affect things that + happen when the GridClient object is initialized, so changing them at + runtime won't do any good. Non-readonly values may affect things that + happen at login or dynamically - - Group Title + + Main grid login server - - Whether title is Active + + Beta grid login server - - Returns group title + + + InventoryManager requests inventory information on login, + GridClient initializes an Inventory store for main inventory. + - + - Represents a group on the grid + InventoryManager requests library information on login, + GridClient initializes an Inventory store for the library. - - Key of Group + + Number of milliseconds between sending pings to each sim - - Key of Group Insignia + + Number of milliseconds between sending camera updates - - Key of Group Founder + + Number of milliseconds between updating the current + positions of moving, non-accelerating and non-colliding objects - - Key of Group Role for Owners + + Millisecond interval between ticks, where all ACKs are + sent out and the age of unACKed packets is checked - - Name of Group + + The initial size of the packet inbox, where packets are + stored before processing - - Text of Group Charter + + Maximum size of packet that we want to send over the wire - - Title of "everyone" role + + The maximum value of a packet sequence number before it + rolls over back to one - - Is the group open for enrolement to everyone + + The relative directory where external resources are kept - - Will group show up in search + + Login server to connect to - - + + IP Address the client will bind to - - + + Use XML-RPC Login or LLSD Login, default is XML-RPC Login - - + + + Use Caps for fetching inventory where available + - - Is the group Mature + + Number of milliseconds before an asset transfer will time + out - - Cost of group membership + + Number of milliseconds before a teleport attempt will time + out - - + + Number of milliseconds before NetworkManager.Logout() will + time out - - + + Number of milliseconds before a CAPS call will time out + Setting this too low will cause web requests time out and + possibly retry repeatedly - - The total number of current members this group has + + Number of milliseconds for xml-rpc to timeout - - The number of roles this group has configured + + Milliseconds before a packet is assumed lost and resent - - Show this group in agent's profile + + Milliseconds without receiving a packet before the + connection to a simulator is assumed lost - - Returns the name of the group - A string containing the name of the group + + Milliseconds to wait for a simulator info request through + the grid interface - - - A group Vote - + + The maximum size of the sequence number archive, used to + check for resent and/or duplicate packets - - Key of Avatar who created Vote + + Maximum number of queued ACKs to be sent before SendAcks() + is forced - - Text of the Vote proposal + + Network stats queue length (seconds) - - Total number of votes + + + Primitives will be reused when falling in/out of interest list (and shared between clients) + prims returning to interest list do not need re-requested + Helps also in not re-requesting prim.Properties for code that checks for a Properties == null per client + - + - A group proposal + Pool parcel data between clients (saves on requesting multiple times when all clients may need it) - - The Text of the proposal + + + How long to preserve cached data when no client is connected to a simulator + The reason for setting it to something like 2 minutes is in case a client + is running back and forth between region edges or a sim is comming and going + - - The minimum number of members that must vote before proposal passes or failes + + Enable/disable storing terrain heightmaps in the + TerrainManager - - The required ration of yes/no votes required for vote to pass - The three options are Simple Majority, 2/3 Majority, and Unanimous - TODO: this should be an enum + + Enable/disable sending periodic camera updates - - The duration in days votes are accepted + + Enable/disable automatically setting agent appearance at + login and after sim crossing - + + Enable/disable automatically setting the bandwidth throttle + after connecting to each simulator + The default throttle uses the equivalent of the maximum + bandwidth setting in the official client. If you do not set a + throttle your connection will by default be throttled well below + the minimum values and you may experience connection problems + + + Enable/disable the sending of pings to monitor lag and + packet loss + + + Should we connect to multiple sims? This will allow + viewing in to neighboring simulators and sim crossings + (Experimental) + + + If true, all object update packets will be decoded in to + native objects. If false, only updates for our own agent will be + decoded. Registering an event handler will force objects for that + type to always be decoded. If this is disabled the object tracking + will have missing or partial prim and avatar information + + + If true, when a cached object check is received from the + server the full object info will automatically be requested + + + Whether to establish connections to HTTP capabilities + servers for simulators + + + Whether to decode sim stats + + + The capabilities servers are currently designed to + periodically return a 502 error which signals for the client to + re-establish a connection. Set this to true to log those 502 errors + + + If true, any reference received for a folder or item + the library is not aware of will automatically be fetched + + + If true, and SEND_AGENT_UPDATES is true, + AgentUpdate packets will continuously be sent out to give the bot + smoother movement and autopiloting + + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectAvatars. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received + + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectPrimitives. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received + + + If true, position and velocity will periodically be + interpolated (extrapolated, technically) for objects and + avatars that are being tracked by the library. This is + necessary to increase the accuracy of speed and position + estimates for simulated objects + + + + If true, utilization statistics will be tracked. There is a minor penalty + in CPU time for enabling this option. + + + + If true, parcel details will be stored in the + Simulator.Parcels dictionary as they are received + + + + If true, an incoming parcel properties reply will automatically send + a request for the parcel access list + + + + + if true, an incoming parcel properties reply will automatically send + a request for the traffic count. + + + + + If true, images, and other assets downloaded from the server + will be cached in a local directory + + + + Path to store cached texture data + + + Maximum size cached files are allowed to take on disk (bytes) + + + Default color used for viewer particle effects + + + Maximum number of times to resend a failed packet + + + Throttle outgoing packet rate + + + UUID of a texture used by some viewers to indentify type of client used + + + + Download textures using GetTexture capability when available + + + + The maximum number of concurrent texture downloads allowed + Increasing this number will not necessarily increase texture retrieval times due to + simulator throttles + + + + The Refresh timer inteval is used to set the delay between checks for stalled texture downloads + + This is a static variable which applies to all instances + + + + Textures taking longer than this value will be flagged as timed out and removed from the pipeline + + + + Get or set the minimum log level to output to the console by default + If the library is not compiled with DEBUG defined and this level is set to DEBUG + You will get no output on the console. This behavior can be overriden by creating + a logger configuration file for log4net - - + + Attach avatar names to log messages - - + + Log packet retransmission info - - + + Log disk cache misses and other info - - + + Constructor + Reference to a GridClient object - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Cost of uploading an asset + Read-only since this value is dynamically fetched at login + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - Struct representing a group notice - + + - + - + - + - + - - - - - + + - + - Struct representing a group notice list entry + - - Notice ID - - - Creation timestamp of notice + + - - Agent name who created notice + + - - Notice subject + + - - Is there an attachment? + + - - Attachment Type + + + + + + - + - Struct representing a member of a group chat session and their settings + - - The of the Avatar + + - - True if user has voice chat enabled + + - - True of Avatar has moderator abilities + + - - True if a moderator has muted this avatars chat + + - - True if a moderator has muted this avatars voice + + + + + + - + - Role update flags + - + - + - + - + - + - + - - + + + + - - Can send invitations to groups default role + + - - Can eject members from group + + - - Can toggle 'Open Enrollment' and change 'Signup fee' + + - - Member is visible in the public member list + + - - Can create new roles + + - - Can delete existing roles + + + + + + - - Can change Role names, titles and descriptions + + + + + + - - Can assign other members to assigners role + + + + + + - - Can assign other members to any role + + + + + + + - - Can remove members from roles + + + + - - Can assign and remove abilities in roles + + + + + + - - Can change group Charter, Insignia, 'Publish on the web' and which - members are publicly visible in group member listings + + + + + + - - Can buy land or deed land to group + + + + + - - Can abandon group owned land to Governor Linden on mainland, or Estate owner for - private estates + + Size of the byte array used to store raw packet data - - Can set land for-sale information on group owned parcels + + Raw packet data buffer - - Can subdivide and join parcels + + Length of the data to transmit - - Can join group chat sessions + + EndPoint of the remote host - - Can use voice chat in Group Chat sessions + + + Create an allocated UDP packet buffer for receiving a packet + - - Can moderate group chat sessions + + + Create an allocated UDP packet buffer for sending a packet + + EndPoint of the remote host - - Can toggle "Show in Find Places" and set search category + + + Create an allocated UDP packet buffer for sending a packet + + EndPoint of the remote host + Size of the buffer to allocate for packet data - - Can change parcel name, description, and 'Publish on web' settings + + + Object pool for packet buffers. This is used to allocate memory for all + incoming and outgoing packets, and zerocoding buffers for those packets + - - Can set the landing point and teleport routing on group land + + + Initialize the object pool in client mode + + Server to connect to + + - - Can change music and media settings + + + Initialize the object pool in server mode + + + - - Can toggle 'Edit Terrain' option in Land settings + + + Returns a packet buffer with EndPoint set if the buffer is in + client mode, or with EndPoint set to null in server mode + + Initialized UDPPacketBuffer object - - Can toggle various About Land > Options settings + + + Default constructor + - - Can always terraform land, even if parcel settings have it turned off + + + Check a packet buffer out of the pool + + A packet buffer object - - Can always fly while over group owned land + + + + - - Can always rez objects on group owned land + + OK - - Can always create landmarks for group owned parcels + + Transfer completed - - Can set home location on any group owned parcel + + - - Can modify public access settings for group owned parcels + + - - Can manager parcel ban lists on group owned land + + Unknown error occurred - - Can manage pass list sales information + + Equivalent to a 404 error - - Can eject and freeze other avatars on group owned land + + Client does not have permission for that resource - - Can return objects set to group + + Unknown status - - Can return non-group owned/set objects + + + + - - Can return group owned objects + + - - Can landscape using Linden plants + + Unknown - - Can deed objects to group + + Virtually all asset transfers use this channel - - Can move group owned objects + + + + - - Can set group owned objects for-sale + + - - Pay group liabilities and receive group dividends + + Asset from the asset server - - List and Host group events + + Inventory item - - Can send group notices + + Estate asset, such as an estate covenant - - Can receive group notices + + + + - - Can create group proposals + + - - Can vote on group proposals + + - + + + + - Handles all network traffic related to reading and writing group - information + When requesting image download, type of the image requested - - The event subscribers. null if no subcribers - - - Raises the CurrentGroups event - A CurrentGroupsEventArgs object containing the - data sent from the simulator + + Normal in-world object texture - - Thread sync lock object + + Avatar texture - - The event subscribers. null if no subcribers + + Server baked avatar texture - - Raises the GroupNamesReply event - A GroupNamesEventArgs object containing the - data response from the simulator + + + Image file format + - - Thread sync lock object + + + + - - The event subscribers. null if no subcribers + + Number of milliseconds passed since the last transfer + packet was received - - Raises the GroupProfile event - An GroupProfileEventArgs object containing the - data returned from the simulator + + + + - - Thread sync lock object + + + + - - The event subscribers. null if no subcribers + + + + - - Raises the GroupMembers event - A GroupMembersEventArgs object containing the - data returned from the simulator + + + + - - Thread sync lock object + + + + - - The event subscribers. null if no subcribers + + + + + + + + - - Raises the GroupRolesDataReply event - A GroupRolesDataReplyEventArgs object containing the - data returned from the simulator + + + + - - Thread sync lock object + + Number of milliseconds to wait for a transfer header packet if out of order data was received - + The event subscribers. null if no subcribers - - Raises the GroupRoleMembersReply event - A GroupRolesRoleMembersReplyEventArgs object containing the + + Raises the XferReceived event + A XferReceivedEventArgs object containing the data returned from the simulator - + Thread sync lock object - + The event subscribers. null if no subcribers - - Raises the GroupTitlesReply event - A GroupTitlesReplyEventArgs object containing the + + Raises the AssetUploaded event + A AssetUploadedEventArgs object containing the data returned from the simulator - + Thread sync lock object - + The event subscribers. null if no subcribers - - Raises the GroupAccountSummary event - A GroupAccountSummaryReplyEventArgs object containing the + + Raises the UploadProgress event + A UploadProgressEventArgs object containing the data returned from the simulator - + Thread sync lock object - + The event subscribers. null if no subcribers - - Raises the GroupCreated event - An GroupCreatedEventArgs object containing the + + Raises the InitiateDownload event + A InitiateDownloadEventArgs object containing the data returned from the simulator - + Thread sync lock object - + The event subscribers. null if no subcribers - - Raises the GroupJoined event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator + + Raises the ImageReceiveProgress event + A ImageReceiveProgressEventArgs object containing the + data returned from the simulator - + Thread sync lock object - - The event subscribers. null if no subcribers + + Texture download cache - - Raises the GroupLeft event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator + + + Default constructor + + A reference to the GridClient object - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the GroupDropped event - An GroupDroppedEventArgs object containing the - the group your agent left - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the GroupMemberEjected event - An GroupMemberEjectedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the GroupNoticesListReply event - An GroupNoticesListReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the GroupInvitation event - An GroupInvitationEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - A reference to the current instance - - - Currently-active group members requests - - - Currently-active group roles requests - - - Currently-active group role-member requests - - - Dictionary keeping group members while request is in progress - - - Dictionary keeping mebmer/role mapping while request is in progress - - - Dictionary keeping GroupRole information while request is in progress - - - Caches group name lookups - - + - Construct a new instance of the GroupManager class + Request an asset download - A reference to the current instance + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + The callback to fire when the simulator responds with the asset data - + - Request a current list of groups the avatar is a member of. + Request an asset download - CAPS Event Queue must be running for this to work since the results - come across CAPS. + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + The callback to fire when the simulator responds with the asset data - + - Lookup name of group based on groupID + Request an asset download - groupID of group to lookup name for. + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + UUID of the transaction + The callback to fire when the simulator responds with the asset data - + - Request lookup of multiple group names + Request an asset download - List of group IDs to request. - - - Lookup group profile data such as name, enrollment, founder, logo, etc - Subscribe to OnGroupProfile event to receive the results. - group ID (UUID) - - - Request a list of group members. - Subscribe to OnGroupMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Request group roles - Subscribe to OnGroupRoles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Request members (members,role) role mapping for a group. - Subscribe to OnGroupRolesMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Request a groups Titles - Subscribe to OnGroupTitles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Begin to get the group account summary - Subscribe to the OnGroupAccountSummary event to receive the results. - group ID (UUID) - How long of an interval - Which interval (0 for current, 1 for last) - - - Invites a user to a group - The group to invite to - A list of roles to invite a person to - Key of person to invite + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + UUID of the transaction + The callback to fire when the simulator responds with the asset data - - Set a group as the current active group - group ID (UUID) + + + Request an asset download through the almost deprecated Xfer system + + Filename of the asset to request + Whether or not to delete the asset + off the server after it is retrieved + Use large transfer packets or not + UUID of the file to request, if filename is + left empty + Asset type of vFileID, or + AssetType.Unknown if filename is not empty + Sets the FilePath in the request to Cache + (4) if true, otherwise Unknown (0) is used + - - Change the role that determines your active title - Group ID to use - Role ID to change to + + + + + Use UUID.Zero if you do not have the + asset ID but have all the necessary permissions + The item ID of this asset in the inventory + Use UUID.Zero if you are not requesting an + asset from an object inventory + The owner of this asset + Asset type + Whether to prioritize this asset download or not + - - Set this avatar's tier contribution - Group ID to change tier in - amount of tier to donate + + + Used to force asset data into the PendingUpload property, ie: for raw terrain uploads + + An AssetUpload object containing the data to upload to the simulator - + - Save wheather agent wants to accept group notices and list this group in their profile + Request an asset be uploaded to the simulator - Group - Accept notices from this group - List this group in the profile + The Object containing the asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - - Request to join a group - Subscribe to OnGroupJoined event for confirmation. - group ID (UUID) to join. + + + Request an asset be uploaded to the simulator + + The of the asset being uploaded + A byte array containing the encoded asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - + - Request to create a new group. If the group is successfully - created, L$100 will automatically be deducted + Request an asset be uploaded to the simulator - Subscribe to OnGroupCreated event to receive confirmation. - Group struct containing the new group info + + Asset type to upload this data as + A byte array containing the encoded asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - - Update a group's profile and other information - Groups ID (UUID) to update. - Group struct to update. + + + Initiate an asset upload + + The ID this asset will have if the + upload succeeds + Asset type to upload this data as + Raw asset data to upload + Whether to store this asset on the local + simulator or the grid-wide asset server + The tranaction id for the upload + The transaction ID of this transfer - - Eject a user from a group - Group ID to eject the user from - Avatar's key to eject - - - Update role information - Modified role to be updated - - - Create a new group role - Group ID to update - Role to create - - - Delete a group role - Group ID to update - Role to delete + + + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress + transfer. + A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority + indicating an off-by-one error. + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request + + Request an image and fire a callback when the request is complete + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); + + private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); + } + } + + Request an image and use an inline anonymous method to handle the downloaded texture data + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); + } + } + ); + + Request a texture, decode the texture to a bitmap image and apply it to a imagebox + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); + + private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + ManagedImage imgData; + Image bitmap; + + if (state == TextureRequestState.Finished) + { + OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); + picInsignia.Image = bitmap; + } + } + } + + - - Remove an avatar from a role - Group ID to update - Role ID to be removed from - Avatar's Key to remove + + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data - - Assign an avatar to a role - Group ID to update - Role ID to assign to - Avatar's ID to assign to role + + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data - - Request the group notices list - Group ID to fetch notices for + + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request - - Request a group notice by key - ID of group notice + + + Cancel a texture request + + The texture assets - - Send out a group notice - Group ID to update - GroupNotice structure containing notice data + + + Requests download of a mesh asset + + UUID of the mesh asset + Callback when the request completes - - Start a group proposal (vote) - The Group ID to send proposal to - GroupProposal structure containing the proposal + + + Fetach avatar texture on a grid capable of server side baking + + ID of the avatar + ID of the texture + Name of the part of the avatar texture applies to + Callback invoked on operation completion - - Request to leave a group - Subscribe to OnGroupLeft event to receive confirmation - The group to leave + + + Lets TexturePipeline class fire the progress event + + The texture ID currently being downloaded + the number of bytes transferred + the total number of bytes expected - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Raised when the simulator responds sends - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Raised during upload completes - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Raised during upload with progres update - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Fired when a texture is in the process of being downloaded by the TexturePipeline class - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Callback used for various asset download requests + + Transfer information + Downloaded asset, null on fail - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Callback used upon competition of baked texture upload + + Asset UUID of the newly uploaded baked texture - - Raised when the simulator sends us data containing - our current group membership + + + A callback that fires upon the completition of the RequestMesh call + + Was the download successfull + Resulting mesh or null on problems - - Raised when the simulator responds to a RequestGroupName - or RequestGroupNames request + + Xfer data - - Raised when the simulator responds to a request + + Upload data - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request + + Filename used on the simulator - - Raised when the simulator responds to a request + + Filename used by the client - - Raised when the simulator responds to a request + + UUID of the image that is in progress - - Raised when a response to a RequestGroupAccountSummary is returned - by the simulator + + Number of bytes received so far - - Raised when a request to create a group is successful + + Image size in bytes - - Raised when a request to join a group either - fails or succeeds + + Positional vector of the users position - - Raised when a request to leave a group either - fails or succeeds + + Velocity vector of the position - - Raised when A group is removed from the group server + + At Orientation (X axis) of the position - - Raised when a request to eject a member from a group either - fails or succeeds + + Up Orientation (Y axis) of the position - - Raised when the simulator sends us group notices - + + Left Orientation (Z axis) of the position - - Raised when another agent invites our avatar to join a group + + + Contains all mesh faces that belong to a prim + - - Contains the current groups your agent is a member of + + List of primitive faces - - Construct a new instance of the CurrentGroupsEventArgs class - The current groups your agent is a member of + + + Decodes mesh asset into FacetedMesh + + Mesh primitive + Asset retrieved from the asset server + Level of detail + Resulting decoded FacetedMesh + True if mesh asset decoding was successful - - Get the current groups your agent is a member of + + + Represents a string of characters encoded with specific formatting properties + - - A Dictionary of group names, where the Key is the groups ID and the value is the groups name + + A text string containing main text of the notecard - - Construct a new instance of the GroupNamesEventArgs class - The Group names dictionary + + List of s embedded on the notecard - - Get the Group Names dictionary + + Construct an Asset of type Notecard - - Represents the members of a group + + + Construct an Asset object of type Notecard + + A unique specific to this asset + A byte array containing the raw asset data - + - Construct a new instance of the GroupMembersReplyEventArgs class + Encode the raw contents of a string with the specific Linden Text properties - The ID of the request - The ID of the group - The membership list of the group - - Get the ID as returned by the request to correlate - this result set and the request + + + Decode the raw asset data including the Linden Text properties + + true if the AssetData was successfully decoded - - Get the ID of the group + + Override the base classes AssetType - - Get the dictionary of members + + + Represents an Animation + - - Represents the roles associated with a group + + Default Constructor - - Construct a new instance of the GroupRolesDataReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The dictionary containing the roles + + + Construct an Asset object of type Animation + + A unique specific to this asset + A byte array containing the raw asset data - - Get the ID as returned by the request to correlate - this result set and the request + + Override the base classes AssetType - - Get the ID of the group + + + + - - Get the dictionary containing the roles + + + An instance of DelegateWrapper which calls InvokeWrappedDelegate, + which in turn calls the DynamicInvoke method of the wrapped + delegate + - - Represents the Role to Member mappings for a group + + + Callback used to call EndInvoke on the asynchronously + invoked DelegateWrapper + - - Construct a new instance of the GroupRolesMembersReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The member to roles map + + + Executes the specified delegate with the specified arguments + asynchronously on a thread pool thread + + + - - Get the ID as returned by the request to correlate - this result set and the request + + + Invokes the wrapped delegate synchronously + + + - - Get the ID of the group + + + Calls EndInvoke on the wrapper and Close on the resulting WaitHandle + to prevent resource leaks + + - - Get the member to roles map + + + Delegate to wrap another delegate and its arguments + + + - - Represents the titles for a group + + + + - - Construct a new instance of the GroupTitlesReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The titles + + The event subscribers, null of no subscribers - - Get the ID as returned by the request to correlate - this result set and the request + + Raises the AttachedSound Event + A AttachedSoundEventArgs object containing + the data sent from the simulator - - Get the ID of the group + + Thread sync lock object - - Get the titles + + The event subscribers, null of no subscribers - - Represents the summary data for a group + + Raises the AttachedSoundGainChange Event + A AttachedSoundGainChangeEventArgs object containing + the data sent from the simulator - - Construct a new instance of the GroupAccountSummaryReplyEventArgs class - The ID of the group - The summary data + + Thread sync lock object - - Get the ID of the group + + The event subscribers, null of no subscribers - - Get the summary data + + Raises the SoundTrigger Event + A SoundTriggerEventArgs object containing + the data sent from the simulator - - A response to a group create request + + Thread sync lock object - - Construct a new instance of the GroupCreatedReplyEventArgs class - The ID of the group - the success or faulure of the request - A string containing additional information + + The event subscribers, null of no subscribers - - Get the ID of the group + + Raises the PreloadSound Event + A PreloadSoundEventArgs object containing + the data sent from the simulator - - true of the group was created successfully + + Thread sync lock object - - A string containing the message + + + Construct a new instance of the SoundManager class, used for playing and receiving + sound assets + + A reference to the current GridClient instance - - Represents a response to a request + + + Plays a sound in the current region at full volume from avatar position + + UUID of the sound to be played - - Construct a new instance of the GroupOperationEventArgs class - The ID of the group - true of the request was successful + + + Plays a sound in the current region at full volume + + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. - - Get the ID of the group + + + Plays a sound in the current region + + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - - true of the request was successful + + + Plays a sound in the specified sim + + UUID of the sound to be played. + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - - Represents your agent leaving a group + + + Play a sound asset + + UUID of the sound to be played. + handle id for the sim to be played in. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - - Construct a new instance of the GroupDroppedEventArgs class - The ID of the group + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Get the ID of the group + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Represents a list of active group notices + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Construct a new instance of the GroupNoticesListReplyEventArgs class - The ID of the group - The list containing active notices + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Get the ID of the group + + Raised when the simulator sends us data containing + sound - - Get the notices list + + Raised when the simulator sends us data containing + ... - - Represents the profile of a group + + Raised when the simulator sends us data containing + ... - - Construct a new instance of the GroupProfileEventArgs class - The group profile + + Raised when the simulator sends us data containing + ... - - Get the group profile + + Provides data for the event + The event occurs when the simulator sends + the sound data which emits from an agents attachment + + The following code example shows the process to subscribe to the event + and a stub to handle the data passed from the simulator + + // Subscribe to the AttachedSound event + Client.Sound.AttachedSound += Sound_AttachedSound; + + // process the data raised in the event here + private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) + { + // ... Process AttachedSoundEventArgs here ... + } + + - + - Provides notification of a group invitation request sent by another Avatar + Construct a new instance of the SoundTriggerEventArgs class - The invitation is raised when another avatar makes an offer for our avatar - to join a group. + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The volume level + The - - The ID of the Avatar sending the group invitation + + Simulator where the event originated - - The name of the Avatar sending the group invitation + + Get the sound asset id - - A message containing the request information which includes - the name of the group, the groups charter and the fee to join details + + Get the ID of the owner - - The Simulator + + Get the ID of the Object - - Set to true to accept invitation, false to decline + + Get the volume level - + + Get the + + + Provides data for the event + The event occurs when an attached sound + changes its volume level + + - A set of textures that are layered on texture of each other and "baked" - in to a single texture, for avatar appearances + Construct a new instance of the AttachedSoundGainChangedEventArgs class + Simulator where the event originated + The ID of the Object + The new volume level - - Final baked texture - - - Component layers + + Simulator where the event originated - - Width of the final baked image and scratchpad + + Get the ID of the Object - - Height of the final baked image and scratchpad + + Get the volume level - - Bake type + + Provides data for the event + The event occurs when the simulator forwards + a request made by yourself or another agent to play either an asset sound or a built in sound + + Requests to play sounds where the is not one of the built-in + will require sending a request to download the sound asset before it can be played + + + The following code example uses the , + and + properties to display some information on a sound request on the window. + + // subscribe to the event + Client.Sound.SoundTrigger += Sound_SoundTrigger; + + // play the pre-defined BELL_TING sound + Client.Sound.SendSoundTrigger(Sounds.BELL_TING); + + // handle the response data + private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) + { + Console.WriteLine("{0} played the sound {1} at volume {2}", + e.OwnerID, e.SoundID, e.Gain); + } + + - + - Default constructor + Construct a new instance of the SoundTriggerEventArgs class - Bake type + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The ID of the objects parent + The volume level + The regionhandle + The source position - - - Adds layer for baking - - TexturaData struct that contains texture and its params + + Simulator where the event originated - - - Converts avatar texture index (face) to Bake type - - Face number (AvatarTextureIndex) - BakeType, layer to which this texture belongs to - - - - Make sure images exist, resize source if needed to match the destination - - Destination image - Source image - Sanitization was succefull - - - - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color - - Color of the base of this layer + + Get the sound asset id - - - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color - - Red value - Green value - Blue value + + Get the ID of the owner - - Final baked texture + + Get the ID of the Object - - Component layers + + Get the ID of the objects parent - - Width of the final baked image and scratchpad + + Get the volume level - - Height of the final baked image and scratchpad + + Get the regionhandle - - Bake type + + Get the source position - - Is this one of the 3 skin bakes + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + + - + - Represents a Sound Asset + Construct a new instance of the PreloadSoundEventArgs class + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object - - Initializes a new instance of an AssetSound object + + Simulator where the event originated - - Initializes a new instance of an AssetSound object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + Get the sound asset id - - - TODO: Encodes a sound file - + + Get the ID of the owner - + + Get the ID of the Object + + - TODO: Decode a sound file + - true - - Override the base classes AssetType + + - - - Represents an that represents an avatars body ie: Hair, Etc. - + + - - Initializes a new instance of an AssetBodyPart object + + - - Initializes a new instance of an AssetBodyPart object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + - - Override the base classes AssetType + + - - - Avatar profile flags - + + - + + + + - Represents an avatar (other than your own) + Status of the last application run. + Used for error reporting to the grid login service for statistical purposes. - - Groups that this avatar is a member of + + Application exited normally - - Positive and negative ratings + + Application froze - - Avatar properties including about text, profile URL, image IDs and - publishing settings + + Application detected error and exited abnormally - - Avatar interests including spoken languages, skills, and "want to" - choices + + Other crash - - Movement control flags for avatars. Typically not set or used by - clients. To move your avatar, use Client.Self.Movement instead + + Application froze during logout - - - Contains the visual parameters describing the deformation of the avatar - + + Application crashed during logout - + - Appearance version. Value greater than 0 indicates using server side baking + Login Request Parameters - - - Version of the Current Outfit Folder that the appearance is based on - + + The URL of the Login Server - - - Appearance flags. Introduced with server side baking, currently unused. - + + The number of milliseconds to wait before a login is considered + failed due to timeout - - - List of current avatar animations - + + The request method + login_to_simulator is currently the only supported method - - - Default constructor - + + The Agents First name - - First name + + The Agents Last name - - Last name + + A md5 hashed password + plaintext password will be automatically hashed - - Full name + + The agents starting location once logged in + Either "last", "home", or a string encoded URI + containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 - - Active group + + A string containing the client software channel information + Second Life Release - - - Positive and negative ratings - + + The client software version information + The official viewer uses: Second Life Release n.n.n.n + where n is replaced with the current version of the viewer - - Positive ratings for Behavior + + A string containing the platform information the agent is running on - - Negative ratings for Behavior + + A string hash of the network cards Mac Address - - Positive ratings for Appearance + + Unknown or deprecated - - Negative ratings for Appearance + + A string hash of the first disk drives ID used to identify this clients uniqueness - - Positive ratings for Building + + A string containing the viewers Software, this is not directly sent to the login server but + instead is used to generate the Version string - - Negative ratings for Building + + A string representing the software creator. This is not directly sent to the login server but + is used by the library to generate the Version information - - Positive ratings given by this avatar + + If true, this agent agrees to the Terms of Service of the grid its connecting to - - Negative ratings given by this avatar + + Unknown - + + Status of the last application run sent to the grid login server for statistical purposes + + + An array of string sent to the login server to enable various options + + + A randomly generated ID to distinguish between login attempts. This value is only used + internally in the library and is never sent over the wire + + - Avatar properties including about text, profile URL, image IDs and - publishing settings + Default constuctor, initializes sane default values - - First Life about text + + + Instantiates new LoginParams object and fills in the values + + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number - - First Life image ID + + + Instantiates new LoginParams object and fills in the values + + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number + URI of the login server - - + + + The decoded data returned from the login server after a successful login + - - + + true, false, indeterminate - - + + Login message of the day - - + + M or PG, also agent_region_access and agent_access_max - - Profile image ID + + + Parse LLSD Login Reply Data + + An + contaning the login response data + XML-RPC logins do not require this as XML-RPC.NET + automatically populates the struct properly using attributes - - Flags of the profile + + + Static pre-defined animations available to all agents + - - Web URL for this profile + + Agent with afraid expression on face - - Should this profile be published on the web + + Agent aiming a bazooka (right handed) - - Avatar Online Status + + Agent aiming a bow (left handed) - - Is this a mature profile + + Agent aiming a hand gun (right handed) - - + + Agent aiming a rifle (right handed) - - + + Agent with angry expression on face - - - Avatar interests including spoken languages, skills, and "want to" - choices - + + Agent hunched over (away) - - Languages profile field + + Agent doing a backflip - - + + Agent laughing while holding belly - - + + Agent blowing a kiss - - + + Agent with bored expression on face - - + + Agent bowing to audience - - - Index of TextureEntry slots for avatar appearances - + + Agent brushing himself/herself off - - - Bake layers for avatar appearance - + + Agent in busy mode - - - Appearance Flags, introdued with server side baking, currently unused - + + Agent clapping hands - - Maximum number of concurrent downloads for wearable assets and textures + + Agent doing a curtsey bow - - Maximum number of concurrent uploads for baked textures + + Agent crouching - - Timeout for fetching inventory listings + + Agent crouching while walking - - Timeout for fetching a single wearable, or receiving a single packet response + + Agent crying - - Timeout for fetching a single texture + + Agent unanimated with arms out (e.g. setting appearance) - - Timeout for uploading a single baked texture + + Agent re-animated after set appearance finished - - Number of times to retry bake upload + + Agent dancing - - When changing outfit, kick off rebake after - 20 seconds has passed since the last change + + Agent dancing - - Total number of wearables for each avatar + + Agent dancing - - Total number of baked textures on each avatar + + Agent dancing - - Total number of wearables per bake layer + + Agent dancing - - Mask for multiple attachments + + Agent dancing - - Mapping between BakeType and AvatarTextureIndex + + Agent dancing - - Map of what wearables are included in each bake + + Agent dancing - - Magic values to finalize the cache check hashes for each - bake + + Agent on ground unanimated - - Default avatar texture, used to detect when a custom - texture is not set for a face + + Agent boozing it up - - The event subscribers. null if no subcribers + + Agent with embarassed expression on face - - Raises the AgentWearablesReply event - An AgentWearablesReplyEventArgs object containing the - data returned from the data server + + Agent with afraid expression on face - - Thread sync lock object + + Agent with angry expression on face - - The event subscribers. null if no subcribers + + Agent with bored expression on face - - Raises the CachedBakesReply event - An AgentCachedBakesReplyEventArgs object containing the - data returned from the data server AgentCachedTextureResponse + + Agent crying - - Thread sync lock object + + Agent showing disdain (dislike) for something - - The event subscribers. null if no subcribers + + Agent with embarassed expression on face - - Raises the AppearanceSet event - An AppearanceSetEventArgs object indicating if the operatin was successfull + + Agent with frowning expression on face - - Thread sync lock object + + Agent with kissy face - - The event subscribers. null if no subcribers + + Agent expressing laughgter - - Raises the RebakeAvatarRequested event - An RebakeAvatarTexturesEventArgs object containing the - data returned from the data server + + Agent with open mouth - - Thread sync lock object + + Agent with repulsed expression on face - - Visual parameters last sent to the sim + + Agent expressing sadness - - Textures about this client sent to the sim + + Agent shrugging shoulders - - A cache of wearables currently being worn + + Agent with a smile - - A cache of textures currently being worn + + Agent expressing surprise - - Incrementing serial number for AgentCachedTexture packets + + Agent sticking tongue out - - Incrementing serial number for AgentSetAppearance packets + + Agent with big toothy smile - - Indicates if WearablesRequest succeeded + + Agent winking - - Indicates whether or not the appearance thread is currently - running, to prevent multiple appearance threads from running - simultaneously + + Agent expressing worry - - Reference to our agent + + Agent falling down - - - Timer used for delaying rebake on changing outfit - + + Agent walking (feminine version) - - - Main appearance thread - + + Agent wagging finger (disapproval) - - - Is server baking complete. It needs doing only once - + + I'm not sure I want to know - - - Default constructor - - A reference to our agent + + Agent in superman position - - - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread - + + Agent in superman position - - - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread - - Unused parameter + + Agent greeting another - - - Starts the appearance setting thread - + + Agent holding bazooka (right handed) - - - Starts the appearance setting thread - - True to force rebaking, otherwise false + + Agent holding a bow (left handed) - - - Check if current region supports server side baking - - True if server side baking support is detected + + Agent holding a handgun (right handed) - - - Ask the server what textures our agent is currently wearing - + + Agent holding a rifle (right handed) - - - Build hashes out of the texture assetIDs for each baking layer to - ask the simulator whether it has cached copies of each baked texture - + + Agent throwing an object (right handed) - - - Returns the AssetID of the asset that is currently being worn in a - given WearableType slot - - WearableType slot to get the AssetID for - The UUID of the asset being worn in the given slot, or - UUID.Zero if no wearable is attached to the given slot or wearables - have not been downloaded yet + + Agent in static hover - - - Add a wearable to the current outfit and set appearance - - Wearable to be added to the outfit + + Agent hovering downward - - - Add a wearable to the current outfit and set appearance - - Wearable to be added to the outfit - Should existing item on the same point or of the same type be replaced + + Agent hovering upward - - - Add a list of wearables to the current outfit and set appearance - - List of wearable inventory items to - be added to the outfit - Should existing item on the same point or of the same type be replaced + + Agent being impatient - - - Add a list of wearables to the current outfit and set appearance - - List of wearable inventory items to - be added to the outfit - Should existing item on the same point or of the same type be replaced + + Agent jumping - - - Remove a wearable from the current outfit and set appearance - - Wearable to be removed from the outfit + + Agent jumping with fervor - - - Removes a list of wearables from the current outfit and set appearance - - List of wearable inventory items to - be removed from the outfit + + Agent point to lips then rear end - - - Replace the current outfit with a list of wearables and set appearance - - List of wearable inventory items that - define a new outfit + + Agent landing from jump, finished flight, etc - - - Replace the current outfit with a list of wearables and set appearance - - List of wearable inventory items that - define a new outfit - Check if we have all body parts, set this to false only - if you know what you're doing + + Agent laughing - - - Checks if an inventory item is currently being worn - - The inventory item to check against the agent - wearables - The WearableType slot that the item is being worn in, - or WearbleType.Invalid if it is not currently being worn + + Agent landing from jump, finished flight, etc - - - Returns a copy of the agents currently worn wearables - - A copy of the agents currently worn wearables - Avoid calling this function multiple times as it will make - a copy of all of the wearable data each time + + Agent sitting on a motorcycle - - - Calls either or - depending on the value of - replaceItems - - List of wearable inventory items to add - to the outfit or become a new outfit - True to replace existing items with the - new list of items, false to add these items to the existing outfit + + - - - Adds a list of attachments to our agent - - A List containing the attachments to add - If true, tells simulator to remove existing attachment - first + + Agent moving head side to side - - - Adds a list of attachments to our agent - - A List containing the attachments to add - If true, tells simulator to remove existing attachment - If true replace existing attachment on this attachment point, otherwise add to it (multi-attachments) - first + + Agent moving head side to side with unhappy expression - - - Attach an item to our agent at a specific attach point - - A to attach - the on the avatar - to attach the item to + + Agent taunting another - - - Attach an item to our agent at a specific attach point - - A to attach - the on the avatar - If true replace existing attachment on this attachment point, otherwise add to it (multi-attachments) - to attach the item to + + - - - Attach an item to our agent specifying attachment details - - The of the item to attach - The attachments owner - The name of the attachment - The description of the attahment - The to apply when attached - The of the attachment - The on the agent - to attach the item to + + Agent giving peace sign - - - Attach an item to our agent specifying attachment details - - The of the item to attach - The attachments owner - The name of the attachment - The description of the attahment - The to apply when attached - The of the attachment - The on the agent - If true replace existing attachment on this attachment point, otherwise add to it (multi-attachments) - to attach the item to + + Agent pointing at self - - - Detach an item from our agent using an object - - An object + + Agent pointing at another - - - Detach an item from our agent - - The inventory itemID of the item to detach + + Agent preparing for jump (bending knees) - - - Inform the sim which wearables are part of our current outfit - + + Agent punching with left hand - - - Replaces the Wearables collection with a list of new wearable items - - Wearable items to replace the Wearables collection with + + Agent punching with right hand - - - Calculates base color/tint for a specific wearable - based on its params - - All the color info gathered from wearable's VisualParams - passed as list of ColorParamInfo tuples - Base color/tint for the wearable + + Agent acting repulsed - - - Blocking method to populate the Wearables dictionary - - True on success, otherwise false + + Agent trying to be Chuck Norris - - - Blocking method to populate the Textures array with cached bakes - - True on success, otherwise false + + Rocks, Paper, Scissors 1, 2, 3 - - - Populates textures and visual params from a decoded asset - - Wearable to decode - - Populates textures and visual params from a decoded asset - - Wearable to decode + + Agent with hand flat over other hand - - - Blocking method to download and parse currently worn wearable assets - - True on success, otherwise false + + Agent with fist over other hand - - - Get a list of all of the textures that need to be downloaded for a - single bake layer - - Bake layer to get texture AssetIDs for - A list of texture AssetIDs to download + + Agent with two fingers spread over other hand - - - Helper method to lookup the TextureID for a single layer and add it - to a list if it is not already present - - - + + Agent running - - - Blocking method to download all of the textures needed for baking - the given bake layers - - A list of layers that need baking - No return value is given because the baking will happen - whether or not all textures are successfully downloaded + + Agent appearing sad - - - Blocking method to create and upload baked textures for all of the - missing bakes - - True on success, otherwise false + + Agent saluting - - - Blocking method to create and upload a baked texture for a single - bake layer - - Layer to bake - True on success, otherwise false + + Agent shooting bow (left handed) - - - Blocking method to upload a baked texture - - Five channel JPEG2000 texture data to upload - UUID of the newly created asset on success, otherwise UUID.Zero + + Agent cupping mouth as if shouting - - - Creates a dictionary of visual param values from the downloaded wearables - - A dictionary of visual param indices mapping to visual param - values for our agent that can be fed to the Baker class + + Agent shrugging shoulders - - - Initate server baking process - - True if the server baking was successful + + Agent in sit position - - - Get the latest version of COF - - Current Outfit Folder (or null if getting the data failed) + + Agent in sit position (feminine) - - - Create an AgentSetAppearance packet from Wearables data and the - Textures array and send it - + + Agent in sit position (generic) - - - Converts a WearableType to a bodypart or clothing WearableType - - A WearableType - AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown + + Agent sitting on ground - - - Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex - - A BakeType - The AvatarTextureIndex slot that holds the given BakeType + + Agent sitting on ground - - - Gives the layer number that is used for morph mask - - >A BakeType - Which layer number as defined in BakeTypeToTextures is used for morph mask + + - - - Converts a BakeType to a list of the texture slots that make up that bake - - A BakeType - A list of texture slots that are inputs for the given bake + + Agent sleeping on side - - Triggered when an AgentWearablesUpdate packet is received, - telling us what our avatar is currently wearing - request. + + Agent smoking - - Raised when an AgentCachedTextureResponse packet is - received, giving a list of cached bakes that were found on the - simulator - request. + + Agent inhaling smoke - - - Raised when appearance data is sent to the simulator, also indicates - the main appearance thread is finished. - - request. + + - - - Triggered when the simulator requests the agent rebake its appearance. - - + + Agent taking a picture - - - Returns true if AppearanceManager is busy and trying to set or change appearance will fail - + + Agent standing - - - Contains information about a wearable inventory item - + + Agent standing up - - Inventory ItemID of the wearable + + Agent standing - - AssetID of the wearable asset + + Agent standing - - WearableType of the wearable + + Agent standing - - AssetType of the wearable + + Agent standing - - Asset data for the wearable + + Agent stretching - - - Data collected from visual params for each wearable - needed for the calculation of the color - + + Agent in stride (fast walk) - - - Holds a texture assetID and the data needed to bake this layer into - an outfit texture. Used to keep track of currently worn textures - and baking data - + + Agent surfing - - A texture AssetID + + Agent acting surprised - - Asset data for the texture + + Agent striking with a sword - - Collection of alpha masks that needs applying + + Agent talking (lips moving) - - Tint that should be applied to the texture + + Agent throwing a tantrum - - Where on avatar does this texture belong + + Agent throwing an object (right handed) - - Contains the Event data returned from the data server from an AgentWearablesRequest + + Agent trying on a shirt - - Construct a new instance of the AgentWearablesReplyEventArgs class + + Agent turning to the left - - Contains the Event data returned from the data server from an AgentCachedTextureResponse + + Agent turning to the right - - Construct a new instance of the AgentCachedBakesReplyEventArgs class + + Agent typing - - Contains the Event data returned from an AppearanceSetRequest + + Agent walking - - - Triggered when appearance data is sent to the sim and - the main appearance thread is done. - Indicates whether appearance setting was successful + + Agent whispering - - Indicates whether appearance setting was successful + + Agent whispering with fingers in mouth - - Contains the Event data returned from the data server from an RebakeAvatarTextures + + Agent winking - + + Agent winking + + + Agent worried + + + Agent nodding yes + + + Agent nodding yes with happy face + + + Agent floating with legs and arms crossed + + - Triggered when the simulator sends a request for this agent to rebake - its appearance + A dictionary containing all pre-defined animations - The ID of the Texture Layer to bake - - - The ID of the Texture Layer to bake + A dictionary containing the pre-defined animations, + where the key is the animations ID, and the value is a string + containing a name to identify the purpose of the animation - + - Represents an Animation + A linkset asset, containing a parent primitive and zero or more children - - Default Constructor + + Initializes a new instance of an AssetPrim object - + - Construct an Asset object of type Animation + Initializes a new instance of an AssetPrim object A unique specific to this asset A byte array containing the raw asset data - - Override the base classes AssetType - - + - + + - + + Override the base classes AssetType + + - + Only used internally for XML serialization/deserialization - + - + The deserialized form of a single primitive in a linkset asset - + - - + Looking direction, must be a normalized vector + Up direction, must be a normalized vector - + - The ObservableDictionary class is used for storing key/value pairs. It has methods for firing - events to subscribers when items are added, removed, or changed. + Align the coordinate frame X and Y axis with a given rotation + around the Z axis in radians - Key - Value + Absolute rotation around the Z axis in + radians - + + Origin position of this coordinate frame + + + X axis of this coordinate frame, or Forward/At in grid terms + + + Y axis of this coordinate frame, or Left in grid terms + + + Z axis of this coordinate frame, or Up in grid terms + + - A dictionary of callbacks to fire when specified action occurs + - + + The avatar has no rights + + + The avatar can see the online status of the target avatar + + + The avatar can see the location of the target avatar on the map + + + The avatar can modify the ojects of the target avatar + + - Register a callback to be fired when an action occurs + This class holds information about an avatar in the friends list. There are two ways + to interface to this class. The first is through the set of boolean properties. This is the typical + way clients of this class will use it. The second interface is through two bitflag properties, + TheirFriendsRights and MyFriendsRights - The action - The callback to fire - + - Unregister a callback + Used internally when building the initial list of friends at login time - The action - The callback to fire + System ID of the avatar being prepesented + Rights the friend has to see you online and to modify your objects + Rights you have to see your friend online and to modify their objects - + - + FriendInfo represented as a string - - + A string reprentation of both my rights and my friends rights - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking + + + System ID of the avatar + - + - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. + full name of the avatar - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); - - - + - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. + True if the avatar is online - Initial size of dictionary - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); - - - - - - Try to get entry from the with specified key - - Key to use for lookup - Value returned - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - - + - Finds the specified match. + True if the friend can see if I am online - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - - - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - - - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - - - - Check if Key exists in Dictionary - Key to check for - if found, otherwise - - - Check if Value exists in Dictionary - Value to check for - if found, otherwise - + - Adds the specified key to the dictionary, dictionary locking is not performed, - + True if the friend can see me on the map - The key - The value - + - Removes the specified key, dictionary locking is not performed + True if the freind can modify my objects - The key. - if successful, otherwise - + - Clear the contents of the dictionary + True if I can see if my friend is online - + - Enumerator for iterating dictionary entries + True if I can see if my friend is on the map - - + - Gets the number of Key/Value pairs contained in the + True if I can modify my friend's objects - + - Indexer for the dictionary + My friend's rights represented as bitmapped flags - The key - The value - + - + My rights represented as bitmapped flags - + - + This class is used to add and remove avatars from your friends list and to manage their permission. - - - - De-serialization constructor for the InventoryNode Class - + + The event subscribers. null if no subcribers - - - Serialization handler for the InventoryNode Class - + + Raises the FriendOnline event + A FriendInfoEventArgs object containing the + data returned from the data server - - - De-serialization handler for the InventoryNode Class - + + Thread sync lock object - - - - - + + The event subscribers. null if no subcribers - - + + Raises the FriendOffline event + A FriendInfoEventArgs object containing the + data returned from the data server - - User data + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the FriendRightsUpdate event + A FriendInfoEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - - For inventory folder nodes specifies weather the folder needs to be - refreshed from the server - + + The event subscribers. null if no subcribers - - - Capability to load TGAs to Bitmap - + + Raises the FriendNames event + A FriendNamesEventArgs object containing the + data returned from the data server - - - Represents a string of characters encoded with specific formatting properties - + + Thread sync lock object - - A text string containing main text of the notecard + + The event subscribers. null if no subcribers - - List of s embedded on the notecard + + Raises the FriendshipOffered event + A FriendshipOfferedEventArgs object containing the + data returned from the data server - - Construct an Asset of type Notecard + + Thread sync lock object - - - Construct an Asset object of type Notecard - - A unique specific to this asset - A byte array containing the raw asset data + + The event subscribers. null if no subcribers - - - Encode the raw contents of a string with the specific Linden Text properties - + + Raises the FriendshipResponse event + A FriendshipResponseEventArgs object containing the + data returned from the data server - - - Decode the raw asset data including the Linden Text properties - - true if the AssetData was successfully decoded + + Thread sync lock object - - Override the base classes AssetType + + The event subscribers. null if no subcribers - - - Simulator (region) properties - + + Raises the FriendshipTerminated event + A FriendshipTerminatedEventArgs object containing the + data returned from the data server - - No flags set + + Thread sync lock object - - Agents can take damage and be killed + + The event subscribers. null if no subcribers - - Landmarks can be created here + + Raises the FriendFoundReply event + A FriendFoundReplyEventArgs object containing the + data returned from the data server - - Home position can be set in this sim + + Thread sync lock object - - Home position is reset when an agent teleports away + + + A dictionary of key/value pairs containing known friends of this avatar. + + The Key is the of the friend, the value is a + object that contains detailed information including permissions you have and have given to the friend + - - Sun does not move + + + A Dictionary of key/value pairs containing current pending frienship offers. + + The key is the of the avatar making the request, + the value is the of the request which is used to accept + or decline the friendship offer + - - No object, land, etc. taxes + + + Internal constructor + + A reference to the GridClient Object - - Disable heightmap alterations (agents can still plant - foliage) + + + Accept a friendship request + + agentID of avatatar to form friendship with + imSessionID of the friendship request message - - Land cannot be released, sold, or purchased + + + Decline a friendship request + + of friend + imSessionID of the friendship request message - - All content is wiped nightly + + + Overload: Offer friendship to an avatar. + + System ID of the avatar you are offering friendship to - - Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) + + + Offer friendship to an avatar. + + System ID of the avatar you are offering friendship to + A message to send with the request - - Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. + + + Terminate a friendship with an avatar + + System ID of the avatar you are terminating the friendship with - - Region does not update agent prim interest lists. Internal debugging option. + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - No collision detection for non-agent objects + + + Change the rights of a friend avatar. + + the of the friend + the new rights to give the friend + This method will implicitly set the rights to those passed in the rights parameter. - - No scripts are ran + + + Use to map a friends location on the grid. + + Friends UUID to find + - - All physics processing is turned off + + + Use to track a friends movement on the grid + + Friends Key - - Region can be seen from other regions on world map. (Legacy world map option?) + + + Ask for a notification of friend's online status + + Friend's UUID - - Region can be seen from mainland on world map. (Legacy world map option?) + + + This handles the asynchronous response of a RequestAvatarNames call. + + + names cooresponding to the the list of IDs sent the the RequestAvatarNames call. - - Agents not explicitly on the access list can visit the region. + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Traffic calculations are not run across entire region, overrides parcel settings. + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Flight is disabled (not currently enforced by the sim) + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Allow direct (p2p) teleporting + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Estate owner has temporarily disabled scripting + + + Populate FriendList with data from the login reply + + true if login was successful + true if login request is requiring a redirect + A string containing the response to the login request + A string containing the reason for the request + A object containing the decoded + reply from the login server - - Restricts the usage of the LSL llPushObject function, applies to whole region. + + Raised when the simulator sends notification one of the members in our friends list comes online - - Deny agents with no payment info on file + + Raised when the simulator sends notification one of the members in our friends list goes offline - - Deny agents with payment info on file + + Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions - - Deny agents who have made a monetary transaction + + Raised when the simulator sends us the names on our friends list - - Parcels within the region may be joined or divided by anyone, not just estate owners/managers. + + Raised when the simulator sends notification another agent is offering us friendship - - Abuse reports sent from within this region are sent to the estate owner defined email. + + Raised when a request we sent to friend another agent is accepted or declined - - Region is Voice Enabled + + Raised when the simulator sends notification one of the members in our friends list has terminated + our friendship - - Removes the ability from parcel owners to set their parcels to show in search. + + Raised when the simulator sends the location of a friend we have + requested map location info for - - Deny agents who have not been age verified from entering the region. + + Contains information on a member of our friends list - + - Region protocol flags + Construct a new instance of the FriendInfoEventArgs class + The FriendInfo - - Nothing special - - - Region supports Server side Appearance + + Get the FriendInfo - - Viewer supports Server side Appearance + + Contains Friend Names - + - Access level for a simulator + Construct a new instance of the FriendNamesEventArgs class + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name - - Unknown or invalid access level + + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name - - Trial accounts allowed + + Sent when another agent requests a friendship with our agent - - PG rating + + + Construct a new instance of the FriendshipOfferedEventArgs class + + The ID of the agent requesting friendship + The name of the agent requesting friendship + The ID of the session, used in accepting or declining the + friendship offer - - Mature rating + + Get the ID of the agent requesting friendship - - Adult rating + + Get the name of the agent requesting friendship - - Simulator is offline + + Get the ID of the session, used in accepting or declining the + friendship offer - - Simulator does not exist + + A response containing the results of our request to form a friendship with another agent - + - + Construct a new instance of the FriendShipResponseEventArgs class + The ID of the agent we requested a friendship with + The name of the agent we requested a friendship with + true if the agent accepted our friendship offer - - A public reference to the client that this Simulator object - is attached to - - - A Unique Cache identifier for this simulator + + Get the ID of the agent we requested a friendship with - - The capabilities for this simulator + + Get the name of the agent we requested a friendship with - - + + true if the agent accepted our friendship offer - - The current version of software this simulator is running + + Contains data sent when a friend terminates a friendship with us - - + + + Construct a new instance of the FrindshipTerminatedEventArgs class + + The ID of the friend who terminated the friendship with us + The name of the friend who terminated the friendship with us - - A 64x64 grid of parcel coloring values. The values stored - in this array are of the type + + Get the ID of the agent that terminated the friendship with us - - + + Get the name of the agent that terminated the friendship with us - - + + + Data sent in response to a request which contains the information to allow us to map the friends location + - - + + + Construct a new instance of the FriendFoundReplyEventArgs class + + The ID of the agent we have requested location information for + The region handle where our friend is located + The simulator local position our friend is located - - + + Get the ID of the agent we have received location information for - - + + Get the region handle where our mapped friend is located - - + + Get the simulator local position where our friend is located - - + + + Avatar profile flags + - - + + + Represents an avatar (other than your own) + - - + + Groups that this avatar is a member of - - + + Positive and negative ratings - - + + Avatar properties including about text, profile URL, image IDs and + publishing settings - - + + Avatar interests including spoken languages, skills, and "want to" + choices - - + + Movement control flags for avatars. Typically not set or used by + clients. To move your avatar, use Client.Self.Movement instead - - + + + Contains the visual parameters describing the deformation of the avatar + - - + + + Appearance version. Value greater than 0 indicates using server side baking + - - + + + Version of the Current Outfit Folder that the appearance is based on + - - + + + Appearance flags. Introduced with server side baking, currently unused. + - - + + + List of current avatar animations + - - + + + Default constructor + - - true if your agent has Estate Manager rights on this region + + First name - - + + Last name - - + + Full name - - + + Active group - - Statistics information for this simulator and the - connection to the simulator, calculated by the simulator itself - and the library + + + Positive and negative ratings + - - The regions Unique ID + + Positive ratings for Behavior - - The physical data center the simulator is located - Known values are: - - Dallas - Chandler - SF - - + + Negative ratings for Behavior - - The CPU Class of the simulator - Most full mainland/estate sims appear to be 5, - Homesteads and Openspace appear to be 501 + + Positive ratings for Appearance - - The number of regions sharing the same CPU as this one - "Full Sims" appear to be 1, Homesteads appear to be 4 + + Negative ratings for Appearance - - The billing product name - Known values are: - - Mainland / Full Region (Sku: 023) - Estate / Full Region (Sku: 024) - Estate / Openspace (Sku: 027) - Estate / Homestead (Sku: 029) - Mainland / Homestead (Sku: 129) (Linden Owned) - Mainland / Linden Homes (Sku: 131) - - + + Positive ratings for Building - - The billing product SKU - Known values are: - - 023 Mainland / Full Region - 024 Estate / Full Region - 027 Estate / Openspace - 029 Estate / Homestead - 129 Mainland / Homestead (Linden Owned) - 131 Linden Homes / Full Region - - + + Negative ratings for Building - - - Flags indicating which protocols this region supports - + + Positive ratings given by this avatar - - The current sequence number for packets sent to this - simulator. Must be Interlocked before modifying. Only - useful for applications manipulating sequence numbers + + Negative ratings given by this avatar - + - A thread-safe dictionary containing avatars in a simulator + Avatar properties including about text, profile URL, image IDs and + publishing settings - - - A thread-safe dictionary containing primitives in a simulator - + + First Life about text - - - Checks simulator parcel map to make sure it has downloaded all data successfully - - true if map is full (contains no 0's) + + First Life image ID - - - Is it safe to send agent updates to this sim - AgentMovementComplete message received - + + - - Used internally to track sim disconnections + + - - Event that is triggered when the simulator successfully - establishes a connection + + - - Whether this sim is currently connected or not. Hooked up - to the property Connected + + - - Coarse locations of avatars in this simulator + + Profile image ID - - AvatarPositions key representing TrackAgent target + + Flags of the profile - - Sequence numbers of packets we've received - (for duplicate checking) + + Web URL for this profile - - Packets we sent out that need ACKs from the simulator + + Should this profile be published on the web - - Sequence number for pause/resume + + Avatar Online Status - - Indicates if UDP connection to the sim is fully established + + Is this a mature profile - + + + + + + + - + Avatar interests including spoken languages, skills, and "want to" + choices - Reference to the GridClient object - IPEndPoint of the simulator - handle of the simulator - + + Languages profile field + + + + + + + + + + + + + + - Called when this Simulator object is being destroyed + Level of Detail mesh - + - Attempt to connect to this simulator + Represents an Animation - Whether to move our agent in to this sim or not - True if the connection succeeded or connection status is - unknown, false if there was a failure - + + Default Constructor + + - Initiates connection to the simulator + Construct an Asset object of type Animation - Should we block until ack for this packet is recieved + Asset type + A unique specific to this asset + A byte array containing the raw asset data - + + Override the base classes AssetType + + + The event subscribers. null if no subcribers + + + Raises the LandPatchReceived event + A LandPatchReceivedEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + - Disconnect from this simulator + Default constructor + - + + Raised when the simulator responds sends + + + Simulator from that sent tha data + + + Sim coordinate of the patch + + + Sim coordinate of the patch + + + Size of tha patch + + + Heightmap for the patch + + - Instructs the simulator to stop sending update (and possibly other) packets + Registers, unregisters, and fires events generated by incoming packets - + + Reference to the GridClient object + + - Instructs the simulator to resume sending update packets (unpause) + Default constructor + - + - Retrieve the terrain height at a given coordinate + Register an event handler - Sim X coordinate, valid range is from 0 to 255 - Sim Y coordinate, valid range is from 0 to 255 - The terrain height at the given point if the - lookup was successful, otherwise 0.0f - True if the lookup was successful, otherwise false + Use PacketType.Default to fire this event on every + incoming packet + Packet type to register the handler for + Callback to be fired + True if this callback should be ran + asynchronously, false to run it synchronous - + - Sends a packet + Unregister an event handler - Packet to be sent + Packet type to unregister the handler for + Callback to be unregistered - + - + Fire the events registered for this packet type + Incoming packet type + Incoming packet + Simulator this packet was received from - + - Returns Simulator Name as a String + Object that is passed to worker threads in the ThreadPool for + firing packet callbacks - - + + Callback to fire for this packet + + + Reference to the simulator that this packet came from + + + The packet that needs to be processed + + - + Registers, unregisters, and fires events generated by the Capabilities + event queue - - + + Reference to the GridClient object + + - + Default constructor - - + Reference to the GridClient object - + - Sends out pending acknowledgements + Register an new event handler for a capabilities event sent via the EventQueue - Number of ACKs sent + Use String.Empty to fire this event on every CAPS event + Capability event name to register the + handler for + Callback to fire - + - Resend unacknowledged packets + Unregister a previously registered capabilities handler + Capability event name unregister the + handler for + Callback to unregister - + - Provides access to an internal thread-safe dictionary containing parcel - information found in this simulator + Fire the events registered for this event type synchronously + Capability name + Decoded event body + Reference to the simulator that + generated this event - + - Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + Fire the events registered for this event type asynchronously + Capability name + Decoded event body + Reference to the simulator that + generated this event - - The IP address and port of the server + + + Object that is passed to worker threads in the ThreadPool for + firing CAPS callbacks + - - Whether there is a working connection to the simulator or - not + + Callback to fire for this packet - - Coarse locations of avatars in this simulator + + Name of the CAPS event - - AvatarPositions key representing TrackAgent target + + Strongly typed decoded data - - Indicates if UDP connection to the sim is fully established + + Reference to the simulator that generated this event - + - Simulator Statistics + Represents an LSL Text object containing a string of UTF encoded characters - - Total number of packets sent by this simulator to this agent + + A string of characters represting the script contents - - Total number of packets received by this simulator to this agent - - - Total number of bytes sent by this simulator to this agent - - - Total number of bytes received by this simulator to this agent - - - Time in seconds agent has been connected to simulator - - - Total number of packets that have been resent - - - Total number of resent packets recieved - - - Total number of pings sent to this simulator by this agent - - - Total number of ping replies sent to this agent by this simulator + + Initializes a new AssetScriptText object - + - Incoming bytes per second + Initializes a new AssetScriptText object with parameters - It would be nice to have this claculated on the fly, but - this is far, far easier + A unique specific to this asset + A byte array containing the raw asset data - + - Outgoing bytes per second + Encode a string containing the scripts contents into byte encoded AssetData - It would be nice to have this claculated on the fly, but - this is far, far easier - - - Time last ping was sent - - - ID of last Ping sent - - - - - - - - - Current time dilation of this simulator - - - Current Frames per second of simulator - - - Current Physics frames per second of simulator - - - - - - - - - - - - - - - - - - - - - - - - - - - Total number of objects Simulator is simulating - - - Total number of Active (Scripted) objects running - - - Number of agents currently in this simulator - - - Number of agents in neighbor simulators - - Number of Active scripts running in this simulator + + + Decode a byte array containing the scripts contents into a string + + true if decoding is successful - - + + Override the base classes AssetType - - + + + + - + - - Number of downloads pending - - - Number of uploads pending - - + - + - - Number of local uploads pending - - - Unacknowledged bytes in queue + + + Thrown when a packet could not be successfully deserialized + - + - Simulator handle + Default constructor - + - Number of GridClients using this datapool + Constructor that takes an additional error message + An error message to attach to this exception - + - Time that the last client disconnected from the simulator + The header of a message template packet. Holds packet flags, sequence + number, packet ID, and any ACKs that will be appended at the end of + the packet - + - The cache of prims used and unused in this simulator + Convert the AckList to a byte array, used for packet serializing + Reference to the target byte array + Beginning position to start writing to in the byte + array, will be updated with the ending position of the ACK list - + - Shared parcel info only when POOL_PARCEL_DATA == true + + + + + - + + + + - - + + + A block of data in a packet. Packets are composed of one or more blocks, + each block containing one or more fields + - - + + + Create a block from a byte array + + Byte array containing the serialized block + Starting position of the block in the byte array. + This will point to the data after the end of the block when the + call returns - - + + + Serialize this block into a byte array + + Byte array to serialize this block into + Starting position in the byte array to serialize to. + This will point to the position directly after the end of the + serialized block when the call returns - - + + Current length of the data in this packet - - + + A generic value, not an actual packet type - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - - - - - + + - - - - + + - - + + - - + + - - + + - - + + - - - - - - + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - - + + - - - - + + - - - - - - + + - - - - - - + + - - - - - + + - - - - + + - - No report + + - - Unknown report type + + - - Bug report + + - - Complaint report + + - - Customer service report + + - - - Bitflag field for ObjectUpdateCompressed data blocks, describing - which options are present for each object - + + - - Unknown + + - - Whether the object has a TreeSpecies + + - - Whether the object has floating text ala llSetText + + - - Whether the object has an active particle system + + - - Whether the object has sound attached to it + + - - Whether the object is attached to a root object or not + + - - Whether the object has texture animation settings + + - - Whether the object has an angular velocity + + - - Whether the object has a name value pairs string - - - Whether the object has a Media URL set + + - - - Specific Flags for MultipleObjectUpdate requests - + + - - None + + - - Change position of prims + + - - Change rotation of prims + + - - Change size of prims + + - - Perform operation on link set + + - - Scale prims uniformly, same as selecing ctrl+shift in the - viewer. Used in conjunction with Scale + + - - - Special values in PayPriceReply. If the price is not one of these - literal value of the price should be use - + + - - - Indicates that this pay option should be hidden - + + - - - Indicates that this pay option should have the default value - + + - - - Contains the variables sent in an object update packet for objects. - Used to track position and movement of prims and avatars - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - Handles all network traffic related to prims and avatar positions and - movement. - + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the ObjectProperties Event - A ObjectPropertiesEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the ObjectPropertiesUpdated Event - A ObjectPropertiesUpdatedEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the ObjectPropertiesFamily Event - A ObjectPropertiesFamilyEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the AvatarUpdate Event - A AvatarUpdateEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the ObjectDataBlockUpdate Event - A ObjectDataBlockUpdateEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the KillObject Event - A KillObjectEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the KillObjects Event - A KillObjectsEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the AvatarSitChanged Event - A AvatarSitChangedEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the PayPriceReply Event - A PayPriceReplyEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the PhysicsProperties Event - A PhysicsPropertiesEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - Reference to the GridClient object + + - - Does periodic dead reckoning calculation to convert - velocity and acceleration to new positions for objects + + - - - Construct a new instance of the ObjectManager class - - A reference to the instance + + - - - Request information for a single object from a - you are currently connected to - - The the object is located - The Local ID of the object + + - - - Request information for multiple objects contained in - the same simulator - - The the objects are located - An array containing the Local IDs of the objects + + - - - Attempt to purchase an original object, a copy, or the contents of - an object - - The the object is located - The Local ID of the object - Whether the original, a copy, or the object - contents are on sale. This is used for verification, if the this - sale type is not valid for the object the purchase will fail - Price of the object. This is used for - verification, if it does not match the actual price the purchase - will fail - Group ID that will be associated with the new - purchase - Inventory folder UUID where the object or objects - purchased should be placed - - - BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, - 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); - - + + - - - Request prices that should be displayed in pay dialog. This will triggger the simulator - to send us back a PayPriceReply which can be handled by OnPayPriceReply event - - The the object is located - The ID of the object - The result is raised in the event + + - - - Select a single object. This will cause the to send us - an which will raise the event - - The the object is located - The Local ID of the object - + + - - - Select a single object. This will cause the to send us - an which will raise the event - - The the object is located - The Local ID of the object - if true, a call to is - made immediately following the request - + + - - - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - Should objects be deselected immediately after selection - + + - - - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - + + - - - Update the properties of an object - - The the object is located - The Local ID of the object - true to turn the objects physical property on - true to turn the objects temporary property on - true to turn the objects phantom property on - true to turn the objects cast shadows property on + + - - - Update the properties of an object - - The the object is located - The Local ID of the object - true to turn the objects physical property on - true to turn the objects temporary property on - true to turn the objects phantom property on - true to turn the objects cast shadows property on - Type of the represetnation prim will have in the physics engine - Density - normal value 1000 - Friction - normal value 0.6 - Restitution - standard value 0.5 - Gravity multiplier - standar value 1.0 + + - - - Sets the sale properties of a single object - - The the object is located - The Local ID of the object - One of the options from the enum - The price of the object + + - - - Sets the sale properties of multiple objects - - The the objects are located - An array containing the Local IDs of the objects - One of the options from the enum - The price of the object + + - - - Deselect a single object - - The the object is located - The Local ID of the object + + - - - Deselect multiple objects. - - The the objects are located - An array containing the Local IDs of the objects + + - - - Perform a click action on an object - - The the object is located - The Local ID of the object + + - - - Perform a click action (Grab) on a single object - - The the object is located - The Local ID of the object - The texture coordinates to touch - The surface coordinates to touch - The face of the position to touch - The region coordinates of the position to touch - The surface normal of the position to touch (A normal is a vector perpindicular to the surface) - The surface binormal of the position to touch (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space + + - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties + + - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Specify the - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties + + - - - Rez a Linden tree - - A reference to the object where the object resides - The size of the tree - The rotation of the tree - The position of the tree - The Type of tree - The of the group to set the tree to, - or UUID.Zero if no group is to be set - true to use the "new" Linden trees, false to use the old + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - Rez grass and ground cover - - A reference to the object where the object resides - The size of the grass - The rotation of the grass - The position of the grass - The type of grass from the enum - The of the group to set the tree to, - or UUID.Zero if no group is to be set + + - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply + + - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply - A media URL (not used) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - Set the Light data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + - - - Set the flexible data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + - - - Set the sculptie texture and data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + - - - Unset additional primitive parameters on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The extra parameters to set + + - - - Link multiple prims into a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to link - The last object in the array will be the root object of the linkset TODO: Is this true? + + - - - Delink/Unlink multiple prims from a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to delink + + - - - Change the rotation of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation of the object + + - - - Set the name of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new name of the object + + - - - Set the name of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the name of - An array which contains the new names of the objects + + - - - Set the description of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new description of the object + + - - - Set the descriptions of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the description of - An array which contains the new descriptions of the objects + + - - - Attach an object to this avatar - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The point on the avatar the object will be attached - The rotation of the attached object + + - - - Drop an attached object from this avatar - - A reference to the - object where the objects reside. This will always be the simulator the avatar is currently in - - The object's ID which is local to the simulator the object is in + + - - - Detach an object from yourself - - A reference to the - object where the objects reside - - This will always be the simulator the avatar is currently in - - An array which contains the IDs of the objects to detach + + - - - Change the position of an object, Will change position of entire linkset - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object + + - - - Change the position of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - if true, will change position of (this) child prim only, not entire linkset + + - - - Change the Scale (size) of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change scale of this prim only, not entire linkset - True to resize prims uniformly + + - - - Change the Rotation of an object that is either a child or a whole linkset - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change rotation of this prim only, not entire linkset + + - - - Send a Multiple Object Update packet to change the size, scale or rotation of a primitive - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation, size, or position of the target object - The flags from the Enum + + - - - Deed an object (prim) to a group, Object must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The of the group to deed the object to + + - - - Deed multiple objects (prims) to a group, Objects must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - An array which contains the IDs of the objects to deed - The of the group to deed the object to + + - - - Set the permissions on multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the permissions on - The new Who mask to set - Which permission to modify - The new state of permission + + - - - Request additional properties for an object - - A reference to the object where the object resides - + + - - - Request additional properties for an object - - A reference to the object where the object resides - Absolute UUID of the object - Whether to require server acknowledgement of this request + + - - - Set the ownership of a list of objects to the specified group - - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the group id on - The Groups ID + + - - - Update current URL of the previously set prim media - - UUID of the prim - Set current URL to this - Prim face number - Simulator in which prim is located + + - - - Set object media - - UUID of the prim - Array the length of prims number of faces. Null on face indexes where there is - no media, on faces which contain the media - Simulatior in which prim is located + + - - - Retrieve information about object media - - UUID of the primitive - Simulator where prim is located - Call this callback when done + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - - A terse object update, used when a transformation matrix or - velocity/acceleration for an object changes but nothing else - (scale/position/rotation/acceleration/velocity) - - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - - - - - - + + - - - Setup construction data for a basic primitive shape - - Primitive shape to construct - Construction data that can be plugged into a + + - - - - - - - - + + - - - - - - + + - - - Set the Shape data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - Data describing the prim shape + + - - - Set the Material data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new material of the object + + - - - - - - - - + + - - - - - - - - - + + - - - - - - - - + + - - Raised when the simulator sends us data containing - A , Foliage or Attachment - - + + - - Raised when the simulator sends us data containing - additional information - - + + - - Raised when the simulator sends us data containing - Primitive.ObjectProperties for an object we are currently tracking + + - - Raised when the simulator sends us data containing - additional and details - + + - - Raised when the simulator sends us data containing - updated information for an + + - - Raised when the simulator sends us data containing - and movement changes + + - - Raised when the simulator sends us data containing - updates to an Objects DataBlock + + - - Raised when the simulator informs us an - or is no longer within view + + - - Raised when the simulator informs us when a group of - or is no longer within view + + - - Raised when the simulator sends us data containing - updated sit information for our + + - - Raised when the simulator sends us data containing - purchase price information for a + + - - Raised when the simulator sends us data containing - additional information - - + + - - - Callback for getting object media data via CAP - - Indicates if the operation was succesfull - Object media version string - Array indexed on prim face of media entry data + + - - Provides data for the event - The event occurs when the simulator sends - an containing a Primitive, Foliage or Attachment data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or - if an Avatar crosses the border into a new simulator and returns to the current simulator - - - The following code example uses the , , and - properties to display new Primitives and Attachments on the window. - - // Subscribe to the event that gives us prim and foliage information - Client.Objects.ObjectUpdate += Objects_ObjectUpdate; - - - private void Objects_ObjectUpdate(object sender, PrimEventArgs e) - { - Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); - } - - - - - + + + + + + + + - - - Construct a new instance of the PrimEventArgs class - - The simulator the object originated from - The Primitive - The simulator time dilation - The prim was not in the dictionary before this update - true if the primitive represents an attachment to an agent + + - - Get the simulator the originated from + + - - Get the details + + - - true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) + + - - true if the is attached to an + + - - Get the simulator Time Dilation + + - - Provides data for the event - The event occurs when the simulator sends - an containing Avatar data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator - - - The following code example uses the property to make a request for the top picks - using the method in the class to display the names - of our own agents picks listings on the window. - - // subscribe to the AvatarUpdate event to get our information - Client.Objects.AvatarUpdate += Objects_AvatarUpdate; - Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; - - private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) - { - // we only want our own data - if (e.Avatar.LocalID == Client.Self.LocalID) - { - // Unsubscribe from the avatar update event to prevent a loop - // where we continually request the picks every time we get an update for ourselves - Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; - // make the top picks request through AvatarManager - Client.Avatars.RequestAvatarPicks(e.Avatar.ID); - } - } - - private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) - { - // we'll unsubscribe from the AvatarPicksReply event since we now have the data - // we were looking for - Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; - // loop through the dictionary and extract the names of the top picks from our profile - foreach (var pickName in e.Picks.Values) - { - Console.WriteLine(pickName); - } - } - - - - + + - - - Construct a new instance of the AvatarUpdateEventArgs class - - The simulator the packet originated from - The data - The simulator time dilation - The avatar was not in the dictionary before this update + + - - Get the simulator the object originated from + + - - Get the data + + - - Get the simulator time dilation + + - - true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) + + - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment data - The event is also raised when a request is - made. - - - The following code example uses the , and - - properties to display new attachments and send a request for additional properties containing the name of the - attachment then display it on the window. - - // Subscribe to the event that provides additional primitive details - Client.Objects.ObjectProperties += Objects_ObjectProperties; - - // handle the properties data that arrives - private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) - { - Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); - } - - + + - - - Construct a new instance of the ObjectPropertiesEventArgs class - - The simulator the object is located - The primitive Properties + + - - Get the simulator the object is located + + - - Get the primitive properties + + - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive or Foliage data that is currently - being tracked in the dictionary - The event is also raised when a request is - made and is enabled - + + - - - Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class - - The simulator the object is located - The Primitive - The primitive Properties + + - - Get the primitive details + + - - Provides additional primitive data, permissions and sale info for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment. This includes - Permissions, Sale info, and other basic details on an object - The event is also raised when a request is - made, the viewer equivalent is hovering the mouse cursor over an object - + + - - Get the simulator the object is located + + - - + + - - + + - - Provides primitive data containing updated location, velocity, rotation, textures for the event - The event occurs when the simulator sends updated location, velocity, rotation, etc - + + - - Get the simulator the object is located + + - - Get the primitive details + + - - + + - - + + - - - - + + - - Get the simulator the object is located + + - - Get the primitive details + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event + + - - Get the simulator the object is located + + - - The LocalID of the object + + - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event + + - - Get the simulator the object is located + + - - The LocalID of the object + + - - - Provides updates sit position data - + + - - Get the simulator the object is located + + - - + + - - + + - - + + - - - - + + - - Get the simulator the object is located + + - - + + - - + + - - + + - - - Indicates if the operation was successful - + + - - - Media version string - + + - - - Array of media entries indexed by face number - + + - - - Set when simulator sends us infomation on primitive's physical properties - + + - - Simulator where the message originated + + - - Updated physical properties + + - - - Constructor - - Simulator where the message originated - Updated physical properties + + - - - Exception class to identify inventory exceptions - + + - - - Responsible for maintaining inventory structure. Inventory constructs nodes - and manages node children as is necessary to maintain a coherant hirarchy. - Other classes should not manipulate or create InventoryNodes explicitly. When - A node's parent changes (when a folder is moved, for example) simply pass - Inventory the updated InventoryFolder and it will make the appropriate changes - to its internal representation. - + + - - The event subscribers, null of no subscribers + + - - Raises the InventoryObjectUpdated Event - A InventoryObjectUpdatedEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the InventoryObjectRemoved Event - A InventoryObjectRemovedEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the InventoryObjectAdded Event - A InventoryObjectAddedEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - - Returns the contents of the specified folder - - A folder's UUID - The contents of the folder corresponding to folder - When folder does not exist in the inventory + + - - - Updates the state of the InventoryNode and inventory data structure that - is responsible for the InventoryObject. If the item was previously not added to inventory, - it adds the item, and updates structure accordingly. If it was, it updates the - InventoryNode, changing the parent node if item.parentUUID does - not match node.Parent.Data.UUID. - - You can not set the inventory root folder using this method - - The InventoryObject to store + + - - - Removes the InventoryObject and all related node data from Inventory. - - The InventoryObject to remove. + + - - - Used to find out if Inventory contains the InventoryObject - specified by uuid. - - The UUID to check. - true if inventory contains uuid, false otherwise + + - - - Saves the current inventory structure to a cache file - - Name of the cache file to save to + + - - - Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. - - Name of the cache file to load - The number of inventory items sucessfully reconstructed into the inventory node tree + + - - Raised when the simulator sends us data containing - ... + + - - Raised when the simulator sends us data containing - ... + + - - Raised when the simulator sends us data containing - ... + + - - - The root folder of this avatars inventory - + + - - - The default shared library folder - + + - - - The root node of the avatars inventory - + + - - - The root node of the default shared library - + + - - - By using the bracket operator on this class, the program can get the - InventoryObject designated by the specified uuid. If the value for the corresponding - UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). - If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), - the uuid parameter is ignored. - - The UUID of the InventoryObject to get or set, ignored if set to non-null value. - The InventoryObject corresponding to uuid. + + - - - The InternalDictionary class is used through the library for storing key/value pairs. - It is intended to be a replacement for the generic Dictionary class and should - be used in its place. It contains several methods for allowing access to the data from - outside the library that are read only and thread safe. - - - Key - Value + + - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking - on this member + + - - - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. - - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); - - + + - - - Initializes a new instance of the Class - with the specified key/value, has its initial valies copied from the specified - - - - to copy initial values from - - - // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. - // populates with copied values from example KeyNameCache Dictionary. - - // create source dictionary - Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); - KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); - KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); - - // Initialize new dictionary. - public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); - - + + - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); - - + + - - - Try to get entry from with specified key - - Key to use for lookup - Value returned - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - + + - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - + + - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - + + - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - + + - - Perform an on each entry in an - to perform - - - // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. - Client.Network.CurrentSim.ObjectsPrimitives.ForEach( - delegate(Primitive prim) - { - if (prim.Text != null) - { - Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", - prim.PropertiesFamily.Name, prim.ID, prim.Text); - } - }); - - + + - - Perform an on each key of an - to perform + + - - - Perform an on each KeyValuePair of an - - to perform + + - - Check if Key exists in Dictionary - Key to check for - if found, otherwise + + - - Check if Value exists in Dictionary - Value to check for - if found, otherwise + + - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - - The key - The value + + - - - Removes the specified key, dictionary locking is not performed - - The key. - if successful, otherwise + + - - - Gets the number of Key/Value pairs contained in the - + + - - - Indexer for the dictionary - - The key - The value + + - - - Constants for the archiving module - + + - - - Path for region settings. - + + + + + - - - The location of the archive control file - + + - - - Path for the assets held in an archive - + + - - - Path for the prims file - + + - - - Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. - + + - - - Path for region settings. - + + - - - The character the separates the uuid from extension information in an archived asset filename - + + - - - Extensions used for asset types in the archive - + + - - X position of this patch + + - - Y position of this patch + + - - A 16x16 array of floats holding decompressed layer data + + - - - Creates a LayerData packet for compressed land data given a full - simulator heightmap and an array of indices of patches to compress - - A 256 * 256 array of floating point values - specifying the height at each meter in the simulator - Array of indexes in the 16x16 grid of patches - for this simulator. For example if 1 and 17 are specified, patches - x=1,y=0 and x=1,y=1 are sent - + + - - - Add a patch of terrain to a BitPacker - - BitPacker to write the patch to - Heightmap of the simulator, must be a 256 * - 256 float array - X offset of the patch to create, valid values are - from 0 to 15 - Y offset of the patch to create, valid values are - from 0 to 15 + + - - - pre-defined built in sounds - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - coins + + - - cash register bell + + - - + + - - + + - - rubber + + - - plastic + + - - flesh + + - - wood splintering? + + - - glass break + + - - metal clunk + + - - whoosh + + - - shake + + - - + + - - ding + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - A dictionary containing all pre-defined sounds - - A dictionary containing the pre-defined sounds, - where the key is the sounds ID, and the value is a string - containing a name to identify the purpose of the sound + + - - - - + + - - - - + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - - Checks the instance back into the object pool - + + - - - Returns an instance of the class that has been checked out of the Object Pool. - + + - - - Sent to the client to indicate a teleport request has completed - + + - - The of the agent + + - - + + - - The simulators handle the agent teleported to + + - - A Uri which contains a list of Capabilities the simulator supports + + - - Indicates the level of access required - to access the simulator, or the content rating, or the simulators - map status + + - - The IP Address of the simulator + + - - The UDP Port the simulator will listen for UDP traffic on + + - - Status flags indicating the state of the Agent upon arrival, Flying, etc. + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. - + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A message sent to the client which indicates a teleport request has failed - and contains some information on why it failed - + + - - + + - - A string key of the reason the teleport failed e.g. CouldntTPCloser - Which could be used to look up a value in a dictionary or enum + + - - The of the Agent + + - - A string human readable message containing the reason - An example: Could not teleport closer to destination + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Contains a list of prim owner information for a specific parcel in a simulator - - - A Simulator will always return at least 1 entry - If agent does not have proper permission the OwnerID will be UUID.Zero - If agent does not have proper permission OR there are no primitives on parcel - the DataBlocksExtended map will not be sent from the simulator - + + - - An Array of objects + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Prim ownership information for a specified owner on a single parcel - + + - - The of the prim owner, - UUID.Zero if agent has no permission to view prim owner information + + - - The total number of prims + + - - True if the OwnerID is a + + - - True if the owner is online - This is no longer used by the LL Simulators + + - - The date the most recent prim was rezzed + + + + + - - - The details of a single parcel in a region, also contains some regionwide globals - + + - - Simulator-local ID of this parcel + + - - Maximum corner of the axis-aligned bounding box for this - parcel + + - - Minimum corner of the axis-aligned bounding box for this - parcel + + - - Total parcel land area + + - - + + - - Key of authorized buyer + + - - Bitmap describing land layout in 4x4m squares across the - entire region + + - - + + - - Date land was claimed + + - - Appears to always be zero + + - - Parcel Description + + - - + + - - + + - - Total number of primitives owned by the parcel group on - this parcel + + - - Whether the land is deeded to a group or not + + - - + + - - Maximum number of primitives this parcel supports + + - - The Asset UUID of the Texture which when applied to a - primitive will display the media + + - - A URL which points to any Quicktime supported media type + + - - A byte, if 0x1 viewer should auto scale media to fit object + + - - URL For Music Stream + + - - Parcel Name + + - - Autoreturn value in minutes for others' objects + + - - + + - - Total number of other primitives on this parcel + + - - UUID of the owner of this parcel + + - - Total number of primitives owned by the parcel owner on - this parcel + + - - + + - - How long is pass valid for + + - - Price for a temporary pass + + - - + + - - Disallows people outside the parcel from being able to see in + + - - + + - - + + - - + + - - True if the region denies access to age unverified users + + - - + + - - This field is no longer used + + - - The result of a request for parcel properties + + - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it + + - - - Number of primitives your avatar is currently - selecting and sitting on in this parcel - + + - - + + - - - A number which increments by 1, starting at 0 for each ParcelProperties request. - Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. - a Negative number indicates the action in has occurred. - + + - - Maximum primitives across the entire simulator + + - - Total primitives across the entire simulator + + - - + + - - Key of parcel snapshot + + - - Parcel ownership status + + - - Total number of primitives on this parcel + + - - + + - - + + - - A description of the media + + - - An Integer which represents the height of the media + + - - An integer which represents the width of the media + + - - A boolean, if true the viewer should loop the media + + - - A string which contains the mime type of the media + + - - true to obscure (hide) media url + + - - true to obscure (hide) music url + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - A message sent from the viewer to the simulator to updated a specific parcels settings + + - - The of the agent authorized to purchase this - parcel of land or a NULL if the sale is authorized to anyone + + - - true to enable auto scaling of the parcel media + + - - The category of this parcel used when search is enabled to restrict - search results + + - - A string containing the description to set + + - - The of the which allows for additional - powers and restrictions. + + - - The which specifies how avatars which teleport - to this parcel are handled + + - - The LocalID of the parcel to update settings on + + - - A string containing the description of the media which can be played - to visitors + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - Base class used for the RemoteParcelRequest message + + - - - A message sent from the viewer to the simulator to request information - on a remote parcel - + + - - Local sim position of the parcel we are looking up + + - - Region handle of the parcel we are looking up + + - - Region of the parcel we are looking up + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A message sent from the simulator to the viewer in response to a - which will contain parcel information - + + - - The grid-wide unique parcel ID + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A message containing a request for a remote parcel from a viewer, or a response - from the simulator to that request - + + - - The request or response details block + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A message sent from the simulator to an agent which contains - the groups the agent is in - + + - - The Agent receiving the message + + - - An array containing information - for each the agent is a member of + + - - An array containing information - for each the agent is a member of + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - Group Details specific to the agent + + - - true of the agent accepts group notices + + - - The agents tier contribution to the group + + - - The Groups + + - - The of the groups insignia + + - - The name of the group + + - - The aggregate permissions the agent has in the group for all roles the agent - is assigned + + - - An optional block containing additional agent specific information + + - - true of the agent allows this group to be - listed in their profile + + - - - A message sent from the viewer to the simulator which - specifies the language and permissions for others to detect - the language specified - + + - - A string containng the default language - to use for the agent + + - - true of others are allowed to - know the language setting + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - An EventQueue message sent from the simulator to an agent when the agent - leaves a group - + + - - - An Array containing the AgentID and GroupID - + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - An object containing the Agents UUID, and the Groups UUID + + - - The ID of the Agent leaving the group + + - - The GroupID the Agent is leaving + + - - Base class for Asset uploads/results via Capabilities + + - - - The request state - + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A message sent from the viewer to the simulator to request a temporary upload capability - which allows an asset to be uploaded - + + - - The Capability URL sent by the simulator to upload the baked texture to + + - - - A message sent from the simulator that will inform the agent the upload is complete, - and the UUID of the uploaded asset - + + - - The uploaded texture asset ID + + - - - A message sent from the viewer to the simulator to request a temporary - capability URI which is used to upload an agents baked appearance textures - + + - - Object containing request or response + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A message sent from the simulator which indicates the minimum version required for - using voice chat - + + - - Major Version Required + + - - Minor version required + + - - The name of the region sending the version requrements + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A message sent from the simulator to the viewer containing the - voice server URI - + + + + + - - The Parcel ID which the voice server URI applies + + - - The name of the region + + - - A uri containing the server/channel information - which the viewer can utilize to participate in voice conversations + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - - + + - - + + - - + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A message sent by the viewer to the simulator to request a temporary - capability for a script contained with in a Tasks inventory to be updated - + + - - Object containing request or response + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A message sent from the simulator to the viewer to indicate - a Tasks scripts status. - + + - - The Asset ID of the script + + - - True of the script is compiled/ran using the mono interpreter, false indicates it - uses the older less efficient lsl2 interprter + + - - The Task containing the scripts + + - - true of the script is in a running state + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A message containing the request/response used for updating a gesture - contained with an agents inventory - + + - - Object containing request or response + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A message request/response which is used to update a notecard contained within - a tasks inventory - + + - - The of the Task containing the notecard asset to update + + - - The notecard assets contained in the tasks inventory + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability - which is used to update an asset in an agents inventory - + + - - - The Notecard AssetID to replace - + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A message containing the request/response used for updating a notecard - contained with an agents inventory - + + - - Object containing request or response + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A message sent from the simulator to the viewer which indicates - an error occurred while attempting to update a script in an agents or tasks - inventory - + + - - true of the script was successfully compiled by the simulator + + - - A string containing the error which occured while trying - to update the script + + - - A new AssetID assigned to the script + + - - - A message sent from the viewer to the simulator - requesting the update of an existing script contained - within a tasks inventory - + + - - if true, set the script mode to running + + - - The scripts InventoryItem ItemID to update + + - - A lowercase string containing either "mono" or "lsl2" which - specifies the script is compiled and ran on the mono runtime, or the older - lsl runtime + + - - The tasks which contains the script to update + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A message containing either the request or response used in updating a script inside - a tasks inventory - + + - - Object containing request or response + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Response from the simulator to notify the viewer the upload is completed, and - the UUID of the script asset and its compiled status - + + - - The uploaded texture asset ID + + - - true of the script was compiled successfully + + - - - A message sent from a viewer to the simulator requesting a temporary uploader capability - used to update a script contained in an agents inventory - + + - - The existing asset if of the script in the agents inventory to replace + + - - The language of the script - Defaults to lsl version 2, "mono" might be another possible option + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A message containing either the request or response used in updating a script inside - an agents inventory - + + - - Object containing request or response + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - Base class for Map Layers via Capabilities + + - - + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Sent by an agent to the capabilities server to request map layers - + + - - - A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates - + + - - An array containing LayerData items + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - An object containing map location details - + + - - The Asset ID of the regions tile overlay + + - - The grid location of the southern border of the map tile + + - - The grid location of the western border of the map tile + + - - The grid location of the eastern border of the map tile + + - - The grid location of the northern border of the map tile + + - - Object containing request or response + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - New as of 1.23 RC1, no details yet. - + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - A string containing the method used + + - - - A request sent from an agent to the Simulator to begin a new conference. - Contains a list of Agents which will be included in the conference - + + - - An array containing the of the agents invited to this conference + + - - The conferences Session ID + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A moderation request sent from a conference moderator - Contains an agent and an optional action to take - + + - - The Session ID + + - - + + - - A list containing Key/Value pairs, known valid values: - key: text value: true/false - allow/disallow specified agents ability to use text in session - key: voice value: true/false - allow/disallow specified agents ability to use voice in session - - "text" or "voice" + + - - + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - A message sent from the agent to the simulator which tells the - simulator we've accepted a conference invitation - + + - - The conference SessionID + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - Key of sender + + - - Name of sender + + - - Key of destination avatar + + - - ID of originating estate + + - - Key of originating region + + - - Coordinates in originating region + + - - Instant message type + + - - Group IM session toggle + + - - Key of IM session, for Group Messages, the groups UUID + + - - Timestamp of the instant message + + - - Instant message text + + - - Whether this message is held for offline avatars + + - - Context specific packed data + + - - Is this invitation for voice group/conference chat + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Sent from the simulator to the viewer. - - When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including - a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate - this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" - - During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are - excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with - the string "ENTER" or "LEAVE" respectively. - + + + + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - An EventQueue message sent when the agent is forcibly removed from a chatterbox session - + + - - - A string containing the reason the agent was removed - + + - - - The ChatterBoxSession's SessionID - + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - - + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Event Queue message describing physics engine attributes of a list of objects - Sim sends these when object is selected - + + - - Array with the list of physics properties + + - - - Serializes the message - - Serialized OSD + + - - - Deseializes the message - - Incoming data to deserialize + + - - - A message sent from the viewer to the simulator which - specifies that the user has changed current URL - of the specific media on a prim face - + + - - - New URL - + + - - - Prim UUID where navigation occured - + + - - - Face index - + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - Base class used for the ObjectMedia message + + - - - Message used to retrive prim media data - + + - - - Prim UUID - + + - - - Requested operation, either GET or UPDATE - + + - - - Serialize object - - Serialized object as OSDMap + + + + + + + + + + + + + + - - - Deserialize the message - - An containing the data + + - - - Message used to update prim media data - + + - - - Prim UUID - + + - - - Array of media entries indexed by face number - + + - - - Media version string - + + - - - Serialize object - - Serialized object as OSDMap + + - - - Deserialize the message - - An containing the data + + - - - Message used to update prim media data - + + - - - Prim UUID - + + - - - Array of media entries indexed by face number - + + - - - Requested operation, either GET or UPDATE - + + - - - Serialize object - - Serialized object as OSDMap + + - - - Deserialize the message - - An containing the data + + - - - Message for setting or getting per face MediaEntry - + + - - The request or response details block + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - Details about object resource usage + + - - Object UUID + + - - Object name + + - - Indicates if object is group owned + + - - Locatio of the object + + - - Object owner + + - - Resource usage, keys are resource names, values are resource usage for that specific resource + + - - - Deserializes object from OSD - - An containing the data + + - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data + + - - Details about parcel resource usage + + - - Parcel UUID + + - - Parcel local ID + + - - Parcel name + + - - Indicates if parcel is group owned + + - - Parcel owner + + - - Array of containing per object resource usage + + - - - Deserializes object from OSD - - An containing the data + + - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data + + - - Resource usage base class, both agent and parcel resource - usage contains summary information + + - - Summary of available resources, keys are resource names, - values are resource usage for that specific resource + + - - Summary resource usage, keys are resource names, - values are resource usage for that specific resource + + - - - Serializes object - - serialized data + + - - - Deserializes object from OSD - - An containing the data + + - - Agent resource usage + + - - Per attachment point object resource usage + + - - - Deserializes object from OSD - - An containing the data + + - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data + + - - - Detects which class handles deserialization of this message - - An containing the data - Object capable of decoding this message + + + + + - - Request message for parcel resource usage + + - - UUID of the parel to request resource usage info + + - - - Serializes object - - serialized data + + - - - Deserializes object from OSD - - An containing the data + + - - Response message for parcel resource usage + + - - URL where parcel resource usage details can be retrieved + + - - URL where parcel resource usage summary can be retrieved + + - - - Serializes object - - serialized data + + - - - Deserializes object from OSD - - An containing the data + + - - - Detects which class handles deserialization of this message - - An containing the data - Object capable of decoding this message + + - - Parcel resource usage + + - - Array of containing per percal resource usage + + - - - Deserializes object from OSD - - An containing the data + + - - - Reply to request for bunch if display names - + + - - Current display name + + - - Following UUIDs failed to return a valid display name + + - - - Serializes the message - - OSD containting the messaage + + - - - Message sent when requesting change of the display name - + + - - Current display name + + - - Desired new display name + + - - - Serializes the message - - OSD containting the messaage + + - - - Message recieved in response to request to change display name - + + - - New display name + + - - String message indicating the result of the operation + + - - Numerical code of the result, 200 indicates success + + - - - Serializes the message - - OSD containting the messaage + + - - - Message recieved when someone nearby changes their display name - + + - - Previous display name, empty string if default + + - - New display name + + - - - Serializes the message - - OSD containting the messaage + + - - - Provides helper methods for parallelizing loops - + + - - - Executes a for loop in which iterations may run in parallel - - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop + + - - - Executes a for loop in which iterations may run in parallel - - The number of concurrent execution threads to run - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop + + - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - An enumerable collection to iterate over - Method body to run for each object in the collection + + - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - The number of concurrent execution threads to run - An enumerable collection to iterate over - Method body to run for each object in the collection + + - - - Executes a series of tasks in parallel - - A series of method bodies to execute + + - - - Executes a series of tasks in parallel - - The number of concurrent execution threads to run - A series of method bodies to execute + + - - Sort by name + + - - Sort by date + + - - Sort folders by name, regardless of whether items are - sorted by name or date + + - - Place system folders at the top + + - - - Possible destinations for DeRezObject request - + + - - + + - - Copy from in-world to agent inventory + + - - Derez to TaskInventory + + - - + + - - Take Object + + - - + + - - Delete Object + + - - Put an avatar attachment into agent inventory + + - - + + - - Return an object back to the owner's inventory + + - - Return a deeded object back to the last owner's inventory + + - - - Upper half of the Flags field for inventory items - + + - - Indicates that the NextOwner permission will be set to the - most restrictive set of permissions found in the object set - (including linkset items and object inventory items) on next rez + + - - Indicates that the object sale information has been - changed + + - - If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez + + - - If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez + + - - If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez + + - - If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez + + - - If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez + + - - Indicates whether this object is composed of multiple - items or not + + - - Indicates that the asset is only referenced by this - inventory item. If this item is deleted or updated to reference a - new assetID, the asset can be deleted + + - - - Base Class for Inventory Items - + + - - of item/folder + + - - of parent folder + + - - Name of item/folder + + - - Item/Folder Owners + + - + - Constructor, takes an itemID as a parameter + pre-defined built in sounds - The of the item - - - - - + + - - - - - + + - - - Generates a number corresponding to the value of the object to support the use of a hash table, - suitable for use in hashing algorithms and data structures such as a hash table - - A Hashcode of all the combined InventoryBase fields + + - - - Determine whether the specified object is equal to the current object - - InventoryBase object to compare against - true if objects are the same + + - - - Determine whether the specified object is equal to the current object - - InventoryBase object to compare against - true if objects are the same + + - - - Convert inventory to OSD - - OSD representation + + - - - An Item in Inventory - + + - - The of this item + + - - The combined of this item + + coins - - The type of item from + + cash register bell - - The type of item from the enum + + - - The of the creator of this item + + - - A Description of this item + + rubber - - The s this item is set to or owned by + + plastic - - If true, item is owned by a group + + flesh - - The price this item can be purchased for + + wood splintering? - - The type of sale from the enum + + glass break - - Combined flags from + + metal clunk - - Time and date this inventory item was created, stored as - UTC (Coordinated Universal Time) + + whoosh - - Used to update the AssetID in requests sent to the server + + shake - - The of the previous owner of the item + + - - - Construct a new InventoryItem object - - The of the item + + ding - - - Construct a new InventoryItem object of a specific Type - - The type of item from - of the item + + - - - Indicates inventory item is a link - - True if inventory item is a link to another inventory item + + - - - - - + + - - - - - + + - - - Generates a number corresponding to the value of the object to support the use of a hash table. - Suitable for use in hashing algorithms and data structures such as a hash table - - A Hashcode of all the combined InventoryItem fields + + - - - Compares an object - - The object to compare - true if comparison object matches + + - - - Determine whether the specified object is equal to the current object - - The object to compare against - true if objects are the same + + - - - Determine whether the specified object is equal to the current object - - The object to compare against - true if objects are the same + + - - - Create InventoryItem from OSD - - OSD Data that makes up InventoryItem - Inventory item created + + - - - Convert InventoryItem to OSD - - OSD representation of InventoryItem + + - - - InventoryTexture Class representing a graphical image - - + + - - - Construct an InventoryTexture object - - A which becomes the - objects AssetUUID + + - - - Construct an InventoryTexture object from a serialization stream - + + - - - InventorySound Class representing a playable sound - + + - + - Construct an InventorySound object + A dictionary containing all pre-defined sounds - A which becomes the - objects AssetUUID + A dictionary containing the pre-defined sounds, + where the key is the sounds ID, and the value is a string + containing a name to identify the purpose of the sound - + - Construct an InventorySound object from a serialization stream + - + - InventoryCallingCard Class, contains information on another avatar + + - + - Construct an InventoryCallingCard object + De-serialization constructor for the InventoryNode Class - A which becomes the - objects AssetUUID - + - Construct an InventoryCallingCard object from a serialization stream + Serialization handler for the InventoryNode Class - + - InventoryLandmark Class, contains details on a specific location + De-serialization handler for the InventoryNode Class - + - Construct an InventoryLandmark object + - A which becomes the - objects AssetUUID + - - - Construct an InventoryLandmark object from a serialization stream - + + - - - Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited - + + User data - - - InventoryObject Class contains details on a primitive or coalesced set of primitives - + + - - - Construct an InventoryObject object - - A which becomes the - objects AssetUUID + + - - - Construct an InventoryObject object from a serialization stream - + + - + - Gets or sets the upper byte of the Flags value + For inventory folder nodes specifies weather the folder needs to be + refreshed from the server - + - Gets or sets the object attachment point, the lower byte of the Flags value + Represends individual HTTP Download request - - - InventoryNotecard Class, contains details on an encoded text document - + + URI of the item to fetch - - - Construct an InventoryNotecard object - - A which becomes the - objects AssetUUID + + Timout specified in milliseconds - - - Construct an InventoryNotecard object from a serialization stream - + + Download progress callback - - - InventoryCategory Class - - TODO: Is this even used for anything? + + Download completed callback - - - Construct an InventoryCategory object - - A which becomes the - objects AssetUUID + + Accept the following content type - - - Construct an InventoryCategory object from a serialization stream - + + How many times will this request be retried - - - InventoryLSL Class, represents a Linden Scripting Language object - + + Current fetch attempt - - - Construct an InventoryLSL object - - A which becomes the - objects AssetUUID + + Default constructor - - - Construct an InventoryLSL object from a serialization stream - + + Constructor - + - InventorySnapshot Class, an image taken with the viewer + Manages async HTTP downloads with a limit on maximum + concurrent downloads - - - Construct an InventorySnapshot object - - A which becomes the - objects AssetUUID + + Default constructor - - - Construct an InventorySnapshot object from a serialization stream - + + Cleanup method - - - InventoryAttachment Class, contains details on an attachable object - + + Setup http download request - - - Construct an InventoryAttachment object - - A which becomes the - objects AssetUUID + + Check the queue for pending work - - - Construct an InventoryAttachment object from a serialization stream - + + Enqueue a new HTPP download - - - Get the last AttachmentPoint this object was attached to - + + Maximum number of parallel downloads from a single endpoint - - - InventoryWearable Class, details on a clothing item or body part - + + Client certificate - + - Construct an InventoryWearable object + Capabilities is the name of the bi-directional HTTP REST protocol + used to communicate non real-time transactions such as teleporting or + group messaging - A which becomes the - objects AssetUUID - - - Construct an InventoryWearable object from a serialization stream - + + Reference to the simulator this system is connected to - + - The , Skin, Shape, Skirt, Etc + Default constructor + + - + - InventoryAnimation Class, A bvh encoded object which animates an avatar + Request the URI of a named capability + Name of the capability to request + The URI of the requested capability, or String.Empty if + the capability does not exist - + - Construct an InventoryAnimation object + Process any incoming events, check to see if we have a message created for the event, - A which becomes the - objects AssetUUID + + - - - Construct an InventoryAnimation object from a serialization stream - + + Capabilities URI this system was initialized with - - - InventoryGesture Class, details on a series of animations, sounds, and actions - + + Whether the capabilities event queue is connected and + listening for incoming events - + - Construct an InventoryGesture object + Triggered when an event is received via the EventQueueGet + capability - A which becomes the - objects AssetUUID + Event name + Decoded event data + The simulator that generated the event - + - Construct an InventoryGesture object from a serialization stream + Permission request flags, asked when a script wants to control an Avatar - - - A folder contains s and has certain attributes specific - to itself - + + Placeholder for empty values, shouldn't ever see this - - The Preferred for a folder. + + Script wants ability to take money from you - - The Version of this folder + + Script wants to take camera controls for you - - Number of child items this folder contains. + + Script wants to remap avatars controls - - - Constructor - - UUID of the folder + + Script wants to trigger avatar animations + This function is not implemented on the grid - - - - - + + Script wants to attach or detach the prim or primset to your avatar - - - Get Serilization data for this InventoryFolder object - + + Script wants permission to release ownership + This function is not implemented on the grid + The concept of "public" objects does not exist anymore. - - - Construct an InventoryFolder object from a serialization stream - + + Script wants ability to link/delink with other prims - - - - - + + Script wants permission to change joints + This function is not implemented on the grid - - - - - - + + Script wants permissions to change permissions + This function is not implemented on the grid - - - - - - + + Script wants to track avatars camera position and rotation - - - - - - + + Script wants to control your camera - - - Create InventoryFolder from OSD - - OSD Data that makes up InventoryFolder - Inventory folder created + + Script wants the ability to teleport you - + - Convert InventoryItem to OSD + Special commands used in Instant Messages - OSD representation of InventoryItem - - - Tools for dealing with agents inventory - + + Indicates a regular IM from another agent - - Used for converting shadow_id to asset_id + + Simple notification box with an OK button - - The event subscribers, null of no subscribers + + You've been invited to join a group. - - Raises the ItemReceived Event - A ItemReceivedEventArgs object containing - the data sent from the simulator + + Inventory offer - - Thread sync lock object + + Accepted inventory offer - - The event subscribers, null of no subscribers + + Declined inventory offer - - Raises the FolderUpdated Event - A FolderUpdatedEventArgs object containing - the data sent from the simulator + + Group vote - - Thread sync lock object + + An object is offering its inventory - - The event subscribers, null of no subscribers + + Accept an inventory offer from an object - - Raises the InventoryObjectOffered Event - A InventoryObjectOfferedEventArgs object containing - the data sent from the simulator + + Decline an inventory offer from an object - - Thread sync lock object + + Unknown - - The event subscribers, null of no subscribers + + Start a session, or add users to a session - - Raises the TaskItemReceived Event - A TaskItemReceivedEventArgs object containing - the data sent from the simulator + + Start a session, but don't prune offline users - - Thread sync lock object + + Start a session with your group - - The event subscribers, null of no subscribers + + Start a session without a calling card (finder or objects) - - Raises the FindObjectByPath Event - A FindObjectByPathEventArgs object containing - the data sent from the simulator + + Send a message to a session - - Thread sync lock object + + Leave a session - - The event subscribers, null of no subscribers + + Indicates that the IM is from an object - - Raises the TaskInventoryReply Event - A TaskInventoryReplyEventArgs object containing - the data sent from the simulator + + Sent an IM to a busy user, this is the auto response - - Thread sync lock object + + Shows the message in the console and chat history + + + Send a teleport lure + + + Response sent to the agent which inititiated a teleport invitation - - The event subscribers, null of no subscribers + + Response sent to the agent which inititiated a teleport invitation - - Raises the SaveAssetToInventory Event - A SaveAssetToInventoryEventArgs object containing - the data sent from the simulator + + Only useful if you have Linden permissions - - Thread sync lock object + + Request a teleport lure - - The event subscribers, null of no subscribers + + IM to tell the user to go to an URL - - Raises the ScriptRunningReply Event - A ScriptRunningReplyEventArgs object containing - the data sent from the simulator + + IM for help - - Thread sync lock object + + IM sent automatically on call for help, sends a lure + to each Helper reached - - Partial mapping of AssetTypes to folder names + + Like an IM but won't go to email - - - Default constructor - - Reference to the GridClient object + + IM from a group officer to all group members - - - Fetch an inventory item from the dataserver - - The items - The item Owners - a integer representing the number of milliseconds to wait for results - An object on success, or null if no item was found - Items will also be sent to the event + + Unknown - - - Request A single inventory item - - The items - The item Owners - + + Unknown - - - Request inventory items - - Inventory items to request - Owners of the inventory items - + + Accept a group invitation - - - Request inventory items via Capabilities - - Inventory items to request - Owners of the inventory items - + + Decline a group invitation - - - Get contents of a folder - - The of the folder to search - The of the folders owner - true to retrieve folders - true to retrieve items - sort order to return results in - a integer representing the number of milliseconds to wait for results - A list of inventory items matching search criteria within folder - - InventoryFolder.DescendentCount will only be accurate if both folders and items are - requested + + Unknown - - - Request the contents of an inventory folder - - The folder to search - The folder owners - true to return s contained in folder - true to return s containd in folder - the sort order to return items in - + + An avatar is offering you friendship - - - Request the contents of an inventory folder using HTTP capabilities - - The folder to search - The folder owners - true to return s contained in folder - true to return s containd in folder - the sort order to return items in - + + An avatar has accepted your friendship offer - - - Returns the UUID of the folder (category) that defaults to - containing 'type'. The folder is not necessarily only for that - type - - This will return the root folder if one does not exist - - The UUID of the desired folder if found, the UUID of the RootFolder - if not found, or UUID.Zero on failure + + An avatar has declined your friendship offer - - - Find an object in inventory using a specific path to search - - The folder to begin the search in - The object owners - A string path to search - milliseconds to wait for a reply - Found items or if - timeout occurs or item is not found + + Indicates that a user has started typing - - - Find inventory items by path - - The folder to begin the search in - The object owners - A string path to search, folders/objects separated by a '/' - Results are sent to the event + + Indicates that a user has stopped typing - + - Search inventory Store object for an item or folder + Flag in Instant Messages, whether the IM should be delivered to + offline avatars as well - The folder to begin the search in - An array which creates a path to search - Number of levels below baseFolder to conduct searches - if True, will stop searching after first match is found - A list of inventory items found - - - Move an inventory item or folder to a new location - - The item or folder to move - The to move item or folder to + + Only deliver to online avatars - - - Move an inventory item or folder to a new location and change its name - - The item or folder to move - The to move item or folder to - The name to change the item or folder to + + If the avatar is offline the message will be held until + they login next, and possibly forwarded to their e-mail account - + - Move and rename a folder + Conversion type to denote Chat Packet types in an easier-to-understand format - The source folders - The destination folders - The name to change the folder to - - - Update folder properties - - of the folder to update - Sets folder's parent to - Folder name - Folder type + + Whisper (5m radius) - - - Move a folder - - The source folders - The destination folders + + Normal chat (10/20m radius), what the official viewer typically sends - - - Move multiple folders, the keys in the Dictionary parameter, - to a new parents, the value of that folder's key. - - A Dictionary containing the - of the source as the key, and the - of the destination as the value + + Shouting! (100m radius) - - - Move an inventory item to a new folder - - The of the source item to move - The of the destination folder + + Event message when an Avatar has begun to type - - - Move and rename an inventory item - - The of the source item to move - The of the destination folder - The name to change the folder to + + Event message when an Avatar has stopped typing - - - Move multiple inventory items to new locations - - A Dictionary containing the - of the source item as the key, and the - of the destination folder as the value + + Send the message to the debug channel - - - Remove descendants of a folder - - The of the folder + + Event message when an object uses llOwnerSay - - - Remove a single item from inventory - - The of the inventory item to remove + + Special value to support llRegionSay, never sent to the client - + - Remove a folder from inventory + Identifies the source of a chat message - The of the folder to remove - - - Remove multiple items or folders from inventory - - A List containing the s of items to remove - A List containing the s of the folders to remove + + Chat from the grid or simulator - - - Empty the Lost and Found folder - + + Chat from another avatar - - - Empty the Trash folder - + + Chat from an object - + - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - + + - - - Creates a new inventory folder - - ID of the folder to put this folder in - Name of the folder to create - The UUID of the newly created folder + + - - - Creates a new inventory folder - - ID of the folder to put this folder in - Name of the folder to create - Sets this folder as the default folder - for new assets of the specified type. Use AssetType.Unknown - to create a normal folder, otherwise it will likely create a - duplicate of an existing folder type - The UUID of the newly created folder - If you specify a preferred type of AsseType.Folder - it will create a new root folder which may likely cause all sorts - of strange problems + + - + - Create an inventory item and upload asset data + Effect type used in ViewerEffect packets - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Delegate that will receive feedback on success or failure - - - Create an inventory item and upload asset data - - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Permission of the newly created item - (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) - Delegate that will receive feedback on success or failure + + - - - Creates inventory link to another inventory item or folder - - Put newly created link in folder with this UUID - Inventory item or folder - Method to call upon creation of the link + + - - - Creates inventory link to another inventory item - - Put newly created link in folder with this UUID - Original inventory item - Method to call upon creation of the link + + - - - Creates inventory link to another inventory folder - - Put newly created link in folder with this UUID - Original inventory folder - Method to call upon creation of the link + + - - - Creates inventory link to another inventory item or folder - - Put newly created link in folder with this UUID - Original item's UUID - Name - Description - Asset Type - Inventory Type - Transaction UUID - Method to call upon creation of the link + + - - - - - - - - + + - - - - - - - - - + + - - - - - - - - - + + Project a beam from a source to a destination, such as + the one used when editing an object - - - Request a copy of an asset embedded within a notecard - - Usually UUID.Zero for copying an asset from a notecard - UUID of the notecard to request an asset from - Target folder for asset to go to in your inventory - UUID of the embedded asset - callback to run when item is copied to inventory + + - - - - - + + - - - - - + + - + + Create a swirl of particles around an object + + + + + + + + + Cause an avatar to look at an object + + + Cause an avatar to point at an object + + - + The action an avatar is doing when looking at something, used in + ViewerEffect packets for the LookAt effect - - - + + + + + + + + + + + + + + + + + + + + Deprecated + + + + + + + + + + + + + + - + The action an avatar is doing when pointing at something, used in + ViewerEffect packets for the PointAt effect - - - - - - Save changes to notecard embedded in object contents - - Encoded notecard asset data - Notecard UUID - Object's UUID - Called upon finish of the upload with status information + + - - - Upload new gesture asset for an inventory gesture item - - Encoded gesture asset - Gesture inventory UUID - Callback whick will be called when upload is complete + + - - - Update an existing script in an agents Inventory - - A byte[] array containing the encoded scripts contents - the itemID of the script - if true, sets the script content to run on the mono interpreter - + + - - - Update an existing script in an task Inventory - - A byte[] array containing the encoded scripts contents - the itemID of the script - UUID of the prim containting the script - if true, sets the script content to run on the mono interpreter - if true, sets the script to running - + + - + - Rez an object from inventory + Money transaction types - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object + + - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - User defined queryID to correlate replies - If set to true, the CreateSelected flag - will be set on the rezzed object + + - - - Rez an object from inventory - - Simulator to place object in - TaskID object when rezzed - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - User defined queryID to correlate replies - If set to true, the CreateSelected flag - will be set on the rezzed object + + - - - DeRez an object from the simulator to the agents Objects folder in the agents Inventory - - The simulator Local ID of the object - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed + + - - - DeRez an object from the simulator and return to inventory - - The simulator Local ID of the object - The type of destination from the enum - The destination inventory folders -or- - if DeRezzing object to a tasks Inventory, the Tasks - The transaction ID for this request which - can be used to correlate this request with other packets - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed + + - - - Rez an item from inventory to its previous simulator location - - - - - + + - - - Give an inventory item to another avatar - - The of the item to give - The name of the item - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer + + - - - Give an inventory Folder with contents to another avatar - - The of the Folder to give - The name of the folder - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer + + - - - Copy or move an from agent inventory to a task (primitive) inventory - - The target object - The item to copy or move from inventory - - For items with copy permissions a copy of the item is placed in the tasks inventory, - for no-copy items the object is moved to the tasks inventory + + - - - Retrieve a listing of the items contained in a task (Primitive) - - The tasks - The tasks simulator local ID - milliseconds to wait for reply from simulator - A list containing the inventory items inside the task or null - if a timeout occurs - This request blocks until the response from the simulator arrives - or timeoutMS is exceeded + + - - - Request the contents of a tasks (primitives) inventory from the - current simulator - - The LocalID of the object - + + - - - Request the contents of a tasks (primitives) inventory - - The simulator Local ID of the object - A reference to the simulator object that contains the object - + + - - - Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory - - LocalID of the object in the simulator - UUID of the task item to move - The ID of the destination folder in this agents inventory - Simulator Object - Raises the event + + - - - Remove an item from an objects (Prim) Inventory - - LocalID of the object in the simulator - UUID of the task item to remove - Simulator Object - You can confirm the removal by comparing the tasks inventory serial before and after the - request with the request combined with - the event + + - - - Copy an InventoryScript item from the Agents Inventory into a primitives task inventory - - An unsigned integer representing a primitive being simulated - An which represents a script object from the agents inventory - true to set the scripts running state to enabled - A Unique Transaction ID - - The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory - and assumes the script exists in the agents inventory. - - uint primID = 95899503; // Fake prim ID - UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory - - Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, - false, true, InventorySortOrder.ByName, 10000); - - Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); - - + + - - - Request the running status of a script contained in a task (primitive) inventory - - The ID of the primitive containing the script - The ID of the script - The event can be used to obtain the results of the - request - + + + + + + + + + + + - - - Send a request to set the running state of a script contained in a task (primitive) inventory - - The ID of the primitive containing the script - The ID of the script - true to set the script running, false to stop a running script - To verify the change you can use the method combined - with the event + + - - - Create a CRC from an InventoryItem - - The source InventoryItem - A uint representing the source InventoryItem as a CRC + + - - - Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id - - Obfuscated shadow_id value - Deobfuscated asset_id value + + - - - Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id - - asset_id value to obfuscate - Obfuscated shadow_id value + + - - - Wrapper for creating a new object - - The type of item from the enum - The of the newly created object - An object with the type and id passed + + - - - Parse the results of a RequestTaskInventory() response - - A string which contains the data from the task reply - A List containing the items contained within the tasks inventory + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - - UpdateCreateInventoryItem packets are received when a new inventory item - is created. This may occur when an object that's rezzed in world is - taken into inventory, when an item is created using the CreateInventoryItem - packet, or when an object is purchased - - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Raised when the simulator sends us data containing - ... + + - - Raised when the simulator sends us data containing - ... + + - - Raised when the simulator sends us data containing - an inventory object sent by another avatar or primitive + + - - Raised when the simulator sends us data containing - ... + + - - Raised when the simulator sends us data containing - ... + + - - Raised when the simulator sends us data containing - ... + + - - Raised when the simulator sends us data containing - ... + + - - Raised when the simulator sends us data containing - ... + + - - - Get this agents Inventory data - + + - - - Callback for inventory item creation finishing - - Whether the request to create an inventory - item succeeded or not - Inventory item being created. If success is - false this will be null + + - - - Callback for an inventory item being create from an uploaded asset - - true if inventory item creation was successful - - - + + - - - - - + + - - - Reply received when uploading an inventory asset - - Has upload been successful - Error message if upload failed - Inventory asset UUID - New asset UUID + + - - - Delegate that is invoked when script upload is completed - - Has upload succeded (note, there still might be compile errors) - Upload status message - Is compilation successful - If compilation failed, list of error messages, null on compilation success - Script inventory UUID - Script's new asset UUID + + - - Set to true to accept offer, false to decline it + + - - The folder to accept the inventory into, if null default folder for will be used + + - - - Callback when an inventory object is accepted and received from a - task inventory. This is the callback in which you actually get - the ItemID, as in ObjectOfferedCallback it is null when received - from a task. - + + - + + + + - Map layer request type + - - Objects and terrain are shown + + - - Only the terrain is shown, no objects + + - - Overlay showing land for sale and for auction + + - - - Type of grid item, such as telehub, event, populator location, etc. - + + - - Telehub + + - - PG rated event + + - - Mature rated event + + + + - - Popular location + + - - Locations of avatar groups in a region + + - - Land for sale + + - - Classified ad + + - - Adult rated event + + - - Adult land for sale + + - + - Information about a region on the grid map + Flags sent when a script takes or releases a control + NOTE: (need to verify) These might be a subset of the ControlFlags enum in Movement, - - Sim X position on World Map + + No Flags set - - Sim Y position on World Map + + Forward (W or up Arrow) - - Sim Name (NOTE: In lowercase!) + + Back (S or down arrow) - - + + Move left (shift+A or left arrow) - - Appears to always be zero (None) + + Move right (shift+D or right arrow) - - Sim's defined Water Height + + Up (E or PgUp) - - + + Down (C or PgDown) - - UUID of the World Map image + + Rotate left (A or left arrow) - - Unique identifier for this region, a combination of the X - and Y position + + Rotate right (D or right arrow) - - - - - + + Left Mouse Button - - - - - + + Left Mouse button in MouseLook - + - + Currently only used to hide your group title - - - - - Visual chunk of the grid map - + + No flags set - + + Hide your group title + + - Base class for Map Items + Action state of the avatar, which can currently be typing and + editing - - The Global X position of the item - - - The Global Y position of the item - - - Get the Local X position of the item + + - - Get the Local Y position of the item + + - - Get the Handle of the region + + - + - Represents an agent or group of agents location + Current teleport status - - - Represents a Telehub location - + + Unknown status - - - Represents a non-adult parcel of land for sale - + + Teleport initialized - - - Represents an Adult parcel of land for sale - + + Teleport in progress - - - Represents a PG Event - + + Teleport failed - - - Represents a Mature event - + + Teleport completed - - - Represents an Adult event - + + Teleport cancelled - + - Manages grid-wide tasks such as the world map + - - The event subscribers. null if no subcribers + + No flags set, or teleport failed - - Raises the CoarseLocationUpdate event - A CoarseLocationUpdateEventArgs object containing the - data sent by simulator + + Set when newbie leaves help island for first time - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + Via Lure - - Raises the GridRegion event - A GridRegionEventArgs object containing the - data sent by simulator + + Via Landmark - - Thread sync lock object + + Via Location - - The event subscribers. null if no subcribers + + Via Home - - Raises the GridLayer event - A GridLayerEventArgs object containing the - data sent by simulator + + Via Telehub - - Thread sync lock object + + Via Login - - The event subscribers. null if no subcribers + + Linden Summoned - - Raises the GridItems event - A GridItemEventArgs object containing the - data sent by simulator + + Linden Forced me - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + Agent Teleported Home via Script - - Raises the RegionHandleReply event - A RegionHandleReplyEventArgs object containing the - data sent by simulator + + - - Thread sync lock object + + - - A dictionary of all the regions, indexed by region name + + - - A dictionary of all the regions, indexed by region handle + + forced to new location for example when avatar is banned or ejected - - - Constructor - - Instance of GridClient object to associate with this GridManager instance + + Teleport Finished via a Lure - - - - - + + Finished, Sim Changed - - - Request a map layer - - The name of the region - The type of layer + + Finished, Same Sim - + - - - - - - - - - - - - - - - + + - + + + + + + + - - - - - - Request data for all mainland (Linden managed) simulators - + + - + + + + + + + + + + - Request the region handle for the specified region UUID + Type of mute entry - UUID of the region to look up - + + Object muted by name + + + Muted residet + + + Object muted by UUID + + + Muted group + + + Muted external entry + + - Get grid region information using the region name, this function - will block until it can find the region or gives up + Flags of mute entry - Name of sim you're looking for - Layer that you are requesting - Will contain a GridRegion for the sim you're - looking for if successful, otherwise an empty structure - True if the GridRegion was successfully fetched, otherwise - false - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + No exceptions - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Don't mute text chat - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Don't mute voice chat - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Don't mute particles - - Raised when the simulator sends a - containing the location of agents in the simulator + + Don't mute sounds - - Raised when the simulator sends a Region Data in response to - a Map request + + Don't mute - - Raised when the simulator sends GridLayer object containing - a map tile coordinates and texture information + + + Instant Message + - - Raised when the simulator sends GridItems object containing - details on events, land sales at a specific location + + Key of sender - - Raised in response to a Region lookup + + Name of sender - - Unknown + + Key of destination avatar - - Current direction of the sun + + ID of originating estate - - Current angular velocity of the sun + + Key of originating region - - Microseconds since the start of SL 4-hour day + + Coordinates in originating region - - - - - Looking direction, must be a normalized vector - Up direction, must be a normalized vector + + Instant message type - - - Align the coordinate frame X and Y axis with a given rotation - around the Z axis in radians - - Absolute rotation around the Z axis in - radians + + Group IM session toggle - - Origin position of this coordinate frame + + Key of IM session, for Group Messages, the groups UUID - - X axis of this coordinate frame, or Forward/At in grid terms + + Timestamp of the instant message - - Y axis of this coordinate frame, or Left in grid terms + + Instant message text - - Z axis of this coordinate frame, or Up in grid terms + + Whether this message is held for offline avatars - - - Represents a texture - + + Context specific packed data - - A object containing image data + + Print the struct data as a string + A string containing the field name, and field value - - + + Represents muted object or resident - - + + Type of the mute entry - - Initializes a new instance of an AssetTexture object + + UUID of the mute etnry - - - Initializes a new instance of an AssetTexture object - - A unique specific to this asset - A byte array containing the raw asset data + + Mute entry name - - - Initializes a new instance of an AssetTexture object - - A object containing texture data + + Mute flags - - - Populates the byte array with a JPEG2000 - encoded image created from the data in - + + Transaction detail sent with MoneyBalanceReply message - - - Decodes the JPEG2000 data in AssetData to the - object - - True if the decoding was successful, otherwise false + + Type of the transaction - - - Decodes the begin and end byte positions for each quality layer in - the image - - + + UUID of the transaction source - - Override the base classes AssetType + + Is the transaction source a group - - - Class for controlling various system settings. - - Some values are readonly because they affect things that - happen when the GridClient object is initialized, so changing them at - runtime won't do any good. Non-readonly values may affect things that - happen at login or dynamically + + UUID of the transaction destination - - Main grid login server + + Is transaction destination a group - - Beta grid login server + + Transaction amount - + + Transaction description + + - InventoryManager requests inventory information on login, - GridClient initializes an Inventory store for main inventory. + - + - InventoryManager requests library information on login, - GridClient initializes an Inventory store for the library. + Construct a new instance of the ChatEventArgs object + Sim from which the message originates + The message sent + The audible level of the message + The type of message sent: whisper, shout, etc + The source type of the message sender + The name of the agent or object sending the message + The ID of the agent or object sending the message + The ID of the object owner, or the agent ID sending the message + The position of the agent or object sending the message - - Number of milliseconds between sending pings to each sim - - - Number of milliseconds between sending camera updates + + Get the simulator sending the message - - Number of milliseconds between updating the current - positions of moving, non-accelerating and non-colliding objects + + Get the message sent - - Millisecond interval between ticks, where all ACKs are - sent out and the age of unACKed packets is checked + + Get the audible level of the message - - The initial size of the packet inbox, where packets are - stored before processing + + Get the type of message sent: whisper, shout, etc - - Maximum size of packet that we want to send over the wire + + Get the source type of the message sender - - The maximum value of a packet sequence number before it - rolls over back to one + + Get the name of the agent or object sending the message - - The relative directory where external resources are kept + + Get the ID of the agent or object sending the message - - Login server to connect to + + Get the ID of the object owner, or the agent ID sending the message - - IP Address the client will bind to + + Get the position of the agent or object sending the message - - Use XML-RPC Login or LLSD Login, default is XML-RPC Login + + Contains the data sent when a primitive opens a dialog with this agent - + - Use Caps for fetching inventory where available + Construct a new instance of the ScriptDialogEventArgs + The dialog message + The name of the object that sent the dialog request + The ID of the image to be displayed + The ID of the primitive sending the dialog + The first name of the senders owner + The last name of the senders owner + The communication channel the dialog was sent on + The string labels containing the options presented in this dialog + UUID of the scritped object owner - - Number of milliseconds before an asset transfer will time - out - - - Number of milliseconds before a teleport attempt will time - out - - - Number of milliseconds before NetworkManager.Logout() will - time out - - - Number of milliseconds before a CAPS call will time out - Setting this too low will cause web requests time out and - possibly retry repeatedly + + Get the dialog message - - Number of milliseconds for xml-rpc to timeout + + Get the name of the object that sent the dialog request - - Milliseconds before a packet is assumed lost and resent + + Get the ID of the image to be displayed - - Milliseconds without receiving a packet before the - connection to a simulator is assumed lost + + Get the ID of the primitive sending the dialog - - Milliseconds to wait for a simulator info request through - the grid interface + + Get the first name of the senders owner - - The maximum size of the sequence number archive, used to - check for resent and/or duplicate packets + + Get the last name of the senders owner - - Maximum number of queued ACKs to be sent before SendAcks() - is forced + + Get the communication channel the dialog was sent on, responses + should also send responses on this same channel - - Network stats queue length (seconds) + + Get the string labels containing the options presented in this dialog - - - Primitives will be reused when falling in/out of interest list (and shared between clients) - prims returning to interest list do not need re-requested - Helps also in not re-requesting prim.Properties for code that checks for a Properties == null per client - + + UUID of the scritped object owner - - - Pool parcel data between clients (saves on requesting multiple times when all clients may need it) - + + Contains the data sent when a primitive requests debit or other permissions + requesting a YES or NO answer - + - How long to preserve cached data when no client is connected to a simulator - The reason for setting it to something like 2 minutes is in case a client - is running back and forth between region edges or a sim is comming and going + Construct a new instance of the ScriptQuestionEventArgs + The simulator containing the object sending the request + The ID of the script making the request + The ID of the primitive containing the script making the request + The name of the primitive making the request + The name of the owner of the object making the request + The permissions being requested - - Enable/disable storing terrain heightmaps in the - TerrainManager - - - Enable/disable sending periodic camera updates - - - Enable/disable automatically setting agent appearance at - login and after sim crossing + + Get the simulator containing the object sending the request - - Enable/disable automatically setting the bandwidth throttle - after connecting to each simulator - The default throttle uses the equivalent of the maximum - bandwidth setting in the official client. If you do not set a - throttle your connection will by default be throttled well below - the minimum values and you may experience connection problems + + Get the ID of the script making the request - - Enable/disable the sending of pings to monitor lag and - packet loss + + Get the ID of the primitive containing the script making the request - - Should we connect to multiple sims? This will allow - viewing in to neighboring simulators and sim crossings - (Experimental) + + Get the name of the primitive making the request - - If true, all object update packets will be decoded in to - native objects. If false, only updates for our own agent will be - decoded. Registering an event handler will force objects for that - type to always be decoded. If this is disabled the object tracking - will have missing or partial prim and avatar information + + Get the name of the owner of the object making the request - - If true, when a cached object check is received from the - server the full object info will automatically be requested + + Get the permissions being requested - - Whether to establish connections to HTTP capabilities - servers for simulators + + Contains the data sent when a primitive sends a request + to an agent to open the specified URL - - Whether to decode sim stats + + + Construct a new instance of the LoadUrlEventArgs + + The name of the object sending the request + The ID of the object sending the request + The ID of the owner of the object sending the request + True if the object is owned by a group + The message sent with the request + The URL the object sent - - The capabilities servers are currently designed to - periodically return a 502 error which signals for the client to - re-establish a connection. Set this to true to log those 502 errors + + Get the name of the object sending the request - - If true, any reference received for a folder or item - the library is not aware of will automatically be fetched + + Get the ID of the object sending the request - - If true, and SEND_AGENT_UPDATES is true, - AgentUpdate packets will continuously be sent out to give the bot - smoother movement and autopiloting + + Get the ID of the owner of the object sending the request - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectAvatars. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received + + True if the object is owned by a group - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectPrimitives. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received + + Get the message sent with the request - - If true, position and velocity will periodically be - interpolated (extrapolated, technically) for objects and - avatars that are being tracked by the library. This is - necessary to increase the accuracy of speed and position - estimates for simulated objects + + Get the URL the object sent - + + The date received from an ImprovedInstantMessage + + - If true, utilization statistics will be tracked. There is a minor penalty - in CPU time for enabling this option. + Construct a new instance of the InstantMessageEventArgs object + the InstantMessage object + the simulator where the InstantMessage origniated - - If true, parcel details will be stored in the - Simulator.Parcels dictionary as they are received + + Get the InstantMessage object - + + Get the simulator where the InstantMessage origniated + + + Contains the currency balance + + - If true, an incoming parcel properties reply will automatically send - a request for the parcel access list + Construct a new BalanceEventArgs object + The currenct balance - + - if true, an incoming parcel properties reply will automatically send - a request for the traffic count. + Get the currenct balance - + + Contains the transaction summary when an item is purchased, + money is given, or land is purchased + + - If true, images, and other assets downloaded from the server - will be cached in a local directory + Construct a new instance of the MoneyBalanceReplyEventArgs object + The ID of the transaction + True of the transaction was successful + The current currency balance + The meters credited + The meters comitted + A brief description of the transaction + Transaction info - - Path to store cached texture data + + Get the ID of the transaction - - Maximum size cached files are allowed to take on disk (bytes) + + True of the transaction was successful - - Default color used for viewer particle effects + + Get the remaining currency balance - - Maximum number of times to resend a failed packet + + Get the meters credited - - Throttle outgoing packet rate + + Get the meters comitted - - UUID of a texture used by some viewers to indentify type of client used + + Get the description of the transaction - + + Detailed transaction information + + + Data sent from the simulator containing information about your agent and active group information + + - Download textures using GetTexture capability when available + Construct a new instance of the AgentDataReplyEventArgs object + The agents first name + The agents last name + The agents active group ID + The group title of the agents active group + The combined group powers the agent has in the active group + The name of the group the agent has currently active - - The maximum number of concurrent texture downloads allowed - Increasing this number will not necessarily increase texture retrieval times due to - simulator throttles + + Get the agents first name - + + Get the agents last name + + + Get the active group ID of your agent + + + Get the active groups title of your agent + + + Get the combined group powers of your agent + + + Get the active group name of your agent + + + Data sent by the simulator to indicate the active/changed animations + applied to your agent + + - The Refresh timer inteval is used to set the delay between checks for stalled texture downloads + Construct a new instance of the AnimationsChangedEventArgs class - This is a static variable which applies to all instances + The dictionary that contains the changed animations - + + Get the dictionary that contains the changed animations + + - Textures taking longer than this value will be flagged as timed out and removed from the pipeline + Data sent from a simulator indicating a collision with your agent - + - Get or set the minimum log level to output to the console by default - - If the library is not compiled with DEBUG defined and this level is set to DEBUG - You will get no output on the console. This behavior can be overriden by creating - a logger configuration file for log4net + Construct a new instance of the MeanCollisionEventArgs class + The type of collision that occurred + The ID of the agent or object that perpetrated the agression + The ID of the Victim + The strength of the collision + The Time the collision occurred - - Attach avatar names to log messages + + Get the Type of collision - - Log packet retransmission info + + Get the ID of the agent or object that collided with your agent - - Log disk cache misses and other info + + Get the ID of the agent that was attacked - - Constructor - Reference to a GridClient object + + A value indicating the strength of the collision - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Get the time the collision occurred - - Cost of uploading an asset - Read-only since this value is dynamically fetched at login + + Data sent to your agent when it crosses region boundaries - + - Main class to expose grid functionality to clients. All of the - classes needed for sending and receiving data are accessible through - this class. + Construct a new instance of the RegionCrossedEventArgs class - - - // Example minimum code required to instantiate class and - // connect to a simulator. - using System; - using System.Collections.Generic; - using System.Text; - using OpenMetaverse; - - namespace FirstBot - { - class Bot - { - public static GridClient Client; - static void Main(string[] args) - { - Client = new GridClient(); // instantiates the GridClient class - // to the global Client object - // Login to Simulator - Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); - // Wait for a Keypress - Console.ReadLine(); - // Logout of simulator - Client.Network.Logout(); - } - } - } - - - - - Networking subsystem - - - Settings class including constant values and changeable - parameters for everything - - - Parcel (subdivided simulator lots) subsystem - - - Our own avatars subsystem - - - Other avatars subsystem + The simulator your agent just left + The simulator your agent is now in - - Estate subsystem + + Get the simulator your agent just left - - Friends list subsystem + + Get the simulator your agent is now in - - Grid (aka simulator group) subsystem + + Data sent from the simulator when your agent joins a group chat session - - Object subsystem + + + Construct a new instance of the GroupChatJoinedEventArgs class + + The ID of the session + The name of the session + A temporary session id used for establishing new sessions + True of your agent successfully joined the session - - Group subsystem + + Get the ID of the group chat session - - Asset subsystem + + Get the name of the session - - Appearance subsystem + + Get the temporary session ID used for establishing new sessions - - Inventory subsystem + + True if your agent successfully joined the session - - Directory searches including classifieds, people, land - sales, etc + + Data sent by the simulator containing urgent messages - - Handles land, wind, and cloud heightmaps + + + Construct a new instance of the AlertMessageEventArgs class + + The alert message - - Handles sound-related networking + + Get the alert message - - Throttling total bandwidth usage, or allocating bandwidth - for specific data stream types + + Data sent by a script requesting to take or release specified controls to your agent - + - Default constructor + Construct a new instance of the ScriptControlEventArgs class + The controls the script is attempting to take or release to the agent + True if the script is passing controls back to the agent + True if the script is requesting controls be released to the script - - - Return the full name of this instance - - Client avatars full name + + Get the controls the script is attempting to take or release to the agent - - - Class that handles the local asset cache - + + True if the script is passing controls back to the agent - - - Default constructor - - A reference to the GridClient object + + True if the script is requesting controls be released to the script - + - Disposes cleanup timer + Data sent from the simulator to an agent to indicate its view limits - + - Only create timer when needed + Construct a new instance of the CameraConstraintEventArgs class + The collision plane - - - Return bytes read from the local asset cache, null if it does not exist - - UUID of the asset we want to get - Raw bytes of the asset, or null on failure + + Get the collision plane - + - Returns ImageDownload object of the - image from the local image cache, null if it does not exist + Data containing script sensor requests which allow an agent to know the specific details + of a primitive sending script sensor requests - UUID of the image we want to get - ImageDownload object containing the image, or null on failure - + - Constructs a file name of the cached asset + Construct a new instance of the ScriptSensorReplyEventArgs - UUID of the asset - String with the file name of the cahced asset + The ID of the primitive sending the sensor + The ID of the group associated with the primitive + The name of the primitive sending the sensor + The ID of the primitive sending the sensor + The ID of the owner of the primitive sending the sensor + The position of the primitive sending the sensor + The range the primitive specified to scan + The rotation of the primitive sending the sensor + The type of sensor the primitive sent + The velocity of the primitive sending the sensor - - - Constructs a file name of the static cached asset - - UUID of the asset - String with the file name of the static cached asset + + Get the ID of the primitive sending the sensor - - - Saves an asset to the local cache - - UUID of the asset - Raw bytes the asset consists of - Weather the operation was successfull + + Get the ID of the group associated with the primitive - - - Get the file name of the asset stored with gived UUID - - UUID of the asset - Null if we don't have that UUID cached on disk, file name if found in the cache folder + + Get the name of the primitive sending the sensor - - - Checks if the asset exists in the local cache - - UUID of the asset - True is the asset is stored in the cache, otherwise false + + Get the ID of the primitive sending the sensor - - - Wipes out entire cache - + + Get the ID of the owner of the primitive sending the sensor - - - Brings cache size to the 90% of the max size - + + Get the position of the primitive sending the sensor - - - Asynchronously brings cache size to the 90% of the max size - + + Get the range the primitive specified to scan - - - Adds up file sizes passes in a FileInfo array - + + Get the rotation of the primitive sending the sensor - - - Checks whether caching is enabled - + + Get the type of sensor the primitive sent - - - Periodically prune the cache - + + Get the velocity of the primitive sending the sensor - - - Nicely formats file sizes - - Byte size we want to output - String with humanly readable file size + + Contains the response data returned from the simulator in response to a - - - Allows setting weather to periodicale prune the cache if it grows too big - Default is enabled, when caching is enabled - + + Construct a new instance of the AvatarSitResponseEventArgs object - + + Get the ID of the primitive the agent will be sitting on + + + True if the simulator Autopilot functions were involved + + + Get the camera offset of the agent when seated + + + Get the camera eye offset of the agent when seated + + + True of the agent will be in mouselook mode when seated + + + Get the position of the agent when seated + + + Get the rotation of the agent when seated + + + Data sent when an agent joins a chat session your agent is currently participating in + + - How long (in ms) between cache checks (default is 5 min.) + Construct a new instance of the ChatSessionMemberAddedEventArgs object + The ID of the chat session + The ID of the agent joining - + + Get the ID of the chat session + + + Get the ID of the agent that joined + + + Data sent when an agent exits a chat session your agent is currently participating in + + - Helper class for sorting files by their last accessed time + Construct a new instance of the ChatSessionMemberLeftEventArgs object + The ID of the chat session + The ID of the Agent that left + + + Get the ID of the chat session + + + Get the ID of the agent that left + + + Event arguments with the result of setting display name operation + + + Default constructor + + + Status code, 200 indicates settign display name was successful + + + Textual description of the status + + + Details of the newly set display name diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 4b558e7..22911aa 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 5add2f1..e472543 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 12f2648a578afa59b01d3fe1ae54faf90cc62e61 Mon Sep 17 00:00:00 2001 From: Michael Cerquoni Date: Sat, 8 Mar 2014 15:41:26 -0500 Subject: set RefreshTime = 0 in [MapImageService] in Grid.ini and GridHypergrid.ini to eliminate memory leaking for Warp3D map tiler, these variables should be erased needs more discussion! --- bin/config-include/Grid.ini | 2 +- bin/config-include/GridHypergrid.ini | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/config-include/Grid.ini b/bin/config-include/Grid.ini index 69a209a..e1b9b89 100644 --- a/bin/config-include/Grid.ini +++ b/bin/config-include/Grid.ini @@ -66,4 +66,4 @@ LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector" ; in minutes - RefreshTime = 60 + RefreshTime = 0 diff --git a/bin/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini index 2a66b4c..21dbeca 100644 --- a/bin/config-include/GridHypergrid.ini +++ b/bin/config-include/GridHypergrid.ini @@ -98,4 +98,4 @@ LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector" ; in minutes - RefreshTime = 60 + RefreshTime = 0 -- cgit v1.1 From da990d01f258892ccd5702eaac654547badd409a Mon Sep 17 00:00:00 2001 From: Michael Cerquoni Date: Sat, 8 Mar 2014 15:57:19 -0500 Subject: set RefreshTime = 0 in [MapImageService] in Standalone.ini and StandaloneHypergrid.ini to eliminate memory leaking for Warp3D map tiler, these variables should be erased needs more discussion! --- bin/config-include/Standalone.ini | 2 +- bin/config-include/StandaloneHypergrid.ini | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/config-include/Standalone.ini b/bin/config-include/Standalone.ini index 424d8c8..887257b 100644 --- a/bin/config-include/Standalone.ini +++ b/bin/config-include/Standalone.ini @@ -120,7 +120,7 @@ LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" ; in minutes - RefreshTime = 60 + RefreshTime = 0 ;; This should always be the very last thing on this file [Includes] diff --git a/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini index 370ab90..3194b0b 100644 --- a/bin/config-include/StandaloneHypergrid.ini +++ b/bin/config-include/StandaloneHypergrid.ini @@ -134,7 +134,7 @@ [MapImageService] LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" ; in minutes - RefreshTime = 60 + RefreshTime = 0 [GatekeeperService] LocalServiceModule = "OpenSim.Services.HypergridService.dll:GatekeeperService" -- cgit v1.1 From e3c4936deabf76156c789a816ea3779e9b9afdc4 Mon Sep 17 00:00:00 2001 From: Michael Cerquoni Date: Sat, 8 Mar 2014 16:28:45 -0500 Subject: remove RefreshTime = 0 from [MapImageService] in Standalone.ini, StandaloneHypergrid.ini, Grid.ini, GridHypergrid.ini they were redundant and would not allow variables in OpenSim.ini to be set to anything. --- bin/config-include/Grid.ini | 3 --- bin/config-include/GridHypergrid.ini | 3 --- bin/config-include/Standalone.ini | 3 --- bin/config-include/StandaloneHypergrid.ini | 2 -- 4 files changed, 11 deletions(-) (limited to 'bin') diff --git a/bin/config-include/Grid.ini b/bin/config-include/Grid.ini index e1b9b89..e7141a1 100644 --- a/bin/config-include/Grid.ini +++ b/bin/config-include/Grid.ini @@ -64,6 +64,3 @@ [MapImageService] LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector" - - ; in minutes - RefreshTime = 0 diff --git a/bin/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini index 21dbeca..8f17527 100644 --- a/bin/config-include/GridHypergrid.ini +++ b/bin/config-include/GridHypergrid.ini @@ -96,6 +96,3 @@ [MapImageService] LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector" - - ; in minutes - RefreshTime = 0 diff --git a/bin/config-include/Standalone.ini b/bin/config-include/Standalone.ini index 887257b..ee07e74 100644 --- a/bin/config-include/Standalone.ini +++ b/bin/config-include/Standalone.ini @@ -119,9 +119,6 @@ [MapImageService] LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" - ; in minutes - RefreshTime = 0 - ;; This should always be the very last thing on this file [Includes] Include-Common = "config-include/StandaloneCommon.ini" diff --git a/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini index 3194b0b..f39cf09 100644 --- a/bin/config-include/StandaloneHypergrid.ini +++ b/bin/config-include/StandaloneHypergrid.ini @@ -133,8 +133,6 @@ [MapImageService] LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" - ; in minutes - RefreshTime = 0 [GatekeeperService] LocalServiceModule = "OpenSim.Services.HypergridService.dll:GatekeeperService" -- cgit v1.1 From a96601478c17bfcdce0d13d7ba9608caa2551e14 Mon Sep 17 00:00:00 2001 From: Michael Cerquoni Date: Sat, 8 Mar 2014 21:48:33 -0500 Subject: add [BakedTextureService] section to Robust.HG.ini.example file same as Robust.ini.example. --- bin/Robust.HG.ini.example | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 965e241..578dee5 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -632,5 +632,10 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ;; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;" ;; Realm = UserProfiles UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService - AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService + +[BakedTextureService] + LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes" + ;; This directiry must exist and be writable for the user ROBUST runs as + BaseDirectory = "/data/bakes" -- cgit v1.1 From abcb2cdb364bb00d6c0f77c3de23bc7364d063a7 Mon Sep 17 00:00:00 2001 From: Michael Cerquoni Date: Sat, 8 Mar 2014 21:50:41 -0500 Subject: add XBakes connector to Robust.HG.ini.example --- bin/Robust.HG.ini.example | 2 ++ 1 file changed, 2 insertions(+) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 578dee5..e3e9da7 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -59,6 +59,8 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; OfflineIMServiceConnector = "8003/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" ;; Uncomment this if you want Groups V2 to work ; GroupsServiceConnector = "8003/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" +;; Uncomment to provide bakes caching +;BakedTextureService = "8003/OpenSim.Server.Handlers.dll:XBakesConnector ;; Additions for Hypergrid -- cgit v1.1 From cfd3e8f0ea2ef90a94eac5065e1a2f17d384b298 Mon Sep 17 00:00:00 2001 From: Michael Cerquoni Date: Sun, 9 Mar 2014 11:46:25 -0400 Subject: minor spelling mistake fix. --- bin/Robust.HG.ini.example | 2 +- bin/Robust.ini.example | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index e3e9da7..6f0ae14 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -638,6 +638,6 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset [BakedTextureService] LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes" - ;; This directiry must exist and be writable for the user ROBUST runs as + ;; This directory must exist and be writable for the user ROBUST runs as BaseDirectory = "/data/bakes" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 004a9c9..fb09e99 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -454,6 +454,6 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto [BakedTextureService] LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes" - ;; This directiry must exist and be writable for the user ROBUST runs as + ;; This directory must exist and be writable for the user ROBUST runs as BaseDirectory = "/data/bakes" -- cgit v1.1 From 4f67286044058edbf6660f2be49b0fc5532d3d30 Mon Sep 17 00:00:00 2001 From: Michael Cerquoni Date: Sun, 9 Mar 2014 19:09:10 -0400 Subject: fix missing quote for xBakes connector in Robust example ini files --- bin/Robust.HG.ini.example | 2 +- bin/Robust.ini.example | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 6f0ae14..245f363 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -60,7 +60,7 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ;; Uncomment this if you want Groups V2 to work ; GroupsServiceConnector = "8003/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" ;; Uncomment to provide bakes caching -;BakedTextureService = "8003/OpenSim.Server.Handlers.dll:XBakesConnector +;BakedTextureService = "8003/OpenSim.Server.Handlers.dll:XBakesConnector" ;; Additions for Hypergrid diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index fb09e99..829e393 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -51,7 +51,7 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ;; Uncomment this if you want Groups V2 to work ;GroupsServiceConnector = "8003/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" ;; Uncomment to provide bakes caching -;BakedTextureService = "8003/OpenSim.Server.Handlers.dll:XBakesConnector +;BakedTextureService = "8003/OpenSim.Server.Handlers.dll:XBakesConnector" ;; Uncomment for UserProfiles see [UserProfilesService] to configure... ; UserProfilesServiceConnector = "8002/OpenSim.Server.Handlers.dll:UserProfilesConnector" -- cgit v1.1 From 3e8f593bf2ed525dbd53ef9807382e9dc2a64c6d Mon Sep 17 00:00:00 2001 From: Lani Global Date: Fri, 21 Feb 2014 19:53:25 +0000 Subject: PhysicalPrimMax to 64m for ini Default files to enable standard size prims and mesh to be used with vehicles. Signed-off-by: Robert Adams --- bin/OpenSimDefaults.ini | 2 +- bin/Regions/Regions.ini.example | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 026f285..f59dbf2 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -97,7 +97,7 @@ NonPhysicalPrimMax = 256 ; Maximum size of physical prims. Affects resizing of existing prims. This can be overriden in the region config file. - PhysicalPrimMax = 10 + PhysicalPrimMax = 64 ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum ; This can be overriden in the region config file. diff --git a/bin/Regions/Regions.ini.example b/bin/Regions/Regions.ini.example index ab3a62a..aabc4f8 100644 --- a/bin/Regions/Regions.ini.example +++ b/bin/Regions/Regions.ini.example @@ -29,7 +29,7 @@ ExternalHostName = "SYSTEMIP" ; * ; NonphysicalPrimMax = 256 -; PhysicalPrimMax = 10 +; PhysicalPrimMax = 64 ; ClampPrimSize = False ; MaxPrims = 15000 ; MaxAgents = 100 -- cgit v1.1 From 71c808cd32f6049d99b8d802d24ab1d07011fb48 Mon Sep 17 00:00:00 2001 From: Lani Global Date: Sat, 22 Feb 2014 18:28:48 +0000 Subject: PhysicalPrimMax 64m for OpenSim_ini_example standard size prim Signed-off-by: Robert Adams --- bin/OpenSim.ini.example | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index e3b91ae..c4697a1 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -113,15 +113,15 @@ ;; NonPhysicalPrimMax!). ; NonPhysicalPrimMax = 256 - ;# {PhysicalPrimMin} {} {Minimum size of physical prims?} {} 10 + ;# {PhysicalPrimMin} {} {Minimum size of physical prims?} {} 0.01 ;; Maximum size where a prim can be physical. Affects resizing of ;; existing prims. This can be overriden in the region config file. ; PhysicalPrimMin = 0.01 - ;# {PhysicalPrimMax} {} {Maximum size of physical prims?} {} 10 + ;# {PhysicalPrimMax} {} {Maximum size of physical prims?} {} 64 ;; Maximum size where a prim can be physical. Affects resizing of ;; existing prims. This can be overriden in the region config file. - ; PhysicalPrimMax = 10 + ; PhysicalPrimMax = 64 ;# {ClampPrimSize} {} {Clamp viewer rezzed prims to max sizes?} {true false} false ;; If a viewer attempts to rez a prim larger than the non-physical or -- cgit v1.1 From f27766d47b5fdb43edaff078d7ba40289794cf2a Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 18 Mar 2014 21:02:44 +0000 Subject: Set executable flag on BulletXNA.dll for cygwin --- bin/BulletXNA.dll | Bin 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 bin/BulletXNA.dll (limited to 'bin') diff --git a/bin/BulletXNA.dll b/bin/BulletXNA.dll old mode 100644 new mode 100755 -- cgit v1.1 From fdcd392582ff6cfc35a2aa6b6e01ada03bc51646 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 18 Mar 2014 21:04:37 +0000 Subject: Set executable bit on Npgsql.dll for cygwin --- bin/Npgsql.dll | Bin 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 bin/Npgsql.dll (limited to 'bin') diff --git a/bin/Npgsql.dll b/bin/Npgsql.dll old mode 100644 new mode 100755 -- cgit v1.1 From 61353dde80a3912e26959c612a1d8d46ec1bc826 Mon Sep 17 00:00:00 2001 From: Jak Daniels Date: Mon, 17 Mar 2014 20:39:36 +0000 Subject: Allow Region specific static maptiles to be loaded from file. --- bin/OpenSim.ini.example | 1 + bin/Regions/Regions.ini.example | 37 +++++++++++++++++++++++++++++++++++-- 2 files changed, 36 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index c4697a1..bf5e18c 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -297,6 +297,7 @@ ;# {MaptileStaticUUID} {} {Asset ID for static map texture} {} 00000000-0000-0000-0000-000000000000 ;; If not generating maptiles, use this static texture asset ID + ;; This may be overridden on a per region basis in Regions.ini ; MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" ;# {TextureOnMapTile} {} {Use terrain textures for map tiles?} {true false} true diff --git a/bin/Regions/Regions.ini.example b/bin/Regions/Regions.ini.example index aabc4f8..57d503e 100644 --- a/bin/Regions/Regions.ini.example +++ b/bin/Regions/Regions.ini.example @@ -46,7 +46,40 @@ ExternalHostName = "SYSTEMIP" ; RegionType = "Mainland" +; * Region Specific Static Maptiles: +; * Important: To use any kind of texture *assets* as a static maptile, the following +; * things must be set in the [Map] section of OpenSim.ini : ; * -; * UUID of texture to use as a maptile for this region. -; * Only set if you have disabled dynamic generation of the map tile from the region contents. +; * MapImageModule = "MapImageModule" +; * GenerateMaptiles = false +; * +; * Now, there is a setting in [Map] in OpenSim.ini called +; * +; * MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" +; * +; * where, given the criteria above, lets you specify the UUID of a texture asset to use +; * as a maptile *Simulator Wide*. Here, you can override that on a per region basis for +; * Simulators that run multiple regions: + ; MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" + + +; * Region Specific Static Maptiles from file: +; * It is also possible to create maptiles using external image files of the right size +; * and supported formats (bmp,tga,png,jpg in RGB 24bpp format) +; * +; * Important: To use any kind of texture *files* as a static maptile, the following +; * things must be set in the [Map] section of OpenSim.ini : +; * +; * MapImageModule = "MapImageModule" +; * GenerateMaptiles = true +; * +; * The image must be the same size in pixels as the region or varregion is in meters. +; * i.e. 256x256 pixels for single region of 256x256m, or 1280x1280 pixels for a varregion +; * of size 1280x1280m. The image is loaded from OpenSim's bin/maptiles/ directory. +; * +; * If this setting is used, then the base map is generated from this file instead of being +; * built using MapImageModule's terrain and prim renderer. Parcel 'for sale' overlays are +; * still drawn on top of the static map by the World Map module. + +; MaptileStaticFile = "SomeFile.png" \ No newline at end of file -- cgit v1.1 From b5f94c72b9a87237019ae6bff9e095bd2e0e29ef Mon Sep 17 00:00:00 2001 From: Michael Cerquoni Date: Wed, 19 Mar 2014 11:16:52 -0400 Subject: Allow MaptileStaticFile path to be set to anywhere and not force it to bin/maptiles --- bin/Regions/Regions.ini.example | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/Regions/Regions.ini.example b/bin/Regions/Regions.ini.example index 57d503e..36ccd8c 100644 --- a/bin/Regions/Regions.ini.example +++ b/bin/Regions/Regions.ini.example @@ -66,7 +66,7 @@ ExternalHostName = "SYSTEMIP" ; * Region Specific Static Maptiles from file: ; * It is also possible to create maptiles using external image files of the right size -; * and supported formats (bmp,tga,png,jpg in RGB 24bpp format) +; * and supported formats (bmp,png,jpg in RGB 24bpp format) ; * ; * Important: To use any kind of texture *files* as a static maptile, the following ; * things must be set in the [Map] section of OpenSim.ini : @@ -76,7 +76,8 @@ ExternalHostName = "SYSTEMIP" ; * ; * The image must be the same size in pixels as the region or varregion is in meters. ; * i.e. 256x256 pixels for single region of 256x256m, or 1280x1280 pixels for a varregion -; * of size 1280x1280m. The image is loaded from OpenSim's bin/maptiles/ directory. +; * of size 1280x1280m. The image can be loaded from anywhere by setting the path +; * ie: MaptileStaticFile = "maptiles/SomeFile.png" ; * ; * If this setting is used, then the base map is generated from this file instead of being ; * built using MapImageModule's terrain and prim renderer. Parcel 'for sale' overlays are -- cgit v1.1 From da259033006c33f83872feae5737398fcffa6639 Mon Sep 17 00:00:00 2001 From: H-H-H Date: Thu, 20 Mar 2014 21:32:33 +0000 Subject: Adding a way to disable/enable the in built Dwell Module --- bin/OpenSimDefaults.ini | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index f59dbf2..d8474d3 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1791,6 +1791,9 @@ ;; Default time interval (in ms) for the throttle service thread to wake up Interval = 5000 +[Dwell] + ;; This enables the built in basic dwell module + DwellModule = DefaultDwellModule [Modules] Include-modules = "addon-modules/*/config/*.ini" -- cgit v1.1 From 3d0778bcd6ca6711850257a7d666fc30919e7e66 Mon Sep 17 00:00:00 2001 From: Dev Random Date: Fri, 21 Mar 2014 20:43:26 -0400 Subject: Allow Mono Plugin Registry setting for Regions Signed-off-by: Melanie --- bin/OpenSimDefaults.ini | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index d8474d3..4f2563c 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -57,6 +57,12 @@ ; when running with the SmartThreadPool option above MaxPoolThreads = 15 + ; Plugin Registry Location + ; Set path to directory for plugin registry. Information about the + ; registered repositories and installed plugins will be stored here. + ; The OpenSim.exe process must have R/W access to the location. + ; RegistryLocation = "." + ; ## ; ## CLIENTS ; ## -- cgit v1.1 From 81c9952e99d7647872649512d5a8564fb78f3baa Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Sun, 23 Mar 2014 16:40:09 +0200 Subject: Added missing quotes in Robust.HG.ini.example --- bin/Robust.HG.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 245f363..91ea42a 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -634,7 +634,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ;; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;" ;; Realm = UserProfiles UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService - AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService + AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" [BakedTextureService] LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes" -- cgit v1.1 From f5ae36d7e25a20199d676e53a066be79f76b580d Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Tue, 3 Dec 2013 08:47:47 +0200 Subject: Updated Prebuild to support .NET 4.5 Resolves http://opensimulator.org/mantis/view.php?id=6951 --- bin/Prebuild.exe | Bin 224768 -> 233472 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Prebuild.exe b/bin/Prebuild.exe index 1d4a8e8..cc64706 100755 Binary files a/bin/Prebuild.exe and b/bin/Prebuild.exe differ -- cgit v1.1 From 5b2af7f99ea9caf7c00674abd87b33797ce13ef4 Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Mon, 24 Mar 2014 18:33:18 +0200 Subject: Moved the linkage between LoginService and HGInventoryService to the config file --- bin/Robust.HG.ini.example | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 91ea42a..14e9bff 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -335,6 +335,10 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" + ; This inventory service will be used to initialize the user's inventory + HGInventoryServicePlugin = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" + HGInventoryServiceConstructorArg = "HGInventoryService" + ;; Ask co-operative viewers to use a different currency name ;Currency = "" -- cgit v1.1 From 8ecab21b379d34f97ac966b13e1605024364142b Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Mon, 2 Dec 2013 15:18:47 +0200 Subject: Use log-rolling on the log files (once per day) Resolves http://opensimulator.org/mantis/view.php?id=6950 --- bin/OpenSim.32BitLaunch.exe.config | 4 +++- bin/OpenSim.exe.config | 4 +++- bin/Robust.32BitLaunch.exe.config | 4 +++- bin/Robust.exe.config | 4 +++- 4 files changed, 12 insertions(+), 4 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.32BitLaunch.exe.config b/bin/OpenSim.32BitLaunch.exe.config index a07ace3..25776f2 100644 --- a/bin/OpenSim.32BitLaunch.exe.config +++ b/bin/OpenSim.32BitLaunch.exe.config @@ -23,9 +23,11 @@ - + + + diff --git a/bin/OpenSim.exe.config b/bin/OpenSim.exe.config index 1ec3c9c..8b48156 100755 --- a/bin/OpenSim.exe.config +++ b/bin/OpenSim.exe.config @@ -23,9 +23,11 @@ - + + + diff --git a/bin/Robust.32BitLaunch.exe.config b/bin/Robust.32BitLaunch.exe.config index f2802a2..3bae9ec 100644 --- a/bin/Robust.32BitLaunch.exe.config +++ b/bin/Robust.32BitLaunch.exe.config @@ -21,9 +21,11 @@ - + + + diff --git a/bin/Robust.exe.config b/bin/Robust.exe.config index 6ffdfef..889a964 100644 --- a/bin/Robust.exe.config +++ b/bin/Robust.exe.config @@ -21,9 +21,11 @@ - + + + -- cgit v1.1 From fce3fca7f9bc81a0dd21976a8e790192736efb34 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Fri, 20 Dec 2013 05:44:54 -0500 Subject: Add the UserProfiles local service module to non-HG Standalone configuration. --- bin/config-include/Standalone.ini | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/config-include/Standalone.ini b/bin/config-include/Standalone.ini index ee07e74..0072be5 100644 --- a/bin/config-include/Standalone.ini +++ b/bin/config-include/Standalone.ini @@ -12,6 +12,7 @@ AuthorizationServices = "LocalAuthorizationServicesConnector" GridServices = "LocalGridServicesConnector" PresenceServices = "LocalPresenceServicesConnector" + UserProfilesServices = "LocalUserProfilesServicesConnector" UserAccountServices = "LocalUserAccountServicesConnector" GridUserServices = "LocalGridUserServicesConnector" SimulationServices = "LocalSimulationConnectorModule" -- cgit v1.1 From cffea984f141381befed09b0d86f9d36befbbc63 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 26 Mar 2014 00:50:33 +0000 Subject: minor: Remove "js" (Javascript) from list of allowed languages in script config since it hasn't been present in OpenSimulator for a very long time (0.6 days) One reason support was removed is that the external DLL that implemented Javascript stopped development. Not sure how well this ever worked in OpenSimulator. Not removing vb for now as this is directly supported by Mono (via vbnc compiler) though I strongly suspect it is also inoperable. --- bin/OpenSim.ini.example | 2 +- bin/OpenSimDefaults.ini | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index bf5e18c..b6fba8b 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -827,7 +827,7 @@ ;# {AllowedCompilers} {Enabled:true} {Languages to allow (comma separated)?} {} lsl ;; List of allowed languages (lsl,vb,cs) - ;; AllowedCompilers=lsl,cs,js,vb. + ;; AllowedCompilers=lsl,cs,vb ;; *warning*, non lsl languages have access to static methods such as ;; System.IO.File. Enable at your own risk. ; AllowedCompilers = "lsl" diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 4f2563c..91fd05d 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1420,8 +1420,8 @@ ; Default language for scripts DefaultCompileLanguage = lsl - ; List of allowed languages (lsl,vb,js,cs) - ; AllowedCompilers=lsl,cs,js,vb. + ; List of allowed languages (lsl,vb,cs) + ; AllowedCompilers=lsl,cs,vb ; *warning*, non lsl languages have access to static methods such as System.IO.File. Enable at your own risk. AllowedCompilers=lsl -- cgit v1.1 From 14a7ddb885a284f3e8b61be4f3a0fbc265ea5fbb Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Wed, 26 Mar 2014 08:56:56 +0200 Subject: Revert "Use log-rolling on the log files (once per day)" This reverts commit 8ecab21b379d34f97ac966b13e1605024364142b. --- bin/OpenSim.32BitLaunch.exe.config | 10 ++++++++-- bin/OpenSim.exe.config | 10 ++++++++-- bin/Robust.32BitLaunch.exe.config | 10 ++++++++-- bin/Robust.exe.config | 10 ++++++++-- 4 files changed, 32 insertions(+), 8 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.32BitLaunch.exe.config b/bin/OpenSim.32BitLaunch.exe.config index 25776f2..5b7807a 100644 --- a/bin/OpenSim.32BitLaunch.exe.config +++ b/bin/OpenSim.32BitLaunch.exe.config @@ -23,11 +23,17 @@ + + + + + diff --git a/bin/OpenSim.exe.config b/bin/OpenSim.exe.config index 8b48156..31f1064 100755 --- a/bin/OpenSim.exe.config +++ b/bin/OpenSim.exe.config @@ -23,11 +23,17 @@ + + + + + diff --git a/bin/Robust.32BitLaunch.exe.config b/bin/Robust.32BitLaunch.exe.config index 3bae9ec..95061e1 100644 --- a/bin/Robust.32BitLaunch.exe.config +++ b/bin/Robust.32BitLaunch.exe.config @@ -21,11 +21,17 @@ + + + + + diff --git a/bin/Robust.exe.config b/bin/Robust.exe.config index 889a964..b9e01f1 100644 --- a/bin/Robust.exe.config +++ b/bin/Robust.exe.config @@ -21,11 +21,17 @@ + + + + + -- cgit v1.1 From e7fa8a4699034a7387049c74edce128180e9f1d2 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 26 Mar 2014 23:43:49 +0000 Subject: minor: change misspelling of overriden to overridden in comments within config files Thanks to aiaustin for the spot. --- bin/OpenSim.ini.example | 14 +++++++------- bin/OpenSimDefaults.ini | 10 +++++----- 2 files changed, 12 insertions(+), 12 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index b6fba8b..66504c5 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -103,36 +103,36 @@ ;# {NonPhysicalPrimMin} {} {Minimum size of nonphysical prims?} {} 0.001 ;; Minimum size for non-physical prims. Affects resizing of existing - ;; prims. This can be overriden in the region config file (as + ;; prims. This can be overridden in the region config file (as ;; NonPhysicalPrimMin!). ; NonPhysicalPrimMin = 0.001 ;# {NonPhysicalPrimMax} {} {Maximum size of nonphysical prims?} {} 256 ;; Maximum size for non-physical prims. Affects resizing of existing - ;; prims. This can be overriden in the region config file (as + ;; prims. This can be overridden in the region config file (as ;; NonPhysicalPrimMax!). ; NonPhysicalPrimMax = 256 ;# {PhysicalPrimMin} {} {Minimum size of physical prims?} {} 0.01 ;; Maximum size where a prim can be physical. Affects resizing of - ;; existing prims. This can be overriden in the region config file. + ;; existing prims. This can be overridden in the region config file. ; PhysicalPrimMin = 0.01 ;# {PhysicalPrimMax} {} {Maximum size of physical prims?} {} 64 ;; Maximum size where a prim can be physical. Affects resizing of - ;; existing prims. This can be overriden in the region config file. + ;; existing prims. This can be overridden in the region config file. ; PhysicalPrimMax = 64 ;# {ClampPrimSize} {} {Clamp viewer rezzed prims to max sizes?} {true false} false ;; If a viewer attempts to rez a prim larger than the non-physical or ;; physical prim max, clamp the dimensions to the appropriate maximum - ;; This can be overriden in the region config file. + ;; This can be overridden in the region config file. ; ClampPrimSize = false ;# {LinksetPrims} {} {Max prims an object will hold?} {} 0 ;; Maximum number of prims allowable in a linkset. Affects creating new ;; linksets. Ignored if less than or equal to zero. - ;; This can be overriden in the region config file. + ;; This can be overridden in the region config file. ; LinksetPrims = 0 ;# {AllowScriptCrossing} {} {Allow scripts to cross into this region} {true false} true @@ -278,7 +278,7 @@ ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true ;; Map tile options. ;; If true, then maptiles are generated using the MapImageModule below. - ;; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overriden + ;; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden ;; in individual region config file(s). If you do not want to upload map tiles at all, then you will need ;; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/ ; GenerateMaptiles = true diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 91fd05d..fca0b49 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -99,18 +99,18 @@ ; Increasing this number will increase memory usage. MaxPrimUndos = 20 - ; Maximum size of non physical prims. Affects resizing of existing prims. This can be overriden in the region config file (as NonPhysicalPrimMax!). + ; Maximum size of non physical prims. Affects resizing of existing prims. This can be overridden in the region config file (as NonPhysicalPrimMax!). NonPhysicalPrimMax = 256 - ; Maximum size of physical prims. Affects resizing of existing prims. This can be overriden in the region config file. + ; Maximum size of physical prims. Affects resizing of existing prims. This can be overridden in the region config file. PhysicalPrimMax = 64 ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum - ; This can be overriden in the region config file. + ; This can be overridden in the region config file. ClampPrimSize = false ; Maximum number of prims allowable in a linkset. Affects creating new linksets. Ignored if less than or equal to zero. - ; This can be overriden in the region config file. + ; This can be overridden in the region config file. LinksetPrims = 0 ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region. @@ -522,7 +522,7 @@ enable_adaptive_throttles = true ; Per-client bytes per second rates for the various throttle categories. - ; These are default values that will be overriden by clients. These + ; These are default values that will be overridden by clients. These ; defaults are approximately equivalent to the throttles set by the Imprudence ; viewer when maximum bandwidth is set to 350kbps -- cgit v1.1 From af54e6f370dc03ffafc7540e3aac9979ae0f85ce Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 26 Mar 2014 23:45:02 +0000 Subject: minor: Change incorrect "Maximum" in the PhysicalPrimMin OpenSim.ini.example description to "Minimum" Thanks to aiaustin for the spot. --- bin/OpenSim.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 66504c5..1395d72 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -114,7 +114,7 @@ ; NonPhysicalPrimMax = 256 ;# {PhysicalPrimMin} {} {Minimum size of physical prims?} {} 0.01 - ;; Maximum size where a prim can be physical. Affects resizing of + ;; Minimum size where a prim can be physical. Affects resizing of ;; existing prims. This can be overridden in the region config file. ; PhysicalPrimMin = 0.01 -- cgit v1.1 From 65c4cb48ac49bd6aa9e813a401411be5226d01a7 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Wed, 2 Apr 2014 21:53:58 -0700 Subject: BulletSim: make avatar physical shape to be a rectangle rather than a capsule. Set the default to be the rectangle shape and adjust the parameters in OpenSimDefaults.ini for the new shape. The rectangle shape will perform better and avatar height can be computed more accurately. --- bin/OpenSimDefaults.ini | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index fca0b49..6d756a8 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1015,9 +1015,9 @@ ; Avatar physics height adjustments. ; http://opensimulator.org/wiki/BulletSim#Adjusting_Avatar_Height - AvatarHeightLowFudge = -0.2 ; Adjustment at low end of height range - AvatarHeightMidFudge = 0.1 ; Adjustment at mid point of avatar height range - AvatarHeightHighFudge = 0.1 ; Adjustment at high end of height range + AvatarHeightLowFudge = 0 ; Adjustment at low end of height range + AvatarHeightMidFudge = -0.1 ; Adjustment at mid point of avatar height range + AvatarHeightHighFudge = 0 ; Adjustment at high end of height range ; Default linkset implmentation ; 'Constraint' uses physics constraints to hold linkset together. 'Compound' -- cgit v1.1 From 562a3cb3389ae67e6f7e63c7bf1ff9b882e358a9 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 10 Apr 2014 06:53:36 -0700 Subject: BulletSim: small tweek to avatar height reduce feet embedded into prims. This adjustment makes a default, shoeless avatar stand properly on a prim for the various heights (0% to 100% in the appearance adjustment). --- bin/OpenSimDefaults.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 6d756a8..2a92fbc 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1016,7 +1016,7 @@ ; Avatar physics height adjustments. ; http://opensimulator.org/wiki/BulletSim#Adjusting_Avatar_Height AvatarHeightLowFudge = 0 ; Adjustment at low end of height range - AvatarHeightMidFudge = -0.1 ; Adjustment at mid point of avatar height range + AvatarHeightMidFudge = 0 ; Adjustment at mid point of avatar height range AvatarHeightHighFudge = 0 ; Adjustment at high end of height range ; Default linkset implmentation -- cgit v1.1 From 18b91fdbe95ac499c92556f15f067ca94d88d343 Mon Sep 17 00:00:00 2001 From: Dev Random Date: Sat, 12 Apr 2014 09:40:36 -0400 Subject: Tweak to PrimLimits and add missing Regions.ini example Signed-off-by: Melanie --- bin/Regions/Regions.ini.example | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/Regions/Regions.ini.example b/bin/Regions/Regions.ini.example index 36ccd8c..253e897 100644 --- a/bin/Regions/Regions.ini.example +++ b/bin/Regions/Regions.ini.example @@ -34,6 +34,10 @@ ExternalHostName = "SYSTEMIP" ; MaxPrims = 15000 ; MaxAgents = 100 +; * Max prims per user (per parcel). +; * Negative values will disable the check. +; MaxPrimsPerUser = -1 + ; * ; * Multi-Tenancy. Only set if needed ; * @@ -83,4 +87,4 @@ ExternalHostName = "SYSTEMIP" ; * built using MapImageModule's terrain and prim renderer. Parcel 'for sale' overlays are ; * still drawn on top of the static map by the World Map module. -; MaptileStaticFile = "SomeFile.png" \ No newline at end of file +; MaptileStaticFile = "SomeFile.png" -- cgit v1.1 From d1865c526d12c41d4a42e39d0e3fffd7b1c1eca2 Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Thu, 24 Apr 2014 07:48:19 +0300 Subject: Removed unused CsharpSqlite DLLs --- bin/Community.CsharpSqlite.Sqlite.dll | Bin 39424 -> 0 bytes bin/Community.CsharpSqlite.Sqlite.pdb | Bin 124416 -> 0 bytes bin/Community.CsharpSqlite.dll | Bin 659456 -> 0 bytes bin/Community.CsharpSqlite.pdb | Bin 1447424 -> 0 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100755 bin/Community.CsharpSqlite.Sqlite.dll delete mode 100644 bin/Community.CsharpSqlite.Sqlite.pdb delete mode 100755 bin/Community.CsharpSqlite.dll delete mode 100644 bin/Community.CsharpSqlite.pdb (limited to 'bin') diff --git a/bin/Community.CsharpSqlite.Sqlite.dll b/bin/Community.CsharpSqlite.Sqlite.dll deleted file mode 100755 index 93ac7bd..0000000 Binary files a/bin/Community.CsharpSqlite.Sqlite.dll and /dev/null differ diff --git a/bin/Community.CsharpSqlite.Sqlite.pdb b/bin/Community.CsharpSqlite.Sqlite.pdb deleted file mode 100644 index 3920d80..0000000 Binary files a/bin/Community.CsharpSqlite.Sqlite.pdb and /dev/null differ diff --git a/bin/Community.CsharpSqlite.dll b/bin/Community.CsharpSqlite.dll deleted file mode 100755 index a2e4513..0000000 Binary files a/bin/Community.CsharpSqlite.dll and /dev/null differ diff --git a/bin/Community.CsharpSqlite.pdb b/bin/Community.CsharpSqlite.pdb deleted file mode 100644 index bb8c4e5..0000000 Binary files a/bin/Community.CsharpSqlite.pdb and /dev/null differ -- cgit v1.1 From a108fcac957dd2283fb8904207addda6dc7582f0 Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 25 Apr 2014 21:34:29 +0100 Subject: Restore overload mode accidentally disabled in a prior commit. Add a new config option, LogOverloads, to log when a thread pool overload occurs. This option defaults to "True" because the logging data is useful for diagnosing threading issues. --- bin/OpenSimDefaults.ini | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 2a92fbc..df332ca 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -292,6 +292,14 @@ ; False items will be removed from the scene permanently UseTrashOnDelete = True + ; # + ; # Logging + ; # + + ; Force logging when the thread pool approaches an overload condition + ; Provides useful data for post-mortem analysis even in a production + ; system with reduced logging + LogOverloads = True [Map] ;WorldMapModule = "WorldMap" -- cgit v1.1 From 5a10da3ee89934e366c1d69833b81605dbc35017 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 3 May 2014 17:13:53 -0700 Subject: Added a optional key between the group remote connectors, sim and service. This allows for more secure group services, to be used by collections of mutually-trusting grids. --- bin/OpenSim.ini.example | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 1395d72..8742313 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -996,6 +996,10 @@ ;; Used for V2 in HG only. If standalone, set this to local; if grided sim, set this to remote ; LocalService = local + ;# {SecretKey} {ServicesConnectorModule:Groups Remote Service Connector} {Secret key between sim and remote group service} {} "" + ;; Used for V2 in Remote only. + ; SecretKey = "" + ;# {GroupsServerURI} {Module:GroupsModule (ServicesConnectorModule:Groups Remote Service Connector or (ServicesConnectorModule:Groups HG Service Connector and LocalService:remote))} {Groups Server URI} {} ;; URI for the groups services of this grid ;; e.g. http://yourxmlrpcserver.com/xmlrpc.php for Flotsam XmlRpc -- cgit v1.1 From 13b2ac14253a5f9ec75ec9712d1fd2fe17d1d005 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sun, 4 May 2014 20:54:42 -0700 Subject: Makes it possible to support grids in which all the simulators share all central services of a Robust server EXCEPT assets. In other words, grids where the simulators' assets are kept in one DB and the users' inventory assets are kept on another. When users rez items from inventory or take objects from world, an HG-like asset copy takes place between the 2 servers, the world asset server and the user's asset server. This makes the simulators independent of the central asset server. Note that this an advanced configuration and requires some security strengthening coming up. --- bin/config-include/GridCommon.ini.example | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index 5460c0a..59eebd8 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -160,13 +160,21 @@ HomeURI = "http://mygridserver.com:8002" Gatekeeper = "http://mygridserver.com:8002" ;; If you want to protect your assets from being copied by foreign visitors - ;; uncomment the next line. You may want to do this on sims that have licensed content. - ; OutboundPermission = False + ;; set this to false. You may want to do this on sims that have licensed content. + ;; Default is true. + ; OutboundPermission = True ;; Send visual reminder to local users that their inventories are unavailable while they are traveling ;; and available when they return. True by default. ;RestrictInventoryAccessAbroad = True + ;; Warning: advanced and unusual. Default is false. + ;; Enables configurations where grids share user services, including inventory, + ;; while separating regions' assets from users' assets. Asset transfer between + ;; the users' asset server and the regions' asset server is done in HG-like manner. + ; CheckSeparateAssets = false + ; RegionHGAssetServerURI = http://mygridserver.com:8002 + [HGAssetService] ; -- cgit v1.1 From 539165e6bd87b3a4cc76b5a730abb88017bff555 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 6 May 2014 17:28:21 +0100 Subject: minor: Change configuration text in config files to reflect the existing situation of BulletSim as the default physics engine. --- bin/OpenSim.ini.example | 11 ++++++----- bin/OpenSimDefaults.ini | 9 ++++++--- 2 files changed, 12 insertions(+), 8 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 8742313..7f2cba6 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -204,11 +204,12 @@ ; meshing = ZeroMesher ;; Choose one of the physics engines below - ;# {physics} {} {Select physics engine} {OpenDynamicsEngine BulletSim basicphysics POS} OpenDynamicsEngine - ;; OpenDynamicsEngine is by some distance the most developed physics engine - ;; BulletSim is experimental and in active development. - ;; basicphysics effectively does not model physics at all, making all - ;; objects phantom. + ;# {physics} {} {Select physics engine} {OpenDynamicsEngine BulletSim basicphysics POS} BulletSim + ;; BulletSim is the default physics engine. It provides the best performance and most functionality. + ;; BulletSim supports varregions. + ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. + ;; It continues to provide a workable physics implementation. It does not currently support varregions. + ;; basicphysics effectively does not model physics at all, making all objects phantom. ;; Default is OpenDynamicsEngine ; physics = OpenDynamicsEngine ; physics = BulletSim diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index df332ca..cae2958 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -234,9 +234,12 @@ ; to false if you have compatibility problems. ;CacheSculptMaps = true - ; Choose one of the physics engines below. - ; BulletSim is a high performance physics engine. It is the default OpenSimulator physics engine - ; OpenDynamicsEngine is another developed physics engine that was the previous default in OpenSimulator 0.7.6 and before + ;; BulletSim is the default physics engine. It provides the best performance and most functionality. + ;; BulletSim supports varregions. + ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. + ;; It continues to provide a workable physics implementation. It does not currently support varregions. + ;; basicphysics effectively does not model physics at all, making all objects phantom. + ;; Default is OpenDynamicsEngine physics = BulletSim ;physics = modified_BulletX ;physics = OpenDynamicsEngine -- cgit v1.1 From 812f5e124df0ef77a24c4937cc35cef0cac13cad Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 7 May 2014 18:39:56 +0100 Subject: Remove duplicate HypergridLinker entry from [GridService] in Robust.HG.ini.example --- bin/Robust.HG.ini.example | 2 -- 1 file changed, 2 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 14e9bff..3dd984e 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -163,8 +163,6 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset [GridService] LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" - HypergridLinker = true - ; Realm = "regions" ; AllowDuplicateNames = "True" -- cgit v1.1 From 2b33677402c3a18ed753e78e02bb191bfcdcee5b Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 7 May 2014 23:32:02 +0100 Subject: Add GridUserService service config to [UserAccountService] in Robust[.HG].ini.example so that home can be set for new users rather than always warning that it can't be set. Code already exists to do this but forgot to put entry into config files a long time ago. Thanks to AliciaRaven for the spot. Relates to http://opensimulator.org/mantis/view.php?id=7155 --- bin/Robust.HG.ini.example | 1 + bin/Robust.ini.example | 1 + 2 files changed, 2 insertions(+) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 3dd984e..e385200 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -282,6 +282,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset GridService = "OpenSim.Services.GridService.dll:GridService" InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" + GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 ;; to show a default "Ruth" avatar rather than a cloud for a newly created user. diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 829e393..2f1a627 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -240,6 +240,7 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto GridService = "OpenSim.Services.GridService.dll:GridService" InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" + GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 ;; to show a default "Ruth" avatar rather than a cloud for a newly created user. -- cgit v1.1 From b46be88db62bcfa7dcf70c3677a1a1270d177a22 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Mon, 19 May 2014 22:45:17 +0100 Subject: Split verbose groups messaging logging into its own setting separate from that of the groups module. This is to allow us to get useful information on messaging without being overwhelmed by the rest of groups debug. Enabled with [Groups] DebugMessagingEnabled = true in config (default false) Or "debug groups messaging verbose true|false on the console" (similar to existing groups setting). Done for both xmlrpc and V2 groups. --- bin/OpenSimDefaults.ini | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index cae2958..3b7a611 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1664,6 +1664,9 @@ ; This makes the Groups modules very chatty on the console. DebugEnabled = false + ; This makes the Groups Messaging modules very chatty on the console. + DebugMessagingEnabled = false + ; Groups data is cached for this number of seconds before another request is made to the groups service ; Set to 0 to disable the cache. ; Default is 30 seconds -- cgit v1.1 From 77a331fce360fbd4640bd98ec2f6dfb00d31eac5 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Mon, 19 May 2014 23:00:04 +0100 Subject: Add DebugMessagingEnabled = false to OpenSim.ini.example for consistency. Slightly simplify config comments. --- bin/OpenSim.ini.example | 5 ++++- bin/OpenSimDefaults.ini | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 7f2cba6..f3cd603 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1033,9 +1033,12 @@ ; Applies Flotsam Group only. V2 has this always on, no other option ; MessageOnlineUsersOnly = false - ;; This makes the Groups modules very chatty on the console. + ;; This makes the Group module very chatty on the console. ; DebugEnabled = false + ; This makes the Group Messaging module very chatty on the console. + ; DebugMessagingEnabled = false + ;; XmlRpc Security settings. These must match those set on your backend ;; groups service if the service is using these keys ; XmlRpcServiceReadKey = 1234 diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 3b7a611..fd6e8b7 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1661,10 +1661,10 @@ ; Enable Group Notices ;NoticesEnabled = true - ; This makes the Groups modules very chatty on the console. + ; This makes the Group module very chatty on the console. DebugEnabled = false - ; This makes the Groups Messaging modules very chatty on the console. + ; This makes the Groups Messaging module very chatty on the console. DebugMessagingEnabled = false ; Groups data is cached for this number of seconds before another request is made to the groups service -- cgit v1.1 From 20f20895cf1444071d5edc42e11a1fb94b1b1079 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 23 May 2014 16:19:43 -0700 Subject: Adds optional HTTP Basic Authentication to Robust service connectors. --- bin/OpenSim.ini.example | 10 ++++++++++ bin/Robust.HG.ini.example | 15 +++++++++++++++ bin/Robust.ini.example | 13 +++++++++++++ 3 files changed, 38 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index f3cd603..3f9aed6 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -470,6 +470,16 @@ ;; web server ; user_agent = "OpenSim LSL (Mozilla Compatible)" + ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services. + ;; Use this if your central services in port 8003 need to be accessible on the Internet + ;; but you want to protect them from unauthorized access. The username and password + ;; here need to match the ones in the Robust service configuration. + ; AuthType = "BasicHttpAuthentication" + ; HttpAuthUsername = "some_username" + ; HttpAuthPassword = "some_password" + ;; + ;; Any of these 3 variables above can be overriden in any of the service sections. + [XMLRPC] ;# {XmlRpcRouterModule} {} {Module used to route incoming llRemoteData calls} {XmlRpcRouterModule XmlRpcGridRouterModule} XmlRpcRouterModule diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index e385200..aaa78ff 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -104,6 +104,21 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; Password for cert ; cert_pass = "password" + ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services. + ;; Use this if your central services in port 8003 need to be accessible on the Internet + ;; but you want to protect them from unauthorized access. + ; AuthType = "BasicHttpAuthentication" + ; HttpAuthUsername = "some_username" + ; HttpAuthPassword = "some_password" + ;; + ;; AuthType above can be overriden in any of the service sections below by + ; AuthType = "None" + ;; This is useful in cases where you want to protect most of the services, + ;; but unprotect individual services. Username and Password can also be + ;; overriden if you want to use different credentials for the different services. + ;; Hypgergrid services are not affected by this; they are publicly available + ;; by design. + ; * The following are for the remote console ; * They have no effect for the local or basic console types diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 2f1a627..203c0e0 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -81,6 +81,19 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; Password for cert ; cert_pass = "password" + ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services. + ;; Use this if your central services in port 8003 need to be accessible on the Internet + ;; but you want to protect them from unauthorized access. + ; AuthType = "BasicHttpAuthentication" + ; HttpAuthUsername = "some_username" + ; HttpAuthPassword = "some_password" + ;; + ;; AuthType above can be overriden in any of the service sections below by + ; AuthType = "None" + ;; This is useful in cases where you want to protect most of the services, + ;; but unprotect individual services. Username and Password can also be + ;; overriden if you want to use different credentials for the different services. + ; * The following are for the remote console ; * They have no effect for the local or basic console types -- cgit v1.1 From 464d31b70bc870bd0945cb26c51dc1df48c2ec2a Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 27 May 2014 20:42:36 +0100 Subject: Stop appending redundant newline to console messages in Robust and pCampbot configs This is to fix an issue since recent commit fbcb763 where these are no longer removed automatically. OpenSim.*.config was already not appending these newlines --- bin/Robust.32BitLaunch.exe.config | 2 +- bin/Robust.exe.config | 2 +- bin/pCampBot.exe.config | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/Robust.32BitLaunch.exe.config b/bin/Robust.32BitLaunch.exe.config index 95061e1..0399a1b 100644 --- a/bin/Robust.32BitLaunch.exe.config +++ b/bin/Robust.32BitLaunch.exe.config @@ -17,7 +17,7 @@ - + diff --git a/bin/Robust.exe.config b/bin/Robust.exe.config index b9e01f1..3a978b2 100644 --- a/bin/Robust.exe.config +++ b/bin/Robust.exe.config @@ -17,7 +17,7 @@ - + diff --git a/bin/pCampBot.exe.config b/bin/pCampBot.exe.config index 7912991..89350b0 100755 --- a/bin/pCampBot.exe.config +++ b/bin/pCampBot.exe.config @@ -11,7 +11,7 @@ - + -- cgit v1.1 From 30cde52634e807197a857b94a5b0f2be7cec5b3b Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 5 Jun 2014 16:51:08 -0700 Subject: Updated Regions.ini.example to include var regions configs. --- bin/Regions/Regions.ini.example | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'bin') diff --git a/bin/Regions/Regions.ini.example b/bin/Regions/Regions.ini.example index 253e897..7186c84 100644 --- a/bin/Regions/Regions.ini.example +++ b/bin/Regions/Regions.ini.example @@ -24,6 +24,13 @@ AllowAlternatePorts = False ExternalHostName = "SYSTEMIP" ; * +; * Variable-sized regions allows the creation of large, borderless spaces. +; * The default is 256 meters. For larger spaces, set these to multiples of 256. +; * +; SizeX = 512 +; SizeY = 512 + +; * ; * Prim data ; * This allows limiting the sizes of prims and the region prim count ; * -- cgit v1.1 From 90de9df3e83bc0573589d77a20ccfdbda2d6d7e5 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 5 Jun 2014 20:31:31 -0700 Subject: Better comment regarding SizeX and SizeY --- bin/Regions/Regions.ini.example | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/Regions/Regions.ini.example b/bin/Regions/Regions.ini.example index 7186c84..d808e9a 100644 --- a/bin/Regions/Regions.ini.example +++ b/bin/Regions/Regions.ini.example @@ -26,6 +26,7 @@ ExternalHostName = "SYSTEMIP" ; * ; * Variable-sized regions allows the creation of large, borderless spaces. ; * The default is 256 meters. For larger spaces, set these to multiples of 256. +; * For the time being, X and Y need to be the same. ; * ; SizeX = 512 ; SizeY = 512 -- cgit v1.1 From fe779128b0c50f44cf479444444754298d829910 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 6 Jun 2014 11:04:53 -0700 Subject: Added simulation version compatibility check so that agents coming from 0.7.6 to a varregion running in 0.8 and above will be denied teleport, rather than be allowed and crash the viewer. --- bin/config-include/Grid.ini | 10 +++++++--- bin/config-include/GridHypergrid.ini | 8 ++++++-- bin/config-include/Standalone.ini | 8 ++++++-- bin/config-include/StandaloneHypergrid.ini | 8 ++++++-- 4 files changed, 25 insertions(+), 9 deletions(-) (limited to 'bin') diff --git a/bin/config-include/Grid.ini b/bin/config-include/Grid.ini index e7141a1..419b40d 100644 --- a/bin/config-include/Grid.ini +++ b/bin/config-include/Grid.ini @@ -33,13 +33,17 @@ [SimulationService] ; This is the protocol version which the simulator advertises to the source destination when acting as a target destination for a teleport ; It is used to control the teleport handoff process. - ; Valid values are + ; Valid values are + ; "SIMULATION/0.3" + ; - This is the default, and it supports teleports to variable-sized regions + ; - Older versions can teleport to this one, but only if the destination region + ; is 256x256 ; "SIMULATION/0.2" - ; - this is the default. A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol + ; - A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol ; - this protocol is more efficient than "SIMULATION/0.1" ; "SIMULATION/0.1" ; - this is an older teleport protocol used in OpenSimulator 0.7.5 and before. - ConnectorProtocolVersion = "SIMULATION/0.2" + ConnectorProtocolVersion = "SIMULATION/0.3" [SimulationDataStore] LocalServiceModule = "OpenSim.Services.Connectors.dll:SimulationDataService" diff --git a/bin/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini index 8f17527..27cc9d8 100644 --- a/bin/config-include/GridHypergrid.ini +++ b/bin/config-include/GridHypergrid.ini @@ -39,12 +39,16 @@ ; This is the protocol version which the simulator advertises to the source destination when acting as a target destination for a teleport ; It is used to control the teleport handoff process. ; Valid values are + ; "SIMULATION/0.3" + ; - This is the default, and it supports teleports to variable-sized regions + ; - Older versions can teleport to this one, but only if the destination region + ; is 256x256 ; "SIMULATION/0.2" - ; - this is the default. A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol + ; - A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol ; - this protocol is more efficient than "SIMULATION/0.1" ; "SIMULATION/0.1" ; - this is an older teleport protocol used in OpenSimulator 0.7.5 and before. - ConnectorProtocolVersion = "SIMULATION/0.2" + ConnectorProtocolVersion = "SIMULATION/0.3" [Profile] Module = "BasicProfileModule" diff --git a/bin/config-include/Standalone.ini b/bin/config-include/Standalone.ini index 0072be5..887f4d8 100644 --- a/bin/config-include/Standalone.ini +++ b/bin/config-include/Standalone.ini @@ -31,12 +31,16 @@ ; This is the protocol version which the simulator advertises to the source destination when acting as a target destination for a teleport ; It is used to control the teleport handoff process. ; Valid values are + ; "SIMULATION/0.3" + ; - This is the default, and it supports teleports to variable-sized regions + ; - Older versions can teleport to this one, but only if the destination region + ; is 256x256 ; "SIMULATION/0.2" - ; - this is the default. A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol + ; - A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol ; - this protocol is more efficient than "SIMULATION/0.1" ; "SIMULATION/0.1" ; - this is an older teleport protocol used in OpenSimulator 0.7.5 and before. - ConnectorProtocolVersion = "SIMULATION/0.2" + ConnectorProtocolVersion = "SIMULATION/0.3" [SimulationDataStore] LocalServiceModule = "OpenSim.Services.Connectors.dll:SimulationDataService" diff --git a/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini index f39cf09..ccb80cb 100644 --- a/bin/config-include/StandaloneHypergrid.ini +++ b/bin/config-include/StandaloneHypergrid.ini @@ -42,12 +42,16 @@ ; This is the protocol version which the simulator advertises to the source destination when acting as a target destination for a teleport ; It is used to control the teleport handoff process. ; Valid values are + ; "SIMULATION/0.3" + ; - This is the default, and it supports teleports to variable-sized regions + ; - Older versions can teleport to this one, but only if the destination region + ; is 256x256 ; "SIMULATION/0.2" - ; - this is the default. A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol + ; - A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol ; - this protocol is more efficient than "SIMULATION/0.1" ; "SIMULATION/0.1" ; - this is an older teleport protocol used in OpenSimulator 0.7.5 and before. - ConnectorProtocolVersion = "SIMULATION/0.2" + ConnectorProtocolVersion = "SIMULATION/0.3" [Messaging] MessageTransferModule = HGMessageTransferModule -- cgit v1.1 From b913f1c8ab45c238f129be2b35b254b2e807dc60 Mon Sep 17 00:00:00 2001 From: Michael Cerquoni Date: Fri, 6 Jun 2014 16:59:13 -0400 Subject: bump default teleport limit to 65535 regions --- bin/OpenSimDefaults.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index fd6e8b7..55cf5cf 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -701,7 +701,7 @@ ; can't handle teleports that are greater than this distance ; Setting to 0 will allow teleports of any distance ; - max_distance = 16383 + max_distance = 65535 ; Minimum user level required for HyperGrid teleports LevelHGTeleport = 0 -- cgit v1.1 From 2766b37d8bac60de24897f4cea4f18545900219c Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 6 Jun 2014 14:50:38 -0700 Subject: Missed this ini change in previous commit --- bin/OpenSimDefaults.ini | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index fd6e8b7..8fbc5a8 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -689,12 +689,16 @@ [EntityTransfer] ; The maximum protocol version that we will use for outgoing transfers ; Valid values are + ; "SIMULATION/0.3" + ; - This is the default, and it supports teleports to variable-sized regions + ; - Older versions can teleport to this one, but only if the destination region + ; is 256x256 ; "SIMULATION/0.2" - ; - this is the default. A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol + ; - A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol ; - this protocol is more efficient than "SIMULATION/0.1" ; "SIMULATION/0.1" ; - this is an older teleport protocol used in OpenSimulator 0.7.5 and before. - MaxOutgoingTransferVersion = "SIMULATION/0.2" + MaxOutgoingTransferVersion = "SIMULATION/0.3" ; The maximum distance in regions that an agent is allowed to teleport ; along the x or y axis. This is set to 16383 because current viewers -- cgit v1.1 From 0dc14b5f35c520eae8653cd6add78d648cade8e0 Mon Sep 17 00:00:00 2001 From: Michael Cerquoni Date: Fri, 6 Jun 2014 22:29:04 -0400 Subject: fix the comment section of max_distance setting to reflect default value --- bin/OpenSimDefaults.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 2a7e4c3..7f6d0e6 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -701,7 +701,7 @@ MaxOutgoingTransferVersion = "SIMULATION/0.3" ; The maximum distance in regions that an agent is allowed to teleport - ; along the x or y axis. This is set to 16383 because current viewers + ; along the x or y axis. This is set to 65535 because current viewers ; can't handle teleports that are greater than this distance ; Setting to 0 will allow teleports of any distance ; -- cgit v1.1 From 8956cdc55f2115ae6216c67a6e287c851e4291a1 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 8 Jun 2014 09:50:31 -0700 Subject: Add [Terrain]SendTerrainUpdatesByViewDistance=false to OpenSimDefaults.ini so people can find the setting. --- bin/OpenSimDefaults.ini | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 7f6d0e6..b9fd163 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1755,8 +1755,12 @@ [Terrain] + ; Values can be "pinhead-island" or "flat" InitialTerrain = "pinhead-island" - + ; If 'true' each avatar is only sent terrain patches within their view distance + ; This also changes the region terrain loading from 'lawn mower' to ordered around + ; the avatar outward. + SendTerrainUpdatesByViewDistance = False ;; ;; If you are using a simian grid frontend you can enable -- cgit v1.1 From 7f0adfd20390032b27778b8c4c23a666264ac0ba Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Fri, 13 Jun 2014 21:27:07 -0700 Subject: Add [Startup]LogShowStatsSeconds=n parameter which controls the interval that simulator statistics is output to the console. Setting to zero turns stats logging off. --- bin/OpenSimDefaults.ini | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index b9fd163..8b8364c 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -269,6 +269,10 @@ ; PreJump is an additional animation state, but it probably ; won't look right until the physics engine supports it ; (i.e delays takeoff for a moment) + + ; Simulator statistics are output to the console periodically at debug level INFO. + ; Setting this to zero disables this output. + ; LogShowStatsSeconds = 3600 ; Simulator Stats URI ; Enable JSON simulator data by setting a URI name (case sensitive) -- cgit v1.1 From abf85b7f192e167ed5f462ac8d1a8de365e4f03b Mon Sep 17 00:00:00 2001 From: Vegaslon Date: Fri, 20 Jun 2014 09:34:07 -0400 Subject: Bulletsim: Create AvatarTerminalVelocity to BulletSim like what ODE and SL has. Before this falling from really high caused the avatar to fall faster then the veiwer can handle and cause camera issues. --- bin/OpenSimDefaults.ini | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 8b8364c..3f373ce 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1038,6 +1038,11 @@ AvatarHeightMidFudge = 0 ; Adjustment at mid point of avatar height range AvatarHeightHighFudge = 0 ; Adjustment at high end of height range + ; Terminal velocity of a falling avatar + ; This is the same http://en.wikipedia.org/wiki/Terminal_velocity#Examples + ; negative for a downward speed. + AvatarTerminalVelocity = -54 + ; Default linkset implmentation ; 'Constraint' uses physics constraints to hold linkset together. 'Compound' ; builds a compound shape from the children shapes to create a single physical -- cgit v1.1 From ba233008cd250e43ffad5e6cb5e1fed8a6e87f80 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sun, 6 Jul 2014 16:02:04 -0700 Subject: Changed GetUserInfo so that the exposure of user account details is ruled by a configuration variable. It's on by default. --- bin/Robust.HG.ini.example | 6 ++++++ bin/config-include/StandaloneCommon.ini.example | 7 +++++++ 2 files changed, 13 insertions(+) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index aaa78ff..c51a626 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -571,6 +571,12 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ;; Leave blank or commented for no exceptions. ; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002" + ;; This variable controls what is exposed to profiles of local users + ;; as seen from outside of this grid. Leave it uncommented for exposing + ;; UserTitle, UserFlags and the creation date. Uncomment and change to False + ;; to block this info from being exposed. + ; ShowUserDetailsInHGProfile = True + ; * The interface that local users get when they are in other grids. ; * This restricts the inventory operations while in other grids. diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index a368bb8..2bbc316 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -337,6 +337,13 @@ ;; Leave blank or commented for no exceptions. ; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002" + ;; This variable controls what is exposed to profiles of local users + ;; as seen from outside of this grid. Leave it uncommented for exposing + ;; UserTitle, UserFlags and the creation date. Uncomment and change to False + ;; to block this info from being exposed. + ; ShowUserDetailsInHGProfile = True + + [HGInventoryService] ;; If you have this set under [Hypergrid], no need to set it here, leave it commented ; HomeURI = "http://127.0.0.1:9000" -- cgit v1.1 From d62acc7e376930e696e72f2c7d749dd24896fce2 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Mon, 14 Jul 2014 20:53:06 +0100 Subject: Update information in OpenSimDefaults to reflect the fact that ScriptStopStrategy in [XEngine] can now be changed without manually deleting old compiled scripts. --- bin/OpenSimDefaults.ini | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 3f373ce..995768a 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1426,13 +1426,13 @@ ; by scripts have changed. ; DeleteScriptsOnStartup = false - ; Controls whether scripts are stopped by aborting their threads externally (abort) or by co-operative checks from the compiled script (co-op) + ; Controls whether scripts are stopped by aborting their threads externally (abort) + ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op) ; co-op will be more stable but this option is currently experimental. - ; If moving from co-op to abort, existing script DLLs will need to be recompiled. - ; This currently can only be done manually, either by setting DeleteScriptsOnStartup = true for one run - ; or by deleting the script DLL* files in bin/ScriptEngines// - ; One can move from co-op back to abort without recompilation, but reverting back to co-op again will need script recompile - ScriptStopStrategy = abort + ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary. + ; However, the setting change will not take affect until the next time you restart the simulator. + ; Setting changes will not affect state information stored for scripts. + ;ScriptStopStrategy = abort ; Rate to poll for asynchronous command replies (ms) ; currently unused -- cgit v1.1 From 8cd7ca568da35db5acef1db74970df3ebe11d714 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 16 Jul 2014 22:58:38 +0100 Subject: Change default script stop method to co-op instead of abort. co-op should be more stable as it doesn't abort threads, which can trigger virtual machine instability This change will be invisible to users as script DLLs are recompiled automatically where necessary, though the change won't take affect until the next simulator restart. This change has no effect on existing script state. If you want to continue using abort, set ScriptStopStrategy = abort in the [XEngine] section of OpenSim.ini --- bin/OpenSimDefaults.ini | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 995768a..7ccc5fc 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1427,12 +1427,13 @@ ; DeleteScriptsOnStartup = false ; Controls whether scripts are stopped by aborting their threads externally (abort) - ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op) - ; co-op will be more stable but this option is currently experimental. + ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op). + ; co-op will be more stable as aborting threads can cause instability. + ; abort was the default option in OpenSimulator 0.8 and before. ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary. ; However, the setting change will not take affect until the next time you restart the simulator. ; Setting changes will not affect state information stored for scripts. - ;ScriptStopStrategy = abort + ScriptStopStrategy = co-op ; Rate to poll for asynchronous command replies (ms) ; currently unused -- cgit v1.1 From 6048dfcd715615c0c90b485a72ebbe2641f16d41 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Fri, 18 Jul 2014 22:57:04 +0100 Subject: In grid mode, add SuppressConsoleCommands flag to [GridService] so that we can stop misleading grid service only console commands from registering. We need to do this because the simulator initializes and internal copy of the GridService in grid mode for internal purposes --- bin/config-include/Grid.ini | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/Grid.ini b/bin/config-include/Grid.ini index 419b40d..e9eaee3 100644 --- a/bin/config-include/Grid.ini +++ b/bin/config-include/Grid.ini @@ -55,8 +55,11 @@ LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" ; for the LocalGridServicesConnector which is used by the Remote one StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" - NetworkConnector = "OpenSim.Services.Connectors.dll:GridServicesConnector" + + ; Because LocalGridServicesConnector starts this service, in grid mode we need to suppress + ; the inappropriate console commands that it registers. + SuppressConsoleCommands = true [LibraryService] LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" -- cgit v1.1 From b81187db5ad098ec08ee195d7600c261a4671ab2 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 20 Jul 2014 10:56:52 -0700 Subject: Set "[Terrain]SendTerrainUpdatesByViewDistance=true" by default. This, by default, enables terrain patches being sent to each avatar from the avatar away (rather than the old outside-in pattern), only sending terrain patches within the avatars view distance (making view loading quicker), and sending multiple terrain patches per protocol packet (making terrain loading and editing quicker). --- bin/OpenSimDefaults.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 7ccc5fc..3f0be2e 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1770,7 +1770,7 @@ ; If 'true' each avatar is only sent terrain patches within their view distance ; This also changes the region terrain loading from 'lawn mower' to ordered around ; the avatar outward. - SendTerrainUpdatesByViewDistance = False + SendTerrainUpdatesByViewDistance = True ;; ;; If you are using a simian grid frontend you can enable -- cgit v1.1 From 11031abf263eb5bf25feefef04f770a55e2c0128 Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Mon, 14 Jul 2014 10:55:13 +0300 Subject: Changed the default XBakes directory to a local path: "./bakes". Previously it was an absolute path. Now it's a sibling of the maptiles directory. This fixes http://opensimulator.org/mantis/view.php?id=7063 --- bin/Robust.HG.ini.example | 5 ++--- bin/Robust.ini.example | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index c51a626..489810e 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -662,6 +662,5 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset [BakedTextureService] LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes" - ;; This directory must exist and be writable for the user ROBUST runs as - BaseDirectory = "/data/bakes" - + ;; This directory must be writable by the user ROBUST runs as. It will be created automatically. + BaseDirectory = "./bakes" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 203c0e0..14c66a0 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -465,9 +465,8 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" - [BakedTextureService] LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes" - ;; This directory must exist and be writable for the user ROBUST runs as - BaseDirectory = "/data/bakes" + ;; This directory must be writable by the user ROBUST runs as. It will be created automatically. + BaseDirectory = "./bakes" -- cgit v1.1 From 086bc6f748084e6e4ccf1c9ae3eb4dabfab79ea7 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Thu, 24 Jul 2014 20:03:19 +0100 Subject: Add missing default female hair texture for Ruth avatar. This was not in library assets despite being referred to in assets/BodyPartsAssetSet/base_hair.dat Texture ID is 7ca39b4c-bd19-4699-aff7-f93fd03d3e7b Taken from https://github.com/openmetaversefoundation/simiangrid/blob/master/Grid/default_assets/Default%20Female%20Hair-7ca39b4c-bd19-4699-aff7-f93fd03d3e7b.j2c --- bin/assets/TexturesAssetSet/TexturesAssetSet.xml | 6 ++++++ bin/assets/TexturesAssetSet/femalehair.jp2 | Bin 0 -> 131038 bytes 2 files changed, 6 insertions(+) create mode 100644 bin/assets/TexturesAssetSet/femalehair.jp2 (limited to 'bin') diff --git a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml index a29ac38..f7e4367 100644 --- a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml +++ b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml @@ -343,6 +343,12 @@
+
+ + + + +
diff --git a/bin/assets/TexturesAssetSet/femalehair.jp2 b/bin/assets/TexturesAssetSet/femalehair.jp2 new file mode 100644 index 0000000..15a1f36 Binary files /dev/null and b/bin/assets/TexturesAssetSet/femalehair.jp2 differ -- cgit v1.1 From e85291329bb6aececc8860ce3c7c87ce12c90c12 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Fri, 25 Jul 2014 02:02:07 +0100 Subject: Add suppression of grid-side "show regions" command in simulator console for Hypergrid setups as well as normal grid. Should have been done in recent commit 6048dfcd Resolves http://opensimulator.org/mantis/view.php?id=7281 --- bin/config-include/GridHypergrid.ini | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini index 27cc9d8..8dadd76 100644 --- a/bin/config-include/GridHypergrid.ini +++ b/bin/config-include/GridHypergrid.ini @@ -79,6 +79,7 @@ HypergridLinker = true AllowHypergridMapSearch = true + SuppressConsoleCommands = true [LibraryService] LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" -- cgit v1.1 From 46781253c396e7c7da7816428b71dd71943083e9 Mon Sep 17 00:00:00 2001 From: Michael Cerquoni Date: Fri, 25 Jul 2014 12:30:09 -0400 Subject: fix comments in physics section of [Startup] to reflect the actual default engine. --- bin/OpenSim.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 3f9aed6..b79a3cb 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -210,7 +210,7 @@ ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. ;; It continues to provide a workable physics implementation. It does not currently support varregions. ;; basicphysics effectively does not model physics at all, making all objects phantom. - ;; Default is OpenDynamicsEngine + ;; Default is BulletSim ; physics = OpenDynamicsEngine ; physics = BulletSim ; physics = basicphysics -- cgit v1.1 From e0d8f42e6be70974c1cdbf6ba3ff80c2eea7294d Mon Sep 17 00:00:00 2001 From: BlueWall Date: Wed, 30 Jul 2014 11:19:34 -0400 Subject: Simulator Extra Features Service Provide a means for regions to fetch extra features supported by modern viewers from a central location . --- bin/OpenSim.ini.example | 5 +++++ bin/Robust.HG.ini.example | 24 ++++++++++++++++++++++++ bin/Robust.ini.example | 24 ++++++++++++++++++++++++ 3 files changed, 53 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index b79a3cb..d83a154 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -538,6 +538,11 @@ [SimulatorFeatures] + ;# {ExtraFeaturesServiceURI} {} {URL to the grid ExtraFeatures Service} {} + ;; The grid can supply global values for extra simulator features to be + ;; passed to supporting viewers. The grid may choose to disallow local + ;; settings. + ; ExtraFeaturesServiceURI = "http://127.0.0.1:9000/" ;# {MapImageServerURI} {} {URL for the map server} {} ; Experimental new information sent in SimulatorFeatures cap for Kokua ; viewers diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 489810e..fc81ef0 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -45,6 +45,7 @@ InventoryInConnector = "8003/OpenSim.Server.Handlers.dll:XInventoryInConnector" ;VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector" GridServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridServiceConnector" GridInfoServerInConnector = "8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector" +GridExtraFeaturesServerInConnector = "8002/OpenSim.Server.Handlers.dll:GridExtraFeaturesServerInConnector" AuthenticationServiceConnector = "8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector" OpenIdServerConnector = "8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector" AvatarServiceConnector = "8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector" @@ -484,6 +485,29 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; this is the entry point for all user-related HG services ; uas = http://127.0.0.1:8002/ + +[GridExtraFeatures] + ; These are propagated out to the regions as default settings for the + ; SimulatorFeatures to be sent to user's viewer when they teleport via + ; Hypergrid into this grid. + ; + + ; Allow regions to override our defaults. + ;AllowRegionOverride = true + + ; Search Server URI + ;SearchServerURI = "http://example.com:8200/" + + ; Map Server URI + ;MapImageServerURI = "http://example.com:8200/" + + ; Grid Destination Guide URI + ;DestinationGuideURI = "http://example.com:8200/" + + ; Grid Allow Export + ;ExportSupported = true + + [GatekeeperService] LocalServiceModule = "OpenSim.Services.HypergridService.dll:GatekeeperService" ;; for the service diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 14c66a0..74987d4 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -36,6 +36,7 @@ InventoryInConnector = "8003/OpenSim.Server.Handlers.dll:XInventoryInConnector" ;VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector" GridServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridServiceConnector" GridInfoServerInConnector = "8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector" +GridExtraFeaturesServerInConnector = "8002/OpenSim.Server.Handlers.dll:GridExtraFeaturesServerInConnector" AuthenticationServiceConnector = "8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector" OpenIdServerConnector = "8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector" AvatarServiceConnector = "8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector" @@ -456,6 +457,29 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; password help: optional: page providing password assistance for users of your grid ;password = http://127.0.0.1/password + +[GridExtraFeatures] + ; These are propagated out to the regions as default settings for the + ; SimulatorFeatures to be sent to user's viewer when they teleport via + ; Hypergrid into this grid. + ; + + ; Allow regions to override our defaults. + ;AllowRegionOverride = true + + ; Search Server URI + ;SearchServerURI = "http://example.com:8200/" + + ; Map Server URI + ;MapImageServerURI = "http://example.com:8200/" + + ; Grid Destination Guide URI + ;DestinationGuideURI = "http://example.com:8200/" + + ; Grid Allow Export + ;ExportSupported = true + + [UserProfilesService] LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService" Enabled = false -- cgit v1.1 From 3ec695e05b108dac3a3407d70750ca748c0dc00c Mon Sep 17 00:00:00 2001 From: BlueWall Date: Wed, 30 Jul 2014 15:01:26 -0400 Subject: Add Chat module extra feature settings to GridExtraFeatures service --- bin/Robust.HG.ini.example | 9 +++++++++ bin/Robust.ini.example | 9 +++++++++ 2 files changed, 18 insertions(+) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index fc81ef0..2319117 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -504,6 +504,15 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; Grid Destination Guide URI ;DestinationGuideURI = "http://example.com:8200/" + ; Chat Whisper Distance + ;WhisperDistance = 10 + + ; Chat Say Distance + ;SayDistance = 20 + + ; Chat Shout Distance + ;ShoutDistance = 100 + ; Grid Allow Export ;ExportSupported = true diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 74987d4..99a932d 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -476,6 +476,15 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; Grid Destination Guide URI ;DestinationGuideURI = "http://example.com:8200/" + ; Chat Whisper Distance + ;WhisperDistance = 10 + + ; Chat Say Distance + ;SayDistance = 20 + + ; Chat Shout Distance + ;ShoutDistance = 100 + ; Grid Allow Export ;ExportSupported = true -- cgit v1.1 From cac910d401d9a3863d08463ea5ae8e9e690a1a4e Mon Sep 17 00:00:00 2001 From: BlueWall Date: Thu, 31 Jul 2014 08:17:00 -0400 Subject: Add region-side extra feature setting for destination guide --- bin/OpenSim.ini.example | 2 ++ 1 file changed, 2 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index d83a154..f0e1a8a 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -552,6 +552,8 @@ ;MapImageServerURI = "http://127.0.0.1:9000/" ;# {SearchServerURI} {} {URL of the search server} {} ;SearchServerURI = "http://127.0.0.1:9000/" + ;# {DestinationGuideURI} {} {URL of the destination guide} {} + ;DestinationGuideURI = "http://127.0.0.1:9000/" [Chat] -- cgit v1.1 From 78ccadb27ec48e4d02c07d37bc45c5e0b23c47a7 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 6 Aug 2014 00:53:14 +0100 Subject: Add RootPositionUpdateTolerance, RootRotationUpdateTolerance, and RootVelocityUpdateTolerance parameters to [InterestManagement] in OpenSimDefaults.ini These govern when AgentUpdates are sent to observers on position, rotation and velocity changes to an avatar (including the avatar themselves). Higher values reduce AgentUpdate traffic but at a certain level will degrade smoothness of avatar and perceived avatar movement. --- bin/OpenSimDefaults.ini | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 3f0be2e..708a094 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1729,15 +1729,23 @@ [InterestManagement] - ; This section controls how state updates are prioritized for each client - ; Valid values are BestAvatarResponsiveness, Time, Distance, - ; SimpleAngularDistance, and FrontBack - UpdatePrioritizationScheme = BestAvatarResponsiveness - ReprioritizationEnabled = true - ReprioritizationInterval = 2000.0 - RootReprioritizationDistance = 10.0 - ChildReprioritizationDistance = 20.0 + ; This section controls how state updates are prioritized for each client + ; Valid values are BestAvatarResponsiveness, Time, Distance, + ; SimpleAngularDistance, and FrontBack + UpdatePrioritizationScheme = BestAvatarResponsiveness + ReprioritizationEnabled = true + ReprioritizationInterval = 2000.0 + RootReprioritizationDistance = 10.0 + ChildReprioritizationDistance = 20.0 + + ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance + RootPositionUpdateTolerance = 0.05 + + ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance + RootRotationUpdateTolerance = 0.01 + ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance + RootVelocityUpdateTolerance = 0.001 [Monitoring] ; Enable region monitoring -- cgit v1.1 From 10a8d2852e529fddb029ae333a3ae6a0f06f0182 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Sun, 3 Aug 2014 20:33:40 -0400 Subject: OpenSimExtras Move the experimental extra features functionality into the GridService. This sends default values for map, search and destination guide, plus ExportSupported control to the region on startup. Please watch http://opensimulator.org/wiki/SimulatorFeatures_Extras for changes and documentation. --- bin/OpenSim.ini.example | 21 ++++++------- bin/Robust.HG.ini.example | 40 +++++-------------------- bin/Robust.ini.example | 40 +++++-------------------- bin/config-include/StandaloneCommon.ini.example | 7 +++++ 4 files changed, 30 insertions(+), 78 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index f0e1a8a..8c1a2c6 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -538,21 +538,18 @@ [SimulatorFeatures] - ;# {ExtraFeaturesServiceURI} {} {URL to the grid ExtraFeatures Service} {} - ;; The grid can supply global values for extra simulator features to be - ;; passed to supporting viewers. The grid may choose to disallow local - ;; settings. - ; ExtraFeaturesServiceURI = "http://127.0.0.1:9000/" - ;# {MapImageServerURI} {} {URL for the map server} {} - ; Experimental new information sent in SimulatorFeatures cap for Kokua - ; viewers - ; meant to override the MapImage and search server url given at login, and varying - ; on a sim-basis. - ; Viewers that don't understand it, will ignore it - ;MapImageServerURI = "http://127.0.0.1:9000/" + ;# {SearchServerURI} {} {URL of the search server} {} + ;; This is identical to the Robust LoginService SearchURL setting + ;; and will override that value if set here. The Robust setting + ;; provides a working default for the grid and setting here is + ;; optional. ;SearchServerURI = "http://127.0.0.1:9000/" ;# {DestinationGuideURI} {} {URL of the destination guide} {} + ;; + ;; This serves the same purpose as the DestinationGuideURI in the + ;; LoginService setting in the Robust server. This will override + ;; the Robust setting if desired as an option. ;DestinationGuideURI = "http://127.0.0.1:9000/" diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 2319117..fb6531e 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -45,7 +45,6 @@ InventoryInConnector = "8003/OpenSim.Server.Handlers.dll:XInventoryInConnector" ;VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector" GridServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridServiceConnector" GridInfoServerInConnector = "8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector" -GridExtraFeaturesServerInConnector = "8002/OpenSim.Server.Handlers.dll:GridExtraFeaturesServerInConnector" AuthenticationServiceConnector = "8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector" OpenIdServerConnector = "8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector" AvatarServiceConnector = "8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector" @@ -217,6 +216,10 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ;; Allow Hyperlinks to be created at the console HypergridLinker = true + ;; Allow supporting viewers to export content + ;; Set to false to prevent export + ExportSupported = true + ;; If you have this set under [Hypergrid], no need to set it here, leave it commented ; GatekeeperURI = "http://127.0.0.1:8002" @@ -366,6 +369,9 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; For V2 map MapTileURL = "http://127.0.0.1:8002"; + ; Url to search service + ; SearchURL = "http://127.0.0.1:8002"; + ; For V2/3 Web Profiles ; Work in progress: The ProfileServerURL/OpenIDServerURL are ; being used in a development viewer as support for webprofiles @@ -485,38 +491,6 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; this is the entry point for all user-related HG services ; uas = http://127.0.0.1:8002/ - -[GridExtraFeatures] - ; These are propagated out to the regions as default settings for the - ; SimulatorFeatures to be sent to user's viewer when they teleport via - ; Hypergrid into this grid. - ; - - ; Allow regions to override our defaults. - ;AllowRegionOverride = true - - ; Search Server URI - ;SearchServerURI = "http://example.com:8200/" - - ; Map Server URI - ;MapImageServerURI = "http://example.com:8200/" - - ; Grid Destination Guide URI - ;DestinationGuideURI = "http://example.com:8200/" - - ; Chat Whisper Distance - ;WhisperDistance = 10 - - ; Chat Say Distance - ;SayDistance = 20 - - ; Chat Shout Distance - ;ShoutDistance = 100 - - ; Grid Allow Export - ;ExportSupported = true - - [GatekeeperService] LocalServiceModule = "OpenSim.Services.HypergridService.dll:GatekeeperService" ;; for the service diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 99a932d..17c3dcd 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -36,7 +36,6 @@ InventoryInConnector = "8003/OpenSim.Server.Handlers.dll:XInventoryInConnector" ;VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector" GridServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridServiceConnector" GridInfoServerInConnector = "8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector" -GridExtraFeaturesServerInConnector = "8002/OpenSim.Server.Handlers.dll:GridExtraFeaturesServerInConnector" AuthenticationServiceConnector = "8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector" OpenIdServerConnector = "8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector" AvatarServiceConnector = "8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector" @@ -178,6 +177,10 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; Region_Welcome_Area = "DefaultRegion, FallbackRegion" ; (replace spaces with underscore) + ;; Allow supporting viewers to export content + ;; Set to false to prevent export + ExportSupported = true + ; * This is the configuration for the freeswitch server in grid mode [FreeswitchService] LocalServiceModule = "OpenSim.Services.FreeswitchService.dll:FreeswitchService" @@ -325,6 +328,9 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; For V2 map MapTileURL = "http://127.0.0.1:8002"; + ; Url to search service + ; SearchURL = "http://127.0.0.1:8002"; + ; For V2/3 Web Profiles ; Work in progress: The ProfileServerURL/OpenIDServerURL are ; being used in a development viewer as support for webprofiles @@ -457,38 +463,6 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; password help: optional: page providing password assistance for users of your grid ;password = http://127.0.0.1/password - -[GridExtraFeatures] - ; These are propagated out to the regions as default settings for the - ; SimulatorFeatures to be sent to user's viewer when they teleport via - ; Hypergrid into this grid. - ; - - ; Allow regions to override our defaults. - ;AllowRegionOverride = true - - ; Search Server URI - ;SearchServerURI = "http://example.com:8200/" - - ; Map Server URI - ;MapImageServerURI = "http://example.com:8200/" - - ; Grid Destination Guide URI - ;DestinationGuideURI = "http://example.com:8200/" - - ; Chat Whisper Distance - ;WhisperDistance = 10 - - ; Chat Say Distance - ;SayDistance = 20 - - ; Chat Shout Distance - ;ShoutDistance = 100 - - ; Grid Allow Export - ;ExportSupported = true - - [UserProfilesService] LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService" Enabled = false diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index 2bbc316..c4ece54 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -105,6 +105,10 @@ ;; For example: Region_Welcome_Area = "DefaultRegion, FallbackRegion" + ;; Allow supporting viewers to export content + ;; Set to false to prevent export + ExportSupported = true + ; === HG ONLY === ;; If you have this set under [Hypergrid], no need to set it here, leave it commented ; GatekeeperURI="http://127.0.0.1:9000" @@ -128,6 +132,9 @@ ;; For Viewer 2 MapTileURL = "http://127.0.0.1:9000/" + ; Url to search service + ; SearchURL = "http://127.0.0.1:8002"; + ; The minimum user level required for a user to be able to login. 0 by default ; If you disable a particular user's account then you can set their login level below this number. ; You can also change this level from the console though these changes will not be persisted. -- cgit v1.1 From a4835250161b9bdf47de00399899a36a4fdd1016 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Fri, 8 Aug 2014 23:29:33 +0100 Subject: Change default max threads if SmartThreadPool is used as the main thread pool from 15 to 300 Running out of such threads under heavy load causes delayed packet processing which can lead to spurious UDP resends and knock on issues. We already massively boost the min/max builtin pool worker and IOCP threads (which even with STP are still used for inbound network requests) without obvious adverse effects. The threads are only instantiated if they are required. This change does not affect other async_call_method options. --- bin/OpenSimDefaults.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 708a094..1b697bb 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -55,7 +55,7 @@ ; Max threads to allocate on the FireAndForget thread pool ; when running with the SmartThreadPool option above - MaxPoolThreads = 15 + MaxPoolThreads = 300 ; Plugin Registry Location ; Set path to directory for plugin registry. Information about the -- cgit v1.1 From 91f3be71e3fb23d554a73a7670b9198269debe6a Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Fri, 8 Aug 2014 23:39:40 +0100 Subject: Reduce default rotation AgentUpdate output sensitivity to a setting that cuts down UDP traffic without obvious adverse effects on observed avatar rotations. Experimentally, on the Linden Lab grid the avatar can rotate slightly before triggering AvatarUpdates, whereas this is practically impossible in OpenSimulator. These updates allow other avatars to see rotations, though sensitivity is low since other avatars can only be seen in one of 8 body rotations. This commit changes sensitivity from 0.01 to 0.1, which better matches LL and reduces UDP traffic which has a beneficial impact on network and CPU load. This has no impact on rotations in the simulator itself so simulation fidelity is the same as before. To change this setting back for test/other purposes, edit RootRotationUpdateTolerance in the [InterestManagement] section of OpenSim.ini --- bin/OpenSimDefaults.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 1b697bb..069d238 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1742,7 +1742,7 @@ RootPositionUpdateTolerance = 0.05 ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance - RootRotationUpdateTolerance = 0.01 + RootRotationUpdateTolerance = 0.1 ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance RootVelocityUpdateTolerance = 0.001 -- cgit v1.1 From fbdf507e98fc0e456b45d1e9200f343dceaecd5b Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 12 Aug 2014 01:45:15 +0100 Subject: Update libomv libraries with those built from commit 2208379. This is to resolve some issues for pCampbot, chiefly with capability connection and inbound handling. --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 10752 bytes bin/OpenMetaverse.StructuredData.dll | Bin 106496 -> 96768 bytes bin/OpenMetaverse.dll | Bin 1806336 -> 2275840 bytes bin/OpenMetaverseTypes.dll | Bin 110592 -> 102912 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index e1e251c..c6ece52 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 190a133..e8724a7 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 22911aa..e13c009 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index e472543..37b5e91 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From f1f935ed9543141cc5861a7204b6df85a7358ab4 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 13 Aug 2014 19:53:42 +0100 Subject: Add 'server' stats information to pCampbot, as used elsewhere in OpenSimulator This adds the "show stats", "stats record", etc. commands and information on available Threadpool threads, etc. It also adds the Watchdog which logs warnings if time between executions is unexpectedly large. --- bin/OpenMetaverse.dll | Bin 2275840 -> 2276352 bytes bin/pCampBot.exe.config | 21 +++++++++++++++++++++ 2 files changed, 21 insertions(+) (limited to 'bin') diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index e13c009..3bd40c4 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/pCampBot.exe.config b/bin/pCampBot.exe.config index 89350b0..f017309 100755 --- a/bin/pCampBot.exe.config +++ b/bin/pCampBot.exe.config @@ -10,6 +10,10 @@ + + + + @@ -17,15 +21,32 @@ + + + + + + + + + + + + + + + + + -- cgit v1.1 From 4c781db572a7b1b2e77b328bb0651820d8b3c7f3 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Thu, 14 Aug 2014 01:39:26 +0100 Subject: Make RootTerseUpdatePeriod and ChildTerseUpdatePeriod configurable in [InterestManagement] in OpenSim.ini for experimental purposes. If n > 1 for RootTerseUpdatePeriod only every n terse update is actually sent to observers on same region, unless velocity is effectively zero (to stop av drift). If n > 1 for ChildTerseUpdatePeriod only every n terse update is sent to observers in other regions, unless velocity is effectively zero. Defaults are same as before (all packets are sent). Tradeoff is reduction of UDP traffic vs fidelity of observed av mvmt. Increasing n > 1 leads to jerky observed mvmt immediateley for root, though not on child, where experimentally have gone to n = 4 before jerkiness is noticeable. --- bin/OpenSimDefaults.ini | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 069d238..401abf0 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1737,6 +1737,15 @@ ReprioritizationInterval = 2000.0 RootReprioritizationDistance = 10.0 ChildReprioritizationDistance = 20.0 + + ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region + ; Updates will always be sent to the avatar that the update addresses and if av velocity is effectively zero (to prevent drift due to missing updates). + ; n > 1 will reduce UDP traffic but will lead to laggier movement observed in other avatars. + RootTerseUpdatePeriod = 0 + + ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region + ; n > 1 will reduce UDP traffic but may lead to laggier movement observed in other avatars, though values up to 4 may not generate a noticeable effect. + ChildTerseUpdatePeriod = 0 ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance RootPositionUpdateTolerance = 0.05 -- cgit v1.1 From 626536b8cc525deacf66ad98a09ebc7f94ffee31 Mon Sep 17 00:00:00 2001 From: Kevin Cozens Date: Fri, 8 Aug 2014 16:44:22 -0400 Subject: Added RestrictEmail to make llEmail only send to avatars email address if true. --- bin/OpenSimDefaults.ini | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 401abf0..348aaa2 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1318,6 +1318,11 @@ ; If false then gods cannot execute these functions either. AllowGodFunctions = false + ; Restrict the email address used by llEmail to the address associated with the avatars user account? + ; If true then llEmail will only send email to the address in the user account of the avatar who owns the object containing the script. + ; If false then email may be sent to any valid email address. + RestrictEmail = false + ; Maximum number of llListen events we allow over the entire region. ; Set this to 0 to have no limit imposed max_listens_per_region = 1000 -- cgit v1.1 From 64cf75866e2b555d4d006500f891ba38a8f64bf9 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Mon, 18 Aug 2014 15:52:49 -0700 Subject: BulletSim: Windows and Linux 32 and 64 bit versions of Bullet 2.82 --- bin/lib32/BulletSim.dll | Bin 1094144 -> 1337344 bytes bin/lib32/libBulletSim.so | Bin 2337209 -> 2310752 bytes bin/lib64/BulletSim.dll | Bin 1231360 -> 1546240 bytes bin/lib64/libBulletSim.so | Bin 2523676 -> 2474237 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index ee7cce7..e1bffeb 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index ee2bd80..f409363 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index b4c4bec..7b76d1d 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index 9c4033b..827571f 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From 28ef6f83fc063bfbc8b68a8463be82e721248c8d Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 21 Aug 2014 06:35:27 -0700 Subject: Fix typo in OpenSimDefaults.ini comment --- bin/OpenSimDefaults.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 348aaa2..2cd32c6 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1021,7 +1021,7 @@ ; BulletEngine = "bulletxna" ; BulletSim can run on its own thread independent of the simulator's heartbeat - ; thread. Enabling this will nto let the physics engine slow down avatar movement, etc. + ; thread. Enabling this will not let the physics engine slow down avatar movement, etc. UseSeparatePhysicsThread = false ; Terrain implementation can use either Bullet's heightField or BulletSim can build -- cgit v1.1 From aeadddf77acc627dff017e50335069f7f4aaa1c6 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Mon, 25 Aug 2014 20:29:46 -0400 Subject: Add back URL endings in examples --- bin/Robust.HG.ini.example | 4 ++-- bin/Robust.ini.example | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index fb6531e..684c019 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -367,10 +367,10 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset AllowRemoteSetLoginLevel = "false" ; For V2 map - MapTileURL = "http://127.0.0.1:8002"; + MapTileURL = "http://127.0.0.1:8002/"; ; Url to search service - ; SearchURL = "http://127.0.0.1:8002"; + ; SearchURL = "http://127.0.0.1:8002/"; ; For V2/3 Web Profiles ; Work in progress: The ProfileServerURL/OpenIDServerURL are diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 17c3dcd..eafab64 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -326,10 +326,10 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto AllowRemoteSetLoginLevel = "false" ; For V2 map - MapTileURL = "http://127.0.0.1:8002"; + MapTileURL = "http://127.0.0.1:8002/"; ; Url to search service - ; SearchURL = "http://127.0.0.1:8002"; + ; SearchURL = "http://127.0.0.1:8002/"; ; For V2/3 Web Profiles ; Work in progress: The ProfileServerURL/OpenIDServerURL are -- cgit v1.1 From ac866a1c46583e50e74aefad0a1bc6de720a7211 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 3 Sep 2014 00:25:56 +0100 Subject: Add [EntityTransfer] AllowAvatarCrossing setting to determine whether avatars are allowed to cross regions at all. Defaults to true. For test purposes. --- bin/OpenSimDefaults.ini | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 348aaa2..dce01eb 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -711,6 +711,9 @@ ; max_distance = 65535 + ; Allow avatars to cross into and out of the region. + AllowAvatarCrossing = true + ; Minimum user level required for HyperGrid teleports LevelHGTeleport = 0 -- cgit v1.1 From 3e5bc75f89998e9b1bba5e7e5f4042e883afb522 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Wed, 3 Sep 2014 13:00:09 -0400 Subject: Remove the 32 bit launchers as discussed at OpenSimulator Office Hour 9//2/14 http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2014-09-02. Find the binaries, sources and README in ./share/32BitLaunch if needed. --- bin/OpenSim.32BitLaunch.exe | Bin 5632 -> 0 bytes bin/Robust.32BitLaunch.exe | Bin 5632 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100755 bin/OpenSim.32BitLaunch.exe delete mode 100755 bin/Robust.32BitLaunch.exe (limited to 'bin') diff --git a/bin/OpenSim.32BitLaunch.exe b/bin/OpenSim.32BitLaunch.exe deleted file mode 100755 index 62c14af..0000000 Binary files a/bin/OpenSim.32BitLaunch.exe and /dev/null differ diff --git a/bin/Robust.32BitLaunch.exe b/bin/Robust.32BitLaunch.exe deleted file mode 100755 index affedb4..0000000 Binary files a/bin/Robust.32BitLaunch.exe and /dev/null differ -- cgit v1.1 From e19d1ecce8a5e1ca921323fa9e4f92ebfba73725 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Wed, 3 Sep 2014 17:00:03 -0400 Subject: Cleanup some unused code and configuration entries --- bin/Robust.HG.ini.example | 10 ---------- bin/Robust.ini.example | 10 ---------- 2 files changed, 20 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 684c019..edcbec3 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -372,16 +372,6 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; Url to search service ; SearchURL = "http://127.0.0.1:8002/"; - ; For V2/3 Web Profiles - ; Work in progress: The ProfileServerURL/OpenIDServerURL are - ; being used in a development viewer as support for webprofiles - ; is being developed across the componets - ; - ; ProfileServerURL = "http://127.0.0.1/profiles/[AGENT_NAME]" - ; - ; For V2/V3 webapp authentication SSO - ; OpenIDServerURL = "http://127.0.0.1/openid/openidserver/" - ; For V3 destination guide ; DestinationGuide = "http://127.0.0.1/guide" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index eafab64..6686c3f 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -331,16 +331,6 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; Url to search service ; SearchURL = "http://127.0.0.1:8002/"; - ; For V2/3 Web Profiles - ; Work in progress: The ProfileServerURL/OpenIDServerURL are - ; being used in a development viewer as support for webprofiles - ; is being developed across the componets - ; - ; ProfileServerURL = "http://127.0.0.1/profiles/[AGENT_NAME]" - ; - ; For V2/V3 webapp authentication SSO - ; OpenIDServerURL = "http://127.0.0.1/openid/openidserver/" - ; For V3 destination guide ; DestinationGuide = "http://127.0.0.1/guide" -- cgit v1.1 From 8d177296adc453bc679184f530dba3079d5894e2 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 2 Sep 2014 19:00:14 +0100 Subject: Reinsert OpenMetaverse.dll from commit fbdf507 from an accidental replace in f1f935e This only affected pCampbot. --- bin/OpenMetaverse.dll | Bin 2276352 -> 2275840 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 3bd40c4..81b05e2 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ -- cgit v1.1 From bde60cc92e0966177a1aeb03dce3183a92b7a38c Mon Sep 17 00:00:00 2001 From: Jak Daniels Date: Mon, 22 Sep 2014 16:54:12 +0100 Subject: Add persistent command history in console Signed-off-by: BlueWall --- bin/OpenSim.ini.example | 13 +++++++++++++ bin/OpenSimDefaults.ini | 10 ++++++++++ bin/Robust.HG.ini.example | 10 ++++++++++ bin/Robust.ini.example | 10 ++++++++++ 4 files changed, 43 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 8c1a2c6..573180a 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -51,6 +51,19 @@ ;; \\ - substitute \ ; ConsolePrompt = "Region (\R) " + ;# {ConsoleHistoryFileEnabled} {} {Save console commands to a history file?} {true false} true + ;; Console commands can be saved to a file, so the command history persists after a restart. (default is false) + ; ConsoleHistoryFileEnabled = true + + ;# {ConsoleHistoryFile} {} {Filename in which to save history} {} OpenSimConsoleHistory.txt + ;; The history file can be just a filename (relative to OpenSim's bin/ directory + ;; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/) + ; ConsoleHistoryFile = "OpenSimConsoleHistory.txt" + + ;# {ConsoleHistoryFileLines} {} {How many lines of history to save?} {} 100 + ;; How many lines of command history should we keep? (default is 100) + ; ConsoleHistoryFileLines = 100 + ;# {save_crashes} {} {Save crashes to disk?} {true false} false ;; Set this to true if you want to log crashes to disk ;; this can be useful when submitting bug reports. diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 5361e8d..c6250e5 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -9,6 +9,16 @@ ; \\ - substtitue \ ConsolePrompt = "Region (\R) " + ; Console commands can be saved to a file, so the command history persists after a restart. (default is true) + ConsoleHistoryFileEnabled = true + + ; The history file can be just a filename (relative to OpenSim's bin/ directory + ; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/) + ConsoleHistoryFile = "OpenSimConsoleHistory.txt" + + ; How many lines of command history should we keep? (default is 100) + ConsoleHistoryFileLines = 100 + ; Set this to true if you want to log crashes to disk ; this can be useful when submitting bug reports. ; However, this will only log crashes within OpenSimulator that cause the entire program to exit diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index edcbec3..ef6f080 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -37,6 +37,16 @@ ; The Robust.exe process must have R/W access to the location ConfigDirectory = "." + ; Console commands can be saved to a file, so the command history persists after a restart. (default is true) + ConsoleHistoryFileEnabled = true + + ; The history file can be just a filename (relative to OpenSim's bin/ directory + ; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/) + ConsoleHistoryFile = "RobustConsoleHistory.txt" + + ; How many lines of command history should we keep? (default is 100) + ConsoleHistoryFileLines = 100 + [ServiceList] AssetServiceConnector = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 6686c3f..ca0b699 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -28,7 +28,17 @@ ; Set path to directory for modular ini files... ; The Robust.exe process must have R/W access to the location ConfigDirectory = "." + + ; Console commands can be saved to a file, so the command history persists after a restart. (default is true) + ConsoleHistoryFileEnabled = true + ; The history file can be just a filename (relative to OpenSim's bin/ directory + ; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/) + ConsoleHistoryFile = "RobustConsoleHistory.txt" + + ; How many lines of command history should we keep? (default is 100) + ConsoleHistoryFileLines = 100 + [ServiceList] AssetServiceConnector = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector" InventoryInConnector = "8003/OpenSim.Server.Handlers.dll:XInventoryInConnector" -- cgit v1.1 From 7852bae78fe04bdcdf387696951135888c9f5bbe Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 24 Sep 2014 23:22:05 +0100 Subject: Update libopenmetaverse to 0f4b361. Primarily to get a small message logging improvement for pCampbot. --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 10752 -> 10752 bytes bin/OpenMetaverse.StructuredData.dll | Bin 96768 -> 96768 bytes bin/OpenMetaverse.dll | Bin 2275840 -> 2276864 bytes bin/OpenMetaverseTypes.dll | Bin 102912 -> 102912 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index c6ece52..2f1d8a4 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index e8724a7..7d6edc7 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 81b05e2..f1f5ed6 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 37b5e91..7915842 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 36a1f1c70cf65dbd07d53397e25931eb556c30b2 Mon Sep 17 00:00:00 2001 From: Roger Kirkman Date: Fri, 26 Sep 2014 21:21:01 +0100 Subject: Add missing HGInventoryService responsible for creating My Suitcase to StandaloneHypergrid.ini --- bin/config-include/StandaloneHypergrid.ini | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bin') diff --git a/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini index ccb80cb..a3c7fa6 100644 --- a/bin/config-include/StandaloneHypergrid.ini +++ b/bin/config-include/StandaloneHypergrid.ini @@ -135,6 +135,10 @@ AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" + ; This inventory service will be used to initialize the user's inventory + HGInventoryServicePlugin = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" + HGInventoryServiceConstructorArg = "HGInventoryService" + [MapImageService] LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" -- cgit v1.1 From 530b0cbbf1e8f40fcc06b7c6d7011392c5356a9b Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Sat, 27 Sep 2014 00:23:52 +0100 Subject: Move expired objects cleaning trigger to the maintenance thread of a region rather than it's main scene loop. [Startup] default setting UpdateTempCleaningEveryNFrames becomes UpdateTempCleaningEveryNSeconds. Default becomes 180s instead of effective 182s (which would also vary with any changes in frame time or extra long frames) --- bin/OpenSimDefaults.ini | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index c6250e5..54f3da6 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -180,10 +180,6 @@ ; This must be a whole number UpdatePhysicsEveryNFrames = 1; - ; Clean up temp on rez objects. - ; This must be a whole number - UpdateTempCleaningEveryNFrames = 1000; - ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1. ; This must be a whole number UpdateEventsEveryNFrames = 1; @@ -196,6 +192,10 @@ ; This must be a whole number UpdateStorageEveryNFrames = 200; + ; Clean up temp on rez objects. + ; This must be a whole number + UpdateTempCleaningEveryNSeconds = 180; + ; ## ; ## PRIM STORAGE ; ## -- cgit v1.1 From 1a24b7fa9378ac0234975fbff8ae94b987fff058 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Sun, 28 Sep 2014 23:04:49 -0400 Subject: Fix key name in example Regions.ini file --- bin/Regions/Regions.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/Regions/Regions.ini.example b/bin/Regions/Regions.ini.example index d808e9a..1e65d2b 100644 --- a/bin/Regions/Regions.ini.example +++ b/bin/Regions/Regions.ini.example @@ -36,7 +36,7 @@ ExternalHostName = "SYSTEMIP" ; * This allows limiting the sizes of prims and the region prim count ; * -; NonphysicalPrimMax = 256 +; NonPhysicalPrimMax = 256 ; PhysicalPrimMax = 64 ; ClampPrimSize = False ; MaxPrims = 15000 -- cgit v1.1 From afa85e6b3cde51704aa65d291d626f9babb095d5 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 23 Sep 2014 18:11:05 +0100 Subject: Set appearance refresh to false by default. This setting was originally added some time ago to deal with issues where appearance was not received properly by all users. However, it does not scale well with large numbers of agents. Disabling to see if the original problem has abated or whether this will have to be tackled in another way. --- bin/OpenSimDefaults.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 54f3da6..f9341cf 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -772,7 +772,7 @@ ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds. ; This may help with some situations where avatars are persistently grey, though it will not help ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others). - ResendAppearanceUpdates = true + ResendAppearanceUpdates = false ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar ; on every login -- cgit v1.1 From c995b078184bcb591e85b73d0c3c47b48027375a Mon Sep 17 00:00:00 2001 From: justincc Date: Fri, 24 Oct 2014 22:54:53 +0100 Subject: Refresh OpenMetaverse libraries again at 0f4b361 but with Windows builds to see if this resolves some user problems. --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 10752 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 96768 -> 106496 bytes bin/OpenMetaverse.dll | Bin 2276864 -> 2244608 bytes bin/OpenMetaverseTypes.dll | Bin 102912 -> 110592 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 2f1d8a4..0912431 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 7d6edc7..c5f0c0e 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index f1f5ed6..828009d 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 7915842..c600076 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 26606190e5992a2e2022e21df52b8e6da78e08ac Mon Sep 17 00:00:00 2001 From: justincc Date: Thu, 30 Oct 2014 22:54:26 +0000 Subject: Update libomv to cedac55 This resolves an issue with pCampbot where some bots would occasionally connect with the same UDP source port. This sometimes led to console messages where bots would report receiving packets multiple times that weren't marked as resends. DLLs built under windows --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes bin/OpenMetaverse.dll | Bin 2244608 -> 2244608 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 0912431..a7bf094 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 828009d..97aaba4 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ -- cgit v1.1 From c5cd93db814e73a4640bddeed7d15174748f9cc2 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 7 Oct 2014 01:09:25 +0100 Subject: Change help text for client_throttle_max_bps in OpenSimDefaults.ini to state it is in bytes, not bits This is the same as already done for scene_throttle_max_bps Internally, the token buckets are in bytes and the other help text makes it clear that the number is bytes per second (though with the wrong assumption that 1 mbit = 1024 * 1024 bits whereas 1 mbit = 1000 kbits = 1000000 bits) --- bin/OpenSimDefaults.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index f9341cf..16547d8 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -533,7 +533,7 @@ ; ;scene_throttle_max_bps = 2621440 - ; Maximum bits per second to send to any single client. This will override + ; Maximum bytes per second to send to any single client. This will override ; the user's viewer preference settings. The default value is 0, meaning no ; aggregate throttling on clients (only per-category throttling). The ; example given here is 1.5 megabits -- cgit v1.1 From a4209d2df43c858784f3bba5a3c161f84b00cdf0 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 7 Oct 2014 01:14:13 +0100 Subject: small adjustment to commented out scene_throttle_max_bps and client_throttle_max_bps examples in OpenSimDefaults.ini Make them actually reflect 20 mbit and 1.5 mbit respectively --- bin/OpenSimDefaults.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 16547d8..0be4af5 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -531,14 +531,14 @@ ; 0, meaning no throttling at the scene level. The example given here is ; 20 megabits ; - ;scene_throttle_max_bps = 2621440 + ;scene_throttle_max_bps = 2500000 ; Maximum bytes per second to send to any single client. This will override ; the user's viewer preference settings. The default value is 0, meaning no ; aggregate throttling on clients (only per-category throttling). The ; example given here is 1.5 megabits ; - ;client_throttle_max_bps = 196608 + ;client_throttle_max_bps = 187500 ; Adaptive throttling attempts to limit network overload when multiple ; clients login by starting each connection more slowly. Disabled by -- cgit v1.1 From 9b09dd357556b0a038c2f7f83e4cd7318555bd11 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 28 Oct 2014 17:29:04 +0000 Subject: Add "wearables show" console command. This shows summary wearables information (shape, hair, etc.) for all avatars in the scene or specific information about a given avatar's wearables. Similar to the existing "attachments show" command. --- bin/OpenMetaverse.dll | Bin 2244608 -> 2276864 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 97aaba4..b590653 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ -- cgit v1.1 From aed4e96cf8ef51906a762a836fbc6b87b36adc28 Mon Sep 17 00:00:00 2001 From: justincc Date: Thu, 30 Oct 2014 22:54:26 +0000 Subject: Update libomv to cedac55 This resolves an issue with pCampbot where some bots would occasionally connect with the same UDP source port. This sometimes led to console messages where bots would report receiving packets multiple times that weren't marked as resends. DLLs built under windows --- bin/OpenMetaverse.dll | Bin 2276864 -> 2276864 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index b590653..f1f5ed6 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ -- cgit v1.1 From 124be38f745b884fac5dbdb6ef963387235f6108 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Thu, 20 Nov 2014 21:28:12 +0000 Subject: Add [BulletSim] option AvatarToAvatarCollisionsByDefault to control whether avatars collide. This is true by default. This is implemented with a new collision type (PhantomToOthersAvatar) to potentially allow colliding and non-colliding avatars to be present in the same scene. So there is no provision yet for giving avatars different collision types. This commit replaces the temporary change in commit f3eaa6d8 where avatars would never collide when using BulletSim This is equivalent to the av_av_collisions_off option in ODE. --- bin/OpenSim.ini.example | 5 +++++ bin/OpenSimDefaults.ini | 3 +++ 2 files changed, 8 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 573180a..0374877 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -619,6 +619,11 @@ ; ForwardOfflineGroupMessages = true +[BulletSim] + ;# {AvatarToAvatarCollisionsByDefault} {[Startup]physics:BulletSim} {Should avatars collide with each other?} {true false} true + AvatarToAvatarCollisionsByDefault = true + + [ODEPhysicsSettings] ;# {mesh_sculpted_prim} {[Startup]physics:OpenDynamicsEngine} {Mesh sculpties so they collide as they look?} {true false} true ;; Do we want to mesh sculpted prim to collide like they look? diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 0be4af5..e89fa0a 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1045,6 +1045,9 @@ ; magnifications use lots of memory. TerrainMeshMagnification = 2 + ; Should avatars collide with each other? + AvatarToAvatarCollisionsByDefault = true + ; Avatar physics height adjustments. ; http://opensimulator.org/wiki/BulletSim#Adjusting_Avatar_Height AvatarHeightLowFudge = 0 ; Adjustment at low end of height range -- cgit v1.1 From 59b38f842af4a1ad81e24b132948481e75004d6d Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Fri, 21 Nov 2014 01:44:30 +0000 Subject: Add [Startup] JobEngineEnabled setting that allows the job engine to be disabled for testing purposes if necessary. --- bin/OpenSimDefaults.ini | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index e89fa0a..3e9514e 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -67,6 +67,10 @@ ; when running with the SmartThreadPool option above MaxPoolThreads = 300 + ; Allow certain jobs to be run consecutively in a job engine rather than always concurrently. + ; This improves performance in regions with large numbers of connections (in the hundreds). + JobEngineEnabled = true + ; Plugin Registry Location ; Set path to directory for plugin registry. Information about the ; registered repositories and installed plugins will be stored here. -- cgit v1.1 From e8ec1e6de557d88626689d25fb6a00d2e439d34b Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Fri, 28 Nov 2014 00:01:32 +0000 Subject: minor: Make Robust.ini.example and Robust.HG.ini.example files consistent within themselves and OpenSim.ini.example by changing tabs to spaces, indenting, spacing. --- bin/Robust.HG.ini.example | 276 +++++++++++++++++++++++++--------------------- bin/Robust.ini.example | 146 +++++++++++++----------- 2 files changed, 230 insertions(+), 192 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index ef6f080..fe2b4f9 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -21,73 +21,74 @@ ; * [[@]/][:] ; * [Startup] - ; Place to create a PID file - ; If no path if specified then a PID file is not created. - ; PIDFile = "/tmp/Robust.exe.pid" + ; Place to create a PID file + ; If no path if specified then a PID file is not created. + ; PIDFile = "/tmp/Robust.exe.pid" - ; Plugin Registry Location - ; Set path to directory for plugin registry. Information - ; about the registered repositories and installed plugins - ; will be stored here - ; The Robust.exe process must have R/W access to the location - RegistryLocation = "." + ; Plugin Registry Location + ; Set path to directory for plugin registry. Information + ; about the registered repositories and installed plugins + ; will be stored here + ; The Robust.exe process must have R/W access to the location + RegistryLocation = "." - ; Modular configurations - ; Set path to directory for modular ini files... - ; The Robust.exe process must have R/W access to the location - ConfigDirectory = "." + ; Modular configurations + ; Set path to directory for modular ini files... + ; The Robust.exe process must have R/W access to the location + ConfigDirectory = "." - ; Console commands can be saved to a file, so the command history persists after a restart. (default is true) - ConsoleHistoryFileEnabled = true + ; Console commands can be saved to a file, so the command history persists after a restart. (default is true) + ConsoleHistoryFileEnabled = true - ; The history file can be just a filename (relative to OpenSim's bin/ directory - ; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/) - ConsoleHistoryFile = "RobustConsoleHistory.txt" + ; The history file can be just a filename (relative to OpenSim's bin/ directory + ; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/) + ConsoleHistoryFile = "RobustConsoleHistory.txt" + + ; How many lines of command history should we keep? (default is 100) + ConsoleHistoryFileLines = 100 - ; How many lines of command history should we keep? (default is 100) - ConsoleHistoryFileLines = 100 [ServiceList] + AssetServiceConnector = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector" + InventoryInConnector = "8003/OpenSim.Server.Handlers.dll:XInventoryInConnector" + ;; Uncomment if you have set up Freeswitch (see [FreeswitchService] below) + ;VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector" + GridServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridServiceConnector" + GridInfoServerInConnector = "8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector" + AuthenticationServiceConnector = "8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector" + OpenIdServerConnector = "8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector" + AvatarServiceConnector = "8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector" + LLLoginServiceInConnector = "8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector" + PresenceServiceConnector = "8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector" + UserAccountServiceConnector = "8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector" + GridUserServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector" + FriendsServiceConnector = "8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector" + MapAddServiceConnector = "8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector" + MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector" + ;; Uncomment this if you want offline IM to work + ; OfflineIMServiceConnector = "8003/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" + ;; Uncomment this if you want Groups V2 to work + ; GroupsServiceConnector = "8003/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" + ;; Uncomment to provide bakes caching + ;BakedTextureService = "8003/OpenSim.Server.Handlers.dll:XBakesConnector" + + ;; Additions for Hypergrid + + GatekeeperServiceInConnector = "8002/OpenSim.Server.Handlers.dll:GatekeeperServiceInConnector" + UserAgentServerConnector = "8002/OpenSim.Server.Handlers.dll:UserAgentServerConnector" + HeloServiceInConnector = "8002/OpenSim.Server.Handlers.dll:HeloServiceInConnector" + HGFriendsServerConnector = "8002/OpenSim.Server.Handlers.dll:HGFriendsServerConnector" + InstantMessageServerConnector = "8002/OpenSim.Server.Handlers.dll:InstantMessageServerConnector" + HGInventoryServiceConnector = "HGInventoryService@8002/OpenSim.Server.Handlers.dll:XInventoryInConnector" + HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:AssetServiceConnector" + ;; Uncomment this if you want Groups V2, HG to work + ; HGGroupsServiceConnector = "8002/OpenSim.Addons.Groups.dll:HGGroupsServiceRobustConnector" + ;; Additions for other add-on modules. For example: + ;; WifiServerConnector = "8002/Diva.Wifi.dll:WifiServerConnector" + + ;; Uncomment for UserProfiles see [UserProfilesService] to configure... + ; UserProfilesServiceConnector = "8002/OpenSim.Server.Handlers.dll:UserProfilesConnector" -AssetServiceConnector = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector" -InventoryInConnector = "8003/OpenSim.Server.Handlers.dll:XInventoryInConnector" -;; Uncomment if you have set up Freeswitch (see [FreeswitchService] below) -;VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector" -GridServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridServiceConnector" -GridInfoServerInConnector = "8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector" -AuthenticationServiceConnector = "8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector" -OpenIdServerConnector = "8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector" -AvatarServiceConnector = "8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector" -LLLoginServiceInConnector = "8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector" -PresenceServiceConnector = "8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector" -UserAccountServiceConnector = "8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector" -GridUserServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector" -FriendsServiceConnector = "8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector" -MapAddServiceConnector = "8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector" -MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector" -;; Uncomment this if you want offline IM to work -; OfflineIMServiceConnector = "8003/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" -;; Uncomment this if you want Groups V2 to work -; GroupsServiceConnector = "8003/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" -;; Uncomment to provide bakes caching -;BakedTextureService = "8003/OpenSim.Server.Handlers.dll:XBakesConnector" - -;; Additions for Hypergrid - -GatekeeperServiceInConnector = "8002/OpenSim.Server.Handlers.dll:GatekeeperServiceInConnector" -UserAgentServerConnector = "8002/OpenSim.Server.Handlers.dll:UserAgentServerConnector" -HeloServiceInConnector = "8002/OpenSim.Server.Handlers.dll:HeloServiceInConnector" -HGFriendsServerConnector = "8002/OpenSim.Server.Handlers.dll:HGFriendsServerConnector" -InstantMessageServerConnector = "8002/OpenSim.Server.Handlers.dll:InstantMessageServerConnector" -HGInventoryServiceConnector = "HGInventoryService@8002/OpenSim.Server.Handlers.dll:XInventoryInConnector" -HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:AssetServiceConnector" -;; Uncomment this if you want Groups V2, HG to work -; HGGroupsServiceConnector = "8002/OpenSim.Addons.Groups.dll:HGGroupsServiceRobustConnector" -;; Additions for other add-on modules. For example: -;; WifiServerConnector = "8002/Diva.Wifi.dll:WifiServerConnector" - -;; Uncomment for UserProfiles see [UserProfilesService] to configure... -; UserProfilesServiceConnector = "8002/OpenSim.Server.Handlers.dll:UserProfilesConnector" ; * This is common for all services, it's the network setup for the entire ; * server instance, if none is specified above @@ -114,28 +115,28 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; Password for cert ; cert_pass = "password" - ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services. - ;; Use this if your central services in port 8003 need to be accessible on the Internet - ;; but you want to protect them from unauthorized access. + ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services. + ;; Use this if your central services in port 8003 need to be accessible on the Internet + ;; but you want to protect them from unauthorized access. ; AuthType = "BasicHttpAuthentication" ; HttpAuthUsername = "some_username" ; HttpAuthPassword = "some_password" - ;; - ;; AuthType above can be overriden in any of the service sections below by - ; AuthType = "None" - ;; This is useful in cases where you want to protect most of the services, - ;; but unprotect individual services. Username and Password can also be - ;; overriden if you want to use different credentials for the different services. - ;; Hypgergrid services are not affected by this; they are publicly available - ;; by design. - - -; * The following are for the remote console -; * They have no effect for the local or basic console types -; * Leave commented to diable logins to the console -;ConsoleUser = Test -;ConsolePass = secret -;ConsolePort = 0 + ;; + ;; AuthType above can be overriden in any of the service sections below by + ; AuthType = "None" + ;; This is useful in cases where you want to protect most of the services, + ;; but unprotect individual services. Username and Password can also be + ;; overriden if you want to use different credentials for the different services. + ;; Hypergrid services are not affected by this; they are publicly available + ;; by design. + + ; * The following are for the remote console + ; * They have no effect for the local or basic console types + ; * Leave commented to diable logins to the console + ;ConsoleUser = Test + ;ConsolePass = secret + ;ConsolePort = 0 + [Hypergrid] ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} @@ -152,6 +153,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ;; This is a default that can be overwritten in some sections. ; GatekeeperURI = "http://127.0.0.1:8002" + [DatabaseService] ; PGSQL ; Uncomment these lines if you want to use PGSQL storage @@ -165,6 +167,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset StorageProvider = "OpenSim.Data.MySQL.dll" ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;" + ; * As an example, the below configuration precisely mimicks the legacy ; * asset server. It is read by the asset IN connector (defined above) ; * and it then loads the OUT connector (a local database module). That, @@ -175,12 +178,14 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" AssetLoaderArgs = "./assets/AssetSets.xml" + ; * This configuration loads the inventory server modules. It duplicates ; * the function of the legacy inventory server ; * [InventoryService] LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService" + ; * This is the new style grid service. ; * "Realm" is the table that is used for user lookup. ; * It defaults to "regions", which uses the legacy tables @@ -270,6 +275,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; EchoPort = 50505 ; AttemptSTUN = false + ; * This is the new style authentication service. Currently, only MySQL ; * is implemented. ; * @@ -290,11 +296,13 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ;; Default is false. ; AllowSetPassword = false + [OpenIdService] ; for the server connector AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" UserAccountServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService" + ; * This is the new style user service. ; * "Realm" is the table that is used for user lookup. ; * It defaults to "useraccounts", which uses the new style. @@ -331,22 +339,27 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; for the server connector LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService" + [PresenceService] ; for the server connector LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService" + [AvatarService] ; for the server connector LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService" + [FriendsService] ; for the server connector LocalServiceModule = "OpenSim.Services.FriendsService.dll:FriendsService" + [LibraryService] LibraryName = "OpenSim Library" DefaultLibrary = "./inventory/Libraries.xml" + [LoginService] ; for the server connector LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService" @@ -392,8 +405,8 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; HasProxy = false ; Defaults for the users, if none is specified in the useraccounts table entry (ServiceURLs) - ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented - ; GatekeeperURI = "http://127.0.0.1:8002" + ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented + ; GatekeeperURI = "http://127.0.0.1:8002" SRV_HomeURI = "http://127.0.0.1:8002" SRV_InventoryServerURI = "http://127.0.0.1:8002" @@ -403,20 +416,20 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset SRV_IMServerURI = "http://127.0.0.1:8002" SRV_GroupsServerURI = "http://127.0.0.1:8002" - ;; Regular expressions for controlling which client versions are accepted/denied. - ;; An empty string means nothing is checked. - ;; - ;; Example 1: allow only these 3 types of clients (any version of them) - ;; AllowedClients = "Imprudence|Hippo|Second Life" - ;; - ;; Example 2: allow all clients except these - ;; DeniedClients = "Twisted|Crawler|Cryolife|FuckLife|StreetLife|GreenLife|AntiLife|KORE-Phaze|Synlyfe|Purple Second Life|SecondLi |Emerald" - ;; - ;; Note that these are regular expressions, so every character counts. - ;; Also note that this is very weak security and should not be trusted as a reliable means - ;; for keeping bad clients out; modified clients can fake their identifiers. - ;; - ;; + ;; Regular expressions for controlling which client versions are accepted/denied. + ;; An empty string means nothing is checked. + ;; + ;; Example 1: allow only these 3 types of clients (any version of them) + ;; AllowedClients = "Imprudence|Hippo|Second Life" + ;; + ;; Example 2: allow all clients except these + ;; DeniedClients = "Twisted|Crawler|Cryolife|FuckLife|StreetLife|GreenLife|AntiLife|KORE-Phaze|Synlyfe|Purple Second Life|SecondLi |Emerald" + ;; + ;; Note that these are regular expressions, so every character counts. + ;; Also note that this is very weak security and should not be trusted as a reliable means + ;; for keeping bad clients out; modified clients can fake their identifiers. + ;; + ;; ;AllowedClients = "" ;DeniedClients = "" @@ -432,18 +445,21 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows DSTZone = "America/Los_Angeles;Pacific Standard Time" + [MapImageService] LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" - ; Set this if you want to change the default - ; TilesStoragePath = "maptiles" - ; - ; If for some reason you have the AddMapTile service outside the firewall (e.g. 8002), - ; you may want to set this. Otherwise, don't set it, because it's already protected. - ; GridService = "OpenSim.Services.GridService.dll:GridService" - ; + + ; Set this if you want to change the default + ; TilesStoragePath = "maptiles" + ; + ; If for some reason you have the AddMapTile service outside the firewall (e.g. 8002), + ; you may want to set this. Otherwise, don't set it, because it's already protected. + ; GridService = "OpenSim.Services.GridService.dll:GridService" + ; ; Additionally, if you run this server behind a proxy, set this to true ; HasProxy = false + [GridInfoService] ; These settings are used to return information on a get_grid_info call. ; Client launcher scripts and third-party clients make use of this to @@ -491,6 +507,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; this is the entry point for all user-related HG services ; uas = http://127.0.0.1:8002/ + [GatekeeperService] LocalServiceModule = "OpenSim.Services.HypergridService.dll:GatekeeperService" ;; for the service @@ -594,17 +611,18 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset [HGInventoryService] ; For the InventoryServiceInConnector LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" - ;; alternatives: - ;; HG1.5, more permissive, not recommended, but still supported + ;; alternatives: + ;; HG1.5, more permissive, not recommended, but still supported ;LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInventoryService" - ;; HG1.0, totally permissive, not recommended, but OK for grids with 100% trust + ;; HG1.0, totally permissive, not recommended, but OK for grids with 100% trust ;LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService" - UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" - AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" + UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" + + ;; Can overwrite the default in [Hypergrid], but probably shouldn't + ; HomeURI = "http://127.0.0.1:8002" - ;; Can overwrite the default in [Hypergrid], but probably shouldn't - ; HomeURI = "http://127.0.0.1:8002" ; * The interface that local users get when they are in other grids. ; * This restricts the access that the rest of the world has to @@ -614,28 +632,30 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGAssetService" UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" - ;; Can overwrite the default in [Hypergrid], but probably shouldn't - ; HomeURI = "http://127.0.0.1:8002" + ;; Can overwrite the default in [Hypergrid], but probably shouldn't + ; HomeURI = "http://127.0.0.1:8002" ;; The asset types that this grid can export to / import from other grids. - ;; Comma separated. - ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: - ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, - ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh - ;; - ;; Leave blank or commented if you don't want to apply any restrictions. - ;; A more strict, but still reasonable, policy may be to disallow the exchange - ;; of scripts, like so: + ;; Comma separated. + ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: + ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, + ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh + ;; + ;; Leave blank or commented if you don't want to apply any restrictions. + ;; A more strict, but still reasonable, policy may be to disallow the exchange + ;; of scripts, like so: ; DisallowExport ="LSLText" ; DisallowImport ="LSLBytecode" + [HGFriendsService] - LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFriendsService" - UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" - FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" - UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" - GridService = "OpenSim.Services.GridService.dll:GridService" - PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFriendsService" + UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" + FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + GridService = "OpenSim.Services.GridService.dll:GridService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + [HGInstantMessageService] LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" @@ -645,18 +665,21 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; This should always be true in the Robust config InGatekeeper = True + [Messaging] ; OfflineIM OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" + [Groups] ;; for the HG Groups service OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" ;; What is the HomeURI of users associated with this grid? - ;; Can overwrite the default in [Hypergrid], but probably shouldn't - ; HomeURI = "http://127.0.0.1:8002" + ;; Can overwrite the default in [Hypergrid], but probably shouldn't + ; HomeURI = "http://127.0.0.1:8002" + [UserProfilesService] LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService" @@ -667,6 +690,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + [BakedTextureService] LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes" ;; This directory must be writable by the user ROBUST runs as. It will be created automatically. diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index ca0b699..47b8e6f 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -13,58 +13,58 @@ ; * [[@]/][:] ; * [Startup] - ; Place to create a PID file - ; If no path if specified then a PID file is not created. - ; PIDFile = "/tmp/Robust.exe.pid" - - ; Plugin Registry Location - ; Set path to directory for plugin registry. Information - ; about the registered repositories and installed plugins - ; will be stored here - ; The Robust.exe process must have R/W access to the location - RegistryLocation = "." - - ; Modular configurations - ; Set path to directory for modular ini files... - ; The Robust.exe process must have R/W access to the location - ConfigDirectory = "." - - ; Console commands can be saved to a file, so the command history persists after a restart. (default is true) - ConsoleHistoryFileEnabled = true - - ; The history file can be just a filename (relative to OpenSim's bin/ directory - ; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/) - ConsoleHistoryFile = "RobustConsoleHistory.txt" - - ; How many lines of command history should we keep? (default is 100) - ConsoleHistoryFileLines = 100 + ; Place to create a PID file + ; If no path if specified then a PID file is not created. + ; PIDFile = "/tmp/Robust.exe.pid" + + ; Plugin Registry Location + ; Set path to directory for plugin registry. Information + ; about the registered repositories and installed plugins + ; will be stored here + ; The Robust.exe process must have R/W access to the location + RegistryLocation = "." + + ; Modular configurations + ; Set path to directory for modular ini files... + ; The Robust.exe process must have R/W access to the location + ConfigDirectory = "." + + ; Console commands can be saved to a file, so the command history persists after a restart. (default is true) + ConsoleHistoryFileEnabled = true + + ; The history file can be just a filename (relative to OpenSim's bin/ directory + ; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/) + ConsoleHistoryFile = "RobustConsoleHistory.txt" + + ; How many lines of command history should we keep? (default is 100) + ConsoleHistoryFileLines = 100 [ServiceList] -AssetServiceConnector = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector" -InventoryInConnector = "8003/OpenSim.Server.Handlers.dll:XInventoryInConnector" -;; Uncomment if you have set up Freeswitch (see [FreeswitchService] below) -;VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector" -GridServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridServiceConnector" -GridInfoServerInConnector = "8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector" -AuthenticationServiceConnector = "8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector" -OpenIdServerConnector = "8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector" -AvatarServiceConnector = "8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector" -LLLoginServiceInConnector = "8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector" -PresenceServiceConnector = "8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector" -UserAccountServiceConnector = "8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector" -GridUserServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector" -FriendsServiceConnector = "8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector" -MapAddServiceConnector = "8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector" -MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector" -;; Uncomment this if you want offline IM to work -;OfflineIMServiceConnector = "8003/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" -;; Uncomment this if you want Groups V2 to work -;GroupsServiceConnector = "8003/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" -;; Uncomment to provide bakes caching -;BakedTextureService = "8003/OpenSim.Server.Handlers.dll:XBakesConnector" - -;; Uncomment for UserProfiles see [UserProfilesService] to configure... -; UserProfilesServiceConnector = "8002/OpenSim.Server.Handlers.dll:UserProfilesConnector" + AssetServiceConnector = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector" + InventoryInConnector = "8003/OpenSim.Server.Handlers.dll:XInventoryInConnector" + ;; Uncomment if you have set up Freeswitch (see [FreeswitchService] below) + ;VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector" + GridServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridServiceConnector" + GridInfoServerInConnector = "8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector" + AuthenticationServiceConnector = "8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector" + OpenIdServerConnector = "8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector" + AvatarServiceConnector = "8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector" + LLLoginServiceInConnector = "8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector" + PresenceServiceConnector = "8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector" + UserAccountServiceConnector = "8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector" + GridUserServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector" + FriendsServiceConnector = "8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector" + MapAddServiceConnector = "8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector" + MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector" + ;; Uncomment this if you want offline IM to work + ;OfflineIMServiceConnector = "8003/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" + ;; Uncomment this if you want Groups V2 to work + ;GroupsServiceConnector = "8003/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" + ;; Uncomment to provide bakes caching + ;BakedTextureService = "8003/OpenSim.Server.Handlers.dll:XBakesConnector" + + ;; Uncomment for UserProfiles see [UserProfilesService] to configure... + ; UserProfilesServiceConnector = "8002/OpenSim.Server.Handlers.dll:UserProfilesConnector" ; * This is common for all services, it's the network setup for the entire ; * server instance, if none is specified above @@ -91,26 +91,26 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; Password for cert ; cert_pass = "password" - ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services. - ;; Use this if your central services in port 8003 need to be accessible on the Internet - ;; but you want to protect them from unauthorized access. + ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services. + ;; Use this if your central services in port 8003 need to be accessible on the Internet + ;; but you want to protect them from unauthorized access. ; AuthType = "BasicHttpAuthentication" ; HttpAuthUsername = "some_username" ; HttpAuthPassword = "some_password" - ;; - ;; AuthType above can be overriden in any of the service sections below by - ; AuthType = "None" - ;; This is useful in cases where you want to protect most of the services, - ;; but unprotect individual services. Username and Password can also be - ;; overriden if you want to use different credentials for the different services. + ;; + ;; AuthType above can be overriden in any of the service sections below by + ; AuthType = "None" + ;; This is useful in cases where you want to protect most of the services, + ;; but unprotect individual services. Username and Password can also be + ;; overriden if you want to use different credentials for the different services. + ; * The following are for the remote console + ; * They have no effect for the local or basic console types + ; * Leave commented to diable logins to the console + ;ConsoleUser = Test + ;ConsolePass = secret + ;ConsolePort = 0 -; * The following are for the remote console -; * They have no effect for the local or basic console types -; * Leave commented to diable logins to the console -;ConsoleUser = Test -;ConsolePass = secret -;ConsolePort = 0 [DatabaseService] ; PGSQL @@ -125,6 +125,7 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto StorageProvider = "OpenSim.Data.MySQL.dll" ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;" + ; * As an example, the below configuration precisely mimicks the legacy ; * asset server. It is read by the asset IN connector (defined above) ; * and it then loads the OUT connector (a local database module). That, @@ -148,12 +149,14 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; Default is false. AllowRemoteDeleteAllTypes = false + ; * This configuration loads the inventory server modules. It duplicates ; * the function of the legacy inventory server ; * [InventoryService] LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService" + ; * This is the new style grid service. ; * "Realm" is the table that is used for user lookup. ; * It defaults to "regions", which uses the legacy tables @@ -191,6 +194,7 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ;; Set to false to prevent export ExportSupported = true + ; * This is the configuration for the freeswitch server in grid mode [FreeswitchService] LocalServiceModule = "OpenSim.Services.FreeswitchService.dll:FreeswitchService" @@ -227,6 +231,7 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; EchoPort = 50505 ; AttemptSTUN = false + ; * This is the new style authentication service. Currently, only MySQL ; * is implemented. ; * @@ -246,11 +251,13 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ;; Default is false. ; AllowSetPassword = false + [OpenIdService] ; for the server connector AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" UserAccountServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService" + ; * This is the new style authentication service. Currently, only MySQL ; * is implemented. "Realm" is the table that is used for user lookup. ; * It defaults to "useraccounts", which uses the new style. @@ -287,6 +294,7 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; for the server connector LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService" + [PresenceService] ; for the server connector LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService" @@ -294,18 +302,22 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; bots using one account AllowDuplicatePresences = false; + [AvatarService] ; for the server connector LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService" + [FriendsService] ; for the server connector LocalServiceModule = "OpenSim.Services.FriendsService.dll:FriendsService" + [LibraryService] LibraryName = "OpenSim Library" DefaultLibrary = "./inventory/Libraries.xml" + [LoginService] ; for the server connector LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService" @@ -424,6 +436,7 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; OfflineIM OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" + [GridInfoService] ; These settings are used to return information on a get_grid_info call. ; Client launcher scripts and third-party clients make use of this to @@ -463,6 +476,7 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; password help: optional: page providing password assistance for users of your grid ;password = http://127.0.0.1/password + [UserProfilesService] LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService" Enabled = false @@ -472,8 +486,8 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + [BakedTextureService] LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes" ;; This directory must be writable by the user ROBUST runs as. It will be created automatically. BaseDirectory = "./bakes" - -- cgit v1.1 From 5f88ceab2269a0413b9a57674a0a1b097c374fd4 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Sun, 30 Nov 2014 13:59:23 -0500 Subject: Set configuration files to use key expansion for widely used common settings. --- bin/OpenSim.ini.example | 20 +++- bin/Robust.HG.ini.example | 151 ++++++++++++++---------- bin/Robust.ini.example | 87 +++++++++----- bin/config-include/GridCommon.ini.example | 48 ++++---- bin/config-include/StandaloneCommon.ini.example | 58 ++++----- 5 files changed, 211 insertions(+), 153 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 0374877..da88e7f 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -42,6 +42,17 @@ ;; out. +[Const] + ;# {BaseURL} {} {BaseURL} {"http://example.com","http://127.0.0.1"} "http://127.0.0.1" + BaseURL = http://127.0.0.1 + + ;# {PublicPort} {} {PublicPort} {8002} "8002" + PublicPort = "8002" + + ;# {PrivatePort} {} {PublicPort} {8003} "8003" + PrivatePort = "8003" + + [Startup] ;# {ConsolePrompt} {} {ConsolePrompt} {} "Region (\R) " ;; Console prompt @@ -597,7 +608,8 @@ ;# {OfflineMessageURL} {OfflineMessageModule:OfflineMessageModule Offline Message Module V2:Offline Message Module V2} {URL of offline messaging service} {} ;; URL of web service for offline message storage. Leave it commented if your service is local to the sim. - ; OfflineMessageURL = http://yourserver/Offline.php or http://yourrobustserver:8003 + ; OfflineMessageURL = ${Const|BaseURL}/Offline.php + ; OfflineMessageURL = ${Const|BaseURL}:${Const|PrivtePort} ;# {StorageProvider} {Offline Message Module V2:Offline Message Module V2} {DLL that provides the storage interface} {OpenSim.Data.MySQL.dll} ;; For standalones, this is the storage dll. @@ -1037,7 +1049,7 @@ ;; URI for the groups services of this grid ;; e.g. http://yourxmlrpcserver.com/xmlrpc.php for Flotsam XmlRpc ;; or http://mygridserver.com:82/Grid/ for SimianGrid - ;; or http:://mygridserver.com:8003 for robust, V2 + ;; or http:://${Const|BaseURL}:${Const|PrivatePort} for robust, V2 ;; Leave it commented for standalones, V2 ; GroupsServerURI = "" @@ -1105,13 +1117,13 @@ ;# {ProfileServiceURL} {} {Set url to UserProfilesService} {} ;; Set the value of the url to your UserProfilesService ;; If un-set / "" the module is disabled - ;; ProfileServiceURL = http://127.0.0.1:8002 + ;; ProfileServiceURL = ${Const|BaseURL}:${Const|PublicPort} [XBakes] ;# {URL} {} {Set URL for Baked texture service} {} ;; Sets the URL for the baked texture ROBUST service. ;; Disabled when unset. - ;; URL = http://127.0.0.1:8003 + ;; URL = ${Const|BaseURL}:${Const|PrivatePort} [Architecture] ;# {Include-Architecture} {} {Choose one of the following architectures} {config-include/Standalone.ini config-include/StandaloneHypergrid.ini config-include/Grid.ini config-include/GridHypergrid.ini config-include/SimianGrid.ini config-include/HyperSimianGrid.ini} config-include/Standalone.ini diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index fe2b4f9..8982b71 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -10,6 +10,29 @@ ; * OpenSim.Server.Handlers.dll:XInventoryInConnector ; * are started in port 8002, outside the firewall ; * +; ** +; * +; * The Const section allows us to define some basic information that we +; * will use throughout our configuration. We will provide examples for +; * setting the base url of the Robust server and the public and private ports +; * it uses. Changing the values of the constants will set the operating +; * parameters thoughout the configuration. Other constants that may prove +; * to be useful may be added to the followin section. They may be +; * referenced anywhere in the configuration by using ${Const|Name}. One +; * such use is providing a base path for setting locations that Robust +; * uses to write data. +; * +[Const] + + ; The URL of the Robust server + BaseURL = "http://127.0.0.1" + + ; The public port of the Robust server + PublicPort = "8002" + + ; The private port of the Robust server + PrivatePort = "8003" + ; * The startup section lists all the connectors to start up in this server ; * instance. This may be only one, or it may be the entire server suite. ; * Multiple connectors should be separated by commas. @@ -49,52 +72,52 @@ [ServiceList] - AssetServiceConnector = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector" - InventoryInConnector = "8003/OpenSim.Server.Handlers.dll:XInventoryInConnector" + AssetServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AssetServiceConnector" + InventoryInConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XInventoryInConnector" ;; Uncomment if you have set up Freeswitch (see [FreeswitchService] below) ;VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector" - GridServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridServiceConnector" - GridInfoServerInConnector = "8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector" - AuthenticationServiceConnector = "8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector" - OpenIdServerConnector = "8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector" - AvatarServiceConnector = "8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector" - LLLoginServiceInConnector = "8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector" - PresenceServiceConnector = "8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector" - UserAccountServiceConnector = "8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector" - GridUserServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector" - FriendsServiceConnector = "8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector" - MapAddServiceConnector = "8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector" - MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector" + GridServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridServiceConnector" + GridInfoServerInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:GridInfoServerInConnector" + AuthenticationServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector" + OpenIdServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:OpenIdServerConnector" + AvatarServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AvatarServiceConnector" + LLLoginServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector" + PresenceServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:PresenceServiceConnector" + UserAccountServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:UserAccountServiceConnector" + GridUserServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridUserServiceConnector" + FriendsServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:FriendsServiceConnector" + MapAddServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MapAddServiceConnector" + MapGetServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:MapGetServiceConnector" ;; Uncomment this if you want offline IM to work - ; OfflineIMServiceConnector = "8003/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" + ; OfflineIMServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" ;; Uncomment this if you want Groups V2 to work - ; GroupsServiceConnector = "8003/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" + ; GroupsServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" ;; Uncomment to provide bakes caching - ;BakedTextureService = "8003/OpenSim.Server.Handlers.dll:XBakesConnector" + ;BakedTextureService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XBakesConnector" ;; Additions for Hypergrid - GatekeeperServiceInConnector = "8002/OpenSim.Server.Handlers.dll:GatekeeperServiceInConnector" - UserAgentServerConnector = "8002/OpenSim.Server.Handlers.dll:UserAgentServerConnector" - HeloServiceInConnector = "8002/OpenSim.Server.Handlers.dll:HeloServiceInConnector" - HGFriendsServerConnector = "8002/OpenSim.Server.Handlers.dll:HGFriendsServerConnector" - InstantMessageServerConnector = "8002/OpenSim.Server.Handlers.dll:InstantMessageServerConnector" - HGInventoryServiceConnector = "HGInventoryService@8002/OpenSim.Server.Handlers.dll:XInventoryInConnector" - HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:AssetServiceConnector" + GatekeeperServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:GatekeeperServiceInConnector" + UserAgentServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserAgentServerConnector" + HeloServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:HeloServiceInConnector" + HGFriendsServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:HGFriendsServerConnector" + InstantMessageServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:InstantMessageServerConnector" + HGInventoryServiceConnector = "HGInventoryService@${Const|PublicPort}/OpenSim.Server.Handlers.dll:XInventoryInConnector" + HGAssetServiceConnector = "HGAssetService@${Const|PublicPort}/OpenSim.Server.Handlers.dll:AssetServiceConnector" ;; Uncomment this if you want Groups V2, HG to work - ; HGGroupsServiceConnector = "8002/OpenSim.Addons.Groups.dll:HGGroupsServiceRobustConnector" + ; HGGroupsServiceConnector = "${Const|PublicPort}/OpenSim.Addons.Groups.dll:HGGroupsServiceRobustConnector" ;; Additions for other add-on modules. For example: - ;; WifiServerConnector = "8002/Diva.Wifi.dll:WifiServerConnector" + ;; WifiServerConnector = "${Const|PublicPort}/Diva.Wifi.dll:WifiServerConnector" ;; Uncomment for UserProfiles see [UserProfilesService] to configure... - ; UserProfilesServiceConnector = "8002/OpenSim.Server.Handlers.dll:UserProfilesConnector" + ; UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector" ; * This is common for all services, it's the network setup for the entire ; * server instance, if none is specified above ; * [Network] - port = 8003 + port = ${Const|PrivatePort} ; HTTPS for "Out of band" management applications such as the remote admin ; module. May specify https_main = True to make the main http server @@ -116,7 +139,7 @@ ; cert_pass = "password" ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services. - ;; Use this if your central services in port 8003 need to be accessible on the Internet + ;; Use this if your central services in port ${Const|PrivatePort} need to be accessible on the Internet ;; but you want to protect them from unauthorized access. ; AuthType = "BasicHttpAuthentication" ; HttpAuthUsername = "some_username" @@ -142,16 +165,16 @@ ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} ;; This is the address of the external robust server that ;; runs the UserAgentsService, possibly this server. - ;; For example http://myworld.com:8002 + ;; For example http://myworld.com:${Const|PublicPort} ;; This is a default that can be overwritten in some sections. - ; HomeURI = "http://127.0.0.1:8002" + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} ;; This is the address of the external robust server ;; that runs the Gatekeeper service, possibly this server. - ;; For example http://myworld.com:8002 + ;; For example http://myworld.com:${Const|PublicPort} ;; This is a default that can be overwritten in some sections. - ; GatekeeperURI = "http://127.0.0.1:8002" + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" [DatabaseService] @@ -236,7 +259,7 @@ ExportSupported = true ;; If you have this set under [Hypergrid], no need to set it here, leave it commented - ; GatekeeperURI = "http://127.0.0.1:8002" + ; GatekeeperURI = "http://127.0.0.1:${Const|PublicPort}" ; * This is the configuration for the freeswitch server in grid mode @@ -390,31 +413,31 @@ AllowRemoteSetLoginLevel = "false" ; For V2 map - MapTileURL = "http://127.0.0.1:8002/"; + MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/"; ; Url to search service - ; SearchURL = "http://127.0.0.1:8002/"; + ; SearchURL = "${Const|BaseURL}:${Const|PublicPort}/"; ; For V3 destination guide - ; DestinationGuide = "http://127.0.0.1/guide" + ; DestinationGuide = "${Const|BaseURL}/guide" ; For V3 avatar picker (( work in progress )) - ; AvatarPicker = "http://127.0.0.1/avatars" + ; AvatarPicker = "${Const|BaseURL}/avatars" ; If you run this login server behind a proxy, set this to true ; HasProxy = false ; Defaults for the users, if none is specified in the useraccounts table entry (ServiceURLs) ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented - ; GatekeeperURI = "http://127.0.0.1:8002" + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" - SRV_HomeURI = "http://127.0.0.1:8002" - SRV_InventoryServerURI = "http://127.0.0.1:8002" - SRV_AssetServerURI = "http://127.0.0.1:8002" - SRV_ProfileServerURI = "http://127.0.0.1:8002" - SRV_FriendsServerURI = "http://127.0.0.1:8002" - SRV_IMServerURI = "http://127.0.0.1:8002" - SRV_GroupsServerURI = "http://127.0.0.1:8002" + SRV_HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_InventoryServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_AssetServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_ProfileServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_FriendsServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_IMServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_GroupsServerURI = "${Const|BaseURL}:${Const|PublicPort}" ;; Regular expressions for controlling which client versions are accepted/denied. ;; An empty string means nothing is checked. @@ -452,7 +475,7 @@ ; Set this if you want to change the default ; TilesStoragePath = "maptiles" ; - ; If for some reason you have the AddMapTile service outside the firewall (e.g. 8002), + ; If for some reason you have the AddMapTile service outside the firewall (e.g. ${Const|PublicPort}), ; you may want to set this. Otherwise, don't set it, because it's already protected. ; GridService = "OpenSim.Services.GridService.dll:GridService" ; @@ -470,7 +493,7 @@ ; See http://opensimulator.org/wiki/GridInfo ; login uri: for grid this is the login server URI - login = http://127.0.0.1:8002/ + login = ${Const|BaseURL}:${Const|PublicPort}/ ; long grid name: the long name of your grid gridname = "the lost continent of hippo" @@ -480,32 +503,32 @@ ; login page: optional: if it exists it will be used to tell the client to use ; this as splash page - ;welcome = http://127.0.0.1/welcome + ;welcome = ${Const|BaseURL}/welcome ; helper uri: optional: if it exists if will be used to tell the client to use ; this for all economy related things - ;economy = http://127.0.0.1:8002/ + ;economy = ${Const|BaseURL}:${Const|PublicPort}/ ; web page of grid: optional: page providing further information about your grid - ;about = http://127.0.0.1/about/ + ;about = ${Const|BaseURL}/about/ ; account creation: optional: page providing further information about obtaining ; a user account on your grid - ;register = http://127.0.0.1/register + ;register = ${Const|BaseURL}/register ; help: optional: page providing further assistance for users of your grid - ;help = http://127.0.0.1/help + ;help = ${Const|BaseURL}/help ; password help: optional: page providing password assistance for users of your grid - ;password = http://127.0.0.1/password + ;password = ${Const|BaseURL}/password ; HG address of the gatekeeper, if you have one ; this is the entry point for all the regions of the world - ; gatekeeper = http://127.0.0.1:8002/ + ; gatekeeper = ${Const|BaseURL}:${Const|PublicPort}/ ; HG user domain, if you have one ; this is the entry point for all user-related HG services - ; uas = http://127.0.0.1:8002/ + ; uas = ${Const|BaseURL}:${Const|PublicPort}/ [GatekeeperService] @@ -520,7 +543,7 @@ SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector" ; how does the outside world reach me? This acts as public key too. ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented - ; ExternalName = "http://127.0.0.1:8002" + ; ExternalName = "${Const|BaseURL}:${Const|PublicPort}" ; Does this grid allow incoming links to any region in it? ; If false, HG TPs happen only to the Default regions specified in [GridService] section @@ -551,11 +574,11 @@ ;; ;; If ForeignAgentsAllowed is true, make exceptions using AllowExcept. ;; Leave blank or commented for no exceptions. - ; AllowExcept = "http://griefer.com:8002, http://enemy.com:8002" + ; AllowExcept = "http://griefer.com:${Const|PublicPort}, http://enemy.com:8002" ;; ;; If ForeignAgentsAllowed is false, make exceptions using DisallowExcept ;; Leave blank or commented for no exceptions. - ; DisallowExcept = "http://myfriendgrid.com:8002, http://myboss.com:8002" + ; DisallowExcept = "http://myfriendgrid.com:${Const|PublicPort}, http://myboss.com:8002" [UserAgentService] @@ -589,11 +612,11 @@ ;; ;; If ForeignTripsAllowed is false, make exceptions using DisallowExcept ;; Leave blank or commented for no exceptions. - ; DisallowExcept_Level_0 = "http://myothergrid.com:8002, http://boss.com:8002" + ; DisallowExcept_Level_0 = "http://myothergrid.com:${Const|PublicPort}, http://boss.com:8002" ;; ;; If ForeignTripsAllowed is true, make exceptions using AllowExcept. ;; Leave blank or commented for no exceptions. - ; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002" + ; AllowExcept_Level_200 = "http://griefer.com:${Const|PublicPort}, http://enemy.com:8002" ;; This variable controls what is exposed to profiles of local users ;; as seen from outside of this grid. Leave it uncommented for exposing @@ -621,7 +644,7 @@ AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" ;; Can overwrite the default in [Hypergrid], but probably shouldn't - ; HomeURI = "http://127.0.0.1:8002" + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" ; * The interface that local users get when they are in other grids. @@ -633,7 +656,7 @@ UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" ;; Can overwrite the default in [Hypergrid], but probably shouldn't - ; HomeURI = "http://127.0.0.1:8002" + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" ;; The asset types that this grid can export to / import from other grids. ;; Comma separated. @@ -678,7 +701,7 @@ ;; What is the HomeURI of users associated with this grid? ;; Can overwrite the default in [Hypergrid], but probably shouldn't - ; HomeURI = "http://127.0.0.1:8002" + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" [UserProfilesService] diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 47b8e6f..0ce16ba 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -1,6 +1,29 @@ ; * Run ; * $ Robust.exe -inifile Robust.ini ; * +; ** +; * +; * The Const section allows us to define some basic information that we +; * will use throughout our configuration. We will provide examples for +; * setting the base url of the Robust server and the public and private ports +; * it uses. Changing the values of the constants will set the operating +; * parameters thoughout the configuration. Other constants that may prove +; * to be useful may be added to the followin section. They may be +; * referenced anywhere in the configuration by using ${Const|Name}. One +; * such use is providing a base path for setting locations that Robust +; * uses to write data. +; * +[Const] + + ; The URL of the Robust server + BaseURL = "http://127.0.0.1" + + ; The public port of the Robust server + PublicPort = "8002" + + ; The private port of the Robust server + PrivatePort = "8003" + ; * The startup section lists all the connectors to start up in this server ; * instance. This may be only one, or it may be the entire server suite. @@ -40,37 +63,37 @@ ConsoleHistoryFileLines = 100 [ServiceList] - AssetServiceConnector = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector" - InventoryInConnector = "8003/OpenSim.Server.Handlers.dll:XInventoryInConnector" + AssetServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AssetServiceConnector" + InventoryInConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XInventoryInConnector" ;; Uncomment if you have set up Freeswitch (see [FreeswitchService] below) ;VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector" - GridServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridServiceConnector" - GridInfoServerInConnector = "8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector" - AuthenticationServiceConnector = "8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector" - OpenIdServerConnector = "8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector" - AvatarServiceConnector = "8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector" - LLLoginServiceInConnector = "8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector" - PresenceServiceConnector = "8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector" - UserAccountServiceConnector = "8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector" - GridUserServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector" - FriendsServiceConnector = "8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector" - MapAddServiceConnector = "8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector" - MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector" + GridServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridServiceConnector" + GridInfoServerInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:GridInfoServerInConnector" + AuthenticationServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector" + OpenIdServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:OpenIdServerConnector" + AvatarServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AvatarServiceConnector" + LLLoginServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector" + PresenceServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:PresenceServiceConnector" + UserAccountServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:UserAccountServiceConnector" + GridUserServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridUserServiceConnector" + FriendsServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:FriendsServiceConnector" + MapAddServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MapAddServiceConnector" + MapGetServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:MapGetServiceConnector" ;; Uncomment this if you want offline IM to work - ;OfflineIMServiceConnector = "8003/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" + ;OfflineIMServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" ;; Uncomment this if you want Groups V2 to work - ;GroupsServiceConnector = "8003/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" + ;GroupsServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" ;; Uncomment to provide bakes caching - ;BakedTextureService = "8003/OpenSim.Server.Handlers.dll:XBakesConnector" + ;BakedTextureService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XBakesConnector" ;; Uncomment for UserProfiles see [UserProfilesService] to configure... - ; UserProfilesServiceConnector = "8002/OpenSim.Server.Handlers.dll:UserProfilesConnector" + ; UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector" ; * This is common for all services, it's the network setup for the entire ; * server instance, if none is specified above ; * [Network] - port = 8003 + port = ${Const|PrivatePort} ; HTTPS for "Out of band" management applications such as the remote admin ; module. May specify https_main = True to make the main http server @@ -92,7 +115,7 @@ ; cert_pass = "password" ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services. - ;; Use this if your central services in port 8003 need to be accessible on the Internet + ;; Use this if your central services in port ${Const|PrivatePort} need to be accessible on the Internet ;; but you want to protect them from unauthorized access. ; AuthType = "BasicHttpAuthentication" ; HttpAuthUsername = "some_username" @@ -348,16 +371,16 @@ AllowRemoteSetLoginLevel = "false" ; For V2 map - MapTileURL = "http://127.0.0.1:8002/"; + MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/"; ; Url to search service - ; SearchURL = "http://127.0.0.1:8002/"; + ; SearchURL = "${Const|BaseURL}:${Const|PublicPort}/"; ; For V3 destination guide - ; DestinationGuide = "http://127.0.0.1/guide" + ; DestinationGuide = "${Const|BaseURL}/guide" ; For V3 avatar picker (( work in progress )) - ; AvatarPicker = "http://127.0.0.1/avatars" + ; AvatarPicker = "${Const|BaseURL}/avatars" ; If you run this login server behind a proxy, set this to true ; HasProxy = false @@ -424,7 +447,7 @@ ; Set this if you want to change the default ; TilesStoragePath = "maptiles" ; - ; If for some reason you have the AddMapTile service outside the firewall (e.g. 8002), + ; If for some reason you have the AddMapTile service outside the firewall (e.g. ${Const|PublicPort}), ; you may want to set this. Otherwise, don't set it, because it's already protected. ; GridService = "OpenSim.Services.GridService.dll:GridService" ; @@ -447,7 +470,7 @@ ; See http://opensimulator.org/wiki/GridInfo ; login uri: for grid this is the login server URI - login = http://127.0.0.1:8002/ + login = ${Const|BaseURL}:${Const|PublicPort}/ ; long grid name: the long name of your grid gridname = "the lost continent of hippo" @@ -457,24 +480,24 @@ ; login page: optional: if it exists it will be used to tell the client to use ; this as splash page - ;welcome = http://127.0.0.1/welcome + ;welcome = ${Const|BaseURL}/welcome ; helper uri: optional: if it exists if will be used to tell the client to use ; this for all economy related things - ;economy = http://127.0.0.1:8002/ + ;economy = ${Const|BaseURL}:${Const|PublicPort}/ ; web page of grid: optional: page providing further information about your grid - ;about = http://127.0.0.1/about/ + ;about = ${Const|BaseURL}/about/ ; account creation: optional: page providing further information about obtaining ; a user account on your grid - ;register = http://127.0.0.1/register + ;register = ${Const|BaseURL}/register ; help: optional: page providing further assistance for users of your grid - ;help = http://127.0.0.1/help + ;help = ${Const|BaseURL}/help ; password help: optional: page providing password assistance for users of your grid - ;password = http://127.0.0.1/password + ;password = ${Const|BaseURL}/password [UserProfilesService] diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index 59eebd8..2c3df8d 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -40,17 +40,17 @@ ;; If this is a standalone world, this is the address of this instance. ;; If this is a grided simulator, this is the address of the external robust server that ;; runs the UserAgentsService. - ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; For example http://myworld.com:9000 or http://myworld.com:${Const|PublicPort} ;; This is a default that can be overwritten in some sections. - ; HomeURI = "http://127.0.0.1:9000" + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} ;; If this is a standalone world, this is the address of this instance. ;; If this is a grided simulator, this is the address of the external robust server ;; that runs the Gatekeeper service. - ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; For example http://myworld.com:9000 or http://myworld.com:${Const|PublicPort} ;; This is a default that can be overwritten in some sections. - ; GatekeeperURI = "http://127.0.0.1:9000" + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" [Modules] ;; Choose one cache module and the corresponding config file, if it exists. @@ -78,25 +78,25 @@ ; ; Change this to your grid-wide asset server. Do not add a slash to the end of any of these addresses. ; - AssetServerURI = "http://mygridserver.com:8003" + AssetServerURI = "${Const|BaseURL}:${Const|PrivatePort}" [InventoryService] ; ; Change this to your grid-wide inventory server ; - InventoryServerURI = "http://mygridserver.com:8003" + InventoryServerURI = "${Const|BaseURL}:${Const|PrivatePort}" [GridInfo] ; ; Change this to your grid info service ; - GridInfoURI = "http://mygridserver.com:8002" + GridInfoURI = "${Const|BaseURL}:${Const|PublicPort}" [GridService] ; ; Change this to your grid-wide grid server ; - GridServerURI = "http://mygridserver.com:8003" + GridServerURI = "${Const|BaseURL}:${Const|PrivatePort}" ;AllowHypergridMapSearch = true ;; Directory for map tile images of linked regions @@ -105,51 +105,51 @@ ; === HG ONLY === ;; Change this to the address of your Gatekeeper service ;; (usually bundled with the rest of the services in one - ;; Robust server in port 8002, but not always) - Gatekeeper="http://mygridserver.com:8002" + ;; Robust server in port ${Const|PublicPort}, but not always) + Gatekeeper="${Const|BaseURL}:${Const|PublicPort}" [Messaging] ; === HG ONLY === ;; Change this to the address of your Gatekeeper service ;; (usually bundled with the rest of the services in one - ;; Robust server in port 8002, but not always) - Gatekeeper = "http://mygridserver.com:8002" + ;; Robust server in port ${Const|PublicPort}, but not always) + Gatekeeper = "${Const|BaseURL}:${Const|PublicPort}" [AvatarService] ; ; Change this to your grid-wide grid server ; - AvatarServerURI = "http://mygridserver.com:8003" + AvatarServerURI = "${Const|BaseURL}:${Const|PrivatePort}" [PresenceService] ; ; Change this to your grid-wide presence server ; - PresenceServerURI = "http://mygridserver.com:8003" + PresenceServerURI = "${Const|BaseURL}:${Const|PrivatePort}" [UserAccountService] ; ; Change this to your grid-wide user accounts server ; - UserAccountServerURI = "http://mygridserver.com:8003" + UserAccountServerURI = "${Const|BaseURL}:${Const|PrivatePort}" [GridUserService] ; ; Change this to your grid-wide user accounts server ; - GridUserServerURI = "http://mygridserver.com:8003" + GridUserServerURI = "${Const|BaseURL}:${Const|PrivatePort}" [AuthenticationService] ; ; Change this to your grid-wide authentication server ; - AuthenticationServerURI = "http://mygridserver.com:8003" + AuthenticationServerURI = "${Const|BaseURL}:${Const|PrivatePort}" [FriendsService] ; ; Change this to your grid-wide friends server ; - FriendsServerURI = "http://mygridserver.com:8003" + FriendsServerURI = "${Const|BaseURL}:${Const|PrivatePort}" [HGInventoryAccessModule] ; @@ -157,8 +157,8 @@ ; Change this to your server ; accessible from other grids ; - HomeURI = "http://mygridserver.com:8002" - Gatekeeper = "http://mygridserver.com:8002" + HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + Gatekeeper = "${Const|BaseURL}:${Const|PublicPort}" ;; If you want to protect your assets from being copied by foreign visitors ;; set this to false. You may want to do this on sims that have licensed content. ;; Default is true. @@ -173,7 +173,7 @@ ;; while separating regions' assets from users' assets. Asset transfer between ;; the users' asset server and the regions' asset server is done in HG-like manner. ; CheckSeparateAssets = false - ; RegionHGAssetServerURI = http://mygridserver.com:8002 + ; RegionHGAssetServerURI = ${Const|BaseURL}:${Const|PublicPort} [HGAssetService] @@ -182,7 +182,7 @@ ; Change this to your server ; accessible from other grids ; - HomeURI = "http://mygridserver.com:8002" + HomeURI = "${Const|BaseURL}:${Const|PublicPort}" ;; The asset types that this grid can export to / import from other grids. ;; Comma separated. @@ -205,10 +205,10 @@ ; === HG ONLY === ; Change this to your user agent server (HG robust) ; - UserAgentServerURI = "http://mygridserver.com:8002" + UserAgentServerURI = "${Const|BaseURL}:${Const|PublicPort}" [MapImageService] - MapImageServerURI = "http://mygridserver.com:8003" + MapImageServerURI = "${Const|BaseURL}:${Const|PrivatePort}" [AuthorizationService] ; If you have regions with access restrictions diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index c4ece54..f0bf3c8 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -41,17 +41,17 @@ ;; If this is a standalone world, this is the address of this instance. ;; If this is a grided simulator, this is the address of the external robust server that ;; runs the UserAgentsService. - ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; For example http://myworld.com:${Const|PublicPort} or http://myworld.com:8002 ;; This is a default that can be overwritten in some sections. - ; HomeURI = "http://127.0.0.1:9000" + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} ;; If this is a standalone world, this is the address of this instance. ;; If this is a grided simulator, this is the address of the external robust server ;; that runs the Gatekeeper service. - ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; For example http://myworld.com:${Const|PublicPort} or http://myworld.com:8002 ;; This is a default that can be overwritten in some sections. - ; GatekeeperURI = "http://127.0.0.1:9000" + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" [Modules] ;; Choose one cache module and the corresponding config file, if it exists. @@ -111,7 +111,7 @@ ; === HG ONLY === ;; If you have this set under [Hypergrid], no need to set it here, leave it commented - ; GatekeeperURI="http://127.0.0.1:9000" + ; GatekeeperURI="${Const|BaseURL}:${Const|PublicPort}" [LibraryModule] ; Set this if you want to change the name of the OpenSim Library @@ -120,20 +120,20 @@ [LoginService] WelcomeMessage = "Welcome, Avatar!" ;; If you have Gatekeeper set under [Hypergrid], no need to set it here, leave it commented - ; GatekeeperURI = "http://127.0.0.1:9000" + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" - SRV_HomeURI = "http://127.0.0.1:9000" - SRV_InventoryServerURI = "http://127.0.0.1:9000" - SRV_AssetServerURI = "http://127.0.0.1:9000" - SRV_ProfileServerURI = "http://127.0.0.1:9000" - SRV_FriendsServerURI = "http://127.0.0.1:9000" - SRV_IMServerURI = "http://127.0.0.1:9000" + SRV_HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_InventoryServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_AssetServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_ProfileServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_FriendsServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_IMServerURI = "${Const|BaseURL}:${Const|PublicPort}" ;; For Viewer 2 - MapTileURL = "http://127.0.0.1:9000/" + MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/" ; Url to search service - ; SearchURL = "http://127.0.0.1:8002"; + ; SearchURL = "${Const|BaseURL}:8002"; ; The minimum user level required for a user to be able to login. 0 by default ; If you disable a particular user's account then you can set their login level below this number. @@ -227,7 +227,7 @@ ; See http://opensimulator.org/wiki/GridInfo ; login uri: for grid this is the login server URI - login = http://127.0.0.1:9000/ + login = ${Const|BaseURL}:${Const|PublicPort}/ ; long grid name: the long name of your grid gridname = "the lost continent of hippo" @@ -238,37 +238,37 @@ ; login page: optional: if it exists it will be used to tell the client to use ; this as splash page ; currently unused - ;welcome = http://127.0.0.1/welcome + ;welcome = ${Const|BaseURL}/welcome ; helper uri: optional: if it exists if will be used to tell the client to use ; this for all economy related things ; currently unused - ;economy = http://127.0.0.1:9000/ + ;economy = ${Const|BaseURL}:${Const|PublicPort}/ ; web page of grid: optional: page providing further information about your grid ; currently unused - ;about = http://127.0.0.1/about/ + ;about = ${Const|BaseURL}/about/ ; account creation: optional: page providing further information about obtaining ; a user account on your grid ; currently unused - ;register = http://127.0.0.1/register + ;register = ${Const|BaseURL}/register ; help: optional: page providing further assistance for users of your grid ; currently unused - ;help = http://127.0.0.1/help + ;help = ${Const|BaseURL}/help ; password help: optional: page providing password assistance for users of your grid ; currently unused - ;password = http://127.0.0.1/password + ;password = ${Const|BaseURL}/password ; HG address of the gatekeeper, if you have one ; this is the entry point for all the regions of the world - ; gatekeeper = http://127.0.0.1:9000/ + ; gatekeeper = ${Const|BaseURL}:${Const|PublicPort}/ ; HG user domain, if you have one ; this is the entry point for all user-related HG services - ; uas = http://127.0.0.1:9000/ + ; uas = ${Const|BaseURL}:${Const|PublicPort}/ [MapImageService] ; Set this if you want to change the default @@ -289,7 +289,7 @@ ;; [GatekeeperService] ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented - ; ExternalName = "http://127.0.0.1:9000" + ; ExternalName = "${Const|BaseURL}:${Const|PublicPort}" ; Does this grid allow incoming links to any region in it? ; If false, HG TPs happen only to the Default regions specified in [GridService] section @@ -353,11 +353,11 @@ [HGInventoryService] ;; If you have this set under [Hypergrid], no need to set it here, leave it commented - ; HomeURI = "http://127.0.0.1:9000" + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" [HGAssetService] ;; If you have this set under [Hypergrid], no need to set it here, leave it commented - ; HomeURI = "http://127.0.0.1:9000" + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" ;; The asset types that this grid can export to / import from other grids. ;; Comma separated. @@ -374,8 +374,8 @@ [HGInventoryAccessModule] ;; If you have these set under [Hypergrid], no need to set it here, leave it commented - ; HomeURI = "http://127.0.0.1:9000" - ; GatekeeperURI = "http://127.0.0.1:9000" + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" ;; If you want to protect your assets from being copied by foreign visitors ;; uncomment the next line. You may want to do this on sims that have licensed content. @@ -393,7 +393,7 @@ [Messaging] ; === HG ONLY === ;; If you have this set under [Hypergrid], no need to set it here, leave it commented - ; GatekeeperURI = "http://127.0.0.1:9000" + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" [EntityTransfer] -- cgit v1.1 From d0f96444173d7650aa0b6b0be1eb8f2943fa58e8 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Sun, 30 Nov 2014 14:57:47 -0500 Subject: A little bit of cleanup behind commit r5f88ceab2269 --- bin/Robust.HG.ini.example | 10 +++++----- bin/config-include/GridCommon.ini.example | 4 ++-- bin/config-include/StandaloneCommon.ini.example | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 8982b71..b95e115 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -259,7 +259,7 @@ ExportSupported = true ;; If you have this set under [Hypergrid], no need to set it here, leave it commented - ; GatekeeperURI = "http://127.0.0.1:${Const|PublicPort}" + ; GatekeeperURI = "http://${Const|BaseURL}:${Const|PublicPort}" ; * This is the configuration for the freeswitch server in grid mode @@ -574,11 +574,11 @@ ;; ;; If ForeignAgentsAllowed is true, make exceptions using AllowExcept. ;; Leave blank or commented for no exceptions. - ; AllowExcept = "http://griefer.com:${Const|PublicPort}, http://enemy.com:8002" + ; AllowExcept = "http://griefer.com:8002, http://enemy.com:8002" ;; ;; If ForeignAgentsAllowed is false, make exceptions using DisallowExcept ;; Leave blank or commented for no exceptions. - ; DisallowExcept = "http://myfriendgrid.com:${Const|PublicPort}, http://myboss.com:8002" + ; DisallowExcept = "http://myfriendgrid.com:8002, http://myboss.com:8002" [UserAgentService] @@ -612,11 +612,11 @@ ;; ;; If ForeignTripsAllowed is false, make exceptions using DisallowExcept ;; Leave blank or commented for no exceptions. - ; DisallowExcept_Level_0 = "http://myothergrid.com:${Const|PublicPort}, http://boss.com:8002" + ; DisallowExcept_Level_0 = "http://myothergrid.com:8002, http://boss.com:8002" ;; ;; If ForeignTripsAllowed is true, make exceptions using AllowExcept. ;; Leave blank or commented for no exceptions. - ; AllowExcept_Level_200 = "http://griefer.com:${Const|PublicPort}, http://enemy.com:8002" + ; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002" ;; This variable controls what is exposed to profiles of local users ;; as seen from outside of this grid. Leave it uncommented for exposing diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index 2c3df8d..903641e 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -40,7 +40,7 @@ ;; If this is a standalone world, this is the address of this instance. ;; If this is a grided simulator, this is the address of the external robust server that ;; runs the UserAgentsService. - ;; For example http://myworld.com:9000 or http://myworld.com:${Const|PublicPort} + ;; For example http://myworld.com:9000 or http://myworld.com:8002 ;; This is a default that can be overwritten in some sections. ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" @@ -48,7 +48,7 @@ ;; If this is a standalone world, this is the address of this instance. ;; If this is a grided simulator, this is the address of the external robust server ;; that runs the Gatekeeper service. - ;; For example http://myworld.com:9000 or http://myworld.com:${Const|PublicPort} + ;; For example http://myworld.com:9000 or http://myworld.com:8002 ;; This is a default that can be overwritten in some sections. ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index f0bf3c8..edccf23 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -41,7 +41,7 @@ ;; If this is a standalone world, this is the address of this instance. ;; If this is a grided simulator, this is the address of the external robust server that ;; runs the UserAgentsService. - ;; For example http://myworld.com:${Const|PublicPort} or http://myworld.com:8002 + ;; For example http://myworld.com:9000 or http://myworld.com:8002 ;; This is a default that can be overwritten in some sections. ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" @@ -49,7 +49,7 @@ ;; If this is a standalone world, this is the address of this instance. ;; If this is a grided simulator, this is the address of the external robust server ;; that runs the Gatekeeper service. - ;; For example http://myworld.com:${Const|PublicPort} or http://myworld.com:8002 + ;; For example http://myworld.com:9000 or http://myworld.com:8002 ;; This is a default that can be overwritten in some sections. ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" @@ -133,7 +133,7 @@ MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/" ; Url to search service - ; SearchURL = "${Const|BaseURL}:8002"; + ; SearchURL = "${Const|BaseURL}:${Const|PublicPort}"; ; The minimum user level required for a user to be able to login. 0 by default ; If you disable a particular user's account then you can set their login level below this number. -- cgit v1.1 From 981fff95cd2972cd534aab6b62e8dfdb36b6b0de Mon Sep 17 00:00:00 2001 From: BlueWall Date: Sun, 30 Nov 2014 15:09:13 -0500 Subject: A little more cleaning of config files. --- bin/Robust.HG.ini.example | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index b95e115..9a6371b 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -165,14 +165,14 @@ ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} ;; This is the address of the external robust server that ;; runs the UserAgentsService, possibly this server. - ;; For example http://myworld.com:${Const|PublicPort} + ;; For example http://myworld.com:8002 ;; This is a default that can be overwritten in some sections. ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} ;; This is the address of the external robust server ;; that runs the Gatekeeper service, possibly this server. - ;; For example http://myworld.com:${Const|PublicPort} + ;; For example http://myworld.com:8002 ;; This is a default that can be overwritten in some sections. ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" @@ -259,7 +259,7 @@ ExportSupported = true ;; If you have this set under [Hypergrid], no need to set it here, leave it commented - ; GatekeeperURI = "http://${Const|BaseURL}:${Const|PublicPort}" + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" ; * This is the configuration for the freeswitch server in grid mode -- cgit v1.1 From db2a22e6224164dc80736340c791308150890d03 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 30 Nov 2014 17:52:37 -0800 Subject: BulletSim: update BulletSim DLLs and SOs. Hopefully fix problem of multiple physical meshes crashing Windows simulators. --- bin/lib32/BulletSim.dll | Bin 1337344 -> 1337856 bytes bin/lib32/libBulletSim.so | Bin 2310752 -> 2310508 bytes bin/lib64/BulletSim.dll | Bin 1546240 -> 1546752 bytes bin/lib64/libBulletSim.so | Bin 2474237 -> 2473989 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index e1bffeb..7d60776 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index f409363..5c9255f 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 7b76d1d..fbfd76d 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index 827571f..bd6b9a2 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From caa7b1e6a126ce244329f8fe2ed229283e6c6ffc Mon Sep 17 00:00:00 2001 From: BlueWall Date: Mon, 1 Dec 2014 10:15:56 -0500 Subject: Fix typo in ini --- bin/OpenSim.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index da88e7f..6d8c2bf 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -609,7 +609,7 @@ ;# {OfflineMessageURL} {OfflineMessageModule:OfflineMessageModule Offline Message Module V2:Offline Message Module V2} {URL of offline messaging service} {} ;; URL of web service for offline message storage. Leave it commented if your service is local to the sim. ; OfflineMessageURL = ${Const|BaseURL}/Offline.php - ; OfflineMessageURL = ${Const|BaseURL}:${Const|PrivtePort} + ; OfflineMessageURL = ${Const|BaseURL}:${Const|PrivatePort} ;# {StorageProvider} {Offline Message Module V2:Offline Message Module V2} {DLL that provides the storage interface} {OpenSim.Data.MySQL.dll} ;; For standalones, this is the storage dll. -- cgit v1.1 From c3c05a86939de9669c1065d0a738a2a9b0f30c27 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 3 Dec 2014 20:48:17 +0000 Subject: Reintroduce general xengine extra debugging log level. This can be controlled at runtime with the command "debug xengine log ", as with similar commands. If log level is 1 then every script load is logged. This means the section in OpenSim.exe.config is no longer needed to avoid log spam on regions with many scripts and can be removed. --- bin/OpenSim.exe.config | 5 ----- 1 file changed, 5 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.exe.config b/bin/OpenSim.exe.config index 31f1064..e19a47a 100755 --- a/bin/OpenSim.exe.config +++ b/bin/OpenSim.exe.config @@ -57,11 +57,6 @@ - - - - - -- cgit v1.1 From d930ca7b1db5e70bde8531c8c0b540be3b552e1c Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Thu, 4 Dec 2014 19:37:04 +0000 Subject: minor: Add doc about [InventoryService] AllowDelete setting to robust ini example files. --- bin/Robust.HG.ini.example | 4 ++++ bin/Robust.ini.example | 4 ++++ 2 files changed, 8 insertions(+) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 9a6371b..4d4ebde 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -208,6 +208,10 @@ [InventoryService] LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService" + ; Will calls to purge folders (empty trash) and immediately delete/update items or folders (not move to trash first) succeed? + ; If this is set to false then some other arrangement must be made to perform these operations if necessary. + AllowDelete = true + ; * This is the new style grid service. ; * "Realm" is the table that is used for user lookup. diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 0ce16ba..a7b39a3 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -179,6 +179,10 @@ [InventoryService] LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService" + ; Will calls to purge folders (empty trash) and immediately delete/update items or folders (not move to trash first) succeed? + ; If this is set to false then some other arrangement must be made to perform these operations if necessary. + AllowDelete = true + ; * This is the new style grid service. ; * "Realm" is the table that is used for user lookup. -- cgit v1.1 From 92c9dd42c40755643e6e2dc9f33388079e4809b3 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 10 Dec 2014 23:38:17 +0000 Subject: Restore OpenMetaverse.dll to the one compiled under Windows again from commit 2660619. Somehow it got replaced again in the ghosts merge with the one built under Linux. No other dlls are affected --- bin/OpenMetaverse.dll | Bin 2276864 -> 2244608 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index f1f5ed6..97aaba4 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ -- cgit v1.1 From 789cd4e928565eb50ef63cfc93cb6f71e0ad523e Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 25 Dec 2014 08:02:34 -0800 Subject: Updated libomv to grab the latest bug fixes in Collada upload --- bin/OpenMetaverse.dll | Bin 2244608 -> 2428928 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 97aaba4..7bc870b 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ -- cgit v1.1 From b5bc5665a687c04087c44ef9710a9143a7f3fb09 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 29 Dec 2014 14:38:18 -0800 Subject: Updated Mono.Addins to version 1.2 (https://github.com/mono/mono-addins/releases/tag/mono-addins-1.2). Also included mautil.exe, the command line application for managing mono addins. --- bin/ICSharpCode.SharpZipLib.dll | Bin 0 -> 131584 bytes bin/Mono.Addins.CecilReflector.dll | Bin 290816 -> 224768 bytes bin/Mono.Addins.Setup.dll | Bin 135168 -> 126464 bytes bin/Mono.Addins.Setup.xml | 1140 +++++++ bin/Mono.Addins.dll | Bin 233472 -> 232448 bytes bin/Mono.Addins.xml | 6120 ++++++++++++++++++++++++++++++++++++ bin/mautil.exe | Bin 0 -> 7680 bytes 7 files changed, 7260 insertions(+) create mode 100644 bin/ICSharpCode.SharpZipLib.dll create mode 100644 bin/Mono.Addins.Setup.xml create mode 100644 bin/Mono.Addins.xml create mode 100644 bin/mautil.exe (limited to 'bin') diff --git a/bin/ICSharpCode.SharpZipLib.dll b/bin/ICSharpCode.SharpZipLib.dll new file mode 100644 index 0000000..6c6a5d4 Binary files /dev/null and b/bin/ICSharpCode.SharpZipLib.dll differ diff --git a/bin/Mono.Addins.CecilReflector.dll b/bin/Mono.Addins.CecilReflector.dll index 9ca4631..c01c8bf 100755 Binary files a/bin/Mono.Addins.CecilReflector.dll and b/bin/Mono.Addins.CecilReflector.dll differ diff --git a/bin/Mono.Addins.Setup.dll b/bin/Mono.Addins.Setup.dll index 75773aa..eabbeca 100755 Binary files a/bin/Mono.Addins.Setup.dll and b/bin/Mono.Addins.Setup.dll differ diff --git a/bin/Mono.Addins.Setup.xml b/bin/Mono.Addins.Setup.xml new file mode 100644 index 0000000..f5ce70a --- /dev/null +++ b/bin/Mono.Addins.Setup.xml @@ -0,0 +1,1140 @@ + + + + Mono.Addins.Setup + + + + + An IAddinInstaller implementation which interacts with the user through the console + + + + + Initializes a new instance of the class. + + + + + Gets or sets whether the installer can ask questions to the user + + + + + Log level (0:normal, 1+:verbose); + + + + + An add-in package + + + + + Creates a package object for an add-in available in an on-line repository + + + An add-in reference + + + The package + + + + + Creates a package object for a local package file + + + Package file path + + + The package + + + + + Name of the package + + + + + Returns true if the package will be installed in the shared directory, + false if it will be installed in the user directory. + + + + + A reference to an add-in available in an on-line repository + + + + + Begins downloading a support file + + + Result of the asynchronous operation, to be used when calling EndDownloadSupportFile to + get the download result. + + + Name of the file. + + + Callback to be called when the download operation ends. + + + Custom state object provided by the caller. + + + This method can be used to get the contents of a support file of an add-in. + A support file is a file referenced in the custom properties of an add-in. + + + + + Gets the result of the asynchronous download of a file + + + The downloaded file. + + + The async result object returned by BeginDownloadSupportFile. + + + + + Add-in information + + + + + Url to the add-in package + + + + + The URL of the repository + + + + + Name of the repository + + + + + An installation exception + + + + + Initializes the exception + + + Error message + + + + + Initializes the exception + + + Error message + + + Inner exception + + + + + A command line add-in manager. + + + This class can be used to provide an add-in management command line tool to applications. + + + + + Creates a new instance + + + Add-in registry to manage. + + + + + Runs the command line tool. + + + Array that contains the command line arguments + + + Index of the arguments array that has the first argument for the management tool + + + 0 if it succeeds. != 0 otherwise + + + + + Runs the command line tool. + + + Command line arguments + + + 0 if it succeeds. != 0 otherwise + + + + + Adds a custom command to the add-in manager + + + Category under which the command has to be shown in the help text + + + Name of the command + + + Short name of the command (it's an alias of the normal name) + + + Formal description of the arguments that the command accepts. For example: "[addin-id|addin-file] [--xml] [--all] [--full] [--namespace <namespace>]" + + + Short description of the command + + + Long description of the command + + + Delegate to be invoked to run the command + + + + + Prints help about the add-in management tool, or about a specific command + + + Optional command name and arguments + + + + + Display name of the host application + + + + + Default add-in namespace of the application (optional). If set, only add-ins that belong to that namespace + will be shown in add-in lists. + + + + + Enables or disables verbose output + + + + + Sets or gets the verbose output level (0: normal output, 1:verbose, 2+:extra verbose) + + + + + A command handler + + + + + A collection of packages + + + + + Initializes a new instance of the class. + + + + + Copy constructor + + + Collection where to copy from + + + + + Adds a package + + + A package + + + + + Checks if a package is present in the collection + + + The package + + + True if the package is preent + + + + + Adds a list of packages to the collection + + + The list of packages to add + + + + + Gets a package + + + Package index + + + + + Basic add-in information + + + + + Compares the versions of two add-ins + + + Another add-in + + + Result of comparison + + + + + Full identifier of the add-in + + + + + Display name of the add-in + + + + + Namespace of the add-in + + + + + Version of the add-in + + + + + Version with which this add-in is compatible + + + + + Add-in author + + + + + Add-in copyright + + + + + Web page URL with more information about the add-in + + + + + Description of the add-in + + + + + Category of the add-in + + + + + Dependencies of the add-in + + + + + Optional dependencies of the add-in + + + + + Custom properties specified in the add-in header + + + + + A registry of on-line repositories + + + This class can be used to manage on-line repository subscriptions. + + + + + Subscribes to an on-line repository + + + Progress monitor where to show progress status and log + + + URL of the repository + + + A repository reference + + + The repository index is not downloaded by default. It can be downloaded + by calling UpdateRepository. + + + + + Subscribes to an on-line repository + + + Progress monitor where to show progress status and log + + + URL of the repository + + + When set to True, the repository index will be downloaded. + + + A repository reference + + + + + Removes an on-line repository subscription. + + + URL of the repository. + + + + + Enables or disables a repository + + + URL of the repository + + + 'true' if the repository has to be enabled. + + + Disabled repositories are ignored when calling UpdateAllRepositories. + + + + + Checks if a repository is already subscribed. + + + URL of the repository + + + True if the repository is already subscribed. + + + + + Gets a list of subscribed repositories + + + A list of repositories. + + + + + Updates the add-in index of all subscribed repositories. + + + Progress monitor where to show progress status and log + + + + + Updates the add-in index of the provided repository + + + Progress monitor where to show progress status and log + + + URL of the repository + + + + + Gets a list of available add-in updates. + + + A list of add-in references. + + + The list is generated by looking at the add-ins currently installed and checking if there is any + add-in with a newer version number in any of the subscribed repositories. This method uses cached + information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories + before using this method to ensure that the latest information is available. + + + + + Gets a list of available add-in updates. + + + Search flags + + + A list of add-in references. + + + The list is generated by looking at the add-ins currently installed and checking if there is any + add-in with a newer version number in any of the subscribed repositories. This method uses cached + information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories + before using this method to ensure that the latest information is available. + + + + + Gets a list of available add-in updates in a specific repository. + + + The repository URL + + + A list of add-in references. + + + The list is generated by looking at the add-ins currently installed and checking if there is any + add-in with a newer version number in the provided repository. This method uses cached + information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories + before using this method to ensure that the latest information is available. + + + + + Gets a list of available updates for an add-in. + + + Identifier of the add-in. + + + List of updates for the specified add-in. + + + The list is generated by checking if there is any + add-in with a newer version number in any of the subscribed repositories. This method uses cached + information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories + before using this method to ensure that the latest information is available. + + + + + Gets a list of available updates for an add-in. + + + Identifier of the add-in. + + + Search flags. + + + List of updates for the specified add-in. + + + The list is generated by checking if there is any + add-in with a newer version number in any of the subscribed repositories. This method uses cached + information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories + before using this method to ensure that the latest information is available. + + + + + Gets a list of available updates for an add-in in a specific repository + + + Identifier of the add-in. + + + Identifier of the add-in. + + + List of updates for the specified add-in. + + + The list is generated by checking if there is any + add-in with a newer version number in the provided repository. This method uses cached + information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories + before using this method to ensure that the latest information is available. + + + + + Gets a list of available updates for an add-in in a specific repository + + + Identifier of the add-in. + + + Identifier of the add-in. + + + Search flags. + + + List of updates for the specified add-in. + + + The list is generated by checking if there is any + add-in with a newer version number in the provided repository. This method uses cached + information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories + before using this method to ensure that the latest information is available. + + + + + Gets a list of all available add-ins + + + A list of add-ins + + + This method uses cached + information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories + before using this method to ensure that the latest information is available. + + + + + Gets a list of all available add-ins + + + The available addins. + + + Search flags. + + + This method uses cached + information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories + before using this method to ensure that the latest information is available. + + + + + Gets a list of all available add-ins in a repository + + + A repository URL + + + A list of add-ins + + + This method uses cached + information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories + before using this method to ensure that the latest information is available. + + + + + Gets a list of all available add-ins in a repository + + + A repository URL + + + Search flags. + + + A list of add-ins + + + This method uses cached + information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories + before using this method to ensure that the latest information is available. + + + + + Checks if an add-in is available to be installed + + + Identifier of the add-in + + + Version of the add-in (optional, it can be null) + + + A list of add-ins + + + List of references to add-ins available in on-line repositories. This method uses cached + information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories + before using this method to ensure that the latest information is available. + + + + + Checks if an add-in is available to be installed from a repository + + + A repository URL + + + Identifier of the add-in + + + Version of the add-in (optional, it can be null) + + + A list of add-ins + + + List of references to add-ins available in the repository. This method uses cached + information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories + before using this method to ensure that the latest information is available. + + + + + Repository search flags. + + + + + No special search options + + + + + Only the latest version of every add-in is included in the search + + + + + An on-line add-in repository + + + + + Path to the cached add-in repository file + + + + + Url of the repository + + + + + Do not use. Use Title instead. + + + + + Title of the repository + + + + + Last change timestamp + + + + + Gets a value indicating whether this is enabled. + + + true if enabled; otherwise, false. + + + + + Helper for making web requests with support for authenticated proxies. + + + + + Sets a custom request handler that can handle requests for authenticated proxy servers. + + The custom request handler. + + + + Gets the web response, using the request handler to handle proxy authentication + if necessary. + + The response. + Callback for creating the request. + Callback for preparing the request, e.g. writing the request stream. + Cancellation token. + + Keeps sending requests until a response code that doesn't require authentication happens or if the request + requires authentication and the user has stopped trying to enter them (i.e. they hit cancel when they are prompted). + + + + + Gets the web response, using the request handler to handle proxy authentication + if necessary. + + The response. + Callback for creating the request. + Callback for preparing the request, e.g. writing the request stream. + Cancellation token. + + Keeps sending requests until a response code that doesn't require authentication happens or if the request + requires authentication and the user has stopped trying to enter them (i.e. they hit cancel when they are prompted). + + + + + Determines whether an error code is likely to have been caused by internet reachability problems. + + + + + Provides tools for managing add-ins + + + This class can be used to manage the add-ins of an application. It allows installing and uninstalling + add-ins, taking into account add-in dependencies. It provides methods for installing add-ins from on-line + repositories and tools for generating those repositories. + + + + + Initializes a new instance + + + If the add-in manager is initialized (AddinManager.Initialize has been called), then this instance + will manage the add-in registry of the initialized engine. + + + + + Initializes a new instance + + + Add-in registry to manage + + + + + Resolves add-in dependencies. + + + Progress monitor where to show progress status + + + List of add-ins to check + + + Packages that need to be installed. + + + Packages that need to be uninstalled. + + + Add-in dependencies that could not be resolved. + + + True if all dependencies could be resolved. + + + This method can be used to get a list of all packages that have to be installed in order to install + an add-in or set of add-ins. The list of packages to install will include the package that provides the + add-in, and all packages that provide the add-in dependencies. In some cases, packages may need to + be installed (for example, when an installed add-in needs to be upgraded). + + + + + Resolves add-in dependencies. + + + Progress monitor where to show progress status + + + Packages that need to be installed. + + + Packages that need to be uninstalled. + + + Add-in dependencies that could not be resolved. + + + True if all dependencies could be resolved. + + + This method can be used to get a list of all packages that have to be installed in order to satisfy + the dependencies of a package or set of packages. The 'packages' argument must have the list of packages + to be resolved. When resolving dependencies, if there is any additional package that needs to be installed, + it will be added to the same 'packages' collection. In some cases, packages may need to + be installed (for example, when an installed add-in needs to be upgraded). Those packages will be added + to the 'toUninstall' collection. Packages that could not be resolved are added to the 'unresolved' + collection. + + + + + Installs add-in packages + + + Progress monitor where to show progress status + + + Paths to the packages to install + + + True if the installation succeeded + + + + + Installs add-in packages from on-line repositories + + + Progress monitor where to show progress status + + + References to the add-ins to be installed + + + True if the installation succeeded + + + + + Installs add-in packages + + + Progress monitor where to show progress status + + + Packages to install + + + True if the installation succeeded + + + + + Uninstalls an add-in. + + + Progress monitor where to show progress status + + + Full identifier of the add-in to uninstall. + + + + + Uninstalls a set of add-ins + + + Progress monitor where to show progress status + + + Full identifiers of the add-ins to uninstall. + + + + + Gets information about an add-in + + + The add-in + + + Add-in header data + + + + + Gets a list of add-ins which depend on an add-in + + + Full identifier of an add-in. + + + When set to True, dependencies will be gathered recursivelly + + + List of dependent add-ins. + + + This methods returns a list of add-ins which have the add-in identified by 'id' as a direct + (or indirect if recursive=True) dependency. + + + + + Packages an add-in + + + Progress monitor where to show progress status + + + Directory where to generate the package + + + Paths to the add-ins to be packaged. Paths can be either the main assembly of an add-in, or an add-in + manifest (.addin or .addin.xml). + + + This method can be used to create a package for an add-in, which can then be pushed to an on-line + repository. The package will include the main assembly or manifest of the add-in and any external + file declared in the add-in metadata. + + + + + Generates an on-line repository + + + Progress monitor where to show progress status + + + Path to the directory that contains the add-ins and that is going to be published + + + This method generates the index files required to publish a directory as an online repository + of add-ins. + + + + + Gets a reference to an extensible application + + + Name of the application + + + The Application object. Null if not found. + + + + + Gets a reference to an extensible application + + + Name of the application + + + Custom paths where to look for the application. + + + The Application object. Null if not found. + + + + + Gets a lis of all known extensible applications + + + A list of applications. + + + + + Gets a lis of all known extensible applications + + + Custom paths where to look for applications. + + + A list of applications. + + + + + The add-in registry being managed + + + + + Default add-in namespace of the application (optional). If set, only add-ins that belong to that namespace + will be shown in add-in lists. + + + + + Directory where to install add-ins. If not specified, the 'addins' subdirectory of the + registry location is used. + + + + + Returns a RepositoryRegistry which can be used to manage on-line repository references + + + + + A registered extensible application + + + + + Add-in registry of the application + + + + + Description of the application + + + + + Name of the application + + + + + Path to the add-in registry + + + + + Path to the directory that contains the main executable assembly of the application + + + + + Command to be used to execute the application in add-in development mode. + + + + + Path to the default add-ins directory for the aplpication + + + + + Path to the add-in cache for the application + + + + diff --git a/bin/Mono.Addins.dll b/bin/Mono.Addins.dll index 326ed1d..3026991 100755 Binary files a/bin/Mono.Addins.dll and b/bin/Mono.Addins.dll differ diff --git a/bin/Mono.Addins.xml b/bin/Mono.Addins.xml new file mode 100644 index 0000000..b9bdd4c --- /dev/null +++ b/bin/Mono.Addins.xml @@ -0,0 +1,6120 @@ + + + + Mono.Addins + + + + + An add-in localizer. + + + Add-in localizers which want to provide support for localization of plural forms + can additionally implement . + + + + + Gets a localized message. + + + The localized message. + + + The message identifier. + + + + + A collection of extension nodes + + + + + Base class for add-in description collections. + + + + + Base class for add-in description collections. + + + + + Initializes a new instance of the class. + + + + + Add an object. + + + The object. + + + + + Adds a collection of objects. + + + The objects to add. + + + + + Insert an object. + + + Insertion index. + + + The object. + + + + + Removes an object. + + + Object to remove. + + + + + Checks if an object is present in the collection. + + + Objecect to check. + + + + + A collection of NodeElement objects + + + + + Gets the at the specified index + + + Index + + + + + Initializes a new instance of the class. + + + + + Gets the at the specified index. + + + The index. + + + + + Gets the with the specified identifier. + + + Identifier. + + + + + Declares an extension point. + + + + + Initializes a new instance + + + + + Initializes a new instance + + + Extension path that identifies the extension point + + + + + Initializes a new instance + + + Extension path that identifies the extension point + + + Type of the extension node to be created for extensions + + + + + Initializes a new instance + + + Extension path that identifies the extension point + + + Element name to be used when defining an extension in an XML manifest. + + + Type of the extension node to be created for extensions + + + + + Extension path that identifies the extension point + + + + + Long description of the extension point. + + + + + Type of the extension node to be created for extensions + + + + + Expected extension object type (when nodes are of type TypeExtensionNode) + + + + + Element name to be used when defining an extension in an XML manifest. The default name is "Type". + + + + + Display name of the extension point. + + + + + Type of the custom attribute to be used to specify metadata for the extension point + + + + + Addin URL attribute. + + + + + Initializes the attribute + + + Url of the add-in + + + + + Url of the add-in + + + + + Declares allowed children of an extension node type. + + + This attribute allows declaring the type of children that an extension node can have. + + + + + Initializes a new instance + + + Name of the allowed child extension node. + + + + + Initializes a new instance + + + Type of the allowed child extension node. + + + + + Initializes a new instance + + + Type of the allowed child extension node. + + + Name of the allowed child extension node. + + + + + Name of the allowed child extension node. + + + + + Type of the allowed child extension node. + + + + + Provides access to add-in and extension model management operations. + + + + + Initializes the add-in engine. + + + The add-in engine needs to be initialized before doing any add-in operation. + When initialized with this method, it will look for add-ins in the global add-in registry. + + + + + Initializes the add-in engine. + + + Location of the add-in registry. + + + The add-in engine needs to be initialized before doing any add-in operation. + Configuration information about the add-in registry will be stored in the + provided location. The add-in engine will look for add-ins in an 'addins' + subdirectory of the provided directory. + + When specifying a path, it is possible to use a special folder name as root. + For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced + by the location of the Environment.SpecialFolder.Personal folder. Any value + of the Environment.SpecialFolder enumeration can be used (always between square + brackets) + + + + + Initializes the add-in engine. + + + Location of the add-in registry. + + + Add-ins directory. If the path is relative, it is considered to be relative + to the configDir directory. + + + The add-in engine needs to be initialized before doing any add-in operation. + Configuration information about the add-in registry will be stored in the + provided location. The add-in engine will look for add-ins in the provided + 'addinsDir' directory. + + When specifying a path, it is possible to use a special folder name as root. + For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced + by the location of the Environment.SpecialFolder.Personal folder. Any value + of the Environment.SpecialFolder enumeration can be used (always between square + brackets) + + + + + Initializes the add-in engine. + + + Location of the add-in registry. + + + Add-ins directory. If the path is relative, it is considered to be relative + to the configDir directory. + + + Location of the add-in database. If the path is relative, it is considered to be relative + to the configDir directory. + + + The add-in engine needs to be initialized before doing any add-in operation. + Configuration information about the add-in registry will be stored in the + provided location. The add-in engine will look for add-ins in the provided + 'addinsDir' directory. Cached information about add-ins will be stored in + the 'databaseDir' directory. + + When specifying a path, it is possible to use a special folder name as root. + For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced + by the location of the Environment.SpecialFolder.Personal folder. Any value + of the Environment.SpecialFolder enumeration can be used (always between square + brackets) + + + + + Finalizes an add-in engine. + + + + + Sets the default localizer to be used for this add-in engine + + + The add-in localizer + + + + + Checks if the provided add-ins are installed, and requests the installation of those + which aren't. + + + Message to show to the user when new add-ins have to be installed. + + + List of IDs of the add-ins to be checked. + + + This method checks if the specified add-ins are installed. + If some of the add-ins are not installed, it will use + the installer assigned to the DefaultAddinInstaller property + to install them. If the installation fails, or if DefaultAddinInstaller + is not set, an exception will be thrown. + + + + + Checks if an add-in has been loaded. + + + Full identifier of the add-in. + + + True if the add-in is loaded. + + + + + Forces the loading of an add-in. + + + Status monitor to keep track of the loading process. + + + Full identifier of the add-in to load. + + + This method loads all assemblies that belong to an add-in in memory. + All add-ins on which the specified add-in depends will also be loaded. + Notice that in general add-ins don't need to be explicitely loaded using + this method, since the add-in engine will load them on demand. + + + + + Creates a new extension context. + + + The new extension context. + + + Extension contexts can be used to query the extension model using particular condition values. + + + + + Returns the extension node in a path + + + Location of the node. + + + The node, or null if not found. + + + + + Returns the extension node in a path + + + Location of the node. + + + The node, or null if not found. + + + + + Gets extension nodes registered in a path. + + + An extension path.> + + + All nodes registered in the provided path. + + + + + Gets extension nodes registered in a path. + + + An extension path. + + + Expected node type. + + + A list of nodes + + + This method returns all nodes registered under the provided path. + It will throw a InvalidOperationException if the type of one of + the registered nodes is not assignable to the provided type. + + + + + Gets extension nodes registered in a path. + + + An extension path. + + + A list of nodes + + + This method returns all nodes registered under the provided path. + It will throw a InvalidOperationException if the type of one of + the registered nodes is not assignable to the provided type. + + + + + Gets extension nodes for a type extension point + + + Type defining the extension point + + + A list of nodes + + + This method returns all extension nodes bound to the provided type. + + + + + Gets extension nodes for a type extension point + + + Type defining the extension point + + + Expected extension node type + + + A list of nodes + + + This method returns all nodes registered for the provided type. + It will throw a InvalidOperationException if the type of one of + the registered nodes is not assignable to the provided node type. + + + + + Gets extension nodes for a type extension point + + + Type defining the extension point + + + A list of nodes + + + This method returns all nodes registered for the provided type. + It will throw a InvalidOperationException if the type of one of + the registered nodes is not assignable to the specified node type argument. + + + + + Gets extension objects registered for a type extension point. + + + Type defining the extension point + + + A list of objects + + + + + Gets extension objects registered for a type extension point. + + + A list of objects + + + The type argument of this generic method is the type that defines + the extension point. + + + + + Gets extension objects registered for a type extension point. + + + Type defining the extension point + + + When set to True, it will return instances created in previous calls. + + + A list of extension objects. + + + + + Gets extension objects registered for a type extension point. + + + When set to True, it will return instances created in previous calls. + + + A list of extension objects. + + + The type argument of this generic method is the type that defines + the extension point. + + + + + Gets extension objects registered in a path + + + An extension path. + + + An array of objects registered in the path. + + + This method can only be used if all nodes in the provided extension path + are of type Mono.Addins.TypeExtensionNode. The returned array is composed + by all objects created by calling the TypeExtensionNode.CreateInstance() + method for each node. + + + + + Gets extension objects registered in a path. + + + An extension path. + + + When set to True, it will return instances created in previous calls. + + + An array of objects registered in the path. + + + This method can only be used if all nodes in the provided extension path + are of type Mono.Addins.TypeExtensionNode. The returned array is composed + by all objects created by calling the TypeExtensionNode.CreateInstance() + method for each node (or TypeExtensionNode.GetInstance() if + reuseCachedInstance is set to true) + + + + + Gets extension objects registered in a path. + + + An extension path. + + + Type of the return array elements. + + + An array of objects registered in the path. + + + This method can only be used if all nodes in the provided extension path + are of type Mono.Addins.TypeExtensionNode. The returned array is composed + by all objects created by calling the TypeExtensionNode.CreateInstance() + method for each node. + + An InvalidOperationException exception is thrown if one of the found + objects is not a subclass of the provided type. + + + + + Gets extension objects registered in a path. + + + An extension path. + + + An array of objects registered in the path. + + + This method can only be used if all nodes in the provided extension path + are of type Mono.Addins.TypeExtensionNode. The returned array is composed + by all objects created by calling the TypeExtensionNode.CreateInstance() + method for each node. + + An InvalidOperationException exception is thrown if one of the found + objects is not a subclass of the provided type. + + + + + Gets extension objects registered in a path. + + + An extension path. + + + Type of the return array elements. + + + When set to True, it will return instances created in previous calls. + + + An array of objects registered in the path. + + + This method can only be used if all nodes in the provided extension path + are of type Mono.Addins.TypeExtensionNode. The returned array is composed + by all objects created by calling the TypeExtensionNode.CreateInstance() + method for each node (or TypeExtensionNode.GetInstance() if + reuseCachedInstance is set to true). + + An InvalidOperationException exception is thrown if one of the found + objects is not a subclass of the provided type. + + + + + Gets extension objects registered in a path. + + + An extension path. + + + When set to True, it will return instances created in previous calls. + + + An array of objects registered in the path. + + + This method can only be used if all nodes in the provided extension path + are of type Mono.Addins.TypeExtensionNode. The returned array is composed + by all objects created by calling the TypeExtensionNode.CreateInstance() + method for each node (or TypeExtensionNode.GetInstance() if + reuseCachedInstance is set to true). + + An InvalidOperationException exception is thrown if one of the found + objects is not a subclass of the provided type. + + + + + Register a listener of extension node changes. + + + Path of the node. + + + A handler method. + + + Hosts can call this method to be subscribed to an extension change + event for a specific path. The event will be fired once for every + individual node change. The event arguments include the change type + (Add or Remove) and the extension node added or removed. + + NOTE: The handler will be called for all nodes existing in the path at the moment of registration. + + + + + Unregister a listener of extension node changes. + + + Path of the node. + + + A handler method. + + + This method unregisters a delegate from the node change event of a path. + + + + + Register a listener of extension node changes. + + + Type defining the extension point + + + A handler method. + + + Hosts can call this method to be subscribed to an extension change + event for a specific type extension point. The event will be fired once for every + individual node change. The event arguments include the change type + (Add or Remove) and the extension node added or removed. + + NOTE: The handler will be called for all nodes existing in the path at the moment of registration. + + + + + Unregister a listener of extension node changes. + + + Type defining the extension point + + + A handler method. + + + + + Gets whether the add-in engine has been initialized. + + + + + Gets the default add-in installer + + + The default installer is used by the CheckInstalled method to request + the installation of missing add-ins. + + + + + Gets the default localizer for this add-in engine + + + + + Gets the localizer for the add-in that is invoking this property + + + + + Gets a reference to the RuntimeAddin object for the add-in that is invoking this property + + + + + Gets the default add-in engine + + + + + Gets the add-in registry bound to the default add-in engine + + + + + Extension change event. + + + This event is fired when any extension point in the add-in system changes. + The event args object provides the path of the changed extension, although + it does not provide information about what changed. Hosts subscribing to + this event should get the new list of nodes using a query method such as + AddinManager.GetExtensionNodes() and then update whatever needs to be updated. + + + + + Add-in loading error event. + + + This event is fired when there is an error when loading the extension + of an add-in, or any other kind of error that may happen when querying extension points. + + + + + Add-in loaded event. + + + Fired after loading an add-in in memory. + + + + + Add-in unload event. + + + Fired when an add-in is unloaded from memory. It may happen an add-in is disabled or uninstalled. + + + + + An extension node definition. + + + + + Base class for add-in description definitions. + + + + + Gets the parent object. + + + The parent object. + + + + + Gets the parent add-in description. + + + The parent add-in description. + + + + + An extension node element. + + + A raw representation of an extension node. Contains the basic information + needed to create ExtensionNode instances. + + + + + Gets element attributes. + + + Name of the attribute + + + The value of the attribute + + + + + Name of the node element. + + + + + Gets all attributes defined in the element. + + + + + Gets child nodes of this node + + + + + Initializes a new instance of the class. + + + Node name. + + + + + Gets the type of the node. + + + The node type. + + + This method only works when the add-in description to which the node belongs has been + loaded from an add-in registry. + + + + + Gets the extension path under which this node is registered + + + The parent path. + + + For example, if the id of the node is 'ThisNode', and the node is a child of another node with id 'ParentNode', and + that parent node is defined in an extension with the path '/Core/MainExtension', then the parent path is 'Core/MainExtension/ParentNode'. + + + + + Gets the value of an attribute. + + + The value of the attribute, or an empty string if the attribute is not defined. + + + Name of the attribute. + + + + + Sets the value of an attribute. + + + Name of the attribute + + + The value. + + + + + Removes an attribute. + + + Name of the attribute to remove. + + + + + Gets or sets the name of the node. + + + The name of the node. + + + + + Gets or sets the identifier of the node. + + + The identifier. + + + + + Gets or sets the identifier of the node after which this node has to be inserted + + + The identifier of the reference node + + + + + Gets or sets the identifier of the node before which this node has to be inserted + + + The identifier of the reference node + + + + + Gets a value indicating whether this node is a condition. + + + true if this node is a condition; otherwise, false. + + + + + Gets the attributes of the node. + + + The attributes. + + + + + Gets the child nodes. + + + The child nodes. + + + + + An extension node type definition. + + + + + An extension node set definition. + + + Node sets allow grouping a set of extension node declarations and give an identifier to that group + (the node set). Once a node set is declared, it can be referenced from several extension points + which use the same extension node structure. Extension node sets also allow declaring recursive + extension nodes, that is, extension nodes with a tree structure. + + + + + Copies data from another node set + + + Node set from which to copy + + + + + Initializes a new instance of the class. + + + + + Gets all the allowed node types. + + + The allowed node types. + + + Gets all allowed node types, including those defined in included node sets. + This method only works for descriptions loaded from a registry. + + + + + Gets or sets the identifier of the node set. + + + The identifier. + + + + + Gets the node types allowed in this node set. + + + The node types. + + + + + Gets a list of other node sets included in this node set. + + + The node sets. + + + + + Initializes a new instance of the class. + + + + + Copies data from another node set + + + + + Type that implements the extension node. + + + The full name of the type. + + + + + Element name to be used when defining an extension in an XML manifest. The default name is "Type". + + + The name of the node. + + + + + Type of the object that the extension creates (only valid for TypeNodeExtension). + + + + + Name of the custom attribute that can be used to declare nodes of this type + + + + + Long description of the node type + + + + + Attributes supported by the extension node type. + + + + + An add-in description + + + This class represent an add-in manifest. It has properties for getting + all information, and methods for loading and saving files. + + + + + Adds an extension point. + + + The extension point. + + + Path that identifies the new extension point. + + + + + Saves the add-in description. + + + File name where to save this instance + + + Saves the add-in description to the specified file and sets the FileName property. + + + + + Saves the add-in description. + + + It is thrown if FileName is not set + + + The description is saved to the file specified in the FileName property. + + + + + Generates an XML representation of the add-in description + + + An XML manifest. + + + + + Load an add-in description from a file + + + The file. + + + + + Load an add-in description from a stream + + + The stream + + + The path to be used to resolve relative file paths. + + + + + Load an add-in description from a text reader + + + The text reader + + + The path to be used to resolve relative file paths. + + + + + Verify this instance. + + + This method checks all the definitions in the description and returns a list of errors. + If the returned list is empty, it means that the description is valid. + + + + + Gets or sets the path to the main addin file. + + + The addin file. + + + The add-in file can be either the main assembly of an add-in or an xml manifest. + + + + + Gets the addin identifier. + + + The addin identifier. + + + + + Gets or sets the local identifier. + + + The local identifier. + + + + + Gets or sets the namespace. + + + The namespace. + + + + + Gets or sets the display name of the add-in. + + + The name. + + + + + Gets or sets the version. + + + The version. + + + + + Gets or sets the version of the add-in with which this add-in is backwards compatible. + + + The compat version. + + + + + Gets or sets the author. + + + The author. + + + + + Gets or sets the Url where more information about the add-in can be found. + + + The URL. + + + + + Gets or sets the copyright. + + + The copyright. + + + + + Gets or sets the description of the add-in. + + + The description. + + + + + Gets or sets the category of the add-in. + + + The category. + + + + + Gets the base path for locating external files relative to the add-in. + + + The base path. + + + + + Gets or sets a value indicating whether this instance is an add-in root. + + + true if this instance is an add-in root; otherwise, false. + + + + + Gets or sets a value indicating whether this add-in is enabled by default. + + + true if enabled by default; otherwise, false. + + + + + Gets or sets the add-in flags. + + + The flags. + + + + + Gets a value indicating whether this add-in can be disabled. + + + true if this add-in can be disabled; otherwise, false. + + + + + Gets a value indicating whether this add-in can be uninstalled. + + + true if this instance can be uninstalled; otherwise, false. + + + + + Gets a value indicating whether this add-in is hidden. + + + true if this add-in is hidden; otherwise, false. + + + + + Gets all external files + + + All files. + + + External files are data files and assemblies explicitly referenced in the Runtime section of the add-in manifest. + + + + + Gets all paths to be ignored by the add-in scanner. + + + All paths to be ignored. + + + + + Gets the main module. + + + The main module. + + + + + Gets the optional modules. + + + The optional modules. + + + Optional modules can be used to declare extensions which will be registered only if some specified + add-in dependencies can be satisfied. Dependencies specified in optional modules are 'soft dependencies', + which means that they don't need to be satisfied in order to load the add-in. + + + + + Gets all modules (including the main module and all optional modules) + + + All modules. + + + + + Gets the extension node sets. + + + The extension node sets. + + + + + Gets the extension points. + + + The extension points. + + + + + Gets the condition types. + + + The condition types. + + + + + Gets or sets the add-in localizer. + + + The description of the add-in localizer for this add-in. + + + + + Custom properties specified in the add-in header + + + + + Gets or sets file where this description is stored + + + The file path. + + + + + Addin flags attribute. + + + + + Initializes the attribute + + + Add-in flags + + + + + Add-in flags + + + + + Delegate to be used in add-in engine events + + + + + Provides information about an add-in engine event. + + + + + Initializes a new instance of the class. + + + Add-in identifier. + + + + + Identifier of the add-in that generated the event. + + + + + Attribute of a NodeElement. + + + + + Name of the attribute. + + + + + Value of the attribute. + + + + + Allows finding assemblies in the file system + + + + + Locates an assembly + + + The full path to the assembly, or null if not found + + + Full name of the assembly + + + + + An add-in property. + + + + + Name of the property + + + + + Locale of the property. It is null if the property is not localized. + + + + + Value of the property. + + + + + A localizer factory. + + + + + Creates a localizer for an add-in. + + + The localizer. + + + The add-in for which to create the localizer. + + + Localizer parameters. + + + + + Definition of an add-in dependency. + + + + + Gets the display name of the dependency. + + + The name. + + + + + A collection of node sets. + + + + + Initializes a new instance of the class. + + + + + Gets the at the specified index. + + + The index. + + + + + Gets the with the specified id. + + + Identifier. + + + + + An add-in engine. + + + This class allows hosting several independent add-in engines in a single application domain. + In general, applications use the AddinManager class to query and manage extensions. This class is static, + so the API is easily accessible. However, some kind applications may need to use several isolated + add-in engines, and in this case the AddinManager class can't be used, because it is bound to a single + add-in engine. Those applications can instead create several instances of the AddinEngine class. Each + add-in engine can be independently initialized with different add-in registries and extension models. + + + + + An extension context. + + + Extension contexts can be used to query the extension tree + using particular condition values. Extension points which + declare the availability of a condition type can only be + queryed using an extension context which provides an + evaluator for that condition. + + + + + Registers a new condition in the extension context. + + + Identifier of the condition. + + + Condition evaluator. + + + The registered condition will be particular to this extension context. + Any event that might be fired as a result of changes in the condition will + only be fired in this context. + + + + + Registers a new condition in the extension context. + + + Identifier of the condition. + + + Type of the condition evaluator. Must be a subclass of Mono.Addins.ConditionType. + + + The registered condition will be particular to this extension context. Any event + that might be fired as a result of changes in the condition will only be fired in this context. + + + + + Returns the extension node in a path + + + Location of the node. + + + The node, or null if not found. + + + + + Returns the extension node in a path + + + Location of the node. + + + The node, or null if not found. + + + + + Gets extension nodes registered in a path. + + + An extension path.> + + + All nodes registered in the provided path. + + + + + Gets extension nodes registered in a path. + + + An extension path. + + + A list of nodes + + + This method returns all nodes registered under the provided path. + It will throw a InvalidOperationException if the type of one of + the registered nodes is not assignable to the provided type. + + + + + Gets extension nodes for a type extension point + + + Type defining the extension point + + + A list of nodes + + + This method returns all extension nodes bound to the provided type. + + + + + Gets extension nodes for a type extension point + + + Type defining the extension point + + + Expected extension node type + + + A list of nodes + + + This method returns all nodes registered for the provided type. + It will throw a InvalidOperationException if the type of one of + the registered nodes is not assignable to the provided node type. + + + + + Gets extension nodes for a type extension point + + + Type defining the extension point + + + A list of nodes + + + This method returns all nodes registered for the provided type. + It will throw a InvalidOperationException if the type of one of + the registered nodes is not assignable to the specified node type argument. + + + + + Gets extension nodes registered in a path. + + + An extension path. + + + Expected node type. + + + A list of nodes + + + This method returns all nodes registered under the provided path. + It will throw a InvalidOperationException if the type of one of + the registered nodes is not assignable to the provided type. + + + + + Gets extension objects registered for a type extension point. + + + Type defining the extension point + + + A list of objects + + + + + Gets extension objects registered for a type extension point. + + + A list of objects + + + The type argument of this generic method is the type that defines + the extension point. + + + + + Gets extension objects registered for a type extension point. + + + Type defining the extension point + + + When set to True, it will return instances created in previous calls. + + + A list of extension objects. + + + + + Gets extension objects registered for a type extension point. + + + When set to True, it will return instances created in previous calls. + + + A list of extension objects. + + + The type argument of this generic method is the type that defines + the extension point. + + + + + Gets extension objects registered in a path + + + An extension path. + + + An array of objects registered in the path. + + + This method can only be used if all nodes in the provided extension path + are of type Mono.Addins.TypeExtensionNode. The returned array is composed + by all objects created by calling the TypeExtensionNode.CreateInstance() + method for each node. + + + + + Gets extension objects registered in a path. + + + An extension path. + + + When set to True, it will return instances created in previous calls. + + + An array of objects registered in the path. + + + This method can only be used if all nodes in the provided extension path + are of type Mono.Addins.TypeExtensionNode. The returned array is composed + by all objects created by calling the TypeExtensionNode.CreateInstance() + method for each node (or TypeExtensionNode.GetInstance() if + reuseCachedInstance is set to true) + + + + + Gets extension objects registered in a path. + + + An extension path. + + + Type of the return array elements. + + + An array of objects registered in the path. + + + This method can only be used if all nodes in the provided extension path + are of type Mono.Addins.TypeExtensionNode. The returned array is composed + by all objects created by calling the TypeExtensionNode.CreateInstance() + method for each node. + + An InvalidOperationException exception is thrown if one of the found + objects is not a subclass of the provided type. + + + + + Gets extension objects registered in a path. + + + An extension path. + + + An array of objects registered in the path. + + + This method can only be used if all nodes in the provided extension path + are of type Mono.Addins.TypeExtensionNode. The returned array is composed + by all objects created by calling the TypeExtensionNode.CreateInstance() + method for each node. + + An InvalidOperationException exception is thrown if one of the found + objects is not a subclass of the provided type. + + + + + Gets extension objects registered in a path. + + + An extension path. + + + When set to True, it will return instances created in previous calls. + + + An array of objects registered in the path. + + + This method can only be used if all nodes in the provided extension path + are of type Mono.Addins.TypeExtensionNode. The returned array is composed + by all objects created by calling the TypeExtensionNode.CreateInstance() + method for each node (or TypeExtensionNode.GetInstance() if + reuseCachedInstance is set to true). + + An InvalidOperationException exception is thrown if one of the found + objects is not a subclass of the provided type. + + + + + Gets extension objects registered in a path. + + + An extension path. + + + Type of the return array elements. + + + When set to True, it will return instances created in previous calls. + + + An array of objects registered in the path. + + + This method can only be used if all nodes in the provided extension path + are of type Mono.Addins.TypeExtensionNode. The returned array is composed + by all objects created by calling the TypeExtensionNode.CreateInstance() + method for each node (or TypeExtensionNode.GetInstance() if + reuseCachedInstance is set to true). + + An InvalidOperationException exception is thrown if one of the found + objects is not a subclass of the provided type. + + + + + Register a listener of extension node changes. + + + Path of the node. + + + A handler method. + + + Hosts can call this method to be subscribed to an extension change + event for a specific path. The event will be fired once for every + individual node change. The event arguments include the change type + (Add or Remove) and the extension node added or removed. + + NOTE: The handler will be called for all nodes existing in the path at the moment of registration. + + + + + Unregister a listener of extension node changes. + + + Path of the node. + + + A handler method. + + + This method unregisters a delegate from the node change event of a path. + + + + + Register a listener of extension node changes. + + + Type defining the extension point + + + A handler method. + + + Hosts can call this method to be subscribed to an extension change + event for a specific type extension point. The event will be fired once for every + individual node change. The event arguments include the change type + (Add or Remove) and the extension node added or removed. + + NOTE: The handler will be called for all nodes existing in the path at the moment of registration. + + + + + Unregister a listener of extension node changes. + + + Type defining the extension point + + + A handler method. + + + + + Extension change event. + + + This event is fired when any extension point in the add-in system changes. + The event args object provides the path of the changed extension, although + it does not provide information about what changed. Hosts subscribing to + this event should get the new list of nodes using a query method such as + AddinManager.GetExtensionNodes() and then update whatever needs to be updated. + + + + + Initializes a new instance of the class. + + + + + Initializes the add-in engine + + + Location of the add-in registry. + + The add-in engine needs to be initialized before doing any add-in operation. + When initialized with this method, it will look for add-in in the add-in registry + located in the specified path. + + + + + Initializes the add-in engine. + + + Location of the add-in registry. + + + Add-ins directory. If the path is relative, it is considered to be relative + to the configDir directory. + + + The add-in engine needs to be initialized before doing any add-in operation. + Configuration information about the add-in registry will be stored in the + provided location. The add-in engine will look for add-ins in the provided + 'addinsDir' directory. + + When specifying a path, it is possible to use a special folder name as root. + For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced + by the location of the Environment.SpecialFolder.Personal folder. Any value + of the Environment.SpecialFolder enumeration can be used (always between square + brackets) + + + + + Initializes the add-in engine. + + + Location of the add-in registry. + + + Add-ins directory. If the path is relative, it is considered to be relative + to the configDir directory. + + + Location of the add-in database. If the path is relative, it is considered to be relative + to the configDir directory. + + + The add-in engine needs to be initialized before doing any add-in operation. + Configuration information about the add-in registry will be stored in the + provided location. The add-in engine will look for add-ins in the provided + 'addinsDir' directory. Cached information about add-ins will be stored in + the 'databaseDir' directory. + + When specifying a path, it is possible to use a special folder name as root. + For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced + by the location of the Environment.SpecialFolder.Personal folder. Any value + of the Environment.SpecialFolder enumeration can be used (always between square + brackets) + + + + + Finalizes the add-in engine. + + + + + Sets the default localizer to be used for this add-in engine + + + The add-in localizer + + + + + Checks if the provided add-ins are installed, and requests the installation of those + which aren't. + + + Message to show to the user when new add-ins have to be installed. + + + List of IDs of the add-ins to be checked. + + + This method checks if the specified add-ins are installed. + If some of the add-ins are not installed, it will use + the installer assigned to the DefaultAddinInstaller property + to install them. If the installation fails, or if DefaultAddinInstaller + is not set, an exception will be thrown. + + + + + Checks if an add-in has been loaded. + + + Full identifier of the add-in. + + + True if the add-in is loaded. + + + + + Forces the loading of an add-in. + + + Status monitor to keep track of the loading process. + + + Full identifier of the add-in to load. + + + This method loads all assemblies that belong to an add-in in memory. + All add-ins on which the specified add-in depends will also be loaded. + Notice that in general add-ins don't need to be explicitely loaded using + this method, since the add-in engine will load them on demand. + + + + + Creates a new extension context. + + + The new extension context. + + + Extension contexts can be used to query the extension model using particular condition values. + + + + + Raised when there is an error while loading an add-in + + + + + Raised when an add-in is loaded + + + + + Raised when an add-in is unloaded + + + + + Gets whether the add-in engine has been initialized. + + + + + Gets the default add-in installer + + + The default installer is used by the CheckInstalled method to request + the installation of missing add-ins. + + + + + Gets the default localizer for this add-in engine + + + + + Gets the localizer for the add-in that is invoking this property + + + + + Gets a reference to the RuntimeAddin object for the add-in that is invoking this property + + + + + Gets the add-in registry bound to this add-in engine + + + + + An assembly reflector + + + This interface can be implemented to provide a custom method for getting information about assemblies. + + + + + Called to initialize the assembly reflector + + + IAssemblyLocator instance which can be used to locate referenced assemblies. + + + + + Gets a list of custom attributes + + + The custom attributes. + + + An assembly, class or class member + + + Type of the attribute to be returned. It will always be one of the attribute types + defined in Mono.Addins. + + + 'true' if inherited attributes must be returned + + + + + Gets a list of custom attributes + + + The attributes. + + + An assembly, class or class member + + + Base type of the attribute to be returned + + + 'true' if inherited attributes must be returned + + + + + Loads an assembly. + + + The loaded assembly + + + Path of the assembly. + + + + + Loads the assembly specified in an assembly reference + + + The assembly + + + An assembly reference + + + + + Gets the names of all resources embedded in an assembly + + + The names of the resources + + + An assembly + + + + + Gets the data stream of a resource + + + The stream. + + + An assembly + + + The name of a resource + + + + + Gets all types defined in an assembly + + + The types + + + An assembly + + + + + Gets all assembly references of an assembly + + + A list of assembly references + + + An assembly + + + + + Looks for a type in an assembly + + + The type. + + + An assembly + + + Name of the type + + + + + Gets a custom attribute + + + The custom attribute. + + + An assembly, class or class member + + + Base type of the attribute to be returned. It will always be one of the attribute types + defined in Mono.Addins. + + + 'true' if inherited attributes must be returned + + + + + Gets the name of a type (not including namespace) + + + The type name. + + + A type + + + + + Gets the full name of a type (including namespace) + + + The full name of the type + + + A type + + + + + Gets the assembly qualified name of a type + + + The assembly qualified type name + + + A type + + + + + Gets a list of all base types (including interfaces) of a type + + + An enumeration of the full name of all base types of the type + + + A type + + + + + Checks if a type is assignable to another type + + + 'true' if the type is assignable + + + Expected base type. + + + A type. + + + + + Gets the fields of a type + + + The fields. + + + A type + + + + + Gets the name of a field. + + + The field name. + + + A field. + + + + + Gets the full name of the type of a field + + + The full type name + + + A field. + + + + + A custom attribute + + + + + Full name of the type of the custom attribute + + + + + Declares an extension point bound to a type + + + + + Initializes a new instance + + + + + Initializes a new instance + + + Path that identifies the extension point + + + + + Path that identifies the extension point + + + + + Description of the extension point. + + + + + Element name to be used when defining an extension in an XML manifest. The default name is "Type". + + + + + Display name of the extension point. + + + + + Type of the extension node to be created for extensions + + + + + Type of the custom attribute to be used to specify metadata for the extension point + + + + + Add-in flags + + + + + No flags + + + + + The add-in can't be uninstalled + + + + + The add-in can't be disabled + + + + + The add-in is not visible to end users + + + + + A collection of extensions + + + + + Initializes a new instance of the class. + + + + + Gets the at the specified index. + + + The index. + + + + + Base class for extension nodes which create extension objects + + + + + A node of the extension model. + + + An extension node is an element registered by an add-in in an extension point. + A host can get nodes registered in an extension point using methods such as + AddinManager.GetExtensionNodes(string), which returns a collection of ExtensionNode objects. + + ExtensionNode will normally be used as a base class of more complex extension point types. + The most common subclass is Mono.Addins.TypeExtensionNode, which allows registering a class + implemented in an add-in. + + + + + Returns the child objects of a node. + + + An array of child objects. + + + This method only works if all children of this node are of type Mono.Addins.TypeExtensionNode. + The returned array is composed by all objects created by calling the + TypeExtensionNode.GetInstance() method for each node. + + + + + Returns the child objects of a node. + + + True if the method can reuse instances created in previous calls. + + + An array of child objects. + + + This method only works if all children of this node are of type Mono.Addins.TypeExtensionNode. + The returned array is composed by all objects created by calling the TypeExtensionNode.CreateInstance() + method for each node (or TypeExtensionNode.GetInstance() if reuseCachedInstance is set to true). + + + + + Returns the child objects of a node (with type check). + + + Type of the return array elements. + + + An array of child objects. + + + This method only works if all children of this node are of type Mono.Addins.TypeExtensionNode. + The returned array is composed by all objects created by calling the + TypeExtensionNode.GetInstance(Type) method for each node. + + An InvalidOperationException exception is thrown if one of the found child objects is not a + subclass of the provided type. + + + + + Returns the child objects of a node (casting to the specified type) + + + An array of child objects. + + + This method only works if all children of this node are of type Mono.Addins.TypeExtensionNode. + The returned array is composed by all objects created by calling the + TypeExtensionNode.GetInstance() method for each node. + + + + + Returns the child objects of a node (with type check). + + + Type of the return array elements. + + + True if the method can reuse instances created in previous calls. + + + An array of child objects. + + + This method only works if all children of this node are of type Mono.Addins.TypeExtensionNode. + The returned array is composed by all objects created by calling the TypeExtensionNode.CreateInstance(Type) + method for each node (or TypeExtensionNode.GetInstance(Type) if reuseCachedInstance is set to true). + + An InvalidOperationException exception will be thrown if one of the found child objects is not a subclass + of the provided type. + + + + + Returns the child objects of a node (casting to the specified type). + + + True if the method can reuse instances created in previous calls. + + + An array of child objects. + + + This method only works if all children of this node are of type Mono.Addins.TypeExtensionNode. + The returned array is composed by all objects created by calling the TypeExtensionNode.CreateInstance() + method for each node (or TypeExtensionNode.GetInstance() if reuseCachedInstance is set to true). + + + + + Reads the extension node data + + + The element containing the extension data + + + This method can be overriden to provide a custom method for reading extension node data from an element. + The default implementation reads the attributes if the element and assigns the values to the fields + and properties of the extension node that have the corresponding [NodeAttribute] decoration. + + + + + Called when the add-in that defined this extension node is actually loaded in memory. + + + + + Called when the add-in that defined this extension node is being + unloaded from memory. + + + + + Called when the children list of this node has changed. It may be due to add-ins + being loaded/unloaded, or to conditions being changed. + + + + + Called when a child node is added + + + Added node. + + + + + Called when a child node is removed + + + Removed node. + + + + + Identifier of the node. + + + It is not mandatory to specify an 'id' for a node. When none is provided, + the add-in manager will automatically generate an unique id for the node. + The ExtensionNode.HasId property can be used to know if the 'id' has been + specified by the developer or not. + + + + + Location of this node in the extension tree. + + + The node path is composed by the path of the extension point where it is defined, + the identifiers of its parent nodes, and its own identifier. + + + + + Parent node of this node. + + + + + Extension context to which this node belongs + + + + + Specifies whether the extension node has as an Id or not. + + + It is not mandatory to specify an 'id' for a node. When none is provided, + the add-in manager will automatically generate an unique id for the node. + This property will return true if an 'id' was provided for the node, and + false if the id was assigned by the add-in manager. + + + + + The add-in that registered this extension node. + + + This property provides access to the resources and types of the add-in that created this extension node. + + + + + Notifies that a child node of this node has been added or removed. + + + The first time the event is subscribed, the handler will be called for each existing node. + + + + + Child nodes of this extension node. + + + + + Gets the extension object declared by this node + + + Expected object type. An exception will be thrown if the object is not an instance of the specified type. + + + The extension object + + + The extension object is cached and the same instance will be returned at every call. + + + + + Gets the extension object declared by this node + + + The extension object + + + The extension object is cached and the same instance will be returned at every call. + + + + + Creates a new extension object + + + Expected object type. An exception will be thrown if the object is not an instance of the specified type. + + + The extension object + + + + + Creates a new extension object + + + The extension object + + + + + Declares a dependency on an add-in or add-in host + + + + + Initializes the attribute + + + Identifier of the add-in + + + Version of the add-in + + + + + Identifier of the add-in + + + + + Version of the add-in + + + + + An extension node with custom metadata + + + This is the default type for extension nodes bound to a custom extension attribute. + + + + + An extension node with custom metadata provided by an attribute + + + This interface is implemented by ExtensionNode<T> to provide non-generic access to the attribute instance. + + + + + The custom attribute containing the extension metadata + + + + + The custom attribute containing the extension metadata + + + + + Defines an add-in property + + + + + Initializes a new instance of the class. + + + Name of the property + + + Value of the property + + + + + Initializes a new instance of the class. + + + Name of the property + + + Locale of the property. It can be null if the property is not bound to a locale. + + + Value of the property + + + + + Name of the property + + + + + Locale of the property. It can be null if the property is not bound to a locale. + + + + + Value of the property + + + + + Base class for custon extension attributes. + + + Custom extension attributes can be used to declare extensions with custom metadata. + All custom extension attributes must subclass CustomExtensionAttribute. + + + + + Identifier of the node + + + + + Identifier of the node before which this node has to be placed + + + + + Identifier of the node after which this node has to be placed + + + + + Path of the extension point being extended. + + + This property is optional and useful only when there are several extension points which allow + using this custom attribute to define extensions. + + + + + The extension node bound to this attribute + + + + + The add-in that registered this extension node. + + + This property provides access to the resources and types of the add-in that created this extension node. + + + + + A localizer that supports localization of plural forms. + + + This interface can be implemented by add-in localizers which want to provide + support plural forms. + + + + + Gets a localized message which may contain plural forms. + + + The localized message. + + + Message identifier to use when the specified count is 1. + + + Default message identifier to use when the specified count is not 1. + + + The count that determines which plural form to use. + + + + + Converts message identifiers to localized messages. + + + + + Gets a localized message + + + Message identifier + + + The localized message + + + + + Gets a formatted and localized message + + + Message identifier (can contain string format placeholders) + + + Arguments for the string format operation + + + The formatted and localized string + + + + + Gets a formatted and localized message + + + Message identifier (can contain string format placeholders) + + + Arguments for the string format operation + + + The formatted and localized string + + + + + Gets a localized plural form for a message identifier + + + Message identifier for the singular form + + + Default result message for the plural form + + + Value count. Determines wether to use singular or plural form. + + + The localized message + + + + + Gets a localized and formatted plural form for a message identifier + + + Message identifier for the singular form (can contain string format placeholders) + + + Default result message for the plural form (can contain string format placeholders) + + + Value count. Determines whether to use singular or plural form. + + + Arguments for the string format operation + + + The localized message + + + + + Gets a localized and formatted plural form for a message identifier + + + Message identifier for the singular form (can contain string format placeholders) + + + Default result message for the plural form (can contain string format placeholders) + + + Value count. Determines whether to use singular or plural form. + + + Arguments for the string format operation + + + The localized message + + + + + A collection of extension point definitions. + + + + + Initializes a new instance of the class. + + + + + Gets the at the specified index. + + + The index. + + + + + Gets the with the specified path. + + + Path. + + + + + Declares a Gettext-based localizer for an add-in + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Name of the catalog which contains the strings. + + + + + Initializes a new instance of the class. + + + Name of the catalog which contains the strings. + + + Relative path to the location of the catalog. This path must be relative to the add-in location. + + + The location path must contain a directory structure like this: + + {language-id}/LC_MESSAGES/{Catalog}.mo + + For example, the catalog for spanish strings would be located at: + + locale/es/LC_MESSAGES/some-addin.mo + + + + + Name of the catalog which contains the strings. + + + + + Relative path to the location of the catalog. This path must be relative to the add-in location. + + + When not specified, the default value of this property is 'locale'. + The location path must contain a directory structure like this: + + {language-id}/LC_MESSAGES/{Catalog}.mo + + For example, the catalog for spanish strings would be located at: + + locale/es/LC_MESSAGES/some-addin.mo + + + + + Declares an author of the add-in + + + + + Initializes the attribute + + + Name of the author + + + + + Author name + + + + + A condition type definition. + + + + + Initializes a new instance of the class. + + + + + Copies data from another condition type definition + + + Condition from which to copy + + + + + Gets or sets the identifier of the condition type + + + The identifier. + + + + + Gets or sets the name of the type that implements the condition + + + The name of the type. + + + + + Gets or sets the description of the condition. + + + The description. + + + + + An extension point definition. + + + + + Initializes a new instance of the class. + + + + + Copies another extension point. + + + Extension point from which to copy. + + + + + Adds an extension node type. + + + The extension node type. + + + Name of the node + + + Name of the type that implements the extension node. + + + This method can be used to register a new allowed node type for the extension point. + + + + + Gets or sets the path that identifies the extension point. + + + The path. + + + + + Gets or sets the display name of the extension point. + + + The name. + + + + + Gets or sets the description of the extension point. + + + The description. + + + + + Gets a list of add-ins that extend this extension point. + + + This value is only available when the add-in description is loaded from an add-in registry. + + + + + A node set which specifies the node types allowed in this extension point. + + + The node set. + + + + + Gets the conditions available in this node set. + + + The conditions. + + + + + A condition evaluator. + + + Add-ins may use conditions to register nodes in an extension point which + are only visible under some contexts. For example, an add-in registering + a custom menu option to the main menu of a sample text editor might want + to make that option visible only for some kind of files. To allow add-ins + to do this kind of check, the host application needs to define a new condition. + + + + + Evaluates the condition. + + + Condition node information. + + + 'true' if the condition is satisfied. + + + + + Notifies that the condition has changed, and that it has to be re-evaluated. + + This method must be called when there is a change in the state that determines + the result of the evaluation. When this method is called, all node conditions + depending on it are reevaluated and the corresponding events for adding or + removing extension nodes are fired. + + + + + + A list of extension nodes. + + + + + Gets an enumerator which enumerates all nodes in the list + + + + + Copies all nodes to an array + + + The target array + + + Initial index where to copy to + + + + + Returns the node in the specified index. + + + The index. + + + + + Returns the node with the specified ID. + + + An id. + + + + + Number of nodes of the collection. + + + + + A list of extension nodes. + + + + + Gets an enumerator which enumerates all nodes in the list + + + + + Copies all nodes to an array + + + The target array + + + Initial index where to copy to + + + + + Returns the node in the specified index. + + + The index. + + + + + Returns the node with the specified ID. + + + An id. + + + + + Number of nodes of the collection. + + + + + Exception thrown when the add-in engine can't find a required add-in dependency + + + + + An extension node which specifies a type. + + + This class is a kind of Mono.Addins.ExtensionNode which can be used to register + types in an extension point. This is a very common case: a host application + defines an interface, and add-ins create classes that implement that interface. + The host will define an extension point which will use TypeExtensionNode as nodetext + type. Add-ins will register the classes they implement in that extension point. + + When the nodes of an extension point are of type TypeExtensionNode it is then + possible to use query methods such as AddinManager.GetExtensionObjects(string), + which will get all nodes in the provided extension path and will create an object + for each node. + + When declaring extension nodes in an add-in manifest, the class names can be + specified using the 'class' or 'type' attribute. If none of those attributes is + provided, the class name will be taken from the 'id' attribute. + + TypeExtensionNode is the default extension type used when no type is provided + in the definition of an extension point. + + + + + Reads the extension node data + + + The element containing the extension data + + + This method can be overriden to provide a custom method for reading extension node data from an element. + The default implementation reads the attributes if the element and assigns the values to the fields + and properties of the extension node that have the corresponding [NodeAttribute] decoration. + + + + + Creates a new extension object + + + The extension object + + + + + Type of the object that this node creates + + + + + Name of the type of the object that this node creates + + The name of the type. + + + + An extension node which specifies a type with custom extension metadata + + + This is the default type for type extension nodes bound to a custom extension attribute. + + + + + The custom attribute containing the extension metadata + + + + + Describes the purpose of an add-in or add-in root + + + + + Initializes a new instance of the class. + + + Description of the add-in + + + + + Initializes a new instance of the class. + + + Description of the add-in + + + Locale of the description (for example, 'en-US', or 'en') + + + + + Description of the add-in + + + + + Locale of the description (for example, 'en-US', or 'en') + + + + + Marks an assembly as being an add-in root. + + + An add-in root is an assemly which can be extended by add-ins. + + + + + Marks an assembly as being an add-in. + + + + + Initializes an add-in marker attribute + + + + + Initializes an add-in marker attribute + + + Identifier of the add-in + + + + + Initializes an add-in marker attribute + + + Identifier of the add-in + + + Version of the add-in + + + + + Identifier of the add-in. + + + + + Version of the add-in. + + + + + Version of the add-in with which this add-in is backwards compatible. + + + + + Namespace of the add-in + + + + + Category of the add-in + + + + + Url to a web page with more information about the add-in + + + + + When set to True, the add-in will be automatically enabled after installing. + It's True by default. + + + + + Add-in flags + + + + + Initializes a new instance + + + + + Initializes a new instance + + + Identifier of the add-in root + + + + + Initializes a new instance + + + Identifier of the add-in root + + + Version of the add-in root + + + + + An extension definition. + + + An Extension is a collection of nodes which have to be registered in an extension point. + The target extension point is specified in the .Path property. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Path that identifies the extension point being extended + + + + + Gets the object extended by this extension + + + The extended object can be an or + an . + + + This method only works when the add-in description to which the extension belongs has been + loaded from an add-in registry. + + + + + Gets the node types allowed in this extension. + + + The allowed node types. + + + This method only works when the add-in description to which the extension belongs has been + loaded from an add-in registry. + + + + + Initializes a new instance of the class. + + + XML that describes the extension. + + + + + Gets or sets the path that identifies the extension point being extended. + + + The path. + + + + + Gets the extension nodes. + + + The extension nodes. + + + + + Delegate to be used in extension point subscriptions + + + + + Delegate to be used in extension point subscriptions + + + + + Arguments for extension events. + + + + + Creates a new instance. + + + Path of the extension node that has changed. + + + + + Checks if a path has changed. + + + An extension path. + + + 'true' if the path is affected by the extension change event. + + + Checks if the specified path or any of its children paths is affected by the extension change event. + + + + + Path of the extension node that has changed. + + + + + Arguments for extension node events. + + + + + Creates a new instance + + + Type of change. + + + Node that has been added or removed. + + + + + Path of the extension that changed. + + + + + Type of change. + + + + + Node that has been added or removed. + + + + + Extension object that has been added or removed. + + + + + Type of change in an extension change event. + + + + + An extension node has been added. + + + + + An extension node has been removed. + + + + + Sets the display name of an add-in + + + + + Initializes a new instance of the class. + + + Name of the add-in + + + + + Initializes a new instance of the class. + + + Name of the add-in + + + Locale of the name (for example, 'en-US', or 'en') + + + + + Name of the add-in + + + + + Locale of the name (for example, 'en-US', or 'en') + + + + + Type of the content of a string extension node attribute + + + + + Plain text + + + + + A class name + + + + + A resource name + + + + + A file name + + + + + An add-in file system extension. + + + File system extensions can override the behavior of the add-in scanner and provide custom rules for + locating and scanning assemblies. + + + + + Called when the add-in scan is about to start + + + + + Called when the add-in scan has finished + + + + + Checks if a directory exists + + + 'true' if the directory exists + + + Directory path + + + + + Checks if a file exists + + + 'true' if the file exists + + + Path to the file + + + + + Gets the files in a directory + + + The full path of the files in the directory + + + Directory path + + + + + Gets the subdirectories of a directory + + + The subdirectories. + + + The directory + + + + + Gets the last write time of a file + + + The last write time. + + + File path. + + + + + Opens a text file + + + The text file stream + + + File path. + + + + + Opens a file. + + + The file stream. + + + The file path. + + + + + Gets an assembly reflector for a file. + + + The reflector for the file. + + + An assembly locator + + + A file path + + + + + Gets a value indicating whether this needs to be isolated from the main execution process + + + true if requires isolation; otherwise, false. + + + + + Assigns an attribute value to an extension + + + This attribute can be used together with the [Extenion] attribute to specify + a value for an attribute of the extension. + + + + + Initializes a new instance of the class. + + + Name of the attribute + + + Value of the attribute + + + + + Initializes a new instance of the class. + + + Type of the extension for which the attribute value is being set + + + Name of the attribute + + + Value of the attribute + + + + + Initializes a new instance of the class. + + + Path of the extension for which the attribute value is being set + + + Name of the attribute + + + Value of the attribute + + + + + Name of the attribute + + + + + Value of the attribute + + + + + Path of the extension for which the attribute value is being set + + + + + Type of the extension for which the attribute value is being set + + + + + An add-in installation handler + + + + + Installs a set of add-ins + + + Registry where to install + + + Message to show to the user when new add-ins have to be installed. + + + List of IDs of the add-ins to be installed. + + + + + This attribute can be applied to an ExtensionNode subclass to specify the default name and description. + + + This information will be used when an extension point does not define a name or description for a node type. + + + + + Initializes the attribute + + + + + Initializes the attribute + + + Name of the node + + + + + Initializes the attribute + + + Name of the node + + + Description of the node + + + + + Default name of the extension node + + + + + Default description of the extension node type + + + + + Type of a custom attribute which can be used to specify metadata for this extension node type + + + + + A collection of dependency definitions. + + + + + Initializes a new instance of the class. + + + + + Adds a dependency to the collection + + + The dependency to add. + + + + + Remove the specified dependency. + + + Dependency to remove. + + + + + Gets the at the specified index. + + + The idnex. + + + + + Declares a type extension. + + + When applied to a class, specifies that the class is an extension + class to be registered in a matching extension point. + + + + + Initializes a new instance of the ExtensionAttribute class. + + + + + Initializes a new instance + + + Path of the extension point. + + The path is only required if there are several extension points defined for the same type. + + + + Initializes a new instance + + + Type defining the extension point being extended + + + This constructor can be used to explicitly specify the type that defines the extension point + to be extended. By default, Mono.Addins will try to find any extension point defined in any + of the base classes or interfaces. The type parameter can be used when there is more than one + base type providing an extension point. + + + + + Path of the extension point being extended + + + The path is only required if there are several extension points defined for the same type. + + + + + Name of the extension node + + + Extension points may require extensions to use a specific node name. + This is needed when an extension point may contain several different types of nodes. + + + + + Identifier of the extension node. + + + The ExtensionAttribute.InsertAfter and ExtensionAttribute.InsertBefore + properties can be used to specify the relative location of a node. The nodes + referenced in those properties must be defined either in the add-in host + being extended, or in any add-in on which this add-in depends. + + + + + Identifier of the extension node before which this node has to be added in the extension point. + + + The ExtensionAttribute.InsertAfter and ExtensionAttribute.InsertBefore + properties can be used to specify the relative location of a node. The nodes + referenced in those properties must be defined either in the add-in host + being extended, or in any add-in on which this add-in depends. + + + + + Identifier of the extension node after which this node has to be added in the extension point. + + + + + Type defining the extension point being extended + + + This property can be used to explicitly specify the type that defines the extension point + to be extended. By default, Mono.Addins will try to find any extension point defined in any + of the base classes or interfaces. This property can be used when there is more than one + base type providing an extension point. + + + + + Run-time representation of an add-in. + + + + + Returns a string that represents the current RuntimeAddin. + + + A string that represents the current RuntimeAddin. + + + + + Gets a resource string + + + Name of the resource + + + The value of the resource string, or null if the resource can't be found. + + + The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies. + + + + + Gets a resource string + + + Name of the resource + + + When set to true, an exception will be thrown if the resource is not found. + + + The value of the resource string + + + The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies. + + + + + Gets a resource string + + + Name of the resource + + + When set to true, an exception will be thrown if the resource is not found. + + + Culture of the resource + + + The value of the resource string + + + The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies. + + + + + Gets a resource object + + + Name of the resource + + + Value of the resource + + + The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies. + + + + + Gets a resource object + + + Name of the resource + + + When set to true, an exception will be thrown if the resource is not found. + + + Value of the resource + + + The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies. + + + + + Gets a resource object + + + Name of the resource + + + When set to true, an exception will be thrown if the resource is not found. + + + Culture of the resource + + + Value of the resource + + + The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies. + + + + + Gets a type defined in the add-in + + + Full name of the type + + + A type. + + + The type will be looked up in the assemblies that implement the add-in, + and recursivelly in all add-ins on which it depends. + + This method throws an InvalidOperationException if the type can't be found. + + + + + Gets a type defined in the add-in + + + Full name of the type + + + Indicates whether the method should throw an exception if the type can't be found. + + + A + + + The type will be looked up in the assemblies that implement the add-in, + and recursivelly in all add-ins on which it depends. + + If the type can't be found, this method throw a InvalidOperationException if + 'throwIfNotFound' is 'true', or 'null' otherwise. + + + + + Creates an instance of a type defined in the add-in + + + Name of the type. + + + A new instance of the type + + + The type will be looked up in the assemblies that implement the add-in, + and recursivelly in all add-ins on which it depends. + + This method throws an InvalidOperationException if the type can't be found. + + The specified type must have a default constructor. + + + + + Creates an instance of a type defined in the add-in + + + Name of the type. + + + Indicates whether the method should throw an exception if the type can't be found. + + + A new instance of the type + + + The type will be looked up in the assemblies that implement the add-in, + and recursivelly in all add-ins on which it depends. + + If the type can't be found, this method throw a InvalidOperationException if + 'throwIfNotFound' is 'true', or 'null' otherwise. + + The specified type must have a default constructor. + + + + + Gets the path of an add-in file + + + Relative path of the file + + + Full path of the file + + + This method can be used to get the full path of a data file deployed together with the add-in. + + + + + Gets the path of an add-in file + + + Components of the file path + + + Full path of the file + + + This method can be used to get the full path of a data file deployed together with the add-in. + + + + + Gets the content of a resource + + + Name of the resource + + + Content of the resource, or null if not found + + + The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies. + + + + + Gets the content of a resource + + + Name of the resource + + + When set to true, an exception will be thrown if the resource is not found. + + + Content of the resource. + + + The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies. + + + + + Identifier of the add-in. + + + + + Version of the add-in. + + + + + Path to a directory where add-ins can store private configuration or status data + + + + + Localizer which can be used to localize strings defined in this add-in + + + + + Declares an add-in assembly import + + + An add-in may be composed by several assemblies and data files. + Assemblies must be declared in the main assembly using this attribute, or in the XML manifest. + + It is important to properly declare all files used by an add-in. + For example, when a type from the add-in is required (e.g. an ICommand implementation), + only properly declared assemblies will be checked. + This information is also used by setup tools to know exactly what needs to be packaged when creating + an add-in package, or to know what needs to be deleted when removing an add-in. + + + + + Initializes a new instance + + + Path to the assembly. Must be relative to the assembly declaring this attribute. + + + + + Path to the assembly. Must be relative to the assembly declaring this attribute. + + + + + When set to true (the default), the included assembly will be scanned + looking for extension point declarations. + + + + + Delegate to be used in add-in error subscriptions + + + + + Provides information about an add-in loading error. + + + + + Initializes a new instance of the class. + + + Error message + + + Add-in identifier. + + + Exception that caused the error. + + + + + Exception that caused the error. + + + + + Error message + + + + + An add-in. + + + + + Checks version compatibility. + + + An add-in version. + + + True if the provided version is compatible with this add-in. + + + This method checks the CompatVersion property to know if the provided version is compatible with the version of this add-in. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Compares two add-in versions + + + -1 if v1 is greater than v2, 0 if v1 == v2, 1 if v1 less than v2 + + + A version + + + A version + + + + + Returns the identifier of an add-in + + + The full identifier. + + + Namespace of the add-in + + + Name of the add-in + + + Version of the add-in + + + + + Given a full add-in identifier, returns the namespace and name of the add-in (it removes the version number) + + + Add-in identifier. + + + + + Given a full add-in identifier, returns the version the add-in + + + The version. + + + + + Splits a full add-in identifier in name and version + + + Add-in identifier. + + + The resulting name + + + The resulting version + + + + + Full identifier of the add-in, including namespace and version. + + + + + Namespace of the add-in. + + + + + Identifier of the add-in (without namespace) + + + + + Version of the add-in + + + + + Display name of the add-in + + + + + Custom properties specified in the add-in header + + + + + Gets or sets the enabled status of the add-in. + + + This property can be used to enable or disable an add-in. + The enabled status of an add-in is stored in the add-in registry, + so when an add-in is disabled, it will be disabled for all applications + sharing the same registry. + When an add-in is enabled or disabled, the extension points currently loaded + in memory will be properly updated to include or exclude extensions from the add-in. + + + + + Returns 'true' if the add-in is installed in the user's personal folder + + + + + Path to the add-in file (it can be an assembly or a standalone XML manifest) + + + + + Description of the add-in + + + + + A collection of condition types + + + + + Initializes a new instance of the class. + + + + + Gets the at the specified index. + + + Index. + + + The condition. + + + + + A collection of module descriptions + + + + + Initializes a new instance of the class. + + + + + Gets the at the specified index. + + + The index. + + + + + A collection of node attributes + + + + + Initializes a new instance of the class. + + + + + Gets the at the specified index. + + + The index. + + + + + Definition of a dependency of an add-in on an assembly. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the full name of the assembly + + + The full name of the assembly. + + + + + Gets or sets the name of the package that provides the assembly. + + + The name of the package that provides the assembly. + + + + + Display name of the dependency + + + The name. + + + + + Declares an optional add-in module + + + + + Initializes the instance. + + + Relative path to the assembly that implements the optional module + + + + + Relative path to the assembly that implements the optional module + + + + + An add-in registry. + + + An add-in registry is a data structure used by the add-in engine to locate add-ins to load. + + A registry can be configured to look for add-ins in several directories. However, add-ins + copied to those directories won't be detected until an explicit add-in scan is requested. + The registry can be updated by an application by calling Registry.Update(), or by a user by + running the 'mautil' add-in setup tool. + + The registry has information about the location of every add-in and a timestamp of the last + check, so the Update method will only scan new or modified add-ins. An application can + add a call to Registry.Update() in the Main method to detect all new add-ins every time the + app is started. + + Every add-in added to the registry is parsed and validated, and if there is any error it + will be rejected. The registry is also in charge of scanning the add-in assemblies and look + for extensions and other information declared using custom attributes. That information is + merged with the manifest information (if there is one) to create a complete add-in + description ready to be used at run-time. + + Mono.Addins allows sharing an add-in registry among several applications. In this context, + all applications sharing the registry share the same extension point model, and it is + possible to implement add-ins which extend several hosts. + + + + + Initializes a new instance. + + + Location of the add-in registry. + + + Creates a new add-in registry located in the provided path. + The add-in registry will look for add-ins in an 'addins' + subdirectory of the provided registryPath. + + When specifying a path, it is possible to use a special folder name as root. + For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced + by the location of the Environment.SpecialFolder.Personal folder. Any value + of the Environment.SpecialFolder enumeration can be used (always between square + brackets) + + + + + Initializes a new instance. + + + Location of the add-in registry. + + + Location of the application. + + + Creates a new add-in registry located in the provided path. + The add-in registry will look for add-ins in an 'addins' + subdirectory of the provided registryPath. + + When specifying a path, it is possible to use a special folder name as root. + For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced + by the location of the Environment.SpecialFolder.Personal folder. Any value + of the Environment.SpecialFolder enumeration can be used (always between square + brackets) + + + + + Initializes a new instance of the class. + + + Location of the add-in registry. + + + Location of the application. + + + Add-ins directory. If the path is relative, it is considered to be relative + to the configDir directory. + + + Creates a new add-in registry located in the provided path. + Configuration information about the add-in registry will be stored in + 'registryPath'. The add-in registry will look for add-ins in the provided + 'addinsDir' directory. + + When specifying a path, it is possible to use a special folder name as root. + For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced + by the location of the Environment.SpecialFolder.Personal folder. Any value + of the Environment.SpecialFolder enumeration can be used (always between square + brackets) + + + + + Initializes a new instance of the class. + + + Location of the add-in registry. + + + Location of the application. + + + Add-ins directory. If the path is relative, it is considered to be relative + to the configDir directory. + + + Location of the add-in database. If the path is relative, it is considered to be relative + to the configDir directory. + + + Creates a new add-in registry located in the provided path. + Configuration information about the add-in registry will be stored in + 'registryPath'. The add-in registry will look for add-ins in the provided + 'addinsDir' directory. Cached information about add-ins will be stored in + the 'databaseDir' directory. + + When specifying a path, it is possible to use a special folder name as root. + For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced + by the location of the Environment.SpecialFolder.Personal folder. Any value + of the Environment.SpecialFolder enumeration can be used (always between square + brackets) + + + + + Gets the global registry. + + + The global registry + + + The global add-in registry is created in "~/.config/mono.addins", + and it is the default registry used when none is specified. + + + + + Disposes the add-in engine. + + + + + Returns an add-in from the registry. + + + Identifier of the add-in. + + + The add-in, or 'null' if not found. + + + The add-in identifier may optionally include a version number, for example: "TextEditor.Xml,1.2" + + + + + Returns an add-in from the registry. + + + Identifier of the add-in. + + + 'true' if the exact add-in version must be found. + + + The add-in, or 'null' if not found. + + + The add-in identifier may optionally include a version number, for example: "TextEditor.Xml,1.2". + In this case, if the exact version is not found and exactVersionMatch is 'false', it will + return one than is compatible with the required version. + + + + + Gets all add-ins or add-in roots registered in the registry. + + + The addins. + + + Flags. + + + + + Gets all add-ins registered in the registry. + + + Add-ins registered in the registry. + + + + + Gets all add-in roots registered in the registry. + + + Descriptions of all add-in roots. + + + + + Loads an add-in description + + + Progress tracker. + + + Name of the file to load + + + An add-in description + + + This method loads an add-in description from a file. The file can be an XML manifest or an + assembly that implements an add-in. + + + + + Reads an XML add-in manifest + + + Path to the XML file + + + An add-in description + + + + + Reads an XML add-in manifest + + + Reader that contains the XML + + + Base path to use to discover add-in files + + + An add-in description + + + + + Checks whether an add-in is enabled. + + + Identifier of the add-in. + + + 'true' if the add-in is enabled. + + + + + Enables an add-in. + + + Identifier of the add-in + + + If the enabled add-in depends on other add-ins which are disabled, + those will automatically be enabled too. + + + + + Disables an add-in. + + + Identifier of the add-in. + + + When an add-in is disabled, all extension points it defines will be ignored + by the add-in engine. Other add-ins which depend on the disabled add-in will + also automatically be disabled. + + + + + Registers a set of add-ins for uninstallation. + + + Identifier of the add-in + + + Files to be uninstalled + + + This method can be used to instruct the add-in manager to uninstall + an add-in the next time the registry is updated. This is useful + when an add-in manager can't delete an add-in because if it is + loaded. + + + + + Determines whether an add-in is registered for uninstallation + + + true if the add-in is registered for uninstallation + + + Identifier of the add-in + + + + + Internal use only + + + + + Resets the configuration files of the registry + + + + + Updates the add-in registry. + + + This method must be called after modifying, installing or uninstalling add-ins. + + When calling Update, every add-in added to the registry is parsed and validated, + and if there is any error it will be rejected. It will also cache add-in information + needed at run-time. + + If during the update operation the registry finds new add-ins or detects that some + add-ins have been deleted, the loaded extension points will be updated to include + or exclude extension nodes from those add-ins. + + + + + Updates the add-in registry. + + + Progress monitor to keep track of the update operation. + + + This method must be called after modifying, installing or uninstalling add-ins. + + When calling Update, every add-in added to the registry is parsed and validated, + and if there is any error it will be rejected. It will also cache add-in information + needed at run-time. + + If during the update operation the registry finds new add-ins or detects that some + add-ins have been deleted, the loaded extension points will be updated to include + or exclude extension nodes from those add-ins. + + + + + Regenerates the cached data of the add-in registry. + + + Progress monitor to keep track of the rebuild operation. + + + + + Registers an extension. Only AddinFileSystemExtension extensions are supported right now. + + + The extension to register + + + + + Unregisters an extension. + + + The extension to unregister + + + + + Location of the add-in registry. + + + + + Gets a value indicating whether there are pending add-ins to be uninstalled installed + + + + + Gets the default add-ins folder of the registry. + + + For every add-in registry there is an add-in folder where the registry will look for add-ins by default. + This folder is an "addins" subdirectory of the directory where the repository is located. In most cases, + this folder will only contain .addins files referencing other more convenient locations for add-ins. + + + + + Addin search flags. + + + + + Add-ins are included in the search + + + + + Add-in roots are included in the search + + + + + Both add-in and add-in roots are included in the search + + + + + Only the latest version of every add-in or add-in root is included in the search + + + + + An IProgressStatus class which writes output to the console. + + + + + Progress status listener. + + + + + Sets the description of the current operation. + + + A message + + + This method is called by the add-in engine to show a description of the operation being monitorized. + + + + + Sets the progress of the operation. + + + A number between 0 and 1. 0 means no progress, 1 means operation completed. + + + This method is called by the add-in engine to show the progress of the operation being monitorized. + + + + + Writes text to the log. + + + Message to write + + + + + Reports a warning. + + + Warning message + + + This method is called by the add-in engine to report a warning in the operation being monitorized. + + + + + Reports an error. + + + Error message + + + Exception that caused the error. It can be null. + + + This method is called by the add-in engine to report an error occurred while executing the operation being monitorized. + + + + + Cancels the operation being montorized. + + + + + Log level requested by the user: 0: no log, 1: normal log, >1 verbose log + + + + + Returns True when the user requested to cancel this operation + + + + + Initializes a new instance + + + Set to true to enabled verbose log + + + + + Initializes a new instance + + + Verbosity level. 0: not verbose, 1: normal, >1 extra verbose + + + + + Sets the description of the current operation. + + + A message + + + This method is called by the add-in engine to show a description of the operation being monitorized. + + + + + Sets the progress of the operation. + + + A number between 0 and 1. 0 means no progress, 1 means operation completed. + + + This method is called by the add-in engine to show the progress of the operation being monitorized. + + + + + Writes text to the log. + + + Message to write + + + + + Reports a warning. + + + Warning message + + + This method is called by the add-in engine to report a warning in the operation being monitorized. + + + + + Reports an error. + + + Error message + + + Exception that caused the error. It can be null. + + + This method is called by the add-in engine to report an error occurred while executing the operation being monitorized. + + + + + Cancels the operation being montorized. + + + + + Returns True when the user requested to cancel this operation + + + + + Log level requested by the user: 0: no log, 1: normal log, >1 verbose log + + + + + Definition of a dependency of an add-in on another add-in. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Full identifier of the add-in (includes version) + + + + + Initializes a new instance of the class. + + + Identifier of the add-in. + + + Version of the add-in. + + + + + Gets the full addin identifier. + + + The full addin identifier. + + + Includes namespace and version number. For example: MonoDevelop.TextEditor,1.0 + + + + + Gets or sets the addin identifier. + + + The addin identifier. + + + + + Gets or sets the version. + + + The version. + + + + + Display name of the dependency. + + + The name. + + + + + Indicates that a field or property is bound to a node attribute + + + + + Initializes a new instance + + + + + Initializes a new instance + + + XML name of the attribute. + + + + + Initializes a new instance + + + XML name of the attribute. + + + Description of the attribute. + + + + + Initializes a new instance + + + XML name of the attribute. + + + Indicates whether the attribute is required or not. + + + + + Initializes a new instance + + + XML name of the attribute. + + + Indicates whether the attribute is required or not. + + + Description of the attribute. + + + + + Initializes a new instance + + + XML name of the attribute. + + + Type of the extension node attribute. + + + The type of the attribute is only required when applying this attribute at class level. + It is not required when it is applied to a field, since the attribute type will be the type of the field. + + + + + Initializes a new instance + + + XML name of the attribute. + + + Type of the extension node attribute. + + + Description of the attribute. + + + The type of the attribute is only required when applying this attribute at class level. + It is not required when it is applied to a field, since the attribute type will be the type of the field. + + + + + Initializes a new instance + + + XML name of the attribute. + + + Type of the extension node attribute. + + + Indicates whether the attribute is required or not. + + + The type of the attribute is only required when applying this attribute at class level. + It is not required when it is applied to a field, since the attribute type will be the type of the field. + + + + + Initializes a new instance + + + XML name of the attribute. + + + Type of the extension node attribute. + + + Indicates whether the attribute is required or not. + + + Description of the attribute. + + + The type of the attribute is only required when applying this attribute at class level. + It is not required when it is applied to a field, since the attribute type will be the type of the field. + + + + + XML name of the attribute. + + + If the name is not specified, the field name to which the [NodeAttribute] + is applied will be used as name. Providing a name is mandatory when applying + [NodeAttribute] at class level. + + + + + Indicates whether the attribute is required or not. + + + + + Type of the extension node attribute. + + + To be used only when applying [NodeAttribute] at class level. It is not required when it + is applied to a field, since the attribute type will be the type of the field. + + + + + Description of the attribute. + + + To be used in the extension point documentation. + + + + + When set to True, the value of the field or property is expected to be a string id which + will be localized by the add-in engine + + + + + Gets or sets the type of the content. + + + Allows specifying the type of the content of a string attribute. + This value is for documentation purposes only. + + + + + A collection of add-in properties + + + + + Gets the value of a property + + + The property value. + + + Name of the property. + + + If the property is localized, it will return the value for the current language if exists, or the + default value if it doesn't. + + + + + Gets the value of a property + + + The property value. + + + Name of the property. + + + Locale for which the value must be returned. + + + + + Sets the value of a property + + + Name of the property + + + New value. + + + + + Sets the value of a property for a specific locale + + + Name of the property. + + + New value. + + + Locale of the property to be set. + + + + + Removes a property. + + + Name of the property. + + + This method only removes properties which have no locale set. + + + + + Removes a property with a specified locale + + + Name of the property + + + Locale of the property + + + + + Declares an add-in file import + + + An add-in may be composed by several assemblies and data files. + Data files must be declared in the main assembly using this attribute, or in the XML manifest. + + It is important to properly declare all files used by an add-in. + This information is used by setup tools to know exactly what needs to be packaged when creating + an add-in package, or to know what needs to be deleted when removing an add-in. + + + + + Initializes a new instance + + + Path to the file. Must be relative to the assembly declaring this attribute. + + + + + Path to the file. Must be relative to the assembly declaring this attribute. + + + + + A collection of node set identifiers + + + + + Gets the collection enumerator. + + + The enumerator. + + + + + Add the specified node set identifier. + + + Node set identifier. + + + + + Remove a node set identifier + + + Node set identifier. + + + + + Clears the collection + + + + + Checks if the specified identifier is present in the collection + + + true if the node set identifier is present. + + + + + Returns the index of the specified node set identifier + + + The index. + + + A node set identifier. + + + + + Gets the node set identifier at the specified index. + + + An index. + + + + + Gets the item count. + + + The count. + + + + + A module definition. + + + Optional modules can be used to declare extensions which will be registered only if some + specified add-in dependencies can be satisfied. + + + + + Initializes a new instance of the class. + + + + + Checks if this module depends on the specified add-in. + + + true if there is a dependency. + + + Identifier of the add-in + + + + + Adds an extension node to the module. + + + The extension node. + + + Path that identifies the extension point. + + + Node name. + + + This method creates a new Extension object for the provided path if none exist. + + + + + Gets an extension instance. + + + The extension instance. + + + Path that identifies the extension point that the extension extends. + + + This method creates a new Extension object for the provided path if none exist. + + + + + Adds an add-in reference (there is a typo in the method name) + + + Identifier of the add-in. + + + Version of the add-in. + + + + + Gets the list of paths to be ignored by the add-in scanner. + + + + + Gets all external files + + + All files. + + + External files are data files and assemblies explicitly referenced in the Runtime section of the add-in manifest. + + + + + Gets the list of external assemblies used by this module. + + + + + Gets the list of external data files used by this module + + + + + Gets the dependencies of this module + + + + + Gets the extensions of this module + + + + + Addin category attribute. + + + + + Initializes the attribute + + + The category to which the add-in belongs + + + + + The category to which the add-in belongs + + + + + A collection of node types. + + + + + Initializes a new instance of the class. + + + + + Gets the at the specified index. + + + The index. + + + + + Gets the with the specified id. + + + Identifier. + + + + + Description of the attribute of a node type. + + + + + Initializes a new instance of the class. + + + + + Copies data from another node attribute. + + + The attribute from which to copy. + + + + + Gets or sets the name of the attribute. + + + The name. + + + + + Gets or sets a value indicating whether this is required. + + + true if required; otherwise, false. + + + + + Gets or sets a value indicating whether this is localizable. + + + true if localizable; otherwise, false. + + + + + Gets or sets the type of the attribute. + + + The type. + + + + + Gets or sets the description of the attribute. + + + The description. + + + + + Gets or sets the type of the content. + + + Allows specifying the type of the content of a string attribute. + The value of this property is only informative, and it doesn't + have any effect on how add-ins are packaged or loaded. + + + + diff --git a/bin/mautil.exe b/bin/mautil.exe new file mode 100644 index 0000000..34b16c5 Binary files /dev/null and b/bin/mautil.exe differ -- cgit v1.1 From 89c1ac4cff9e89da10d8b0aee4bb39d3da05a479 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 29 Dec 2014 15:05:44 -0800 Subject: Updated OpenSim-as-addin version from 0.5 to 0.8.1. The addin version number doesn't need to match the release version number, but I think it's a very good idea that they do. --- bin/OpenSim.addin.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.addin.xml b/bin/OpenSim.addin.xml index a42ba25..305344a 100644 --- a/bin/OpenSim.addin.xml +++ b/bin/OpenSim.addin.xml @@ -1,4 +1,4 @@ - + -- cgit v1.1 From 041a09ecb9eed43936a88312c11e9440bd3b6337 Mon Sep 17 00:00:00 2001 From: Mic Bowman Date: Mon, 29 Dec 2014 18:46:33 -0800 Subject: Enable runtime configuration of the minimum rate for adaptive throttles. Setting adaptive_throttle_min_bps will change the minimum rate that the adapative throttles will drop to in case of network packet loss. The current rate default rate is 256kbps. The viewer can throttle rates under that amount, but the dynamic adaptation will not. --- bin/OpenSimDefaults.ini | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 3e9514e..212baab 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -544,6 +544,13 @@ ; ;client_throttle_max_bps = 187500 + ; Minimum bytes per second to send to any single client as a result of + ; adaptive throttling. Viewer preferences set to a lower number will + ; override the settin. The example given here ensures that adaptive + ; throttling will never decrease per client bandwidth below 256 kbps. + ; + ;adaptive_throttle_min_bps = 32000 + ; Adaptive throttling attempts to limit network overload when multiple ; clients login by starting each connection more slowly. Disabled by ; default -- cgit v1.1 From 5cf6a6f8302b4f03d45c21f0731978da1d3ddcab Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 30 Dec 2014 07:58:42 -0800 Subject: WARNING: BREAKING CHANGES FOR REGION MODULE DEVELOPMENT. This cleans up Opensim's use of mono addins. In particular, the extension points /OpenSim/RegionModules and /OpenSim/WindModule moved from OpenSim.exe to OpenSim.Region.Framework.dll. From here on, developers of region modules should declare their dlls to be dependent on OpenSim.Region.Framework, starting with version 0.8.1 Additional changes: - Addins version uniformly updated to 0.8.1. These numbers should be compatible with the release numbers or else it becomes very confusing. - Mono addins directives moved from files addins.xml to embedded directives in the class and assembly declarations, to make it all consistent --- bin/OpenSim.addin.xml | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 bin/OpenSim.addin.xml (limited to 'bin') diff --git a/bin/OpenSim.addin.xml b/bin/OpenSim.addin.xml deleted file mode 100644 index 305344a..0000000 --- a/bin/OpenSim.addin.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -- cgit v1.1 From a88bc50a168ae729307740fa84540e9571258b13 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 30 Dec 2014 20:05:12 -0800 Subject: Add support for expansion of key values in nini config files. Add loading of 3rd-party addin inis automatically. --- bin/OpenSim.ini.example | 10 ++++++++++ bin/OpenSimDefaults.ini | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 6d8c2bf..02ca13e 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -95,6 +95,16 @@ ;; Place to create a PID file ; PIDFile = "/tmp/OpenSim.exe.pid" + ;# {RegistryLocation} {} {Addins Registry Location} {} + ; Set path to directory for addin registry if you want addins outside of bin. + ; Information about the registered repositories and installed plugins will + ; be stored here. The OpenSim.exe process must have R/W access to the location. + ; RegistryLocation = "." + + ;# {Include-Addins} {} {Loads all inis of all addins} {} + ; Leave this as is if you want 3rd-party addins to be automatically initialized. + Include-Addins = "${RegistryLocation}/addins/*/*.ini" + ;# {region_info_source} {} {Where to load region from?} {filesystem web} filesystem ;; Determine where OpenSimulator looks for the files which tell it ;; which regions to server diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 3e9514e..73fe59c 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -75,7 +75,7 @@ ; Set path to directory for plugin registry. Information about the ; registered repositories and installed plugins will be stored here. ; The OpenSim.exe process must have R/W access to the location. - ; RegistryLocation = "." + RegistryLocation = "." ; ## ; ## CLIENTS @@ -1877,3 +1877,4 @@ [Modules] Include-modules = "addon-modules/*/config/*.ini" + -- cgit v1.1 From 186d4a6d5b12e092eb033cf227338666c74b3a65 Mon Sep 17 00:00:00 2001 From: dahlia Date: Tue, 30 Dec 2014 23:14:01 -0800 Subject: compile Prebuild.exe with mono 3.2.8 targeting .NET framework 3.5 --- bin/Prebuild.exe | Bin 233472 -> 234496 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Prebuild.exe b/bin/Prebuild.exe index cc64706..05deb1f 100755 Binary files a/bin/Prebuild.exe and b/bin/Prebuild.exe differ -- cgit v1.1 From 36eb45fc8e2a703a685d9ce2bfa97ecab7bb1509 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 2 Jan 2015 09:17:39 -0800 Subject: Switched mautil.exe with another that has a bug fix for this bug report: https://github.com/mono/mono-addins/issues/22 --- bin/mautil.exe | Bin 7680 -> 7680 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/mautil.exe b/bin/mautil.exe index 34b16c5..643433d 100644 Binary files a/bin/mautil.exe and b/bin/mautil.exe differ -- cgit v1.1 From 08509a87cd45201e976b28fd005792bfc6e13f03 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 2 Jan 2015 13:30:04 -0800 Subject: Another minor improvement to mautil related to https://github.com/mono/mono-addins/issues/22. And since these commits show up in that issue report, I thought I'd say 'hi' to the zealous Xamarin developer who seems to be eager to get pull requests. Not yet, my friend, not until I fix all the bugs that stand in my way, now that I'm using mautil :-) --- bin/mautil.exe | Bin 7680 -> 7680 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/mautil.exe b/bin/mautil.exe index 643433d..ba77257 100644 Binary files a/bin/mautil.exe and b/bin/mautil.exe differ -- cgit v1.1 From faea742f323db5434e735991c506cf6b9814a1a7 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 2 Jan 2015 13:32:20 -0800 Subject: Slight change in the way region module addins handle their configuration. Rather than opensim grabbing their config file automatically from the addins folder, it's the module's responsibility to read its own config file. This makes it consistent with Robust-bound addins. --- bin/OpenSim.ini.example | 8 +++++--- bin/OpenSimDefaults.ini | 5 +++++ 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 02ca13e..343f83d 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -101,9 +101,11 @@ ; be stored here. The OpenSim.exe process must have R/W access to the location. ; RegistryLocation = "." - ;# {Include-Addins} {} {Loads all inis of all addins} {} - ; Leave this as is if you want 3rd-party addins to be automatically initialized. - Include-Addins = "${RegistryLocation}/addins/*/*.ini" + ;# {ConfigDirectory} {} {Set path to directory for modular ini files} {} + ; Used by region module addins. You can set this to outside bin, so that addin + ; configurations will survive updates. The OpenSim.exe process must have R/W access + ; to the location. + ; ConfigDirectory = "." ;# {region_info_source} {} {Where to load region from?} {filesystem web} filesystem ;; Determine where OpenSimulator looks for the files which tell it diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index a1e24cf..20b2f0f 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -77,6 +77,11 @@ ; The OpenSim.exe process must have R/W access to the location. RegistryLocation = "." + ; Used by region module addins. You can set this to outside bin, so that addin + ; configurations will survive updates. The OpenSim.exe process must have R/W access + ; to the location. + ConfigDirectory = "." + ; ## ; ## CLIENTS ; ## -- cgit v1.1 From d520611f575d7ec774d7934464acdf3aff976d8c Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 2 Jan 2015 16:06:11 -0800 Subject: Amend to previous commits -- also needed for bug fixes: the mono addins dlls. --- bin/Mono.Addins.Setup.dll | Bin 126464 -> 126464 bytes bin/Mono.Addins.dll | Bin 232448 -> 232448 bytes bin/mautil.exe | Bin 7680 -> 7680 bytes 3 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Mono.Addins.Setup.dll b/bin/Mono.Addins.Setup.dll index eabbeca..b52eb62 100755 Binary files a/bin/Mono.Addins.Setup.dll and b/bin/Mono.Addins.Setup.dll differ diff --git a/bin/Mono.Addins.dll b/bin/Mono.Addins.dll index 3026991..1a8c3be 100755 Binary files a/bin/Mono.Addins.dll and b/bin/Mono.Addins.dll differ diff --git a/bin/mautil.exe b/bin/mautil.exe index ba77257..9086c6d 100644 Binary files a/bin/mautil.exe and b/bin/mautil.exe differ -- cgit v1.1 From e643722d7c30a18fd966aab8296dca51bbef6725 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 2 Jan 2015 16:54:13 -0800 Subject: Changed the dll name that comes in Robust.HG.ini.example for Wifi. --- bin/Robust.HG.ini.example | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 4d4ebde..cc13b16 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -107,7 +107,8 @@ ;; Uncomment this if you want Groups V2, HG to work ; HGGroupsServiceConnector = "${Const|PublicPort}/OpenSim.Addons.Groups.dll:HGGroupsServiceRobustConnector" ;; Additions for other add-on modules. For example: - ;; WifiServerConnector = "${Const|PublicPort}/Diva.Wifi.dll:WifiServerConnector" + ;; WifiServerConnector = "${Const|PublicPort}/Diva.Wifi.Robust.dll:WifiServerConnector" + ;; But check also for the new mono addin installs that don't use this and are much easier to use! ;; Uncomment for UserProfiles see [UserProfilesService] to configure... ; UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector" -- cgit v1.1 From cfa89bbe3113725a29085f9f8ba69916059b263e Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sat, 3 Jan 2015 15:28:15 -0800 Subject: Make bin/mautil.exe executable when checked out. --- bin/mautil.exe | Bin 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 bin/mautil.exe (limited to 'bin') diff --git a/bin/mautil.exe b/bin/mautil.exe old mode 100644 new mode 100755 -- cgit v1.1 From 5179f078f795d6e36acb6fda936b1b2e34294804 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sun, 4 Jan 2015 11:06:28 -0800 Subject: Removing the Wifi config example from Robust.HG.ini.example, because it is not needed anymore. Wifi is now a mono addin to Robust, and it can be deployed in two ways: by installing the Wifi plugin via mautil or by compiling Wifi from source, in which case it will appear in the registry when Robust starts because the Diva Wifi dlls are present in bin. --- bin/Robust.HG.ini.example | 3 --- 1 file changed, 3 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index cc13b16..71ce6ad 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -106,9 +106,6 @@ HGAssetServiceConnector = "HGAssetService@${Const|PublicPort}/OpenSim.Server.Handlers.dll:AssetServiceConnector" ;; Uncomment this if you want Groups V2, HG to work ; HGGroupsServiceConnector = "${Const|PublicPort}/OpenSim.Addons.Groups.dll:HGGroupsServiceRobustConnector" - ;; Additions for other add-on modules. For example: - ;; WifiServerConnector = "${Const|PublicPort}/Diva.Wifi.Robust.dll:WifiServerConnector" - ;; But check also for the new mono addin installs that don't use this and are much easier to use! ;; Uncomment for UserProfiles see [UserProfilesService] to configure... ; UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector" -- cgit v1.1 From d3a74894ab9af13d07876e4ecd4e31355c2bf1ee Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 4 Jan 2015 14:21:43 -0800 Subject: BulletSim: update BulletSim DLLs and SOs to remove chatty debug log messages. --- bin/lib32/BulletSim.dll | Bin 1337856 -> 1337344 bytes bin/lib32/libBulletSim.so | Bin 2310508 -> 2310500 bytes bin/lib64/BulletSim.dll | Bin 1546752 -> 1546240 bytes bin/lib64/libBulletSim.so | Bin 2473989 -> 2473981 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 7d60776..342ccdf 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index 5c9255f..87ecf1d 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index fbfd76d..60b3a22 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index bd6b9a2..5959df0 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From 383a1a6fe1e4859250d690e8ecb0294001fd1430 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Sun, 4 Jan 2015 18:52:37 -0500 Subject: Fix typo in OpenSim.ini.example --- bin/OpenSim.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 343f83d..045fa88 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -49,7 +49,7 @@ ;# {PublicPort} {} {PublicPort} {8002} "8002" PublicPort = "8002" - ;# {PrivatePort} {} {PublicPort} {8003} "8003" + ;# {PrivatePort} {} {PrivatePort} {8003} "8003" PrivatePort = "8003" -- cgit v1.1 From 8e562f04d1576bd51138ac656f796ba18965fdcf Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 6 Jan 2015 21:24:44 -0800 Subject: Donation of robust network connectors for estate service, as promised. This allows to have one central database for estates without having to open the MySql port. This is off by default, so not to disturb everyone's existing installations. To use it, see GridCommon.ini.example [EstateDataStore] section and Robust*.ini.example's new additions. Note that I also made things consistent by removing both the EstateDataService and the SimulationService into their own dlls, just like all other services. They really didn't belong in Services.Connectors, since everything in that component is about network connectors to robust backends. We may have too many dlls, and at some point it might not be a bad idea to merge all services into one single dll, since they all have more or less the same dependencies. --- bin/Robust.HG.ini.example | 4 ++++ bin/Robust.ini.example | 5 +++++ bin/config-include/Grid.ini | 4 ++-- bin/config-include/GridCommon.ini.example | 10 ++++++++++ bin/config-include/GridHypergrid.ini | 4 ++-- bin/config-include/SimianGrid.ini | 4 ++-- bin/config-include/Standalone.ini | 4 ++-- bin/config-include/StandaloneHypergrid.ini | 4 ++-- 8 files changed, 29 insertions(+), 10 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 71ce6ad..46dbc17 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -110,6 +110,8 @@ ;; Uncomment for UserProfiles see [UserProfilesService] to configure... ; UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector" + ;; Uncomment if you want to have centralized estate data + ; EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector" ; * This is common for all services, it's the network setup for the entire ; * server instance, if none is specified above @@ -379,6 +381,8 @@ ; for the server connector LocalServiceModule = "OpenSim.Services.FriendsService.dll:FriendsService" +[EstateService] + LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" [LibraryService] LibraryName = "OpenSim Library" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index a7b39a3..687bb2e 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -89,6 +89,9 @@ ;; Uncomment for UserProfiles see [UserProfilesService] to configure... ; UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector" + ;; Uncomment if you want to have centralized estate data + ; EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector" + ; * This is common for all services, it's the network setup for the entire ; * server instance, if none is specified above ; * @@ -339,6 +342,8 @@ ; for the server connector LocalServiceModule = "OpenSim.Services.FriendsService.dll:FriendsService" +[EstateService] + LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" [LibraryService] LibraryName = "OpenSim Library" diff --git a/bin/config-include/Grid.ini b/bin/config-include/Grid.ini index e9eaee3..42ecec2 100644 --- a/bin/config-include/Grid.ini +++ b/bin/config-include/Grid.ini @@ -46,10 +46,10 @@ ConnectorProtocolVersion = "SIMULATION/0.3" [SimulationDataStore] - LocalServiceModule = "OpenSim.Services.Connectors.dll:SimulationDataService" + LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" [EstateDataStore] - LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataService" + LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" [GridService] LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index 903641e..bffc504 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -108,6 +108,16 @@ ;; Robust server in port ${Const|PublicPort}, but not always) Gatekeeper="${Const|BaseURL}:${Const|PublicPort}" +[EstateDataStore] + ; + ; Uncomment if you want centralized estate data at robust server, + ; in which case the URL in [EstateService] will be used + ; + ;LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataConnector" + +[EstateService] + EstateServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + [Messaging] ; === HG ONLY === ;; Change this to the address of your Gatekeeper service diff --git a/bin/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini index 8dadd76..8b47ede 100644 --- a/bin/config-include/GridHypergrid.ini +++ b/bin/config-include/GridHypergrid.ini @@ -54,10 +54,10 @@ Module = "BasicProfileModule" [SimulationDataStore] - LocalServiceModule = "OpenSim.Services.Connectors.dll:SimulationDataService" + LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" [EstateDataStore] - LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataService" + LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" [AssetService] LocalGridAssetService = "OpenSim.Services.Connectors.dll:AssetServicesConnector" diff --git a/bin/config-include/SimianGrid.ini b/bin/config-include/SimianGrid.ini index 311a55b..8e42fab 100644 --- a/bin/config-include/SimianGrid.ini +++ b/bin/config-include/SimianGrid.ini @@ -42,10 +42,10 @@ AssetCaching = "FlotsamAssetCache" [SimulationDataStore] - LocalServiceModule = "OpenSim.Services.Connectors.dll:SimulationDataService" + LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" [EstateDataStore] - LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataService" + LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" [Friends] Connector = "OpenSim.Services.Connectors.dll:SimianFriendsServiceConnector" diff --git a/bin/config-include/Standalone.ini b/bin/config-include/Standalone.ini index 887f4d8..398a76c 100644 --- a/bin/config-include/Standalone.ini +++ b/bin/config-include/Standalone.ini @@ -43,10 +43,10 @@ ConnectorProtocolVersion = "SIMULATION/0.3" [SimulationDataStore] - LocalServiceModule = "OpenSim.Services.Connectors.dll:SimulationDataService" + LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" [EstateDataStore] - LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataService" + LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" [AssetService] LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService" diff --git a/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini index a3c7fa6..102947a 100644 --- a/bin/config-include/StandaloneHypergrid.ini +++ b/bin/config-include/StandaloneHypergrid.ini @@ -58,10 +58,10 @@ LureModule = HGLureModule [SimulationDataStore] - LocalServiceModule = "OpenSim.Services.Connectors.dll:SimulationDataService" + LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" [EstateDataStore] - LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataService" + LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" [AssetService] LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService" -- cgit v1.1 From 700543b161f653ea41faf3d125a1eb9be389ec23 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Wed, 7 Jan 2015 06:39:29 -0800 Subject: BulletSim: tweek step parameters and logic to make walking up steps closer to SL. This change should address small floor edges acting like walls, approaching a step at any angle (other than walking backwards) will allow walking up, and reducing the avatar pop-up when going up stairs. --- bin/OpenSimDefaults.ini | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 20b2f0f..d12814d 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1070,6 +1070,17 @@ AvatarHeightMidFudge = 0 ; Adjustment at mid point of avatar height range AvatarHeightHighFudge = 0 ; Adjustment at high end of height range + ; Avatar walk-up-stairs parameters + ; If an avatar collides with an object 'close to its feet', the avatar will be + ; moved/pushed up do simulate stepping up. + ;AvatarStepHeight = 0.6f ; The height, below which is considered a step collision. + ;AvatarStepAngle = 0.3f ; The angle from vertical (in radians) to consider a surface a step + ;AvatarStepApproachFactor = 2f ; Approach angle factor. O=straight on, .6=~45 degrees. + ;AvatarStepGroundFudge = 0.1f ; Fudge added to bottom of avatar below which step collisions happen + ;AvatarStepForceFactor = 0f ; Avatar is pushed up by its mass times this factor + ;AvatarStepUpCorrectionFactor = 0.8f ; Avatar is displaced up the collision height times this factor + ;AvatarStepSmoothingSteps = 1 ; Number of frames after a step collision that up correction is applied + ; Terminal velocity of a falling avatar ; This is the same http://en.wikipedia.org/wiki/Terminal_velocity#Examples ; negative for a downward speed. -- cgit v1.1 From 46ab59723d62ecd22ebe8c797e1d510514ef35da Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Wed, 7 Jan 2015 11:04:23 -0800 Subject: Added a different/better way of specifying data services in DataSnapshot -- using DATA_SRV_ keys, one per service. This allows 3rd party modules to add data services automatically. --- bin/OpenSim.ini.example | 3 +++ bin/OpenSimDefaults.ini | 7 +++---- 2 files changed, 6 insertions(+), 4 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 045fa88..8714c6a 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -797,12 +797,15 @@ ;; the data snapshots. ; snapshot_cache_directory = "DataSnapshot" + ;; [Supported, but obsolete] ;# {data_services} {index_sims:true} {Data service URLs to register with?} {} http://metaverseink.com/cgi-bin/register.py ; This semicolon-separated string serves to notify specific data services ; about the existence of this sim. Uncomment if you want to index your ; data with this and/or other search providers. ; data_services="http://metaverseink.com/cgi-bin/register.py" + ;; New way of specifying data services, one per service + ;DATA_SRV_MISearch = "http://metaverseink.com/cgi-bin/register.py" [Economy] ;# {SellEnabled} {} {Enable selling for 0?} {true false} true diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 20b2f0f..654b323 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1389,10 +1389,9 @@ ; This will be created in bin, if it doesn't exist already. It will hold the data snapshots. snapshot_cache_directory = "DataSnapshot" - ; This semicolon-separated string serves to notify specific data services about the existence - ; of this sim. Uncomment if you want to index your data with this and/or other search providers. - ;data_services="http://metaverseink.com/cgi-bin/register.py" - + ; Uncomment if you want to index your data with this and/or other search providers. One entry per + ; data service + ;DATA_SRV_MISearch = "http://metaverseink.com/cgi-bin/register.py" [Economy] ; These economy values get used in the BetaGridLikeMoneyModule. - This module is for demonstration only - -- cgit v1.1 From 16ff808595309729837d8cbc98b867b557235b4f Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Wed, 7 Jan 2015 19:18:18 -0800 Subject: Fix name of EstateDataRemoteConnector in the comment. --- bin/config-include/GridCommon.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index bffc504..8dc3a73 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -113,7 +113,7 @@ ; Uncomment if you want centralized estate data at robust server, ; in which case the URL in [EstateService] will be used ; - ;LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataConnector" + ;LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataRemoteConnector" [EstateService] EstateServerURI = "${Const|BaseURL}:${Const|PrivatePort}" -- cgit v1.1 From e2dd15625f158c7f7d8f5ceec14f09e85dd8e2b6 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 9 Jan 2015 08:31:56 -0800 Subject: Added GetDisplayNames capability. For now, we don't actually use display names, and this cap returns the regular name. But this moves the server side into the newer, preferred, protocol used by the viewer for fetching the names of agents in the scene given their UUIDs. (the old protocol is via UDP). This works fine in my limited tests, but could use further testing by others. --- bin/OpenSim.ini.example | 1 + bin/OpenSimDefaults.ini | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 8714c6a..5e7326c 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -567,6 +567,7 @@ Cap_GetTexture = "localhost" Cap_GetMesh = "localhost" Cap_AvatarPickerSearch = "localhost" + Cap_GetDisplayNames = "localhost" ; This is disabled by default. Change if you see fit. Note that ; serving this cap from the simulators may lead to poor performace. diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index ad33423..69a2a4a 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -645,7 +645,7 @@ Cap_ObjectMediaNavigate = "localhost" Cap_FetchLib = "" Cap_FetchLibDescendents = "" - Cap_GetDisplayNames = "" + Cap_GetDisplayNames = "localhost" Cap_GetTexture = "localhost" Cap_GetMesh = "localhost" Cap_GetObjectCost = "" -- cgit v1.1 From 72814245be697e93fb2a3ee2fda9e9bb16829246 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Wed, 14 Jan 2015 06:33:15 -0800 Subject: Also deleted the option of setting Cap_WebFetchInventoryDescendents from OpenSim.ini.example --- bin/OpenSim.ini.example | 4 ---- 1 file changed, 4 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 5e7326c..c9a5f65 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -569,10 +569,6 @@ Cap_AvatarPickerSearch = "localhost" Cap_GetDisplayNames = "localhost" - ; This is disabled by default. Change if you see fit. Note that - ; serving this cap from the simulators may lead to poor performace. - Cap_WebFetchInventoryDescendents = "" - [SimulatorFeatures] -- cgit v1.1 From d9bfc710c09d9a897657dd9c0286a064e7413cc6 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 21 Jan 2015 00:54:13 +0000 Subject: Replace the tabs that have crept into isolated places in config and config example files with spaces --- bin/OpenSim.ini.example | 30 ++++---- bin/OpenSimDefaults.ini | 16 ++--- bin/Robust.HG.ini.example | 94 ++++++++++++------------- bin/Robust.ini.example | 47 +++++++------ bin/config-include/Grid.ini | 40 +++++------ bin/config-include/GridCommon.ini.example | 24 +++---- bin/config-include/GridHypergrid.ini | 46 ++++++------ bin/config-include/HyperSimianGrid.ini | 2 +- bin/config-include/SimianGrid.ini | 4 +- bin/config-include/Standalone.ini | 6 +- bin/config-include/StandaloneCommon.ini.example | 32 ++++----- bin/config-include/StandaloneHypergrid.ini | 91 ++++++++++++------------ 12 files changed, 216 insertions(+), 216 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index c9a5f65..d352c33 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -101,10 +101,10 @@ ; be stored here. The OpenSim.exe process must have R/W access to the location. ; RegistryLocation = "." - ;# {ConfigDirectory} {} {Set path to directory for modular ini files} {} + ;# {ConfigDirectory} {} {Set path to directory for modular ini files} {} ; Used by region module addins. You can set this to outside bin, so that addin - ; configurations will survive updates. The OpenSim.exe process must have R/W access - ; to the location. + ; configurations will survive updates. The OpenSim.exe process must have R/W access + ; to the location. ; ConfigDirectory = "." ;# {region_info_source} {} {Where to load region from?} {filesystem web} filesystem @@ -164,7 +164,7 @@ ;; physical prim max, clamp the dimensions to the appropriate maximum ;; This can be overridden in the region config file. ; ClampPrimSize = false - + ;# {LinksetPrims} {} {Max prims an object will hold?} {} 0 ;; Maximum number of prims allowable in a linkset. Affects creating new ;; linksets. Ignored if less than or equal to zero. @@ -406,9 +406,9 @@ [Estates] ; If these values are commented out then the user will be asked for estate details when required (this is the normal case). - ; If these values are uncommented then they will be used to create a default estate as necessary. + ; If these values are uncommented then they will be used to create a default estate as necessary. ; New regions will be automatically assigned to that default estate. - + ;# {DefaultEstateName} {} {Default name for estate?} {} My Estate ;; Name for the default estate ; DefaultEstateName = My Estate @@ -418,7 +418,7 @@ ; DefaultEstateOwnerName = FirstName LastName - ; ** Standalone Estate Settings ** + ; ** Standalone Estate Settings ** ; The following parameters will only be used on a standalone system to ; create an estate owner that does not already exist @@ -506,15 +506,15 @@ ;; web server ; user_agent = "OpenSim LSL (Mozilla Compatible)" - ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services. - ;; Use this if your central services in port 8003 need to be accessible on the Internet - ;; but you want to protect them from unauthorized access. The username and password - ;; here need to match the ones in the Robust service configuration. + ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services. + ;; Use this if your central services in port 8003 need to be accessible on the Internet + ;; but you want to protect them from unauthorized access. The username and password + ;; here need to match the ones in the Robust service configuration. ; AuthType = "BasicHttpAuthentication" ; HttpAuthUsername = "some_username" ; HttpAuthPassword = "some_password" - ;; - ;; Any of these 3 variables above can be overriden in any of the service sections. + ;; + ;; Any of these 3 variables above can be overriden in any of the service sections. [XMLRPC] @@ -794,14 +794,14 @@ ;; the data snapshots. ; snapshot_cache_directory = "DataSnapshot" - ;; [Supported, but obsolete] + ;; [Supported, but obsolete] ;# {data_services} {index_sims:true} {Data service URLs to register with?} {} http://metaverseink.com/cgi-bin/register.py ; This semicolon-separated string serves to notify specific data services ; about the existence of this sim. Uncomment if you want to index your ; data with this and/or other search providers. ; data_services="http://metaverseink.com/cgi-bin/register.py" - ;; New way of specifying data services, one per service + ;; New way of specifying data services, one per service ;DATA_SRV_MISearch = "http://metaverseink.com/cgi-bin/register.py" [Economy] diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 69a2a4a..4faf7f3 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -78,8 +78,8 @@ RegistryLocation = "." ; Used by region module addins. You can set this to outside bin, so that addin - ; configurations will survive updates. The OpenSim.exe process must have R/W access - ; to the location. + ; configurations will survive updates. The OpenSim.exe process must have R/W access + ; to the location. ConfigDirectory = "." ; ## @@ -127,7 +127,7 @@ ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum ; This can be overridden in the region config file. ClampPrimSize = false - + ; Maximum number of prims allowable in a linkset. Affects creating new linksets. Ignored if less than or equal to zero. ; This can be overridden in the region config file. LinksetPrims = 0 @@ -1092,8 +1092,8 @@ ; shape. 'Compound' uses a lot less CPU time. LinkImplementation = 1 ; 0=constraint, 1=compound - ; If 'true', offset a linkset's origin based on mass of linkset parts. - LinksetOffsetCenterOfMass = false + ; If 'true', offset a linkset's origin based on mass of linkset parts. + LinksetOffsetCenterOfMass = false ; If 'true', turn scuplties into meshes MeshSculptedPrim = true @@ -1401,7 +1401,7 @@ snapshot_cache_directory = "DataSnapshot" ; Uncomment if you want to index your data with this and/or other search providers. One entry per - ; data service + ; data service ;DATA_SRV_MISearch = "http://metaverseink.com/cgi-bin/register.py" [Economy] @@ -1739,7 +1739,7 @@ ; Experimental option to only message cached online users rather than all users ; Should make large group with few online members messaging faster, as the expense of more calls to ROBUST presence service - ; (Flotsam groups only; in V2 this is always on) + ; (Flotsam groups only; in V2 this is always on) MessageOnlineUsersOnly = false ; Service connectors to the Groups Service. Select one depending on whether you're using a Flotsam XmlRpc backend or a SimianGrid backend @@ -1874,7 +1874,7 @@ [GridService] ;; default standalone, overridable in StandaloneCommon.ini StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" - + [AutoBackupModule] ;; default is module is disabled at the top level diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 46dbc17..5fa4026 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -110,8 +110,8 @@ ;; Uncomment for UserProfiles see [UserProfilesService] to configure... ; UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector" - ;; Uncomment if you want to have centralized estate data - ; EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector" + ;; Uncomment if you want to have centralized estate data + ; EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector" ; * This is common for all services, it's the network setup for the entire ; * server instance, if none is specified above @@ -163,18 +163,18 @@ [Hypergrid] ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} - ;; This is the address of the external robust server that - ;; runs the UserAgentsService, possibly this server. - ;; For example http://myworld.com:8002 - ;; This is a default that can be overwritten in some sections. - ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + ;; This is the address of the external robust server that + ;; runs the UserAgentsService, possibly this server. + ;; For example http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} - ;; This is the address of the external robust server - ;; that runs the Gatekeeper service, possibly this server. - ;; For example http://myworld.com:8002 - ;; This is a default that can be overwritten in some sections. - ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" + ;; This is the address of the external robust server + ;; that runs the Gatekeeper service, possibly this server. + ;; For example http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" [DatabaseService] @@ -328,7 +328,7 @@ ; for the server connector AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" UserAccountServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService" - + ; * This is the new style user service. ; * "Realm" is the table that is used for user lookup. @@ -527,7 +527,7 @@ ; password help: optional: page providing password assistance for users of your grid ;password = ${Const|BaseURL}/password - + ; HG address of the gatekeeper, if you have one ; this is the entry point for all the regions of the world ; gatekeeper = ${Const|BaseURL}:${Const|PublicPort}/ @@ -548,7 +548,7 @@ AuthenticationService = "OpenSim.Services.Connectors.dll:AuthenticationServicesConnector" SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector" ; how does the outside world reach me? This acts as public key too. - ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented + ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented ; ExternalName = "${Const|BaseURL}:${Const|PublicPort}" ; Does this grid allow incoming links to any region in it? @@ -558,20 +558,20 @@ ; If you run this gatekeeper server behind a proxy, set this to true ; HasProxy = false - ;; Regular expressions for controlling which client versions are accepted/denied. - ;; An empty string means nothing is checked. - ;; - ;; Example 1: allow only these 3 types of clients (any version of them) - ;; AllowedClients = "Imprudence|Hippo|Second Life" - ;; - ;; Example 2: allow all clients except these - ;; DeniedClients = "Twisted|Crawler|Cryolife|FuckLife|StreetLife|GreenLife|AntiLife|KORE-Phaze|Synlyfe|Purple Second Life|SecondLi |Emerald" - ;; - ;; Note that these are regular expressions, so every character counts. - ;; Also note that this is very weak security and should not be trusted as a reliable means - ;; for keeping bad clients out; modified clients can fake their identifiers. - ;; - ;; + ;; Regular expressions for controlling which client versions are accepted/denied. + ;; An empty string means nothing is checked. + ;; + ;; Example 1: allow only these 3 types of clients (any version of them) + ;; AllowedClients = "Imprudence|Hippo|Second Life" + ;; + ;; Example 2: allow all clients except these + ;; DeniedClients = "Twisted|Crawler|Cryolife|FuckLife|StreetLife|GreenLife|AntiLife|KORE-Phaze|Synlyfe|Purple Second Life|SecondLi |Emerald" + ;; + ;; Note that these are regular expressions, so every character counts. + ;; Also note that this is very weak security and should not be trusted as a reliable means + ;; for keeping bad clients out; modified clients can fake their identifiers. + ;; + ;; ;AllowedClients = "" ;DeniedClients = "" @@ -590,12 +590,12 @@ [UserAgentService] LocalServiceModule = "OpenSim.Services.HypergridService.dll:UserAgentService" ;; for the service - GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" - GridService = "OpenSim.Services.GridService.dll:GridService" - GatekeeperService = "OpenSim.Services.HypergridService.dll:GatekeeperService" - PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" - FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" - UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" + GridService = "OpenSim.Services.GridService.dll:GridService" + GatekeeperService = "OpenSim.Services.HypergridService.dll:GatekeeperService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" ; If you run this user agent server behind a proxy, set this to true ; HasProxy = false @@ -611,7 +611,7 @@ ;; Are local users allowed to visit other grids? ;; What user level? Use variables of this forrm: ;; ForeignTripsAllowed_Level_ = true | false - ;; (the default is true) + ;; (the default is true) ;; For example: ; ForeignTripsAllowed_Level_0 = false ; ForeignTripsAllowed_Level_200 = true ; true is default, no need to say it @@ -619,16 +619,16 @@ ;; If ForeignTripsAllowed is false, make exceptions using DisallowExcept ;; Leave blank or commented for no exceptions. ; DisallowExcept_Level_0 = "http://myothergrid.com:8002, http://boss.com:8002" - ;; + ;; ;; If ForeignTripsAllowed is true, make exceptions using AllowExcept. ;; Leave blank or commented for no exceptions. ; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002" - ;; This variable controls what is exposed to profiles of local users - ;; as seen from outside of this grid. Leave it uncommented for exposing - ;; UserTitle, UserFlags and the creation date. Uncomment and change to False - ;; to block this info from being exposed. - ; ShowUserDetailsInHGProfile = True + ;; This variable controls what is exposed to profiles of local users + ;; as seen from outside of this grid. Leave it uncommented for exposing + ;; UserTitle, UserFlags and the creation date. Uncomment and change to False + ;; to block this info from being exposed. + ; ShowUserDetailsInHGProfile = True ; * The interface that local users get when they are in other grids. @@ -687,10 +687,10 @@ [HGInstantMessageService] - LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" - GridService = "OpenSim.Services.GridService.dll:GridService" - PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" - UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" + LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" + GridService = "OpenSim.Services.GridService.dll:GridService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" ; This should always be true in the Robust config InGatekeeper = True @@ -718,7 +718,7 @@ ;; Realm = UserProfiles UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" - + [BakedTextureService] LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 687bb2e..a0b8f50 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -89,8 +89,8 @@ ;; Uncomment for UserProfiles see [UserProfilesService] to configure... ; UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector" - ;; Uncomment if you want to have centralized estate data - ; EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector" + ;; Uncomment if you want to have centralized estate data + ; EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector" ; * This is common for all services, it's the network setup for the entire ; * server instance, if none is specified above @@ -394,20 +394,20 @@ ; If you run this login server behind a proxy, set this to true ; HasProxy = false - ;; Regular expressions for controlling which client versions are accepted/denied. - ;; An empty string means nothing is checked. - ;; - ;; Example 1: allow only these 3 types of clients (any version of them) - ;; AllowedClients = "Imprudence|Hippo|Second Life" - ;; - ;; Example 2: allow all clients except these - ;; DeniedClients = "Twisted|Crawler|Cryolife|FuckLife|StreetLife|GreenLife|AntiLife|KORE-Phaze|Synlyfe|Purple Second Life|SecondLi |Emerald" - ;; - ;; Note that these are regular expressions, so every character counts. - ;; Also note that this is very weak security and should not be trusted as a reliable means - ;; for keeping bad clients out; modified clients can fake their identifiers. - ;; - ;; + ;; Regular expressions for controlling which client versions are accepted/denied. + ;; An empty string means nothing is checked. + ;; + ;; Example 1: allow only these 3 types of clients (any version of them) + ;; AllowedClients = "Imprudence|Hippo|Second Life" + ;; + ;; Example 2: allow all clients except these + ;; DeniedClients = "Twisted|Crawler|Cryolife|FuckLife|StreetLife|GreenLife|AntiLife|KORE-Phaze|Synlyfe|Purple Second Life|SecondLi |Emerald" + ;; + ;; Note that these are regular expressions, so every character counts. + ;; Also note that this is very weak security and should not be trusted as a reliable means + ;; for keeping bad clients out; modified clients can fake their identifiers. + ;; + ;; ;AllowedClients = "" ;DeniedClients = "" @@ -453,13 +453,14 @@ [MapImageService] LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" - ; Set this if you want to change the default - ; TilesStoragePath = "maptiles" - ; - ; If for some reason you have the AddMapTile service outside the firewall (e.g. ${Const|PublicPort}), - ; you may want to set this. Otherwise, don't set it, because it's already protected. - ; GridService = "OpenSim.Services.GridService.dll:GridService" - ; + + ; Set this if you want to change the default + ; TilesStoragePath = "maptiles" + ; + ; If for some reason you have the AddMapTile service outside the firewall (e.g. ${Const|PublicPort}), + ; you may want to set this. Otherwise, don't set it, because it's already protected. + ; GridService = "OpenSim.Services.GridService.dll:GridService" + ; ; Additionally, if you run this server behind a proxy, set this to true ; HasProxy = false diff --git a/bin/config-include/Grid.ini b/bin/config-include/Grid.ini index 42ecec2..4b01d82 100644 --- a/bin/config-include/Grid.ini +++ b/bin/config-include/Grid.ini @@ -8,27 +8,27 @@ Include-Common = "config-include/GridCommon.ini" [Modules] - AssetServices = "RemoteAssetServicesConnector" - InventoryServices = "RemoteXInventoryServicesConnector" - GridServices = "RemoteGridServicesConnector" - AvatarServices = "RemoteAvatarServicesConnector" - NeighbourServices = "RemoteNeighbourServicesConnector" - AuthenticationServices = "RemoteAuthenticationServicesConnector" - AuthorizationServices = "LocalAuthorizationServicesConnector" - PresenceServices = "RemotePresenceServicesConnector" - UserAccountServices = "RemoteUserAccountServicesConnector" - GridUserServices = "RemoteGridUserServicesConnector" - SimulationServices = "RemoteSimulationConnectorModule" - EntityTransferModule = "BasicEntityTransferModule" - InventoryAccessModule = "BasicInventoryAccessModule" + AssetServices = "RemoteAssetServicesConnector" + InventoryServices = "RemoteXInventoryServicesConnector" + GridServices = "RemoteGridServicesConnector" + AvatarServices = "RemoteAvatarServicesConnector" + NeighbourServices = "RemoteNeighbourServicesConnector" + AuthenticationServices = "RemoteAuthenticationServicesConnector" + AuthorizationServices = "LocalAuthorizationServicesConnector" + PresenceServices = "RemotePresenceServicesConnector" + UserAccountServices = "RemoteUserAccountServicesConnector" + GridUserServices = "RemoteGridUserServicesConnector" + SimulationServices = "RemoteSimulationConnectorModule" + EntityTransferModule = "BasicEntityTransferModule" + InventoryAccessModule = "BasicInventoryAccessModule" LandServices = "RemoteLandServicesConnector" - MapImageService = "MapImageServiceModule" - SearchModule = "BasicSearchModule" + MapImageService = "MapImageServiceModule" + SearchModule = "BasicSearchModule" - LandServiceInConnector = true - NeighbourServiceInConnector = true - SimulationServiceInConnector = true - LibraryModule = true + LandServiceInConnector = true + NeighbourServiceInConnector = true + SimulationServiceInConnector = true + LibraryModule = true [SimulationService] ; This is the protocol version which the simulator advertises to the source destination when acting as a target destination for a teleport @@ -70,4 +70,4 @@ Connector = "OpenSim.Services.Connectors.dll:FriendsServicesConnector" [MapImageService] - LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector" + LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector" diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index 8dc3a73..4486f31 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -109,14 +109,14 @@ Gatekeeper="${Const|BaseURL}:${Const|PublicPort}" [EstateDataStore] - ; - ; Uncomment if you want centralized estate data at robust server, - ; in which case the URL in [EstateService] will be used - ; - ;LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataRemoteConnector" + ; + ; Uncomment if you want centralized estate data at robust server, + ; in which case the URL in [EstateService] will be used + ; + ;LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataRemoteConnector" [EstateService] - EstateServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + EstateServerURI = "${Const|BaseURL}:${Const|PrivatePort}" [Messaging] ; === HG ONLY === @@ -171,17 +171,17 @@ Gatekeeper = "${Const|BaseURL}:${Const|PublicPort}" ;; If you want to protect your assets from being copied by foreign visitors ;; set this to false. You may want to do this on sims that have licensed content. - ;; Default is true. + ;; Default is true. ; OutboundPermission = True ;; Send visual reminder to local users that their inventories are unavailable while they are traveling ;; and available when they return. True by default. ;RestrictInventoryAccessAbroad = True - ;; Warning: advanced and unusual. Default is false. - ;; Enables configurations where grids share user services, including inventory, - ;; while separating regions' assets from users' assets. Asset transfer between - ;; the users' asset server and the regions' asset server is done in HG-like manner. + ;; Warning: advanced and unusual. Default is false. + ;; Enables configurations where grids share user services, including inventory, + ;; while separating regions' assets from users' assets. Asset transfer between + ;; the users' asset server and the regions' asset server is done in HG-like manner. ; CheckSeparateAssets = false ; RegionHGAssetServerURI = ${Const|BaseURL}:${Const|PublicPort} @@ -218,7 +218,7 @@ UserAgentServerURI = "${Const|BaseURL}:${Const|PublicPort}" [MapImageService] - MapImageServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + MapImageServerURI = "${Const|BaseURL}:${Const|PrivatePort}" [AuthorizationService] ; If you have regions with access restrictions diff --git a/bin/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini index 8b47ede..21a5a22 100644 --- a/bin/config-include/GridHypergrid.ini +++ b/bin/config-include/GridHypergrid.ini @@ -8,32 +8,32 @@ Include-Common = "config-include/GridCommon.ini" [Startup] - WorldMapModule = "HGWorldMap" + WorldMapModule = "HGWorldMap" [Modules] - AssetServices = "HGAssetBroker" - InventoryServices = "HGInventoryBroker" - GridServices = "RemoteGridServicesConnector" - AvatarServices = "RemoteAvatarServicesConnector" - NeighbourServices = "RemoteNeighbourServicesConnector" - AuthenticationServices = "RemoteAuthenticationServicesConnector" - AuthorizationServices = "LocalAuthorizationServicesConnector" - PresenceServices = "RemotePresenceServicesConnector" - UserAccountServices = "RemoteUserAccountServicesConnector" - GridUserServices = "RemoteGridUserServicesConnector" - SimulationServices = "RemoteSimulationConnectorModule" - EntityTransferModule = "HGEntityTransferModule" - InventoryAccessModule = "HGInventoryAccessModule" + AssetServices = "HGAssetBroker" + InventoryServices = "HGInventoryBroker" + GridServices = "RemoteGridServicesConnector" + AvatarServices = "RemoteAvatarServicesConnector" + NeighbourServices = "RemoteNeighbourServicesConnector" + AuthenticationServices = "RemoteAuthenticationServicesConnector" + AuthorizationServices = "LocalAuthorizationServicesConnector" + PresenceServices = "RemotePresenceServicesConnector" + UserAccountServices = "RemoteUserAccountServicesConnector" + GridUserServices = "RemoteGridUserServicesConnector" + SimulationServices = "RemoteSimulationConnectorModule" + EntityTransferModule = "HGEntityTransferModule" + InventoryAccessModule = "HGInventoryAccessModule" LandServices = "RemoteLandServicesConnector" - FriendsModule = "HGFriendsModule" - MapImageService = "MapImageServiceModule" - UserManagementModule = "HGUserManagementModule" - SearchModule = "BasicSearchModule" + FriendsModule = "HGFriendsModule" + MapImageService = "MapImageServiceModule" + UserManagementModule = "HGUserManagementModule" + SearchModule = "BasicSearchModule" - LandServiceInConnector = true - NeighbourServiceInConnector = true - SimulationServiceInConnector = true - LibraryModule = true + LandServiceInConnector = true + NeighbourServiceInConnector = true + SimulationServiceInConnector = true + LibraryModule = true [SimulationService] ; This is the protocol version which the simulator advertises to the source destination when acting as a target destination for a teleport @@ -96,7 +96,7 @@ [HGInstantMessageService] LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" GridService = "OpenSim.Services.Connectors.dll:GridServicesConnector" - PresenceService = "OpenSim.Services.Connectors.dll:PresenceServicesConnector" + PresenceService = "OpenSim.Services.Connectors.dll:PresenceServicesConnector" UserAgentService = "OpenSim.Services.Connectors.dll:UserAgentServiceConnector" [MapImageService] diff --git a/bin/config-include/HyperSimianGrid.ini b/bin/config-include/HyperSimianGrid.ini index f561dd5..efad577 100644 --- a/bin/config-include/HyperSimianGrid.ini +++ b/bin/config-include/HyperSimianGrid.ini @@ -55,7 +55,7 @@ StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" NetworkConnector = "OpenSim.Services.Connectors.dll:SimianGridServiceConnector" - HypergridLinker = true + HypergridLinker = true AllowHypergridMapSearch = true [LibraryService] diff --git a/bin/config-include/SimianGrid.ini b/bin/config-include/SimianGrid.ini index 8e42fab..5749656 100644 --- a/bin/config-include/SimianGrid.ini +++ b/bin/config-include/SimianGrid.ini @@ -53,7 +53,7 @@ [GridService] LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" - NetworkConnector = "OpenSim.Services.Connectors.dll:SimianGridServiceConnector" + NetworkConnector = "OpenSim.Services.Connectors.dll:SimianGridServiceConnector" [LibraryService] LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" @@ -63,7 +63,7 @@ [AssetService] DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" AssetLoaderArgs = "assets/AssetSets.xml" - + [Groups] Enabled = true Module = GroupsModule diff --git a/bin/config-include/Standalone.ini b/bin/config-include/Standalone.ini index 398a76c..6b91d9a 100644 --- a/bin/config-include/Standalone.ini +++ b/bin/config-include/Standalone.ini @@ -9,7 +9,7 @@ InventoryServices = "LocalInventoryServicesConnector" NeighbourServices = "LocalNeighbourServicesConnector" AuthenticationServices = "LocalAuthenticationServicesConnector" - AuthorizationServices = "LocalAuthorizationServicesConnector" + AuthorizationServices = "LocalAuthorizationServicesConnector" GridServices = "LocalGridServicesConnector" PresenceServices = "LocalPresenceServicesConnector" UserProfilesServices = "LocalUserProfilesServicesConnector" @@ -19,8 +19,8 @@ AvatarServices = "LocalAvatarServicesConnector" EntityTransferModule = "BasicEntityTransferModule" InventoryAccessModule = "BasicInventoryAccessModule" - MapImageService = "MapImageServiceModule" - SearchModule = "BasicSearchModule" + MapImageService = "MapImageServiceModule" + SearchModule = "BasicSearchModule" LibraryModule = true LLLoginServiceInConnector = true diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index edccf23..a11a931 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -271,24 +271,24 @@ ; uas = ${Const|BaseURL}:${Const|PublicPort}/ [MapImageService] - ; Set this if you want to change the default - ; TilesStoragePath = "maptiles" + ; Set this if you want to change the default + ; TilesStoragePath = "maptiles" [AuthorizationService] - ; If you have regions with access restrictions - ; specify them here using the convention - ; Region_ = - ; Valid flags are: - ; DisallowForeigners -- HG visitors not allowed - ; DisallowResidents -- only Admins and Managers allowed - ; Example: - ; Region_Test_1 = "DisallowForeigners" + ; If you have regions with access restrictions + ; specify them here using the convention + ; Region_ = + ; Valid flags are: + ; DisallowForeigners -- HG visitors not allowed + ; DisallowResidents -- only Admins and Managers allowed + ; Example: + ; Region_Test_1 = "DisallowForeigners" ;; ;; HG configurations ;; [GatekeeperService] - ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented + ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented ; ExternalName = "${Const|BaseURL}:${Const|PublicPort}" ; Does this grid allow incoming links to any region in it? @@ -344,11 +344,11 @@ ;; Leave blank or commented for no exceptions. ; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002" - ;; This variable controls what is exposed to profiles of local users - ;; as seen from outside of this grid. Leave it uncommented for exposing - ;; UserTitle, UserFlags and the creation date. Uncomment and change to False - ;; to block this info from being exposed. - ; ShowUserDetailsInHGProfile = True + ;; This variable controls what is exposed to profiles of local users + ;; as seen from outside of this grid. Leave it uncommented for exposing + ;; UserTitle, UserFlags and the creation date. Uncomment and change to False + ;; to block this info from being exposed. + ; ShowUserDetailsInHGProfile = True [HGInventoryService] diff --git a/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini index 102947a..1be67db 100644 --- a/bin/config-include/StandaloneHypergrid.ini +++ b/bin/config-include/StandaloneHypergrid.ini @@ -8,35 +8,35 @@ WorldMapModule = "HGWorldMap" [Modules] - AssetServices = "HGAssetBroker" - InventoryServices = "HGInventoryBroker" - NeighbourServices = "LocalNeighbourServicesConnector" - AuthenticationServices = "LocalAuthenticationServicesConnector" - AuthorizationServices = "LocalAuthorizationServicesConnector" - GridServices = "LocalGridServicesConnector" - PresenceServices = "LocalPresenceServicesConnector" - UserAccountServices = "LocalUserAccountServicesConnector" + AssetServices = "HGAssetBroker" + InventoryServices = "HGInventoryBroker" + NeighbourServices = "LocalNeighbourServicesConnector" + AuthenticationServices = "LocalAuthenticationServicesConnector" + AuthorizationServices = "LocalAuthorizationServicesConnector" + GridServices = "LocalGridServicesConnector" + PresenceServices = "LocalPresenceServicesConnector" + UserAccountServices = "LocalUserAccountServicesConnector" GridUserServices = "LocalGridUserServicesConnector" - SimulationServices = "RemoteSimulationConnectorModule" - AvatarServices = "LocalAvatarServicesConnector" + SimulationServices = "RemoteSimulationConnectorModule" + AvatarServices = "LocalAvatarServicesConnector" UserProfilesServices = "LocalUserProfilesServicesConnector" - MapImageService = "MapImageServiceModule" - EntityTransferModule = "HGEntityTransferModule" - InventoryAccessModule = "HGInventoryAccessModule" - FriendsModule = "HGFriendsModule" - UserManagementModule = "HGUserManagementModule" - SearchModule = "BasicSearchModule" + MapImageService = "MapImageServiceModule" + EntityTransferModule = "HGEntityTransferModule" + InventoryAccessModule = "HGInventoryAccessModule" + FriendsModule = "HGFriendsModule" + UserManagementModule = "HGUserManagementModule" + SearchModule = "BasicSearchModule" - InventoryServiceInConnector = true - AssetServiceInConnector = true - HypergridServiceInConnector = true - NeighbourServiceInConnector = true - LibraryModule = true - LLLoginServiceInConnector = true - GridInfoServiceInConnector = true - AuthenticationServiceInConnector = true - SimulationServiceInConnector = true - MapImageServiceInConnector = true + InventoryServiceInConnector = true + AssetServiceInConnector = true + HypergridServiceInConnector = true + NeighbourServiceInConnector = true + LibraryModule = true + LLLoginServiceInConnector = true + GridInfoServiceInConnector = true + AuthenticationServiceInConnector = true + SimulationServiceInConnector = true + MapImageServiceInConnector = true [SimulationService] ; This is the protocol version which the simulator advertises to the source destination when acting as a target destination for a teleport @@ -90,13 +90,13 @@ LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" Realm = "regions" StorageProvider = "OpenSim.Data.Null.dll" - + ; Needed to display non-default map tile images for remote regions AssetService = "OpenSim.Services.AssetService.dll:AssetService" HypergridLinker = true AllowHypergridMapSearch = true - + [PresenceService] LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService" StorageProvider = "OpenSim.Data.Null.dll" @@ -124,21 +124,21 @@ Connector = "OpenSim.Services.FriendsService.dll" [LoginService] - LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService" - UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" - GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" - UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" - AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" - InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" - PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" - GridService = "OpenSim.Services.GridService.dll:GridService" - AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" - FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" + LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService" + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" + UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" + AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + GridService = "OpenSim.Services.GridService.dll:GridService" + AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" + FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" ; This inventory service will be used to initialize the user's inventory HGInventoryServicePlugin = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" HGInventoryServiceConstructorArg = "HGInventoryService" - + [MapImageService] LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" @@ -158,15 +158,14 @@ ;; for the service GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" GridService = "OpenSim.Services.GridService.dll:GridService" - GatekeeperService = "OpenSim.Services.HypergridService.dll:GatekeeperService" - PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" - FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" - UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + GatekeeperService = "OpenSim.Services.HypergridService.dll:GatekeeperService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 to show a default "Ruth" avatar rather than a cloud. CreateDefaultAvatarEntries = true - ;; The interface that local users get when they are in other grids ;; This greatly restricts the inventory operations while in other grids [HGInventoryService] @@ -198,8 +197,8 @@ [HGInstantMessageService] LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" GridService = "OpenSim.Services.GridService.dll:GridService" - PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" - UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" InGatekeeper = True ;; This should always be the very last thing on this file -- cgit v1.1 From e26ba505f69ad82db90fa192d09483a6b3574a08 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 25 Jan 2015 13:24:50 -0800 Subject: BulletSim: update DLLs, SOs, and dylib with latest versions. The dylib update is a new version that doesn't leak memory. --- bin/lib32/BulletSim.dll | Bin 1337344 -> 1337856 bytes bin/lib32/libBulletSim.dylib | Bin 1510988 -> 1435436 bytes bin/lib32/libBulletSim.so | Bin 2310500 -> 2311537 bytes bin/lib64/BulletSim.dll | Bin 1546240 -> 1546752 bytes bin/lib64/libBulletSim.so | Bin 2473981 -> 2474914 bytes 5 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 342ccdf..ddc2f48 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.dylib b/bin/lib32/libBulletSim.dylib index 6efec3a..3c2de2d 100755 Binary files a/bin/lib32/libBulletSim.dylib and b/bin/lib32/libBulletSim.dylib differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index 87ecf1d..8637528 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 60b3a22..60fa59e 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index 5959df0..e3df064 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From f62008f728047e9cfe2ba2edaef18e186c36260e Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Fri, 13 Feb 2015 20:59:13 -0800 Subject: BulletSim: bring the BulletSim dll's and so's up to date with the sources in the 'libs' source repository. No functional changes. --- bin/lib32/BulletSim.dll | Bin 1337856 -> 1338880 bytes bin/lib32/libBulletSim.so | Bin 2311537 -> 2312132 bytes bin/lib64/BulletSim.dll | Bin 1546752 -> 1547264 bytes bin/lib64/libBulletSim.so | Bin 2474914 -> 2475617 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index ddc2f48..6d006bf 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index 8637528..ec29f58 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 60fa59e..82774a2 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index e3df064..8b09275 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From 85133daae05118021dba3b00dc0475142c1de565 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Thu, 19 Feb 2015 21:45:19 +0000 Subject: minor: Add explanation that [Startup] CombineContiguousRegions should be false for varregions. --- bin/OpenSim.ini.example | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index d352c33..1b5a4af 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -187,12 +187,13 @@ ;; YOU HAVE BEEN WARNED!!! ; TrustBinaries = false - ;# {CombineContiguousRegions} {} {Create megaregions where possible? (Do not use with existing content!)} {true false} false + ;# {CombineContiguousRegions} {} {Create megaregions where possible? (Do not use with existing content or varregions!)} {true false} false ;; Combine all contiguous regions into one large megaregion ;; Order your regions from South to North, West to East in your regions.ini ;; and then set this to true ;; Warning! Don't use this with regions that have existing content!, ;; This will likely break them + ;; Also, this setting should be set to false for varregions as they are proper larger single regions rather than combined smaller regions. ; CombineContiguousRegions = false ;# {InworldRestartShutsDown} {} {Shutdown instance on region restart?} {true false} false -- cgit v1.1 From 7b9ad11a9896e905500269286b6d46a857d10694 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sat, 21 Feb 2015 14:27:01 -0800 Subject: BulletSim: update the OSX BulletSim binary to the latest sources in opensim-libs. --- bin/lib32/libBulletSim.dylib | Bin 1435436 -> 1439996 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/libBulletSim.dylib b/bin/lib32/libBulletSim.dylib index 3c2de2d..b7a42e3 100755 Binary files a/bin/lib32/libBulletSim.dylib and b/bin/lib32/libBulletSim.dylib differ -- cgit v1.1 From 7d3bafd5abf22f5c1ea3c3d8918d9b8177693bda Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 4 Mar 2015 17:43:00 +0000 Subject: Add outbound URL filter to llHttpRequest() and osSetDynamicTextureURL*() script functions. This is to address an issue where HTTP script functions could make calls to localhost and other endpoints inside the simulator's LAN. By default, calls to all private addresses are now blocked as per http://en.wikipedia.org/wiki/Reserved_IP_addresses If you require exceptions to this, configure [Network] OutboundDisallowForUserScriptsExcept in OpenSim.ini --- bin/LukeSkywalker.IPNetwork.dll | Bin 0 -> 18432 bytes bin/OpenSim.ini.example | 26 ++++++++++++++++++++++++++ bin/OpenSimDefaults.ini | 20 ++++++++++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 bin/LukeSkywalker.IPNetwork.dll (limited to 'bin') diff --git a/bin/LukeSkywalker.IPNetwork.dll b/bin/LukeSkywalker.IPNetwork.dll new file mode 100644 index 0000000..25bcc2f Binary files /dev/null and b/bin/LukeSkywalker.IPNetwork.dll differ diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 1b5a4af..ebc0ff6 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -486,6 +486,32 @@ ;; the region ports use UDP. ; http_listener_port = 9000 + ; By default, OpenSimulator does not allow scripts to make HTTP calls to addresses on the simulator's LAN. + ; See the OutboundDisallowForUserScripts parameter in OpenSimDefaults.ini for more information on this filter. + ; If you need to allow scripts to make some LAN calls use the OutboundDisallowForUserScriptsExcept parameter below. + ; We recommend that you do not override OutboundDisallowForUserScripts directly unless you are very sure about what you're doing. + ; + ; You can whitelist individual endpoints by IP or FQDN, e.g. + ; + ; OutboundDisallowForUserScriptsExcept = 192.168.1.3:8003 + ; + ; You can specify multiple addresses by separating them with a bar. For example, + ; + ; OutboundDisallowForUserScriptsExcept = 192.168.1.3:8003|myinternalserver:8000 + ; + ; If an address if given without a port number then port 80 is assumed + ; + ; You can also specify a network range in CIDR notation to whitelist, e.g. + ; + ; OutboundDisallowForUserScriptsExcept = 192.168.1.0/24 + ; + ; to whitelist all ports on addresses 192.168.1.0 to 192.168.1.255 + ; To specify an individual IP address use the /32 netmask + ; + ; OutboundDisallowForUserScriptsExcept = 192.168.1.2/32 + ; + ; See http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation for more information on CIDR notation + ;# {ExternalHostNameForLSL} {} {Hostname to use for HTTP-IN URLs. This should be reachable from the internet.} {} ;; Hostname to use in llRequestURL/llRequestSecureURL ;; if not defined - default machine name is being used diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 4faf7f3..af37ccc 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -492,6 +492,26 @@ ; (on Windows this mean NETBIOS name - useably only inside local network) ; ExternalHostNameForLSL=127.0.0.1 + ; Disallow the following address ranges for user scripting calls (e.g. llHttpRequest()) + ; This is based on http://en.wikipedia.org/wiki/Reserved_IP_addresses + ; This stops users making HTTP calls to machines in the simulator's local network. + ; If you need to allow some LAN calls we recommend you use OutboundDisallowForUserScriptsExcept documented in OpenSim.ini.example + ; If you override OutboundDisallowForUserScripts directly you need to be very careful. + ; + ; Network ranges are specified in CIDR notation (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation) with multiple entries separated by | + ; To specify an individual IP address use the /32 netmask (e.g. 192.168.1.3/32) + ; You can also specify individual : endpoints (e.g. 192.168.1.3:8003) + ; If an address if given without a port number then port 80 is assumed. + OutboundDisallowForUserScripts = 0.0.0.0/8|10.0.0.0/8|100.64.0.0/10|127.0.0.0/8|169.254.0.0/16|172.16.0.0/12|192.0.0.0/24|192.0.2.0/24|192.88.99.0/24|192.168.0.0/16|198.18.0.0/15|198.51.100.0/24|203.0.113.0/24|224.0.0.0/4|240.0.0.0/4|255.255.255.255/32 + ; + ; You can also prevent all user script outgoing calls with the following override in OpenSim.ini + ; + ; OutboundDisallowForUserScripts = 0.0.0.0/0 + ; + ; You can also disable the blacklist entirely with an empty entry + ; + ; OutboundDisallowForUserScripts = "" + ; What is reported as the "X-Secondlife-Shard" ; Defaults to the user server url if not set ; The old default is "OpenSim", set here for compatibility -- cgit v1.1 From 3255335c42ff348465d235a3ccf9558d0d6d414b Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 4 Mar 2015 17:51:11 +0000 Subject: Make private services forbid llHTTPRequest() calls by rejecting those that have the X-SecondLife-Shard header. If you need to enable this, set AllowHttpRequestIn = true in [Network] for all private services or individual [*Service] sections. --- bin/Robust.HG.ini.example | 7 +++++++ bin/Robust.ini.example | 7 +++++++ 2 files changed, 14 insertions(+) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 5fa4026..872a7f8 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -153,6 +153,13 @@ ;; Hypergrid services are not affected by this; they are publicly available ;; by design. + ;; By default, scripts are not allowed to call private services via llHttpRequest() + ;; Such calls are detected by the X-SecondLife-Shared HTTP header + ;; If you allow such calls you must be sure that they are restricted to very trusted scripters + ;; (remember scripts can also be in visiting avatar attachments). + ;; This can be overriden in individual private service sections if necessary + AllowllHTTPRequestIn = false + ; * The following are for the remote console ; * They have no effect for the local or basic console types ; * Leave commented to diable logins to the console diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index a0b8f50..48deeae 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -129,6 +129,13 @@ ;; This is useful in cases where you want to protect most of the services, ;; but unprotect individual services. Username and Password can also be ;; overriden if you want to use different credentials for the different services. + + ;; By default, scripts are not allowed to call private services via llHttpRequest() + ;; Such calls are detected by the X-SecondLife-Shared HTTP header + ;; If you allow such calls you must be sure that they are restricted to very trusted scripters + ;; (remember scripts can also be in visiting avatar attachments). + ;; This can be overriden in individual private service sections if necessary + AllowllHTTPRequestIn = false ; * The following are for the remote console ; * They have no effect for the local or basic console types -- cgit v1.1 From 921f4f95004e59eda6637f37a35148d4464d2d51 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 11 Mar 2015 22:44:26 +0000 Subject: minor: Change InternalAddress in Regions.ini.example from 127.0.0.1 to more normal 0.0.0.0 --- bin/Regions/Regions.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/Regions/Regions.ini.example b/bin/Regions/Regions.ini.example index 1e65d2b..c4315e3 100644 --- a/bin/Regions/Regions.ini.example +++ b/bin/Regions/Regions.ini.example @@ -18,7 +18,7 @@ RegionUUID = "11111111-2222-3333-4444-555555555555" Location = "1000,1000" -InternalAddress = "127.0.0.1" +InternalAddress = "0.0.0.0" InternalPort = 9000 AllowAlternatePorts = False ExternalHostName = "SYSTEMIP" -- cgit v1.1 From b333a19102688637953c149402e7f974deabdfe0 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 11 Mar 2015 22:46:11 +0000 Subject: minor: Remove unnecessary quoting in Regions.ini.example --- bin/Regions/Regions.ini.example | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'bin') diff --git a/bin/Regions/Regions.ini.example b/bin/Regions/Regions.ini.example index c4315e3..e20fee6 100644 --- a/bin/Regions/Regions.ini.example +++ b/bin/Regions/Regions.ini.example @@ -15,13 +15,13 @@ ; * You MUST change this! It will NOT be done for you! ; * -RegionUUID = "11111111-2222-3333-4444-555555555555" +RegionUUID = 11111111-2222-3333-4444-555555555555 -Location = "1000,1000" -InternalAddress = "0.0.0.0" +Location = 1000,1000 +InternalAddress = 0.0.0.0 InternalPort = 9000 AllowAlternatePorts = False -ExternalHostName = "SYSTEMIP" +ExternalHostName = SYSTEMIP ; * ; * Variable-sized regions allows the creation of large, borderless spaces. @@ -67,13 +67,13 @@ ExternalHostName = "SYSTEMIP" ; * ; * Now, there is a setting in [Map] in OpenSim.ini called ; * -; * MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" +; * MaptileStaticUUID = 00000000-0000-0000-0000-000000000000 ; * ; * where, given the criteria above, lets you specify the UUID of a texture asset to use ; * as a maptile *Simulator Wide*. Here, you can override that on a per region basis for ; * Simulators that run multiple regions: -; MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" +; MaptileStaticUUID = 00000000-0000-0000-0000-000000000000 ; * Region Specific Static Maptiles from file: -- cgit v1.1 From db24cf53229bbe5cb6ae949dc89aced08d46ceed Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 11 Mar 2015 23:04:39 +0000 Subject: Add required wearable flags values to inventory body parts and clothing example xml --- bin/inventory/BodyPartsLibrary/BodyPartsLibraryItems.xml | 8 ++++++++ bin/inventory/ClothingLibrary/ClothingLibraryItems.xml | 3 +++ 2 files changed, 11 insertions(+) (limited to 'bin') diff --git a/bin/inventory/BodyPartsLibrary/BodyPartsLibraryItems.xml b/bin/inventory/BodyPartsLibrary/BodyPartsLibraryItems.xml index d9adf1c..15cd5fe 100644 --- a/bin/inventory/BodyPartsLibrary/BodyPartsLibraryItems.xml +++ b/bin/inventory/BodyPartsLibrary/BodyPartsLibraryItems.xml @@ -9,6 +9,7 @@ +
--> diff --git a/bin/inventory/ClothingLibrary/ClothingLibraryItems.xml b/bin/inventory/ClothingLibrary/ClothingLibraryItems.xml index a12bb8a..53698ef 100644 --- a/bin/inventory/ClothingLibrary/ClothingLibraryItems.xml +++ b/bin/inventory/ClothingLibrary/ClothingLibraryItems.xml @@ -9,6 +9,7 @@ +
--> -- cgit v1.1 From b9c384fc3c0f5ac11a51898746fc6a3869bc2591 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 11 Mar 2015 23:12:21 +0000 Subject: Add rough and ready element explanation in a comment at the top of inventory library items xml --- bin/inventory/AnimationsLibrary/AnimationsLibraryItems.xml | 11 +++++++++++ bin/inventory/BodyPartsLibrary/BodyPartsLibraryItems.xml | 12 ++++++++++++ bin/inventory/ClothingLibrary/ClothingLibraryItems.xml | 12 ++++++++++++ bin/inventory/GesturesLibrary/GesturesLibraryItems.xml | 12 ++++++++++++ bin/inventory/LandmarksLibrary/LandmarksLibraryItems.xml | 12 ++++++++++++ bin/inventory/NotecardsLibrary/NotecardsLibraryItems.xml | 12 ++++++++++++ bin/inventory/ObjectsLibrary/ObjectsLibraryItems.xml | 12 ++++++++++++ bin/inventory/PhotosLibrary/PhotosLibraryItems.xml | 12 ++++++++++++ bin/inventory/ScriptsLibrary/ScriptsLibraryItems.xml | 12 ++++++++++++ bin/inventory/SoundsLibrary/SoundsLibraryItems.xml | 12 ++++++++++++ bin/inventory/TexturesLibrary/TexturesLibraryItems.xml | 12 ++++++++++++ 11 files changed, 131 insertions(+) (limited to 'bin') diff --git a/bin/inventory/AnimationsLibrary/AnimationsLibraryItems.xml b/bin/inventory/AnimationsLibrary/AnimationsLibraryItems.xml index 9cfadf0..255bb3e 100644 --- a/bin/inventory/AnimationsLibrary/AnimationsLibraryItems.xml +++ b/bin/inventory/AnimationsLibrary/AnimationsLibraryItems.xml @@ -1,3 +1,14 @@ + +
diff --git a/bin/inventory/BodyPartsLibrary/BodyPartsLibraryItems.xml b/bin/inventory/BodyPartsLibrary/BodyPartsLibraryItems.xml index 15cd5fe..9faafc2 100644 --- a/bin/inventory/BodyPartsLibrary/BodyPartsLibraryItems.xml +++ b/bin/inventory/BodyPartsLibrary/BodyPartsLibraryItems.xml @@ -1,6 +1,18 @@ + + + + +
diff --git a/bin/inventory/LandmarksLibrary/LandmarksLibraryItems.xml b/bin/inventory/LandmarksLibrary/LandmarksLibraryItems.xml index 44194cd..907c83c 100644 --- a/bin/inventory/LandmarksLibrary/LandmarksLibraryItems.xml +++ b/bin/inventory/LandmarksLibrary/LandmarksLibraryItems.xml @@ -1,3 +1,15 @@ + + + + + + + + - - + - + +
+ + + + + + + + +
+
- + diff --git a/bin/inventory/ClothingLibrary/ClothingLibraryItems.xml b/bin/inventory/ClothingLibrary/ClothingLibraryItems.xml index b2fc005..46f8c99 100644 --- a/bin/inventory/ClothingLibrary/ClothingLibraryItems.xml +++ b/bin/inventory/ClothingLibrary/ClothingLibraryItems.xml @@ -12,21 +12,8 @@ flags are only required for wearables. See OpenMetaverse.WearableType enum in libopenmetaverse. --> - - -- cgit v1.1 From a5a31114b2ad61329921ca27b62c98ce6da42758 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 16 Dec 2015 22:22:26 +0000 Subject: add the option to not display parcel ban lines --- bin/OpenSim.ini.example | 5 ++++- bin/OpenSimDefaults.ini | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index c725455..8f5dcef 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1136,7 +1136,10 @@ ;# {InitialTerrain} {} {Initial terrain type} {pinhead-island flat} pinhead-island ; InitialTerrain = "pinhead-island" - +[LandManagement] + ;; set this to false to not display parcel ban lines + ;ShowParcelBansLines = true + [UserProfiles] ;# {ProfileServiceURL} {} {Set url to UserProfilesService} {} ;; Set the value of the url to your UserProfilesService diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 7221353..eadb518 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -2064,6 +2064,9 @@ ; whole region. LimitParcelLayerUpdateDistance = true ParcelLayerViewDistance = 128 + + ; set this to false to not display parcel ban lines + ShowParcelBansLines = true ;; ;; If you are using a simian grid frontend you can enable -- cgit v1.1 From e095f51b05f980474cf8a43594025a46ee6fa0cf Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 19 Dec 2015 15:29:51 +0000 Subject: update the xmlrpcGroups http keep alive option, and coment --- bin/OpenSimDefaults.ini | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index eadb518..84e029b 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1970,10 +1970,8 @@ ;XmlRpcServiceWriteKey = 1234 ; Disables HTTP Keep-Alive for XmlRpcGroupsServicesConnector HTTP Requests, - ; this is a work around fora problem discovered on some Windows based region servers. - ; Only disable keep alive if you see a large number (dozens) of the following Exceptions: - ; System.Net.WebException: The request was aborted: The request was canceled. - ; XmlRpcDisableKeepAlive = false + ; only set to false it if you absolute sure regions and groups server suport it. + ; XmlRpcDisableKeepAlive = true ; Minimum user level required to create groups ;LevelGroupCreate = 0 -- cgit v1.1 From 14250c3d8466c4ea1de7bd126008bd9d6a73ff80 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 25 Dec 2015 17:43:20 +0000 Subject: ODE lib change: fix capsule - mesh faces double side collisions. Do double side collisions if at least two dimensions of the mesh are 1.5x the capsule height, otherwise do single side as before. SL and bullet do double Side always. Double side can cause instabilities in some cases. i only windows dev enviroment for the moment. to build for your enviroment: git clone git://opensimulator.org/git/opensim-libs. This maybe be very broken, let us know --- bin/lib32/ode.dll | Bin 541696 -> 552448 bytes bin/lib64/ode.dll | Bin 637952 -> 651776 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll index 8457e50..62aa4df 100755 Binary files a/bin/lib32/ode.dll and b/bin/lib32/ode.dll differ diff --git a/bin/lib64/ode.dll b/bin/lib64/ode.dll index f47ae31..543b900 100755 Binary files a/bin/lib64/ode.dll and b/bin/lib64/ode.dll differ -- cgit v1.1 From 073877dcaeb82c4d23f2453a5464b946eb5a2a3d Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 25 Dec 2015 19:33:38 +0000 Subject: ODE lib: update the lib for linux 64bit. Thnx Dan. (keep older close in case this fails --- bin/lib64/libode-x86_64.so | Bin 5546089 -> 6569177 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib64/libode-x86_64.so b/bin/lib64/libode-x86_64.so index 9c3070a..464ee83 100644 Binary files a/bin/lib64/libode-x86_64.so and b/bin/lib64/libode-x86_64.so differ -- cgit v1.1 From 74c48d495bb1e57ddae3b592b4382c71a26af5fa Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 26 Dec 2015 01:55:13 +0000 Subject: ODE lib: update the lib for linux 32bit. Thnx Dan. (keep older close in case this fails --- bin/lib32/libode.so | Bin 3134141 -> 4879783 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/libode.so b/bin/lib32/libode.so index 5b110ae..dbd1d0a 100755 Binary files a/bin/lib32/libode.so and b/bin/lib32/libode.so differ -- cgit v1.1 From 6427930a7ec93e54774fa56bc6d2f5f3edc8c664 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 26 Dec 2015 02:29:53 +0000 Subject: ODE lib: update the lib for linux 32bit and 64bit, this time without debug info. Thnx again Dan. (keep older close in case this fails --- bin/lib32/libode.so | Bin 4879783 -> 1019273 bytes bin/lib64/libode-x86_64.so | Bin 6569177 -> 1106911 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/libode.so b/bin/lib32/libode.so index dbd1d0a..daf6a4d 100755 Binary files a/bin/lib32/libode.so and b/bin/lib32/libode.so differ diff --git a/bin/lib64/libode-x86_64.so b/bin/lib64/libode-x86_64.so index 464ee83..2dc9522 100644 Binary files a/bin/lib64/libode-x86_64.so and b/bin/lib64/libode-x86_64.so differ -- cgit v1.1 From 8981cba137e6eea28f7a1e8f60e21ae8cad1b67b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 26 Jan 2016 20:52:09 +0000 Subject: update OpenSimDefaults.ini --- bin/OpenSimDefaults.ini | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 84e029b..725ce57 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -161,13 +161,19 @@ ; Warning! Don't use this with regions that have existing content!, This will likely break them CombineContiguousRegions = false - ; Extend the region's draw distance; 255m is the default which includes - ; one neighbor on each side of the current region, 767m would go three - ; neighbors on each side for a total of 49 regions in view. Warning, unless - ; all the regions have the same drawdistance, you will end up with strange - ; effects because the agents that get closed may be inconsistent. + ; the default view range. Viewers override this ( no major effect still ) DefaultDrawDistance = 255.0 + ; limit the maximum view range ( no effect still (does limit MaxRegionsViewDistance) ) + MaxDrawDistance = 512 + + ; the maximum distance to tell a viewer to connect to a neighbour region, so it can be seen + ; (it is limited by MaxDrawDistance above) + ; less than 256 shows imediate neighbours; 512 also second imediate neighbours etc + ; more than 512m can cause viewers problems specially in case of dense regions. + ; curretly this distance is from current region borders. + MaxRegionsViewDistance = 255 + ; If you have only one region in an instance, or to avoid the many bugs ; that you can trigger in modules by restarting a region, set this to ; true to make the entire instance exit instead of restarting the region. -- cgit v1.1 From 170acd7d67b48416a17ed959968b1173e389058b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 30 Jan 2016 15:42:59 +0000 Subject: change parcel_owner_is_god configuration option from default from true to false, leaving only region_owner true by default --- bin/OpenSim.ini.example | 4 ++-- bin/OpenSimDefaults.ini | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 8f5dcef..f8c0506 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -400,9 +400,9 @@ ;; Allow region managers to assume god powers in regions they manage ; region_manager_is_god = false - ;# {parcel_owner_is_god} {} {Allow parcel owner gods} {true false} true + ;# {parcel_owner_is_god} {} {Allow parcel owner gods} {true false} false ;; Allow parcel owners to assume god powers in their parcels - ; parcel_owner_is_god = true + ; parcel_owner_is_god = false ;# {simple_build_permissions} {} {Allow building in parcel by access list (no groups)} {true false} false ;; More control over permissions diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 725ce57..f09d2a1 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -418,7 +418,7 @@ ; please note that this still doesn't duplicate SL, and is not intended to ;region_owner_is_god = true ;region_manager_is_god = false - ;parcel_owner_is_god = true + ;parcel_owner_is_god = false ; Control user types that are allowed to create new scripts ; Only enforced if serviceside_object_permissions is true -- cgit v1.1 From bb6866b474dbe42fb50c45b2eb2fa3d03b790313 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Sun, 31 Jan 2016 03:07:34 +0100 Subject: Replace the new ODE lib with one built against GLIBC 2.12. It's not our place to force people to upgrade their distro --- bin/lib64/libode-x86_64.so | Bin 1106911 -> 6397607 bytes 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 bin/lib64/libode-x86_64.so (limited to 'bin') diff --git a/bin/lib64/libode-x86_64.so b/bin/lib64/libode-x86_64.so old mode 100644 new mode 100755 index 2dc9522..d8f3c20 Binary files a/bin/lib64/libode-x86_64.so and b/bin/lib64/libode-x86_64.so differ -- cgit v1.1 From 41644bbfa92e93c45c17142d261d304d4bd51ef7 Mon Sep 17 00:00:00 2001 From: Jeff Kelley Date: Mon, 14 Mar 2016 11:42:28 +0100 Subject: Implement parameterization of HTTP_BODY_MAXLENGTH maximum as proposed in Mantis 7839. --- bin/OpenSim.ini.example | 6 ++++++ bin/OpenSimDefaults.ini | 6 ++++++ 2 files changed, 12 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index f8c0506..840de6b 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -522,6 +522,12 @@ ; ; See http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation for more information on CIDR notation + ;# {HttpBodyMaxLenMAX} {} {Maximum bytes allowed for HTTP_BODY_MAXLENGTH} {} 16384 + ;; By default, llHTTPRequest limits the response body to 2048 bytes. + ;; This limit can be extended using HTTP_BODY_MAXLENGTH to a maximum + ;; of HttpBodyMaxLenMAX bytes. + ; HttpBodyMaxLenMAX=16384 + ;# {ExternalHostNameForLSL} {} {Hostname to use for HTTP-IN URLs. This should be reachable from the internet.} {} ;; Hostname to use in llRequestURL/llRequestSecureURL ;; if not defined - default machine name is being used diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index f09d2a1..3cdd1a7 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -527,6 +527,12 @@ ; Password for cert ; cert_pass = "password" + ; Maximum bytes allowed for HTTP_BODY_MAXLENGTH. + ; By default, llHTTPRequest limits the response body to 2048 bytes. + ; This limit can be extended using HTTP_BODY_MAXLENGTH to a maximum + ; of HttpBodyMaxLenMAX bytes. + ; HttpBodyMaxLenMAX=16384 + ; Hostname to use in llRequestURL/llRequestSecureURL ; if not defined - default machine name is being used ; (on Windows this mean NETBIOS name - useably only inside local network) -- cgit v1.1 From 39f7c4a292643603e63c02fd5eb032fccd1af9f8 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Mon, 14 Mar 2016 16:11:37 +0100 Subject: Expand on the comment on the new HTTP limit feature. --- bin/OpenSim.ini.example | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 840de6b..90ecb72 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -526,6 +526,11 @@ ;; By default, llHTTPRequest limits the response body to 2048 bytes. ;; This limit can be extended using HTTP_BODY_MAXLENGTH to a maximum ;; of HttpBodyMaxLenMAX bytes. + ;; Please be aware that the limit can be set to insanely high values, + ;; effectively removing any limitation. This will expose your sim to a + ;; known attack. It is not recommended to set this limit higher than + ;; the highest value that is actually needed by existing applications! + ;; 16384 is the SL compatible value. ; HttpBodyMaxLenMAX=16384 ;# {ExternalHostNameForLSL} {} {Hostname to use for HTTP-IN URLs. This should be reachable from the internet.} {} -- cgit v1.1 From ed9d4feef587a057b73925bd29e6f0f0c5d55d70 Mon Sep 17 00:00:00 2001 From: AliciaRaven Date: Tue, 5 Apr 2016 22:53:27 +0100 Subject: Include option for the HG version of FSAssets connector under HGAssetService in robust example ini --- bin/Robust.HG.ini.example | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 6af444c..ad07674 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -687,7 +687,10 @@ ; * the assets of this world. ; * [HGAssetService] + ;; Use the second option if you have FSAsset service enabled LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGAssetService" + ;LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFSAssetService" + UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" ; HGAssetService is a public-facing service that allows users to -- cgit v1.1 From 4e5de888a7b7685ee7517674926f73b88b3183fa Mon Sep 17 00:00:00 2001 From: AliciaRaven Date: Wed, 6 Apr 2016 18:30:20 +0100 Subject: Update LibOMV to latest versions. LibOMV commit hash 177ea9848a43e6df3b82f70aea4ac903ece1b2e3 --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 102400 bytes bin/OpenMetaverse.dll | Bin 2195456 -> 2195456 bytes bin/OpenMetaverseTypes.dll | Bin 110592 -> 110592 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 4f55376..cca8f3f 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 8c72174..41dd0cc 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 9854fe0..7a1bc0b 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 39b8f75..dd1ea6c 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 6f13d1e3df444b8c1ec132c7578b09e2c02d2885 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Fri, 15 Apr 2016 15:58:46 +0200 Subject: Remove "f" (float) type markers that may have crept in through copypasta. --- bin/OpenSimDefaults.ini | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 3cdd1a7..fbe4379 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1127,12 +1127,12 @@ ; Avatar walk-up-stairs parameters ; If an avatar collides with an object 'close to its feet', the avatar will be ; moved/pushed up do simulate stepping up. - ;AvatarStepHeight = 0.6f ; The height, below which is considered a step collision. - ;AvatarStepAngle = 0.3f ; The angle from vertical (in radians) to consider a surface a step - ;AvatarStepApproachFactor = 2f ; Approach angle factor. O=straight on, .6=~45 degrees. - ;AvatarStepGroundFudge = 0.1f ; Fudge added to bottom of avatar below which step collisions happen - ;AvatarStepForceFactor = 0f ; Avatar is pushed up by its mass times this factor - ;AvatarStepUpCorrectionFactor = 0.8f ; Avatar is displaced up the collision height times this factor + ;AvatarStepHeight = 0.6 ; The height, below which is considered a step collision. + ;AvatarStepAngle = 0.3 ; The angle from vertical (in radians) to consider a surface a step + ;AvatarStepApproachFactor = 2 ; Approach angle factor. O=straight on, .6=~45 degrees. + ;AvatarStepGroundFudge = 0.1 ; Fudge added to bottom of avatar below which step collisions happen + ;AvatarStepForceFactor = 0 ; Avatar is pushed up by its mass times this factor + ;AvatarStepUpCorrectionFactor = 0.8 ; Avatar is displaced up the collision height times this factor ;AvatarStepSmoothingSteps = 1 ; Number of frames after a step collision that up correction is applied ; Terminal velocity of a falling avatar -- cgit v1.1 From a2e4beea8680242c34bd5ddb53d70b09c110cd03 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Thu, 23 Jun 2016 15:20:07 +0200 Subject: Update HttpServer_OpenSim.dll to fix an inventory loading bug. --- bin/HttpServer_OpenSim.dll | Bin 116224 -> 131072 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 38a4cb7..405a6e1 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ -- cgit v1.1 From 1065a4c1e4f7ee4ba9122b6fefcca460545d944d Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 23 Jun 2016 07:55:50 -0700 Subject: Replace the http server dll with the right pair dll + xml --- bin/HttpServer_OpenSim.dll | Bin 131072 -> 117760 bytes bin/HttpServer_OpenSim.xml | 6796 ++++++++++++++++++++++---------------------- 2 files changed, 3398 insertions(+), 3398 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 405a6e1..7da219b 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ diff --git a/bin/HttpServer_OpenSim.xml b/bin/HttpServer_OpenSim.xml index 61c3ad8..7b6912e 100644 --- a/bin/HttpServer_OpenSim.xml +++ b/bin/HttpServer_OpenSim.xml @@ -4,562 +4,522 @@ HttpServer_OpenSim - + - Delegate used to find a realm/domain. + Delegate used to let authentication modules authenticate the user name and password. - - + Realm that the user want to authenticate in + User name specified by client + Can either be user password or implementation specific token. + object that will be stored in a session variable called if authentication was successful. + throw forbidden exception if too many attempts have been made. - Realms are used during HTTP Authentication + + Use to specify that the token is a HA1 token. (MD5 generated + string from realm, user name and password); Md5String(userName + ":" + realm + ":" + password); + - - - - - - A complete HTTP server, you need to add a module to it to be able to handle incoming requests. - - - - // this small example will add two web site modules, thus handling - // two different sites. In reality you should add Controller modules or something - // two the website modules to be able to handle different requests. - HttpServer server = new HttpServer(); - server.Add(new WebSiteModule("www.gauffin.com", "Gauffin Telecom AB")); - server.Add(new WebSiteModule("www.vapadi.se", "Remote PBX")); - - // start regular http - server.Start(IPAddress.Any, 80); - - // start https - server.Start(IPAddress.Any, 443, myCertificate); - - - - - - + - Initializes a new instance of the class. + Let's you decide on a system level if authentication is required. - Used to get all components used in the server.. + HTTP request from client + true if user should be authenticated. + throw if no more attempts are allowed. + If no more attempts are allowed - + - Initializes a new instance of the class. + Authentication modules are used to implement different + kind of HTTP authentication. - + - Initializes a new instance of the class. + Initializes a new instance of the class. - Form decoders are used to convert different types of posted data to the object types. - - + Delegate used to provide information used during authentication. + Delegate used to determine if authentication is required (may be null). - + - Initializes a new instance of the class. + Initializes a new instance of the class. - A session store is used to save and retrieve sessions - + Delegate used to provide information used during authentication. - + - Initializes a new instance of the class. + name used in HTTP request. - The log writer. - - + - Initializes a new instance of the class. + Tag used for authentication. - Form decoders are used to convert different types of posted data to the object types. - The log writer. - - - - + - Initializes a new instance of the class. + Create a response that can be sent in the WWW-Authenticate header. - Form decoders are used to convert different types of posted data to the object types. - A session store is used to save and retrieve sessions - The log writer. - - - - + Realm that the user should authenticate in + Array with optional options. + A correct authentication request. + If realm is empty or null. - + - Adds the specified rule. + An authentication response have been received from the web browser. + Check if it's correct - The rule. + Contents from the Authorization header + Realm that should be authenticated + GET/POST/PUT/DELETE etc. + options to specific implementations + Authentication object that is stored for the request. A user class or something like that. + if is invalid + If any of the parameters is empty or null. - + - Add a to the server. + Used to invoke the authentication delegate that is used to lookup the user name/realm. - mode to add + Realm (domain) that user want to authenticate in + User name + Password used for validation. Some implementations got password in clear text, they are then sent to client. + object that will be stored in the request to help you identify the user if authentication was successful. + true if authentication was successful - + - Decodes the request body. + Determines if authentication is required. - The request. - Failed to decode form data. + HTTP request from browser + true if user should be authenticated. + throw from your delegate if no more attempts are allowed. + If no more attempts are allowed - + - Generate a HTTP error page (that will be added to the response body). - response status code is also set. + The "basic" authentication scheme is based on the model that the + client must authenticate itself with a user-ID and a password for + each realm. The realm value should be considered an opaque string + which can only be compared for equality with other realms on that + server. The server will service the request only if it can validate + the user-ID and password for the protection space of the Request-URI. + There are no optional authentication parameters. - Response that the page will be generated in. - . - response body contents. - + - Generate a HTTP error page (that will be added to the response body). - response status code is also set. + Initializes a new instance of the class. - Response that the page will be generated in. - exception. + Delegate used to provide information used during authentication. + Delegate used to determine if authentication is required (may be null). - + - Realms are used by the s. + Initializes a new instance of the class. - HTTP request - domain/realm. + Delegate used to provide information used during authentication. - + - Process an incoming request. + Create a response that can be sent in the WWW-Authenticate header. - connection to client - request information - response that should be filled - session information + Realm that the user should authenticate in + Not used in basic auth + A correct auth request. - + - Can be overloaded to implement stuff when a client have been connected. + An authentication response have been received from the web browser. + Check if it's correct - - Default implementation does nothing. - - client that disconnected - disconnect reason + Contents from the Authorization header + Realm that should be authenticated + GET/POST/PUT/DELETE etc. + Not used in basic auth + Authentication object that is stored for the request. A user class or something like that. + if authenticationHeader is invalid + If any of the paramters is empty or null. - + - Handle authentication + name used in http request. - - - - true if request can be handled; false if not. - Invalid authorization header - + - Will request authentication. + Implements HTTP Digest authentication. It's more secure than Basic auth since password is + encrypted with a "key" from the server. - Sends respond to client, nothing else can be done with the response after this. + Keep in mind that the password is encrypted with MD5. Use a combination of SSL and digest auth to be secure. - - - - - - - Received from a when a request have been parsed successfully. - - that received the request. - The request. - + - To be able to track request count. + Initializes a new instance of the class. - - + Delegate used to provide information used during authentication. + Delegate used to determine if authentication is required (may be null). - + - Start the web server using regular HTTP. + Initializes a new instance of the class. - IP Address to listen on, use IpAddress.Any to accept connections on all IP addresses/network cards. - Port to listen on. 80 can be a good idea =) - address is null. - Port must be a positive number. + Delegate used to provide information used during authentication. - + - Accept secure connections. + Used by test classes to be able to use hardcoded values - IP Address to listen on, use to accept connections on all IP Addresses / network cards. - Port to listen on. 80 can be a good idea =) - Certificate to use - address is null. - Port must be a positive number. - + - shut down the server and listeners + name used in http request. - + - write an entry to the log file + An authentication response have been received from the web browser. + Check if it's correct - importance of the message - log message - - - - write an entry to the log file - - object that wrote the message - importance of the message - log message + Contents from the Authorization header + Realm that should be authenticated + GET/POST/PUT/DELETE etc. + First option: true if username/password is correct but not cnonce + + Authentication object that is stored for the request. A user class or something like that. + + if authenticationHeader is invalid + If any of the paramters is empty or null. - + - Server that is handling the current request. + Gets or sets whether the token supplied in is a + HA1 generated string. - - Will be set as soon as a request arrives to the object. - - + - Modules used for authentication. The module that is is added first is used as - the default authentication module. + Encrypts parameters into a Digest string - Use the corresponding property - in the if you are using multiple websites. + Realm that the user want to log into. + User logging in + Users password. + HTTP method. + Uri/domain that generated the login prompt. + Quality of Protection. + "Number used ONCE" + Hexadecimal request counter. + "Client Number used ONCE" + Digest encrypted string - + - Form decoder providers are used to decode request body (which normally contains form data). + + Md5 hex encoded "userName:realm:password", without the quotes. + Md5 hex encoded "method:uri", without the quotes + Quality of Protection + "Number used ONCE" + Hexadecimal request counter. + Client number used once + - + - Server name sent in HTTP responses. + Create a response that can be sent in the WWW-Authenticate header. - - Do NOT include version in name, since it makes it - easier for hackers. - + Realm that the user should authenticate in + First options specifies if true if username/password is correct but not cnonce. + A correct auth request. + If realm is empty or null. - + - Name of cookie where session id is stored. + Decodes authorization header value + header value + Encoding that the buffer is in + All headers and their values if successful; otherwise null + + NameValueCollection header = DigestAuthentication.Decode("response=\"6629fae49393a05397450978507c4ef1\",\r\nc=00001", Encoding.ASCII); + + Can handle lots of whitespaces and new lines without failing. - + - Specified where logging should go. + Gets the current nonce. - - - + - + - Number of connections that can wait to be accepted by the server. + Gets the Md5 hash bin hex2. - Default is 10. + To be hashed. + - + - Gets or sets maximum number of allowed simultaneous requests. + determines if the nonce is valid or has expired. - - - This property is useful in busy systems. The HTTP server - will start queuing new requests if this limit is hit, instead - of trying to process all incoming requests directly. - - - The default number if allowed simultaneous requests are 10. - - + nonce value (check wikipedia for info) + true if the nonce has not expired. - + - Gets or sets maximum number of requests queuing to be handled. + Small design by contract implementation. - - - The WebServer will start turning requests away if response code - to indicate that the server - is too busy to be able to handle the request. - - - + - Realms are used during HTTP authentication. - Default realm is same as server name. + Check whether a parameter is empty. + Parameter value + Parameter name, or error description. + value is empty. - + - Let's to receive unhandled exceptions from the threads. + Checks whether a parameter is null. - - Exceptions will be thrown during debug mode if this event is not used, - exceptions will be printed to console and suppressed during release mode. - + Parameter value + Parameter name, or error description. + value is null. - + - Serves files that are stored in embedded resources. + Checks whether a parameter is null. + + Parameter value + Parameter name, or error description. + value is null. - + - A HttpModule can be used to serve Uri's. The module itself - decides if it should serve a Uri or not. In this way, you can - get a very flexible http application since you can let multiple modules - serve almost similar urls. + Invoked when a client have been accepted by the - Throw if you are using a and want to prompt for user name/password. + Can be used to revoke incoming connections - + - Method that process the url + Initializes a new instance of the class. - Information sent by the browser about the request - Information that is being sent back to the client. - Session used to - true if this module handled the request. + The socket. - + - Set the log writer to use. + Accepted socket. - logwriter to use. - + - Log something. + Client should be revoked. - importance of log message - message - + - If true specifies that the module doesn't consume the processing of a request so that subsequent modules - can continue processing afterwards. Default is false. + Client may not be handled. - + - Initializes a new instance of the class. - Runs to make sure the basic mime types are available, they can be cleared later - through the use of if desired. + Add a component instance + Interface type + Instance to add - + - Initializes a new instance of the class. - Runs to make sure the basic mime types are available, they can be cleared later - through the use of if desired. + Get a component. - The log writer to use when logging events + Interface type + Component if registered, otherwise null. + + Component will get created if needed. + - + + If instance cannot be created. + + - Mimtypes that this class can handle per default + Checks if the specified component interface have been added. + + true if found; otherwise false. - + - Loads resources from a namespace in the given assembly to an uri + Add a component. - The uri to map the resources to - The assembly in which the resources reside - The namespace from which to load the resources - - resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); - - will make ie the resource MyLib.Models.User.Views.stylesheet.css accessible via /user/stylesheet.css - - The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded + Type being requested. + Type being created. + Type have already been mapped. - + - Returns true if the module can handle the request + Lists content type mime types. - + - Method that process the url + text/plain - Information sent by the browser about the request - Information that is being sent back to the client. - Session used to - true if this module handled the request. - + - List with all mime-type that are allowed. + text/haml - All other mime types will result in a Forbidden http status code. - + - Contains some kind of input from the browser/client. - can be QueryString, form data or any other request body content. + content type for javascript documents = application/javascript + + + RFC 4329 states that text/javascript have been superseeded by + application/javascript. You might still want to check browser versions + since older ones do not support application/javascript. + + Browser support: http://krijnhoetmer.nl/stuff/javascript/mime-types/ + - + - Base class for request data containers + text/xml - + - Adds a parameter mapped to the presented name + A list of content types - The name to map the parameter to - The parameter value - + - Returns true if the container contains the requested parameter + - Parameter id - True if parameter exists + Semicolon separated content types. - + - Returns a request parameter + Get this first content type. - The name associated with the parameter - - - - Representation of a non-initialized class instance - - Variable telling the class that it is non-initialized - - + - Initializes a new instance of the class. + Fetch a content type - form name. + Part of type ("xml" would return "application/xml") + + All content types are in lower case. - + - Initializes a new instance of the class. + Returns an enumerator that iterates through a collection. - form name. - if set to true all changes will be ignored. - this constructor should only be used by Empty - - - Creates a deep copy of the HttpInput class - The object to copy - The function makes a deep copy of quite a lot which can be slow + + An object that can be used to iterate through the collection. + - + - Add a new element. Form array elements are parsed - and added in a correct hierarchy. + Searches for the specified type - Name is converted to lower case. - - name is null. - Cannot add stuff to . + Can also be a part of a type (searching for "xml" would return true for "application/xml"). + true if type was found. - + - Returns true if the class contains a with the corresponding name. + Timeout Manager. Checks for dead clients. Clients with open connections that are not doing anything. Closes sessions opened with keepalive. - The field/query string name - True if the value exists - + - Parses an item and returns it. - This function is primarily used to parse array items as in user[name]. + Use a Thread or a Timer to monitor the ugly - - - - - Outputs the instance representing all its values joined together - + + + Causes the watcher to immediately check the connections. + - - Returns all items as an unescaped query string. + + + Environment.TickCount is an int but it counts all 32 bits so it goes positive + and negative every 24.9 days. This trims down TickCount so it doesn't wrap + for the callers. + This trims it to a 12 day interval so don't let your frame time get too long. + - + - Extracts one parameter from an array + Environment.TickCount is an int but it counts all 32 bits so it goes positive + and negative every 24.9 days. Subtracts the passed value (previously fetched by + 'EnvironmentTickCount()') and accounts for any wrapping. - Containing the string array - All but the first value - - string test1 = ExtractOne("system[user][extension][id]"); - string test2 = ExtractOne(test1); - string test3 = ExtractOne(test2); - // test1 = user[extension][id] - // test2 = extension[id] - // test3 = id - + + + subtraction of passed prevValue from current Environment.TickCount - - Resets all data contained by class + + + Environment.TickCount is an int but it counts all 32 bits so it goes positive + and negative every 24.9 days. Subtracts the passed value (previously fetched by + 'EnvironmentTickCount()') and accounts for any wrapping. + + + + subtraction of passed prevValue from current Environment.TickCount - + - Returns an enumerator that iterates through the collection. + Environment.TickCount is an int but it counts all 32 bits so it goes positive + and negative every 24.9 days. Subtracts the passed value (previously fetched by + 'EnvironmentTickCount()') and accounts for any wrapping. - - - A that can be used to iterate through the collection. - - 1 + subtraction of passed prevValue from current Environment.TickCount - + - Returns an enumerator that iterates through a collection. + We dont want to let the server to die due to exceptions thrown in worker threads. + therefore we use this delegate to give you a change to handle uncaught exceptions. + Class that the exception was thrown in. + Exception + + Server will throw a InternalServerException in release version if you dont + handle this delegate. + + + + + The request could not be understood by the server due to malformed syntax. + The client SHOULD NOT repeat the request without modifications. - - An object that can be used to iterate through the collection. - - 2 + Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php + - + - Form name as lower case + Create a new bad request exception. + reason to why the request was bad. - + - Get a form item. + Create a new bad request exception. - - Returns if item was not found. + reason to why the request was bad. + inner exception @@ -572,6 +532,12 @@ Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php + + + Initializes a new instance of the class. + + error message + All HTTP based exceptions will derive this class. @@ -597,289 +563,217 @@ status code to use in the response. - + - Initializes a new instance of the class. + The server encountered an unexpected condition which prevented it from fulfilling the request. - error message - + - This class is created as a wrapper, since there are two different cookie types in .Net (Cookie and HttpCookie). - The framework might switch class in the future and we dont want to have to replace all instances + Initializes a new instance of the class. - + - Let's copy all the cookies. + Initializes a new instance of the class. - value from cookie header. + error message. - + - Adds a cookie in the collection. + Initializes a new instance of the class. - cookie to add - cookie is null + error message. + inner exception. - + - Gets a collection enumerator on the cookie list. + The requested resource was not found in the web server. - collection enumerator - + - Remove all cookies. + Create a new exception + message describing the error + inner exception - + - Returns an enumerator that iterates through the collection. + Create a new exception - - - A that can be used to iterate through the collection. - - 1 + message describing the error - + - Remove a cookie from the collection. + The request requires user authentication. The response MUST include a + WWW-Authenticate header field (section 14.47) containing a challenge + applicable to the requested resource. + + The client MAY repeat the request with a suitable Authorization header + field (section 14.8). If the request already included Authorization + credentials, then the 401 response indicates that authorization has been + refused for those credentials. If the 401 response contains the same challenge + as the prior response, and the user agent has already attempted authentication + at least once, then the user SHOULD be presented the entity that was given in the response, + since that entity might include relevant diagnostic information. + + HTTP access authentication is explained in rfc2617: + http://www.ietf.org/rfc/rfc2617.txt + + (description is taken from + http://www.submissionchamber.com/help-guides/error-codes.php#sec10.4.2) - Name of cookie. - + - Gets the count of cookies in the collection. + Create a new unauhtorized exception. + - + - Gets the cookie of a given identifier (null if not existing). + Create a new unauhtorized exception. + reason to why the request was unauthorized. + inner exception - + - Contains a connection to a browser/client. + Create a new unauhtorized exception. + reason to why the request was unauthorized. - - - Disconnect from client - - error to report in the event. - - - - Send a response. - - Either or - HTTP status code - reason for the status code. - HTML body contents, can be null or empty. - A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty - If is invalid. - - - - Send a response. - - Either or - HTTP status code - reason for the status code. - - + - Send a response. + This provider is used to let us implement any type of form decoding we want without + having to rewrite anything else in the server. - - + - send a whole buffer + - buffer to send - + Should contain boundary and type, as in: multipart/form-data; boundary=---------------------------230051238959 + Stream containing form data. + Encoding used when decoding the stream + if no parser was found. + If stream is null or not readable. + If stream contents cannot be decoded properly. - + - Send data using the stream + Add a decoder. - Contains data to send - Start position in buffer - number of bytes to send + - - + - Closes the streams and disposes of the unmanaged resources + Number of added decoders. - + - Using SSL or other encryption method. + Use with care. - + - Using SSL or other encryption method. + Decoder used for unknown content types. - - - The context have been disconnected. - - - Event can be used to clean up a context, or to reuse it. - + + Represents a field in a multipart form - + - A request have been received in the context. + + + + - + - A have been disconnected. + Interface for form content decoders. - + - Initializes a new instance of the class. + - Reason to disconnection. + Stream containing the content + Content type (with any additional info like boundry). Content type is always supplied in lower case + Stream enconding + A http form, or null if content could not be parsed. + If contents in the stream is not valid input data. - + - Gets reason to why client disconnected. + Checks if the decoder can handle the mime type + Content type (with any additional info like boundry). Content type is always supplied in lower case. + True if the decoder can parse the specified content type - + + + http://www.faqs.org/rfcs/rfc1867.html + - - - Initializes a new instance of the class. - - The request. - - + - Gets received request. + multipart/form-data - + - Returns item either from a form or a query string (checks them in that order) + form-data - - Representation of a non-initialized HttpParam - - - Initialises the class to hold a value either from a post request or a querystring request - - + - The add method is not availible for HttpParam - since HttpParam checks both Request.Form and Request.QueryString + - name identifying the value - value to add - + Stream containing the content + Content type (with any additional info like boundry). Content type is always supplied in lower case + Stream enconding + A http form, or null if content could not be parsed. + If contents in the stream is not valid input data. + If any parameter is null - + - Checks whether the form or querystring has the specified value + Checks if the decoder can handle the mime type - Name, case sensitive - true if found; otherwise false. + Content type (with any additional info like boundry). Content type is always supplied in lower case. + True if the decoder can parse the specified content type - + - Returns an enumerator that iterates through the collection. + Can handle application/x-www-form-urlencoded - - - A that can be used to iterate through the collection. - - 1 - + - Returns an enumerator that iterates through a collection. - + Stream containing the content + Content type (with any additional info like boundry). Content type is always supplied in lower case + Stream encoding - An object that can be used to iterate through the collection. + A HTTP form, or null if content could not be parsed. - 2 - - - - Fetch an item from the form or querystring (in that order). - - - Item if found; otherwise HttpInputItem.EmptyLanguageNode - - - - Container class for posted files - - - - - Creates a container for a posted file - - The identifier of the post field - The file path - The content type of the file - The name of the file uploaded - If any parameter is null or empty - - - - Creates a container for a posted file - - If any parameter is null or empty - - - Destructor disposing the file - - - - Deletes the temporary file - - True if manual dispose - - - - Disposing interface, cleans up managed resources (the temporary file) and suppresses finalization - - - - - The name/id of the file - - - - - The full file path - - - - - The name of the uploaded file - + If contents in the stream is not valid input data. - + - The type of file + Checks if the decoder can handle the mime type + Content type (with any additional info like boundry). Content type is always supplied in lower case. + True if the decoder can parse the specified content type @@ -898,28 +792,6 @@ The original xml document is stored in form["__xml__"].Value. - - - Interface for form content decoders. - - - - - - - Stream containing the content - Content type (with any additional info like boundry). Content type is always supplied in lower case - Stream enconding - A http form, or null if content could not be parsed. - If contents in the stream is not valid input data. - - - - Checks if the decoder can handle the mime type - - Content type (with any additional info like boundry). Content type is always supplied in lower case. - True if the decoder can parse the specified content type - @@ -946,9 +818,442 @@ Content type (with any additional info like boundry). Content type is always supplied in lower case. True if the decoder can parse the specified content type - + - The object form class takes an object and creates form items for it. + Helpers making it easier to work with forms. + + + + + + Used to let the website use different JavaScript libraries. + Default is + + + + + Create a <form> tag. + + name of form + action to invoke on submit + form should be posted as Ajax + HTML code + + + // without options + WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); + + // with options + WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax, "style", "display:inline", "class", "greenForm"); + + + HTML attributes or JavaScript options. + Method will ALWAYS be POST. + options must consist of name, value, name, value + + + + Creates a select list with the values in a collection. + + Name of the SELECT-tag + collection used to generate options. + delegate used to return id and title from objects. + value that should be marked as selected. + First row should contain an empty value. + string containing a SELECT-tag. + + + + + Creates a select list with the values in a collection. + + Name of the SELECT-tag + Id of the SELECT-tag + collection used to generate options. + delegate used to return id and title from objects. + value that should be marked as selected. + First row should contain an empty value. + string containing a SELECT-tag. + + + + // Class that is going to be used in a SELECT-tag. + public class User + { + private readonly string _realName; + private readonly int _id; + public User(int id, string realName) + { + _id = id; + _realName = realName; + } + public string RealName + { + get { return _realName; } + } + + public int Id + { + get { return _id; } + } + } + + // Using an inline delegate to generate the select list + public void UserInlineDelegate() + { + List<User> items = new List<User>(); + items.Add(new User(1, "adam")); + items.Add(new User(2, "bertial")); + items.Add(new User(3, "david")); + string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value) + { + User user = (User)o; + id = user.Id; + value = user.RealName; + }, 2, true); + } + + // Using an method as delegate to generate the select list. + public void UseExternalDelegate() + { + List<User> items = new List<User>(); + items.Add(new User(1, "adam")); + items.Add(new User(2, "bertial")); + items.Add(new User(3, "david")); + string htmlSelect = Select("users", "users", items, UserOptions, 1, true); + } + + // delegate returning id and title + public static void UserOptions(object o, out object id, out object title) + { + User user = (User)o; + id = user.Id; + value = user.RealName; + } + + + name, id, collection or getIdTitle is null. + + + + Creates a select list with the values in a collection. + + Name of the SELECT-tag + Id of the SELECT-tag + collection used to generate options. + delegate used to return id and title from objects. + value that should be marked as selected. + First row should contain an empty value. + name, value collection of extra HTML attributes. + string containing a SELECT-tag. + + name, id, collection or getIdTitle is null. + Invalid HTML attribute list. + + + + Generate a list of HTML options + + collection used to generate options. + delegate used to return id and title from objects. + value that should be marked as selected. + First row should contain an empty value. + + collection or getIdTitle is null. + + + sb is null. + + + + Creates a check box. + + element name + element value + determines if the check box is selected or not. This is done differently depending on the + type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if + the box is checked or not. + a list with additional attributes (name, value, name, value). + a generated radio button + + + + Creates a check box. + + element name + element id + element value + determines if the check box is selected or not. This is done differently depending on the + type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if + the box is checked or not. + a list with additional attributes (name, value, name, value). + a generated radio button + + value in your business object. (check box will be selected if it matches the element value) + + + + + Creates a check box. + + element name + element id + determines if the check box is selected or not. This is done differently depending on the + type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if + the box is checked or not. + a list with additional attributes (name, value, name, value). + a generated radio button + will set value to "1". + + + + Creates a RadioButton. + + element name + element value + determines if the radio button is selected or not. This is done differently depending on the + type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if + the box is checked or not. + a list with additional attributes (name, value, name, value). + a generated radio button + + + + Creates a RadioButton. + + element name + element id + element value + determines if the radio button is selected or not. This is done differently depending on the + type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if + the box is checked or not. + a list with additional attributes (name, value, name, value). + a generated radio button + + + + form close tag + + + + + + Delegate used by to populate select options. + + current object (for instance a User). + Text that should be displayed in the value part of a <optiongt;-tag. + Text shown in the select list. + + // Class that is going to be used in a SELECT-tag. + public class User + { + private readonly string _realName; + private readonly int _id; + public User(int id, string realName) + { + _id = id; + _realName = realName; + } + public string RealName + { + get { return _realName; } + } + + public int Id + { + get { return _id; } + } + } + + // Using an inline delegate to generate the select list + public void UserInlineDelegate() + { + List<User> items = new List<User>(); + items.Add(new User(1, "adam")); + items.Add(new User(2, "bertial")); + items.Add(new User(3, "david")); + string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value) + { + User user = (User)o; + id = user.Id; + value = user.RealName; + }, 2, true); + } + + // Using an method as delegate to generate the select list. + public void UseExternalDelegate() + { + List<User> items = new List<User>(); + items.Add(new User(1, "adam")); + items.Add(new User(2, "bertial")); + items.Add(new User(3, "david")); + string htmlSelect = Select("users", "users", items, UserOptions, 1, true); + } + + // delegate returning id and title + public static void UserOptions(object o, out object id, out object title) + { + User user = (User)o; + id = user.Id; + value = user.RealName; + } /// + + + + PrototypeJS implementation of the javascript functions. + + + + + Requests a url through ajax + + url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself. + optional options in format "key, value, key, value", used in JS request object. All keys should end with colon. + a link tag + onclick attribute is used by this method. + + + // plain text + JSHelper.AjaxRequest("'/user/show/1'"); + + // ajax request using this.href + string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>"; + + + + + + Determins if a list of strings contains a specific value + + options to check in + value to find + true if value was found + case insensitive + + + + Ajax requests that updates an element with + the fetched content + + URL to fetch. URL is NOT enclosed in quotes by the implementation. You need to do that yourself. + element to update + options in format "key, value, key, value". All keys should end with colon. + A link tag. + + + JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true"); + + + + + + A link that pop ups a Dialog (overlay div) + + URL to contents of dialog + link title + name, value, name, value + + A "a"-tag that popups a dialog when clicked + + Requires Control.Modal found here: http://livepipe.net/projects/control_modal/ + And the following JavaScript (load it in application.js): + + Event.observe(window, 'load', + function() { + document.getElementsByClassName('modal').each(function(link){ new Control.Modal(link); }); + } + ); + + + + WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); + + + + + create a modal dialog (usually using DIVs) + + url to fetch + dialog title + javascript/html attributes. javascript options ends with colon ':'. + + + + + Close a javascript dialog window/div. + + javascript for closing a dialog. + + + + + javascript action that should be added to the "onsubmit" event in the form tag. + + remember to encapsulate strings in '' + + All javascript option names should end with colon. + + + JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); + + + + + + Will contain helper functions for javascript. + + + + + Requests a url through ajax + + url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself. + optional options in format "key, value, key, value", used in JS request object. All keys should end with colon. + a link tag + onclick attribute is used by this method. + + + // plain text + JSHelper.AjaxRequest("'/user/show/1'"); + + // ajax request using this.href + string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>"; + + + + + + Ajax requests that updates an element with + the fetched content + + url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself. + element to update + options in format "key, value, key, value". All keys should end with colon. + A link tag. + + + JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true"); + + + + + + Opens contents in a dialog window. + + url to contents of dialog + link title + name, value, name, value, all parameter names should end with colon. + + + + Close a javascript dialog window/div. + + javascript for closing a dialog. + + + + + The object form class takes an object and creates form items for it. @@ -1063,2718 +1368,2467 @@ html - + - + Container to bind resource names to assemblies - - http://www.faqs.org/rfcs/rfc1867.html - - + - multipart/form-data + Instantiates an instance of + The dot seperated uri the resource maps to + The full resource name + The assembly the resource exists in - + - form-data + Retrieves the assembly the resource resides in - + - + Retrieves the full name/path of the assembly - Stream containing the content - Content type (with any additional info like boundry). Content type is always supplied in lower case - Stream enconding - A http form, or null if content could not be parsed. - If contents in the stream is not valid input data. - If any parameter is null - + - Checks if the decoder can handle the mime type + Retrieves the extension of the resource - Content type (with any additional info like boundry). Content type is always supplied in lower case. - True if the decoder can parse the specified content type - - - The request could not be understood by the server due to malformed syntax. - The client SHOULD NOT repeat the request without modifications. - - Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php - + + Returns the Uri without extension - - - Create a new bad request exception. - - reason to why the request was bad. + + Retrieves the full path name to the resource file - + - Create a new bad request exception. + Retrieves a stream to the resource - reason to why the request was bad. - inner exception + Null if the resource couldn't be located somehow - - - Cookies that should be set. - + + Class to handle loading of resource files - + - Adds a cookie in the collection. + Initializes a new instance of the class. - cookie to add - cookie is null - + - Copy a request cookie + Initializes a new instance of the class. - - When the cookie should expire + logger. - + - Gets a collection enumerator on the cookie list. + Loads resources from a namespace in the given assembly to an URI - collection enumerator + The URI to map the resources to + The assembly in which the resources reside + The namespace from which to load the resources + + + resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); + + Will make the resource MyLib.Models.User.Views.list.Haml accessible via /user/list.haml or /user/list/ + + The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded + If a resource has already been mapped to an uri - + - Remove all cookies + Retrieves a stream for the specified resource path if loaded otherwise null + Path to the resource to retrieve a stream for + A stream or null if the resource couldn't be found - + - Returns an enumerator that iterates through the collection. + Fetch all files from the resource that matches the specified arguments. - + The path to the resource to extract - A that can be used to iterate through the collection. + a list of files if found; or an empty array if no files are found. - 1 - - - - Gets the count of cookies in the collection. - - - - - Gets the cookie of a given identifier (null if not existing). - - - - - cookie being sent back to the browser. - - - - - - cookie sent by the client/browser - - - - - - Constructor. - - cookie identifier - cookie content - id or content is null - id is empty - - - - Gets the cookie HTML representation. - - cookie string - - - - Gets the cookie identifier. - - - - - Cookie value. Set to null to remove cookie. - - - - - Constructor. - - cookie identifier - cookie content - cookie expiration date. Use DateTime.MinValue for session cookie. - id or content is null - id is empty - - - - Create a new cookie - - name identifying the cookie - cookie value - when the cookie expires. Setting DateTime.MinValue will delete the cookie when the session is closed. - Path to where the cookie is valid - Domain that the cookie is valid for. + Search path must end with an asterisk for finding arbitrary files - + - Create a new cookie + Fetch all files from the resource that matches the specified arguments. - Name and value will be used - when the cookie expires. + Where the file should reside. + Files to check + + a list of files if found; or an empty array if no files are found. + - + - Gets the cookie HTML representation. + Returns whether or not the loader has an instance of the file requested - cookie string + The name of the template/file + True if the loader can provide the file - + - When the cookie expires. - DateTime.MinValue means that the cookie expires when the session do so. + Webhelper provides helpers for common tasks in HTML. - + - Cookie is only valid under this path. + Used to let the website use different javascript libraries. + Default is - + - Inversion of control interface. + Creates a link that invokes through ajax. + url to fetch + link title + + optional options in format "key, value, key, value". + Javascript options starts with ':'. + + a link tag + + WebHelper.AjaxRequest("/users/add/", "Add user", "method:", "post", "onclick", "validate('this');"); + - + - Add a component instance + Builds a link that updates an element with the fetched ajax content. - Interface type - Instance to add + Url to fetch content from + link title + html element to update with the results of the ajax request. + optional options in format "key, value, key, value" + A link tag. - + - Get a component. + A link that pop ups a Dialog (overlay div) - Interface type - Component if registered, otherwise null. - - Component will get created if needed. - + url to contents of dialog + link title + name/value of html attributes. + A "a"-tag that popups a dialog when clicked + + WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); + - + - Checks if the specified component interface have been added. + Create/Open a dialog box using ajax - - true if found; otherwise false. + + + + - + - Add a component. + Close a javascript dialog window/div. - Type being requested. - Type being created. + javascript for closing a dialog. + - + - Contains a listener that doesn't do anything with the connections. + Create a <form> tag. + name of form + action to invoke on submit + form should be posted as ajax + html code + + WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); + - + - Listen for regular HTTP connections + Create a link tag. - IP Address to accept connections on - TCP Port to listen on, default HTTP port is 80. - Factory used to create es. - address is null. - Port must be a positive number. + url to go to + link title (text that is displayed) + html attributes, name, value, name, value + html code + + WebHelper.Link("/user/show/1", "Show user", "id", "showUser", "onclick", "return confirm('Are you shure?');"); + - + - Initializes a new instance of the class. + Build a link - IP Address to accept connections on - TCP Port to listen on, default HTTPS port is 443 - Factory used to create es. - Certificate to use + url to go to. + title of link (displayed text) + extra html attributes. + a complete link - + - Initializes a new instance of the class. + Build a link - IP Address to accept connections on - TCP Port to listen on, default HTTPS port is 443 - Factory used to create es. - Certificate to use - which HTTPS protocol to use, default is TLS. - - - Exception. + url to go to. + title of link (displayed text) + extra html attributes. + a complete link + more options - + - Will try to accept connections one more time. + Obsolete - If any exceptions is thrown. + Obsolete + Obsolete + Obsolete + Obsolete + Obsolete + Obsolete - + - Can be used to create filtering of new connections. + Obsolete - Accepted socket - true if connection can be accepted; otherwise false. + Obsolete + Obsolete + Obsolete + Obsolete + Obsolete + Obsolete + Obsolete - + - Start listen for new connections + Render errors into a UL with class "errors" - Number of connections that can stand in a queue to be accepted. - Listener have already been started. + class used by UL-tag. + items to list + an unordered html list. - + - Stop the listener + Render errors into a UL with class "errors" - + class used by UL-tag. + items to list + an unordered html list. - + - Gives you a change to receive log entries for all internals of the HTTP library. + Render errors into a UL with class "errors" - - You may not switch log writer after starting the listener. - + + - + - True if we should turn on trace logs. + Generates a list with html attributes. + StringBuilder that the options should be added to. + attributes set by user. + attributes set by any of the helper classes. - + - Catch exceptions not handled by the listener. + Generates a list with html attributes. - - Exceptions will be thrown during debug mode if this event is not used, - exceptions will be printed to console and suppressed during release mode. - + StringBuilder that the options should be added to. + - + - A request have been received from a . + Purpose of this class is to create a javascript toolkit independent javascript helper. - + - New implementation of the HTTP listener. + Generates a list with JS options. - - Use the Create methods to create a default listener. - + StringBuilder that the options should be added to. + the javascript options. name, value pairs. each string value should be escaped by YOU! + true if we should start with a comma. - + - Initializes a new instance of the class. + Removes any javascript parameters from an array of parameters - IP Address to accept connections on - TCP Port to listen on, default HTTP port is 80. - Factory used to create es. - address is null. - Port must be a positive number. + The array of parameters to remove javascript params from + An array of html parameters - + - Initializes a new instance of the class. + javascript action that should be added to the "onsubmit" event in the form tag. - The address. - The port. - The factory. - The certificate. + + All javascript option names should end with colon. + + + JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); + + - + - Initializes a new instance of the class. + Requests a url through ajax - The address. - The port. - The factory. - The certificate. - The protocol. + url to fetch + optional options in format "key, value, key, value", used in JS request object. + a link tag + All javascript option names should end with colon. + + + JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); + + - + - Creates a new instance with default factories. + Ajax requests that updates an element with + the fetched content - Address that the listener should accept connections on. - Port that listener should accept connections on. - Created HTTP listener. + Url to fetch content from + element to update + optional options in format "key, value, key, value", used in JS updater object. + A link tag. + All javascript option names should end with colon. + + + JSHelper.AjaxUpdater("/user/show/1", "userInfo", "onsuccess:", "alert('Successful!');"); + + - + - Creates a new instance with default factories. + A link that pop ups a Dialog (overlay div) - Address that the listener should accept connections on. - Port that listener should accept connections on. - Certificate to use - Created HTTP listener. + url to contents of dialog + link title + A "a"-tag that popups a dialog when clicked + name/value of html attributes + + WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); + - + - Creates a new instance with default factories. + Close a javascript dialog window/div. - Address that the listener should accept connections on. - Port that listener should accept connections on. - Certificate to use - which HTTPS protocol to use, default is TLS. - Created HTTP listener. + javascript for closing a dialog. + - + - Can be used to create filtering of new connections. + Creates a new modal dialog window - Accepted socket - - true if connection can be accepted; otherwise false. - + url to open in window. + window title (may not be supported by all js implementations) + + - + - A client have been accepted, but not handled, by the listener. + Helpers to make XML handling easier - + - redirects from one URL to another. + Serializes object to XML. + object to serialize. + XML + + Removes name spaces and adds indentation + - + - Rules are used to perform operations before a request is being handled. - Rules can be used to create routing etc. + Create an object from a XML string + Type of object + XML string + object - + - Process the incoming request. + Contains a connection to a browser/client. - incoming HTTP request - outgoing HTTP response - true if response should be sent to the browser directly (no other rules or modules will be processed). - returning true means that no modules will get the request. Returning true is typically being done - for redirects. + Remember to after you have hooked the event. - If request or response is null. + TODO: Maybe this class should be broken up into HttpClientChannel and HttpClientContext? - + - Initializes a new instance of the class. + This context have been cleaned, which means that it can be reused. - Absolute path (no server name) - Absolute path (no server name) - - server.Add(new RedirectRule("/", "/user/index")); - - + - Initializes a new instance of the class. + Context have been started (a new client have connected) - Absolute path (no server name) - Absolute path (no server name) - true if request should be redirected, false if the request URI should be replaced. - - server.Add(new RedirectRule("/", "/user/index")); - - + - Process the incoming request. + Initializes a new instance of the class. - incoming HTTP request - outgoing HTTP response - true if response should be sent to the browser directly (no other rules or modules will be processed). - - returning true means that no modules will get the request. Returning true is typically being done - for redirects. - + true if the connection is secured (SSL/TLS) + client that connected. + Stream used for communication + Used to create a . + Size of buffer to use when reading data. Must be at least 4096 bytes. + If fails + Stream must be writable and readable. - + - Gets string to match request URI with. + Process incoming body bytes. - Is compared to request.Uri.AbsolutePath + + Bytes - + - Gets where to redirect. + + + - + - Gets whether server should redirect client. + Overload to specify own type. - false means that the rule will replace - the current request URI with the new one from this class. - true means that a redirect response is sent to the client. + Must be specified before the context is being used. - - - Parses a HTTP request directly from a stream - - - + - Event driven parser used to parse incoming HTTP requests. + Start reading content. - The parser supports partial messages and keeps the states between - each parsed buffer. It's therefore important that the parser gets - ed if a client disconnects. + Make sure to call base.Start() if you override this method. - + - Parse partial or complete message. + Clean up context. - buffer containing incoming bytes - where in buffer that parsing should start - number of bytes to parse - Unparsed bytes left in buffer. - BadRequestException. + + Make sure to call base.Cleanup() if you override the method. + - + - Clear parser state. + Using SSL or other encryption method. - + - Current state in parser. + Using SSL or other encryption method. - + - A request have been successfully parsed. + Specify which logger to use. - + - More body bytes have been received. + Gets or sets the network stream. - + - Request line have been received. + Gets or sets IP address that the client connected from. - + - A header have been received. + Gets or sets port that the client connected from. - + - Gets or sets the log writer. + Disconnect from client + error to report in the event. - + - Create a new request parser + Send a response. - delegate receiving log entries. + Either or + HTTP status code + reason for the status code. + HTML body contents, can be null or empty. + A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty + If is invalid. - + - Add a number of bytes to the body + Send a response. - buffer containing more body bytes. - starting offset in buffer - number of bytes, from offset, to read. - offset to continue from. + Either or + HTTP status code + reason for the status code. - + - Remove all state information for the request. + Send a response. + - + - Parse request line + send a whole buffer - - If line is incorrect - Expects the following format: "Method SP Request-URI SP HTTP-Version CRLF" + buffer to send + - + - We've parsed a new header. + Send data using the stream - Name in lower case - Value, unmodified. - If content length cannot be parsed. + Contains data to send + Start position in buffer + number of bytes to send + + - + - Parse a message + The context have been disconnected. - bytes to parse. - where in buffer that parsing should start - number of bytes to parse, starting on . - offset (where to start parsing next). - BadRequestException. + + Event can be used to clean up a context, or to reuse it. + - + - Gets or sets the log writer. + A request have been received in the context. - + - Current state in parser. + Used to create and reuse contexts. - + - A request have been successfully parsed. + Initializes a new instance of the class. + The writer. + Amount of bytes to read from the incoming socket stream. + Used to create a request parser. - + - More body bytes have been received. + True if detailed trace logs should be written. - + - Request line have been received. + Create a new context. + true if socket is running HTTPS. + Client that connected + Network/SSL stream. + A context. - + - A header have been received. + Create a new context. + true if HTTPS is used. + Remote client + Network stream, uses . + A new context (always). - + - A thread-safe lockless queue that supports multiple readers and - multiple writers + Create a secure . + Client socket (accepted by the ). + HTTPS certificate to use. + Kind of HTTPS protocol. Usually TLS or SSL. + + A created . + - - Queue head - - - Queue tail - - - Queue item count - - + - Constructor + A request have been received from one of the contexts. - + - Enqueue an item + Creates a that handles a connected client. - Item to enqeue + Client socket (accepted by the ). + + A creates . + - + - Try to dequeue an item + Server is shutting down so shut down the factory - Dequeued item if the dequeue was successful - True if an item was successfully deqeued, otherwise false - - - Gets the current number of items in the queue. Since this - is a lockless collection this value should be treated as a close - estimate - + - Provides a node container for data in a singly linked list + Custom network stream to mark sockets as reusable when disposing the stream. - - Pointer to the next node in list - - - The data contained by the node - - + - Constructor + Creates a new instance of the class for the specified . + + The that the will use to send and receive data. + + + The parameter is null. + + + The parameter is not connected. + -or- + The property of the parameter is not . + -or- + The parameter is in a nonblocking state. + - + - Constructor + Initializes a new instance of the class for the specified with the specified ownership. + + The that the will use to send and receive data. + + + Set to true to indicate that the will take ownership of the ; otherwise, false. + + + The parameter is null. + + + The parameter is not connected. + -or- + the value of the property of the parameter is not . + -or- + the parameter is in a nonblocking state. + - + - Contains server side HTTP request information. + Creates a new instance of the class for the specified with the specified access rights. + + The that the will use to send and receive data. + + + A bitwise combination of the values that specify the type of access given to the over the provided . + + + The parameter is null. + + + The parameter is not connected. + -or- + the property of the parameter is not . + -or- + the parameter is in a nonblocking state. + - + - Called during parsing of a . + Creates a new instance of the class for the specified with the specified access rights and the specified ownership. - Name of the header, should not be URL encoded - Value of the header, should not be URL encoded - If a header is incorrect. + + The that the will use to send and receive data. + + + A bitwise combination of the values that specifies the type of access given to the over the provided . + + + Set to true to indicate that the will take ownership of the ; otherwise, false. + + + The parameter is null. + + + The parameter is not connected. + -or- + The property of the parameter is not . + -or- + The parameter is in a nonblocking state. + - + - Add bytes to the body + Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. - buffer to read bytes from - where to start read - number of bytes to read - Number of bytes actually read (same as length unless we got all body bytes). - If body is not writable - bytes is null. - offset is out of range. - + - Clear everything in the request + Releases the unmanaged resources used by the and optionally releases the managed resources. + true to release both managed and unmanaged resources; false to release only unmanaged resources. - + - Decode body into a form. + Used to create es. - A list with form decoders. - If body contents is not valid for the chosen decoder. - If body is still being transferred. - + - Sets the cookies. + Creates a that handles a connected client. - The cookies. + Client socket (accepted by the ). + A creates . - + - Create a response object. + Create a secure . - Context for the connected client. - A new . + Client socket (accepted by the ). + HTTPS certificate to use. + Kind of HTTPS protocol. Usually TLS or SSL. + A created . - + - Gets kind of types accepted by the client. + A request have been received from one of the contexts. - + - Gets or sets body stream. + Server is shutting down so shut down the factory - + - Gets whether the body is complete. + Container class for posted files - + - Gets or sets kind of connection used for the session. + Creates a container for a posted file + The identifier of the post field + The file path + The content type of the file + The name of the file uploaded + If any parameter is null or empty - + - Gets or sets number of bytes in the body. + Creates a container for a posted file + If any parameter is null or empty - + + Destructor disposing the file + + - Gets cookies that was sent with the request. + The name/id of the file - + - Gets form parameters. + The full file path - + - Gets headers sent by the client. + The name of the uploaded file - + - Gets or sets version of HTTP protocol that's used. + The type of file - - Probably or . - - - + - Gets whether the request was made by Ajax (Asynchronous JavaScript) + Deletes the temporary file + True if manual dispose - + - Gets or sets requested method. + Disposing interface, cleans up managed resources (the temporary file) and suppresses finalization - - Will always be in upper case. - - - - - Gets parameter from or . - + + Container for posted form data + + + Instance to help mark a non-initialized form + + + Initializes a form container with the specified name - + - Gets variables sent in the query string + Makes a deep copy of the input + The input to copy - + - Gets or sets requested URI. + Adds a file to the collection of posted files + The file to add + If the file is already added + If file is null + If the instance is HttpForm.EmptyForm which cannot be modified - + - Gets URI absolute path divided into parts. + Checks if the form contains a specified file - - // URI is: http://gauffin.com/code/tiny/ - Console.WriteLine(request.UriParts[0]); // result: code - Console.WriteLine(request.UriParts[1]); // result: tiny - - - If you're using controllers than the first part is controller name, - the second part is method name and the third part is Id property. - - + Field name of the file parameter + True if the file exists + If the instance is HttpForm.EmptyForm which cannot be modified - + - Gets or sets path and query. + Retrieves a file held by by the form - - - Are only used during request parsing. Cannot be set after "Host" header have been - added. - + The identifier of the file + The requested file or null if the file was not found + If name is null or empty + If the instance is HttpForm.EmptyForm which cannot be modified - + - PrototypeJS implementation of the javascript functions. + Retrieves the number of files added to the + 0 if no files are added - + + Disposes all held HttpFile's and resets values + + - Purpose of this class is to create a javascript toolkit independent javascript helper. + Generic helper functions for HTTP - + - Generates a list with JS options. + Version string for HTTP v1.0 - StringBuilder that the options should be added to. - the javascript options. name, value pairs. each string value should be escaped by YOU! - true if we should start with a comma. - + - Removes any javascript parameters from an array of parameters + Version string for HTTP v1.1 - The array of parameters to remove javascript params from - An array of html parameters - + - javascript action that should be added to the "onsubmit" event in the form tag. + An empty URI - - All javascript option names should end with colon. - - - JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); - - - + - Requests a url through ajax + Parses a query string. - url to fetch - optional options in format "key, value, key, value", used in JS request object. - a link tag - All javascript option names should end with colon. - - - JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); - - + Query string (URI encoded) + A object if successful; otherwise + queryString is null. + If string cannot be parsed. - + - Ajax requests that updates an element with - the fetched content + Contains some kind of input from the browser/client. + can be QueryString, form data or any other request body content. - Url to fetch content from - element to update - optional options in format "key, value, key, value", used in JS updater object. - A link tag. - All javascript option names should end with colon. - - - JSHelper.AjaxUpdater("/user/show/1", "userInfo", "onsuccess:", "alert('Successful!');"); - - - + + Representation of a non-initialized class instance + + + Variable telling the class that it is non-initialized + + - A link that pop ups a Dialog (overlay div) + Initializes a new instance of the class. - url to contents of dialog - link title - A "a"-tag that popups a dialog when clicked - name/value of html attributes - - WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); - + form name. - + - Close a javascript dialog window/div. + Initializes a new instance of the class. - javascript for closing a dialog. - + form name. + if set to true all changes will be ignored. + this constructor should only be used by Empty - + + Creates a deep copy of the HttpInput class + The object to copy + The function makes a deep copy of quite a lot which can be slow + + - Creates a new modal dialog window + Form name as lower case - url to open in window. - window title (may not be supported by all js implementations) - - - + - Requests a url through ajax + Add a new element. Form array elements are parsed + and added in a correct hierarchy. - url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself. - optional options in format "key, value, key, value", used in JS request object. All keys should end with colon. - a link tag - onclick attribute is used by this method. - - - // plain text - JSHelper.AjaxRequest("'/user/show/1'"); - - // ajax request using this.href - string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>"; - - + Name is converted to lower case. + + name is null. + Cannot add stuff to . - + - Determins if a list of strings contains a specific value + Get a form item. - options to check in - value to find - true if value was found - case insensitive + + Returns if item was not found. - + - Ajax requests that updates an element with - the fetched content + Returns true if the class contains a with the corresponding name. - URL to fetch. URL is NOT enclosed in quotes by the implementation. You need to do that yourself. - element to update - options in format "key, value, key, value". All keys should end with colon. - A link tag. - - - JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true"); - - + The field/query string name + True if the value exists - + - A link that pop ups a Dialog (overlay div) + Parses an item and returns it. + This function is primarily used to parse array items as in user[name]. - URL to contents of dialog - link title - name, value, name, value - - A "a"-tag that popups a dialog when clicked - - Requires Control.Modal found here: http://livepipe.net/projects/control_modal/ - And the following JavaScript (load it in application.js): - - Event.observe(window, 'load', - function() { - document.getElementsByClassName('modal').each(function(link){ new Control.Modal(link); }); - } - ); - - - - WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); - + + + - + + Outputs the instance representing all its values joined together + + + + Returns all items as an unescaped query string. + + + - create a modal dialog (usually using DIVs) + Extracts one parameter from an array - url to fetch - dialog title - javascript/html attributes. javascript options ends with colon ':'. - + Containing the string array + All but the first value + + string test1 = ExtractOne("system[user][extension][id]"); + string test2 = ExtractOne(test1); + string test3 = ExtractOne(test2); + // test1 = user[extension][id] + // test2 = extension[id] + // test3 = id + - + + Resets all data contained by class + + - Close a javascript dialog window/div. + Returns an enumerator that iterates through the collection. - javascript for closing a dialog. - + + + A that can be used to iterate through the collection. + + 1 - + - javascript action that should be added to the "onsubmit" event in the form tag. + Returns an enumerator that iterates through a collection. - remember to encapsulate strings in '' - - All javascript option names should end with colon. - - - JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); - - + + + An object that can be used to iterate through the collection. + + 2 - + - Helpers making it easier to work with forms. + Base class for request data containers - - + - Used to let the website use different JavaScript libraries. - Default is + Adds a parameter mapped to the presented name + The name to map the parameter to + The parameter value - + - Create a <form> tag. + Returns a request parameter - name of form - action to invoke on submit - form should be posted as Ajax - HTML code - - - // without options - WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); - - // with options - WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax, "style", "display:inline", "class", "greenForm"); - - - HTML attributes or JavaScript options. - Method will ALWAYS be POST. - options must consist of name, value, name, value + The name associated with the parameter + - + - Creates a select list with the values in a collection. + Returns true if the container contains the requested parameter - Name of the SELECT-tag - collection used to generate options. - delegate used to return id and title from objects. - value that should be marked as selected. - First row should contain an empty value. - string containing a SELECT-tag. - + Parameter id + True if parameter exists - + - Creates a select list with the values in a collection. + represents a HTTP input item. Each item can have multiple sub items, a sub item + is made in a HTML form by using square brackets - Name of the SELECT-tag - Id of the SELECT-tag - collection used to generate options. - delegate used to return id and title from objects. - value that should be marked as selected. - First row should contain an empty value. - string containing a SELECT-tag. - - - // Class that is going to be used in a SELECT-tag. - public class User - { - private readonly string _realName; - private readonly int _id; - public User(int id, string realName) - { - _id = id; - _realName = realName; - } - public string RealName - { - get { return _realName; } - } - - public int Id - { - get { return _id; } - } - } - - // Using an inline delegate to generate the select list - public void UserInlineDelegate() - { - List<User> items = new List<User>(); - items.Add(new User(1, "adam")); - items.Add(new User(2, "bertial")); - items.Add(new User(3, "david")); - string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value) - { - User user = (User)o; - id = user.Id; - value = user.RealName; - }, 2, true); - } - - // Using an method as delegate to generate the select list. - public void UseExternalDelegate() - { - List<User> items = new List<User>(); - items.Add(new User(1, "adam")); - items.Add(new User(2, "bertial")); - items.Add(new User(3, "david")); - string htmlSelect = Select("users", "users", items, UserOptions, 1, true); - } - - // delegate returning id and title - public static void UserOptions(object o, out object id, out object title) - { - User user = (User)o; - id = user.Id; - value = user.RealName; - } - + // becomes: + Console.WriteLine("Value: {0}", form["user"]["FirstName"].Value); - name, id, collection or getIdTitle is null. + + All names in a form SHOULD be in lowercase. + - - - Creates a select list with the values in a collection. - - Name of the SELECT-tag - Id of the SELECT-tag - collection used to generate options. - delegate used to return id and title from objects. - value that should be marked as selected. - First row should contain an empty value. - name, value collection of extra HTML attributes. - string containing a SELECT-tag. - - name, id, collection or getIdTitle is null. - Invalid HTML attribute list. + + Representation of a non-initialized . - + - Generate a list of HTML options + Initializes an input item setting its name/identifier and value - collection used to generate options. - delegate used to return id and title from objects. - value that should be marked as selected. - First row should contain an empty value. - - collection or getIdTitle is null. + Parameter name/id + Parameter value - - sb is null. + + Creates a deep copy of the item specified + The item to copy + The function makes a deep copy of quite a lot which can be slow - + - Creates a check box. + Number of values - element name - element value - determines if the check box is selected or not. This is done differently depending on the - type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if - the box is checked or not. - a list with additional attributes (name, value, name, value). - a generated radio button - + - Creates a check box. + Get a sub item - element name - element id - element value - determines if the check box is selected or not. This is done differently depending on the - type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if - the box is checked or not. - a list with additional attributes (name, value, name, value). - a generated radio button - - value in your business object. (check box will be selected if it matches the element value) - + name in lower case. + if no item was found. - + - Creates a check box. + Name of item (in lower case). - element name - element id - determines if the check box is selected or not. This is done differently depending on the - type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if - the box is checked or not. - a list with additional attributes (name, value, name, value). - a generated radio button - will set value to "1". - + - Creates a RadioButton. + Returns the first value, or null if no value exist. - element name - element value - determines if the radio button is selected or not. This is done differently depending on the - type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if - the box is checked or not. - a list with additional attributes (name, value, name, value). - a generated radio button - + - Creates a RadioButton. + Returns the last value, or null if no value exist. + + + + + Returns the list with values. - element name - element id - element value - determines if the radio button is selected or not. This is done differently depending on the - type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if - the box is checked or not. - a list with additional attributes (name, value, name, value). - a generated radio button - + - form close tag + Add another value to this item - + Value to add. + Cannot add stuff to . - + - We dont want to let the server to die due to exceptions thrown in worker threads. - therefore we use this delegate to give you a change to handle uncaught exceptions. + checks if a sub-item exists (and has a value). - Class that the exception was thrown in. - Exception - - Server will throw a InternalServerException in release version if you dont - handle this delegate. - + name in lower case + true if the sub-item exists and has a value; otherwise false. - + + Returns a formatted representation of the instance with the values of all contained parameters + + - Implements HTTP Digest authentication. It's more secure than Basic auth since password is - encrypted with a "key" from the server. + Outputs the string in a formatted manner - - Keep in mind that the password is encrypted with MD5. Use a combination of SSL and digest auth to be secure. - + A prefix to append, used internally + produce a query string - + - Authentication modules are used to implement different - kind of HTTP authentication. + + name in lower case + - + - Tag used for authentication. + Add a sub item. + Can contain array formatting, the item is then parsed and added in multiple levels + Value to add. + Argument is null. + Cannot add stuff to . - + - Initializes a new instance of the class. + Returns an enumerator that iterates through the collection. - Delegate used to provide information used during authentication. - Delegate used to determine if authentication is required (may be null). + + + A that can be used to iterate through the collection. + + 1 - + - Initializes a new instance of the class. + Returns an enumerator that iterates through a collection. - Delegate used to provide information used during authentication. + + + An object that can be used to iterate through the collection. + + 2 - + - Create a response that can be sent in the WWW-Authenticate header. + Outputs the string in a formatted manner - Realm that the user should authenticate in - Array with optional options. - A correct authentication request. - If realm is empty or null. + A prefix to append, used internally + - + - An authentication response have been received from the web browser. - Check if it's correct + New implementation of the HTTP listener. - Contents from the Authorization header - Realm that should be authenticated - GET/POST/PUT/DELETE etc. - options to specific implementations - Authentication object that is stored for the request. A user class or something like that. - if is invalid - If any of the parameters is empty or null. + + Use the Create methods to create a default listener. + - + - Used to invoke the authentication delegate that is used to lookup the user name/realm. + A client have been accepted, but not handled, by the listener. - Realm (domain) that user want to authenticate in - User name - Password used for validation. Some implementations got password in clear text, they are then sent to client. - object that will be stored in the request to help you identify the user if authentication was successful. - true if authentication was successful - + - Determines if authentication is required. + Initializes a new instance of the class. - HTTP request from browser - true if user should be authenticated. - throw from your delegate if no more attempts are allowed. - If no more attempts are allowed + IP Address to accept connections on + TCP Port to listen on, default HTTP port is 80. + Factory used to create es. + address is null. + Port must be a positive number. - + - name used in HTTP request. + Initializes a new instance of the class. + The address. + The port. + The factory. + The certificate. - + - Initializes a new instance of the class. + Initializes a new instance of the class. - Delegate used to provide information used during authentication. - Delegate used to determine if authentication is required (may be null). + The address. + The port. + The factory. + The certificate. + The protocol. - + - Initializes a new instance of the class. + Creates a new instance with default factories. - Delegate used to provide information used during authentication. + Address that the listener should accept connections on. + Port that listener should accept connections on. + Created HTTP listener. - + - Used by test classes to be able to use hardcoded values + Creates a new instance with default factories. + Address that the listener should accept connections on. + Port that listener should accept connections on. + Certificate to use + Created HTTP listener. - + - An authentication response have been received from the web browser. - Check if it's correct + Creates a new instance with default factories. - Contents from the Authorization header - Realm that should be authenticated - GET/POST/PUT/DELETE etc. - First option: true if username/password is correct but not cnonce - - Authentication object that is stored for the request. A user class or something like that. - - if authenticationHeader is invalid - If any of the paramters is empty or null. + Address that the listener should accept connections on. + Port that listener should accept connections on. + Certificate to use + which HTTPS protocol to use, default is TLS. + Created HTTP listener. - + - Encrypts parameters into a Digest string + Can be used to create filtering of new connections. - Realm that the user want to log into. - User logging in - Users password. - HTTP method. - Uri/domain that generated the login prompt. - Quality of Protection. - "Number used ONCE" - Hexadecimal request counter. - "Client Number used ONCE" - Digest encrypted string + Accepted socket + + true if connection can be accepted; otherwise false. + - + - + Contains a listener that doesn't do anything with the connections. - Md5 hex encoded "userName:realm:password", without the quotes. - Md5 hex encoded "method:uri", without the quotes - Quality of Protection - "Number used ONCE" - Hexadecimal request counter. - Client number used once - - + - Create a response that can be sent in the WWW-Authenticate header. + Listen for regular HTTP connections - Realm that the user should authenticate in - First options specifies if true if username/password is correct but not cnonce. - A correct auth request. - If realm is empty or null. + IP Address to accept connections on + TCP Port to listen on, default HTTP port is 80. + Factory used to create es. + address is null. + Port must be a positive number. - + - Decodes authorization header value + Initializes a new instance of the class. - header value - Encoding that the buffer is in - All headers and their values if successful; otherwise null - - NameValueCollection header = DigestAuthentication.Decode("response=\"6629fae49393a05397450978507c4ef1\",\r\nc=00001", Encoding.ASCII); - - Can handle lots of whitespaces and new lines without failing. + IP Address to accept connections on + TCP Port to listen on, default HTTPS port is 443 + Factory used to create es. + Certificate to use - + - Gets the current nonce. + Initializes a new instance of the class. - + IP Address to accept connections on + TCP Port to listen on, default HTTPS port is 443 + Factory used to create es. + Certificate to use + which HTTPS protocol to use, default is TLS. - + - Gets the Md5 hash bin hex2. + Gives you a change to receive log entries for all internals of the HTTP library. - To be hashed. - + + You may not switch log writer after starting the listener. + - + - determines if the nonce is valid or has expired. + True if we should turn on trace logs. - nonce value (check wikipedia for info) - true if the nonce has not expired. - + + Exception. + + - name used in http request. + Will try to accept connections one more time. + If any exceptions is thrown. - + - Gets or sets whether the token supplied in is a - HA1 generated string. + Can be used to create filtering of new connections. + Accepted socket + true if connection can be accepted; otherwise false. - + - Generic helper functions for HTTP + Start listen for new connections + Number of connections that can stand in a queue to be accepted. + Listener have already been started. - + - Version string for HTTP v1.0 + Stop the listener + - + - Version string for HTTP v1.1 + Catch exceptions not handled by the listener. + + Exceptions will be thrown during debug mode if this event is not used, + exceptions will be printed to console and suppressed during release mode. + - + - An empty URI + A request have been received from a . - + - Parses a query string. + The purpose of this module is to serve files. - Query string (URI encoded) - A object if successful; otherwise - queryString is null. - If string cannot be parsed. - + - Delegate used to let authentication modules authenticate the user name and password. + Initializes a new instance of the class. - Realm that the user want to authenticate in - User name specified by client - Can either be user password or implementation specific token. - object that will be stored in a session variable called if authentication was successful. - throw forbidden exception if too many attempts have been made. - - - Use to specify that the token is a HA1 token. (MD5 generated - string from realm, user name and password); Md5String(userName + ":" + realm + ":" + password); - - + Uri to serve, for instance "/files/" + Path on hard drive where we should start looking for files + If true a Last-Modifed header will be sent upon requests urging web browser to cache files - + - Let's you decide on a system level if authentication is required. + Initializes a new instance of the class. - HTTP request from client - true if user should be authenticated. - throw if no more attempts are allowed. - If no more attempts are allowed + Uri to serve, for instance "/files/" + Path on hard drive where we should start looking for files - + - Arguments used when more body bytes have come. + List with all mime-type that are allowed. + All other mime types will result in a Forbidden http status code. - + - Initializes a new instance of the class. + characters that may not exist in a path. - buffer that contains the received bytes. - offset in buffer where to start processing. - number of bytes from that should be parsed. + + fileMod.ForbiddenChars = new string[]{ "\\", "..", ":" }; + - + - Initializes a new instance of the class. + Mimtypes that this class can handle per default - + - Gets or sets buffer that contains the received bytes. + Determines if the request should be handled by this module. + Invoked by the + + true if this module should handle it. - + + Illegal path + + - Gets or sets number of bytes from that should be parsed. + check if source contains any of the chars. + + + - + - Gets or sets offset in buffer where to start processing. + Method that process the Uri. + Information sent by the browser about the request + Information that is being sent back to the client. + Session used to + Failed to find file extension + File type is forbidden. - + - Contains all HTTP Methods (according to the HTTP 1.1 specification) - - See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html - + return a file extension from an absolute Uri path (or plain filename) + + - + - The DELETE method requests that the origin server delete the resource identified by the Request-URI. + A HttpModule can be used to serve Uri's. The module itself + decides if it should serve a Uri or not. In this way, you can + get a very flexible http application since you can let multiple modules + serve almost similar urls. - - This method MAY be overridden by human intervention (or other means) on the origin server. - The client cannot be guaranteed that the operation has been carried out, even if the status code - returned from the origin server indicates that the action has been completed successfully. - - - However, the server SHOULD NOT indicate success unless, at the time the response is given, - it intends to delete the resource or move it to an inaccessible location. - - - A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, - 202 (Accepted) if the action has not yet been enacted, - or 204 (No Content) if the action has been enacted but the response does not include an entity. - - - If the request passes through a cache and the Request-URI identifies one or more currently cached entities, - those entries SHOULD be treated as stale. Responses to this method are not cacheable. - + Throw if you are using a and want to prompt for user name/password. - + - The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. + Method that process the url - - - If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the - entity in the response and not the source text of the process, unless that text happens to be the output of the process. - - - The semantics of the GET method change to a "conditional GET" if the request message includes an - If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. - A conditional GET method requests that the entity be transferred only under the circumstances described - by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network - usage by allowing cached entities to be refreshed without requiring multiple requests or transferring - data already held by the client. - - + Information sent by the browser about the request + Information that is being sent back to the client. + Session used to + true if this module handled the request. - + - The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. + Set the log writer to use. - - The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the - information sent in response to a GET request. This method can be used for obtaining meta information about - the entity implied by the request without transferring the entity-body itself. - - This method is often used for testing hypertext links for validity, accessibility, and recent modification. - + logwriter to use. - + - The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI. + Log something. - - This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval. - + importance of log message + message - + - The POST method is used to request that the origin server accept the entity enclosed - in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. + If true specifies that the module doesn't consume the processing of a request so that subsequent modules + can continue processing afterwards. Default is false. - - POST is designed to allow a uniform method to cover the following functions: - - - Annotation of existing resources; - - Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles; - - Providing a block of data, such as the result of submitting a form, to a data-handling process; - - Extending a database through an append operation. - - - - If a resource has been created on the origin server, the response SHOULD be 201 (Created) and - contain an entity which describes the status of the request and refers to the new resource, and a - Location header (see section 14.30). - - - The action performed by the POST method might not result in a resource that can be identified by a URI. - In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on - whether or not the response includes an entity that describes the result. - - Responses to this method are not cacheable, unless the response includes appropriate Cache-Control - or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent - to retrieve a cacheable resource. - - - + - The PUT method requests that the enclosed entity be stored under the supplied Request-URI. + Used to inform http server that - - - - If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a - modified version of the one residing on the origin server. - - If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new - resource by the requesting user agent, the origin server can create the resource with that URI. - - If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. - - If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to - indicate successful completion of the request. - - If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be - given that reflects the nature of the problem. - - - - The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not - understand or implement and MUST return a 501 (Not Implemented) response in such cases. - - - + - The TRACE method is used to invoke a remote, application-layer loop- back of the request message. + Eventarguments used when an exception is thrown by a module + the exception - + - Contains all HTTP Methods (according to the HTTP 1.1 specification) - - See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html - + Exception thrown in a module - + - The DELETE method requests that the origin server delete the resource identified by the Request-URI. + Serves files that are stored in embedded resources. - - - This method MAY be overridden by human intervention (or other means) on the origin server. - The client cannot be guaranteed that the operation has been carried out, even if the status code - returned from the origin server indicates that the action has been completed successfully. - - - However, the server SHOULD NOT indicate success unless, at the time the response is given, - it intends to delete the resource or move it to an inaccessible location. - - - A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, - 202 (Accepted) if the action has not yet been enacted, - or 204 (No Content) if the action has been enacted but the response does not include an entity. - - - If the request passes through a cache and the Request-URI identifies one or more currently cached entities, - those entries SHOULD be treated as stale. Responses to this method are not cacheable. - - - + - The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. + Initializes a new instance of the class. + Runs to make sure the basic mime types are available, they can be cleared later + through the use of if desired. - - - If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the - entity in the response and not the source text of the process, unless that text happens to be the output of the process. - - - The semantics of the GET method change to a "conditional GET" if the request message includes an - If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. - A conditional GET method requests that the entity be transferred only under the circumstances described - by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network - usage by allowing cached entities to be refreshed without requiring multiple requests or transferring - data already held by the client. - - - + - The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. + Initializes a new instance of the class. + Runs to make sure the basic mime types are available, they can be cleared later + through the use of if desired. - - The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the - information sent in response to a GET request. This method can be used for obtaining meta information about - the entity implied by the request without transferring the entity-body itself. + The log writer to use when logging events + + + + List with all mime-type that are allowed. + + All other mime types will result in a Forbidden http status code. + + + + Mimtypes that this class can handle per default + + + + + Loads resources from a namespace in the given assembly to an uri + + The uri to map the resources to + The assembly in which the resources reside + The namespace from which to load the resources + + resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); - This method is often used for testing hypertext links for validity, accessibility, and recent modification. - + will make ie the resource MyLib.Models.User.Views.stylesheet.css accessible via /user/stylesheet.css + + The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded - + - The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI. + Returns true if the module can handle the request - - This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval. - - + - The POST method is used to request that the origin server accept the entity enclosed - in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. + Method that process the url - - POST is designed to allow a uniform method to cover the following functions: - - - Annotation of existing resources; - - Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles; - - Providing a block of data, such as the result of submitting a form, to a data-handling process; - - Extending a database through an append operation. - - - - If a resource has been created on the origin server, the response SHOULD be 201 (Created) and - contain an entity which describes the status of the request and refers to the new resource, and a - Location header (see section 14.30). - - - The action performed by the POST method might not result in a resource that can be identified by a URI. - In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on - whether or not the response includes an entity that describes the result. - - Responses to this method are not cacheable, unless the response includes appropriate Cache-Control - or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent - to retrieve a cacheable resource. - - + Information sent by the browser about the request + Information that is being sent back to the client. + Session used to + true if this module handled the request. - + - The PUT method requests that the enclosed entity be stored under the supplied Request-URI. + A reverse proxy are used to act as a bridge between local (protected/hidden) websites + and public clients. + + A typical usage is to allow web servers on non standard ports to still be available + to the public clients, or allow web servers on private ips to be available. - - - - If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a - modified version of the one residing on the origin server. - - If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new - resource by the requesting user agent, the origin server can create the resource with that URI. - - If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. - - If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to - indicate successful completion of the request. - - If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be - given that reflects the nature of the problem. - - - - The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not - understand or implement and MUST return a 501 (Not Implemented) response in such cases. - - - + - The TRACE method is used to invoke a remote, application-layer loop- back of the request message. + + Base url requested from browser + Base url on private web server + + // this will return contents from http://192.168.1.128/view/jonas when client requests http://www.gauffin.com/user/view/jonas + _server.Add(new ReverseProxyModule("http://www.gauffin.com/user/", "http://192.168.1.128/"); + - + - Used to create and reuse contexts. + Method that determines if an url should be handled or not by the module + Url requested by the client. + true if module should handle the url. - + - Used to create es. + Method that process the url + Information sent by the browser about the request + Information that is being sent back to the client. + Session used to - + - Creates a that handles a connected client. + The website module let's you handle multiple websites in the same server. + It uses the "Host" header to check which site you want. - Client socket (accepted by the ). - A creates . + It's recommended that you do not + add any other modules to HttpServer if you are using the website module. Instead, + add all wanted modules to each website. - + - Create a secure . + - Client socket (accepted by the ). - HTTPS certificate to use. - Kind of HTTPS protocol. Usually TLS or SSL. - A created . + domain name that should be handled. + - + - Server is shutting down so shut down the factory + Name of site. - + - A request have been received from one of the contexts. + Method that process the url + Information sent by the browser about the request + Information that is being sent back to the client. + Session used to - + - Initializes a new instance of the class. + Returns item either from a form or a query string (checks them in that order) - The writer. - Amount of bytes to read from the incoming socket stream. - Used to create a request parser. - + + Representation of a non-initialized HttpParam + + + Initialises the class to hold a value either from a post request or a querystring request + + - Create a new context. + The add method is not availible for HttpParam + since HttpParam checks both Request.Form and Request.QueryString - true if socket is running HTTPS. - Client that connected - Network/SSL stream. - A context. + name identifying the value + value to add + - + - Create a new context. + Checks whether the form or querystring has the specified value - true if HTTPS is used. - Remote client - Network stream, uses . - A new context (always). + Name, case sensitive + true if found; otherwise false. - + - Create a secure . + Fetch an item from the form or querystring (in that order). - Client socket (accepted by the ). - HTTPS certificate to use. - Kind of HTTPS protocol. Usually TLS or SSL. - - A created . - + + Item if found; otherwise HttpInputItem.EmptyLanguageNode - + - Creates a that handles a connected client. + Returns an enumerator that iterates through the collection. - Client socket (accepted by the ). + - A creates . + A that can be used to iterate through the collection. + 1 - + - Server is shutting down so shut down the factory + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 - + - True if detailed trace logs should be written. + Contains server side HTTP request information. - + - A request have been received from one of the contexts. + Chars used to split an URL path into multiple parts. - + - Custom network stream to mark sockets as reusable when disposing the stream. + Gets or sets a value indicating whether this is secure. - + - Creates a new instance of the class for the specified . + Path and query (will be merged with the host header) and put in Uri - - The that the will use to send and receive data. - - - The parameter is null. - - - The parameter is not connected. - -or- - The property of the parameter is not . - -or- - The parameter is in a nonblocking state. - + - + - Initializes a new instance of the class for the specified with the specified ownership. + Assign a form. - - The that the will use to send and receive data. - - - Set to true to indicate that the will take ownership of the ; otherwise, false. - - - The parameter is null. - - - The parameter is not connected. - -or- - the value of the property of the parameter is not . - -or- - the parameter is in a nonblocking state. - + - + - Creates a new instance of the class for the specified with the specified access rights. + Gets whether the body is complete. - - The that the will use to send and receive data. - - - A bitwise combination of the values that specify the type of access given to the over the provided . - - - The parameter is null. - - - The parameter is not connected. - -or- - the property of the parameter is not . - -or- - the parameter is in a nonblocking state. - - + - Creates a new instance of the class for the specified with the specified access rights and the specified ownership. + Gets kind of types accepted by the client. - - The that the will use to send and receive data. - - - A bitwise combination of the values that specifies the type of access given to the over the provided . - - - Set to true to indicate that the will take ownership of the ; otherwise, false. - - - The parameter is null. - - - The parameter is not connected. - -or- - The property of the parameter is not . - -or- - The parameter is in a nonblocking state. - - + - Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. + Gets or sets body stream. - + - Releases the unmanaged resources used by the and optionally releases the managed resources. + Gets or sets kind of connection used for the session. - true to release both managed and unmanaged resources; false to release only unmanaged resources. - + - Invoked when a client have been accepted by the + Gets or sets number of bytes in the body. - - Can be used to revoke incoming connections - - + - Initializes a new instance of the class. + Gets headers sent by the client. - The socket. - + - Client may not be handled. + Gets or sets version of HTTP protocol that's used. + + Probably or . + + - + - Accepted socket. + Gets or sets requested method. + + + Will always be in upper case. + + - + - Client should be revoked. + Gets variables sent in the query string - + - A session stored in memory. + Gets or sets requested URI. - + - Interface for sessions + Uri absolute path splitted into parts. + + // uri is: http://gauffin.com/code/tiny/ + Console.WriteLine(request.UriParts[0]); // result: code + Console.WriteLine(request.UriParts[1]); // result: tiny + + + If you're using controllers than the first part is controller name, + the second part is method name and the third part is Id property. + + - + - Remove everything from the session + Gets parameter from or . - + - Remove everything from the session + Gets form parameters. - True if the session is cleared due to expiration - + - Session id + Gets whether the request was made by Ajax (Asynchronous JavaScript) - + - Should + Gets cookies that was sent with the request. - Name of the session variable - null if it's not set - If the object cant be serialized. - + - When the session was last accessed. - This property is touched by the http server each time the - session is requested. + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + 2 - + - Number of session variables. + Decode body into a form. + A list with form decoders. + If body contents is not valid for the chosen decoder. + If body is still being transferred. - + - Event triggered upon clearing the session + Cookies + the cookies - + - + Create a response object. - A unique id used by the sessions store to identify the session + A new . - + - Id + Called during parsing of a . - + Name of the header, should not be URL encoded + Value of the header, should not be URL encoded + If a header is incorrect. - + - Remove everything from the session + Add bytes to the body + buffer to read bytes from + where to start read + number of bytes to read + Number of bytes actually read (same as length unless we got all body bytes). + If body is not writable + bytes is null. + offset is out of range. - + - Clears the specified expire. + Clear everything in the request - True if the session is cleared due to expiration - + - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + Response that is sent back to the web browser / client. - 2 + + + A response can be sent if different ways. The easiest one is + to just fill the Body stream with content, everything else + will then be taken care of by the framework. The default content-type + is text/html, you should change it if you send anything else. + + The second and slightly more complex way is to send the response + as parts. Start with sending the header using the SendHeaders method and + then you can send the body using SendBody method, but do not forget + to set and before doing so. + + + + + // Example using response body. + class MyModule : HttpModule + { + public override bool Process(IHttpRequest request, IHttpResponse response, IHttpSession session) + { + StreamWriter writer = new StreamWriter(response.Body); + writer.WriteLine("Hello dear World!"); + writer.Flush(); + + // return true to tell webserver that we've handled the url + return true; + } + } + + + todo: add two examples, using SendHeaders/SendBody and just the Body stream. - + - Session id + Initializes a new instance of the class. + Client that send the . + Contains information of what the client want to receive. + cannot be empty. - + - Should + Initializes a new instance of the class. - Name of the session variable - null if it's not set + Client that send the . + Version of HTTP protocol that the client uses. + Type of HTTP connection used. - + - when the session was last accessed. + The body stream is used to cache the body contents + before sending everything to the client. It's the simplest + way to serve documents. - - Used to determine when the session should be removed. - - + - Number of values in the session + The chunked encoding modifies the body of a message in order to + transfer it as a series of chunks, each with its own size indicator, + followed by an OPTIONAL trailer containing entity-header fields. This + allows dynamically produced content to be transferred along with the + information necessary for the recipient to verify that it has + received the full message. - + - Flag to indicate that the session have been changed - and should be saved into the session store. + Defines the version of the HTTP Response for applications where it's required + for this to be forced. - + - Event triggered upon clearing the session + Kind of connection - + - A reverse proxy are used to act as a bridge between local (protected/hidden) websites - and public clients. - - A typical usage is to allow web servers on non standard ports to still be available - to the public clients, or allow web servers on private ips to be available. + Encoding to use when sending stuff to the client. + Default is UTF8 - + - + Number of seconds to keep connection alive - Base url requested from browser - Base url on private web server - - // this will return contents from http://192.168.1.128/view/jonas when client requests http://www.gauffin.com/user/view/jonas - _server.Add(new ReverseProxyModule("http://www.gauffin.com/user/", "http://192.168.1.128/"); - + Only used if Connection property is set to . - + - Method that determines if an url should be handled or not by the module + Status code that is sent to the client. - Url requested by the client. - true if module should handle the url. + Default is - + - Method that process the url + Information about why a specific status code was used. - Information sent by the browser about the request - Information that is being sent back to the client. - Session used to - + - Can handle application/x-www-form-urlencoded + Size of the body. MUST be specified before sending the header, + unless property Chunked is set to true. - + + Kind of content in the body - Stream containing the content - Content type (with any additional info like boundry). Content type is always supplied in lower case - Stream encoding - - A HTTP form, or null if content could not be parsed. - - If contents in the stream is not valid input data. + Default type is "text/html" - + - Checks if the decoder can handle the mime type + Headers have been sent to the client- - Content type (with any additional info like boundry). Content type is always supplied in lower case. - True if the decoder can parse the specified content type + You can not send any additional headers if they have already been sent. - + - This provider is used to let us implement any type of form decoding we want without - having to rewrite anything else in the server. + The whole response have been sent. - + - + Cookies that should be created/changed. - Should contain boundary and type, as in: multipart/form-data; boundary=---------------------------230051238959 - Stream containing form data. - Encoding used when decoding the stream - if no parser was found. - If stream is null or not readable. - If stream contents cannot be decoded properly. - + - Add a decoder. + Add another header to the document. - - + Name of the header, case sensitive, use lower cases. + Header values can span over multiple lines as long as each line starts with a white space. New line chars should be \r\n + If headers already been sent. + If value conditions have not been met. + Adding any header will override the default ones and those specified by properties. - + - Number of added decoders. + Send headers and body to the browser. + If content have already been sent. - + - Use with care. + Make sure that you have specified and sent the headers first. + + If headers have not been sent. + + offset of first byte to send + number of bytes to send. + + + This method can be used if you want to send body contents without caching them first. This + is recommended for larger files to keep the memory usage low. - + - Decoder used for unknown content types. + Make sure that you have specified and sent the headers first. + + If headers have not been sent. + + + + This method can be used if you want to send body contents without caching them first. This + is recommended for larger files to keep the memory usage low. - + - The server encountered an unexpected condition which prevented it from fulfilling the request. + Send headers to the client. + If headers already been sent. + + + - + - Initializes a new instance of the class. + Redirect client to somewhere else using the 302 status code. + Destination of the redirect + If headers already been sent. + You can not do anything more with the request when a redirect have been done. This should be your last + action. - + - Initializes a new instance of the class. + redirect to somewhere - error message. + where the redirect should go + + No body are allowed when doing redirects. + - + - Initializes a new instance of the class. + Delegate used to find a realm/domain. - error message. - inner exception. + + + + Realms are used during HTTP Authentication + + + - + - Response that is sent back to the web browser / client. - - A response can be sent if different ways. The easiest one is - to just fill the Body stream with content, everything else - will then be taken care of by the framework. The default content-type - is text/html, you should change it if you send anything else. - - The second and slighty more complex way is to send the response - as parts. Start with sending the header using the SendHeaders method and - then you can send the body using SendBody method, but do not forget - to set ContentType and ContentLength before doing so. + A complete HTTP server, you need to add a module to it to be able to handle incoming requests. - public void MyHandler(IHttpRequest request, IHttpResponse response) - { - - } + + // this small example will add two web site modules, thus handling + // two different sites. In reality you should add Controller modules or something + // two the website modules to be able to handle different requests. + HttpServer server = new HttpServer(); + server.Add(new WebSiteModule("www.gauffin.com", "Gauffin Telecom AB")); + server.Add(new WebSiteModule("www.vapadi.se", "Remote PBX")); + + // start regular http + server.Start(IPAddress.Any, 80); + + // start https + server.Start(IPAddress.Any, 443, myCertificate); + + + + - - - Add another header to the document. - - Name of the header, case sensitive, use lower cases. - Header values can span over multiple lines as long as each line starts with a white space. New line chars should be \r\n - If headers already been sent. - If value conditions have not been met. - Adding any header will override the default ones and those specified by properties. - - + - Send headers and body to the browser. + Server that is handling the current request. - If content have already been sent. + + Will be set as soon as a request arrives to the object. + - + - Make sure that you have specified ContentLength and sent the headers first. + Initializes a new instance of the class. - - If headers have not been sent. - - offest of first byte to send - number of bytes to send. - - - This method can be used if you want to send body contents without caching them first. This - is recommended for larger files to keep the memory usage low. + Used to get all components used in the server.. - + - Make sure that you have specified ContentLength and sent the headers first. + Initializes a new instance of the class. - - If headers have not been sent. - - - - This method can be used if you want to send body contents without caching them first. This - is recommended for larger files to keep the memory usage low. - + - Send headers to the client. + Initializes a new instance of the class. - If headers already been sent. - - - + Form decoders are used to convert different types of posted data to the object types. + + - + - Redirect client to somewhere else using the 302 status code. + Initializes a new instance of the class. - Destination of the redirect - If headers already been sent. - You can not do anything more with the request when a redirect have been done. This should be your last - action. + A session store is used to save and retrieve sessions + - + - redirect to somewhere + Initializes a new instance of the class. - where the redirect should go - - No body are allowed when doing redirects. - + The log writer. + - + - The body stream is used to cache the body contents - before sending everything to the client. It's the simplest - way to serve documents. + Initializes a new instance of the class. + Form decoders are used to convert different types of posted data to the object types. + The log writer. + + + - + - Defines the version of the HTTP Response for applications where it's required - for this to be forced. + Initializes a new instance of the class. + Form decoders are used to convert different types of posted data to the object types. + A session store is used to save and retrieve sessions + The log writer. + + + + - + - The chunked encoding modifies the body of a message in order to - transfer it as a series of chunks, each with its own size indicator, - followed by an OPTIONAL trailer containing entity-header fields. This - allows dynamically produced content to be transferred along with the - information necessary for the recipient to verify that it has - received the full message. + Modules used for authentication. The module that is is added first is used as + the default authentication module. + Use the corresponding property + in the if you are using multiple websites. - + - Kind of connection + Form decoder providers are used to decode request body (which normally contains form data). - + - Encoding to use when sending stuff to the client. + Server name sent in HTTP responses. - Default is UTF8 + + Do NOT include version in name, since it makes it + easier for hackers. + - + - Number of seconds to keep connection alive + Name of cookie where session id is stored. - Only used if Connection property is set to ConnectionType.KeepAlive - + - Status code that is sent to the client. + Specified where logging should go. - Default is HttpStatusCode.Ok + + + - + - Information about why a specific status code was used. + Number of connections that can wait to be accepted by the server. + Default is 10. - + - Size of the body. MUST be specified before sending the header, - unless property Chunked is set to true. + Gets or sets maximum number of allowed simultaneous requests. + + + This property is useful in busy systems. The HTTP server + will start queuing new requests if this limit is hit, instead + of trying to process all incoming requests directly. + + + The default number if allowed simultaneous requests are 10. + + - + - Kind of content in the body + Gets or sets maximum number of requests queuing to be handled. - Default is text/html + + + The WebServer will start turning requests away if response code + to indicate that the server + is too busy to be able to handle the request. + + - + - Headers have been sent to the client- + Adds the specified rule. - You can not send any additional headers if they have already been sent. + The rule. - + - The whole response have been sent. + Add a to the server. + mode to add - + - Cookies that should be created/changed. + Decodes the request body. + The request. + Failed to decode form data. - + - Type of HTTP connection + Generate a HTTP error page (that will be added to the response body). + response status code is also set. + Response that the page will be generated in. + . + response body contents. - + - Connection is closed after each request-response + Generate a HTTP error page (that will be added to the response body). + response status code is also set. + Response that the page will be generated in. + exception. - + - Connection is kept alive for X seconds (unless another request have been made) + Realms are used by the s. + HTTP request + domain/realm. - + - The website module let's you handle multiple websites in the same server. - It uses the "Host" header to check which site you want. + Process an incoming request. - It's recommended that you do not - add any other modules to HttpServer if you are using the website module. Instead, - add all wanted modules to each website. + connection to client + request information + response that should be filled + session information - + - + Can be overloaded to implement stuff when a client have been connected. - domain name that should be handled. - + + Default implementation does nothing. + + client that disconnected + disconnect reason - + - Method that process the url + Handle authentication - Information sent by the browser about the request - Information that is being sent back to the client. - Session used to + + + + true if request can be handled; false if not. + Invalid authorization header - + - Name of site. + Will request authentication. + + Sends respond to client, nothing else can be done with the response after this. + + + + - + - Used to inform http server that + Received from a when a request have been parsed successfully. + that received the request. + The request. - + - Eventarguments used when an exception is thrown by a module + To be able to track request count. - the exception + + - + - Exception thrown in a module + Start the web server using regular HTTP. + IP Address to listen on, use IpAddress.Any to accept connections on all IP addresses/network cards. + Port to listen on. 80 can be a good idea =) + address is null. + Port must be a positive number. - + - represents a HTTP input item. Each item can have multiple sub items, a sub item - is made in a HTML form by using square brackets + Accept secure connections. - - // becomes: - Console.WriteLine("Value: {0}", form["user"]["FirstName"].Value); - - - All names in a form SHOULD be in lowercase. - - - - Representation of a non-initialized . + IP Address to listen on, use to accept connections on all IP Addresses / network cards. + Port to listen on. 80 can be a good idea =) + Certificate to use + address is null. + Port must be a positive number. - + - Initializes an input item setting its name/identifier and value + shut down the server and listeners - Parameter name/id - Parameter value - - - Creates a deep copy of the item specified - The item to copy - The function makes a deep copy of quite a lot which can be slow - + - Add another value to this item + write an entry to the log file - Value to add. - Cannot add stuff to . + importance of the message + log message - + - checks if a sub-item exists (and has a value). + write an entry to the log file - name in lower case - true if the sub-item exists and has a value; otherwise false. - - - Returns a formatted representation of the instance with the values of all contained parameters + object that wrote the message + importance of the message + log message - + - Outputs the string in a formatted manner + Realms are used during HTTP authentication. + Default realm is same as server name. - A prefix to append, used internally - produce a query string - + - Add a sub item. + Let's to receive unhandled exceptions from the threads. - Can contain array formatting, the item is then parsed and added in multiple levels - Value to add. - Argument is null. - Cannot add stuff to . + + Exceptions will be thrown during debug mode if this event is not used, + exceptions will be printed to console and suppressed during release mode. + - + - Returns an enumerator that iterates through the collection. + Inversion of control interface. - - - A that can be used to iterate through the collection. - - 1 - + - Returns an enumerator that iterates through a collection. + Add a component instance - - - An object that can be used to iterate through the collection. - - 2 + Interface type + Instance to add - + - Outputs the string in a formatted manner + Get a component. - A prefix to append, used internally - + Interface type + Component if registered, otherwise null. + + Component will get created if needed. + - + - Number of values + Checks if the specified component interface have been added. + + true if found; otherwise false. - + - Get a sub item + Add a component. - name in lower case. - if no item was found. + Type being requested. + Type being created. - + - Name of item (in lower case). + Contains a connection to a browser/client. - + - Returns the first value, or null if no value exist. + Using SSL or other encryption method. - + - Returns the last value, or null if no value exist. + Using SSL or other encryption method. - + - Returns the list with values. + Disconnect from client + error to report in the event. - + - + Send a response. - name in lower case - - - - Class to handle loading of resource files + Either or + HTTP status code + reason for the status code. + HTML body contents, can be null or empty. + A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty + If is invalid. - + - Initializes a new instance of the class. + Send a response. + Either or + HTTP status code + reason for the status code. - + - Initializes a new instance of the class. + Send a response. - logger. + - + - Loads resources from a namespace in the given assembly to an URI + send a whole buffer - The URI to map the resources to - The assembly in which the resources reside - The namespace from which to load the resources - - - resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); - - Will make the resource MyLib.Models.User.Views.list.Haml accessible via /user/list.haml or /user/list/ - - The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded - If a resource has already been mapped to an uri + buffer to send + - + - Retrieves a stream for the specified resource path if loaded otherwise null + Send data using the stream - Path to the resource to retrieve a stream for - A stream or null if the resource couldn't be found + Contains data to send + Start position in buffer + number of bytes to send + + - + - Fetch all files from the resource that matches the specified arguments. + Closes the streams and disposes of the unmanaged resources - The path to the resource to extract - - a list of files if found; or an empty array if no files are found. - - Search path must end with an asterisk for finding arbitrary files - + - Fetch all files from the resource that matches the specified arguments. + The context have been disconnected. - Where the file should reside. - Files to check - - a list of files if found; or an empty array if no files are found. - + + Event can be used to clean up a context, or to reuse it. + - + - Returns whether or not the loader has an instance of the file requested + A request have been received in the context. - The name of the template/file - True if the loader can provide the file - + - Used when the request line have been successfully parsed. + A have been disconnected. - + - Initializes a new instance of the class. + Gets reason to why client disconnected. - The HTTP method. - The URI path. - The HTTP version. - + - Initializes a new instance of the class. + Initializes a new instance of the class. + Reason to disconnection. - + - Gets or sets http method. + - - Should be one of the methods declared in . - - + - Gets or sets the version of the HTTP protocol that the client want to use. + Gets received request. - + - Gets or sets requested URI path. + Initializes a new instance of the class. + The request. @@ -3797,428 +3851,351 @@ Request that was received. - - Container for posted form data - - - Instance to help mark a non-initialized form - - - Initializes a form container with the specified name - - - - Makes a deep copy of the input - - The input to copy - - + - Adds a file to the collection of posted files + Contains server side HTTP request information. - The file to add - If the file is already added - If file is null - If the instance is HttpForm.EmptyForm which cannot be modified - + - Checks if the form contains a specified file + Gets kind of types accepted by the client. - Field name of the file parameter - True if the file exists - If the instance is HttpForm.EmptyForm which cannot be modified - + - Retrieves a file held by by the form + Gets or sets body stream. - The identifier of the file - The requested file or null if the file was not found - If name is null or empty - If the instance is HttpForm.EmptyForm which cannot be modified - - - Disposes all held HttpFile's and resets values - + - Retrieves the number of files added to the + Gets whether the body is complete. - 0 if no files are added - + - Contains a connection to a browser/client. + Gets or sets kind of connection used for the session. - - Remember to after you have hooked the event. - - TODO: Maybe this class should be broken up into HttpClientChannel and HttpClientContext? - + - Initializes a new instance of the class. + Gets or sets number of bytes in the body. - true if the connection is secured (SSL/TLS) - client that connected. - Stream used for communication - Used to create a . - Size of buffer to use when reading data. Must be at least 4096 bytes. - If fails - Stream must be writable and readable. - + - Process incoming body bytes. + Gets cookies that was sent with the request. - - Bytes - + - + Gets form parameters. - - - + - Start reading content. + Gets headers sent by the client. - - Make sure to call base.Start() if you override this method. - - + - Clean up context. + Gets or sets version of HTTP protocol that's used. - Make sure to call base.Cleanup() if you override the method. + Probably or . + - - - Disconnect from client - - error to report in the event. - - - - Send a response. - - Either or - HTTP status code - reason for the status code. - HTML body contents, can be null or empty. - A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty - If is invalid. - - + - Send a response. + Gets whether the request was made by Ajax (Asynchronous JavaScript) - Either or - HTTP status code - reason for the status code. - + - Send a response. + Gets or sets requested method. - + + Will always be in upper case. + + - + - send a whole buffer + Gets parameter from or . - buffer to send - - + - Send data using the stream + Gets variables sent in the query string - Contains data to send - Start position in buffer - number of bytes to send - - - + - This context have been cleaned, which means that it can be reused. + Gets or sets requested URI. - + - Context have been started (a new client have connected) + Gets URI absolute path divided into parts. + + // URI is: http://gauffin.com/code/tiny/ + Console.WriteLine(request.UriParts[0]); // result: code + Console.WriteLine(request.UriParts[1]); // result: tiny + + + If you're using controllers than the first part is controller name, + the second part is method name and the third part is Id property. + + - + - Overload to specify own type. + Gets or sets path and query. + - Must be specified before the context is being used. + Are only used during request parsing. Cannot be set after "Host" header have been + added. - + - Using SSL or other encryption method. + Called during parsing of a . + Name of the header, should not be URL encoded + Value of the header, should not be URL encoded + If a header is incorrect. - + - Using SSL or other encryption method. + Add bytes to the body + buffer to read bytes from + where to start read + number of bytes to read + Number of bytes actually read (same as length unless we got all body bytes). + If body is not writable + bytes is null. + offset is out of range. - + - Specify which logger to use. + Clear everything in the request - + - Gets or sets the network stream. + Decode body into a form. + A list with form decoders. + If body contents is not valid for the chosen decoder. + If body is still being transferred. - + - Gets or sets IP address that the client connected from. + Sets the cookies. + The cookies. - + - Gets or sets port that the client connected from. + Create a response object. + Context for the connected client. + A new . - + - The context have been disconnected. + Event driven parser used to parse incoming HTTP requests. - Event can be used to clean up a context, or to reuse it. + The parser supports partial messages and keeps the states between + each parsed buffer. It's therefore important that the parser gets + ed if a client disconnects. - + - A request have been received in the context. + Current state in parser. - + - Helpers to make XML handling easier + Parse partial or complete message. + buffer containing incoming bytes + where in buffer that parsing should start + number of bytes to parse + Unparsed bytes left in buffer. + BadRequestException. - + - Serializes object to XML. + A request have been successfully parsed. - object to serialize. - XML - - Removes name spaces and adds indentation - - + - Create an object from a XML string + More body bytes have been received. - Type of object - XML string - object - + - + Request line have been received. - - - - - Represents a field in a multipart form + + + A header have been received. + - + - Small design by contract implementation. + Clear parser state. - + - Check whether a parameter is empty. + Gets or sets the log writer. - Parameter value - Parameter name, or error description. - value is empty. - + - Checks whether a parameter is null. + Current state in the parsing. - Parameter value - Parameter name, or error description. - value is null. - + - Checks whether a parameter is null. + Should parse the request line - - Parameter value - Parameter name, or error description. - value is null. - + - Priority for log entries + Searching for a complete header name - - + - Very detailed logs to be able to follow the flow of the program. + Searching for colon after header name (ignoring white spaces) - + - Logs to help debug errors in the application + Searching for start of header value (ignoring white spaces) - + - Information to be able to keep track of state changes etc. + Searching for a complete header value (can span over multiple lines, as long as they are prefixed with one/more whitespaces) - + - Something did not go as we expected, but it's no problem. + Adding bytes to body - + - Something that should not fail failed, but we can still keep - on going. + Response that is sent back to the web browser / client. + + A response can be sent if different ways. The easiest one is + to just fill the Body stream with content, everything else + will then be taken care of by the framework. The default content-type + is text/html, you should change it if you send anything else. + + The second and slighty more complex way is to send the response + as parts. Start with sending the header using the SendHeaders method and + then you can send the body using SendBody method, but do not forget + to set ContentType and ContentLength before doing so. + + public void MyHandler(IHttpRequest request, IHttpResponse response) + { + + } + - + - Something failed, and we cannot handle it properly. + The body stream is used to cache the body contents + before sending everything to the client. It's the simplest + way to serve documents. - + - Interface used to write to log files. + Defines the version of the HTTP Response for applications where it's required + for this to be forced. - + - Write an entry to the log file. + The chunked encoding modifies the body of a message in order to + transfer it as a series of chunks, each with its own size indicator, + followed by an OPTIONAL trailer containing entity-header fields. This + allows dynamically produced content to be transferred along with the + information necessary for the recipient to verify that it has + received the full message. - object that is writing to the log - importance of the log message - the message - + - This class writes to the console. It colors the output depending on the logprio and includes a 3-level stacktrace (in debug mode) + Kind of connection - - + - The actual instance of this class. + Encoding to use when sending stuff to the client. + Default is UTF8 - + - Logwriters the specified source. + Number of seconds to keep connection alive - object that wrote the logentry. - Importance of the log message - The message. + Only used if Connection property is set to ConnectionType.KeepAlive - + - Get color for the specified logprio + Status code that is sent to the client. - prio for the log entry - A for the prio + Default is HttpStatusCode.Ok - + - Default log writer, writes everything to null (nowhere). + Information about why a specific status code was used. - - + - The logging instance. + Size of the body. MUST be specified before sending the header, + unless property Chunked is set to true. - + - Writes everything to null + Kind of content in the body - object that wrote the log entry. - Importance of the log message - The message. + Default is text/html - + - Response that is sent back to the web browser / client. + Headers have been sent to the client- - - - A response can be sent if different ways. The easiest one is - to just fill the Body stream with content, everything else - will then be taken care of by the framework. The default content-type - is text/html, you should change it if you send anything else. - - The second and slightly more complex way is to send the response - as parts. Start with sending the header using the SendHeaders method and - then you can send the body using SendBody method, but do not forget - to set and before doing so. - - - - - // Example using response body. - class MyModule : HttpModule - { - public override bool Process(IHttpRequest request, IHttpResponse response, IHttpSession session) - { - StreamWriter writer = new StreamWriter(response.Body); - writer.WriteLine("Hello dear World!"); - writer.Flush(); - - // return true to tell webserver that we've handled the url - return true; - } - } - - - todo: add two examples, using SendHeaders/SendBody and just the Body stream. + You can not send any additional headers if they have already been sent. - + - Initializes a new instance of the class. + The whole response have been sent. - Client that send the . - Contains information of what the client want to receive. - cannot be empty. - + - Initializes a new instance of the class. + Cookies that should be created/changed. - Client that send the . - Version of HTTP protocol that the client uses. - Type of HTTP connection used. - + Add another header to the document. @@ -4228,48 +4205,48 @@ If value conditions have not been met. Adding any header will override the default ones and those specified by properties. - + Send headers and body to the browser. If content have already been sent. - + - Make sure that you have specified and sent the headers first. + Make sure that you have specified ContentLength and sent the headers first. If headers have not been sent. - - offset of first byte to send + + offest of first byte to send number of bytes to send. - - + + This method can be used if you want to send body contents without caching them first. This is recommended for larger files to keep the memory usage low. - + - Make sure that you have specified and sent the headers first. + Make sure that you have specified ContentLength and sent the headers first. If headers have not been sent. - - - + + + This method can be used if you want to send body contents without caching them first. This is recommended for larger files to keep the memory usage low. - + Send headers to the client. If headers already been sent. - - - + + + - + Redirect client to somewhere else using the 302 status code. @@ -4278,7 +4255,7 @@ You can not do anything more with the request when a redirect have been done. This should be your last action. - + redirect to somewhere @@ -4287,1288 +4264,1311 @@ No body are allowed when doing redirects. - + - The body stream is used to cache the body contents - before sending everything to the client. It's the simplest - way to serve documents. + Type of HTTP connection - + + + Connection is closed after each request-response + + + + + Connection is kept alive for X seconds (unless another request have been made) + + + - The chunked encoding modifies the body of a message in order to - transfer it as a series of chunks, each with its own size indicator, - followed by an OPTIONAL trailer containing entity-header fields. This - allows dynamically produced content to be transferred along with the - information necessary for the recipient to verify that it has - received the full message. + Priority for log entries + - + - Defines the version of the HTTP Response for applications where it's required - for this to be forced. + Very detailed logs to be able to follow the flow of the program. - + - Kind of connection + Logs to help debug errors in the application - + - Encoding to use when sending stuff to the client. + Information to be able to keep track of state changes etc. - Default is UTF8 - + - Number of seconds to keep connection alive + Something did not go as we expected, but it's no problem. - Only used if Connection property is set to . - + - Status code that is sent to the client. + Something that should not fail failed, but we can still keep + on going. - Default is - + - Information about why a specific status code was used. + Something failed, and we cannot handle it properly. - + - Size of the body. MUST be specified before sending the header, - unless property Chunked is set to true. + Interface used to write to log files. - + - Kind of content in the body + Write an entry to the log file. - Default type is "text/html" + object that is writing to the log + importance of the log message + the message - + - Headers have been sent to the client- + This class writes to the console. It colors the output depending on the logprio and includes a 3-level stacktrace (in debug mode) - You can not send any additional headers if they have already been sent. + - + - The whole response have been sent. + The actual instance of this class. - + - Cookies that should be created/changed. + Logwriters the specified source. + object that wrote the logentry. + Importance of the log message + The message. - + - The requested resource was not found in the web server. + Get color for the specified logprio + prio for the log entry + A for the prio - + - Create a new exception + Default log writer, writes everything to null (nowhere). - message describing the error - inner exception + - + - Create a new exception + The logging instance. - message describing the error - + - Timeout Manager. Checks for dead clients. Clients with open connections that are not doing anything. Closes sessions opened with keepalive. + Writes everything to null + object that wrote the log entry. + Importance of the log message + The message. - + - Causes the watcher to immediately check the connections. + A thread-safe lockless queue that supports multiple readers and + multiple writers - + - Environment.TickCount is an int but it counts all 32 bits so it goes positive - and negative every 24.9 days. This trims down TickCount so it doesn't wrap - for the callers. - This trims it to a 12 day interval so don't let your frame time get too long. + Provides a node container for data in a singly linked list - - + + Pointer to the next node in list + + + The data contained by the node + + - Environment.TickCount is an int but it counts all 32 bits so it goes positive - and negative every 24.9 days. Subtracts the passed value (previously fetched by - 'EnvironmentTickCount()') and accounts for any wrapping. + Constructor - - - subtraction of passed prevValue from current Environment.TickCount - + - Environment.TickCount is an int but it counts all 32 bits so it goes positive - and negative every 24.9 days. Subtracts the passed value (previously fetched by - 'EnvironmentTickCount()') and accounts for any wrapping. + Constructor - - - subtraction of passed prevValue from current Environment.TickCount - + + Queue head + + + Queue tail + + + Queue item count + + + Gets the current number of items in the queue. Since this + is a lockless collection this value should be treated as a close + estimate + + - Environment.TickCount is an int but it counts all 32 bits so it goes positive - and negative every 24.9 days. Subtracts the passed value (previously fetched by - 'EnvironmentTickCount()') and accounts for any wrapping. + Constructor - subtraction of passed prevValue from current Environment.TickCount - + - Use a Thread or a Timer to monitor the ugly + Enqueue an item + Item to enqeue - + - Session store using memory for each session. + Try to dequeue an item + Dequeued item if the dequeue was successful + True if an item was successfully deqeued, otherwise false - + - A session store is used to store and load sessions on a media. - The default implementation () saves/retrieves sessions from memory. + Contains all HTTP Methods (according to the HTTP 1.1 specification) + + See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html + - + - Creates a new http session with a generated id. + The DELETE method requests that the origin server delete the resource identified by the Request-URI. - A object + + + This method MAY be overridden by human intervention (or other means) on the origin server. + The client cannot be guaranteed that the operation has been carried out, even if the status code + returned from the origin server indicates that the action has been completed successfully. + + + However, the server SHOULD NOT indicate success unless, at the time the response is given, + it intends to delete the resource or move it to an inaccessible location. + + + A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, + 202 (Accepted) if the action has not yet been enacted, + or 204 (No Content) if the action has been enacted but the response does not include an entity. + + + If the request passes through a cache and the Request-URI identifies one or more currently cached entities, + those entries SHOULD be treated as stale. Responses to this method are not cacheable. + + - + - Creates a new http session with a specific id + The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. - Id used to identify the new cookie.. - A object. - Id should be generated by the store implementation if it's null or . + + If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the + entity in the response and not the source text of the process, unless that text happens to be the output of the process. + + + The semantics of the GET method change to a "conditional GET" if the request message includes an + If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. + A conditional GET method requests that the entity be transferred only under the circumstances described + by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network + usage by allowing cached entities to be refreshed without requiring multiple requests or transferring + data already held by the client. + - + - Load an existing session. + The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. - Session id (usually retrieved from a client side cookie). - A session if found; otherwise null. + + The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the + information sent in response to a GET request. This method can be used for obtaining meta information about + the entity implied by the request without transferring the entity-body itself. + + This method is often used for testing hypertext links for validity, accessibility, and recent modification. + - + - Save an updated session to the store. + The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI. - Session id (usually retrieved from a client side cookie). - If Id property have not been specified. + + This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval. + - + - We use the flyweight pattern which reuses small objects - instead of creating new each time. + The POST method is used to request that the origin server accept the entity enclosed + in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. - Unused session that should be reused next time Create is called. + + POST is designed to allow a uniform method to cover the following functions: + + + Annotation of existing resources; + + Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles; + + Providing a block of data, such as the result of submitting a form, to a data-handling process; + + Extending a database through an append operation. + + + + If a resource has been created on the origin server, the response SHOULD be 201 (Created) and + contain an entity which describes the status of the request and refers to the new resource, and a + Location header (see section 14.30). + + + The action performed by the POST method might not result in a resource that can be identified by a URI. + In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on + whether or not the response includes an entity that describes the result. + + Responses to this method are not cacheable, unless the response includes appropriate Cache-Control + or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent + to retrieve a cacheable resource. + + - + - Remove expired sessions + The PUT method requests that the enclosed entity be stored under the supplied Request-URI. + + + + If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a + modified version of the one residing on the origin server. + + If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new + resource by the requesting user agent, the origin server can create the resource with that URI. + + If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. + + If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to + indicate successful completion of the request. + + If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be + given that reflects the nature of the problem. + + + + The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not + understand or implement and MUST return a 501 (Not Implemented) response in such cases. + + - + - Remove a session + The TRACE method is used to invoke a remote, application-layer loop- back of the request message. - id of the session. - + - Load a session from the store + Contains all HTTP Methods (according to the HTTP 1.1 specification) + + See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html + - - null if session is not found. - + - Number of minutes before a session expires. + The DELETE method requests that the origin server delete the resource identified by the Request-URI. - Default time is 20 minutes. + + + This method MAY be overridden by human intervention (or other means) on the origin server. + The client cannot be guaranteed that the operation has been carried out, even if the status code + returned from the origin server indicates that the action has been completed successfully. + + + However, the server SHOULD NOT indicate success unless, at the time the response is given, + it intends to delete the resource or move it to an inaccessible location. + + + A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, + 202 (Accepted) if the action has not yet been enacted, + or 204 (No Content) if the action has been enacted but the response does not include an entity. + + + If the request passes through a cache and the Request-URI identifies one or more currently cached entities, + those entries SHOULD be treated as stale. Responses to this method are not cacheable. + + - + - Initializes the class setting the expirationtimer to clean the session every minute + The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. + + + If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the + entity in the response and not the source text of the process, unless that text happens to be the output of the process. + + + The semantics of the GET method change to a "conditional GET" if the request message includes an + If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. + A conditional GET method requests that the entity be transferred only under the circumstances described + by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network + usage by allowing cached entities to be refreshed without requiring multiple requests or transferring + data already held by the client. + + - + - Delegate for the cleanup timer + The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. + + The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the + information sent in response to a GET request. This method can be used for obtaining meta information about + the entity implied by the request without transferring the entity-body itself. + + This method is often used for testing hypertext links for validity, accessibility, and recent modification. + - + - Creates a new http session + The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI. - + + This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval. + - + - Creates a new http session with a specific id + The POST method is used to request that the origin server accept the entity enclosed + in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. - Id used to identify the new cookie.. - A object. - Id should be generated by the store implementation if it's null or . + POST is designed to allow a uniform method to cover the following functions: + + + Annotation of existing resources; + + Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles; + + Providing a block of data, such as the result of submitting a form, to a data-handling process; + + Extending a database through an append operation. + + + + If a resource has been created on the origin server, the response SHOULD be 201 (Created) and + contain an entity which describes the status of the request and refers to the new resource, and a + Location header (see section 14.30). + + + The action performed by the POST method might not result in a resource that can be identified by a URI. + In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on + whether or not the response includes an entity that describes the result. + + Responses to this method are not cacheable, unless the response includes appropriate Cache-Control + or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent + to retrieve a cacheable resource. + - + - Load an existing session. + The PUT method requests that the enclosed entity be stored under the supplied Request-URI. - - + + + + If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a + modified version of the one residing on the origin server. + + If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new + resource by the requesting user agent, the origin server can create the resource with that URI. + + If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. + + If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to + indicate successful completion of the request. + + If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be + given that reflects the nature of the problem. + + + + The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not + understand or implement and MUST return a 501 (Not Implemented) response in such cases. + + - + - Save an updated session to the store. + The TRACE method is used to invoke a remote, application-layer loop- back of the request message. - - + - We use the flyweight pattern which reuses small objects - instead of creating new each time. + Arguments used when more body bytes have come. - EmptyLanguageNode (unused) session that should be reused next time Create is called. - + - Remove expired sessions + Initializes a new instance of the class. + buffer that contains the received bytes. + offset in buffer where to start processing. + number of bytes from that should be parsed. - + - Remove a session + Initializes a new instance of the class. - id of the session. - + - Load a session from the store + Gets or sets buffer that contains the received bytes. - - null if session is not found. - + - Number of minutes before a session expires. - Default is 20 minutes. + Gets or sets number of bytes from that should be parsed. - + - Arguments sent when a is cleared + Gets or sets offset in buffer where to start processing. - + - Instantiates the arguments for the event + Event arguments used when a new header have been parsed. - True if the session is cleared due to expiration - + - Returns true if the session is cleared due to expiration + Initializes a new instance of the class. + Name of header. + Header value. - + - Delegate for when a IHttpSession is cleared + Initializes a new instance of the class. - this is being cleared. - Arguments for the clearing - + - Used to queue incoming requests. + Gets or sets header name. - + - Initializes a new instance of the class. + Gets or sets header value. - Called when a request should be processed. - + - Used to process queued requests. + Parses a HTTP request directly from a stream - + - Gets or sets maximum number of allowed simultaneous requests. + Create a new request parser + delegate receiving log entries. - + - Gets or sets maximum number of requests queuing to be handled. + Add a number of bytes to the body + buffer containing more body bytes. + starting offset in buffer + number of bytes, from offset, to read. + offset to continue from. - + - Specifies how many requests the HTTP server is currently processing. + Remove all state information for the request. - + - Used two queue incoming requests to avoid - thread starvation. + Gets or sets the log writer. - + - Method used to process a queued request + Parse request line - Context that the request was received from. - Request to process. + + If line is incorrect + Expects the following format: "Method SP Request-URI SP HTTP-Version CRLF" - + - Event arguments used when a new header have been parsed. + We've parsed a new header. + Name in lower case + Value, unmodified. + If content length cannot be parsed. - + - Initializes a new instance of the class. + Current state in parser. - Name of header. - Header value. - + - Initializes a new instance of the class. + Parse a message + bytes to parse. + where in buffer that parsing should start + number of bytes to parse, starting on . + offset (where to start parsing next). + BadRequestException. - + - Gets or sets header name. + A request have been successfully parsed. - + - Gets or sets header value. + More body bytes have been received. - + - Contains server side HTTP request information. + Request line have been received. - + - Chars used to split an URL path into multiple parts. + A header have been received. - + - Assign a form. + Used when the request line have been successfully parsed. - - + - Creates a new object that is a copy of the current instance. + Initializes a new instance of the class. - - - A new object that is a copy of this instance. - - 2 + The HTTP method. + The URI path. + The HTTP version. - + - Decode body into a form. + Initializes a new instance of the class. - A list with form decoders. - If body contents is not valid for the chosen decoder. - If body is still being transferred. - + - Cookies + Gets or sets http method. - the cookies + + Should be one of the methods declared in . + - + - Create a response object. + Gets or sets the version of the HTTP protocol that the client want to use. - A new . - + - Called during parsing of a . + Gets or sets requested URI path. - Name of the header, should not be URL encoded - Value of the header, should not be URL encoded - If a header is incorrect. - + - Add bytes to the body + Creates request parsers when needed. - buffer to read bytes from - where to start read - number of bytes to read - Number of bytes actually read (same as length unless we got all body bytes). - If body is not writable - bytes is null. - offset is out of range. - + - Clear everything in the request + Create a new request parser. + Used when logging should be enabled. + A new request parser. - + - Gets or sets a value indicating whether this is secure. + Creates request parsers when needed. - + - Path and query (will be merged with the host header) and put in Uri + Create a new request parser. - + Used when logging should be enabled. + A new request parser. - + - Gets whether the body is complete. + cookie sent by the client/browser + - + - Gets kind of types accepted by the client. + Constructor. + cookie identifier + cookie content + id or content is null + id is empty - + - Gets or sets body stream. + Gets the cookie HTML representation. + cookie string - + - Gets or sets kind of connection used for the session. + Gets the cookie identifier. - + - Gets or sets number of bytes in the body. + Cookie value. Set to null to remove cookie. - + - Gets headers sent by the client. + This class is created as a wrapper, since there are two different cookie types in .Net (Cookie and HttpCookie). + The framework might switch class in the future and we dont want to have to replace all instances - + - Gets or sets version of HTTP protocol that's used. + Let's copy all the cookies. - - Probably or . - - + value from cookie header. - + - Gets or sets requested method. + Adds a cookie in the collection. - - - Will always be in upper case. - - + cookie to add + cookie is null - + - Gets variables sent in the query string + Gets the count of cookies in the collection. - + - Gets or sets requested URI. + Gets the cookie of a given identifier (null if not existing). - + - Uri absolute path splitted into parts. + Gets a collection enumerator on the cookie list. - - // uri is: http://gauffin.com/code/tiny/ - Console.WriteLine(request.UriParts[0]); // result: code - Console.WriteLine(request.UriParts[1]); // result: tiny - - - If you're using controllers than the first part is controller name, - the second part is method name and the third part is Id property. - - + collection enumerator - + - Gets parameter from or . + Remove all cookies. - + - Gets form parameters. + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 - + - Gets whether the request was made by Ajax (Asynchronous JavaScript) + Remove a cookie from the collection. + Name of cookie. - + - Gets cookies that was sent with the request. + Used to queue incoming requests. - + - Add a component instance + Initializes a new instance of the class. - Interface type - Instance to add + Called when a request should be processed. - + - Get a component. + Used two queue incoming requests to avoid + thread starvation. - Interface type - Component if registered, otherwise null. - - Component will get created if needed. - - - - If instance cannot be created. - + - Checks if the specified component interface have been added. + Gets or sets maximum number of allowed simultaneous requests. - - true if found; otherwise false. - + - Add a component. + Gets or sets maximum number of requests queuing to be handled. - Type being requested. - Type being created. - Type have already been mapped. - + - Class to make dynamic binding of redirects. Instead of having to specify a number of similar redirect rules - a regular expression can be used to identify redirect URLs and their targets. + Specifies how many requests the HTTP server is currently processing. - - [a-z0-9]+)", "/users/${target}?find=true", RegexOptions.IgnoreCase) - ]]> - - + - Initializes a new instance of the class. + Used to process queued requests. - Expression to match URL - Expression to generate URL - - [a-zA-Z0-9]+)", "/user/${first}")); - Result of ie. /employee1 will then be /user/employee1 - ]]> - - + - Initializes a new instance of the class. + Method used to process a queued request - Expression to match URL - Expression to generate URL - Regular expression options to use, can be null - - [a-zA-Z0-9]+)", "/user/{first}", RegexOptions.IgnoreCase)); - Result of ie. /employee1 will then be /user/employee1 - ]]> - + Context that the request was received from. + Request to process. - + - Initializes a new instance of the class. + cookie being sent back to the browser. - Expression to match URL - Expression to generate URL - Regular expression options to apply - true if request should be redirected, false if the request URI should be replaced. - - [a-zA-Z0-9]+)", "/user/${first}", RegexOptions.None)); - Result of ie. /employee1 will then be /user/employee1 - ]]> - - Argument is null. - + - + - Process the incoming request. + Constructor. - incoming HTTP request - outgoing HTTP response - true if response should be sent to the browser directly (no other rules or modules will be processed). - - returning true means that no modules will get the request. Returning true is typically being done - for redirects. - - If request or response is null + cookie identifier + cookie content + cookie expiration date. Use DateTime.MinValue for session cookie. + id or content is null + id is empty - + - Container to bind resource names to assemblies + Create a new cookie + name identifying the cookie + cookie value + when the cookie expires. Setting DateTime.MinValue will delete the cookie when the session is closed. + Path to where the cookie is valid + Domain that the cookie is valid for. - + - Instantiates an instance of + Create a new cookie - The dot seperated uri the resource maps to - The full resource name - The assembly the resource exists in + Name and value will be used + when the cookie expires. - + - Retrieves a stream to the resource + Gets the cookie HTML representation. - Null if the resource couldn't be located somehow + cookie string - + - Retrieves the assembly the resource resides in + When the cookie expires. + DateTime.MinValue means that the cookie expires when the session do so. - + - Retrieves the full name/path of the assembly + Cookie is only valid under this path. - + - Retrieves the extension of the resource + Cookies that should be set. - - Returns the Uri without extension - - - Retrieves the full path name to the resource file + + + Adds a cookie in the collection. + + cookie to add + cookie is null - + - The "basic" authentication scheme is based on the model that the - client must authenticate itself with a user-ID and a password for - each realm. The realm value should be considered an opaque string - which can only be compared for equality with other realms on that - server. The server will service the request only if it can validate - the user-ID and password for the protection space of the Request-URI. - There are no optional authentication parameters. + Copy a request cookie + + When the cookie should expire - + - Initializes a new instance of the class. + Gets the count of cookies in the collection. - Delegate used to provide information used during authentication. - Delegate used to determine if authentication is required (may be null). - + - Initializes a new instance of the class. + Gets the cookie of a given identifier (null if not existing). - Delegate used to provide information used during authentication. - + - Create a response that can be sent in the WWW-Authenticate header. + Gets a collection enumerator on the cookie list. - Realm that the user should authenticate in - Not used in basic auth - A correct auth request. + collection enumerator - + - An authentication response have been received from the web browser. - Check if it's correct + Remove all cookies - Contents from the Authorization header - Realm that should be authenticated - GET/POST/PUT/DELETE etc. - Not used in basic auth - Authentication object that is stored for the request. A user class or something like that. - if authenticationHeader is invalid - If any of the paramters is empty or null. - + - name used in http request. + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 - + - Current state in the parsing. + Rules are used to perform operations before a request is being handled. + Rules can be used to create routing etc. - + - Should parse the request line + Process the incoming request. + incoming HTTP request + outgoing HTTP response + true if response should be sent to the browser directly (no other rules or modules will be processed). + + returning true means that no modules will get the request. Returning true is typically being done + for redirects. + + If request or response is null. - + - Searching for a complete header name + redirects from one URL to another. - + - Searching for colon after header name (ignoring white spaces) + Initializes a new instance of the class. + Absolute path (no server name) + Absolute path (no server name) + + server.Add(new RedirectRule("/", "/user/index")); + - + - Searching for start of header value (ignoring white spaces) + Initializes a new instance of the class. + Absolute path (no server name) + Absolute path (no server name) + true if request should be redirected, false if the request URI should be replaced. + + server.Add(new RedirectRule("/", "/user/index")); + - + - Searching for a complete header value (can span over multiple lines, as long as they are prefixed with one/more whitespaces) + Gets string to match request URI with. + Is compared to request.Uri.AbsolutePath - + - Adding bytes to body + Gets where to redirect. - + - Will contain helper functions for javascript. + Gets whether server should redirect client. + + false means that the rule will replace + the current request URI with the new one from this class. + true means that a redirect response is sent to the client. + - + - Requests a url through ajax + Process the incoming request. - url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself. - optional options in format "key, value, key, value", used in JS request object. All keys should end with colon. - a link tag - onclick attribute is used by this method. - - - // plain text - JSHelper.AjaxRequest("'/user/show/1'"); - - // ajax request using this.href - string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>"; - - + incoming HTTP request + outgoing HTTP response + true if response should be sent to the browser directly (no other rules or modules will be processed). + + returning true means that no modules will get the request. Returning true is typically being done + for redirects. + - + - Ajax requests that updates an element with - the fetched content + Class to make dynamic binding of redirects. Instead of having to specify a number of similar redirect rules + a regular expression can be used to identify redirect URLs and their targets. - url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself. - element to update - options in format "key, value, key, value". All keys should end with colon. - A link tag. - - JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true"); - + [a-z0-9]+)", "/users/${target}?find=true", RegexOptions.IgnoreCase) + ]]> - + - Opens contents in a dialog window. + Initializes a new instance of the class. - url to contents of dialog - link title - name, value, name, value, all parameter names should end with colon. + Expression to match URL + Expression to generate URL + + [a-zA-Z0-9]+)", "/user/${first}")); + Result of ie. /employee1 will then be /user/employee1 + ]]> + - + - Close a javascript dialog window/div. + Initializes a new instance of the class. - javascript for closing a dialog. - + Expression to match URL + Expression to generate URL + Regular expression options to use, can be null + + [a-zA-Z0-9]+)", "/user/{first}", RegexOptions.IgnoreCase)); + Result of ie. /employee1 will then be /user/employee1 + ]]> + - + - Lists content type mime types. + Initializes a new instance of the class. + Expression to match URL + Expression to generate URL + Regular expression options to apply + true if request should be redirected, false if the request URI should be replaced. + + [a-zA-Z0-9]+)", "/user/${first}", RegexOptions.None)); + Result of ie. /employee1 will then be /user/employee1 + ]]> + + Argument is null. + - + - text/plain + Process the incoming request. + incoming HTTP request + outgoing HTTP response + true if response should be sent to the browser directly (no other rules or modules will be processed). + + returning true means that no modules will get the request. Returning true is typically being done + for redirects. + + If request or response is null - + - text/haml + Interface for sessions - + - content type for javascript documents = application/javascript + Session id - - - RFC 4329 states that text/javascript have been superseeded by - application/javascript. You might still want to check browser versions - since older ones do not support application/javascript. - - Browser support: http://krijnhoetmer.nl/stuff/javascript/mime-types/ - - + - text/xml + Should + Name of the session variable + null if it's not set + If the object cant be serialized. - + - A list of content types + When the session was last accessed. + This property is touched by the http server each time the + session is requested. - + - + Number of session variables. - Semicolon separated content types. - + - Returns an enumerator that iterates through a collection. + Remove everything from the session - - An object that can be used to iterate through the collection. - - + - Searches for the specified type + Remove everything from the session - Can also be a part of a type (searching for "xml" would return true for "application/xml"). - true if type was found. + True if the session is cleared due to expiration - + - Get this first content type. + Event triggered upon clearing the session - + - Fetch a content type + Arguments sent when a is cleared - Part of type ("xml" would return "application/xml") - - All content types are in lower case. - + - Creates request parsers when needed. + Instantiates the arguments for the event + True if the session is cleared due to expiration - + - Creates request parsers when needed. + Returns true if the session is cleared due to expiration - + - Create a new request parser. + Delegate for when a IHttpSession is cleared - Used when logging should be enabled. - A new request parser. + this is being cleared. + Arguments for the clearing - + - Create a new request parser. + A session store is used to store and load sessions on a media. + The default implementation () saves/retrieves sessions from memory. - Used when logging should be enabled. - A new request parser. - + - The request requires user authentication. The response MUST include a - WWW-Authenticate header field (section 14.47) containing a challenge - applicable to the requested resource. - - The client MAY repeat the request with a suitable Authorization header - field (section 14.8). If the request already included Authorization - credentials, then the 401 response indicates that authorization has been - refused for those credentials. If the 401 response contains the same challenge - as the prior response, and the user agent has already attempted authentication - at least once, then the user SHOULD be presented the entity that was given in the response, - since that entity might include relevant diagnostic information. - - HTTP access authentication is explained in rfc2617: - http://www.ietf.org/rfc/rfc2617.txt - - (description is taken from - http://www.submissionchamber.com/help-guides/error-codes.php#sec10.4.2) + Load a session from the store + + null if session is not found. - + - Create a new unauhtorized exception. + Number of minutes before a session expires. - + Default time is 20 minutes. - + - Create a new unauhtorized exception. + Creates a new http session with a generated id. - reason to why the request was unauthorized. - inner exception + A object - + - Create a new unauhtorized exception. + Creates a new http session with a specific id - reason to why the request was unauthorized. + Id used to identify the new cookie.. + A object. + + Id should be generated by the store implementation if it's null or . + - + - The purpose of this module is to serve files. + Load an existing session. + Session id (usually retrieved from a client side cookie). + A session if found; otherwise null. - + - Initializes a new instance of the class. + Save an updated session to the store. - Uri to serve, for instance "/files/" - Path on hard drive where we should start looking for files - If true a Last-Modifed header will be sent upon requests urging web browser to cache files + Session id (usually retrieved from a client side cookie). + If Id property have not been specified. - + - Initializes a new instance of the class. + We use the flyweight pattern which reuses small objects + instead of creating new each time. - Uri to serve, for instance "/files/" - Path on hard drive where we should start looking for files + Unused session that should be reused next time Create is called. - + - Mimtypes that this class can handle per default + Remove expired sessions - + - Determines if the request should be handled by this module. - Invoked by the + Remove a session - - true if this module should handle it. - - - Illegal path + id of the session. - + - check if source contains any of the chars. + A session stored in memory. - - - - + - Method that process the Uri. - - Information sent by the browser about the request - Information that is being sent back to the client. - Session used to - Failed to find file extension - File type is forbidden. + + + A unique id used by the sessions store to identify the session - + - return a file extension from an absolute Uri path (or plain filename) + Id - - + - + - List with all mime-type that are allowed. + Session id - All other mime types will result in a Forbidden http status code. - + - characters that may not exist in a path. + Should - - fileMod.ForbiddenChars = new string[]{ "\\", "..", ":" }; - + Name of the session variable + null if it's not set - + - Webhelper provides helpers for common tasks in HTML. + when the session was last accessed. + + Used to determine when the session should be removed. + - + - Used to let the website use different javascript libraries. - Default is + Number of values in the session - + - Creates a link that invokes through ajax. + Flag to indicate that the session have been changed + and should be saved into the session store. - url to fetch - link title - - optional options in format "key, value, key, value". - Javascript options starts with ':'. - - a link tag - - WebHelper.AjaxRequest("/users/add/", "Add user", "method:", "post", "onclick", "validate('this');"); - - + - Builds a link that updates an element with the fetched ajax content. + Remove everything from the session - Url to fetch content from - link title - html element to update with the results of the ajax request. - optional options in format "key, value, key, value" - A link tag. - + - A link that pop ups a Dialog (overlay div) + Clears the specified expire. - url to contents of dialog - link title - name/value of html attributes. - A "a"-tag that popups a dialog when clicked - - WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); - + True if the session is cleared due to expiration - + - Create/Open a dialog box using ajax + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - + 2 - + - Close a javascript dialog window/div. + Event triggered upon clearing the session - javascript for closing a dialog. - - + - Create a <form> tag. + Session store using memory for each session. - name of form - action to invoke on submit - form should be posted as ajax - html code - - WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); - - + - Create a link tag. + Initializes the class setting the expirationtimer to clean the session every minute - url to go to - link title (text that is displayed) - html attributes, name, value, name, value - html code - - WebHelper.Link("/user/show/1", "Show user", "id", "showUser", "onclick", "return confirm('Are you shure?');"); - - + - Build a link + Delegate for the cleanup timer - url to go to. - title of link (displayed text) - extra html attributes. - a complete link - + - Build a link + Load a session from the store - url to go to. - title of link (displayed text) - extra html attributes. - a complete link - more options + + null if session is not found. - + - Obsolete + Creates a new http session - Obsolete - Obsolete - Obsolete - Obsolete - Obsolete - Obsolete + - + - Obsolete + Creates a new http session with a specific id - Obsolete - Obsolete - Obsolete - Obsolete - Obsolete - Obsolete - Obsolete + Id used to identify the new cookie.. + A object. + + Id should be generated by the store implementation if it's null or . + - + - Render errors into a UL with class "errors" + Load an existing session. - class used by UL-tag. - items to list - an unordered html list. + + - + - Render errors into a UL with class "errors" + Save an updated session to the store. - class used by UL-tag. - items to list - an unordered html list. + - + - Render errors into a UL with class "errors" + We use the flyweight pattern which reuses small objects + instead of creating new each time. - - + EmptyLanguageNode (unused) session that should be reused next time Create is called. - + - Generates a list with html attributes. + Remove expired sessions - StringBuilder that the options should be added to. - attributes set by user. - attributes set by any of the helper classes. - + - Generates a list with html attributes. + Remove a session - StringBuilder that the options should be added to. - + id of the session. - + - Delegate used by to populate select options. + Number of minutes before a session expires. + Default is 20 minutes. - current object (for instance a User). - Text that should be displayed in the value part of a <optiongt;-tag. - Text shown in the select list. - - // Class that is going to be used in a SELECT-tag. - public class User - { - private readonly string _realName; - private readonly int _id; - public User(int id, string realName) - { - _id = id; - _realName = realName; - } - public string RealName - { - get { return _realName; } - } - - public int Id - { - get { return _id; } - } - } - - // Using an inline delegate to generate the select list - public void UserInlineDelegate() - { - List<User> items = new List<User>(); - items.Add(new User(1, "adam")); - items.Add(new User(2, "bertial")); - items.Add(new User(3, "david")); - string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value) - { - User user = (User)o; - id = user.Id; - value = user.RealName; - }, 2, true); - } - - // Using an method as delegate to generate the select list. - public void UseExternalDelegate() - { - List<User> items = new List<User>(); - items.Add(new User(1, "adam")); - items.Add(new User(2, "bertial")); - items.Add(new User(3, "david")); - string htmlSelect = Select("users", "users", items, UserOptions, 1, true); - } - - // delegate returning id and title - public static void UserOptions(object o, out object id, out object title) - { - User user = (User)o; - id = user.Id; - value = user.RealName; - } /// -- cgit v1.1 From b522f0916aa96a941da95d456acaa8d2ea0bb496 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 23 Jun 2016 11:44:59 -0700 Subject: Mantis #7934 and related: landing points and telehubs for gods. Added a new configuration variable LandingPointBehavior that can switch between what we're used to in OpenSim and the behavior in SL. --- bin/OpenSim.ini.example | 5 +++++ bin/OpenSimDefaults.ini | 5 +++++ 2 files changed, 10 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 90ecb72..141c608 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -653,6 +653,11 @@ ;; Disabling cancellation can be okay in small closed grids where all teleports are highly likely to suceed. ;DisableInterRegionTeleportCancellation = false + ;# {LandingPointBehavior} {} {How to honor landing points and telehubs for gods.} {LandingPointBehavior_OS LandingPointBehavior_SL} LandingPointBehavior_OS + ;; This option exists to control the behavior of teleporting gods into places that have landing points + ;; and telehubs. Historically, there has been a difference: OpenSim (OS) has honored landing points and telehubs even for + ;; avatars with god permissions; SL lets gods land wherever they want. + ;LandingPointBehavior = LandingPointBehavior_OS [Messaging] ;# {OfflineMessageModule} {} {Module to use for offline message storage} {OfflineMessageModule "Offline Message Module V2" *} diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index fbe4379..a55d762 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -808,6 +808,11 @@ ; Disabling cancellation can be okay in small closed grids where all teleports are highly likely to suceed. DisableInterRegionTeleportCancellation = false + ;; This option exists to control the behavior of teleporting gods into places that have landing points + ;; and telehubs. Historically, there has been a difference: OpenSim (OS) has honored landing points and telehubs even for + ;; avatars with god permissions; SL lets gods land wherever they want. + LandingPointBehavior = LandingPointBehavior_OS + [Messaging] ; Control which region module is used for instant messaging. -- cgit v1.1 From 5143bbc9d62b60e210f18ea34519141065f8691b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 28 Jun 2016 14:01:16 +0100 Subject: mantis: 7936 replace httpServer_OpenSim.dll with a new one restoring some checks lost in last update --- bin/HttpServer_OpenSim.dll | Bin 117760 -> 117248 bytes bin/HttpServer_OpenSim.pdb | Bin 355840 -> 323072 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 7da219b..5db99ef 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index cfff9a7..25b6760 100644 Binary files a/bin/HttpServer_OpenSim.pdb and b/bin/HttpServer_OpenSim.pdb differ -- cgit v1.1 From e00603f78ad10b86abf25b432f6ebfea38506b34 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sun, 3 Jul 2016 12:17:19 -0700 Subject: New config var: DisableObjectTransfer. If set to True, objects never cross; instead they stay in the region, possibly placed outside its borders. --- bin/OpenSimDefaults.ini | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index a55d762..841a761 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -800,6 +800,10 @@ ; Allow avatars to cross into and out of the region. AllowAvatarCrossing = true + ; This disables border transfers for objects. When true, objects can be placed outside + ; the region's border without being transferred to another simulator. + DisableObjectTransfer = false + ; Minimum user level required for HyperGrid teleports LevelHGTeleport = 0 -- cgit v1.1 From c02fe98b7da0ef62fe67fb45652878181e4a297d Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 6 Jul 2016 16:10:44 +0100 Subject: add test option ObjectsCullingByDistance. In future, if true, it may prevent sending objects outside view range to viewers. DO NOT SET TRUE unless testing it. Code still not completei!!! --- bin/OpenSim.ini.example | 3 +++ bin/OpenSimDefaults.ini | 4 ++++ 2 files changed, 7 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 141c608..9d868a1 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1122,6 +1122,9 @@ ;; SimpleAngularDistance, FrontBack ; UpdatePrioritizationScheme = BestAvatarResponsiveness + ; TEST OPTION KEEP AS FALSE + ; if true, don't send object updates if outside view range + ; ObjectsCullingByDistance = false [MediaOnAPrim] ;# {Enabled} {} {Enable Media-on-a-Prim (MOAP)} {true false} true diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 841a761..df92921 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -2016,6 +2016,10 @@ ReprioritizationInterval = 2000.0 RootReprioritizationDistance = 10.0 ChildReprioritizationDistance = 20.0 + + ; TEST OPTION KEEP AS FALSE + ; if true, don't send object updates if outside view range + ObjectsCullingByDistance = false ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region ; Updates will always be sent to the avatar that the update addresses and if av velocity is effectively zero (to prevent drift due to missing updates). -- cgit v1.1 From c802368c86726fc3d18d9705bc7b4cddfedc843f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 17 Jul 2016 10:49:59 +0100 Subject: replace http server with test version --- bin/HttpServer_OpenSim.dll | Bin 117248 -> 130560 bytes bin/HttpServer_OpenSim.pdb | Bin 323072 -> 355840 bytes bin/HttpServer_OpenSim.xml | 5574 -------------------------------------------- 3 files changed, 5574 deletions(-) delete mode 100644 bin/HttpServer_OpenSim.xml (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 5db99ef..2730e17 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index 25b6760..8299d80 100644 Binary files a/bin/HttpServer_OpenSim.pdb and b/bin/HttpServer_OpenSim.pdb differ diff --git a/bin/HttpServer_OpenSim.xml b/bin/HttpServer_OpenSim.xml deleted file mode 100644 index 7b6912e..0000000 --- a/bin/HttpServer_OpenSim.xml +++ /dev/null @@ -1,5574 +0,0 @@ - - - - HttpServer_OpenSim - - - - - Delegate used to let authentication modules authenticate the user name and password. - - Realm that the user want to authenticate in - User name specified by client - Can either be user password or implementation specific token. - object that will be stored in a session variable called if authentication was successful. - throw forbidden exception if too many attempts have been made. - - - Use to specify that the token is a HA1 token. (MD5 generated - string from realm, user name and password); Md5String(userName + ":" + realm + ":" + password); - - - - - - Let's you decide on a system level if authentication is required. - - HTTP request from client - true if user should be authenticated. - throw if no more attempts are allowed. - If no more attempts are allowed - - - - Authentication modules are used to implement different - kind of HTTP authentication. - - - - - Initializes a new instance of the class. - - Delegate used to provide information used during authentication. - Delegate used to determine if authentication is required (may be null). - - - - Initializes a new instance of the class. - - Delegate used to provide information used during authentication. - - - - name used in HTTP request. - - - - - Tag used for authentication. - - - - - Create a response that can be sent in the WWW-Authenticate header. - - Realm that the user should authenticate in - Array with optional options. - A correct authentication request. - If realm is empty or null. - - - - An authentication response have been received from the web browser. - Check if it's correct - - Contents from the Authorization header - Realm that should be authenticated - GET/POST/PUT/DELETE etc. - options to specific implementations - Authentication object that is stored for the request. A user class or something like that. - if is invalid - If any of the parameters is empty or null. - - - - Used to invoke the authentication delegate that is used to lookup the user name/realm. - - Realm (domain) that user want to authenticate in - User name - Password used for validation. Some implementations got password in clear text, they are then sent to client. - object that will be stored in the request to help you identify the user if authentication was successful. - true if authentication was successful - - - - Determines if authentication is required. - - HTTP request from browser - true if user should be authenticated. - throw from your delegate if no more attempts are allowed. - If no more attempts are allowed - - - - The "basic" authentication scheme is based on the model that the - client must authenticate itself with a user-ID and a password for - each realm. The realm value should be considered an opaque string - which can only be compared for equality with other realms on that - server. The server will service the request only if it can validate - the user-ID and password for the protection space of the Request-URI. - There are no optional authentication parameters. - - - - - Initializes a new instance of the class. - - Delegate used to provide information used during authentication. - Delegate used to determine if authentication is required (may be null). - - - - Initializes a new instance of the class. - - Delegate used to provide information used during authentication. - - - - Create a response that can be sent in the WWW-Authenticate header. - - Realm that the user should authenticate in - Not used in basic auth - A correct auth request. - - - - An authentication response have been received from the web browser. - Check if it's correct - - Contents from the Authorization header - Realm that should be authenticated - GET/POST/PUT/DELETE etc. - Not used in basic auth - Authentication object that is stored for the request. A user class or something like that. - if authenticationHeader is invalid - If any of the paramters is empty or null. - - - - name used in http request. - - - - - Implements HTTP Digest authentication. It's more secure than Basic auth since password is - encrypted with a "key" from the server. - - - Keep in mind that the password is encrypted with MD5. Use a combination of SSL and digest auth to be secure. - - - - - Initializes a new instance of the class. - - Delegate used to provide information used during authentication. - Delegate used to determine if authentication is required (may be null). - - - - Initializes a new instance of the class. - - Delegate used to provide information used during authentication. - - - - Used by test classes to be able to use hardcoded values - - - - - name used in http request. - - - - - An authentication response have been received from the web browser. - Check if it's correct - - Contents from the Authorization header - Realm that should be authenticated - GET/POST/PUT/DELETE etc. - First option: true if username/password is correct but not cnonce - - Authentication object that is stored for the request. A user class or something like that. - - if authenticationHeader is invalid - If any of the paramters is empty or null. - - - - Gets or sets whether the token supplied in is a - HA1 generated string. - - - - - Encrypts parameters into a Digest string - - Realm that the user want to log into. - User logging in - Users password. - HTTP method. - Uri/domain that generated the login prompt. - Quality of Protection. - "Number used ONCE" - Hexadecimal request counter. - "Client Number used ONCE" - Digest encrypted string - - - - - - Md5 hex encoded "userName:realm:password", without the quotes. - Md5 hex encoded "method:uri", without the quotes - Quality of Protection - "Number used ONCE" - Hexadecimal request counter. - Client number used once - - - - - Create a response that can be sent in the WWW-Authenticate header. - - Realm that the user should authenticate in - First options specifies if true if username/password is correct but not cnonce. - A correct auth request. - If realm is empty or null. - - - - Decodes authorization header value - - header value - Encoding that the buffer is in - All headers and their values if successful; otherwise null - - NameValueCollection header = DigestAuthentication.Decode("response=\"6629fae49393a05397450978507c4ef1\",\r\nc=00001", Encoding.ASCII); - - Can handle lots of whitespaces and new lines without failing. - - - - Gets the current nonce. - - - - - - Gets the Md5 hash bin hex2. - - To be hashed. - - - - - determines if the nonce is valid or has expired. - - nonce value (check wikipedia for info) - true if the nonce has not expired. - - - - Small design by contract implementation. - - - - - Check whether a parameter is empty. - - Parameter value - Parameter name, or error description. - value is empty. - - - - Checks whether a parameter is null. - - Parameter value - Parameter name, or error description. - value is null. - - - - Checks whether a parameter is null. - - - Parameter value - Parameter name, or error description. - value is null. - - - - Invoked when a client have been accepted by the - - - Can be used to revoke incoming connections - - - - - Initializes a new instance of the class. - - The socket. - - - - Accepted socket. - - - - - Client should be revoked. - - - - - Client may not be handled. - - - - - Add a component instance - - Interface type - Instance to add - - - - Get a component. - - Interface type - Component if registered, otherwise null. - - Component will get created if needed. - - - - If instance cannot be created. - - - - Checks if the specified component interface have been added. - - - true if found; otherwise false. - - - - Add a component. - - Type being requested. - Type being created. - Type have already been mapped. - - - - Lists content type mime types. - - - - - text/plain - - - - - text/haml - - - - - content type for javascript documents = application/javascript - - - - RFC 4329 states that text/javascript have been superseeded by - application/javascript. You might still want to check browser versions - since older ones do not support application/javascript. - - Browser support: http://krijnhoetmer.nl/stuff/javascript/mime-types/ - - - - - text/xml - - - - - A list of content types - - - - - - - Semicolon separated content types. - - - - Get this first content type. - - - - - Fetch a content type - - Part of type ("xml" would return "application/xml") - - All content types are in lower case. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Searches for the specified type - - Can also be a part of a type (searching for "xml" would return true for "application/xml"). - true if type was found. - - - - Timeout Manager. Checks for dead clients. Clients with open connections that are not doing anything. Closes sessions opened with keepalive. - - - - - Use a Thread or a Timer to monitor the ugly - - - - - Causes the watcher to immediately check the connections. - - - - - Environment.TickCount is an int but it counts all 32 bits so it goes positive - and negative every 24.9 days. This trims down TickCount so it doesn't wrap - for the callers. - This trims it to a 12 day interval so don't let your frame time get too long. - - - - - - Environment.TickCount is an int but it counts all 32 bits so it goes positive - and negative every 24.9 days. Subtracts the passed value (previously fetched by - 'EnvironmentTickCount()') and accounts for any wrapping. - - - - subtraction of passed prevValue from current Environment.TickCount - - - - Environment.TickCount is an int but it counts all 32 bits so it goes positive - and negative every 24.9 days. Subtracts the passed value (previously fetched by - 'EnvironmentTickCount()') and accounts for any wrapping. - - - - subtraction of passed prevValue from current Environment.TickCount - - - - Environment.TickCount is an int but it counts all 32 bits so it goes positive - and negative every 24.9 days. Subtracts the passed value (previously fetched by - 'EnvironmentTickCount()') and accounts for any wrapping. - - subtraction of passed prevValue from current Environment.TickCount - - - - We dont want to let the server to die due to exceptions thrown in worker threads. - therefore we use this delegate to give you a change to handle uncaught exceptions. - - Class that the exception was thrown in. - Exception - - Server will throw a InternalServerException in release version if you dont - handle this delegate. - - - - - The request could not be understood by the server due to malformed syntax. - The client SHOULD NOT repeat the request without modifications. - - Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php - - - - - Create a new bad request exception. - - reason to why the request was bad. - - - - Create a new bad request exception. - - reason to why the request was bad. - inner exception - - - - The server understood the request, but is refusing to fulfill it. - Authorization will not help and the request SHOULD NOT be repeated. - If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled, - it SHOULD describe the reason for the refusal in the entity. If the server does not wish to make this information - available to the client, the status code 404 (Not Found) can be used instead. - - Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php - - - - - Initializes a new instance of the class. - - error message - - - - All HTTP based exceptions will derive this class. - - - - - Create a new HttpException - - http status code (sent in the response) - error description - - - - Create a new HttpException - - http status code (sent in the response) - error description - inner exception - - - - status code to use in the response. - - - - - The server encountered an unexpected condition which prevented it from fulfilling the request. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - error message. - - - - Initializes a new instance of the class. - - error message. - inner exception. - - - - The requested resource was not found in the web server. - - - - - Create a new exception - - message describing the error - inner exception - - - - Create a new exception - - message describing the error - - - - The request requires user authentication. The response MUST include a - WWW-Authenticate header field (section 14.47) containing a challenge - applicable to the requested resource. - - The client MAY repeat the request with a suitable Authorization header - field (section 14.8). If the request already included Authorization - credentials, then the 401 response indicates that authorization has been - refused for those credentials. If the 401 response contains the same challenge - as the prior response, and the user agent has already attempted authentication - at least once, then the user SHOULD be presented the entity that was given in the response, - since that entity might include relevant diagnostic information. - - HTTP access authentication is explained in rfc2617: - http://www.ietf.org/rfc/rfc2617.txt - - (description is taken from - http://www.submissionchamber.com/help-guides/error-codes.php#sec10.4.2) - - - - - Create a new unauhtorized exception. - - - - - - Create a new unauhtorized exception. - - reason to why the request was unauthorized. - inner exception - - - - Create a new unauhtorized exception. - - reason to why the request was unauthorized. - - - - This provider is used to let us implement any type of form decoding we want without - having to rewrite anything else in the server. - - - - - - - Should contain boundary and type, as in: multipart/form-data; boundary=---------------------------230051238959 - Stream containing form data. - Encoding used when decoding the stream - if no parser was found. - If stream is null or not readable. - If stream contents cannot be decoded properly. - - - - Add a decoder. - - - - - - - Number of added decoders. - - - - - Use with care. - - - - - Decoder used for unknown content types. - - - - Represents a field in a multipart form - - - - - - - - - - - - Interface for form content decoders. - - - - - - - Stream containing the content - Content type (with any additional info like boundry). Content type is always supplied in lower case - Stream enconding - A http form, or null if content could not be parsed. - If contents in the stream is not valid input data. - - - - Checks if the decoder can handle the mime type - - Content type (with any additional info like boundry). Content type is always supplied in lower case. - True if the decoder can parse the specified content type - - - - - - - http://www.faqs.org/rfcs/rfc1867.html - - - - - multipart/form-data - - - - - form-data - - - - - - - Stream containing the content - Content type (with any additional info like boundry). Content type is always supplied in lower case - Stream enconding - A http form, or null if content could not be parsed. - If contents in the stream is not valid input data. - If any parameter is null - - - - Checks if the decoder can handle the mime type - - Content type (with any additional info like boundry). Content type is always supplied in lower case. - True if the decoder can parse the specified content type - - - - Can handle application/x-www-form-urlencoded - - - - - - Stream containing the content - Content type (with any additional info like boundry). Content type is always supplied in lower case - Stream encoding - - A HTTP form, or null if content could not be parsed. - - If contents in the stream is not valid input data. - - - - Checks if the decoder can handle the mime type - - Content type (with any additional info like boundry). Content type is always supplied in lower case. - True if the decoder can parse the specified content type - - - - This decoder converts XML documents to form items. - Each element becomes a subitem in the form, and each attribute becomes an item. - - - // xml: somethingdata - // result: - // form["hello"].Value = "something" - // form["hello"]["id"].Value = 1 - // form["hello"]["world]["id"].Value = 1 - // form["hello"]["world"].Value = "data" - - - The original xml document is stored in form["__xml__"].Value. - - - - - - - Stream containing the content - Content type (with any additional info like boundry). Content type is always supplied in lower case - Stream encoding - Note: contentType and encoding are not used? - A http form, or null if content could not be parsed. - - - - - Recursive function that will go through an xml element and store it's content - to the form item. - - (parent) Item in form that content should be added to. - Node that should be parsed. - - - - Checks if the decoder can handle the mime type - - Content type (with any additional info like boundry). Content type is always supplied in lower case. - True if the decoder can parse the specified content type - - - - Helpers making it easier to work with forms. - - - - - - Used to let the website use different JavaScript libraries. - Default is - - - - - Create a <form> tag. - - name of form - action to invoke on submit - form should be posted as Ajax - HTML code - - - // without options - WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); - - // with options - WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax, "style", "display:inline", "class", "greenForm"); - - - HTML attributes or JavaScript options. - Method will ALWAYS be POST. - options must consist of name, value, name, value - - - - Creates a select list with the values in a collection. - - Name of the SELECT-tag - collection used to generate options. - delegate used to return id and title from objects. - value that should be marked as selected. - First row should contain an empty value. - string containing a SELECT-tag. - - - - - Creates a select list with the values in a collection. - - Name of the SELECT-tag - Id of the SELECT-tag - collection used to generate options. - delegate used to return id and title from objects. - value that should be marked as selected. - First row should contain an empty value. - string containing a SELECT-tag. - - - - // Class that is going to be used in a SELECT-tag. - public class User - { - private readonly string _realName; - private readonly int _id; - public User(int id, string realName) - { - _id = id; - _realName = realName; - } - public string RealName - { - get { return _realName; } - } - - public int Id - { - get { return _id; } - } - } - - // Using an inline delegate to generate the select list - public void UserInlineDelegate() - { - List<User> items = new List<User>(); - items.Add(new User(1, "adam")); - items.Add(new User(2, "bertial")); - items.Add(new User(3, "david")); - string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value) - { - User user = (User)o; - id = user.Id; - value = user.RealName; - }, 2, true); - } - - // Using an method as delegate to generate the select list. - public void UseExternalDelegate() - { - List<User> items = new List<User>(); - items.Add(new User(1, "adam")); - items.Add(new User(2, "bertial")); - items.Add(new User(3, "david")); - string htmlSelect = Select("users", "users", items, UserOptions, 1, true); - } - - // delegate returning id and title - public static void UserOptions(object o, out object id, out object title) - { - User user = (User)o; - id = user.Id; - value = user.RealName; - } - - - name, id, collection or getIdTitle is null. - - - - Creates a select list with the values in a collection. - - Name of the SELECT-tag - Id of the SELECT-tag - collection used to generate options. - delegate used to return id and title from objects. - value that should be marked as selected. - First row should contain an empty value. - name, value collection of extra HTML attributes. - string containing a SELECT-tag. - - name, id, collection or getIdTitle is null. - Invalid HTML attribute list. - - - - Generate a list of HTML options - - collection used to generate options. - delegate used to return id and title from objects. - value that should be marked as selected. - First row should contain an empty value. - - collection or getIdTitle is null. - - - sb is null. - - - - Creates a check box. - - element name - element value - determines if the check box is selected or not. This is done differently depending on the - type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if - the box is checked or not. - a list with additional attributes (name, value, name, value). - a generated radio button - - - - Creates a check box. - - element name - element id - element value - determines if the check box is selected or not. This is done differently depending on the - type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if - the box is checked or not. - a list with additional attributes (name, value, name, value). - a generated radio button - - value in your business object. (check box will be selected if it matches the element value) - - - - - Creates a check box. - - element name - element id - determines if the check box is selected or not. This is done differently depending on the - type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if - the box is checked or not. - a list with additional attributes (name, value, name, value). - a generated radio button - will set value to "1". - - - - Creates a RadioButton. - - element name - element value - determines if the radio button is selected or not. This is done differently depending on the - type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if - the box is checked or not. - a list with additional attributes (name, value, name, value). - a generated radio button - - - - Creates a RadioButton. - - element name - element id - element value - determines if the radio button is selected or not. This is done differently depending on the - type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if - the box is checked or not. - a list with additional attributes (name, value, name, value). - a generated radio button - - - - form close tag - - - - - - Delegate used by to populate select options. - - current object (for instance a User). - Text that should be displayed in the value part of a <optiongt;-tag. - Text shown in the select list. - - // Class that is going to be used in a SELECT-tag. - public class User - { - private readonly string _realName; - private readonly int _id; - public User(int id, string realName) - { - _id = id; - _realName = realName; - } - public string RealName - { - get { return _realName; } - } - - public int Id - { - get { return _id; } - } - } - - // Using an inline delegate to generate the select list - public void UserInlineDelegate() - { - List<User> items = new List<User>(); - items.Add(new User(1, "adam")); - items.Add(new User(2, "bertial")); - items.Add(new User(3, "david")); - string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value) - { - User user = (User)o; - id = user.Id; - value = user.RealName; - }, 2, true); - } - - // Using an method as delegate to generate the select list. - public void UseExternalDelegate() - { - List<User> items = new List<User>(); - items.Add(new User(1, "adam")); - items.Add(new User(2, "bertial")); - items.Add(new User(3, "david")); - string htmlSelect = Select("users", "users", items, UserOptions, 1, true); - } - - // delegate returning id and title - public static void UserOptions(object o, out object id, out object title) - { - User user = (User)o; - id = user.Id; - value = user.RealName; - } /// - - - - PrototypeJS implementation of the javascript functions. - - - - - Requests a url through ajax - - url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself. - optional options in format "key, value, key, value", used in JS request object. All keys should end with colon. - a link tag - onclick attribute is used by this method. - - - // plain text - JSHelper.AjaxRequest("'/user/show/1'"); - - // ajax request using this.href - string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>"; - - - - - - Determins if a list of strings contains a specific value - - options to check in - value to find - true if value was found - case insensitive - - - - Ajax requests that updates an element with - the fetched content - - URL to fetch. URL is NOT enclosed in quotes by the implementation. You need to do that yourself. - element to update - options in format "key, value, key, value". All keys should end with colon. - A link tag. - - - JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true"); - - - - - - A link that pop ups a Dialog (overlay div) - - URL to contents of dialog - link title - name, value, name, value - - A "a"-tag that popups a dialog when clicked - - Requires Control.Modal found here: http://livepipe.net/projects/control_modal/ - And the following JavaScript (load it in application.js): - - Event.observe(window, 'load', - function() { - document.getElementsByClassName('modal').each(function(link){ new Control.Modal(link); }); - } - ); - - - - WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); - - - - - create a modal dialog (usually using DIVs) - - url to fetch - dialog title - javascript/html attributes. javascript options ends with colon ':'. - - - - - Close a javascript dialog window/div. - - javascript for closing a dialog. - - - - - javascript action that should be added to the "onsubmit" event in the form tag. - - remember to encapsulate strings in '' - - All javascript option names should end with colon. - - - JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); - - - - - - Will contain helper functions for javascript. - - - - - Requests a url through ajax - - url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself. - optional options in format "key, value, key, value", used in JS request object. All keys should end with colon. - a link tag - onclick attribute is used by this method. - - - // plain text - JSHelper.AjaxRequest("'/user/show/1'"); - - // ajax request using this.href - string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>"; - - - - - - Ajax requests that updates an element with - the fetched content - - url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself. - element to update - options in format "key, value, key, value". All keys should end with colon. - A link tag. - - - JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true"); - - - - - - Opens contents in a dialog window. - - url to contents of dialog - link title - name, value, name, value, all parameter names should end with colon. - - - - Close a javascript dialog window/div. - - javascript for closing a dialog. - - - - - The object form class takes an object and creates form items for it. - - - - - Initializes a new instance of the class. - - - form name *and* id. - action to do when form is posted. - - - - - Initializes a new instance of the class. - - form name *and* id. - action to do when form is posted. - object to get values from - - - - Initializes a new instance of the class. - - form action. - object to get values from. - - - - write out the FORM-tag. - - generated html code - - - - Writeout the form tag - - form should be posted through ajax. - generated html code - - - - Generates a text box. - - - - generated html code - - - - password box - - - - generated html code - - - - Hiddens the specified property name. - - Name of the property. - The options. - generated html code - - - - Labels the specified property name. - - property in object. - caption - generated html code - - - - Generate a checkbox - - property in object - checkbox value - additional html attributes. - generated html code - - - - Write a html select tag - - object property. - id column - The title column. - The options. - - - - - Selects the specified property name. - - Name of the property. - The items. - The id column. - The title column. - The options. - - - - - Write a submit tag. - - button caption - html submit tag - - - - html end form tag - - html - - - - Container to bind resource names to assemblies - - - - - Instantiates an instance of - - The dot seperated uri the resource maps to - The full resource name - The assembly the resource exists in - - - - Retrieves the assembly the resource resides in - - - - - Retrieves the full name/path of the assembly - - - - - Retrieves the extension of the resource - - - - Returns the Uri without extension - - - Retrieves the full path name to the resource file - - - - Retrieves a stream to the resource - - Null if the resource couldn't be located somehow - - - Class to handle loading of resource files - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - logger. - - - - Loads resources from a namespace in the given assembly to an URI - - The URI to map the resources to - The assembly in which the resources reside - The namespace from which to load the resources - - - resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); - - Will make the resource MyLib.Models.User.Views.list.Haml accessible via /user/list.haml or /user/list/ - - The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded - If a resource has already been mapped to an uri - - - - Retrieves a stream for the specified resource path if loaded otherwise null - - Path to the resource to retrieve a stream for - A stream or null if the resource couldn't be found - - - - Fetch all files from the resource that matches the specified arguments. - - The path to the resource to extract - - a list of files if found; or an empty array if no files are found. - - Search path must end with an asterisk for finding arbitrary files - - - - Fetch all files from the resource that matches the specified arguments. - - Where the file should reside. - Files to check - - a list of files if found; or an empty array if no files are found. - - - - - Returns whether or not the loader has an instance of the file requested - - The name of the template/file - True if the loader can provide the file - - - - Webhelper provides helpers for common tasks in HTML. - - - - - Used to let the website use different javascript libraries. - Default is - - - - - Creates a link that invokes through ajax. - - url to fetch - link title - - optional options in format "key, value, key, value". - Javascript options starts with ':'. - - a link tag - - WebHelper.AjaxRequest("/users/add/", "Add user", "method:", "post", "onclick", "validate('this');"); - - - - - Builds a link that updates an element with the fetched ajax content. - - Url to fetch content from - link title - html element to update with the results of the ajax request. - optional options in format "key, value, key, value" - A link tag. - - - - A link that pop ups a Dialog (overlay div) - - url to contents of dialog - link title - name/value of html attributes. - A "a"-tag that popups a dialog when clicked - - WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); - - - - - Create/Open a dialog box using ajax - - - - - - - - - Close a javascript dialog window/div. - - javascript for closing a dialog. - - - - - Create a <form> tag. - - name of form - action to invoke on submit - form should be posted as ajax - html code - - WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); - - - - - Create a link tag. - - url to go to - link title (text that is displayed) - html attributes, name, value, name, value - html code - - WebHelper.Link("/user/show/1", "Show user", "id", "showUser", "onclick", "return confirm('Are you shure?');"); - - - - - Build a link - - url to go to. - title of link (displayed text) - extra html attributes. - a complete link - - - - Build a link - - url to go to. - title of link (displayed text) - extra html attributes. - a complete link - more options - - - - Obsolete - - Obsolete - Obsolete - Obsolete - Obsolete - Obsolete - Obsolete - - - - Obsolete - - Obsolete - Obsolete - Obsolete - Obsolete - Obsolete - Obsolete - Obsolete - - - - Render errors into a UL with class "errors" - - class used by UL-tag. - items to list - an unordered html list. - - - - Render errors into a UL with class "errors" - - class used by UL-tag. - items to list - an unordered html list. - - - - Render errors into a UL with class "errors" - - - - - - - Generates a list with html attributes. - - StringBuilder that the options should be added to. - attributes set by user. - attributes set by any of the helper classes. - - - - Generates a list with html attributes. - - StringBuilder that the options should be added to. - - - - - Purpose of this class is to create a javascript toolkit independent javascript helper. - - - - - Generates a list with JS options. - - StringBuilder that the options should be added to. - the javascript options. name, value pairs. each string value should be escaped by YOU! - true if we should start with a comma. - - - - Removes any javascript parameters from an array of parameters - - The array of parameters to remove javascript params from - An array of html parameters - - - - javascript action that should be added to the "onsubmit" event in the form tag. - - - All javascript option names should end with colon. - - - JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); - - - - - - Requests a url through ajax - - url to fetch - optional options in format "key, value, key, value", used in JS request object. - a link tag - All javascript option names should end with colon. - - - JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); - - - - - - Ajax requests that updates an element with - the fetched content - - Url to fetch content from - element to update - optional options in format "key, value, key, value", used in JS updater object. - A link tag. - All javascript option names should end with colon. - - - JSHelper.AjaxUpdater("/user/show/1", "userInfo", "onsuccess:", "alert('Successful!');"); - - - - - - A link that pop ups a Dialog (overlay div) - - url to contents of dialog - link title - A "a"-tag that popups a dialog when clicked - name/value of html attributes - - WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); - - - - - Close a javascript dialog window/div. - - javascript for closing a dialog. - - - - - Creates a new modal dialog window - - url to open in window. - window title (may not be supported by all js implementations) - - - - - - Helpers to make XML handling easier - - - - - Serializes object to XML. - - object to serialize. - XML - - Removes name spaces and adds indentation - - - - - Create an object from a XML string - - Type of object - XML string - object - - - - Contains a connection to a browser/client. - - - Remember to after you have hooked the event. - - TODO: Maybe this class should be broken up into HttpClientChannel and HttpClientContext? - - - - This context have been cleaned, which means that it can be reused. - - - - - Context have been started (a new client have connected) - - - - - Initializes a new instance of the class. - - true if the connection is secured (SSL/TLS) - client that connected. - Stream used for communication - Used to create a . - Size of buffer to use when reading data. Must be at least 4096 bytes. - If fails - Stream must be writable and readable. - - - - Process incoming body bytes. - - - Bytes - - - - - - - - - - - Overload to specify own type. - - - Must be specified before the context is being used. - - - - - Start reading content. - - - Make sure to call base.Start() if you override this method. - - - - - Clean up context. - - - Make sure to call base.Cleanup() if you override the method. - - - - - Using SSL or other encryption method. - - - - - Using SSL or other encryption method. - - - - - Specify which logger to use. - - - - - Gets or sets the network stream. - - - - - Gets or sets IP address that the client connected from. - - - - - Gets or sets port that the client connected from. - - - - - Disconnect from client - - error to report in the event. - - - - Send a response. - - Either or - HTTP status code - reason for the status code. - HTML body contents, can be null or empty. - A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty - If is invalid. - - - - Send a response. - - Either or - HTTP status code - reason for the status code. - - - - Send a response. - - - - - - send a whole buffer - - buffer to send - - - - - Send data using the stream - - Contains data to send - Start position in buffer - number of bytes to send - - - - - - The context have been disconnected. - - - Event can be used to clean up a context, or to reuse it. - - - - - A request have been received in the context. - - - - - Used to create and reuse contexts. - - - - - Initializes a new instance of the class. - - The writer. - Amount of bytes to read from the incoming socket stream. - Used to create a request parser. - - - - True if detailed trace logs should be written. - - - - - Create a new context. - - true if socket is running HTTPS. - Client that connected - Network/SSL stream. - A context. - - - - Create a new context. - - true if HTTPS is used. - Remote client - Network stream, uses . - A new context (always). - - - - Create a secure . - - Client socket (accepted by the ). - HTTPS certificate to use. - Kind of HTTPS protocol. Usually TLS or SSL. - - A created . - - - - - A request have been received from one of the contexts. - - - - - Creates a that handles a connected client. - - Client socket (accepted by the ). - - A creates . - - - - - Server is shutting down so shut down the factory - - - - - Custom network stream to mark sockets as reusable when disposing the stream. - - - - - Creates a new instance of the class for the specified . - - - The that the will use to send and receive data. - - - The parameter is null. - - - The parameter is not connected. - -or- - The property of the parameter is not . - -or- - The parameter is in a nonblocking state. - - - - - Initializes a new instance of the class for the specified with the specified ownership. - - - The that the will use to send and receive data. - - - Set to true to indicate that the will take ownership of the ; otherwise, false. - - - The parameter is null. - - - The parameter is not connected. - -or- - the value of the property of the parameter is not . - -or- - the parameter is in a nonblocking state. - - - - - Creates a new instance of the class for the specified with the specified access rights. - - - The that the will use to send and receive data. - - - A bitwise combination of the values that specify the type of access given to the over the provided . - - - The parameter is null. - - - The parameter is not connected. - -or- - the property of the parameter is not . - -or- - the parameter is in a nonblocking state. - - - - - Creates a new instance of the class for the specified with the specified access rights and the specified ownership. - - - The that the will use to send and receive data. - - - A bitwise combination of the values that specifies the type of access given to the over the provided . - - - Set to true to indicate that the will take ownership of the ; otherwise, false. - - - The parameter is null. - - - The parameter is not connected. - -or- - The property of the parameter is not . - -or- - The parameter is in a nonblocking state. - - - - - Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. - - - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Used to create es. - - - - - Creates a that handles a connected client. - - Client socket (accepted by the ). - A creates . - - - - Create a secure . - - Client socket (accepted by the ). - HTTPS certificate to use. - Kind of HTTPS protocol. Usually TLS or SSL. - A created . - - - - A request have been received from one of the contexts. - - - - - Server is shutting down so shut down the factory - - - - - Container class for posted files - - - - - Creates a container for a posted file - - The identifier of the post field - The file path - The content type of the file - The name of the file uploaded - If any parameter is null or empty - - - - Creates a container for a posted file - - If any parameter is null or empty - - - Destructor disposing the file - - - - The name/id of the file - - - - - The full file path - - - - - The name of the uploaded file - - - - - The type of file - - - - - Deletes the temporary file - - True if manual dispose - - - - Disposing interface, cleans up managed resources (the temporary file) and suppresses finalization - - - - Container for posted form data - - - Instance to help mark a non-initialized form - - - Initializes a form container with the specified name - - - - Makes a deep copy of the input - - The input to copy - - - - Adds a file to the collection of posted files - - The file to add - If the file is already added - If file is null - If the instance is HttpForm.EmptyForm which cannot be modified - - - - Checks if the form contains a specified file - - Field name of the file parameter - True if the file exists - If the instance is HttpForm.EmptyForm which cannot be modified - - - - Retrieves a file held by by the form - - The identifier of the file - The requested file or null if the file was not found - If name is null or empty - If the instance is HttpForm.EmptyForm which cannot be modified - - - - Retrieves the number of files added to the - - 0 if no files are added - - - Disposes all held HttpFile's and resets values - - - - Generic helper functions for HTTP - - - - - Version string for HTTP v1.0 - - - - - Version string for HTTP v1.1 - - - - - An empty URI - - - - - Parses a query string. - - Query string (URI encoded) - A object if successful; otherwise - queryString is null. - If string cannot be parsed. - - - - Contains some kind of input from the browser/client. - can be QueryString, form data or any other request body content. - - - - Representation of a non-initialized class instance - - - Variable telling the class that it is non-initialized - - - - Initializes a new instance of the class. - - form name. - - - - Initializes a new instance of the class. - - form name. - if set to true all changes will be ignored. - this constructor should only be used by Empty - - - Creates a deep copy of the HttpInput class - The object to copy - The function makes a deep copy of quite a lot which can be slow - - - - Form name as lower case - - - - - Add a new element. Form array elements are parsed - and added in a correct hierarchy. - - Name is converted to lower case. - - name is null. - Cannot add stuff to . - - - - Get a form item. - - - Returns if item was not found. - - - - Returns true if the class contains a with the corresponding name. - - The field/query string name - True if the value exists - - - - Parses an item and returns it. - This function is primarily used to parse array items as in user[name]. - - - - - - - Outputs the instance representing all its values joined together - - - - Returns all items as an unescaped query string. - - - - - Extracts one parameter from an array - - Containing the string array - All but the first value - - string test1 = ExtractOne("system[user][extension][id]"); - string test2 = ExtractOne(test1); - string test3 = ExtractOne(test2); - // test1 = user[extension][id] - // test2 = extension[id] - // test3 = id - - - - Resets all data contained by class - - - - Returns an enumerator that iterates through the collection. - - - - A that can be used to iterate through the collection. - - 1 - - - - Returns an enumerator that iterates through a collection. - - - - An object that can be used to iterate through the collection. - - 2 - - - - Base class for request data containers - - - - - Adds a parameter mapped to the presented name - - The name to map the parameter to - The parameter value - - - - Returns a request parameter - - The name associated with the parameter - - - - - Returns true if the container contains the requested parameter - - Parameter id - True if parameter exists - - - - represents a HTTP input item. Each item can have multiple sub items, a sub item - is made in a HTML form by using square brackets - - - // becomes: - Console.WriteLine("Value: {0}", form["user"]["FirstName"].Value); - - - All names in a form SHOULD be in lowercase. - - - - Representation of a non-initialized . - - - - Initializes an input item setting its name/identifier and value - - Parameter name/id - Parameter value - - - Creates a deep copy of the item specified - The item to copy - The function makes a deep copy of quite a lot which can be slow - - - - Number of values - - - - - Get a sub item - - name in lower case. - if no item was found. - - - - Name of item (in lower case). - - - - - Returns the first value, or null if no value exist. - - - - - Returns the last value, or null if no value exist. - - - - - Returns the list with values. - - - - - Add another value to this item - - Value to add. - Cannot add stuff to . - - - - checks if a sub-item exists (and has a value). - - name in lower case - true if the sub-item exists and has a value; otherwise false. - - - Returns a formatted representation of the instance with the values of all contained parameters - - - - Outputs the string in a formatted manner - - A prefix to append, used internally - produce a query string - - - - - - name in lower case - - - - - Add a sub item. - - Can contain array formatting, the item is then parsed and added in multiple levels - Value to add. - Argument is null. - Cannot add stuff to . - - - - Returns an enumerator that iterates through the collection. - - - - A that can be used to iterate through the collection. - - 1 - - - - Returns an enumerator that iterates through a collection. - - - - An object that can be used to iterate through the collection. - - 2 - - - - Outputs the string in a formatted manner - - A prefix to append, used internally - - - - - New implementation of the HTTP listener. - - - Use the Create methods to create a default listener. - - - - - A client have been accepted, but not handled, by the listener. - - - - - Initializes a new instance of the class. - - IP Address to accept connections on - TCP Port to listen on, default HTTP port is 80. - Factory used to create es. - address is null. - Port must be a positive number. - - - - Initializes a new instance of the class. - - The address. - The port. - The factory. - The certificate. - - - - Initializes a new instance of the class. - - The address. - The port. - The factory. - The certificate. - The protocol. - - - - Creates a new instance with default factories. - - Address that the listener should accept connections on. - Port that listener should accept connections on. - Created HTTP listener. - - - - Creates a new instance with default factories. - - Address that the listener should accept connections on. - Port that listener should accept connections on. - Certificate to use - Created HTTP listener. - - - - Creates a new instance with default factories. - - Address that the listener should accept connections on. - Port that listener should accept connections on. - Certificate to use - which HTTPS protocol to use, default is TLS. - Created HTTP listener. - - - - Can be used to create filtering of new connections. - - Accepted socket - - true if connection can be accepted; otherwise false. - - - - - Contains a listener that doesn't do anything with the connections. - - - - - Listen for regular HTTP connections - - IP Address to accept connections on - TCP Port to listen on, default HTTP port is 80. - Factory used to create es. - address is null. - Port must be a positive number. - - - - Initializes a new instance of the class. - - IP Address to accept connections on - TCP Port to listen on, default HTTPS port is 443 - Factory used to create es. - Certificate to use - - - - Initializes a new instance of the class. - - IP Address to accept connections on - TCP Port to listen on, default HTTPS port is 443 - Factory used to create es. - Certificate to use - which HTTPS protocol to use, default is TLS. - - - - Gives you a change to receive log entries for all internals of the HTTP library. - - - You may not switch log writer after starting the listener. - - - - - True if we should turn on trace logs. - - - - Exception. - - - - Will try to accept connections one more time. - - If any exceptions is thrown. - - - - Can be used to create filtering of new connections. - - Accepted socket - true if connection can be accepted; otherwise false. - - - - Start listen for new connections - - Number of connections that can stand in a queue to be accepted. - Listener have already been started. - - - - Stop the listener - - - - - - Catch exceptions not handled by the listener. - - - Exceptions will be thrown during debug mode if this event is not used, - exceptions will be printed to console and suppressed during release mode. - - - - - A request have been received from a . - - - - - The purpose of this module is to serve files. - - - - - Initializes a new instance of the class. - - Uri to serve, for instance "/files/" - Path on hard drive where we should start looking for files - If true a Last-Modifed header will be sent upon requests urging web browser to cache files - - - - Initializes a new instance of the class. - - Uri to serve, for instance "/files/" - Path on hard drive where we should start looking for files - - - - List with all mime-type that are allowed. - - All other mime types will result in a Forbidden http status code. - - - - characters that may not exist in a path. - - - fileMod.ForbiddenChars = new string[]{ "\\", "..", ":" }; - - - - - Mimtypes that this class can handle per default - - - - - Determines if the request should be handled by this module. - Invoked by the - - - true if this module should handle it. - - - Illegal path - - - - check if source contains any of the chars. - - - - - - - - Method that process the Uri. - - Information sent by the browser about the request - Information that is being sent back to the client. - Session used to - Failed to find file extension - File type is forbidden. - - - - return a file extension from an absolute Uri path (or plain filename) - - - - - - - A HttpModule can be used to serve Uri's. The module itself - decides if it should serve a Uri or not. In this way, you can - get a very flexible http application since you can let multiple modules - serve almost similar urls. - - - Throw if you are using a and want to prompt for user name/password. - - - - - Method that process the url - - Information sent by the browser about the request - Information that is being sent back to the client. - Session used to - true if this module handled the request. - - - - Set the log writer to use. - - logwriter to use. - - - - Log something. - - importance of log message - message - - - - If true specifies that the module doesn't consume the processing of a request so that subsequent modules - can continue processing afterwards. Default is false. - - - - - Used to inform http server that - - - - - Eventarguments used when an exception is thrown by a module - - the exception - - - - Exception thrown in a module - - - - - Serves files that are stored in embedded resources. - - - - - Initializes a new instance of the class. - Runs to make sure the basic mime types are available, they can be cleared later - through the use of if desired. - - - - - Initializes a new instance of the class. - Runs to make sure the basic mime types are available, they can be cleared later - through the use of if desired. - - The log writer to use when logging events - - - - List with all mime-type that are allowed. - - All other mime types will result in a Forbidden http status code. - - - - Mimtypes that this class can handle per default - - - - - Loads resources from a namespace in the given assembly to an uri - - The uri to map the resources to - The assembly in which the resources reside - The namespace from which to load the resources - - resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); - - will make ie the resource MyLib.Models.User.Views.stylesheet.css accessible via /user/stylesheet.css - - The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded - - - - Returns true if the module can handle the request - - - - - Method that process the url - - Information sent by the browser about the request - Information that is being sent back to the client. - Session used to - true if this module handled the request. - - - - A reverse proxy are used to act as a bridge between local (protected/hidden) websites - and public clients. - - A typical usage is to allow web servers on non standard ports to still be available - to the public clients, or allow web servers on private ips to be available. - - - - - - - Base url requested from browser - Base url on private web server - - // this will return contents from http://192.168.1.128/view/jonas when client requests http://www.gauffin.com/user/view/jonas - _server.Add(new ReverseProxyModule("http://www.gauffin.com/user/", "http://192.168.1.128/"); - - - - - Method that determines if an url should be handled or not by the module - - Url requested by the client. - true if module should handle the url. - - - - Method that process the url - - Information sent by the browser about the request - Information that is being sent back to the client. - Session used to - - - - The website module let's you handle multiple websites in the same server. - It uses the "Host" header to check which site you want. - - It's recommended that you do not - add any other modules to HttpServer if you are using the website module. Instead, - add all wanted modules to each website. - - - - - - domain name that should be handled. - - - - - Name of site. - - - - - Method that process the url - - Information sent by the browser about the request - Information that is being sent back to the client. - Session used to - - - - Returns item either from a form or a query string (checks them in that order) - - - - Representation of a non-initialized HttpParam - - - Initialises the class to hold a value either from a post request or a querystring request - - - - The add method is not availible for HttpParam - since HttpParam checks both Request.Form and Request.QueryString - - name identifying the value - value to add - - - - - Checks whether the form or querystring has the specified value - - Name, case sensitive - true if found; otherwise false. - - - - Fetch an item from the form or querystring (in that order). - - - Item if found; otherwise HttpInputItem.EmptyLanguageNode - - - - Returns an enumerator that iterates through the collection. - - - - A that can be used to iterate through the collection. - - 1 - - - - Returns an enumerator that iterates through a collection. - - - - An object that can be used to iterate through the collection. - - 2 - - - - Contains server side HTTP request information. - - - - - Chars used to split an URL path into multiple parts. - - - - - Gets or sets a value indicating whether this is secure. - - - - - Path and query (will be merged with the host header) and put in Uri - - - - - - Assign a form. - - - - - - Gets whether the body is complete. - - - - - Gets kind of types accepted by the client. - - - - - Gets or sets body stream. - - - - - Gets or sets kind of connection used for the session. - - - - - Gets or sets number of bytes in the body. - - - - - Gets headers sent by the client. - - - - - Gets or sets version of HTTP protocol that's used. - - - Probably or . - - - - - - Gets or sets requested method. - - - - Will always be in upper case. - - - - - - Gets variables sent in the query string - - - - - Gets or sets requested URI. - - - - - Uri absolute path splitted into parts. - - - // uri is: http://gauffin.com/code/tiny/ - Console.WriteLine(request.UriParts[0]); // result: code - Console.WriteLine(request.UriParts[1]); // result: tiny - - - If you're using controllers than the first part is controller name, - the second part is method name and the third part is Id property. - - - - - - Gets parameter from or . - - - - - Gets form parameters. - - - - - Gets whether the request was made by Ajax (Asynchronous JavaScript) - - - - - Gets cookies that was sent with the request. - - - - - Creates a new object that is a copy of the current instance. - - - - A new object that is a copy of this instance. - - 2 - - - - Decode body into a form. - - A list with form decoders. - If body contents is not valid for the chosen decoder. - If body is still being transferred. - - - - Cookies - - the cookies - - - - Create a response object. - - A new . - - - - Called during parsing of a . - - Name of the header, should not be URL encoded - Value of the header, should not be URL encoded - If a header is incorrect. - - - - Add bytes to the body - - buffer to read bytes from - where to start read - number of bytes to read - Number of bytes actually read (same as length unless we got all body bytes). - If body is not writable - bytes is null. - offset is out of range. - - - - Clear everything in the request - - - - - Response that is sent back to the web browser / client. - - - - A response can be sent if different ways. The easiest one is - to just fill the Body stream with content, everything else - will then be taken care of by the framework. The default content-type - is text/html, you should change it if you send anything else. - - The second and slightly more complex way is to send the response - as parts. Start with sending the header using the SendHeaders method and - then you can send the body using SendBody method, but do not forget - to set and before doing so. - - - - - // Example using response body. - class MyModule : HttpModule - { - public override bool Process(IHttpRequest request, IHttpResponse response, IHttpSession session) - { - StreamWriter writer = new StreamWriter(response.Body); - writer.WriteLine("Hello dear World!"); - writer.Flush(); - - // return true to tell webserver that we've handled the url - return true; - } - } - - - todo: add two examples, using SendHeaders/SendBody and just the Body stream. - - - - Initializes a new instance of the class. - - Client that send the . - Contains information of what the client want to receive. - cannot be empty. - - - - Initializes a new instance of the class. - - Client that send the . - Version of HTTP protocol that the client uses. - Type of HTTP connection used. - - - - The body stream is used to cache the body contents - before sending everything to the client. It's the simplest - way to serve documents. - - - - - The chunked encoding modifies the body of a message in order to - transfer it as a series of chunks, each with its own size indicator, - followed by an OPTIONAL trailer containing entity-header fields. This - allows dynamically produced content to be transferred along with the - information necessary for the recipient to verify that it has - received the full message. - - - - - Defines the version of the HTTP Response for applications where it's required - for this to be forced. - - - - - Kind of connection - - - - - Encoding to use when sending stuff to the client. - - Default is UTF8 - - - - Number of seconds to keep connection alive - - Only used if Connection property is set to . - - - - Status code that is sent to the client. - - Default is - - - - Information about why a specific status code was used. - - - - - Size of the body. MUST be specified before sending the header, - unless property Chunked is set to true. - - - - - Kind of content in the body - - Default type is "text/html" - - - - Headers have been sent to the client- - - You can not send any additional headers if they have already been sent. - - - - The whole response have been sent. - - - - - Cookies that should be created/changed. - - - - - Add another header to the document. - - Name of the header, case sensitive, use lower cases. - Header values can span over multiple lines as long as each line starts with a white space. New line chars should be \r\n - If headers already been sent. - If value conditions have not been met. - Adding any header will override the default ones and those specified by properties. - - - - Send headers and body to the browser. - - If content have already been sent. - - - - Make sure that you have specified and sent the headers first. - - - If headers have not been sent. - - offset of first byte to send - number of bytes to send. - - - This method can be used if you want to send body contents without caching them first. This - is recommended for larger files to keep the memory usage low. - - - - Make sure that you have specified and sent the headers first. - - - If headers have not been sent. - - - - This method can be used if you want to send body contents without caching them first. This - is recommended for larger files to keep the memory usage low. - - - - Send headers to the client. - - If headers already been sent. - - - - - - - Redirect client to somewhere else using the 302 status code. - - Destination of the redirect - If headers already been sent. - You can not do anything more with the request when a redirect have been done. This should be your last - action. - - - - redirect to somewhere - - where the redirect should go - - No body are allowed when doing redirects. - - - - - Delegate used to find a realm/domain. - - - - - Realms are used during HTTP Authentication - - - - - - - A complete HTTP server, you need to add a module to it to be able to handle incoming requests. - - - - // this small example will add two web site modules, thus handling - // two different sites. In reality you should add Controller modules or something - // two the website modules to be able to handle different requests. - HttpServer server = new HttpServer(); - server.Add(new WebSiteModule("www.gauffin.com", "Gauffin Telecom AB")); - server.Add(new WebSiteModule("www.vapadi.se", "Remote PBX")); - - // start regular http - server.Start(IPAddress.Any, 80); - - // start https - server.Start(IPAddress.Any, 443, myCertificate); - - - - - - - - - Server that is handling the current request. - - - Will be set as soon as a request arrives to the object. - - - - - Initializes a new instance of the class. - - Used to get all components used in the server.. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Form decoders are used to convert different types of posted data to the object types. - - - - - - Initializes a new instance of the class. - - A session store is used to save and retrieve sessions - - - - - Initializes a new instance of the class. - - The log writer. - - - - - Initializes a new instance of the class. - - Form decoders are used to convert different types of posted data to the object types. - The log writer. - - - - - - - Initializes a new instance of the class. - - Form decoders are used to convert different types of posted data to the object types. - A session store is used to save and retrieve sessions - The log writer. - - - - - - - - Modules used for authentication. The module that is is added first is used as - the default authentication module. - - Use the corresponding property - in the if you are using multiple websites. - - - - Form decoder providers are used to decode request body (which normally contains form data). - - - - - Server name sent in HTTP responses. - - - Do NOT include version in name, since it makes it - easier for hackers. - - - - - Name of cookie where session id is stored. - - - - - Specified where logging should go. - - - - - - - - Number of connections that can wait to be accepted by the server. - - Default is 10. - - - - Gets or sets maximum number of allowed simultaneous requests. - - - - This property is useful in busy systems. The HTTP server - will start queuing new requests if this limit is hit, instead - of trying to process all incoming requests directly. - - - The default number if allowed simultaneous requests are 10. - - - - - - Gets or sets maximum number of requests queuing to be handled. - - - - The WebServer will start turning requests away if response code - to indicate that the server - is too busy to be able to handle the request. - - - - - - Adds the specified rule. - - The rule. - - - - Add a to the server. - - mode to add - - - - Decodes the request body. - - The request. - Failed to decode form data. - - - - Generate a HTTP error page (that will be added to the response body). - response status code is also set. - - Response that the page will be generated in. - . - response body contents. - - - - Generate a HTTP error page (that will be added to the response body). - response status code is also set. - - Response that the page will be generated in. - exception. - - - - Realms are used by the s. - - HTTP request - domain/realm. - - - - Process an incoming request. - - connection to client - request information - response that should be filled - session information - - - - Can be overloaded to implement stuff when a client have been connected. - - - Default implementation does nothing. - - client that disconnected - disconnect reason - - - - Handle authentication - - - - - true if request can be handled; false if not. - Invalid authorization header - - - - Will request authentication. - - - Sends respond to client, nothing else can be done with the response after this. - - - - - - - - Received from a when a request have been parsed successfully. - - that received the request. - The request. - - - - To be able to track request count. - - - - - - - Start the web server using regular HTTP. - - IP Address to listen on, use IpAddress.Any to accept connections on all IP addresses/network cards. - Port to listen on. 80 can be a good idea =) - address is null. - Port must be a positive number. - - - - Accept secure connections. - - IP Address to listen on, use to accept connections on all IP Addresses / network cards. - Port to listen on. 80 can be a good idea =) - Certificate to use - address is null. - Port must be a positive number. - - - - shut down the server and listeners - - - - - write an entry to the log file - - importance of the message - log message - - - - write an entry to the log file - - object that wrote the message - importance of the message - log message - - - - Realms are used during HTTP authentication. - Default realm is same as server name. - - - - - Let's to receive unhandled exceptions from the threads. - - - Exceptions will be thrown during debug mode if this event is not used, - exceptions will be printed to console and suppressed during release mode. - - - - - Inversion of control interface. - - - - - Add a component instance - - Interface type - Instance to add - - - - Get a component. - - Interface type - Component if registered, otherwise null. - - Component will get created if needed. - - - - - Checks if the specified component interface have been added. - - - true if found; otherwise false. - - - - Add a component. - - Type being requested. - Type being created. - - - - Contains a connection to a browser/client. - - - - - Using SSL or other encryption method. - - - - - Using SSL or other encryption method. - - - - - Disconnect from client - - error to report in the event. - - - - Send a response. - - Either or - HTTP status code - reason for the status code. - HTML body contents, can be null or empty. - A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty - If is invalid. - - - - Send a response. - - Either or - HTTP status code - reason for the status code. - - - - Send a response. - - - - - - send a whole buffer - - buffer to send - - - - - Send data using the stream - - Contains data to send - Start position in buffer - number of bytes to send - - - - - - Closes the streams and disposes of the unmanaged resources - - - - - The context have been disconnected. - - - Event can be used to clean up a context, or to reuse it. - - - - - A request have been received in the context. - - - - - A have been disconnected. - - - - - Gets reason to why client disconnected. - - - - - Initializes a new instance of the class. - - Reason to disconnection. - - - - - - - - - Gets received request. - - - - - Initializes a new instance of the class. - - The request. - - - - Class that receives Requests from a . - - - - - Client have been disconnected. - - Client that was disconnected. - Reason - - - - - Invoked when a client context have received a new HTTP request - - Client that received the request. - Request that was received. - - - - - Contains server side HTTP request information. - - - - - Gets kind of types accepted by the client. - - - - - Gets or sets body stream. - - - - - Gets whether the body is complete. - - - - - Gets or sets kind of connection used for the session. - - - - - Gets or sets number of bytes in the body. - - - - - Gets cookies that was sent with the request. - - - - - Gets form parameters. - - - - - Gets headers sent by the client. - - - - - Gets or sets version of HTTP protocol that's used. - - - Probably or . - - - - - - Gets whether the request was made by Ajax (Asynchronous JavaScript) - - - - - Gets or sets requested method. - - - Will always be in upper case. - - - - - - Gets parameter from or . - - - - - Gets variables sent in the query string - - - - - Gets or sets requested URI. - - - - - Gets URI absolute path divided into parts. - - - // URI is: http://gauffin.com/code/tiny/ - Console.WriteLine(request.UriParts[0]); // result: code - Console.WriteLine(request.UriParts[1]); // result: tiny - - - If you're using controllers than the first part is controller name, - the second part is method name and the third part is Id property. - - - - - - Gets or sets path and query. - - - - Are only used during request parsing. Cannot be set after "Host" header have been - added. - - - - - Called during parsing of a . - - Name of the header, should not be URL encoded - Value of the header, should not be URL encoded - If a header is incorrect. - - - - Add bytes to the body - - buffer to read bytes from - where to start read - number of bytes to read - Number of bytes actually read (same as length unless we got all body bytes). - If body is not writable - bytes is null. - offset is out of range. - - - - Clear everything in the request - - - - - Decode body into a form. - - A list with form decoders. - If body contents is not valid for the chosen decoder. - If body is still being transferred. - - - - Sets the cookies. - - The cookies. - - - - Create a response object. - - Context for the connected client. - A new . - - - - Event driven parser used to parse incoming HTTP requests. - - - The parser supports partial messages and keeps the states between - each parsed buffer. It's therefore important that the parser gets - ed if a client disconnects. - - - - - Current state in parser. - - - - - Parse partial or complete message. - - buffer containing incoming bytes - where in buffer that parsing should start - number of bytes to parse - Unparsed bytes left in buffer. - BadRequestException. - - - - A request have been successfully parsed. - - - - - More body bytes have been received. - - - - - Request line have been received. - - - - - A header have been received. - - - - - Clear parser state. - - - - - Gets or sets the log writer. - - - - - Current state in the parsing. - - - - - Should parse the request line - - - - - Searching for a complete header name - - - - - Searching for colon after header name (ignoring white spaces) - - - - - Searching for start of header value (ignoring white spaces) - - - - - Searching for a complete header value (can span over multiple lines, as long as they are prefixed with one/more whitespaces) - - - - - Adding bytes to body - - - - - Response that is sent back to the web browser / client. - - A response can be sent if different ways. The easiest one is - to just fill the Body stream with content, everything else - will then be taken care of by the framework. The default content-type - is text/html, you should change it if you send anything else. - - The second and slighty more complex way is to send the response - as parts. Start with sending the header using the SendHeaders method and - then you can send the body using SendBody method, but do not forget - to set ContentType and ContentLength before doing so. - - - public void MyHandler(IHttpRequest request, IHttpResponse response) - { - - } - - - - - The body stream is used to cache the body contents - before sending everything to the client. It's the simplest - way to serve documents. - - - - - Defines the version of the HTTP Response for applications where it's required - for this to be forced. - - - - - The chunked encoding modifies the body of a message in order to - transfer it as a series of chunks, each with its own size indicator, - followed by an OPTIONAL trailer containing entity-header fields. This - allows dynamically produced content to be transferred along with the - information necessary for the recipient to verify that it has - received the full message. - - - - - Kind of connection - - - - - Encoding to use when sending stuff to the client. - - Default is UTF8 - - - - Number of seconds to keep connection alive - - Only used if Connection property is set to ConnectionType.KeepAlive - - - - Status code that is sent to the client. - - Default is HttpStatusCode.Ok - - - - Information about why a specific status code was used. - - - - - Size of the body. MUST be specified before sending the header, - unless property Chunked is set to true. - - - - - Kind of content in the body - - Default is text/html - - - - Headers have been sent to the client- - - You can not send any additional headers if they have already been sent. - - - - The whole response have been sent. - - - - - Cookies that should be created/changed. - - - - - Add another header to the document. - - Name of the header, case sensitive, use lower cases. - Header values can span over multiple lines as long as each line starts with a white space. New line chars should be \r\n - If headers already been sent. - If value conditions have not been met. - Adding any header will override the default ones and those specified by properties. - - - - Send headers and body to the browser. - - If content have already been sent. - - - - Make sure that you have specified ContentLength and sent the headers first. - - - If headers have not been sent. - - offest of first byte to send - number of bytes to send. - - - This method can be used if you want to send body contents without caching them first. This - is recommended for larger files to keep the memory usage low. - - - - Make sure that you have specified ContentLength and sent the headers first. - - - If headers have not been sent. - - - - This method can be used if you want to send body contents without caching them first. This - is recommended for larger files to keep the memory usage low. - - - - Send headers to the client. - - If headers already been sent. - - - - - - - Redirect client to somewhere else using the 302 status code. - - Destination of the redirect - If headers already been sent. - You can not do anything more with the request when a redirect have been done. This should be your last - action. - - - - redirect to somewhere - - where the redirect should go - - No body are allowed when doing redirects. - - - - - Type of HTTP connection - - - - - Connection is closed after each request-response - - - - - Connection is kept alive for X seconds (unless another request have been made) - - - - - Priority for log entries - - - - - - Very detailed logs to be able to follow the flow of the program. - - - - - Logs to help debug errors in the application - - - - - Information to be able to keep track of state changes etc. - - - - - Something did not go as we expected, but it's no problem. - - - - - Something that should not fail failed, but we can still keep - on going. - - - - - Something failed, and we cannot handle it properly. - - - - - Interface used to write to log files. - - - - - Write an entry to the log file. - - object that is writing to the log - importance of the log message - the message - - - - This class writes to the console. It colors the output depending on the logprio and includes a 3-level stacktrace (in debug mode) - - - - - - The actual instance of this class. - - - - - Logwriters the specified source. - - object that wrote the logentry. - Importance of the log message - The message. - - - - Get color for the specified logprio - - prio for the log entry - A for the prio - - - - Default log writer, writes everything to null (nowhere). - - - - - - The logging instance. - - - - - Writes everything to null - - object that wrote the log entry. - Importance of the log message - The message. - - - - A thread-safe lockless queue that supports multiple readers and - multiple writers - - - - - Provides a node container for data in a singly linked list - - - - Pointer to the next node in list - - - The data contained by the node - - - - Constructor - - - - - Constructor - - - - Queue head - - - Queue tail - - - Queue item count - - - Gets the current number of items in the queue. Since this - is a lockless collection this value should be treated as a close - estimate - - - - Constructor - - - - - Enqueue an item - - Item to enqeue - - - - Try to dequeue an item - - Dequeued item if the dequeue was successful - True if an item was successfully deqeued, otherwise false - - - - Contains all HTTP Methods (according to the HTTP 1.1 specification) - - See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html - - - - - - The DELETE method requests that the origin server delete the resource identified by the Request-URI. - - - - This method MAY be overridden by human intervention (or other means) on the origin server. - The client cannot be guaranteed that the operation has been carried out, even if the status code - returned from the origin server indicates that the action has been completed successfully. - - - However, the server SHOULD NOT indicate success unless, at the time the response is given, - it intends to delete the resource or move it to an inaccessible location. - - - A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, - 202 (Accepted) if the action has not yet been enacted, - or 204 (No Content) if the action has been enacted but the response does not include an entity. - - - If the request passes through a cache and the Request-URI identifies one or more currently cached entities, - those entries SHOULD be treated as stale. Responses to this method are not cacheable. - - - - - - The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. - - - - If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the - entity in the response and not the source text of the process, unless that text happens to be the output of the process. - - - The semantics of the GET method change to a "conditional GET" if the request message includes an - If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. - A conditional GET method requests that the entity be transferred only under the circumstances described - by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network - usage by allowing cached entities to be refreshed without requiring multiple requests or transferring - data already held by the client. - - - - - - The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. - - - The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the - information sent in response to a GET request. This method can be used for obtaining meta information about - the entity implied by the request without transferring the entity-body itself. - - This method is often used for testing hypertext links for validity, accessibility, and recent modification. - - - - - The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI. - - - This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval. - - - - - The POST method is used to request that the origin server accept the entity enclosed - in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. - - - POST is designed to allow a uniform method to cover the following functions: - - - Annotation of existing resources; - - Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles; - - Providing a block of data, such as the result of submitting a form, to a data-handling process; - - Extending a database through an append operation. - - - - If a resource has been created on the origin server, the response SHOULD be 201 (Created) and - contain an entity which describes the status of the request and refers to the new resource, and a - Location header (see section 14.30). - - - The action performed by the POST method might not result in a resource that can be identified by a URI. - In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on - whether or not the response includes an entity that describes the result. - - Responses to this method are not cacheable, unless the response includes appropriate Cache-Control - or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent - to retrieve a cacheable resource. - - - - - - The PUT method requests that the enclosed entity be stored under the supplied Request-URI. - - - - - If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a - modified version of the one residing on the origin server. - - If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new - resource by the requesting user agent, the origin server can create the resource with that URI. - - If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. - - If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to - indicate successful completion of the request. - - If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be - given that reflects the nature of the problem. - - - - The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not - understand or implement and MUST return a 501 (Not Implemented) response in such cases. - - - - - - The TRACE method is used to invoke a remote, application-layer loop- back of the request message. - - - - - Contains all HTTP Methods (according to the HTTP 1.1 specification) - - See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html - - - - - - The DELETE method requests that the origin server delete the resource identified by the Request-URI. - - - - This method MAY be overridden by human intervention (or other means) on the origin server. - The client cannot be guaranteed that the operation has been carried out, even if the status code - returned from the origin server indicates that the action has been completed successfully. - - - However, the server SHOULD NOT indicate success unless, at the time the response is given, - it intends to delete the resource or move it to an inaccessible location. - - - A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, - 202 (Accepted) if the action has not yet been enacted, - or 204 (No Content) if the action has been enacted but the response does not include an entity. - - - If the request passes through a cache and the Request-URI identifies one or more currently cached entities, - those entries SHOULD be treated as stale. Responses to this method are not cacheable. - - - - - - The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. - - - - If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the - entity in the response and not the source text of the process, unless that text happens to be the output of the process. - - - The semantics of the GET method change to a "conditional GET" if the request message includes an - If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. - A conditional GET method requests that the entity be transferred only under the circumstances described - by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network - usage by allowing cached entities to be refreshed without requiring multiple requests or transferring - data already held by the client. - - - - - - The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. - - - The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the - information sent in response to a GET request. This method can be used for obtaining meta information about - the entity implied by the request without transferring the entity-body itself. - - This method is often used for testing hypertext links for validity, accessibility, and recent modification. - - - - - The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI. - - - This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval. - - - - - The POST method is used to request that the origin server accept the entity enclosed - in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. - - - POST is designed to allow a uniform method to cover the following functions: - - - Annotation of existing resources; - - Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles; - - Providing a block of data, such as the result of submitting a form, to a data-handling process; - - Extending a database through an append operation. - - - - If a resource has been created on the origin server, the response SHOULD be 201 (Created) and - contain an entity which describes the status of the request and refers to the new resource, and a - Location header (see section 14.30). - - - The action performed by the POST method might not result in a resource that can be identified by a URI. - In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on - whether or not the response includes an entity that describes the result. - - Responses to this method are not cacheable, unless the response includes appropriate Cache-Control - or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent - to retrieve a cacheable resource. - - - - - - The PUT method requests that the enclosed entity be stored under the supplied Request-URI. - - - - - If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a - modified version of the one residing on the origin server. - - If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new - resource by the requesting user agent, the origin server can create the resource with that URI. - - If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. - - If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to - indicate successful completion of the request. - - If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be - given that reflects the nature of the problem. - - - - The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not - understand or implement and MUST return a 501 (Not Implemented) response in such cases. - - - - - - The TRACE method is used to invoke a remote, application-layer loop- back of the request message. - - - - - Arguments used when more body bytes have come. - - - - - Initializes a new instance of the class. - - buffer that contains the received bytes. - offset in buffer where to start processing. - number of bytes from that should be parsed. - - - - Initializes a new instance of the class. - - - - - Gets or sets buffer that contains the received bytes. - - - - - Gets or sets number of bytes from that should be parsed. - - - - - Gets or sets offset in buffer where to start processing. - - - - - Event arguments used when a new header have been parsed. - - - - - Initializes a new instance of the class. - - Name of header. - Header value. - - - - Initializes a new instance of the class. - - - - - Gets or sets header name. - - - - - Gets or sets header value. - - - - - Parses a HTTP request directly from a stream - - - - - Create a new request parser - - delegate receiving log entries. - - - - Add a number of bytes to the body - - buffer containing more body bytes. - starting offset in buffer - number of bytes, from offset, to read. - offset to continue from. - - - - Remove all state information for the request. - - - - - Gets or sets the log writer. - - - - - Parse request line - - - If line is incorrect - Expects the following format: "Method SP Request-URI SP HTTP-Version CRLF" - - - - We've parsed a new header. - - Name in lower case - Value, unmodified. - If content length cannot be parsed. - - - - Current state in parser. - - - - - Parse a message - - bytes to parse. - where in buffer that parsing should start - number of bytes to parse, starting on . - offset (where to start parsing next). - BadRequestException. - - - - A request have been successfully parsed. - - - - - More body bytes have been received. - - - - - Request line have been received. - - - - - A header have been received. - - - - - Used when the request line have been successfully parsed. - - - - - Initializes a new instance of the class. - - The HTTP method. - The URI path. - The HTTP version. - - - - Initializes a new instance of the class. - - - - - Gets or sets http method. - - - Should be one of the methods declared in . - - - - - Gets or sets the version of the HTTP protocol that the client want to use. - - - - - Gets or sets requested URI path. - - - - - Creates request parsers when needed. - - - - - Create a new request parser. - - Used when logging should be enabled. - A new request parser. - - - - Creates request parsers when needed. - - - - - Create a new request parser. - - Used when logging should be enabled. - A new request parser. - - - - cookie sent by the client/browser - - - - - - Constructor. - - cookie identifier - cookie content - id or content is null - id is empty - - - - Gets the cookie HTML representation. - - cookie string - - - - Gets the cookie identifier. - - - - - Cookie value. Set to null to remove cookie. - - - - - This class is created as a wrapper, since there are two different cookie types in .Net (Cookie and HttpCookie). - The framework might switch class in the future and we dont want to have to replace all instances - - - - - Let's copy all the cookies. - - value from cookie header. - - - - Adds a cookie in the collection. - - cookie to add - cookie is null - - - - Gets the count of cookies in the collection. - - - - - Gets the cookie of a given identifier (null if not existing). - - - - - Gets a collection enumerator on the cookie list. - - collection enumerator - - - - Remove all cookies. - - - - - Returns an enumerator that iterates through the collection. - - - - A that can be used to iterate through the collection. - - 1 - - - - Remove a cookie from the collection. - - Name of cookie. - - - - Used to queue incoming requests. - - - - - Initializes a new instance of the class. - - Called when a request should be processed. - - - - Used two queue incoming requests to avoid - thread starvation. - - - - - Gets or sets maximum number of allowed simultaneous requests. - - - - - Gets or sets maximum number of requests queuing to be handled. - - - - - Specifies how many requests the HTTP server is currently processing. - - - - - Used to process queued requests. - - - - - Method used to process a queued request - - Context that the request was received from. - Request to process. - - - - cookie being sent back to the browser. - - - - - - Constructor. - - cookie identifier - cookie content - cookie expiration date. Use DateTime.MinValue for session cookie. - id or content is null - id is empty - - - - Create a new cookie - - name identifying the cookie - cookie value - when the cookie expires. Setting DateTime.MinValue will delete the cookie when the session is closed. - Path to where the cookie is valid - Domain that the cookie is valid for. - - - - Create a new cookie - - Name and value will be used - when the cookie expires. - - - - Gets the cookie HTML representation. - - cookie string - - - - When the cookie expires. - DateTime.MinValue means that the cookie expires when the session do so. - - - - - Cookie is only valid under this path. - - - - - Cookies that should be set. - - - - - Adds a cookie in the collection. - - cookie to add - cookie is null - - - - Copy a request cookie - - - When the cookie should expire - - - - Gets the count of cookies in the collection. - - - - - Gets the cookie of a given identifier (null if not existing). - - - - - Gets a collection enumerator on the cookie list. - - collection enumerator - - - - Remove all cookies - - - - - Returns an enumerator that iterates through the collection. - - - - A that can be used to iterate through the collection. - - 1 - - - - Rules are used to perform operations before a request is being handled. - Rules can be used to create routing etc. - - - - - Process the incoming request. - - incoming HTTP request - outgoing HTTP response - true if response should be sent to the browser directly (no other rules or modules will be processed). - - returning true means that no modules will get the request. Returning true is typically being done - for redirects. - - If request or response is null. - - - - redirects from one URL to another. - - - - - Initializes a new instance of the class. - - Absolute path (no server name) - Absolute path (no server name) - - server.Add(new RedirectRule("/", "/user/index")); - - - - - Initializes a new instance of the class. - - Absolute path (no server name) - Absolute path (no server name) - true if request should be redirected, false if the request URI should be replaced. - - server.Add(new RedirectRule("/", "/user/index")); - - - - - Gets string to match request URI with. - - Is compared to request.Uri.AbsolutePath - - - - Gets where to redirect. - - - - - Gets whether server should redirect client. - - - false means that the rule will replace - the current request URI with the new one from this class. - true means that a redirect response is sent to the client. - - - - - Process the incoming request. - - incoming HTTP request - outgoing HTTP response - true if response should be sent to the browser directly (no other rules or modules will be processed). - - returning true means that no modules will get the request. Returning true is typically being done - for redirects. - - - - - Class to make dynamic binding of redirects. Instead of having to specify a number of similar redirect rules - a regular expression can be used to identify redirect URLs and their targets. - - - [a-z0-9]+)", "/users/${target}?find=true", RegexOptions.IgnoreCase) - ]]> - - - - - Initializes a new instance of the class. - - Expression to match URL - Expression to generate URL - - [a-zA-Z0-9]+)", "/user/${first}")); - Result of ie. /employee1 will then be /user/employee1 - ]]> - - - - - Initializes a new instance of the class. - - Expression to match URL - Expression to generate URL - Regular expression options to use, can be null - - [a-zA-Z0-9]+)", "/user/{first}", RegexOptions.IgnoreCase)); - Result of ie. /employee1 will then be /user/employee1 - ]]> - - - - - Initializes a new instance of the class. - - Expression to match URL - Expression to generate URL - Regular expression options to apply - true if request should be redirected, false if the request URI should be replaced. - - [a-zA-Z0-9]+)", "/user/${first}", RegexOptions.None)); - Result of ie. /employee1 will then be /user/employee1 - ]]> - - Argument is null. - - - - - Process the incoming request. - - incoming HTTP request - outgoing HTTP response - true if response should be sent to the browser directly (no other rules or modules will be processed). - - returning true means that no modules will get the request. Returning true is typically being done - for redirects. - - If request or response is null - - - - Interface for sessions - - - - - Session id - - - - - Should - - Name of the session variable - null if it's not set - If the object cant be serialized. - - - - When the session was last accessed. - This property is touched by the http server each time the - session is requested. - - - - - Number of session variables. - - - - - Remove everything from the session - - - - - Remove everything from the session - - True if the session is cleared due to expiration - - - - Event triggered upon clearing the session - - - - - Arguments sent when a is cleared - - - - - Instantiates the arguments for the event - - True if the session is cleared due to expiration - - - - Returns true if the session is cleared due to expiration - - - - - Delegate for when a IHttpSession is cleared - - this is being cleared. - Arguments for the clearing - - - - A session store is used to store and load sessions on a media. - The default implementation () saves/retrieves sessions from memory. - - - - - Load a session from the store - - - null if session is not found. - - - - Number of minutes before a session expires. - - Default time is 20 minutes. - - - - Creates a new http session with a generated id. - - A object - - - - Creates a new http session with a specific id - - Id used to identify the new cookie.. - A object. - - Id should be generated by the store implementation if it's null or . - - - - - Load an existing session. - - Session id (usually retrieved from a client side cookie). - A session if found; otherwise null. - - - - Save an updated session to the store. - - Session id (usually retrieved from a client side cookie). - If Id property have not been specified. - - - - We use the flyweight pattern which reuses small objects - instead of creating new each time. - - Unused session that should be reused next time Create is called. - - - - Remove expired sessions - - - - - Remove a session - - id of the session. - - - - A session stored in memory. - - - - - - - A unique id used by the sessions store to identify the session - - - - Id - - - - - - Session id - - - - - Should - - Name of the session variable - null if it's not set - - - - when the session was last accessed. - - - Used to determine when the session should be removed. - - - - - Number of values in the session - - - - - Flag to indicate that the session have been changed - and should be saved into the session store. - - - - - Remove everything from the session - - - - - Clears the specified expire. - - True if the session is cleared due to expiration - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - 2 - - - - Event triggered upon clearing the session - - - - - Session store using memory for each session. - - - - - Initializes the class setting the expirationtimer to clean the session every minute - - - - - Delegate for the cleanup timer - - - - - Load a session from the store - - - null if session is not found. - - - - Creates a new http session - - - - - - Creates a new http session with a specific id - - Id used to identify the new cookie.. - A object. - - Id should be generated by the store implementation if it's null or . - - - - - Load an existing session. - - - - - - - Save an updated session to the store. - - - - - - We use the flyweight pattern which reuses small objects - instead of creating new each time. - - EmptyLanguageNode (unused) session that should be reused next time Create is called. - - - - Remove expired sessions - - - - - Remove a session - - id of the session. - - - - Number of minutes before a session expires. - Default is 20 minutes. - - - - -- cgit v1.1 From 6a02ac634b99468a0df62cdf43254020488fcb7b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 17 Jul 2016 11:39:38 +0100 Subject: identify contexts by ID now avaiable ( pipeline serialization) --- bin/HttpServer_OpenSim.dll | Bin 130560 -> 130560 bytes bin/HttpServer_OpenSim.pdb | Bin 355840 -> 355840 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 2730e17..bc28ce4 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index 8299d80..ba6b0b0 100644 Binary files a/bin/HttpServer_OpenSim.pdb and b/bin/HttpServer_OpenSim.pdb differ -- cgit v1.1 From 2bb467e358c0e9e1055a077e9da8c4ddf773707d Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 24 Jul 2016 16:31:29 +0100 Subject: add osSetHealth() value from 1 to 100; (mantis 7973) --- bin/config-include/osslEnable.ini | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 0a03d4c..a31dd17 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -157,6 +157,7 @@ ; ThreatLevel High Allow_osCauseDamage = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osCauseHealing = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetHealth = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceAttachToAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceAttachToAvatarFromInventory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceCreateLink = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -- cgit v1.1 From 4b832f0f8e32bf265ee13989500fb0559d1a86f7 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 25 Jul 2016 02:05:53 +0100 Subject: add osGetHealRate(avatarkey) and osSetHealRate(avatarkey, healrate); healrate from 0 (disables auto heal) to 100 (maybe too fast) % per second. (untested) --- bin/config-include/osslEnable.ini | 2 ++ 1 file changed, 2 insertions(+) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index a31dd17..8f9702d 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -158,6 +158,8 @@ Allow_osCauseDamage = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osCauseHealing = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetHealth = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetHealRate = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetHealRate = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceAttachToAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceAttachToAvatarFromInventory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceCreateLink = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -- cgit v1.1 From 3c4d908cda665758cd4e3e69e23c1a829a4894b0 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 30 Jul 2016 12:43:14 +0100 Subject: remove obsolete config setting --- bin/config-include/Grid.ini | 15 --------------- bin/config-include/GridHypergrid.ini | 15 --------------- 2 files changed, 30 deletions(-) (limited to 'bin') diff --git a/bin/config-include/Grid.ini b/bin/config-include/Grid.ini index 3c61ee0..fc98879 100644 --- a/bin/config-include/Grid.ini +++ b/bin/config-include/Grid.ini @@ -31,21 +31,6 @@ SimulationServiceInConnector = true LibraryModule = true -[SimulationService] - ; This is the protocol version which the simulator advertises to the source destination when acting as a target destination for a teleport - ; It is used to control the teleport handoff process. - ; Valid values are - ; "SIMULATION/0.3" - ; - This is the default, and it supports teleports to variable-sized regions - ; - Older versions can teleport to this one, but only if the destination region - ; is 256x256 - ; "SIMULATION/0.2" - ; - A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol - ; - this protocol is more efficient than "SIMULATION/0.1" - ; "SIMULATION/0.1" - ; - this is an older teleport protocol used in OpenSimulator 0.7.5 and before. - ConnectorProtocolVersion = "SIMULATION/0.3" - [SimulationDataStore] LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" diff --git a/bin/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini index aa64c2a..f5f4c87 100644 --- a/bin/config-include/GridHypergrid.ini +++ b/bin/config-include/GridHypergrid.ini @@ -36,21 +36,6 @@ SimulationServiceInConnector = true LibraryModule = true -[SimulationService] - ; This is the protocol version which the simulator advertises to the source destination when acting as a target destination for a teleport - ; It is used to control the teleport handoff process. - ; Valid values are - ; "SIMULATION/0.3" - ; - This is the default, and it supports teleports to variable-sized regions - ; - Older versions can teleport to this one, but only if the destination region - ; is 256x256 - ; "SIMULATION/0.2" - ; - A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol - ; - this protocol is more efficient than "SIMULATION/0.1" - ; "SIMULATION/0.1" - ; - this is an older teleport protocol used in OpenSimulator 0.7.5 and before. - ConnectorProtocolVersion = "SIMULATION/0.3" - [Profile] Module = "BasicProfileModule" -- cgit v1.1 From 12658b1eed5f3964010c768b4a0caac7c4917425 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 4 Aug 2016 15:04:43 +0100 Subject: update libode for mac osX. Thanks Gavin Hird (mantis 7781) --- bin/lib64/libode.dylib | Bin 2916380 -> 1686484 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib64/libode.dylib b/bin/lib64/libode.dylib index 958d202..ce0d5d0 100644 Binary files a/bin/lib64/libode.dylib and b/bin/lib64/libode.dylib differ -- cgit v1.1 From ad76687227de37d18a6bc77c0ec86cb7d4e7c9af Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 4 Aug 2016 15:05:33 +0100 Subject: update libode for mac osX. Thanks Gavin Hird (mantis 7781) --- bin/lib32/libode.dylib | Bin 0 -> 1686484 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 bin/lib32/libode.dylib (limited to 'bin') diff --git a/bin/lib32/libode.dylib b/bin/lib32/libode.dylib new file mode 100644 index 0000000..ce0d5d0 Binary files /dev/null and b/bin/lib32/libode.dylib differ -- cgit v1.1 From 61ec34b44113669b38fa6dd315451d845a0aa4ac Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 6 Aug 2016 01:15:26 +0100 Subject: fix osGetHealRate thread level --- bin/config-include/osslEnable.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 8f9702d..c87539f 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -77,6 +77,7 @@ Allow_osGetCurrentSunHour = true Allow_osGetGender = true Allow_osGetHealth = true + Allow_osGetHealRate = true Allow_osGetInventoryDesc = true Allow_osGetMapTexture = true Allow_osGetRegionSize = true @@ -159,7 +160,6 @@ Allow_osCauseHealing = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetHealth = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetHealRate = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetHealRate = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceAttachToAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceAttachToAvatarFromInventory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceCreateLink = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -- cgit v1.1 From a997ffd497a9bb11e23538ea8242ffedcfdeab5c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 16 Aug 2016 04:35:49 +0100 Subject: sync osForceAttachToOtherAvatarFromInventory thread level in code and in osslEnable.ini mantis: 7997 --- bin/config-include/osslEnable.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index c87539f..4c6be16 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -213,6 +213,7 @@ ; Some of these were added as early functionality for NPCs. This has been replaced with the NPC functions. Allow_osAvatarPlayAnimation = false Allow_osAvatarStopAnimation = false + Allow_osForceAttachToOtherAvatarFromInventory = false Allow_osForceDetachFromAvatar = false Allow_osForceOtherSit = false ; The notecard functions can cause a lot of load on the region if over used @@ -225,7 +226,6 @@ ; ThreatLevel Severe Allow_osConsoleCommand = false - Allow_osForceAttachToOtherAvatarFromInventory = false Allow_osGrantScriptPermissions = false Allow_osKickAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osRevokeScriptPermissions = false -- cgit v1.1 From 4b73550eeeafa52e23c326c9b2e87ac4e9624b7b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 18 Aug 2016 13:17:36 +0100 Subject: allow cap HomeLocation to be disabled setting Cap_HomeLocation = "" --- bin/OpenSimDefaults.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index df92921..dbc09fd 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -725,7 +725,7 @@ Cap_GetObjectCost = "" Cap_GetObjectPhysicsData = "" Cap_GroupProposalBallot = "" - Cap_HomeLocation = "" + Cap_HomeLocation = "localhost" Cap_LandResources = "" Cap_MapLayer = "localhost" Cap_MapLayerGod = "localhost" -- cgit v1.1 From d701de402101f8ecc4a1892bb2d7cf296bd9b990 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 19 Aug 2016 02:26:49 +0100 Subject: add cap GroupMemberData --- bin/OpenSimDefaults.ini | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index dbc09fd..6ccea99 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -725,6 +725,7 @@ Cap_GetObjectCost = "" Cap_GetObjectPhysicsData = "" Cap_GroupProposalBallot = "" + Cap_GroupMemberData = "localhost" Cap_HomeLocation = "localhost" Cap_LandResources = "" Cap_MapLayer = "localhost" -- cgit v1.1 From c631ffb9436dfd00f4a6a7c94337d823359af8d0 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 21 Aug 2016 06:49:16 +0100 Subject: remove region combine option (mega region) for config ini files --- bin/OpenSim.ini.example | 9 --------- bin/OpenSimDefaults.ini | 5 ----- 2 files changed, 14 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 9d868a1..3fe3992 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -192,15 +192,6 @@ ;; YOU HAVE BEEN WARNED!!! ; TrustBinaries = false - ;# {CombineContiguousRegions} {} {Create megaregions where possible? (Do not use with existing content or varregions!)} {true false} false - ;; Combine all contiguous regions into one large megaregion - ;; Order your regions from South to North, West to East in your regions.ini - ;; and then set this to true - ;; Warning! Don't use this with regions that have existing content!, - ;; This will likely break them - ;; Also, this setting should be set to false for varregions as they are proper larger single regions rather than combined smaller regions. - ; CombineContiguousRegions = false - ;# {InworldRestartShutsDown} {} {Shutdown instance on region restart?} {true false} false ;; If you have only one region in an instance, or to avoid the many bugs ;; that you can trigger in modules by restarting a region, set this to diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 6ccea99..47257b2 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -156,11 +156,6 @@ ; YOU HAVE BEEN WARNED!!! TrustBinaries = false - ; Combine all contiguous regions into one large megaregion - ; Order your regions from South to North, West to East in your regions.ini and then set this to true - ; Warning! Don't use this with regions that have existing content!, This will likely break them - CombineContiguousRegions = false - ; the default view range. Viewers override this ( no major effect still ) DefaultDrawDistance = 255.0 -- cgit v1.1 From 8eacc6b2077b302132eae82ce4bf22bf35b62ac5 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 23 Aug 2016 10:58:34 +0100 Subject: replace warp3D.dll by a newer modified version. (only minor testing done :( --- bin/Warp3D.dll | Bin 77824 -> 68096 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Warp3D.dll b/bin/Warp3D.dll index 8781a82..0d9a610 100755 Binary files a/bin/Warp3D.dll and b/bin/Warp3D.dll differ -- cgit v1.1 From c05ee23d3dd533f19295f6b038898c09196e475b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 24 Aug 2016 04:10:35 +0100 Subject: minor change on warp3d lib --- bin/Warp3D.dll | Bin 68096 -> 68608 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Warp3D.dll b/bin/Warp3D.dll index 0d9a610..4c5519d 100755 Binary files a/bin/Warp3D.dll and b/bin/Warp3D.dll differ -- cgit v1.1 From 606e9f99f39101eaa6291af42c3ba659bab83aa1 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 3 Sep 2016 08:52:15 +0100 Subject: forgot the dll --- bin/HttpServer_OpenSim.dll | Bin 130560 -> 118272 bytes bin/HttpServer_OpenSim.pdb | Bin 355840 -> 325120 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index bc28ce4..605fa6a 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index ba6b0b0..563b5e0 100644 Binary files a/bin/HttpServer_OpenSim.pdb and b/bin/HttpServer_OpenSim.pdb differ -- cgit v1.1 From 878fac3fe3626a6bff003a8a6d7efce9e0d83e8a Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 1 Oct 2016 20:26:37 +0100 Subject: fix comment telling the correct default physics engine --- bin/OpenSimDefaults.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 47257b2..77ba3c8 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -293,7 +293,7 @@ ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. ;; It continues to provide a workable physics implementation. It does not currently support varregions. ;; basicphysics effectively does not model physics at all, making all objects phantom. - ;; Default is OpenDynamicsEngine + ;; Default is BulletSim physics = BulletSim ;physics = modified_BulletX ;physics = OpenDynamicsEngine -- cgit v1.1 From b51739e23ecc071a107755c7613ff274f65c3a64 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 6 Oct 2016 21:35:11 +0100 Subject: recover regions main http server ssl suport. Using a PKCS12 cert file, and not certs store for now. Option http_listener_cn, cert CN need to the same as external IP. Self sign certs do seem to work, but the viewers option NoVerifySLLCert needs to be set true. CA check is not done but they do check the IP --- bin/OpenSimDefaults.ini | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 47257b2..418330e 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -500,13 +500,12 @@ http_listener_port = 9000 console_port = 0 - ; ssl config: Experimental! The auto https config only really works definately on windows XP now - ; you need a Cert Request/Signed pair installed in the MY store with the CN specified below - ; you can use https on other platforms, but you'll need to configure the httpapi yourself for now - http_listener_ssl = false ; Also create a SSL server - http_listener_cn = "localhost" ; Use the cert with the common name + ; ssl config: Experimental! + http_listener_ssl = false ; if set to true main server is replaced a ssl one http_listener_sslport = 9001 ; Use this port for SSL connections - http_listener_ssl_cert = "" ; Currently unused, but will be used for OSHttpServer + http_listener_cn = "myexternalip" ; // should be the External ip and match the CN on the cert + http_listener_cert_path = "mycert.p12" ; path for the cert file + http_listener_cert_pass = "mycertpass" ; the cert passwork ; HTTPS for "Out of band" management applications such as the remote ; admin module -- cgit v1.1 From 5b946405a09a4ec89e0d7664fabbf5015c7c62e8 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 9 Oct 2016 01:01:52 +0100 Subject: changes to regions ssl suport: verify if hostnames are validate by the selected cert, make clear that for now all regions need to have the same ExternalHostName if using sll (due to other code that needs to be changed later) --- bin/OpenSimDefaults.ini | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index d1ded36..07e1c48 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -501,10 +501,12 @@ console_port = 0 ; ssl config: Experimental! - http_listener_ssl = false ; if set to true main server is replaced a ssl one + http_listener_ssl = false ; if set to true main server is replaced by a ssl one http_listener_sslport = 9001 ; Use this port for SSL connections - http_listener_cn = "myexternalip" ; // should be the External ip and match the CN on the cert - http_listener_cert_path = "mycert.p12" ; path for the cert file + ; currently if using ssl, regions ExternalHostName must the the same and equal to http_listener_cn + ; this will change is future + http_listener_cn = "myRegionsExternalHostName" + http_listener_cert_path = "mycert.p12" ; path for the cert file that is valid for the ExternalHostName http_listener_cert_pass = "mycertpass" ; the cert passwork ; HTTPS for "Out of band" management applications such as the remote -- cgit v1.1 From 7aa4bd7006fcf6f8c9810180bd0e59cddb958ba0 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 9 Oct 2016 01:15:53 +0100 Subject: add a comment about selfsigned certs --- bin/OpenSimDefaults.ini | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 07e1c48..01a44c3 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -506,6 +506,7 @@ ; currently if using ssl, regions ExternalHostName must the the same and equal to http_listener_cn ; this will change is future http_listener_cn = "myRegionsExternalHostName" + ; if the cert doesnt have a oficial CA or is selfsigned viewers option NoVerifySSLCert need to be set true http_listener_cert_path = "mycert.p12" ; path for the cert file that is valid for the ExternalHostName http_listener_cert_pass = "mycertpass" ; the cert passwork -- cgit v1.1 From 6b0094645c404ab58c2ef287571578a81712843d Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 10 Oct 2016 20:14:02 +0100 Subject: change some coments relative to ssl in config files --- bin/OpenSim.ini.example | 55 +++++++++++++++++++++++++++++++++++++++---------- bin/OpenSimDefaults.ini | 7 ++++--- 2 files changed, 48 insertions(+), 14 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 3fe3992..36dae35 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -46,22 +46,28 @@ [Const] - ; For a grid these will usually be the externally accessible IP/DNS - ; name and use default public port 8002 and default private port 8003 - ; For a standalone this will usually be the externally accessible IP/DNS - ; name and use default public port 9000. The private port is not used - ; in the configuration for a standalone. - - ;# {BaseURL} {} {BaseURL} {"http://example.com" "http://127.0.0.1"} "http://127.0.0.1" + ; this section defines constants for grid services + ; to simplify other configuration files default settings + + ; BaseURL + ; should be the externally accessible IP/DNS name of grid or standalone + ; http://externalHostName or https://externalHostName if using ssl + ; examples: http://mymachine.example.com, https://mymachine.example.com, https://127.0.0.1 + ; default: http://127.0.0.1 + ;# {BaseURL} {} {BaseURL} {"http://example.com" "http://127.0.0.1"} "" BaseURL = http://127.0.0.1 - ;# {PublicPort} {} {PublicPort} {8002 9000} "8002" + ; default public port + ; usually 8002 for grids. + ; on standalones it needs to match http_listener_port or http_listener_sslport if using ssl + ; in [Network] section below (defaults 9000 or 9001 if using ssl) + ;# {PublicPort} {} {PublicPort} {8002 9000 9001} "8002" PublicPort = "8002" + ;grid default private port 8003, not used in standalone ;# {PrivatePort} {} {PrivatePort} {8003} "8003" PrivatePort = "8003" - [Startup] ;# {ConsolePrompt} {} {ConsolePrompt} {} "Region (\R) " ;; Console prompt @@ -437,7 +443,6 @@ ;; Password for the default estate owner ; DefaultEstateOwnerPassword = password - [SMTP] ;; The SMTP server enabled the email module to send email to external ;; destinations. @@ -470,7 +475,6 @@ ;# {SMTP_SERVER_PASSWORD} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server password} {} ; SMTP_SERVER_PASSWORD = "" - [Network] ;# {ConsoleUser} {} {User name for console account} {} ;; Configure the remote console user here. This will not actually be used @@ -487,10 +491,39 @@ ;; the region ports use UDP. ; http_listener_port = 9000 + ; optional main server secure http (ssl) + ; to use ssl you need a ssl certificate in PKCS12 format that validates the ExternalHostnames + ; or their domains + ; some viewers by default only accept certificates signed by a oficial CA + ; to use others like self signed certificates with those viewers, + ; their debug option NoVerifySSLCert needs to be set true, You need to inform users about this + ; the main unsecure port will still open for some services. this may change in future. + + ; set http_listener_ssl to enable main server ssl. it will replace unsecure port on most functions + ;# {http_listener_ssl}{} {enable main server ssl port)} {} false + ;http_listener_ssl = false + + ; Set port for main SSL connections + ;# {http_listener_sslport}{} {main server ssl port)} {} 9001 + ;http_listener_sslport = 9001 ; + + ; currently if using ssl, regions ExternalHostName must the the same and equal to http_listener_cn + ; this may be removed in future + ;# {http_listener_cn}{} {main server ssl externalHostName)} {} "" + ;http_listener_cn = "myRegionsExternalHostName" + + ; the path for the certificate path + ;# {http_listener_cert_path}{} {main server ssl certificate file path)} {} "" + ;http_listener_cert_path = "mycert.p12" + + ;# {http_listener_cert_pass}{} {main server ssl certificate password)} {} "" + ;http_listener_cert_pass = "mycertpass" ; the cert passwork + ; By default, OpenSimulator does not allow scripts to make HTTP calls to addresses on the simulator's LAN. ; See the OutboundDisallowForUserScripts parameter in OpenSimDefaults.ini for more information on this filter. ; If you need to allow scripts to make some LAN calls use the OutboundDisallowForUserScriptsExcept parameter below. ; We recommend that you do not override OutboundDisallowForUserScripts directly unless you are very sure about what you're doing. + ; this HTTP calls can also use ssl see opensimDefaults.ini ; ; You can whitelist individual endpoints by IP or FQDN, e.g. ; diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 01a44c3..bd37748 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -510,8 +510,8 @@ http_listener_cert_path = "mycert.p12" ; path for the cert file that is valid for the ExternalHostName http_listener_cert_pass = "mycertpass" ; the cert passwork - ; HTTPS for "Out of band" management applications such as the remote - ; admin module + ; addicional HTTPS for "Out of band" management applications such as the remote + ; admin module or scripts ; ; Create https_listener = "True" will create a listener on the port ; specified. Provide the path to your server certificate along with it's @@ -519,7 +519,7 @@ ; https_listener = False ; Set our listener to this port ; https_port = 0 - ; Path to X509 certificate + ; Path to X509 certificate, can be the same as main or another ; cert_path = "path/to/cert.p12" ; Password for cert ; cert_pass = "password" @@ -531,6 +531,7 @@ ; HttpBodyMaxLenMAX=16384 ; Hostname to use in llRequestURL/llRequestSecureURL + ; must be a valid hostname for the ssl cert. ; if not defined - default machine name is being used ; (on Windows this mean NETBIOS name - useably only inside local network) ; ExternalHostNameForLSL=127.0.0.1 -- cgit v1.1 From 90be326457160a6f433dea2d544a596f429279e9 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 15 Oct 2016 21:06:17 +0100 Subject: Xengine option AppDomainLoading default option true is causing problems with several mono versions. Until a fix is found change the default to false, so this is not a major problem for the less technical skilled users. --- bin/OpenSim.ini.example | 6 ++++-- bin/OpenSimDefaults.ini | 11 ++++++----- 2 files changed, 10 insertions(+), 7 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 3fe3992..8fc608d 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -903,8 +903,10 @@ ;; ;; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted. ;; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region. - ;; Some Windows users have also reported script loading problems when AppDomainLoading = false - ; AppDomainLoading = true + ;; at this time some mono versions seem to have problems with the true option + ;; so default is now false until a fix is found, to simply life of less technical skilled users. + ;; this should only be a issue if regions stay alive for a long time with lots of scripts added or edited. + ; AppDomainLoading = false ;; Controls whether scripts are stopped by aborting their threads externally (abort) or by co-operative checks from the compiled script (co-op) ;; co-op will be more stable but this option is currently experimental. diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 77ba3c8..e846e73 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1690,12 +1690,13 @@ ; Stack size per thread created ThreadStackSize = 262144 - ; Set this to true (the default) to load each script into a separate + ; Set this to true to load each script into a separate ; AppDomain. Setting this to false will load all script assemblies into the - ; current AppDomain, which will reduce the per-script overhead at the - ; expense of reduced security and the inability to garbage collect the - ; script assemblies - AppDomainLoading = true + ; current AppDomain, which will reduce the per-script overhead but deleted scripts stay inactive using memory + ; this may only be a problem if regions stay alive for a long time with lots of scripts added or edited. + ; at this time some mono versions seem to have problems with the true option + ; so default is now false until a fix is found + AppDomainLoading = false ; Controls whether previously compiled scripts DLLs are deleted on sim restart. If you set this to false ; then startup will be considerably faster since scripts won't need to be recompiled. However, then it becomes your responsibility to delete the -- cgit v1.1 From eaac332d00b193137b8b8e26b5fa323b6b7b2a55 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 16 Oct 2016 17:33:39 +0100 Subject: fix a coment on OpenSim.ini.example ( mantis 8037) --- bin/OpenSim.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 8fc608d..4b83751 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -894,7 +894,7 @@ ;; The trade-off may be increased memory usage by the script engine. ; ThreadStackSize = 262144 - ;; Set this to true (the default) to load each script into a separate + ;; Set this to true to load each script into a separate ;; AppDomain. ;; ;; Setting this to false will load all script assemblies into the -- cgit v1.1 From 73b20c2ca25e5ee6f1b6673ef764c4da40625ec3 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 3 Nov 2016 12:58:43 +0000 Subject: XEngine: make calls to gc.collect on region startup scripts loading a configurable option, since it is very slow operation --- bin/OpenSim.ini.example | 7 +++++++ bin/OpenSimDefaults.ini | 25 +++++++++++++++++-------- 2 files changed, 24 insertions(+), 8 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 4b83751..dce32bf 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -925,6 +925,13 @@ ;; by scripts have changed. ; DeleteScriptsOnStartup = true + ;# {CompactMemOnLoad} {} {compacts memory on each script load at startup?} {true false} false + ;; forces calls to memory garbage collector before loading each script DLL during region startup. + ;; Peek memory usage is reduced and region starts with a more compacted memory allocation. + ;; But this costs a lot of time, so region load will take a lot longer. + ;; it is more usefull if there are no previously compiled scripts DLLs (as with DeleteScriptsOnStartup = true) + ;CompactMemOnLoad = false + ;# {DefaultCompileLanguage} {Enabled:true} {Default script language?} {lsl vb cs} lsl ;; Default language for scripts ; DefaultCompileLanguage = "lsl" diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index e846e73..cb320a2 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1696,14 +1696,23 @@ ; this may only be a problem if regions stay alive for a long time with lots of scripts added or edited. ; at this time some mono versions seem to have problems with the true option ; so default is now false until a fix is found - AppDomainLoading = false - - ; Controls whether previously compiled scripts DLLs are deleted on sim restart. If you set this to false - ; then startup will be considerably faster since scripts won't need to be recompiled. However, then it becomes your responsibility to delete the - ; compiled scripts if you're recompiling OpenSim from source code and internal interfaces used - ; by scripts have changed. - ; DeleteScriptsOnStartup = false - + ; AppDomainLoading = false + + ; Controls whether previously compiled scripts DLLs are deleted on sim restart. + ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled. + ; It should be true on first run after updating opensim binary version + ; after first run you can change to false. + ; You can also set it to false and delete the script DLLs by hand + ; This does not delete cached scripts state. + ; DeleteScriptsOnStartup = true + + ; CompactMemOnLoad forces calls to memory garbage collector before loading each script binary + ; forces calls to memory garbage collector before loading each script DLL during region startup. + ; Peek memory usage is reduced and region starts with a more compacted memory allocation. + ; But this costs a lot of time, so region load will take a lot longer. + ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true) + ; CompactMemOnLoad = false + ; Controls whether scripts are stopped by aborting their threads externally (abort) ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op). ; co-op will be more stable as aborting threads can cause instability. -- cgit v1.1 From 4b326f86917e1fd3b8d20277d2e6ff0a1a14f3e8 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 3 Nov 2016 14:00:45 +0000 Subject: fix some coments, thanks Austin Tate --- bin/OpenSim.ini.example | 2 +- bin/OpenSimDefaults.ini | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index dce32bf..961c141 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -927,7 +927,7 @@ ;# {CompactMemOnLoad} {} {compacts memory on each script load at startup?} {true false} false ;; forces calls to memory garbage collector before loading each script DLL during region startup. - ;; Peek memory usage is reduced and region starts with a more compacted memory allocation. + ;; Peak memory usage is reduced and region starts with a more compacted memory allocation. ;; But this costs a lot of time, so region load will take a lot longer. ;; it is more usefull if there are no previously compiled scripts DLLs (as with DeleteScriptsOnStartup = true) ;CompactMemOnLoad = false diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index cb320a2..c4a01a6 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1706,9 +1706,9 @@ ; This does not delete cached scripts state. ; DeleteScriptsOnStartup = true - ; CompactMemOnLoad forces calls to memory garbage collector before loading each script binary + ; CompactMemOnLoad ; forces calls to memory garbage collector before loading each script DLL during region startup. - ; Peek memory usage is reduced and region starts with a more compacted memory allocation. + ; Peak memory usage is reduced and region starts with a more compacted memory allocation. ; But this costs a lot of time, so region load will take a lot longer. ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true) ; CompactMemOnLoad = false -- cgit v1.1 From 6218913345ae22ef5c95fa71ee4f36f46c7a5644 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 8 Nov 2016 11:22:08 +0000 Subject: add some configuration options missing in OpenSimDeafults.ini but present in OpenSim.ini.example --- bin/OpenSimDefaults.ini | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index c4a01a6..6b04424 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -306,12 +306,23 @@ DefaultScriptEngine = "XEngine" + ; Http proxy setting for llHTTPRequest and dynamic texture loading, if + ; required + ; HttpProxy = "http://proxy.com:8080" + + ; If you're using HttpProxy, then you can set HttpProxyExceptions to a + ; list of regular expressions for URLs that you don't want to go through + ; the proxy. + ; For example, servers inside your firewall. + ; Separate patterns with a ';' + ; HttpProxyExceptions = ".mydomain.com;localhost" + ; ## ; ## EMAIL MODULE ; ## ;emailmodule = DefaultEmailModule - + ; ## ; ## ANIMATIONS ; ## @@ -324,6 +335,10 @@ ; won't look right until the physics engine supports it ; (i.e delays takeoff for a moment) + ; # + ; # statistics + ; # + ; Simulator statistics are output to the console periodically at debug level INFO. ; Setting this to zero disables this output. ; LogShowStatsSeconds = 3600 @@ -362,6 +377,23 @@ ; system with reduced logging LogOverloads = True + ; # + ; # Telehubs + ; # + + ; SpawnPointRouting adjusts the landing for incoming avatars. + ; "closest" will place the avatar at the SpawnPoint located in the closest + ; available spot to the destination (typically map click/landmark). + ; "random" will place the avatar on a randomly selected spawnpoint; + ; "sequence" will place the avatar on the next sequential SpawnPoint + ; SpawnPointRouting = closest + + ; TelehubAllowLandmark allows users with landmarks to override telehub + ; routing and land at the landmark coordinates when set to true + ; default is false + ; TelehubAllowLandmark = false + + [Map] ;WorldMapModule = "WorldMap" ;MapImageModule = "MapImageModule" -- cgit v1.1 From c5d85b5465e6c2d6de2836b739324b634f57cc86 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 11 Nov 2016 16:04:20 +0000 Subject: reduce diferencs btw OpenSimDefaults.ini and OpenSim.ini.example --- bin/OpenSim.ini.example | 10 +++---- bin/OpenSimDefaults.ini | 69 +++++++++++++++++++++++++++++++++++-------------- 2 files changed, 54 insertions(+), 25 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 961c141..f6466b5 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -696,12 +696,6 @@ ;; then you might want to try setting this to false. ; mesh_sculpted_prim = true - ;# {use_NINJA_physics_joints} {[Startup]physics:OpenDynamicsEngine} {Use jointed (NINJA) physics?} {true false} false - ;; If you would like physics joints to be enabled through a special naming - ;; convention in the client, set this to true. - ;; (see NINJA Physics, http://opensimulator.org/wiki/NINJA_Physics) - ; use_NINJA_physics_joints = false - [RemoteAdmin] ;; This is the remote admin module, which uses XMLRPC requests to ;; manage regions from a web interface. @@ -1138,15 +1132,19 @@ ;; several options to control NPCs creation + ;# {AllowNotOwned} {} {allow NPCs to be created not Owned} {true false} false ;; allow NPCs to be created not Owned {true false} default: true ; AllowNotOwned = false + ;# {AllowSenseAsAvatar} {} {allow NPCs to set to be sensed as Avatars} {true false} false ;; allow NPCs to set to be sensed as Avatars {true false} default: true ; AllowSenseAsAvatar = false + ;# {AllowCloneOtherAvatars} {} {allow NPCs to created cloning any avatar in region} {true false} false ;; allow NPCs to created cloning any avatar in region {true false} default: true ; AllowCloneOtherAvatars = false + ;# {NoNPCGroup} {} {if true NPCs will have no group title, if false display "- NPC -"} {true false} false ;; if true NPCs will have no group title, if false display "- NPC -" for easy identification {true false} default: true ; NoNPCGroup = false diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 6b04424..906c7bc 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -128,9 +128,16 @@ ; Increasing this number will increase memory usage. MaxPrimUndos = 20 + ; Minimum size for non-physical prims.This can be overridden in the region config file (as + ; NonPhysicalPrimMin!). + ; NonPhysicalPrimMin = 0.001 + ; Maximum size of non physical prims. Affects resizing of existing prims. This can be overridden in the region config file (as NonPhysicalPrimMax!). NonPhysicalPrimMax = 256 + ; Minimum size where a prim can be physical. This can be overridden in the region config file. + ; PhysicalPrimMin = 0.01 + ; Maximum size of physical prims. Affects resizing of existing prims. This can be overridden in the region config file. PhysicalPrimMax = 64 @@ -304,6 +311,7 @@ ; ## SCRIPT ENGINE ; ## + ;; Default script engine to use. Currently, we only have XEngine DefaultScriptEngine = "XEngine" ; Http proxy setting for llHTTPRequest and dynamic texture loading, if @@ -320,7 +328,8 @@ ; ## ; ## EMAIL MODULE ; ## - + ;; The email module requires some configuration. It needs an SMTP + ;; server to send mail through. ;emailmodule = DefaultEmailModule ; ## @@ -395,15 +404,23 @@ [Map] + ; Map tile options. + ; If true, then maptiles are generated using the MapImageModule below. + ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden + ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need + ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/ + ;GenerateMaptiles = true + ;WorldMapModule = "WorldMap" + + ; The module to use in order to generate map images. + ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can + ; generate better images. ;MapImageModule = "MapImageModule" ; World map blacklist timeout in seconds ;BlacklistTimeout = 600 - ; Set to false to not generate any maptiles - ;GenerateMaptiles = true - ; Refresh (in seconds) the map tile periodically ;MaptileRefresh = 0 @@ -431,6 +448,8 @@ ; ## PERMISSIONS ; ## + ; Permission modules to use, separated by comma. + ; Possible modules are DefaultPermissionsModule, PrimLimitsModule ;permissionmodules = "DefaultPermissionsModule" ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy @@ -439,12 +458,22 @@ ; Default is true serverside_object_permissions = true - allow_grid_gods = false - - ; This allows somne control over permissions + + ; This allows some control over permissions ; please note that this still doesn't duplicate SL, and is not intended to + + ; This allows grid users with a UserLevel of 200 or more to assume god + ; powers in the regions in this simulator. + allow_grid_gods = false + + ; Allow region owners to assume god powers in their regions ;region_owner_is_god = true + + ; Allow region managers to assume god powers in regions they manage ;region_manager_is_god = false + + ; Allow parcel owners to assume god powers in their parcels + ; you really may not want this... ;parcel_owner_is_god = false ; Control user types that are allowed to create new scripts @@ -1108,16 +1137,6 @@ mesh_physical_lod = 16 ; ## - ; ## Joint support - ; ## - - ; If you would like physics joints to be enabled through a special naming - ; convention in the client, set this to true. - ; (See NINJA Physics documentation, http://opensimulator.org/wiki/NINJA_Physics) - ; Default is false - ;use_NINJA_physics_joints = true - - ; ## ; ## additional meshing options ; ## @@ -1126,7 +1145,7 @@ ; If you would rather have mesh proxies for simple prims, you can set this to ; true. Note that this will increase memory usage and region startup time. ; Default is false. - ;force_simple_prim_meshing = true + ;force_simple_prim_meshing = false [BulletSim] @@ -2104,7 +2123,19 @@ [NPC] ;; Enable Non Player Character (NPC) facilities Enabled = false - + ;; several options to control NPCs creation + + ;; allow NPCs to be created not Owned {true false} default: true + ; AllowNotOwned = false + + ;; allow NPCs to set to be sensed as Avatars {true false} default: true + ; AllowSenseAsAvatar = false + + ;; allow NPCs to created cloning any avatar in region {true false} default: true + ; AllowCloneOtherAvatars = false + + ;; if true NPCs will have no group title, if false display "- NPC -" for easy identification {true false} default: true + ; NoNPCGroup = false [Terrain] ; Values can be "pinhead-island" or "flat" -- cgit v1.1 From b6329fb784669e60f0eacb9610fd70e7f551453c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 12 Nov 2016 14:07:40 +0000 Subject: mantis 8055: fix default value of npc options --- bin/OpenSim.ini.example | 16 ++++++++-------- bin/OpenSimDefaults.ini | 8 ++++---- 2 files changed, 12 insertions(+), 12 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index f6466b5..5103e71 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1132,21 +1132,21 @@ ;; several options to control NPCs creation - ;# {AllowNotOwned} {} {allow NPCs to be created not Owned} {true false} false + ;# {AllowNotOwned} {} {allow NPCs to be created not Owned} {true false} true ;; allow NPCs to be created not Owned {true false} default: true - ; AllowNotOwned = false + ; AllowNotOwned = true - ;# {AllowSenseAsAvatar} {} {allow NPCs to set to be sensed as Avatars} {true false} false + ;# {AllowSenseAsAvatar} {} {allow NPCs to set to be sensed as Avatars} {true false} true ;; allow NPCs to set to be sensed as Avatars {true false} default: true - ; AllowSenseAsAvatar = false + ; AllowSenseAsAvatar = true - ;# {AllowCloneOtherAvatars} {} {allow NPCs to created cloning any avatar in region} {true false} false + ;# {AllowCloneOtherAvatars} {} {allow NPCs to created cloning any avatar in region} {true false} true ;; allow NPCs to created cloning any avatar in region {true false} default: true - ; AllowCloneOtherAvatars = false + ; AllowCloneOtherAvatars = true - ;# {NoNPCGroup} {} {if true NPCs will have no group title, if false display "- NPC -"} {true false} false + ;# {NoNPCGroup} {} {if true NPCs will have no group title, if false display "- NPC -"} {true false} true ;; if true NPCs will have no group title, if false display "- NPC -" for easy identification {true false} default: true - ; NoNPCGroup = false + ; NoNPCGroup = true [Terrain] diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 906c7bc..3553002 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -2126,16 +2126,16 @@ ;; several options to control NPCs creation ;; allow NPCs to be created not Owned {true false} default: true - ; AllowNotOwned = false + ; AllowNotOwned = true ;; allow NPCs to set to be sensed as Avatars {true false} default: true - ; AllowSenseAsAvatar = false + ; AllowSenseAsAvatar = true ;; allow NPCs to created cloning any avatar in region {true false} default: true - ; AllowCloneOtherAvatars = false + ; AllowCloneOtherAvatars = true ;; if true NPCs will have no group title, if false display "- NPC -" for easy identification {true false} default: true - ; NoNPCGroup = false + ; NoNPCGroup = true [Terrain] ; Values can be "pinhead-island" or "flat" -- cgit v1.1 From 05f70024451e99f8e136499c04d645960a6b5f3a Mon Sep 17 00:00:00 2001 From: AliciaRaven Date: Sun, 20 Nov 2016 14:20:54 +0000 Subject: Include config option to disable stats thread showing read/write stats in console. Keeping default as true to retain current behaviour. Also checked to prevent counters being added to so there wont be any integer overflows over time --- bin/Robust.HG.ini.example | 3 +++ bin/Robust.ini.example | 3 +++ 2 files changed, 6 insertions(+) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index ad07674..c231a8a 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -242,6 +242,9 @@ ;; Reduces DB calls if asset is requested often. Default value 0 will always update access time ;DaysBetweenAccessTimeUpdates = 30 + ;; Should FSAssets print read/write stats to the robust console, default is true + ;ShowConsoleStats = true + ;; FSAssets Custom Database Config (Leave blank to use grids default database configuration) ;StorageProvider = "" ;ConnectionString = "" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 099d4da..743b23d 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -204,6 +204,9 @@ ;; Reduces DB calls if asset is requested often. Default value 0 will always update access time ;DaysBetweenAccessTimeUpdates = 30 + ;; Should FSAssets print read/write stats to the robust console, default is true + ;ShowConsoleStats = true + ;; FSAssets Custom Database Config (Leave blank to use grids default database configuration) ;StorageProvider = "" ;ConnectionString = "" -- cgit v1.1 From 94e48838d5b1f0bf0c5b0e40b7bc9a6f1be156e9 Mon Sep 17 00:00:00 2001 From: AliciaRaven Date: Tue, 22 Nov 2016 15:31:45 +0000 Subject: Include new Region.ini option for DefaultLandingPoint for teleports with no coords specified. This is useful when using a Telehub would be to restrictive as it would block landmarks and map teleports. This location is only ever used when no coordinates are provided. If config value not set, the previous default of 128,128 is used. --- bin/Regions/Regions.ini.example | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin') diff --git a/bin/Regions/Regions.ini.example b/bin/Regions/Regions.ini.example index e20fee6..97d1c4f 100644 --- a/bin/Regions/Regions.ini.example +++ b/bin/Regions/Regions.ini.example @@ -31,6 +31,9 @@ ExternalHostName = SYSTEMIP ; SizeX = 512 ; SizeY = 512 +; * Default region landing point used when no teleport coords are specified +; DefaultLanding = <128,128,30> + ; * ; * Prim data ; * This allows limiting the sizes of prims and the region prim count -- cgit v1.1 From d9789596d4db77b086d05f6dd7503a380e468284 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 23 Nov 2016 20:41:10 +0000 Subject: take parcel_owner_is_god option from ini.example since it is not a recomended option for general use --- bin/OpenSimDefaults.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 3553002..3f8864e 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -473,7 +473,7 @@ ;region_manager_is_god = false ; Allow parcel owners to assume god powers in their parcels - ; you really may not want this... + ; you really do not want this... ;parcel_owner_is_god = false ; Control user types that are allowed to create new scripts -- cgit v1.1 From 75ad210b6bda5c1703c8be191927f9c2baf928c3 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 23 Nov 2016 20:44:55 +0000 Subject: it is nice to save a file to atually change it... --- bin/OpenSim.ini.example | 4 ---- 1 file changed, 4 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 5103e71..bb73687 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -391,10 +391,6 @@ ;; Allow region managers to assume god powers in regions they manage ; region_manager_is_god = false - ;# {parcel_owner_is_god} {} {Allow parcel owner gods} {true false} false - ;; Allow parcel owners to assume god powers in their parcels - ; parcel_owner_is_god = false - ;# {simple_build_permissions} {} {Allow building in parcel by access list (no groups)} {true false} false ;; More control over permissions ;; This is definitely not SL! -- cgit v1.1 From 6b017f94ead6236a14db11a4d802ed259de1eb91 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 27 Nov 2016 15:23:08 +0000 Subject: update httpserver dll fixing a memory leak --- bin/HttpServer_OpenSim.dll | Bin 118272 -> 130048 bytes bin/HttpServer_OpenSim.pdb | Bin 325120 -> 353792 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 605fa6a..6c9e5a5 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index 563b5e0..13910cf 100644 Binary files a/bin/HttpServer_OpenSim.pdb and b/bin/HttpServer_OpenSim.pdb differ -- cgit v1.1 From e19eb65c18445f5e915b34d3a2cab883405eb661 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 30 Nov 2016 07:52:50 +0000 Subject: disable floatSam FileCleanupTimer option on ini.example since it is currently a broken resources expensive option. Users should do it by hand when its impact on region is acceptable --- bin/config-include/FlotsamCache.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/FlotsamCache.ini.example b/bin/config-include/FlotsamCache.ini.example index ad74fc1..0136a81 100644 --- a/bin/config-include/FlotsamCache.ini.example +++ b/bin/config-include/FlotsamCache.ini.example @@ -36,7 +36,7 @@ ; How often {in hours} should the disk be checked for expired filed ; Specify 0 to disable expiration checking - FileCleanupTimer = 1.0 ;every hour + FileCleanupTimer = 0 ;every hour ; If WAIT_ON_INPROGRESS_REQUESTS has been defined then this specifies how ; long (in miliseconds) to block a request thread while trying to complete -- cgit v1.1 From f2cad38b3de94fa660c2bea5291f2d7f41b04321 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 30 Nov 2016 07:59:01 +0000 Subject: fix the FileCleanupTimer coment --- bin/config-include/FlotsamCache.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/FlotsamCache.ini.example b/bin/config-include/FlotsamCache.ini.example index 0136a81..db8d4db 100644 --- a/bin/config-include/FlotsamCache.ini.example +++ b/bin/config-include/FlotsamCache.ini.example @@ -36,7 +36,7 @@ ; How often {in hours} should the disk be checked for expired filed ; Specify 0 to disable expiration checking - FileCleanupTimer = 0 ;every hour + FileCleanupTimer = 0.0 ; disabled ; If WAIT_ON_INPROGRESS_REQUESTS has been defined then this specifies how ; long (in miliseconds) to block a request thread while trying to complete -- cgit v1.1 From 9df95afd8609a0b94ec63fb07182c7983f28cbe6 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 2 Dec 2016 13:54:11 +0000 Subject: update httpserver --- bin/HttpServer_OpenSim.dll | Bin 130048 -> 130560 bytes bin/HttpServer_OpenSim.pdb | Bin 353792 -> 355840 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 6c9e5a5..121ec82 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index 13910cf..c2a3fd9 100644 Binary files a/bin/HttpServer_OpenSim.pdb and b/bin/HttpServer_OpenSim.pdb differ -- cgit v1.1 From 049dd374e9becc12b3e36e42d217f79ebf09ad45 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 7 Dec 2016 12:23:40 +0000 Subject: add SSL certs validation options for robust to allow simple certificates, possible only for encriptation without any peer autentification. disable validation by default for the small grids case --- bin/Robust.HG.ini.example | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index c231a8a..08a3b8c 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -70,6 +70,15 @@ ; How many lines of command history should we keep? (default is 100) ConsoleHistoryFileLines = 100 + ; peers SSL certificate validation options (if using ssl) + ; you should set this to false forcing all peers (like regions) to have valid certificates + ; but you can allow selfsigned certificates or no official CA with next option true + NoVerifyCertChain = true + ; you can also bypass the hostname or domain verification + NoVerifyCertHostname = true + ; having both options true does provide encriptation, but low security + ; possible enought for small grids, specially it not comercial + [ServiceList] AssetServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AssetServiceConnector" -- cgit v1.1 From 3a81642d979a84c5c2e666cb500e080d56f887ed Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 7 Dec 2016 13:30:07 +0000 Subject: add SSL certs validation options for regions to allow simple encriptation without any peer autentification using simple homemade (or even shared) certs. --- bin/OpenSim.ini.example | 13 +++++++++++++ bin/OpenSimDefaults.ini | 15 ++++++++++++++- bin/Robust.HG.ini.example | 1 + bin/Robust.ini.example | 10 ++++++++++ 4 files changed, 38 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 4df6584..a4a6d0c 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -295,6 +295,19 @@ ;; default is false ; TelehubAllowLandmark = false + + ;; SSL certificate validation options + ;; used also on contacting other peers that require SSL and we don't + ;; you should set this to false forcing all peers (like regions) to have valid certificates + ;; but you can allow selfsigned certificates or no official CA with next option true + ;# {NoVerifyCertChain} {} {do not verify SSL Cert Chain} {true false} true + ; NoVerifyCertChain = true + + ;; you can also bypass the hostname or domain verification + ;# {NoVerifyCertHostname} {} {do not verify SSL Cert name versus peer name} {true false} true + ; NoVerifyCertHostname = true + ;; having both options true does provide encriptation, but low security + ;; possible enought for small grids, specially it not comercial [AccessControl] ;# {AllowedClients} {} {Bar (|) separated list of allowed clients} {} diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 6539f6e..4884d3d 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -401,7 +401,20 @@ ; routing and land at the landmark coordinates when set to true ; default is false ; TelehubAllowLandmark = false - + + ; # + ; # SSL certificates validation options + ; # + + ; SSL certificate validation options + ; used also on contacting other peers that require SSL and we don't + ; you should set this to false forcing all peers (like regions) to have valid certificates + ; but you can allow selfsigned certificates or no official CA with next option true + ; NoVerifyCertChain = true + ; you can also bypass the hostname or domain verification + ; NoVerifyCertHostname = true + ; having both options true does provide encriptation, but low security + ; possible enought for small grids, specially it not comercial [Map] ; Map tile options. diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 08a3b8c..f66b245 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -71,6 +71,7 @@ ConsoleHistoryFileLines = 100 ; peers SSL certificate validation options (if using ssl) + ; used also on contacting other peers that require SSL and we don't ; you should set this to false forcing all peers (like regions) to have valid certificates ; but you can allow selfsigned certificates or no official CA with next option true NoVerifyCertChain = true diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 743b23d..5e6ce47 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -61,6 +61,16 @@ ; How many lines of command history should we keep? (default is 100) ConsoleHistoryFileLines = 100 + + ; peers SSL certificate validation options + ; used also on contacting other peers that require SSL and we don't + ; you should set this to false forcing all peers (like regions) to have valid certificates + ; but you can allow selfsigned certificates or no official CA with next option true + NoVerifyCertChain = true + ; you can also bypass the hostname or domain verification + NoVerifyCertHostname = true + ; having both options true does provide encriptation, but low security + ; possible enought for small grids, specially it not comercial [ServiceList] AssetServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AssetServiceConnector" -- cgit v1.1 From 95ff859484637fe1bedfc50f0a1d9be449113971 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 7 Dec 2016 20:33:38 +0000 Subject: change a few ssl config comments --- bin/OpenSim.ini.example | 10 ++++------ bin/OpenSimDefaults.ini | 8 +++----- bin/Robust.HG.ini.example | 10 ++++------ bin/Robust.ini.example | 8 +++----- 4 files changed, 14 insertions(+), 22 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index a4a6d0c..7426980 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -297,18 +297,16 @@ ;; SSL certificate validation options - ;; used also on contacting other peers that require SSL and we don't - ;; you should set this to false forcing all peers (like regions) to have valid certificates - ;; but you can allow selfsigned certificates or no official CA with next option true + ;; you can allow selfsigned certificates or no official CA with next option set to true ;# {NoVerifyCertChain} {} {do not verify SSL Cert Chain} {true false} true ; NoVerifyCertChain = true ;; you can also bypass the hostname or domain verification ;# {NoVerifyCertHostname} {} {do not verify SSL Cert name versus peer name} {true false} true ; NoVerifyCertHostname = true - ;; having both options true does provide encriptation, but low security - ;; possible enought for small grids, specially it not comercial - + ;; having both options true does provide encryption but with low security + ;; set both true if you don't care to use SSL, they are needed to contact regions or grids that do use it. + [AccessControl] ;# {AllowedClients} {} {Bar (|) separated list of allowed clients} {} ;; Bar (|) separated list of viewers which may gain access to the regions. diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 4884d3d..a8566e2 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -407,14 +407,12 @@ ; # ; SSL certificate validation options - ; used also on contacting other peers that require SSL and we don't - ; you should set this to false forcing all peers (like regions) to have valid certificates - ; but you can allow selfsigned certificates or no official CA with next option true + ; you can allow selfsigned certificates or no official CA with next option set to true ; NoVerifyCertChain = true ; you can also bypass the hostname or domain verification ; NoVerifyCertHostname = true - ; having both options true does provide encriptation, but low security - ; possible enought for small grids, specially it not comercial + ; having both options true does provide encryption but with low security + ; set both true if you don't care to use SSL, they are needed to contact regions or grids that do use it. [Map] ; Map tile options. diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index f66b245..0382d4b 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -70,15 +70,13 @@ ; How many lines of command history should we keep? (default is 100) ConsoleHistoryFileLines = 100 - ; peers SSL certificate validation options (if using ssl) - ; used also on contacting other peers that require SSL and we don't - ; you should set this to false forcing all peers (like regions) to have valid certificates - ; but you can allow selfsigned certificates or no official CA with next option true + ; peers SSL certificate validation options + ; you can allow selfsigned certificates or no official CA with next option set to true NoVerifyCertChain = true ; you can also bypass the hostname or domain verification NoVerifyCertHostname = true - ; having both options true does provide encriptation, but low security - ; possible enought for small grids, specially it not comercial + ; having both options true does provide encryption but with low security + ; set both true if you don't care to use SSL, they are needed to contact regions or grids that do use it. [ServiceList] diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 5e6ce47..51cf9d8 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -63,14 +63,12 @@ ConsoleHistoryFileLines = 100 ; peers SSL certificate validation options - ; used also on contacting other peers that require SSL and we don't - ; you should set this to false forcing all peers (like regions) to have valid certificates - ; but you can allow selfsigned certificates or no official CA with next option true + ; you can allow selfsigned certificates or no official CA with next option set to true NoVerifyCertChain = true ; you can also bypass the hostname or domain verification NoVerifyCertHostname = true - ; having both options true does provide encriptation, but low security - ; possible enought for small grids, specially it not comercial + ; having both options true does provide encryption but with low security + ; set both true if you don't care to use SSL, they are needed to contact regions or grids that do use it. [ServiceList] AssetServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AssetServiceConnector" -- cgit v1.1 From 6627da693e48836334016e26ddc1cd71b99e0fa8 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 9 Dec 2016 04:07:06 +0000 Subject: suport client certificate validation per listenner, with a supplied static callback --- bin/HttpServer_OpenSim.dll | Bin 130560 -> 131584 bytes bin/HttpServer_OpenSim.pdb | Bin 355840 -> 357888 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 121ec82..3b49692 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index c2a3fd9..9f6691f 100644 Binary files a/bin/HttpServer_OpenSim.pdb and b/bin/HttpServer_OpenSim.pdb differ -- cgit v1.1 From 4d1536f1ecde8ed03e1f2e69f45207eb9dddfa7c Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Mon, 12 Dec 2016 00:07:36 +0000 Subject: Allow OpenSim to respond to Unix signals. This may need work to be properly ignoed on Windows. Windows devs, please test and check for platform flags if this causes issues in Windows --- bin/Mono.Posix.dll | Bin 0 -> 207872 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100755 bin/Mono.Posix.dll (limited to 'bin') diff --git a/bin/Mono.Posix.dll b/bin/Mono.Posix.dll new file mode 100755 index 0000000..97ec8bf Binary files /dev/null and b/bin/Mono.Posix.dll differ -- cgit v1.1 From 1ffc81c8690b039a578155fb76bbbd2307ae3ebc Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 14 Dec 2016 01:31:16 +0000 Subject: also reduce check threat level of osNpcSetProfileAbout to Low; update osslEnable.ini --- bin/config-include/osslEnable.ini | 2 ++ 1 file changed, 2 insertions(+) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 4c6be16..59a162a 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -139,6 +139,8 @@ Allow_osMessageObject = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osRegexIsMatch = true Allow_osGetAvatarHomeURI = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osNpcSetProfileAbout = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osNpcSetProfileImage = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel Moderate Allow_osDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -- cgit v1.1 From e2062951d7d374c6ee81a3eb20085c746dfa901c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 14 Dec 2016 16:33:52 +0000 Subject: update osslEnable.ini --- bin/config-include/osslEnable.ini | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 59a162a..0241280 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -141,6 +141,7 @@ Allow_osGetAvatarHomeURI = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osNpcSetProfileAbout = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osNpcSetProfileImage = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osDie = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel Moderate Allow_osDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -- cgit v1.1 From 1d6a7d2225a591e9a7f81e59378c5abf25767857 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 14 Dec 2016 22:34:27 +0000 Subject: correct the new npc entries in osslEnable.ini --- bin/config-include/osslEnable.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 0241280..a064f09 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -139,8 +139,8 @@ Allow_osMessageObject = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osRegexIsMatch = true Allow_osGetAvatarHomeURI = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osNpcSetProfileAbout = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osNpcSetProfileImage = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osNpcSetProfileAbout = ${XEngine|osslNPC} + Allow_osNpcSetProfileImage = ${XEngine|osslNPC} Allow_osDie = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel Moderate -- cgit v1.1 From 94a36396b13164252e85a39cb3160a5b56f9b4fd Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 15 Dec 2016 00:09:21 +0000 Subject: respective .ini settings --- bin/OpenSim.ini.example | 5 +++++ bin/OpenSimDefaults.ini | 4 ++++ 2 files changed, 9 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index bb73687..557e475 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1158,6 +1158,11 @@ ;; Set the value of the url to your UserProfilesService ;; If un-set / "" the module is disabled ;; ProfileServiceURL = ${Const|BaseURL}:${Const|PublicPort} + + ;# {AllowUserProfileWebURLs} {} {allow user profiles web urls} {true false} true + ;; set this to false to prevent your users to be sent to unkown + ;; web sites by other users on their profiles + ; AllowUserProfileWebURLs = true [XBakes] ;# {URL} {} {Set URL for Baked texture service} {} diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 3f8864e..b57a844 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -541,6 +541,10 @@ ;; points to your grid's Robust user profiles service ;; ; ProfileURL = http://127.0.0.1:9000 + + ;; set this to false to prevent your users to be sent to unkown + ;; web sites by other users on their profiles + ; AllowUserProfileWebURLs = true [SMTP] -- cgit v1.1 From 48efbeb8d346a104d673c69eeb03c70abf840178 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 15 Dec 2016 15:14:12 +0000 Subject: set pbs shape acording to mesh number of (material) faces --- bin/OpenSim.ini.example | 2 +- bin/OpenSimDefaults.ini | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 557e475..5f1e779 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1160,7 +1160,7 @@ ;; ProfileServiceURL = ${Const|BaseURL}:${Const|PublicPort} ;# {AllowUserProfileWebURLs} {} {allow user profiles web urls} {true false} true - ;; set this to false to prevent your users to be sent to unkown + ;; set this to false to prevent your users to be sent to unknown ;; web sites by other users on their profiles ; AllowUserProfileWebURLs = true diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index b57a844..b133da9 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -542,7 +542,7 @@ ;; ; ProfileURL = http://127.0.0.1:9000 - ;; set this to false to prevent your users to be sent to unkown + ;; set this to false to prevent your users to be sent to unknown ;; web sites by other users on their profiles ; AllowUserProfileWebURLs = true -- cgit v1.1 From c93551d8f43cf91f909a3909bc2bdbf70666201b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 17 Dec 2016 22:38:31 +0000 Subject: allow a creator that is also onwer to change export flag. Add missing setting to ini files --- bin/OpenSim.ini.example | 4 ++++ bin/OpenSimDefaults.ini | 15 +++++++++++++++ 2 files changed, 19 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 5f1e779..41bb263 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -619,6 +619,10 @@ ;; supported by viewers. ;DestinationGuideURI = "http://127.0.0.1:9000/guide" + ;# {ExportSupported} {} {Enable export control flag} {true false} false + ;; set to true to allow the export control flag of items + ; ExportSupported = false + [Chat] ;# {whisper_distance} {} {Distance at which a whisper is heard, in meters?} {} 10 diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index b133da9..423d8dc 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -836,6 +836,21 @@ ; Capability for searching for people Cap_AvatarPickerSearch = "localhost" +[SimulatorFeatures] + ;# {SearchServerURI} {} {URL of the search server} {} + ;; Optional. If given this serves the same purpose as the grid wide + ;; [LoginServices] SearchURL setting and will override that where + ;; supported by viewers. + ;SearchServerURI = "http://127.0.0.1:9000/" + + ;# {DestinationGuideURI} {} {URL of the destination guide} {} + ;; Optional. If given this serves the same purpose as the grid wide + ;; [LoginServices] DestinationGuide setting and will override that where + ;; supported by viewers. + ;DestinationGuideURI = "http://127.0.0.1:9000/guide" + + ; set to true to allow the export control flag of items + ; ExportSupported = false [Chat] ; Controls whether the chat module is enabled. Default is true. -- cgit v1.1 From 30cd36ff98e9f695ec2aa3e7bf3a558dc19897db Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 18 Dec 2016 03:56:53 +0000 Subject: leave stupid broken permissions alone --- bin/OpenSim.ini.example | 4 ---- bin/OpenSimDefaults.ini | 15 --------------- 2 files changed, 19 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 41bb263..5f1e779 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -619,10 +619,6 @@ ;; supported by viewers. ;DestinationGuideURI = "http://127.0.0.1:9000/guide" - ;# {ExportSupported} {} {Enable export control flag} {true false} false - ;; set to true to allow the export control flag of items - ; ExportSupported = false - [Chat] ;# {whisper_distance} {} {Distance at which a whisper is heard, in meters?} {} 10 diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 423d8dc..b133da9 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -836,21 +836,6 @@ ; Capability for searching for people Cap_AvatarPickerSearch = "localhost" -[SimulatorFeatures] - ;# {SearchServerURI} {} {URL of the search server} {} - ;; Optional. If given this serves the same purpose as the grid wide - ;; [LoginServices] SearchURL setting and will override that where - ;; supported by viewers. - ;SearchServerURI = "http://127.0.0.1:9000/" - - ;# {DestinationGuideURI} {} {URL of the destination guide} {} - ;; Optional. If given this serves the same purpose as the grid wide - ;; [LoginServices] DestinationGuide setting and will override that where - ;; supported by viewers. - ;DestinationGuideURI = "http://127.0.0.1:9000/guide" - - ; set to true to allow the export control flag of items - ; ExportSupported = false [Chat] ; Controls whether the chat module is enabled. Default is true. -- cgit v1.1 From 4bdf89d59b7a2cc8f075795e8b25551ebf55d534 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 19 Dec 2016 09:07:17 +0000 Subject: update httpserver muting some socket errors that are normal --- bin/HttpServer_OpenSim.dll | Bin 131584 -> 119808 bytes bin/HttpServer_OpenSim.pdb | Bin 357888 -> 327168 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 3b49692..8b83634 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index 9f6691f..309daee 100644 Binary files a/bin/HttpServer_OpenSim.pdb and b/bin/HttpServer_OpenSim.pdb differ -- cgit v1.1 From 7367f03d6e990983c9ff6e3f5da11a1fe804b632 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 21 Dec 2016 20:39:38 +0000 Subject: remove a odd raycastv3 config option --- bin/OpenSimDefaults.ini | 3 --- 1 file changed, 3 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index b133da9..644391f 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1635,9 +1635,6 @@ ; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true DetectExitHitsInLlCastRay = false - ; Filter on parts instead of groups in llCastRay V3 if true - FilterPartsInLlCastRay = false - ; Detect attachments in llCastRay V3 if true DoAttachmentsInLlCastRay = false -- cgit v1.1 From 5b403c448e5975a786d0edffe071a65c8a221adb Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Thu, 22 Dec 2016 15:37:48 +0000 Subject: Update the ini examples to add options missing from one to the other. Group hypergrid related options within each section to ease transition from non-HG to HG --- bin/Robust.HG.ini.example | 60 ++++++++++++++++++++++++++++++++++++++++------- bin/Robust.ini.example | 42 ++++++++++++++------------------- 2 files changed, 68 insertions(+), 34 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index c231a8a..b4e426a 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -94,7 +94,13 @@ ;; Uncomment this if you want Groups V2 to work ; GroupsServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" ;; Uncomment to provide bakes caching - ;BakedTextureService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XBakesConnector" + ; BakedTextureService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XBakesConnector" + + ;; Uncomment for UserProfiles see [UserProfilesService] to configure... + ; UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector" + + ;; Uncomment if you want to have centralized estate data + ; EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector" ;; Additions for Hypergrid @@ -108,12 +114,6 @@ ;; Uncomment this if you want Groups V2, HG to work ; HGGroupsServiceConnector = "${Const|PublicPort}/OpenSim.Addons.Groups.dll:HGGroupsServiceRobustConnector" - ;; Uncomment for UserProfiles see [UserProfilesService] to configure... - ; UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector" - - ;; Uncomment if you want to have centralized estate data - ; EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector" - ; * This is common for all services, it's the network setup for the entire ; * server instance, if none is specified above ; * @@ -256,6 +256,18 @@ DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" AssetLoaderArgs = "./assets/AssetSets.xml" + ; Allow maptile assets to remotely deleted by remote calls to the asset service. + ; There is no harm in having this as false - it just means that historical maptile assets are not deleted. + ; This only applies to maptiles served via the version 1 viewer mechanisms + ; Default is false + AllowRemoteDelete = false + + ; Allow all assets to be remotely deleted. + ; Only set this to true if you are operating a grid where you control all calls to the asset service + ; (where a necessary condition is that you control all simulators) and you need this for admin purposes. + ; If set to true, AllowRemoteDelete = true is required as well. + ; Default is false. + AllowRemoteDeleteAllTypes = false ; * This configuration loads the inventory server modules. It duplicates ; * the function of the legacy inventory server @@ -307,6 +319,7 @@ ;; ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid. ;; + ;; Example specification: ; Region_Welcome_Area = "DefaultRegion, FallbackRegion" ; (replace spaces with underscore) @@ -431,6 +444,9 @@ ; for the server connector LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService" + ; Set this to true to allow the use of advanced web services and multiple + ; bots using one account + AllowDuplicatePresences = false; [AvatarService] ; for the server connector @@ -462,14 +478,21 @@ GridService = "OpenSim.Services.GridService.dll:GridService" SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector" LibraryService = "OpenSim.Services.InventoryService.dll:LibraryService" - UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" + ; The minimum user level required for a user to be able to login. 0 by default + ; If you disable a particular user's account then you can set their login level below this number. + ; You can also change this level from the console though these changes will not be persisted. + ; MinLoginLevel = 0 + + ;; for hypergrid + UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" ; This inventory service will be used to initialize the user's inventory HGInventoryServicePlugin = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" HGInventoryServiceConstructorArg = "HGInventoryService" + ;; end hypergrid - ;; Ask co-operative viewers to use a different currency name + ; Ask co-operative viewers to use a different currency name ;Currency = "" ;; Set minimum fee to publish classified @@ -517,6 +540,24 @@ ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows DSTZone = "America/Los_Angeles;Pacific Standard Time" + ;Basic Login Service Dos Protection Tweaks + ;; + ;; Some Grids/Users use a transparent proxy that makes use of the X-Forwarded-For HTTP Header, If you do, set this to true + ;; If you set this to true and you don't have a transparent proxy, it may allow attackers to put random things in the X-Forwarded-For header to + ;; get around this basic DOS protection. + ;DOSAllowXForwardedForHeader = false + ;; + ;; The protector adds up requests during this rolling period of time, default 10 seconds + ;DOSRequestTimeFrameMS = 10000 + ;; + ;; The amount of requests in the above timeframe from the same endpoint that triggers protection + ;DOSMaxRequestsInTimeFrame = 5 + ;; + ;; The amount of time that a specific endpoint is blocked. Default 2 minutes. + ;DOSForgiveClientAfterMS = 120000 + ;; + ;; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0. + [MapImageService] LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" @@ -749,6 +790,7 @@ ;; What is the HomeURI of users associated with this grid? ;; Can overwrite the default in [Hypergrid], but probably shouldn't ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + ;; end hypergrid ;; Sets the maximum number of groups an agent may join ; MaxAgentGroups = 42 diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 743b23d..7c9f6da 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -81,11 +81,11 @@ MapAddServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MapAddServiceConnector" MapGetServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:MapGetServiceConnector" ;; Uncomment this if you want offline IM to work - ;OfflineIMServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" + ; OfflineIMServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" ;; Uncomment this if you want Groups V2 to work - ;GroupsServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" + ; GroupsServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" ;; Uncomment to provide bakes caching - ;BakedTextureService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XBakesConnector" + ; BakedTextureService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XBakesConnector" ;; Uncomment for UserProfiles see [UserProfilesService] to configure... ; UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector" @@ -214,7 +214,7 @@ ;; The following are common to both the default asset service and FSAsset service - ;; Default loader for loading default assets from XML on first run + ;; Common asset service options DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" AssetLoaderArgs = "./assets/AssetSets.xml" @@ -324,6 +324,7 @@ [AuthenticationService] ; for the server connector LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + ; Realm = "useraccounts" ;; Allow the service to process HTTP getauthinfo calls. ;; Default is false. @@ -344,8 +345,8 @@ UserAccountServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService" -; * This is the new style authentication service. Currently, only MySQL -; * is implemented. "Realm" is the table that is used for user lookup. +; * This is the new style user service. +; * "Realm" is the table that is used for user lookup. ; * It defaults to "useraccounts", which uses the new style. ; * Realm = "users" will use the legacy tables as an authentication source ; * @@ -456,15 +457,6 @@ ; HasProxy = false ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time" - ;; Viewers do not listen to timezone sent by the server. They use Pacific Standard Time instead, - ;; but rely on the server to calculate Daylight Saving Time. Sending another DST than US Pacific - ;; would result in time inconsistencies between grids (during summer and around DST transition period) - ;; default let OpenSim calculate US Pacific DST - ;; "none" disable DST (equivallent to "local" with system set to GMT) - ;; "local" force legacy behaviour (using local system time to calculate DST) - ; DSTZone = "America/Los_Angeles;Pacific Standard Time" - - ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time" ;; Viewers do not receive timezone information from the server - almost all (?) default to Pacific Standard Time ;; However, they do rely on the server to tell them whether it's Daylight Saving Time or not. ;; Hence, calculating DST based on a different timezone can result in a misleading viewer display and inconsistencies between grids. @@ -509,16 +501,6 @@ ; HasProxy = false -[Messaging] - ; OfflineIM - OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" - - -[Groups] - ;; Sets the maximum number of groups an agent may join - ; MaxAgentGroups = 42 - - [GridInfoService] ; These settings are used to return information on a get_grid_info call. ; Client launcher scripts and third-party clients make use of this to @@ -559,6 +541,16 @@ ;password = ${Const|BaseURL}/password +[Messaging] + ; OfflineIM + OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" + + +[Groups] + ;; Sets the maximum number of groups an agent may join + ; MaxAgentGroups = 42 + + [UserProfilesService] LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService" Enabled = false -- cgit v1.1 From 0ae2b5ac8134230fd5f1bcd668647afb5b345baf Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Thu, 22 Dec 2016 18:23:04 +0000 Subject: Allow the use of modular configs with Robust as we already can with OpenSim --- bin/Robust.HG.ini.example | 2 +- bin/Robust.ini.example | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index b4e426a..20c0804 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -58,7 +58,7 @@ ; Modular configurations ; Set path to directory for modular ini files... ; The Robust.exe process must have R/W access to the location - ConfigDirectory = "." + ConfigDirectory = "robust-include" ; Console commands can be saved to a file, so the command history persists after a restart. (default is true) ConsoleHistoryFileEnabled = true diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 7c9f6da..d33178c 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -50,7 +50,7 @@ ; Modular configurations ; Set path to directory for modular ini files... ; The Robust.exe process must have R/W access to the location - ConfigDirectory = "." + ConfigDirectory = "robust-include" ; Console commands can be saved to a file, so the command history persists after a restart. (default is true) ConsoleHistoryFileEnabled = true -- cgit v1.1 From 0887be3c12f548539dd5a66d11c74a2f118cac5f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 23 Dec 2016 03:42:50 +0000 Subject: replace the (hidden) GRID_GOD by a more usefull GOD so includes all types. This needs to be changed to current effective godlevel check (sp.GodLevel) when that is fixed. Automatic god powers need be (optionaly) removed --- bin/config-include/osslEnable.ini | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index a064f09..21e1451 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -37,6 +37,7 @@ ; To enable for individuals or groups, set it to a comma separated list. This checks ; against the owner of the object containing the script. ; The comma separated entries in the list may be one of: + ; "GOD" -- enable for users with GOD rights ; "ESTATE_MANAGER" -- enable for estate manager ; "ESTATE_OWNER" -- enable for estate owner ; "PARCEL_OWNER" -- enable for parcel owner -- cgit v1.1 From 8d0b592e5d3524cf57a1a12edd0eb6fd2ce25dff Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Fri, 23 Dec 2016 20:41:10 +0000 Subject: Add en explanation to osslEnable.ini for GRID_GOD --- bin/config-include/osslEnable.ini | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 21e1451..b96688b 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -37,7 +37,8 @@ ; To enable for individuals or groups, set it to a comma separated list. This checks ; against the owner of the object containing the script. ; The comma separated entries in the list may be one of: - ; "GOD" -- enable for users with GOD rights + ; "GRID_GOD" -- enable for users with UserLevel >= 200 + ; "GOD" -- enable for users with any type of god rights ; "ESTATE_MANAGER" -- enable for estate manager ; "ESTATE_OWNER" -- enable for estate owner ; "PARCEL_OWNER" -- enable for parcel owner -- cgit v1.1 From 293b65ac82890f338b6ed420ca7e56f876e79f40 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 25 Dec 2016 05:46:16 +0000 Subject: FloatSamCache: dont use slideexpire on current libovm expirecache. Change example settings to use memory cache with short expire time. ( 20% to 40% mem cache hit rates observed --- bin/config-include/FlotsamCache.ini.example | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'bin') diff --git a/bin/config-include/FlotsamCache.ini.example b/bin/config-include/FlotsamCache.ini.example index db8d4db..6666812 100644 --- a/bin/config-include/FlotsamCache.ini.example +++ b/bin/config-include/FlotsamCache.ini.example @@ -20,15 +20,20 @@ HitRateDisplay = 100 ; Set to false for no memory cache - MemoryCacheEnabled = false + ; assets can be requested several times in short periods + ; so even a small memory cache is usefull + MemoryCacheEnabled = true ; Set to false for no file cache FileCacheEnabled = true ; How long {in hours} to keep assets cached in memory, .5 == 30 minutes - ; Optimization: for VPS or limited memory system installs set Timeout to .016 (1 minute) - ; increases performance without large memory impact - MemoryCacheTimeout = 2 + ; even a few minutes may mean many assets loaded to memory, if not all. + ; this is good if memory is not a problem. + ; if memory is a problem then a few seconds may actually save same. + ; reducing duplications. + ; see hit rates with console comand: fcache status + MemoryCacheTimeout = .001 // 3.6s ie around 4s (1s resolution) ; How long {in hours} to keep assets cached on disk, .5 == 30 minutes ; Specify 0 if you do not want your disk cache to expire -- cgit v1.1 From 52e7fc31f74e7e4447aac757148ac4789def88dd Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 25 Dec 2016 16:48:27 +0000 Subject: fix typos (thanks you know who) --- bin/config-include/FlotsamCache.ini.example | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/config-include/FlotsamCache.ini.example b/bin/config-include/FlotsamCache.ini.example index 6666812..c0d7430 100644 --- a/bin/config-include/FlotsamCache.ini.example +++ b/bin/config-include/FlotsamCache.ini.example @@ -21,7 +21,7 @@ ; Set to false for no memory cache ; assets can be requested several times in short periods - ; so even a small memory cache is usefull + ; so even a small memory cache is useful MemoryCacheEnabled = true ; Set to false for no file cache @@ -31,9 +31,8 @@ ; even a few minutes may mean many assets loaded to memory, if not all. ; this is good if memory is not a problem. ; if memory is a problem then a few seconds may actually save same. - ; reducing duplications. ; see hit rates with console comand: fcache status - MemoryCacheTimeout = .001 // 3.6s ie around 4s (1s resolution) + MemoryCacheTimeout = .001 ; 3.6s ie around 4s (1s resolution) ; How long {in hours} to keep assets cached on disk, .5 == 30 minutes ; Specify 0 if you do not want your disk cache to expire -- cgit v1.1 From bf1f4d1384aa087af39b5099f3317f8609283232 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 25 Dec 2016 16:51:54 +0000 Subject: fix typos (thanks you know who) --- bin/config-include/FlotsamCache.ini.example | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/config-include/FlotsamCache.ini.example b/bin/config-include/FlotsamCache.ini.example index 6666812..c0d7430 100644 --- a/bin/config-include/FlotsamCache.ini.example +++ b/bin/config-include/FlotsamCache.ini.example @@ -21,7 +21,7 @@ ; Set to false for no memory cache ; assets can be requested several times in short periods - ; so even a small memory cache is usefull + ; so even a small memory cache is useful MemoryCacheEnabled = true ; Set to false for no file cache @@ -31,9 +31,8 @@ ; even a few minutes may mean many assets loaded to memory, if not all. ; this is good if memory is not a problem. ; if memory is a problem then a few seconds may actually save same. - ; reducing duplications. ; see hit rates with console comand: fcache status - MemoryCacheTimeout = .001 // 3.6s ie around 4s (1s resolution) + MemoryCacheTimeout = .001 ; 3.6s ie around 4s (1s resolution) ; How long {in hours} to keep assets cached on disk, .5 == 30 minutes ; Specify 0 if you do not want your disk cache to expire -- cgit v1.1 From 1ffcc5981803bd2adb8178daa0e34c353a2ca824 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 29 Dec 2016 03:10:10 +0000 Subject: gc is also a unwanted cache, so use it. With this, memcache with short expires is no longer needed --- bin/config-include/FlotsamCache.ini.example | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/config-include/FlotsamCache.ini.example b/bin/config-include/FlotsamCache.ini.example index c0d7430..917ea46 100644 --- a/bin/config-include/FlotsamCache.ini.example +++ b/bin/config-include/FlotsamCache.ini.example @@ -22,7 +22,7 @@ ; Set to false for no memory cache ; assets can be requested several times in short periods ; so even a small memory cache is useful - MemoryCacheEnabled = true + MemoryCacheEnabled = false ; Set to false for no file cache FileCacheEnabled = true @@ -32,7 +32,7 @@ ; this is good if memory is not a problem. ; if memory is a problem then a few seconds may actually save same. ; see hit rates with console comand: fcache status - MemoryCacheTimeout = .001 ; 3.6s ie around 4s (1s resolution) + MemoryCacheTimeout = .016 // one minute ; How long {in hours} to keep assets cached on disk, .5 == 30 minutes ; Specify 0 if you do not want your disk cache to expire -- cgit v1.1 From 07b48fd58c343d18b8ce64179e344439070511e8 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Thu, 29 Dec 2016 15:47:46 +0000 Subject: Add negative caching to flotsam cache. Prevents scripts from hammering the asset server --- bin/config-include/FlotsamCache.ini.example | 37 +++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'bin') diff --git a/bin/config-include/FlotsamCache.ini.example b/bin/config-include/FlotsamCache.ini.example index 917ea46..2b5d37e 100644 --- a/bin/config-include/FlotsamCache.ini.example +++ b/bin/config-include/FlotsamCache.ini.example @@ -24,6 +24,43 @@ ; so even a small memory cache is useful MemoryCacheEnabled = false + ; If a memory cache hit happens, or the asset is still in memory + ; due to other causes, update the timestamp on the disk file anyway. + ; Don't turn this on unless you share your asset cache between simulators + ; AND use an external process, e.g. cron job, to clean it up. + UpdateFileTimeOnCacheHit = false + + ; Enabling this will cache negative fetches. If an asset is negative-cached + ; it will not be re-requested from the asset server again for a while. + ; Generally, this is a good thing. + ; + ; Regular expiration settings (non-sliding) mean that the asset will be + ; retried after the time has expired. Sliding expiration means that + ; the time the negative cache will keep the asset is refreshed each + ; time a fetch is attempted. Use sliding expiration if you have rogue + ; scripts hammering the asset server with requests for nonexistent + ; assets. + ; + ; There are two cases where negative caching may cause issues: + ; + ; 1 - If an invalid asset is repeatedly requested by a script and that asset is + ; subsequently created, it will not be seen until fcache clear + ; is used. This is a very theoretical scenario since UUID collisions + ; are deemed to be not occuring in practice. + ; This can only become an issue with sliding expiration time. + ; + ; 2 - If the asset service is clustered, an asset may not have propagated + ; to all cluster members when it is first attempted to fetch it. + ; This may theoretically occur with networked vendor systems and + ; would lead to an asset not found message. However, after the + ; expiration time has elapsed, the asset will the be fetchable. + ; + ; The defaults below are suitable for all small to medium installations + ; including grids. + NegativeCacheEnabled = true + NegativeCacheTimeout = 120 + NegativeCacheSliding = false + ; Set to false for no file cache FileCacheEnabled = true -- cgit v1.1 From e0b5135010f2292f5c28232e874841b5ed92a559 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Thu, 29 Dec 2016 16:29:44 +0000 Subject: Add a MaxRetries option to the inventory connector. If clustered services are used, another try would go to another server and may succeed. --- bin/config-include/GridCommon.ini.example | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index 0922cf5..10a5b47 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -85,6 +85,7 @@ ; Change this to your grid-wide inventory server ; InventoryServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + ;MaxRetries = 0 [GridInfo] ; -- cgit v1.1 From 2836f16ae13fa645aeb6e712a3c4f73771788098 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 30 Dec 2016 02:14:16 +0000 Subject: fix typos --- bin/config-include/FlotsamCache.ini.example | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/config-include/FlotsamCache.ini.example b/bin/config-include/FlotsamCache.ini.example index 2b5d37e..4f16943 100644 --- a/bin/config-include/FlotsamCache.ini.example +++ b/bin/config-include/FlotsamCache.ini.example @@ -53,7 +53,7 @@ ; to all cluster members when it is first attempted to fetch it. ; This may theoretically occur with networked vendor systems and ; would lead to an asset not found message. However, after the - ; expiration time has elapsed, the asset will the be fetchable. + ; expiration time has elapsed, the asset will then be fetchable. ; ; The defaults below are suitable for all small to medium installations ; including grids. @@ -69,13 +69,13 @@ ; this is good if memory is not a problem. ; if memory is a problem then a few seconds may actually save same. ; see hit rates with console comand: fcache status - MemoryCacheTimeout = .016 // one minute + MemoryCacheTimeout = .016 ; one minute ; How long {in hours} to keep assets cached on disk, .5 == 30 minutes ; Specify 0 if you do not want your disk cache to expire FileCacheTimeout = 48 - ; How often {in hours} should the disk be checked for expired filed + ; How often {in hours} should the disk be checked for expired files ; Specify 0 to disable expiration checking FileCleanupTimer = 0.0 ; disabled -- cgit v1.1 From 5fc36059552231ac5f79592f7d1845643dd89524 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 30 Dec 2016 07:15:28 +0000 Subject: some cleanup, use more using(), more checks so http request mem stream is closed --- bin/HttpServer_OpenSim.dll | Bin 119808 -> 119808 bytes bin/HttpServer_OpenSim.pdb | Bin 327168 -> 327168 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 8b83634..33a1211 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index 309daee..2ab14a1 100644 Binary files a/bin/HttpServer_OpenSim.pdb and b/bin/HttpServer_OpenSim.pdb differ -- cgit v1.1 From 7abb0477ed740663934fa908b282eb51055bc132 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 31 Dec 2016 08:58:06 -0800 Subject: Replaced OpenMetaverse libs/xmls with new ones. Also added a file in openmetaverse_data that was added recently to libomv and was missing. --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 102400 bytes bin/OpenMetaverse.XML | 39018 +++++++++++++------------- bin/OpenMetaverse.dll | Bin 2195456 -> 2199552 bytes bin/OpenMetaverseTypes.XML | 303 +- bin/OpenMetaverseTypes.dll | Bin 110592 -> 110592 bytes bin/openmetaverse_data/avatar_skeleton.xml | 81 + 7 files changed, 19982 insertions(+), 19420 deletions(-) create mode 100644 bin/openmetaverse_data/avatar_skeleton.xml (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index cca8f3f..1a12a1e 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 41dd0cc..7aeb089 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.XML b/bin/OpenMetaverse.XML index 36e5b92..ce8ca86 100644 --- a/bin/OpenMetaverse.XML +++ b/bin/OpenMetaverse.XML @@ -218,6 +218,9 @@ Event message when an object uses llOwnerSay + + Event message when an object uses llRegionSayTo + Special value to support llRegionSay, never sent to the client @@ -880,6 +883,13 @@ Manager class for our own avatar + + + Called once attachment resource usage information has been collected + + Indicates if operation was successfull + Attachment resource usage information + The event subscribers. null if no subcribers @@ -891,6 +901,9 @@ Thread sync lock object + + Raised when a scripted object or agent within range sends a public message + The event subscribers. null if no subcribers @@ -902,6 +915,10 @@ Thread sync lock object + + Raised when a scripted object sends a dialog box containing possible + options an agent can respond to + The event subscribers. null if no subcribers @@ -913,6 +930,9 @@ Thread sync lock object + + Raised when an object requests a change in the permissions an agent has permitted + The event subscribers. null if no subcribers @@ -924,6 +944,9 @@ Thread sync lock object + + Raised when a script requests an agent open the specified URL + The event subscribers. null if no subcribers @@ -935,6 +958,9 @@ Thread sync lock object + + Raised when an agents currency balance is updated + The event subscribers. null if no subcribers @@ -946,6 +972,9 @@ Thread sync lock object + + Raised when a transaction occurs involving currency such as a land purchase + The event subscribers. null if no subcribers @@ -957,6 +986,10 @@ Thread sync lock object + + Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from + private messaging to friendship offers. The Dialog field defines what type of message has arrived + The event subscribers. null if no subcribers @@ -968,6 +1001,10 @@ Thread sync lock object + + Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times + for each teleport indicating the progress of the request + The event subscribers. null if no subcribers @@ -979,6 +1016,9 @@ Thread sync lock object + + Raised when a simulator sends agent specific information for our avatar. + The event subscribers. null if no subcribers @@ -990,6 +1030,9 @@ Thread sync lock object + + Raised when our agents animation playlist changes + The event subscribers. null if no subcribers @@ -1001,6 +1044,9 @@ Thread sync lock object + + Raised when an object or avatar forcefully collides with our agent + The event subscribers. null if no subcribers @@ -1012,6 +1058,9 @@ Thread sync lock object + + Raised when our agent crosses a region border into another region + The event subscribers. null if no subcribers @@ -1023,6 +1072,9 @@ Thread sync lock object + + Raised when our agent succeeds or fails to join a group chat session + The event subscribers. null if no subcribers @@ -1034,6 +1086,10 @@ Thread sync lock object + + Raised when a simulator sends an urgent message usually indication the recent failure of + another action we have attempted to take such as an attempt to enter a parcel where we are denied access + The event subscribers. null if no subcribers @@ -1045,6 +1101,9 @@ Thread sync lock object + + Raised when a script attempts to take or release specified controls for our agent + The event subscribers. null if no subcribers @@ -1056,6 +1115,10 @@ Thread sync lock object + + Raised when the simulator detects our agent is trying to view something + beyond its limits + The event subscribers. null if no subcribers @@ -1067,6 +1130,9 @@ Thread sync lock object + + Raised when a script sensor reply is received from a simulator + The event subscribers. null if no subcribers @@ -1078,6 +1144,9 @@ Thread sync lock object + + Raised in response to a request + The event subscribers. null if no subcribers @@ -1089,6 +1158,9 @@ Thread sync lock object + + Raised when an avatar enters a group chat session we are participating in + The event subscribers. null if no subcribers @@ -1100,6 +1172,9 @@ Thread sync lock object + + Raised when an agent exits a group chat session we are participating in + The event subscribers, null of no subscribers @@ -1111,6 +1186,10 @@ Thread sync lock object + + Raised when the simulator sends us data containing + the details of display name change + The event subscribers. null if no subcribers @@ -1122,6 +1201,9 @@ Thread sync lock object + + Raised when a scripted object or agent within range sends a public message + Reference to the GridClient instance @@ -1139,6 +1221,96 @@ Dictionary containing mute list keyead on mute name and key + + Your (client) avatars + "client", "agent", and "avatar" all represent the same thing + + + Temporary assigned to this session, used for + verifying our identity in packets + + + Shared secret that is never sent over the wire + + + Your (client) avatar ID, local to the current region/sim + + + Where the avatar started at login. Can be "last", "home" + or a login + + + The access level of this agent, usually M, PG or A + + + The CollisionPlane of Agent + + + An representing the velocity of our agent + + + An representing the acceleration of our agent + + + A which specifies the angular speed, and axis about which an Avatar is rotating. + + + Position avatar client will goto when login to 'home' or during + teleport request to 'home' region. + + + LookAt point saved/restored with HomePosition + + + Avatar First Name (i.e. Philip) + + + Avatar Last Name (i.e. Linden) + + + LookAt point received with the login response message + + + Avatar Full Name (i.e. Philip Linden) + + + Gets the health of the agent + + + Gets the current balance of the agent + + + Gets the local ID of the prim the agent is sitting on, + zero if the avatar is not currently sitting + + + Gets the of the agents active group. + + + Gets the Agents powers in the currently active group + + + Current status message for teleporting + + + Current position of the agent as a relative offset from + the simulator, or the parent object if we are sitting on something + + + Current rotation of the agent as a relative rotation from + the simulator, or the parent object if we are sitting on something + + + Current position of the agent in the simulator + + + + A representing the agents current rotation + + + + Returns the global grid position of the avatar + Various abilities and preferences sent by the grid @@ -1251,7 +1423,7 @@ Start a friends conference List of UUIDs to start a conference with - the temportary session ID returned in the callback> + the temportary session ID returned in the callback> @@ -2000,188 +2172,167 @@ The sender The EventArgs object containing the packet data - - Raised when a scripted object or agent within range sends a public message - - - Raised when a scripted object sends a dialog box containing possible - options an agent can respond to - - - Raised when an object requests a change in the permissions an agent has permitted - - - Raised when a script requests an agent open the specified URL - - - Raised when an agents currency balance is updated - - - Raised when a transaction occurs involving currency such as a land purchase - - - Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from - private messaging to friendship offers. The Dialog field defines what type of message has arrived + + + Agent movement and camera control + + Agent movement is controlled by setting specific + After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags + This is most easily accomplished by setting one or more of the AgentMovement properties + + Movement of an avatar is always based on a compass direction, for example AtPos will move the + agent from West to East or forward on the X Axis, AtNeg will of course move agent from + East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis + The Z axis is Up, finer grained control of movements can be done using the Nudge properties + - - Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times - for each teleport indicating the progress of the request + + + Camera controls for the agent, mostly a thin wrapper around + CoordinateFrame. This class is only responsible for state + tracking and math, it does not send any packets + - - Raised when a simulator sends agent specific information for our avatar. + + - - Raised when our agents animation playlist changes + + The camera is a local frame of reference inside of + the larger grid space. This is where the math happens - - Raised when an object or avatar forcefully collides with our agent + + - - Raised when our agent crosses a region border into another region + + - - Raised when our agent succeeds or fails to join a group chat session + + - - Raised when a simulator sends an urgent message usually indication the recent failure of - another action we have attempted to take such as an attempt to enter a parcel where we are denied access + + - - Raised when a script attempts to take or release specified controls for our agent + + + Default constructor + - - Raised when the simulator detects our agent is trying to view something - beyond its limits + + Move agent positive along the X axis - - Raised when a script sensor reply is received from a simulator + + Move agent negative along the X axis - - Raised in response to a request + + Move agent positive along the Y axis - - Raised when an avatar enters a group chat session we are participating in + + Move agent negative along the Y axis - - Raised when an agent exits a group chat session we are participating in + + Move agent positive along the Z axis - - Raised when the simulator sends us data containing - the details of display name change + + Move agent negative along the Z axis - - Raised when a scripted object or agent within range sends a public message + + - - Your (client) avatars - "client", "agent", and "avatar" all represent the same thing + + - - Temporary assigned to this session, used for - verifying our identity in packets + + - - Shared secret that is never sent over the wire + + - - Your (client) avatar ID, local to the current region/sim + + - - Where the avatar started at login. Can be "last", "home" - or a login + + - - The access level of this agent, usually M, PG or A + + - - The CollisionPlane of Agent + + Causes simulator to make agent fly - - An representing the velocity of our agent + + Stop movement - - An representing the acceleration of our agent + + Finish animation - - A which specifies the angular speed, and axis about which an Avatar is rotating. + + Stand up from a sit - - Position avatar client will goto when login to 'home' or during - teleport request to 'home' region. + + Tells simulator to sit agent on ground - - LookAt point saved/restored with HomePosition + + Place agent into mouselook mode - - Avatar First Name (i.e. Philip) + + Nudge agent positive along the X axis - - Avatar Last Name (i.e. Linden) + + Nudge agent negative along the X axis - - LookAt point received with the login response message + + Nudge agent positive along the Y axis - - Avatar Full Name (i.e. Philip Linden) + + Nudge agent negative along the Y axis - - Gets the health of the agent + + Nudge agent positive along the Z axis - - Gets the current balance of the agent + + Nudge agent negative along the Z axis - - Gets the local ID of the prim the agent is sitting on, - zero if the avatar is not currently sitting + + - - Gets the of the agents active group. + + - - Gets the Agents powers in the currently active group + + Tell simulator to mark agent as away - - Current status message for teleporting + + - - Current position of the agent as a relative offset from - the simulator, or the parent object if we are sitting on something + + - - Current rotation of the agent as a relative rotation from - the simulator, or the parent object if we are sitting on something + + - - Current position of the agent in the simulator + + - + - A representing the agents current rotation + Returns "always run" value, or changes it by sending a SetAlwaysRunPacket - - Returns the global grid position of the avatar + + The current value of the agent control flags - - - Called once attachment resource usage information has been collected - - Indicates if operation was successfull - Attachment resource usage information + + Gets or sets the interval in milliseconds at which + AgentUpdate packets are sent to the current simulator. Setting + this to a non-zero value will also enable the packet sending if + it was previously off, and setting it to zero will disable - - - Agent movement and camera control - - Agent movement is controlled by setting specific - After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags - This is most easily accomplished by setting one or more of the AgentMovement properties - - Movement of an avatar is always based on a compass direction, for example AtPos will move the - agent from West to East or forward on the X Axis, AtNeg will of course move agent from - East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis - The Z axis is Up, finer grained control of movements can be done using the Nudge properties - + + Gets or sets whether AgentUpdate packets are sent to + the current simulator + + + Reset movement controls every time we send an update Agent camera controls @@ -2297,154 +2448,6 @@ Angle in radians - - Move agent positive along the X axis - - - Move agent negative along the X axis - - - Move agent positive along the Y axis - - - Move agent negative along the Y axis - - - Move agent positive along the Z axis - - - Move agent negative along the Z axis - - - - - - - - - - - - - - - - - - - - - - - - Causes simulator to make agent fly - - - Stop movement - - - Finish animation - - - Stand up from a sit - - - Tells simulator to sit agent on ground - - - Place agent into mouselook mode - - - Nudge agent positive along the X axis - - - Nudge agent negative along the X axis - - - Nudge agent positive along the Y axis - - - Nudge agent negative along the Y axis - - - Nudge agent positive along the Z axis - - - Nudge agent negative along the Z axis - - - - - - - - - Tell simulator to mark agent as away - - - - - - - - - - - - - - - - Returns "always run" value, or changes it by sending a SetAlwaysRunPacket - - - - The current value of the agent control flags - - - Gets or sets the interval in milliseconds at which - AgentUpdate packets are sent to the current simulator. Setting - this to a non-zero value will also enable the packet sending if - it was previously off, and setting it to zero will disable - - - Gets or sets whether AgentUpdate packets are sent to - the current simulator - - - Reset movement controls every time we send an update - - - - Camera controls for the agent, mostly a thin wrapper around - CoordinateFrame. This class is only responsible for state - tracking and math, it does not send any packets - - - - - - - The camera is a local frame of reference inside of - the larger grid space. This is where the math happens - - - - Default constructor - - - - - - - - - - - - - - Used to specify movement actions for your agent @@ -2556,13 +2559,6 @@ of setting the maturity access level - - - Creates new instance of the EventArgs class - - Has setting new maturty access level succeeded - New maturity access level as returned by the simulator - New maturity accesss level returned from the sim @@ -2573,24 +2569,17 @@ True if setting the new maturity access level has succedded - + - + Creates new instance of the EventArgs class + Has setting new maturty access level succeeded + New maturity access level as returned by the simulator - + - Construct a new instance of the ChatEventArgs object + - Sim from which the message originates - The message sent - The audible level of the message - The type of message sent: whisper, shout, etc - The source type of the message sender - The name of the agent or object sending the message - The ID of the agent or object sending the message - The ID of the object owner, or the agent ID sending the message - The position of the agent or object sending the message Get the simulator sending the message @@ -2619,22 +2608,22 @@ Get the position of the agent or object sending the message - - Contains the data sent when a primitive opens a dialog with this agent - - + - Construct a new instance of the ScriptDialogEventArgs + Construct a new instance of the ChatEventArgs object - The dialog message - The name of the object that sent the dialog request - The ID of the image to be displayed - The ID of the primitive sending the dialog - The first name of the senders owner - The last name of the senders owner - The communication channel the dialog was sent on - The string labels containing the options presented in this dialog - UUID of the scritped object owner + Sim from which the message originates + The message sent + The audible level of the message + The type of message sent: whisper, shout, etc + The source type of the message sender + The name of the agent or object sending the message + The ID of the agent or object sending the message + The ID of the object owner, or the agent ID sending the message + The position of the agent or object sending the message + + + Contains the data sent when a primitive opens a dialog with this agent Get the dialog message @@ -2664,21 +2653,24 @@ UUID of the scritped object owner + + + Construct a new instance of the ScriptDialogEventArgs + + The dialog message + The name of the object that sent the dialog request + The ID of the image to be displayed + The ID of the primitive sending the dialog + The first name of the senders owner + The last name of the senders owner + The communication channel the dialog was sent on + The string labels containing the options presented in this dialog + UUID of the scritped object owner + Contains the data sent when a primitive requests debit or other permissions requesting a YES or NO answer - - - Construct a new instance of the ScriptQuestionEventArgs - - The simulator containing the object sending the request - The ID of the script making the request - The ID of the primitive containing the script making the request - The name of the primitive making the request - The name of the owner of the object making the request - The permissions being requested - Get the simulator containing the object sending the request @@ -2697,21 +2689,21 @@ Get the permissions being requested + + + Construct a new instance of the ScriptQuestionEventArgs + + The simulator containing the object sending the request + The ID of the script making the request + The ID of the primitive containing the script making the request + The name of the primitive making the request + The name of the owner of the object making the request + The permissions being requested + Contains the data sent when a primitive sends a request to an agent to open the specified URL - - - Construct a new instance of the LoadUrlEventArgs - - The name of the object sending the request - The ID of the object sending the request - The ID of the owner of the object sending the request - True if the object is owned by a group - The message sent with the request - The URL the object sent - Get the name of the object sending the request @@ -2730,9 +2722,26 @@ Get the URL the object sent + + + Construct a new instance of the LoadUrlEventArgs + + The name of the object sending the request + The ID of the object sending the request + The ID of the owner of the object sending the request + True if the object is owned by a group + The message sent with the request + The URL the object sent + The date received from an ImprovedInstantMessage + + Get the InstantMessage object + + + Get the simulator where the InstantMessage origniated + Construct a new instance of the InstantMessageEventArgs object @@ -2740,42 +2749,24 @@ the InstantMessage object the simulator where the InstantMessage origniated - - Get the InstantMessage object - - - Get the simulator where the InstantMessage origniated - Contains the currency balance - + - Construct a new BalanceEventArgs object + Get the currenct balance - The currenct balance - + - Get the currenct balance + Construct a new BalanceEventArgs object + The currenct balance Contains the transaction summary when an item is purchased, money is given, or land is purchased - - - Construct a new instance of the MoneyBalanceReplyEventArgs object - - The ID of the transaction - True of the transaction was successful - The current currency balance - The meters credited - The meters comitted - A brief description of the transaction - Transaction info - Get the ID of the transaction @@ -2797,19 +2788,20 @@ Detailed transaction information - - Data sent from the simulator containing information about your agent and active group information - - + - Construct a new instance of the AgentDataReplyEventArgs object + Construct a new instance of the MoneyBalanceReplyEventArgs object - The agents first name - The agents last name - The agents active group ID - The group title of the agents active group - The combined group powers the agent has in the active group - The name of the group the agent has currently active + The ID of the transaction + True of the transaction was successful + The current currency balance + The meters credited + The meters comitted + A brief description of the transaction + Transaction info + + + Data sent from the simulator containing information about your agent and active group information Get the agents first name @@ -2829,34 +2821,35 @@ Get the active group name of your agent + + + Construct a new instance of the AgentDataReplyEventArgs object + + The agents first name + The agents last name + The agents active group ID + The group title of the agents active group + The combined group powers the agent has in the active group + The name of the group the agent has currently active + Data sent by the simulator to indicate the active/changed animations applied to your agent + + Get the dictionary that contains the changed animations + Construct a new instance of the AnimationsChangedEventArgs class The dictionary that contains the changed animations - - Get the dictionary that contains the changed animations - Data sent from a simulator indicating a collision with your agent - - - Construct a new instance of the MeanCollisionEventArgs class - - The type of collision that occurred - The ID of the agent or object that perpetrated the agression - The ID of the Victim - The strength of the collision - The Time the collision occurred - Get the Type of collision @@ -2872,9 +2865,25 @@ Get the time the collision occurred + + + Construct a new instance of the MeanCollisionEventArgs class + + The type of collision that occurred + The ID of the agent or object that perpetrated the agression + The ID of the Victim + The strength of the collision + The Time the collision occurred + Data sent to your agent when it crosses region boundaries + + Get the simulator your agent just left + + + Get the simulator your agent is now in + Construct a new instance of the RegionCrossedEventArgs class @@ -2882,24 +2891,9 @@ The simulator your agent just left The simulator your agent is now in - - Get the simulator your agent just left - - - Get the simulator your agent is now in - Data sent from the simulator when your agent joins a group chat session - - - Construct a new instance of the GroupChatJoinedEventArgs class - - The ID of the session - The name of the session - A temporary session id used for establishing new sessions - True of your agent successfully joined the session - Get the ID of the group chat session @@ -2912,29 +2906,30 @@ True if your agent successfully joined the session + + + Construct a new instance of the GroupChatJoinedEventArgs class + + The ID of the session + The name of the session + A temporary session id used for establishing new sessions + True of your agent successfully joined the session + Data sent by the simulator containing urgent messages + + Get the alert message + Construct a new instance of the AlertMessageEventArgs class The alert message - - Get the alert message - Data sent by a script requesting to take or release specified controls to your agent - - - Construct a new instance of the ScriptControlEventArgs class - - The controls the script is attempting to take or release to the agent - True if the script is passing controls back to the agent - True if the script is requesting controls be released to the script - Get the controls the script is attempting to take or release to the agent @@ -2944,41 +2939,34 @@ True if the script is requesting controls be released to the script + + + Construct a new instance of the ScriptControlEventArgs class + + The controls the script is attempting to take or release to the agent + True if the script is passing controls back to the agent + True if the script is requesting controls be released to the script + Data sent from the simulator to an agent to indicate its view limits + + Get the collision plane + Construct a new instance of the CameraConstraintEventArgs class The collision plane - - Get the collision plane - Data containing script sensor requests which allow an agent to know the specific details of a primitive sending script sensor requests - - - Construct a new instance of the ScriptSensorReplyEventArgs - - The ID of the primitive sending the sensor - The ID of the group associated with the primitive - The name of the primitive sending the sensor - The ID of the primitive sending the sensor - The ID of the owner of the primitive sending the sensor - The position of the primitive sending the sensor - The range the primitive specified to scan - The rotation of the primitive sending the sensor - The type of sensor the primitive sent - The velocity of the primitive sending the sensor - Get the ID of the primitive sending the sensor @@ -3009,12 +2997,24 @@ Get the velocity of the primitive sending the sensor + + + Construct a new instance of the ScriptSensorReplyEventArgs + + The ID of the primitive sending the sensor + The ID of the group associated with the primitive + The name of the primitive sending the sensor + The ID of the primitive sending the sensor + The ID of the owner of the primitive sending the sensor + The position of the primitive sending the sensor + The range the primitive specified to scan + The rotation of the primitive sending the sensor + The type of sensor the primitive sent + The velocity of the primitive sending the sensor + Contains the response data returned from the simulator in response to a - - Construct a new instance of the AvatarSitResponseEventArgs object - Get the ID of the primitive the agent will be sitting on @@ -3036,9 +3036,18 @@ Get the rotation of the agent when seated + + Construct a new instance of the AvatarSitResponseEventArgs object + Data sent when an agent joins a chat session your agent is currently participating in + + Get the ID of the chat session + + + Get the ID of the agent that joined + Construct a new instance of the ChatSessionMemberAddedEventArgs object @@ -3046,15 +3055,15 @@ The ID of the chat session The ID of the agent joining - - Get the ID of the chat session - - - Get the ID of the agent that joined - Data sent when an agent exits a chat session your agent is currently participating in + + Get the ID of the chat session + + + Get the ID of the agent that left + Construct a new instance of the ChatSessionMemberLeftEventArgs object @@ -3062,18 +3071,9 @@ The ID of the chat session The ID of the Agent that left - - Get the ID of the chat session - - - Get the ID of the agent that left - Event arguments with the result of setting display name operation - - Default constructor - Status code, 200 indicates settign display name was successful @@ -3083,12 +3083,40 @@ Details of the newly set display name + + Default constructor + Throttles the network traffic for various different traffic types. Access this class through GridClient.Throttle + + Maximum bits per second for resending unacknowledged packets + + + Maximum bits per second for LayerData terrain + + + Maximum bits per second for LayerData wind data + + + Maximum bits per second for LayerData clouds + + + Unknown, includes object data + + + Maximum bits per second for textures + + + Maximum bits per second for downloaded assets + + + Maximum bits per second the entire connection, divided up + between invidiual streams using default multipliers + Default constructor, uses a default high total of 1500 KBps (1536000) @@ -3125,35 +3153,10 @@ Byte array containing all the throttle values - - Maximum bits per second for resending unacknowledged packets - - - Maximum bits per second for LayerData terrain - - - Maximum bits per second for LayerData wind data - - - Maximum bits per second for LayerData clouds - - - Unknown, includes object data - - - Maximum bits per second for textures - - - Maximum bits per second for downloaded assets - - - Maximum bits per second the entire connection, divided up - between invidiual streams using default multipliers - - - - Static pre-defined animations available to all agents - + + + Static pre-defined animations available to all agents + Agent with afraid expression on face @@ -3583,6 +3586,12 @@ Appearance Flags, introdued with server side baking, currently unused + + Mask for multiple attachments + + + Mapping between BakeType and AvatarTextureIndex + Maximum number of concurrent downloads for wearable assets and textures @@ -3617,12 +3626,6 @@ Total number of wearables per bake layer - - Mask for multiple attachments - - - Mapping between BakeType and AvatarTextureIndex - Map of what wearables are included in each bake @@ -3634,6 +3637,54 @@ Default avatar texture, used to detect when a custom texture is not set for a face + + + Contains information about a wearable inventory item + + + + Inventory ItemID of the wearable + + + AssetID of the wearable asset + + + WearableType of the wearable + + + AssetType of the wearable + + + Asset data for the wearable + + + + Data collected from visual params for each wearable + needed for the calculation of the color + + + + + Holds a texture assetID and the data needed to bake this layer into + an outfit texture. Used to keep track of currently worn textures + and baking data + + + + A texture AssetID + + + Asset data for the texture + + + Collection of alpha masks that needs applying + + + Tint that should be applied to the texture + + + Where on avatar does this texture belong + The event subscribers. null if no subcribers @@ -3645,6 +3696,11 @@ Thread sync lock object + + Triggered when an AgentWearablesUpdate packet is received, + telling us what our avatar is currently wearing + request. + The event subscribers. null if no subcribers @@ -3656,6 +3712,12 @@ Thread sync lock object + + Raised when an AgentCachedTextureResponse packet is + received, giving a list of cached bakes that were found on the + simulator + request. + The event subscribers. null if no subcribers @@ -3666,6 +3728,13 @@ Thread sync lock object + + + Raised when appearance data is sent to the simulator, also indicates + the main appearance thread is finished. + + request. + The event subscribers. null if no subcribers @@ -3677,6 +3746,17 @@ Thread sync lock object + + + Triggered when the simulator requests the agent rebake its appearance. + + + + + + Returns true if AppearanceManager is busy and trying to set or change appearance will fail + + Visual parameters last sent to the sim @@ -4085,83 +4165,6 @@ A BakeType A list of texture slots that are inputs for the given bake - - Triggered when an AgentWearablesUpdate packet is received, - telling us what our avatar is currently wearing - request. - - - Raised when an AgentCachedTextureResponse packet is - received, giving a list of cached bakes that were found on the - simulator - request. - - - - Raised when appearance data is sent to the simulator, also indicates - the main appearance thread is finished. - - request. - - - - Triggered when the simulator requests the agent rebake its appearance. - - - - - - Returns true if AppearanceManager is busy and trying to set or change appearance will fail - - - - - Contains information about a wearable inventory item - - - - Inventory ItemID of the wearable - - - AssetID of the wearable asset - - - WearableType of the wearable - - - AssetType of the wearable - - - Asset data for the wearable - - - - Data collected from visual params for each wearable - needed for the calculation of the color - - - - - Holds a texture assetID and the data needed to bake this layer into - an outfit texture. Used to keep track of currently worn textures - and baking data - - - - A texture AssetID - - - Asset data for the texture - - - Collection of alpha masks that needs applying - - - Tint that should be applied to the texture - - - Where on avatar does this texture belong - Contains the Event data returned from the data server from an AgentWearablesRequest @@ -4177,18 +4180,21 @@ Contains the Event data returned from an AppearanceSetRequest + + Indicates whether appearance setting was successful + Triggered when appearance data is sent to the sim and the main appearance thread is done. Indicates whether appearance setting was successful - - Indicates whether appearance setting was successful - Contains the Event data returned from the data server from an RebakeAvatarTextures + + The ID of the Texture Layer to bake + Triggered when the simulator sends a request for this agent to rebake @@ -4196,14 +4202,22 @@ The ID of the Texture Layer to bake - - The ID of the Texture Layer to bake - Class that handles the local asset cache + + + Allows setting weather to periodicale prune the cache if it grows too big + Default is enabled, when caching is enabled + + + + + How long (in ms) between cache checks (default is 5 min.) + + Default constructor @@ -4308,17 +4322,6 @@ Byte size we want to output String with humanly readable file size - - - Allows setting weather to periodicale prune the cache if it grows too big - Default is enabled, when caching is enabled - - - - - How long (in ms) between cache checks (default is 5 min.) - - Helper class for sorting files by their last accessed time @@ -4468,6 +4471,26 @@ Number of milliseconds to wait for a transfer header packet if out of order data was received + + + Callback used for various asset download requests + + Transfer information + Downloaded asset, null on fail + + + + Callback used upon competition of baked texture upload + + Asset UUID of the newly uploaded baked texture + + + + A callback that fires upon the completition of the RequestMesh call + + Was the download successfull + Resulting mesh or null on problems + The event subscribers. null if no subcribers @@ -4479,6 +4502,9 @@ Thread sync lock object + + Raised when the simulator responds sends + The event subscribers. null if no subcribers @@ -4490,6 +4516,9 @@ Thread sync lock object + + Raised during upload completes + The event subscribers. null if no subcribers @@ -4501,6 +4530,9 @@ Thread sync lock object + + Raised during upload with progres update + The event subscribers. null if no subcribers @@ -4512,6 +4544,9 @@ Thread sync lock object + + Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files + The event subscribers. null if no subcribers @@ -4523,6 +4558,9 @@ Thread sync lock object + + Fired when a texture is in the process of being downloaded by the TexturePipeline class + Texture download cache @@ -4831,41 +4869,6 @@ The sender The EventArgs object containing the packet data - - Raised when the simulator responds sends - - - Raised during upload completes - - - Raised during upload with progres update - - - Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files - - - Fired when a texture is in the process of being downloaded by the TexturePipeline class - - - - Callback used for various asset download requests - - Transfer information - Downloaded asset, null on fail - - - - Callback used upon competition of baked texture upload - - Asset UUID of the newly uploaded baked texture - - - - A callback that fires upon the completition of the RequestMesh call - - Was the download successfull - Resulting mesh or null on problems - Xfer data @@ -4897,30738 +4900,31127 @@ Represents an avatar (other than your own) - - - Particle system specific enumerators, flags and methods. - - - - - Current version of the media data for the prim - - - + - Array of media entries indexed by face number + Positive and negative ratings - - - - - - - - - - - - - - - - - + + Positive ratings for Behavior - - + + Negative ratings for Behavior - - Foliage type for this primitive. Only applicable if this - primitive is foliage + + Positive ratings for Appearance - - Unknown + + Negative ratings for Appearance - - + + Positive ratings for Building - - + + Negative ratings for Building - - + + Positive ratings given by this avatar - - + + Negative ratings given by this avatar - - + + + Avatar properties including about text, profile URL, image IDs and + publishing settings + - - + + First Life about text - - + + First Life image ID - + - + - + - + - - + + Profile image ID - - + + Flags of the profile - - Identifies the owner if audio or a particle system is - active + + Web URL for this profile - - + + Should this profile be published on the web - - + + Avatar Online Status - - + + Is this a mature profile - + - + - - + + + Avatar interests including spoken languages, skills, and "want to" + choices + - - + + Languages profile field - + - + - + - + - - + + Groups that this avatar is a member of - - Objects physics engine propertis + + Positive and negative ratings - - Extra data about primitive + + Avatar properties including about text, profile URL, image IDs and + publishing settings - - Indicates if prim is attached to an avatar + + Avatar interests including spoken languages, skills, and "want to" + choices - - Number of clients referencing this prim + + Movement control flags for avatars. Typically not set or used by + clients. To move your avatar, use Client.Self.Movement instead - + - Default constructor + Contains the visual parameters describing the deformation of the avatar - + - Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters in to signed eight bit values + Appearance version. Value greater than 0 indicates using server side baking - Floating point parameter to pack - Signed eight bit value containing the packed parameter - + - Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters from signed eight bit integers to floating point values + Version of the Current Outfit Folder that the appearance is based on - Signed eight bit value to unpack - Unpacked floating point value - - - - - - - - - Uses basic heuristics to estimate the primitive shape - + - Complete structure for the particle system + Appearance flags. Introduced with server side baking, currently unused. - - Particle Flags - There appears to be more data packed in to this area - for many particle systems. It doesn't appear to be flag values - and serialization breaks unless there is a flag for every - possible bit so it is left as an unsigned integer - - - pattern of particles + + + List of current avatar animations + - - A representing the maximimum age (in seconds) particle will be displayed - Maximum value is 30 seconds + + First name - - A representing the number of seconds, - from when the particle source comes into view, - or the particle system's creation, that the object will emits particles; - after this time period no more particles are emitted + + Last name - - A in radians that specifies where particles will not be created + + Full name - - A in radians that specifies where particles will be created + + Active group - - A representing the number of seconds between burts. + + + Default constructor + - - A representing the number of meters - around the center of the source where particles will be created. + + Information about agents display name - - A representing in seconds, the minimum speed between bursts of new particles - being emitted + + Agent UUID - - A representing in seconds the maximum speed of new particles being emitted. + + Username - - A representing the maximum number of particles emitted per burst + + Display name - - A which represents the velocity (speed) from the source which particles are emitted + + First name (legacy) - - A which represents the Acceleration from the source which particles are emitted + + Last name (legacy) - - The Key of the texture displayed on the particle + + Full name (legacy) - - The Key of the specified target object or avatar particles will follow + + Is display name default display name - - Flags of particle from + + Cache display name until - - Max Age particle system will emit particles for + + Last updated timestamp - - The the particle has at the beginning of its lifecycle + + + Creates AgentDisplayName object from OSD + + Incoming OSD data + AgentDisplayName object - - The the particle has at the ending of its lifecycle + + + Return object as OSD map + + OSD containing agent's display name data - - A that represents the starting X size of the particle - Minimum value is 0, maximum value is 4 + + + Holds group information for Avatars such as those you might find in a profile + - - A that represents the starting Y size of the particle - Minimum value is 0, maximum value is 4 + + true of Avatar accepts group notices - - A that represents the ending X size of the particle - Minimum value is 0, maximum value is 4 + + Groups Key - - A that represents the ending Y size of the particle - Minimum value is 0, maximum value is 4 + + Texture Key for groups insignia - - A that represents the start glow value - Minimum value is 0, maximum value is 1 + + Name of the group - - A that represents the end glow value - Minimum value is 0, maximum value is 1 + + Powers avatar has in the group - - OpenGL blend function to use at particle source + + Avatars Currently selected title - - OpenGL blend function to use at particle destination + + true of Avatar has chosen to list this in their profile - + - Can this particle system be packed in a legacy compatible way + Contains an animation currently being played by an agent - True if the particle system doesn't use new particle system features - - - Decodes a byte[] array into a ParticleSystem Object - - ParticleSystem object - Start position for BitPacker + + The ID of the animation asset - + + A number to indicate start order of currently playing animations + On Linden Grids this number is unique per region, with OpenSim it is per client + + + + + - Generate byte[] array from particle data + Holds group information on an individual profile pick - Byte array - + - Particle source pattern + Retrieve friend status notifications, and retrieve avatar names and + profiles - - None + + The event subscribers, null of no subscribers - - Drop particles from source position with no force + + Raises the AvatarAnimation Event + An AvatarAnimationEventArgs object containing + the data sent from the simulator - - "Explode" particles in all directions + + Thread sync lock object - - Particles shoot across a 2D area + + Raised when the simulator sends us data containing + an agents animation playlist - - Particles shoot across a 3D Cone + + The event subscribers, null of no subscribers - - Inverse of AngleCone (shoot particles everywhere except the 3D cone defined + + Raises the AvatarAppearance Event + A AvatarAppearanceEventArgs object containing + the data sent from the simulator - - - Particle Data Flags - + + Thread sync lock object - - None + + Raised when the simulator sends us data containing + the appearance information for an agent - - Interpolate color and alpha from start to end + + The event subscribers, null of no subscribers - - Interpolate scale from start to end + + Raises the UUIDNameReply Event + A UUIDNameReplyEventArgs object containing + the data sent from the simulator - - Bounce particles off particle sources Z height + + Thread sync lock object - - velocity of particles is dampened toward the simulators wind + + Raised when the simulator sends us data containing + agent names/id values - - Particles follow the source + + The event subscribers, null of no subscribers - - Particles point towards the direction of source's velocity + + Raises the AvatarInterestsReply Event + A AvatarInterestsReplyEventArgs object containing + the data sent from the simulator - - Target of the particles + + Thread sync lock object - - Particles are sent in a straight line + + Raised when the simulator sends us data containing + the interests listed in an agents profile - - Particles emit a glow + + The event subscribers, null of no subscribers - - used for point/grab/touch + + Raises the AvatarPropertiesReply Event + A AvatarPropertiesReplyEventArgs object containing + the data sent from the simulator - - continuous ribbon particle + + Thread sync lock object - - particle data contains glow + + Raised when the simulator sends us data containing + profile property information for an agent - - particle data contains blend functions + + The event subscribers, null of no subscribers - - - Particle Flags Enum - + + Raises the AvatarGroupsReply Event + A AvatarGroupsReplyEventArgs object containing + the data sent from the simulator - - None + + Thread sync lock object - - Acceleration and velocity for particles are - relative to the object rotation + + Raised when the simulator sends us data containing + the group membership an agent is a member of - - Particles use new 'correct' angle parameters + + The event subscribers, null of no subscribers - - - Parameters used to construct a visual representation of a primitive - + + Raises the AvatarPickerReply Event + A AvatarPickerReplyEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Raised when the simulator sends us data containing + name/id pair - - + + The event subscribers, null of no subscribers - - + + Raises the ViewerEffectPointAt Event + A ViewerEffectPointAtEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Raised when the simulator sends us data containing + the objects and effect when an agent is pointing at - - + + The event subscribers, null of no subscribers - - + + Raises the ViewerEffectLookAt Event + A ViewerEffectLookAtEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Raised when the simulator sends us data containing + the objects and effect when an agent is looking at - - + + The event subscribers, null of no subscribers - - + + Raises the ViewerEffect Event + A ViewerEffectEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Raised when the simulator sends us data containing + an agents viewer effect information - - + + The event subscribers, null of no subscribers - - + + Raises the AvatarPicksReply Event + A AvatarPicksReplyEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Raised when the simulator sends us data containing + the top picks from an agents profile - - + + The event subscribers, null of no subscribers - - + + Raises the PickInfoReply Event + A PickInfoReplyEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - - Calculdates hash code for prim construction data - - The has + + Raised when the simulator sends us data containing + the Pick details - - Attachment point to an avatar + + The event subscribers, null of no subscribers - - + + Raises the AvatarClassifiedReply Event + A AvatarClassifiedReplyEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Raised when the simulator sends us data containing + the classified ads an agent has placed - - + + The event subscribers, null of no subscribers - - - Information on the flexible properties of a primitive - + + Raises the ClassifiedInfoReply Event + A ClassifiedInfoReplyEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Raised when the simulator sends us data containing + the details of a classified ad - - + + The event subscribers, null of no subscribers - - + + Raises the DisplayNameUpdate Event + A DisplayNameUpdateEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Raised when the simulator sends us data containing + the details of display name change - + - Default constructor + Callback giving results when fetching display names + If the request was successful + Array of display names + Array of UUIDs that could not be fetched - + - + Represents other avatars - - + - - - - - + + Tracks the specified avatar on your map + Avatar ID to track - + - + Request a single avatar name - + The avatar key to retrieve a name for - + - Information on the light properties of a primitive + Request a list of avatar names + The avatar keys to retrieve names for - - - - - - - - - - - - - - - - + - Default constructor + Check if Display Names functionality is available + True if Display name functionality is available - + - + Request retrieval of display names (max 90 names per request) - - + List of UUIDs to lookup + Callback to report result of the operation - + - + Start a request for Avatar Properties - + - + - + Search for an avatar (first name, last name) - + The name to search for + An ID to associate with this query - + - Information on the light properties of a primitive as texture map + Start a request for Avatar Picks + UUID of the avatar - - - - - - - + - Default constructor + Start a request for Avatar Classifieds + UUID of the avatar - + - + Start a request for details of a specific profile pick - - + UUID of the avatar + UUID of the profile pick - + - + Start a request for details of a specific profile classified - + UUID of the avatar + UUID of the profile classified - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Information on the sculpt properties of a sculpted primitive - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Default constructor - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Render inside out (inverts the normals). - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Render an X axis mirror of the sculpty. + EQ Message fired when someone nearby changes their display name + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - + - Extended properties to describe an object + Crossed region handler for message that comes across the EventQueue. Sent to an agent + when the agent crosses a sim border into a new region. + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - - - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Provides data for the event + The event occurs when the simulator sends + the animation playlist for an agent + + The following code example uses the and + properties to display the animation playlist of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; + + private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) + { + // create a dictionary of "known" animations from the Animations class using System.Reflection + Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); + Type type = typeof(Animations); + System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); + foreach (System.Reflection.FieldInfo field in fields) + { + systemAnimations.Add((UUID)field.GetValue(type), field.Name); + } + + // find out which animations being played are known animations and which are assets + foreach (Animation animation in e.Animations) + { + if (systemAnimations.ContainsKey(animation.AnimationID)) + { + Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, + systemAnimations[animation.AnimationID], animation.AnimationSequence); + } + else + { + Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, + animation.AnimationID, animation.AnimationSequence); + } + } + } + + - - + + Get the ID of the agent - - + + Get the list of animations to start - - + + + Construct a new instance of the AvatarAnimationEventArgs class + + The ID of the agent + The list of animations to start - - + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + + - - + + Get the Simulator this request is from of the agent - - + + Get the ID of the agent - - + + true if the agent is a trial account - - + + Get the default agent texture - - + + Get the agents appearance layer textures - - + + Get the for the agent - - + + Version of the appearance system used. + Value greater than 0 indicates that server side baking is used - - + + Version of the Current Outfit Folder the appearance is based on - - + + Appearance flags, introduced with server side baking, currently unused - + - Default constructor + Construct a new instance of the AvatarAppearanceEventArgs class + The simulator request was from + The ID of the agent + true of the agent is a trial account + The default agent texture + The agents appearance layer textures + The for the agent - - - Set the properties that are set in an ObjectPropertiesFamily packet - - that has - been partially filled by an ObjectPropertiesFamily packet - - - - Describes physics attributes of the prim - - - - Primitive's local ID + + Represents the interests from the profile of an agent - - Density (1000 for normal density) + + Get the ID of the agent - - Friction + + The properties of an agent - - Gravity multiplier (1 for normal gravity) + + Get the ID of the agent - - Type of physics representation of this primitive in the simulator + + Get the ID of the agent - - Restitution + + Get the ID of the agent - - - Creates PhysicsProperties from OSD - - OSDMap with incoming data - Deserialized PhysicsProperties object + + Get the ID of the avatar - + - Serializes PhysicsProperties to OSD + Event args class for display name notification messages - OSDMap with serialized PhysicsProperties data - + - Texture animation mode + Wrapper around a byte array that allows bit to be packed and unpacked + one at a time or by a variable amount. Useful for very tightly packed + data like LayerData packets - - Disable texture animation - - - Enable texture animation - - - Loop when animating textures + + - - Animate in reverse direction + + - - Animate forward then reverse + + - - Slide texture smoothly instead of frame-stepping + + + Default constructor, initialize the bit packer / bit unpacker + with a byte array and starting position + + Byte array to pack bits in to or unpack from + Starting position in the byte array - - Rotate texture instead of using frames + + + Pack a floating point value in to the data + + Floating point value to pack - - Scale texture instead of using frames + + + Pack part or all of an integer in to the data + + Integer containing the data to pack + Number of bits of the integer to pack - + - A single textured face. Don't instantiate this class yourself, use the - methods in TextureEntry + Pack part or all of an unsigned integer in to the data + Unsigned integer containing the data to pack + Number of bits of the integer to pack - + - Contains the definition for individual faces + Pack a single bit in to the data - + Bit to pack - + - - - - - - - - - - - - - - - - - - - - - - + + + + - - + + + + + - - + + + + + - - + + + Unpacking a floating point value from the data + + Unpacked floating point value - - In the future this will specify whether a webpage is - attached to this face + + + Unpack a variable number of bits from the data in to integer format + + Number of bits to unpack + An integer containing the unpacked bits + This function is only useful up to 32 bits - - + + + Unpack a variable number of bits from the data in to unsigned + integer format + + Number of bits to unpack + An unsigned integer containing the unpacked bits + This function is only useful up to 32 bits - - + + + Unpack a 16-bit signed integer + + 16-bit signed integer - + - Represents all of the texturable faces for an object + Unpack a 16-bit unsigned integer - Grid objects have infinite faces, with each face - using the properties of the default face unless set otherwise. So if - you have a TextureEntry with a default texture uuid of X, and face 18 - has a texture UUID of Y, every face would be textured with X except for - face 18 that uses Y. In practice however, primitives utilize a maximum - of nine faces + 16-bit unsigned integer - - + + + Unpack a 32-bit signed integer + + 32-bit signed integer - - + + + Unpack a 32-bit unsigned integer + + 32-bit unsigned integer - + - Constructor that takes a default texture UUID + Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. - Texture UUID to use as the default texture - + - Constructor that takes a TextureEntryFace for the - default face + Rotation Keyframe count (used internally) - Face to use as the default face - + - Constructor that creates the TextureEntry class from a byte array + Position Keyframe count (used internally) - Byte array containing the TextureEntry field - Starting position of the TextureEntry field in - the byte array - Length of the TextureEntry field, in bytes - + - This will either create a new face if a custom face for the given - index is not defined, or return the custom face for that index if - it already exists + Animation Priority - The index number of the face to create or - retrieve - A TextureEntryFace containing all the properties for that - face - + - + The animation length in seconds. - - - + - + Expression set in the client. Null if [None] is selected - - + - + The time in seconds to start the animation - - + - + The time in seconds to end the animation - - + - Controls the texture animation of a particular prim + Loop the animation - - + + + Meta data. Ease in Seconds. + - - + + + Meta data. Ease out seconds. + - - + + + Meta Data for the Hand Pose + - - + + + Number of joints defined in the animation + - - + + + Contains an array of joints + - - + + + Searialize an animation asset into it's joints/keyframes/meta data + + - - + + + Variable length strings seem to be null terminated in the animation asset.. but.. + use with caution, home grown. + advances the index. + + The animation asset byte array + The offset to start reading + a string - + - + Read in a Joint from an animation asset byte array + Variable length Joint fields, yay! + Advances the index - - + animation asset byte array + Byte Offset of the start of the joint + The Joint data serialized into the binBVHJoint structure - + - + Read Keyframes of a certain type + advance i + Animation Byte array + Offset in the Byte Array. Will be advanced + Number of Keyframes + Scaling Min to pass to the Uint16ToFloat method + Scaling Max to pass to the Uint16ToFloat method - - Groups that this avatar is a member of + + + Determines whether the specified is equal to the current . + + + true if the specified is equal to the current ; otherwise, false. + + The to compare with the current . + The parameter is null. + 2 - - Positive and negative ratings + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + 2 - - Avatar properties including about text, profile URL, image IDs and - publishing settings + + + A Joint and it's associated meta data and keyframes + - - Avatar interests including spoken languages, skills, and "want to" - choices + + + Indicates whether this instance and a specified object are equal. + + + true if and this instance are the same type and represent the same value; otherwise, false. + + Another object to compare to. + 2 - - Movement control flags for avatars. Typically not set or used by - clients. To move your avatar, use Client.Self.Movement instead + + + Returns the hash code for this instance. + + + A 32-bit signed integer that is the hash code for this instance. + + 2 - + - Contains the visual parameters describing the deformation of the avatar + Name of the Joint. Matches the avatar_skeleton.xml in client distros - + - Appearance version. Value greater than 0 indicates using server side baking + Joint Animation Override? Was the same as the Priority in testing.. - + - Version of the Current Outfit Folder that the appearance is based on + Array of Rotation Keyframes in order from earliest to latest - + - Appearance flags. Introduced with server side baking, currently unused. + Array of Position Keyframes in order from earliest to latest + This seems to only be for the Pelvis? - + - List of current avatar animations + Custom application data that can be attached to a joint - + - Default constructor + A Joint Keyframe. This is either a position or a rotation. - - First name - - - Last name + + + Either a Vector3 position or a Vector3 Euler rotation + - - Full name + + + Poses set in the animation metadata for the hands. + - - Active group + + + Capabilities is the name of the bi-directional HTTP REST protocol + used to communicate non real-time transactions such as teleporting or + group messaging + - + - Positive and negative ratings + Triggered when an event is received via the EventQueueGet + capability + Event name + Decoded event data + The simulator that generated the event - - Positive ratings for Behavior + + Reference to the simulator this system is connected to - - Negative ratings for Behavior + + Capabilities URI this system was initialized with - - Positive ratings for Appearance + + Whether the capabilities event queue is connected and + listening for incoming events - - Negative ratings for Appearance + + + Default constructor + + + - - Positive ratings for Building + + + Request the URI of a named capability + + Name of the capability to request + The URI of the requested capability, or String.Empty if + the capability does not exist - - Negative ratings for Building + + + Process any incoming events, check to see if we have a message created for the event, + + + - - Positive ratings given by this avatar + + + Attempts to convert an LLSD structure to a known Packet type + + Event name, this must match an actual + packet name for a Packet to be successfully built + LLSD to convert to a Packet + A Packet on success, otherwise null - - Negative ratings given by this avatar + + + A custom decoder callback + + The key of the object + the data to decode + A string represending the fieldData - + - Avatar properties including about text, profile URL, image IDs and - publishing settings + Add a custom decoder callback + The key of the field to decode + The custom decode handler - - First Life about text + + + Remove a custom decoder callback + + The key of the field to decode + The custom decode handler - - First Life image ID - - - + + + Creates a formatted string containing the values of a Packet + + The Packet + A formatted string of values of the nested items in the Packet object - - + + + Decode an IMessage object into a beautifully formatted string + + The IMessage object + Recursion level (used for indenting) + A formatted string containing the names and values of the source object - - + + + Thrown when a packet could not be successfully deserialized + - - + + + Default constructor + - - Profile image ID + + + Constructor that takes an additional error message + + An error message to attach to this exception - - Flags of the profile + + + The header of a message template packet. Holds packet flags, sequence + number, packet ID, and any ACKs that will be appended at the end of + the packet + - - Web URL for this profile + + + Convert the AckList to a byte array, used for packet serializing + + Reference to the target byte array + Beginning position to start writing to in the byte + array, will be updated with the ending position of the ACK list - - Should this profile be published on the web + + + + + + + + - - Avatar Online Status + + + + + + + - - Is this a mature profile + + + A block of data in a packet. Packets are composed of one or more blocks, + each block containing one or more fields + - - + + Current length of the data in this packet - - + + + Create a block from a byte array + + Byte array containing the serialized block + Starting position of the block in the byte array. + This will point to the data after the end of the block when the + call returns - + - Avatar interests including spoken languages, skills, and "want to" - choices + Serialize this block into a byte array + Byte array to serialize this block into + Starting position in the byte array to serialize to. + This will point to the position directly after the end of the + serialized block when the call returns - - Languages profile field + + A generic value, not an actual packet type - - + + - - + + - - + + - - + + - - Information about agents display name + + - - Agent UUID + + - - Username + + - - Display name + + - - First name (legacy) + + - - Last name (legacy) + + - - Is display name default display name + + - - Cache display name until + + - - Last updated timestamp + + - - - Creates AgentDisplayName object from OSD - - Incoming OSD data - AgentDisplayName object + + - - - Return object as OSD map - - OSD containing agent's display name data + + - - Full name (legacy) + + - - - Holds group information for Avatars such as those you might find in a profile - + + - - true of Avatar accepts group notices + + - - Groups Key + + - - Texture Key for groups insignia + + - - Name of the group + + - - Powers avatar has in the group + + - - Avatars Currently selected title + + - - true of Avatar has chosen to list this in their profile + + - - - Contains an animation currently being played by an agent - + + - - The ID of the animation asset + + - - A number to indicate start order of currently playing animations - On Linden Grids this number is unique per region, with OpenSim it is per client + + - - + + - - - Holds group information on an individual profile pick - + + - - - Retrieve friend status notifications, and retrieve avatar names and - profiles - + + - - The event subscribers, null of no subscribers + + - - Raises the AvatarAnimation Event - An AvatarAnimationEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the AvatarAppearance Event - A AvatarAppearanceEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the UUIDNameReply Event - A UUIDNameReplyEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the AvatarInterestsReply Event - A AvatarInterestsReplyEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the AvatarPropertiesReply Event - A AvatarPropertiesReplyEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the AvatarGroupsReply Event - A AvatarGroupsReplyEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the AvatarPickerReply Event - A AvatarPickerReplyEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the ViewerEffectPointAt Event - A ViewerEffectPointAtEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the ViewerEffectLookAt Event - A ViewerEffectLookAtEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the ViewerEffect Event - A ViewerEffectEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the AvatarPicksReply Event - A AvatarPicksReplyEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the PickInfoReply Event - A PickInfoReplyEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the AvatarClassifiedReply Event - A AvatarClassifiedReplyEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the ClassifiedInfoReply Event - A ClassifiedInfoReplyEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the DisplayNameUpdate Event - A DisplayNameUpdateEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - - Represents other avatars - - + + - - Tracks the specified avatar on your map - Avatar ID to track + + - - - Request a single avatar name - - The avatar key to retrieve a name for + + - - - Request a list of avatar names - - The avatar keys to retrieve names for + + - - - Check if Display Names functionality is available - - True if Display name functionality is available + + - - - Request retrieval of display names (max 90 names per request) - - List of UUIDs to lookup - Callback to report result of the operation + + - - - Start a request for Avatar Properties - - + + - - - Search for an avatar (first name, last name) - - The name to search for - An ID to associate with this query + + - - - Start a request for Avatar Picks - - UUID of the avatar + + - - - Start a request for Avatar Classifieds - - UUID of the avatar + + - - - Start a request for details of a specific profile pick - - UUID of the avatar - UUID of the profile pick + + - - - Start a request for details of a specific profile classified - - UUID of the avatar - UUID of the profile classified + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - - EQ Message fired when someone nearby changes their display name - - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet + + - - - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. - - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Raised when the simulator sends us data containing - an agents animation playlist + + - - Raised when the simulator sends us data containing - the appearance information for an agent + + - - Raised when the simulator sends us data containing - agent names/id values + + - - Raised when the simulator sends us data containing - the interests listed in an agents profile + + - - Raised when the simulator sends us data containing - profile property information for an agent + + - - Raised when the simulator sends us data containing - the group membership an agent is a member of + + - - Raised when the simulator sends us data containing - name/id pair + + - - Raised when the simulator sends us data containing - the objects and effect when an agent is pointing at + + - - Raised when the simulator sends us data containing - the objects and effect when an agent is looking at + + - - Raised when the simulator sends us data containing - an agents viewer effect information + + - - Raised when the simulator sends us data containing - the top picks from an agents profile + + - - Raised when the simulator sends us data containing - the Pick details + + - - Raised when the simulator sends us data containing - the classified ads an agent has placed + + - - Raised when the simulator sends us data containing - the details of a classified ad + + - - Raised when the simulator sends us data containing - the details of display name change + + - - - Callback giving results when fetching display names - - If the request was successful - Array of display names - Array of UUIDs that could not be fetched + + - - Provides data for the event - The event occurs when the simulator sends - the animation playlist for an agent - - The following code example uses the and - properties to display the animation playlist of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; - - private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) - { - // create a dictionary of "known" animations from the Animations class using System.Reflection - Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); - Type type = typeof(Animations); - System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); - foreach (System.Reflection.FieldInfo field in fields) - { - systemAnimations.Add((UUID)field.GetValue(type), field.Name); - } - - // find out which animations being played are known animations and which are assets - foreach (Animation animation in e.Animations) - { - if (systemAnimations.ContainsKey(animation.AnimationID)) - { - Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, - systemAnimations[animation.AnimationID], animation.AnimationSequence); - } - else - { - Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, - animation.AnimationID, animation.AnimationSequence); - } - } - } - - + + - - - Construct a new instance of the AvatarAnimationEventArgs class - - The ID of the agent - The list of animations to start + + - - Get the ID of the agent + + - - Get the list of animations to start + + - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - + + - - - Construct a new instance of the AvatarAppearanceEventArgs class - - The simulator request was from - The ID of the agent - true of the agent is a trial account - The default agent texture - The agents appearance layer textures - The for the agent + + - - Get the Simulator this request is from of the agent + + - - Get the ID of the agent + + - - true if the agent is a trial account + + - - Get the default agent texture + + - - Get the agents appearance layer textures + + - - Get the for the agent + + - - Version of the appearance system used. - Value greater than 0 indicates that server side baking is used + + - - Version of the Current Outfit Folder the appearance is based on + + - - Appearance flags, introduced with server side baking, currently unused + + - - Represents the interests from the profile of an agent + + - - Get the ID of the agent + + - - The properties of an agent + + - - Get the ID of the agent + + - - Get the ID of the agent + + - - Get the ID of the agent + + - - Get the ID of the avatar + + - - - Event args class for display name notification messages - + + - - - Wrapper around a byte array that allows bit to be packed and unpacked - one at a time or by a variable amount. Useful for very tightly packed - data like LayerData packets - + + - - + + - - - Default constructor, initialize the bit packer / bit unpacker - with a byte array and starting position - - Byte array to pack bits in to or unpack from - Starting position in the byte array + + - - - Pack a floating point value in to the data - - Floating point value to pack + + - - - Pack part or all of an integer in to the data - - Integer containing the data to pack - Number of bits of the integer to pack + + - - - Pack part or all of an unsigned integer in to the data - - Unsigned integer containing the data to pack - Number of bits of the integer to pack + + - - - Pack a single bit in to the data - - Bit to pack + + - - - - - - - - + + - - - - - + + - - - - - + + - - - Unpacking a floating point value from the data - - Unpacked floating point value + + - - - Unpack a variable number of bits from the data in to integer format - - Number of bits to unpack - An integer containing the unpacked bits - This function is only useful up to 32 bits + + - - - Unpack a variable number of bits from the data in to unsigned - integer format - - Number of bits to unpack - An unsigned integer containing the unpacked bits - This function is only useful up to 32 bits + + - - - Unpack a 16-bit signed integer - - 16-bit signed integer + + - - - Unpack a 16-bit unsigned integer - - 16-bit unsigned integer + + - - - Unpack a 32-bit signed integer - - 32-bit signed integer + + - - - Unpack a 32-bit unsigned integer - - 32-bit unsigned integer + + - - + + - - + + - - - Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. - + + - - - Rotation Keyframe count (used internally) - + + - - - Position Keyframe count (used internally) - + + - - - Animation Priority - + + - - - The animation length in seconds. - + + - - - Expression set in the client. Null if [None] is selected - + + - - - The time in seconds to start the animation - + + - - - The time in seconds to end the animation - + + - - - Loop the animation - + + - - - Meta data. Ease in Seconds. - + + - - - Meta data. Ease out seconds. - + + - - - Meta Data for the Hand Pose - + + - - - Number of joints defined in the animation - + + - - - Contains an array of joints - + + - - - Searialize an animation asset into it's joints/keyframes/meta data - - + + - - - Variable length strings seem to be null terminated in the animation asset.. but.. - use with caution, home grown. - advances the index. - - The animation asset byte array - The offset to start reading - a string + + - - - Read in a Joint from an animation asset byte array - Variable length Joint fields, yay! - Advances the index - - animation asset byte array - Byte Offset of the start of the joint - The Joint data serialized into the binBVHJoint structure + + - - - Read Keyframes of a certain type - advance i - - Animation Byte array - Offset in the Byte Array. Will be advanced - Number of Keyframes - Scaling Min to pass to the Uint16ToFloat method - Scaling Max to pass to the Uint16ToFloat method - + + - - - Determines whether the specified is equal to the current . - - - true if the specified is equal to the current ; otherwise, false. - - The to compare with the current . - The parameter is null. - 2 + + - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - 2 + + - - - A Joint and it's associated meta data and keyframes - + + - - - Indicates whether this instance and a specified object are equal. - - - true if and this instance are the same type and represent the same value; otherwise, false. - - Another object to compare to. - 2 + + - - - Returns the hash code for this instance. - - - A 32-bit signed integer that is the hash code for this instance. - - 2 + + - - - Name of the Joint. Matches the avatar_skeleton.xml in client distros - + + - - - Joint Animation Override? Was the same as the Priority in testing.. - + + - - - Array of Rotation Keyframes in order from earliest to latest - + + - - - Array of Position Keyframes in order from earliest to latest - This seems to only be for the Pelvis? - + + - - - Custom application data that can be attached to a joint - + + - - - A Joint Keyframe. This is either a position or a rotation. - + + - - - Either a Vector3 position or a Vector3 Euler rotation - + + - - - Poses set in the animation metadata for the hands. - + + - - - Capabilities is the name of the bi-directional HTTP REST protocol - used to communicate non real-time transactions such as teleporting or - group messaging - + + - - Reference to the simulator this system is connected to + + - - - Default constructor - - - + + - - - Request the URI of a named capability - - Name of the capability to request - The URI of the requested capability, or String.Empty if - the capability does not exist + + - - - Process any incoming events, check to see if we have a message created for the event, - - - + + - - Capabilities URI this system was initialized with + + - - Whether the capabilities event queue is connected and - listening for incoming events + + - - - Triggered when an event is received via the EventQueueGet - capability - - Event name - Decoded event data - The simulator that generated the event + + - - - Attempts to convert an LLSD structure to a known Packet type - - Event name, this must match an actual - packet name for a Packet to be successfully built - LLSD to convert to a Packet - A Packet on success, otherwise null + + - - - - - Looking direction, must be a normalized vector - Up direction, must be a normalized vector + + - - - Align the coordinate frame X and Y axis with a given rotation - around the Z axis in radians - - Absolute rotation around the Z axis in - radians + + - - Origin position of this coordinate frame + + - - X axis of this coordinate frame, or Forward/At in grid terms + + - - Y axis of this coordinate frame, or Left in grid terms + + - - Z axis of this coordinate frame, or Up in grid terms + + - - - Access to the data server which allows searching for land, events, people, etc - + + - - The event subscribers. null if no subcribers + + - - Raises the EventInfoReply event - An EventInfoReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the DirEventsReply event - An DirEventsReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the PlacesReply event - A PlacesReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the DirPlacesReply event - A DirPlacesReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the DirClassifiedsReply event - A DirClassifiedsReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the DirGroupsReply event - A DirGroupsReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the DirPeopleReply event - A DirPeopleReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the DirLandReply event - A DirLandReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - - Constructs a new instance of the DirectoryManager class - - An instance of GridClient + + - - - Query the data server for a list of classified ads containing the specified string. - Defaults to searching for classified placed in any category, and includes PG, Adult and Mature - results. - - Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for - A UUID to correlate the results when the event is raised + + - - - Query the data server for a list of classified ads which contain specified keywords (Overload) - - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for - The category to search - A set of flags which can be ORed to modify query options - such as classified maturity rating. - A UUID to correlate the results when the event is raised - - Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature - - UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); - - - - Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - + + - - - Starts search for places (Overloaded) - - The event is raised when a response is received from the simulator - - Search text - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised + + - - - Queries the dataserver for parcels of land which are flagged to be shown in search - - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for separated by a space character - A set of flags which can be ORed to modify query options - such as classified maturity rating. - The category to search - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult - - UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); - - - - Additional information on the results can be obtained by using the ParcelManager.InfoRequest method - + + - - - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator - - What type of land to search for. Auction, - estate, mainland, "first land", etc - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. + + - - - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator - - What type of land to search for. Auction, - estate, mainland, "first land", etc - Maximum price to search for - Maximum area to search for - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. + + - - - Send a request to the data server for land sales listings - - - Flags sent to specify query options - - Available flags: - Specify the parcel rating with one or more of the following: - IncludePG IncludeMature IncludeAdult - - Specify the field to pre sort the results with ONLY ONE of the following: - PerMeterSort NameSort AreaSort PricesSort - - Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order - SortAsc - - Specify additional filters to limit the results with one or both of the following: - LimitByPrice LimitByArea - - Flags can be combined by separating them with the | (pipe) character - - Additional details can be found in - - What type of land to search for. Auction, - Estate or Mainland - Maximum price to search for when the - DirFindFlags.LimitByPrice flag is specified in findFlags - Maximum area to search for when the - DirFindFlags.LimitByArea flag is specified in findFlags - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - The event will be raised with the response from the simulator - - There is no way to determine how many results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each reply. - - Any land set for sale to either anybody or specific to the connected agent will be included in the - results if the land is included in the query - - - // request all mainland, any maturity rating that is larger than 512 sq.m - StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); - + + - - - Search for Groups - - The name or portion of the name of the group you wish to search for - Start from the match number - + + - - - Search for Groups - - The name or portion of the name of the group you wish to search for - Start from the match number - Search flags - + + - - - Search the People directory for other avatars - - The name or portion of the name of the avatar you wish to search for - - + + - - - Search Places for parcels of land you personally own - + + - - - Searches Places for land owned by the specified group - - ID of the group you want to recieve land list for (You must be a member of the group) - Transaction (Query) ID which can be associated with results from your request. + + - - - Search the Places directory for parcels that are listed in search and contain the specified keywords - - A string containing the keywords to search for - Transaction (Query) ID which can be associated with results from your request. + + - - - Search Places - All Options - - One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. - One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer - A string containing a list of keywords to search for separated by a space character - String Simulator Name to search in - LLUID of group you want to recieve results for - Transaction (Query) ID which can be associated with results from your request. - Transaction (Query) ID which can be associated with results from your request. + + - - - Search All Events with specifid searchText in all categories, includes PG, Mature and Adult - - A string containing a list of keywords to search for separated by a space character - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - UUID of query to correlate results in callback. + + - - - Search Events - - A string containing a list of keywords to search for separated by a space character - One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult - from the Enum - - Multiple flags can be combined by separating the flags with the | (pipe) character - "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled - For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - EventCategory event is listed under. - UUID of query to correlate results in callback. + + - - Requests Event Details - ID of Event returned from the method + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Raised when the data server responds to a request. + + - - Raised when the data server responds to a request. + + - - Raised when the data server responds to a request. + + - - Raised when the data server responds to a request. + + - - Raised when the data server responds to a request. + + - - Raised when the data server responds to a request. + + - - Raised when the data server responds to a request. + + - - Raised when the data server responds to a request. + + - - Classified Ad categories + + - - Classified is listed in the Any category + + - - Classified is shopping related + + - - Classified is + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - Event Categories + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. - - Flags can be combined using the | (pipe) character, not all flags are available in all queries - + + - - Query the People database + + - - + + - - + + - - Query the Groups database + + - - Query the Events database + + - - Query the land holdings database for land owned by the currently connected agent + + - - + + - - Query the land holdings database for land which is owned by a Group + + - - Specifies the query should pre sort the results based upon traffic - when searching the Places database + + - - + + - - + + - - + + - - + + - - Specifies the query should pre sort the results in an ascending order when searching the land sales database. - This flag is only used when searching the land sales database + + - - Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. - This flag is only used when searching the land sales database + + - - Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. - This flag is only used when searching the land sales database + + - - Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. - This flag is only used when searching the land sales database + + - - Specifies the query should pre sort the results using the Name field when searching the land sales database. - This flag is only used when searching the land sales database + + - - When set, only parcels less than the specified Price will be included when searching the land sales database. - This flag is only used when searching the land sales database + + - - When set, only parcels greater than the specified Size will be included when searching the land sales database. - This flag is only used when searching the land sales database + + - - + + - - + + - - Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases + + - - Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases + + - - Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases + + - - + + - - - Land types to search dataserver for - + + - - Search Auction, Mainland and Estate + + - - Land which is currently up for auction + + - - Parcels which are on the mainland (Linden owned) continents + + - - Parcels which are on privately owned simulators + + - - - The content rating of the event - - - - Event is PG + + - - Event is Mature + + - - Event is Adult + + - - - Classified Ad Options - - There appear to be two formats the flags are packed in. - This set of flags is for the newer style + + - - + + - - + + - - + + - - + + - - + + - - - Classified ad query options - + + - - Include all ads in results + + - - Include PG ads in results + + - - Include Mature ads in results + + - - Include Adult ads in results + + - - - The For Sale flag in PlacesReplyData - + + - - Parcel is not listed for sale + + - - Parcel is For Sale + + - - - A classified ad on the grid - + + - - UUID for this ad, useful for looking up detailed - information about it + + - - The title of this classified ad + + - - Flags that show certain options applied to the classified + + - - Creation date of the ad + + - - Expiration date of the ad + + - - Price that was paid for this ad + + - - Print the struct data as a string - A string containing the field name, and field value + + - - - A parcel retrieved from the dataserver such as results from the - "For-Sale" listings or "Places" Search - + + - - The unique dataserver parcel ID - This id is used to obtain additional information from the entry - by using the method + + - - A string containing the name of the parcel + + - - The size of the parcel - This field is not returned for Places searches + + - - The price of the parcel - This field is not returned for Places searches + + - - If True, this parcel is flagged to be auctioned + + - - If true, this parcel is currently set for sale + + - - Parcel traffic + + - - Print the struct data as a string - A string containing the field name, and field value + + - - - An Avatar returned from the dataserver - + + - - Online status of agent - This field appears to be obsolete and always returns false + + - - The agents first name + + - - The agents last name + + - - The agents + + - - Print the struct data as a string - A string containing the field name, and field value + + - - - Response to a "Groups" Search - + + - - The Group ID + + - - The name of the group + + - - The current number of members + + - - Print the struct data as a string - A string containing the field name, and field value + + - - - Parcel information returned from a request - - Represents one of the following: - A parcel of land on the grid that has its Show In Search flag set - A parcel of land owned by the agent making the request - A parcel of land owned by a group the agent making the request is a member of - - - In a request for Group Land, the First record will contain an empty record - - Note: This is not the same as searching the land for sale data source - + + - - The ID of the Agent of Group that owns the parcel + + - - The name + + - - The description + + - - The Size of the parcel + + - - The billable Size of the parcel, for mainland - parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller - than the ActualArea. For Estate land this will always be 0 + + - - Indicates the ForSale status of the parcel + + - - The Gridwide X position + + - - The Gridwide Y position + + - - The Z position of the parcel, or 0 if no landing point set + + - - The name of the Region the parcel is located in + + - - The Asset ID of the parcels Snapshot texture + + - - The calculated visitor traffic + + - - The billing product SKU - Known values are: - - 023Mainland / Full Region - 024Estate / Full Region - 027Estate / Openspace - 029Estate / Homestead - 129Mainland / Homestead (Linden Owned) - - + + - - No longer used, will always be 0 + + - - Get a SL URL for the parcel - A string, containing a standard SLURL + + - - Print the struct data as a string - A string containing the field name, and field value + + - - - An "Event" Listing summary - + + - - The ID of the event creator + + - - The name of the event + + - - The events ID + + - - A string containing the short date/time the event will begin + + - - The event start time in Unixtime (seconds since epoch) + + - - The events maturity rating + + - - Print the struct data as a string - A string containing the field name, and field value + + - - - The details of an "Event" - + + - - The events ID + + - - The ID of the event creator + + - - The name of the event + + - - The category + + - - The events description + + - - The short date/time the event will begin + + - - The event start time in Unixtime (seconds since epoch) UTC adjusted + + - - The length of the event in minutes + + - - 0 if no cover charge applies + + - - The cover charge amount in L$ if applicable + + - - The name of the region where the event is being held + + - - The gridwide location of the event + + - - The maturity rating + + - - Get a SL URL for the parcel where the event is hosted - A string, containing a standard SLURL + + - - Print the struct data as a string - A string containing the field name, and field value + + - - Contains the Event data returned from the data server from an EventInfoRequest + + - - Construct a new instance of the EventInfoReplyEventArgs class - A single EventInfo object containing the details of an event + + - - - A single EventInfo object containing the details of an event - + + - - Contains the "Event" detail data returned from the data server + + - - Construct a new instance of the DirEventsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Events" returned by the search query + + - - The ID returned by + + - - A list of "Events" returned by the data server + + - - Contains the "Event" list data returned from the data server + + - - Construct a new instance of PlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Places" returned by the data server query + + - - The ID returned by + + - - A list of "Places" returned by the data server + + - - Contains the places data returned from the data server + + - - Construct a new instance of the DirPlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing land data returned by the data server + + - - The ID returned by + + - - A list containing Places data returned by the data server + + - - Contains the classified data returned from the data server + + - - Construct a new instance of the DirClassifiedsReplyEventArgs class - A list of classified ad data returned from the data server + + - - A list containing Classified Ads returned by the data server + + - - Contains the group data returned from the data server + + - - Construct a new instance of the DirGroupsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of groups data returned by the data server + + - - The ID returned by + + - - A list containing Groups data returned by the data server + + - - Contains the people data returned from the data server + + - - Construct a new instance of the DirPeopleReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of people data returned by the data server + + - - The ID returned by + + - - A list containing People data returned by the data server + + - - Contains the land sales data returned from the data server + + - - Construct a new instance of the DirLandReplyEventArgs class - A list of parcels for sale returned by the data server + + - - A list containing land forsale data returned by the data server + + - - - Represends individual HTTP Download request - + + - - URI of the item to fetch + + - - Timout specified in milliseconds + + - - Download progress callback + + - - Download completed callback + + - - Accept the following content type + + - - How many times will this request be retried + + - - Current fetch attempt + + - - Default constructor + + - - Constructor + + - - - Manages async HTTP downloads with a limit on maximum - concurrent downloads - + + - - Default constructor + + - - Cleanup method + + - - Setup http download request + + - - Check the queue for pending work + + - - Enqueue a new HTTP download + + - - Maximum number of parallel downloads from a single endpoint + + - - Client certificate + + - - Describes tasks returned in LandStatReply + + - - - Estate level administration and utilities - + + - - Textures for each of the four terrain height levels + + - - Upper/lower texture boundaries for each corner of the sim + + - - - Constructor for EstateTools class - - + + - - The event subscribers. null if no subcribers + + - - Raises the TopCollidersReply event - A TopCollidersReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the TopScriptsReply event - A TopScriptsReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the EstateUsersReply event - A EstateUsersReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the EstateGroupsReply event - A EstateGroupsReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the EstateManagersReply event - A EstateManagersReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the EstateBansReply event - A EstateBansReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the EstateCovenantReply event - A EstateCovenantReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the EstateUpdateInfoReply event - A EstateUpdateInfoReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - - Requests estate information such as top scripts and colliders - - - - - + + - - Requests estate settings, including estate manager and access/ban lists + + - - Requests the "Top Scripts" list for the current region + + - - Requests the "Top Colliders" list for the current region + + - - - Set several estate specific configuration variables - - The Height of the waterlevel over the entire estate. Defaults to 20 - The maximum height change allowed above the baked terrain. Defaults to 4 - The minimum height change allowed below the baked terrain. Defaults to -4 - true to use - if True forces the sun position to the position in SunPosition - The current position of the sun on the estate, or when FixedSun is true the static position - the sun will remain. 6.0 = Sunrise, 30.0 = Sunset + + - - - Request return of objects owned by specified avatar - - The Agents owning the primitives to return - specify the coverage and type of objects to be included in the return - true to perform return on entire estate + + - - - - + + - - - Used for setting and retrieving various estate panel settings - - EstateOwnerMessage Method field - List of parameters to include + + - - - Kick an avatar from an estate - - Key of Agent to remove + + - - - Ban an avatar from an estate - Key of Agent to remove - Ban user from this estate and all others owned by the estate owner + + - - Unban an avatar from an estate - Key of Agent to remove - /// Unban user from this estate and all others owned by the estate owner + + - - - Send a message dialog to everyone in an entire estate - - Message to send all users in the estate + + - - - Send a message dialog to everyone in a simulator - - Message to send all users in the simulator + + - - - Send an avatar back to their home location - - Key of avatar to send home + + - - - Begin the region restart process - + + - - - Cancels a region restart - + + - - Estate panel "Region" tab settings + + - - Estate panel "Debug" tab settings + + - - Used for setting the region's terrain textures for its four height levels - - - - + + - - Used for setting sim terrain texture heights + + - - Requests the estate covenant + + - - - Upload a terrain RAW file - - A byte array containing the encoded terrain data - The name of the file being uploaded - The Id of the transfer request + + - - - Teleports all users home in current Estate - + + - - - Remove estate manager - Key of Agent to Remove - removes manager to this estate and all others owned by the estate owner + + - - - Add estate manager - Key of Agent to Add - Add agent as manager to this estate and all others owned by the estate owner + + - - - Add's an agent to the estate Allowed list - Key of Agent to Add - Add agent as an allowed reisdent to All estates if true + + - - - Removes an agent from the estate Allowed list - Key of Agent to Remove - Removes agent as an allowed reisdent from All estates if true + + - - - - Add's a group to the estate Allowed list - Key of Group to Add - Add Group as an allowed group to All estates if true + + - - - - Removes a group from the estate Allowed list - Key of Group to Remove - Removes Group as an allowed Group from All estates if true + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Raised when the data server responds to a request. + + - - Raised when the data server responds to a request. + + - - Raised when the data server responds to a request. + + - - Raised when the data server responds to a request. + + - - Raised when the data server responds to a request. + + - - Raised when the data server responds to a request. + + - - Raised when the data server responds to a request. + + - - Raised when the data server responds to a request. + + - - Used in the ReportType field of a LandStatRequest + + - - Used by EstateOwnerMessage packets + + - - Used by EstateOwnerMessage packets + + - - - - + + - - No flags set + + - - Only return targets scripted objects + + - - Only return targets objects if on others land + + - - Returns target's scripted objects and objects on other parcels + + - - Ground texture settings for each corner of the region + + - - Used by GroundTextureHeightSettings + + - - The high and low texture thresholds for each corner of the sim + + - - Raised on LandStatReply when the report type is for "top colliders" + + - - Construct a new instance of the TopCollidersReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply + + - - - The number of returned items in LandStatReply - + + - - - A Dictionary of Object UUIDs to tasks returned in LandStatReply - + + - - Raised on LandStatReply when the report type is for "top Scripts" + + - - Construct a new instance of the TopScriptsReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply + + - - - The number of scripts returned in LandStatReply - + + - - - A Dictionary of Object UUIDs to tasks returned in LandStatReply - + + - - Returned, along with other info, upon a successful .RequestInfo() + + - - Construct a new instance of the EstateBansReplyEventArgs class - The estate's identifier on the grid - The number of returned items in LandStatReply - User UUIDs banned + + - - - The identifier of the estate - + + - - - The number of returned itmes - + + - - - List of UUIDs of Banned Users - + + - - Returned, along with other info, upon a successful .RequestInfo() + + - - Construct a new instance of the EstateUsersReplyEventArgs class - The estate's identifier on the grid - The number of users - Allowed users UUIDs + + - - - The identifier of the estate - + + - - - The number of returned items - + + - - - List of UUIDs of Allowed Users - + + - - Returned, along with other info, upon a successful .RequestInfo() + + - - Construct a new instance of the EstateGroupsReplyEventArgs class - The estate's identifier on the grid - The number of Groups - Allowed Groups UUIDs + + - - - The identifier of the estate - + + - - - The number of returned items - + + - - - List of UUIDs of Allowed Groups - + + - - Returned, along with other info, upon a successful .RequestInfo() + + - - Construct a new instance of the EstateManagersReplyEventArgs class - The estate's identifier on the grid - The number of Managers - Managers UUIDs + + - - - The identifier of the estate - + + - - - The number of returned items - + + - - - List of UUIDs of the Estate's Managers - + + - - Returned, along with other info, upon a successful .RequestInfo() + + - - Construct a new instance of the EstateCovenantReplyEventArgs class - The Covenant ID - The timestamp - The estate's name - The Estate Owner's ID (can be a GroupID) + + - - - The Covenant - + + - - - The timestamp - + + - - - The Estate name - + + - - - The Estate Owner's ID (can be a GroupID) - + + - - Returned, along with other info, upon a successful .RequestInfo() + + - - Construct a new instance of the EstateUpdateInfoReplyEventArgs class - The estate's name - The Estate Owners ID (can be a GroupID) - The estate's identifier on the grid - + + - - - The estate's name - + + - - - The Estate Owner's ID (can be a GroupID) - + + - - - The identifier of the estate on the grid - + + - - + + - - - Registers, unregisters, and fires events generated by incoming packets - + + - - Reference to the GridClient object + + - - - Default constructor - - + + - - - Register an event handler - - Use PacketType.Default to fire this event on every - incoming packet - Packet type to register the handler for - Callback to be fired - True if this callback should be ran - asynchronously, false to run it synchronous + + - - - Unregister an event handler - - Packet type to unregister the handler for - Callback to be unregistered + + - - - Fire the events registered for this packet type - - Incoming packet type - Incoming packet - Simulator this packet was received from + + - - - Object that is passed to worker threads in the ThreadPool for - firing packet callbacks - + + - - Callback to fire for this packet + + - - Reference to the simulator that this packet came from + + - - The packet that needs to be processed + + - - - Registers, unregisters, and fires events generated by the Capabilities - event queue - + + - - Reference to the GridClient object + + - - - Default constructor - - Reference to the GridClient object + + - - - Register an new event handler for a capabilities event sent via the EventQueue - - Use String.Empty to fire this event on every CAPS event - Capability event name to register the - handler for - Callback to fire + + - - - Unregister a previously registered capabilities handler - - Capability event name unregister the - handler for - Callback to unregister + + - - - Fire the events registered for this event type synchronously - - Capability name - Decoded event body - Reference to the simulator that - generated this event + + - - - Fire the events registered for this event type asynchronously - - Capability name - Decoded event body - Reference to the simulator that - generated this event + + - - - Object that is passed to worker threads in the ThreadPool for - firing CAPS callbacks - + + - - Callback to fire for this packet + + - - Name of the CAPS event + + - - Strongly typed decoded data + + - - Reference to the simulator that generated this event + + - - - - + + - - The avatar has no rights + + - - The avatar can see the online status of the target avatar + + - - The avatar can see the location of the target avatar on the map + + - - The avatar can modify the ojects of the target avatar + + - - - This class holds information about an avatar in the friends list. There are two ways - to interface to this class. The first is through the set of boolean properties. This is the typical - way clients of this class will use it. The second interface is through two bitflag properties, - TheirFriendsRights and MyFriendsRights - + + - - - Used internally when building the initial list of friends at login time - - System ID of the avatar being prepesented - Rights the friend has to see you online and to modify your objects - Rights you have to see your friend online and to modify their objects + + - - - FriendInfo represented as a string - - A string reprentation of both my rights and my friends rights + + - - - System ID of the avatar - + + - - - full name of the avatar - + + - - - True if the avatar is online - + + - - - True if the friend can see if I am online - + + - - - True if the friend can see me on the map - + + - - - True if the freind can modify my objects - + + - - - True if I can see if my friend is online - + + - - - True if I can see if my friend is on the map - + + - - - True if I can modify my friend's objects - + + - - - My friend's rights represented as bitmapped flags - + + - - - My rights represented as bitmapped flags - + + - - - This class is used to add and remove avatars from your friends list and to manage their permission. - - - - The event subscribers. null if no subcribers + + - - Raises the FriendOnline event - A FriendInfoEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the FriendOffline event - A FriendInfoEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the FriendRightsUpdate event - A FriendInfoEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the FriendNames event - A FriendNamesEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the FriendshipOffered event - A FriendshipOfferedEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the FriendshipResponse event - A FriendshipResponseEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the FriendshipTerminated event - A FriendshipTerminatedEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the FriendFoundReply event - A FriendFoundReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - - A dictionary of key/value pairs containing known friends of this avatar. - - The Key is the of the friend, the value is a - object that contains detailed information including permissions you have and have given to the friend - + + - - - A Dictionary of key/value pairs containing current pending frienship offers. - - The key is the of the avatar making the request, - the value is the of the request which is used to accept - or decline the friendship offer - + + - - - Internal constructor - - A reference to the GridClient Object + + - - - Accept a friendship request - - agentID of avatatar to form friendship with - imSessionID of the friendship request message + + - - - Decline a friendship request - - of friend - imSessionID of the friendship request message + + - - - Overload: Offer friendship to an avatar. - - System ID of the avatar you are offering friendship to + + - - - Offer friendship to an avatar. - - System ID of the avatar you are offering friendship to - A message to send with the request + + - - - Terminate a friendship with an avatar - - System ID of the avatar you are terminating the friendship with + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - - Change the rights of a friend avatar. - - the of the friend - the new rights to give the friend - This method will implicitly set the rights to those passed in the rights parameter. + + - - - Use to map a friends location on the grid. - - Friends UUID to find - + + - - - Use to track a friends movement on the grid - - Friends Key + + - - - Ask for a notification of friend's online status - - Friend's UUID + + - - - This handles the asynchronous response of a RequestAvatarNames call. - - - names cooresponding to the the list of IDs sent the the RequestAvatarNames call. + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - - Populate FriendList with data from the login reply - - true if login was successful - true if login request is requiring a redirect - A string containing the response to the login request - A string containing the reason for the request - A object containing the decoded - reply from the login server + + - - Raised when the simulator sends notification one of the members in our friends list comes online + + - - Raised when the simulator sends notification one of the members in our friends list goes offline + + - - Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions + + - - Raised when the simulator sends us the names on our friends list + + - - Raised when the simulator sends notification another agent is offering us friendship + + - - Raised when a request we sent to friend another agent is accepted or declined + + - - Raised when the simulator sends notification one of the members in our friends list has terminated - our friendship + + - - Raised when the simulator sends the location of a friend we have - requested map location info for + + - - Contains information on a member of our friends list + + - - - Construct a new instance of the FriendInfoEventArgs class - - The FriendInfo + + - - Get the FriendInfo + + - - Contains Friend Names + + - - - Construct a new instance of the FriendNamesEventArgs class - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name + + - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name + + - - Sent when another agent requests a friendship with our agent + + - - - Construct a new instance of the FriendshipOfferedEventArgs class - - The ID of the agent requesting friendship - The name of the agent requesting friendship - The ID of the session, used in accepting or declining the - friendship offer + + - - Get the ID of the agent requesting friendship + + - - Get the name of the agent requesting friendship + + - - Get the ID of the session, used in accepting or declining the - friendship offer + + - - A response containing the results of our request to form a friendship with another agent + + - - - Construct a new instance of the FriendShipResponseEventArgs class - - The ID of the agent we requested a friendship with - The name of the agent we requested a friendship with - true if the agent accepted our friendship offer + + - - Get the ID of the agent we requested a friendship with + + - - Get the name of the agent we requested a friendship with + + - - true if the agent accepted our friendship offer + + - - Contains data sent when a friend terminates a friendship with us + + - - - Construct a new instance of the FrindshipTerminatedEventArgs class - - The ID of the friend who terminated the friendship with us - The name of the friend who terminated the friendship with us + + - - Get the ID of the agent that terminated the friendship with us + + - - Get the name of the agent that terminated the friendship with us + + - - - Data sent in response to a request which contains the information to allow us to map the friends location - + + - - - Construct a new instance of the FriendFoundReplyEventArgs class - - The ID of the agent we have requested location information for - The region handle where our friend is located - The simulator local position our friend is located + + - - Get the ID of the agent we have received location information for + + - - Get the region handle where our mapped friend is located + + - - Get the simulator local position where our friend is located + + - - - Main class to expose grid functionality to clients. All of the - classes needed for sending and receiving data are accessible through - this class. - - - - // Example minimum code required to instantiate class and - // connect to a simulator. - using System; - using System.Collections.Generic; - using System.Text; - using OpenMetaverse; - - namespace FirstBot - { - class Bot - { - public static GridClient Client; - static void Main(string[] args) - { - Client = new GridClient(); // instantiates the GridClient class - // to the global Client object - // Login to Simulator - Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); - // Wait for a Keypress - Console.ReadLine(); - // Logout of simulator - Client.Network.Logout(); - } - } - } - - + + - - Networking subsystem + + - - Settings class including constant values and changeable - parameters for everything + + - - Parcel (subdivided simulator lots) subsystem + + - - Our own avatars subsystem + + - - Other avatars subsystem + + - - Estate subsystem + + - - Friends list subsystem + + - - Grid (aka simulator group) subsystem + + - - Object subsystem + + - - Group subsystem + + - - Asset subsystem + + - - Appearance subsystem + + - - Inventory subsystem + + - - Directory searches including classifieds, people, land - sales, etc + + - - Handles land, wind, and cloud heightmaps + + - - Handles sound-related networking + + - - Throttling total bandwidth usage, or allocating bandwidth - for specific data stream types + + - - - Default constructor - + + - - - Return the full name of this instance - - Client avatars full name + + - - - Map layer request type - + + - - Objects and terrain are shown + + - - Only the terrain is shown, no objects + + - - Overlay showing land for sale and for auction + + - - - Type of grid item, such as telehub, event, populator location, etc. - + + - - Telehub + + - - PG rated event + + - - Mature rated event + + - - Popular location + + - - Locations of avatar groups in a region + + - - Land for sale + + - - Classified ad + + - - Adult rated event + + - - Adult land for sale + + - - - Information about a region on the grid map - + + - - Sim X position on World Map + + - - Sim Y position on World Map + + - - Sim Name (NOTE: In lowercase!) + + - - + + - - Appears to always be zero (None) + + - - Sim's defined Water Height + + - - + + - - UUID of the World Map image + + - - Unique identifier for this region, a combination of the X - and Y position + + - - - - - + + - - - - - + + - - - - - - + + - - - Visual chunk of the grid map - + + - - - Base class for Map Items - + + - - The Global X position of the item + + - - The Global Y position of the item + + - - Get the Local X position of the item + + - - Get the Local Y position of the item + + - - Get the Handle of the region + + - - - Represents an agent or group of agents location - + + - - - Represents a Telehub location - + + - - - Represents a non-adult parcel of land for sale - + + - - - Represents an Adult parcel of land for sale - + + - - - Represents a PG Event - + + - - - Represents a Mature event - + + - - - Represents an Adult event - + + - - - Manages grid-wide tasks such as the world map - + + - - The event subscribers. null if no subcribers + + - - Raises the CoarseLocationUpdate event - A CoarseLocationUpdateEventArgs object containing the - data sent by simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GridRegion event - A GridRegionEventArgs object containing the - data sent by simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GridLayer event - A GridLayerEventArgs object containing the - data sent by simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GridItems event - A GridItemEventArgs object containing the - data sent by simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the RegionHandleReply event - A RegionHandleReplyEventArgs object containing the - data sent by simulator + + - - Thread sync lock object + + - - A dictionary of all the regions, indexed by region name + + - - A dictionary of all the regions, indexed by region handle + + - - - Constructor - - Instance of GridClient object to associate with this GridManager instance + + - - - - - + + - - - Request a map layer - - The name of the region - The type of layer + + - - - - - - - - - - + + - - - - - - - - - + + - - - - - - - + + - - - Request data for all mainland (Linden managed) simulators - + + - - - Request the region handle for the specified region UUID - - UUID of the region to look up + + - - - Get grid region information using the region name, this function - will block until it can find the region or gives up - - Name of sim you're looking for - Layer that you are requesting - Will contain a GridRegion for the sim you're - looking for if successful, otherwise an empty structure - True if the GridRegion was successfully fetched, otherwise - false + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Raised when the simulator sends a - containing the location of agents in the simulator + + - - Raised when the simulator sends a Region Data in response to - a Map request + + - - Raised when the simulator sends GridLayer object containing - a map tile coordinates and texture information + + - - Raised when the simulator sends GridItems object containing - details on events, land sales at a specific location + + - - Raised in response to a Region lookup + + - - Unknown + + - - Current direction of the sun + + - - Current angular velocity of the sun + + - - Microseconds since the start of SL 4-hour day + + - - - Avatar group management - + + - - Key of Group Member + + - - Total land contribution + + - - Online status information + + - - Abilities that the Group Member has + + - - Current group title + + - - Is a group owner + + - - - Role manager for a group - + + - - Key of the group + + - - Key of Role + + - - Name of Role + + - - Group Title associated with Role + + - - Description of Role + + - - Abilities Associated with Role + + - - Returns the role's title - The role's title + + - - - Class to represent Group Title - + + - - Key of the group + + - - ID of the role title belongs to + + - - Group Title + + - - Whether title is Active + + - - Returns group title + + - - - Represents a group on the grid - + + - - Key of Group + + - - Key of Group Insignia + + - - Key of Group Founder + + - - Key of Group Role for Owners + + - - Name of Group + + - - Text of Group Charter + + - - Title of "everyone" role + + - - Is the group open for enrolement to everyone + + - - Will group show up in search + + - - + + - - + + - - + + - - Is the group Mature + + - - Cost of group membership + + - - + + - - + + - - The total number of current members this group has + + - - The number of roles this group has configured + + - - Show this group in agent's profile + + - - Returns the name of the group - A string containing the name of the group + + - - - A group Vote - + + - - Key of Avatar who created Vote + + - - Text of the Vote proposal + + - - Total number of votes + + - - - A group proposal - + + - - The Text of the proposal + + - - The minimum number of members that must vote before proposal passes or failes + + - - The required ration of yes/no votes required for vote to pass - The three options are Simple Majority, 2/3 Majority, and Unanimous - TODO: this should be an enum + + - - The duration in days votes are accepted + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - Struct representing a group notice - + + - - + + - - + + - - + + - - + + - - - - - + + - - - Struct representing a group notice list entry - + + - - Notice ID + + - - Creation timestamp of notice + + - - Agent name who created notice + + - - Notice subject + + - - Is there an attachment? + + - - Attachment Type + + - - - Struct representing a member of a group chat session and their settings - + + - - The of the Avatar + + - - True if user has voice chat enabled + + - - True of Avatar has moderator abilities + + - - True if a moderator has muted this avatars chat + + - - True if a moderator has muted this avatars voice + + - - - Role update flags - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - Can send invitations to groups default role + + - - Can eject members from group + + - - Can toggle 'Open Enrollment' and change 'Signup fee' + + - - Member is visible in the public member list + + - - Can create new roles + + - - Can delete existing roles + + - - Can change Role names, titles and descriptions + + - - Can assign other members to assigners role + + - - Can assign other members to any role + + - - Can remove members from roles + + - - Can assign and remove abilities in roles + + - - Can change group Charter, Insignia, 'Publish on the web' and which - members are publicly visible in group member listings + + - - Can buy land or deed land to group + + - - Can abandon group owned land to Governor Linden on mainland, or Estate owner for - private estates + + - - Can set land for-sale information on group owned parcels + + - - Can subdivide and join parcels + + - - Can join group chat sessions + + - - Can use voice chat in Group Chat sessions + + - - Can moderate group chat sessions + + - - Can toggle "Show in Find Places" and set search category + + - - Can change parcel name, description, and 'Publish on web' settings + + - - Can set the landing point and teleport routing on group land + + - - Can change music and media settings + + - - Can toggle 'Edit Terrain' option in Land settings + + - - Can toggle various About Land > Options settings + + - - Can always terraform land, even if parcel settings have it turned off + + - - Can always fly while over group owned land + + - - Can always rez objects on group owned land + + - - Can always create landmarks for group owned parcels + + - - Can set home location on any group owned parcel + + - - Can modify public access settings for group owned parcels + + - - Can manager parcel ban lists on group owned land + + - - Can manage pass list sales information + + - - Can eject and freeze other avatars on group owned land + + - - Can return objects set to group + + - - Can return non-group owned/set objects + + - - Can return group owned objects + + - - Can landscape using Linden plants + + - - Can deed objects to group + + - - Can move group owned objects + + - - Can set group owned objects for-sale + + - - Pay group liabilities and receive group dividends + + - - List and Host group events + + - - Can send group notices + + - - Can receive group notices + + - - Can create group proposals + + - - Can vote on group proposals + + - - - Ban actions available for group members - + + - - Ban agent from joining a group + + - - Remove restriction on agent jointing a group + + - - - Handles all network traffic related to reading and writing group - information - + + - - The event subscribers. null if no subcribers + + - - Raises the CurrentGroups event - A CurrentGroupsEventArgs object containing the - data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupNamesReply event - A GroupNamesEventArgs object containing the - data response from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupProfile event - An GroupProfileEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupMembers event - A GroupMembersEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupRolesDataReply event - A GroupRolesDataReplyEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupRoleMembersReply event - A GroupRolesRoleMembersReplyEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupTitlesReply event - A GroupTitlesReplyEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupAccountSummary event - A GroupAccountSummaryReplyEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupCreated event - An GroupCreatedEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupJoined event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupLeft event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupDropped event - An GroupDroppedEventArgs object containing the - the group your agent left + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupMemberEjected event - An GroupMemberEjectedEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupNoticesListReply event - An GroupNoticesListReplyEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the GroupInvitation event - An GroupInvitationEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the BannedAgents event - An BannedAgentsEventArgs object containing the - data returned from the simulator + + - - Thread sync lock object + + - - A reference to the current instance + + - - Currently-active group members requests + + - - Currently-active group roles requests + + - - Currently-active group role-member requests + + - - Dictionary keeping group members while request is in progress + + - - Dictionary keeping mebmer/role mapping while request is in progress + + - - Dictionary keeping GroupRole information while request is in progress + + - - Caches group name lookups + + - - - Construct a new instance of the GroupManager class - - A reference to the current instance + + - - - Request a current list of groups the avatar is a member of. - - CAPS Event Queue must be running for this to work since the results - come across CAPS. + + - - - Lookup name of group based on groupID - - groupID of group to lookup name for. + + - - - Request lookup of multiple group names - - List of group IDs to request. + + - - Lookup group profile data such as name, enrollment, founder, logo, etc - Subscribe to OnGroupProfile event to receive the results. - group ID (UUID) + + - - Request a list of group members. - Subscribe to OnGroupMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + - - Request group roles - Subscribe to OnGroupRoles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + - - Request members (members,role) role mapping for a group. - Subscribe to OnGroupRolesMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + - - Request a groups Titles - Subscribe to OnGroupTitles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + - - Begin to get the group account summary - Subscribe to the OnGroupAccountSummary event to receive the results. - group ID (UUID) - How long of an interval - Which interval (0 for current, 1 for last) + + - - Invites a user to a group - The group to invite to - A list of roles to invite a person to - Key of person to invite + + - - Set a group as the current active group - group ID (UUID) + + - - Change the role that determines your active title - Group ID to use - Role ID to change to + + - - Set this avatar's tier contribution - Group ID to change tier in - amount of tier to donate + + - - - Save wheather agent wants to accept group notices and list this group in their profile - - Group - Accept notices from this group - List this group in the profile + + - - Request to join a group - Subscribe to OnGroupJoined event for confirmation. - group ID (UUID) to join. + + - - - Request to create a new group. If the group is successfully - created, L$100 will automatically be deducted - - Subscribe to OnGroupCreated event to receive confirmation. - Group struct containing the new group info + + - - Update a group's profile and other information - Groups ID (UUID) to update. - Group struct to update. + + - - Eject a user from a group - Group ID to eject the user from - Avatar's key to eject + + - - Update role information - Modified role to be updated + + - - Create a new group role - Group ID to update - Role to create + + - - Delete a group role - Group ID to update - Role to delete + + - - Remove an avatar from a role - Group ID to update - Role ID to be removed from - Avatar's Key to remove + + - - Assign an avatar to a role - Group ID to update - Role ID to assign to - Avatar's ID to assign to role + + - - Request the group notices list - Group ID to fetch notices for + + - - Request a group notice by key - ID of group notice + + - - Send out a group notice - Group ID to update - GroupNotice structure containing notice data + + - - Start a group proposal (vote) - The Group ID to send proposal to - GroupProposal structure containing the proposal + + - - Request to leave a group - Subscribe to OnGroupLeft event to receive confirmation - The group to leave + + - - - Gets the URI of the cpability for handling group bans - - Group ID - null, if the feature is not supported, or URI of the capability + + - - - Request a list of residents banned from joining a group - - UUID of the group + + - - - Request a list of residents banned from joining a group - - UUID of the group - Callback on request completition + + - - - Request that group of agents be banned or unbanned from the group - - Group ID - Ban/Unban action - Array of agents UUIDs to ban + + - - - Request that group of agents be banned or unbanned from the group - - Group ID - Ban/Unban action - Array of agents UUIDs to ban - Callback + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Raised when the simulator sends us data containing - our current group membership + + - - Raised when the simulator responds to a RequestGroupName - or RequestGroupNames request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when a response to a RequestGroupAccountSummary is returned - by the simulator + + - - Raised when a request to create a group is successful + + - - Raised when a request to join a group either - fails or succeeds + + - - Raised when a request to leave a group either - fails or succeeds + + - - Raised when A group is removed from the group server + + - - Raised when a request to eject a member from a group either - fails or succeeds + + - - Raised when the simulator sends us group notices - + + - - Raised when another agent invites our avatar to join a group + + - - Raised when another agent invites our avatar to join a group + + - - Contains the current groups your agent is a member of + + - - Construct a new instance of the CurrentGroupsEventArgs class - The current groups your agent is a member of + + - - Get the current groups your agent is a member of + + - - A Dictionary of group names, where the Key is the groups ID and the value is the groups name + + - - Construct a new instance of the GroupNamesEventArgs class - The Group names dictionary + + - - Get the Group Names dictionary + + - - Represents the members of a group + + - - - Construct a new instance of the GroupMembersReplyEventArgs class - - The ID of the request - The ID of the group - The membership list of the group + + - - Get the ID as returned by the request to correlate - this result set and the request + + - - Get the ID of the group + + - - Get the dictionary of members + + - - Represents the roles associated with a group + + - - Construct a new instance of the GroupRolesDataReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The dictionary containing the roles + + - - Get the ID as returned by the request to correlate - this result set and the request + + - - Get the ID of the group + + - - Get the dictionary containing the roles + + - - Represents the Role to Member mappings for a group + + - - Construct a new instance of the GroupRolesMembersReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The member to roles map + + - - Get the ID as returned by the request to correlate - this result set and the request + + - - Get the ID of the group + + - - Get the member to roles map + + - - Represents the titles for a group + + - - Construct a new instance of the GroupTitlesReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The titles + + - - Get the ID as returned by the request to correlate - this result set and the request + + - - Get the ID of the group + + - - Get the titles + + - - Represents the summary data for a group + + - - Construct a new instance of the GroupAccountSummaryReplyEventArgs class - The ID of the group - The summary data + + - - Get the ID of the group + + - - Get the summary data + + - - A response to a group create request + + - - Construct a new instance of the GroupCreatedReplyEventArgs class - The ID of the group - the success or faulure of the request - A string containing additional information + + - - Get the ID of the group + + - - true of the group was created successfully + + - - A string containing the message + + - - Represents a response to a request + + - - Construct a new instance of the GroupOperationEventArgs class - The ID of the group - true of the request was successful + + - - Get the ID of the group + + - - true of the request was successful + + - - Represents your agent leaving a group + + - - Construct a new instance of the GroupDroppedEventArgs class - The ID of the group + + - - Get the ID of the group + + - - Represents a list of active group notices + + - - Construct a new instance of the GroupNoticesListReplyEventArgs class - The ID of the group - The list containing active notices + + - - Get the ID of the group + + - - Get the notices list + + - - Represents the profile of a group + + - - Construct a new instance of the GroupProfileEventArgs class - The group profile + + - - Get the group profile + + - - - Provides notification of a group invitation request sent by another Avatar - - The invitation is raised when another avatar makes an offer for our avatar - to join a group. + + - - The ID of the Avatar sending the group invitation + + - - The name of the Avatar sending the group invitation + + - - A message containing the request information which includes - the name of the group, the groups charter and the fee to join details + + - - The Simulator + + - - Set to true to accept invitation, false to decline + + - - - Result of the request for list of agents banned from a group - + + - - Indicates if list of banned agents for a group was successfully retrieved + + - - Indicates if list of banned agents for a group was successfully retrieved + + - - Array containing a list of UUIDs of the agents banned from a group + + - - - Static helper functions and global variables - + + - - This header flag signals that ACKs are appended to the packet + + - - This header flag signals that this packet has been sent before + + - - This header flags signals that an ACK is expected for this packet + + - - This header flag signals that the message is compressed using zerocoding + + - - - - - - + + - - - - - - - + + - - - - - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Origin position of this coordinate frame + + + X axis of this coordinate frame, or Forward/At in grid terms + + + Y axis of this coordinate frame, or Left in grid terms + + + Z axis of this coordinate frame, or Up in grid terms + + - - - + Looking direction, must be a normalized vector + Up direction, must be a normalized vector - + - Given an X/Y location in absolute (grid-relative) terms, a region - handle is returned along with the local X/Y location in that region + Align the coordinate frame X and Y axis with a given rotation + around the Z axis in radians - The absolute X location, a number such as - 255360.35 - The absolute Y location, a number such as - 255360.35 - The sim-local X position of the global X - position, a value from 0.0 to 256.0 - The sim-local Y position of the global Y - position, a value from 0.0 to 256.0 - A 64-bit region handle that can be used to teleport to + Absolute rotation around the Z axis in + radians - + - Converts a floating point number to a terse string format used for - transmitting numbers in wearable asset files + Access to the data server which allows searching for land, events, people, etc - Floating point number to convert to a string - A terse string representation of the input number - - - Convert a variable length field (byte array) to a string, with a - field name prepended to each line of the output - - If the byte array has unprintable characters in it, a - hex dump will be written instead - The StringBuilder object to write to - The byte array to convert to a string - A field name to prepend to each line of output + + Classified Ad categories - - - Decode a zerocoded byte array, used to decompress packets marked - with the zerocoded flag - - Any time a zero is encountered, the next byte is a count - of how many zeroes to expand. One zero is encoded with 0x00 0x01, - two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The - first four bytes are copied directly to the output buffer. - - The byte array to decode - The length of the byte array to decode. This - would be the length of the packet up to (but not including) any - appended ACKs - The output byte array to decode to - The length of the output buffer + + Classified is listed in the Any category - - - Encode a byte array with zerocoding. Used to compress packets marked - with the zerocoded flag. Any zeroes in the array are compressed down - to a single zero byte followed by a count of how many zeroes to expand - out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, - three zeroes becomes 0x00 0x03, etc. The first four bytes are copied - directly to the output buffer. - - The byte array to encode - The length of the byte array to encode - The output byte array to encode to - The length of the output buffer + + Classified is shopping related - - - Calculates the CRC (cyclic redundancy check) needed to upload inventory. - - Creation date - Sale type - Inventory type - Type - Asset ID - Group ID - Sale price - Owner ID - Creator ID - Item ID - Folder ID - Everyone mask (permissions) - Flags - Next owner mask (permissions) - Group mask (permissions) - Owner mask (permissions) - The calculated CRC + + Classified is - - - Attempts to load a file embedded in the assembly - - The filename of the resource to load - A Stream for the requested file, or null if the resource - was not successfully loaded + + - - - Attempts to load a file either embedded in the assembly or found in - a given search path - - The filename of the resource to load - An optional path that will be searched if - the asset is not found embedded in the assembly - A Stream for the requested file, or null if the resource - was not successfully loaded + + - - - Converts a list of primitives to an object that can be serialized - with the LLSD system - - Primitives to convert to a serializable object - An object that can be serialized with LLSD + + - - - Deserializes OSD in to a list of primitives - - Structure holding the serialized primitive list, - must be of the SDMap type - A list of deserialized primitives + + - - - Converts a struct or class object containing fields only into a key value separated string - - The struct object - A string containing the struct fields as the keys, and the field value as the value separated - - - // Add the following code to any struct or class containing only fields to override the ToString() - // method to display the values of the passed object - - /// Print the struct data as a string - ///A string containing the field name, and field value - public override string ToString() - { - return Helpers.StructToString(this); - } - - + + - - - Passed to Logger.Log() to identify the severity of a log entry - + + - - No logging information will be output + + - - Non-noisy useful information, may be helpful in - debugging a problem + + Event Categories - - A non-critical error occurred. A warning will not - prevent the rest of the library from operating as usual, - although it may be indicative of an underlying issue + + - - A critical error has occurred. Generally this will - be followed by the network layer shutting down, although the - stability of the library after an error is uncertain + + - - Used for internal testing, this logging level can - generate very noisy (long and/or repetitive) messages. Don't - pass this to the Log() function, use DebugLog() instead. - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - The InternalDictionary class is used through the library for storing key/value pairs. - It is intended to be a replacement for the generic Dictionary class and should - be used in its place. It contains several methods for allowing access to the data from - outside the library that are read only and thread safe. + Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. + Flags can be combined using the | (pipe) character, not all flags are available in all queries - Key - Value - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking - on this member + + Query the People database - - - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. - - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); - - + + - - - Initializes a new instance of the Class - with the specified key/value, has its initial valies copied from the specified - - - - to copy initial values from - - - // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. - // populates with copied values from example KeyNameCache Dictionary. - - // create source dictionary - Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); - KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); - KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); - - // Initialize new dictionary. - public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); - - + + - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); - - + + Query the Groups database - - - Try to get entry from with specified key - - Key to use for lookup - Value returned - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - + + Query the Events database - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - + + Query the land holdings database for land owned by the currently connected agent - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - + + - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - + + Query the land holdings database for land which is owned by a Group - - Perform an on each entry in an - to perform - - - // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. - Client.Network.CurrentSim.ObjectsPrimitives.ForEach( - delegate(Primitive prim) - { - if (prim.Text != null) - { - Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", - prim.PropertiesFamily.Name, prim.ID, prim.Text); - } - }); - - + + Specifies the query should pre sort the results based upon traffic + when searching the Places database - - Perform an on each key of an - to perform + + - - - Perform an on each KeyValuePair of an - - to perform + + - - Check if Key exists in Dictionary - Key to check for - if found, otherwise + + - - Check if Value exists in Dictionary - Value to check for - if found, otherwise + + - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - - The key - The value + + Specifies the query should pre sort the results in an ascending order when searching the land sales database. + This flag is only used when searching the land sales database - - - Removes the specified key, dictionary locking is not performed - - The key. - if successful, otherwise + + Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. + This flag is only used when searching the land sales database - - - Gets the number of Key/Value pairs contained in the - + + Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. + This flag is only used when searching the land sales database - - - Indexer for the dictionary - - The key - The value + + Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. + This flag is only used when searching the land sales database - + + Specifies the query should pre sort the results using the Name field when searching the land sales database. + This flag is only used when searching the land sales database + + + When set, only parcels less than the specified Price will be included when searching the land sales database. + This flag is only used when searching the land sales database + + + When set, only parcels greater than the specified Size will be included when searching the land sales database. + This flag is only used when searching the land sales database + + + + + + + + + Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + + + - Exception class to identify inventory exceptions + Land types to search dataserver for - + + Search Auction, Mainland and Estate + + + Land which is currently up for auction + + + Parcels which are on the mainland (Linden owned) continents + + + Parcels which are on privately owned simulators + + - Responsible for maintaining inventory structure. Inventory constructs nodes - and manages node children as is necessary to maintain a coherant hirarchy. - Other classes should not manipulate or create InventoryNodes explicitly. When - A node's parent changes (when a folder is moved, for example) simply pass - Inventory the updated InventoryFolder and it will make the appropriate changes - to its internal representation. + The content rating of the event - - The event subscribers, null of no subscribers + + Event is PG - - Raises the InventoryObjectUpdated Event - A InventoryObjectUpdatedEventArgs object containing - the data sent from the simulator + + Event is Mature - - Thread sync lock object + + Event is Adult - - The event subscribers, null of no subscribers + + + Classified Ad Options + + There appear to be two formats the flags are packed in. + This set of flags is for the newer style - - Raises the InventoryObjectRemoved Event - A InventoryObjectRemovedEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the InventoryObjectAdded Event - A InventoryObjectAddedEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + - + - Returns the contents of the specified folder + Classified ad query options - A folder's UUID - The contents of the folder corresponding to folder - When folder does not exist in the inventory - - - Updates the state of the InventoryNode and inventory data structure that - is responsible for the InventoryObject. If the item was previously not added to inventory, - it adds the item, and updates structure accordingly. If it was, it updates the - InventoryNode, changing the parent node if item.parentUUID does - not match node.Parent.Data.UUID. - - You can not set the inventory root folder using this method - - The InventoryObject to store + + Include all ads in results - + + Include PG ads in results + + + Include Mature ads in results + + + Include Adult ads in results + + - Removes the InventoryObject and all related node data from Inventory. + The For Sale flag in PlacesReplyData - The InventoryObject to remove. - + + Parcel is not listed for sale + + + Parcel is For Sale + + - Used to find out if Inventory contains the InventoryObject - specified by uuid. + A classified ad on the grid - The UUID to check. - true if inventory contains uuid, false otherwise - + + UUID for this ad, useful for looking up detailed + information about it + + + The title of this classified ad + + + Flags that show certain options applied to the classified + + + Creation date of the ad + + + Expiration date of the ad + + + Price that was paid for this ad + + + Print the struct data as a string + A string containing the field name, and field value + + - Saves the current inventory structure to a cache file + A parcel retrieved from the dataserver such as results from the + "For-Sale" listings or "Places" Search - Name of the cache file to save to - + + The unique dataserver parcel ID + This id is used to obtain additional information from the entry + by using the method + + + A string containing the name of the parcel + + + The size of the parcel + This field is not returned for Places searches + + + The price of the parcel + This field is not returned for Places searches + + + If True, this parcel is flagged to be auctioned + + + If true, this parcel is currently set for sale + + + Parcel traffic + + + Print the struct data as a string + A string containing the field name, and field value + + - Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + An Avatar returned from the dataserver - Name of the cache file to load - The number of inventory items sucessfully reconstructed into the inventory node tree - - Raised when the simulator sends us data containing - ... + + Online status of agent + This field appears to be obsolete and always returns false - - Raised when the simulator sends us data containing - ... + + The agents first name - - Raised when the simulator sends us data containing - ... + + The agents last name + + + The agents + + + Print the struct data as a string + A string containing the field name, and field value - + - The root folder of this avatars inventory + Response to a "Groups" Search - - - The default shared library folder - + + The Group ID - - - The root node of the avatars inventory - + + The name of the group - - - The root node of the default shared library - + + The current number of members - + + Print the struct data as a string + A string containing the field name, and field value + + - By using the bracket operator on this class, the program can get the - InventoryObject designated by the specified uuid. If the value for the corresponding - UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). - If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), - the uuid parameter is ignored. + Parcel information returned from a request + + Represents one of the following: + A parcel of land on the grid that has its Show In Search flag set + A parcel of land owned by the agent making the request + A parcel of land owned by a group the agent making the request is a member of + + + In a request for Group Land, the First record will contain an empty record + + Note: This is not the same as searching the land for sale data source - The UUID of the InventoryObject to get or set, ignored if set to non-null value. - The InventoryObject corresponding to uuid. - - Sort by name + + The ID of the Agent of Group that owns the parcel - - Sort by date + + The name - - Sort folders by name, regardless of whether items are - sorted by name or date + + The description - - Place system folders at the top + + The Size of the parcel - - - Possible destinations for DeRezObject request - + + The billable Size of the parcel, for mainland + parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller + than the ActualArea. For Estate land this will always be 0 - - + + Indicates the ForSale status of the parcel - - Copy from in-world to agent inventory + + The Gridwide X position - - Derez to TaskInventory + + The Gridwide Y position - - + + The Z position of the parcel, or 0 if no landing point set - - Take Object + + The name of the Region the parcel is located in - - + + The Asset ID of the parcels Snapshot texture - - Delete Object + + The calculated visitor traffic - - Put an avatar attachment into agent inventory + + The billing product SKU + Known values are: + + 023Mainland / Full Region + 024Estate / Full Region + 027Estate / Openspace + 029Estate / Homestead + 129Mainland / Homestead (Linden Owned) + + - - + + No longer used, will always be 0 - - Return an object back to the owner's inventory + + Get a SL URL for the parcel + A string, containing a standard SLURL - - Return a deeded object back to the last owner's inventory + + Print the struct data as a string + A string containing the field name, and field value - + - Upper half of the Flags field for inventory items + An "Event" Listing summary - - Indicates that the NextOwner permission will be set to the - most restrictive set of permissions found in the object set - (including linkset items and object inventory items) on next rez - - - Indicates that the object sale information has been - changed - - - If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez + + The ID of the event creator - - If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez + + The name of the event - - If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez + + The events ID - - If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez + + A string containing the short date/time the event will begin - - If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez + + The event start time in Unixtime (seconds since epoch) - - Indicates whether this object is composed of multiple - items or not + + The events maturity rating - - Indicates that the asset is only referenced by this - inventory item. If this item is deleted or updated to reference a - new assetID, the asset can be deleted + + Print the struct data as a string + A string containing the field name, and field value - + - Base Class for Inventory Items + The details of an "Event" - - of item/folder + + The events ID - - of parent folder + + The ID of the event creator - - Name of item/folder + + The name of the event - - Item/Folder Owners + + The category - - - Constructor, takes an itemID as a parameter - - The of the item + + The events description - - - - - + + The short date/time the event will begin - - - - - + + The event start time in Unixtime (seconds since epoch) UTC adjusted - - - Generates a number corresponding to the value of the object to support the use of a hash table, - suitable for use in hashing algorithms and data structures such as a hash table - - A Hashcode of all the combined InventoryBase fields + + The length of the event in minutes - - - Determine whether the specified object is equal to the current object - - InventoryBase object to compare against - true if objects are the same + + 0 if no cover charge applies - - - Determine whether the specified object is equal to the current object - - InventoryBase object to compare against - true if objects are the same + + The cover charge amount in L$ if applicable - - - Convert inventory to OSD - - OSD representation + + The name of the region where the event is being held - - - An Item in Inventory - + + The gridwide location of the event - - The of this item + + The maturity rating - - The combined of this item + + Get a SL URL for the parcel where the event is hosted + A string, containing a standard SLURL - - The type of item from + + Print the struct data as a string + A string containing the field name, and field value - - The type of item from the enum + + The event subscribers. null if no subcribers - - The of the creator of this item + + Raises the EventInfoReply event + An EventInfoReplyEventArgs object containing the + data returned from the data server - - A Description of this item + + Thread sync lock object - - The s this item is set to or owned by + + Raised when the data server responds to a request. - - If true, item is owned by a group + + The event subscribers. null if no subcribers - - The price this item can be purchased for + + Raises the DirEventsReply event + An DirEventsReplyEventArgs object containing the + data returned from the data server - - The type of sale from the enum + + Thread sync lock object - - Combined flags from + + Raised when the data server responds to a request. - - Time and date this inventory item was created, stored as - UTC (Coordinated Universal Time) + + The event subscribers. null if no subcribers - - Used to update the AssetID in requests sent to the server + + Raises the PlacesReply event + A PlacesReplyEventArgs object containing the + data returned from the data server - - The of the previous owner of the item + + Thread sync lock object - - - Construct a new InventoryItem object - - The of the item + + Raised when the data server responds to a request. - - - Construct a new InventoryItem object of a specific Type - - The type of item from - of the item + + The event subscribers. null if no subcribers - - - Indicates inventory item is a link - - True if inventory item is a link to another inventory item + + Raises the DirPlacesReply event + A DirPlacesReplyEventArgs object containing the + data returned from the data server - - - - - + + Thread sync lock object - - - - - + + Raised when the data server responds to a request. - - - Generates a number corresponding to the value of the object to support the use of a hash table. - Suitable for use in hashing algorithms and data structures such as a hash table - - A Hashcode of all the combined InventoryItem fields + + The event subscribers. null if no subcribers - - - Compares an object - - The object to compare - true if comparison object matches + + Raises the DirClassifiedsReply event + A DirClassifiedsReplyEventArgs object containing the + data returned from the data server - - - Determine whether the specified object is equal to the current object - - The object to compare against - true if objects are the same + + Thread sync lock object - - - Determine whether the specified object is equal to the current object - - The object to compare against - true if objects are the same + + Raised when the data server responds to a request. - - - Create InventoryItem from OSD - - OSD Data that makes up InventoryItem - Inventory item created + + The event subscribers. null if no subcribers - - - Convert InventoryItem to OSD - - OSD representation of InventoryItem + + Raises the DirGroupsReply event + A DirGroupsReplyEventArgs object containing the + data returned from the data server - - - InventoryTexture Class representing a graphical image - - + + Thread sync lock object - - - Construct an InventoryTexture object - - A which becomes the - objects AssetUUID + + Raised when the data server responds to a request. - - - Construct an InventoryTexture object from a serialization stream - + + The event subscribers. null if no subcribers - - - InventorySound Class representing a playable sound - + + Raises the DirPeopleReply event + A DirPeopleReplyEventArgs object containing the + data returned from the data server - - - Construct an InventorySound object - - A which becomes the - objects AssetUUID + + Thread sync lock object - - - Construct an InventorySound object from a serialization stream - + + Raised when the data server responds to a request. - - - InventoryCallingCard Class, contains information on another avatar - + + The event subscribers. null if no subcribers - - - Construct an InventoryCallingCard object - - A which becomes the - objects AssetUUID + + Raises the DirLandReply event + A DirLandReplyEventArgs object containing the + data returned from the data server - - - Construct an InventoryCallingCard object from a serialization stream - + + Thread sync lock object - + + Raised when the data server responds to a request. + + - InventoryLandmark Class, contains details on a specific location + Constructs a new instance of the DirectoryManager class + An instance of GridClient - + - Construct an InventoryLandmark object + Query the data server for a list of classified ads containing the specified string. + Defaults to searching for classified placed in any category, and includes PG, Adult and Mature + results. + + Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + + The event is raised when a response is received from the simulator - A which becomes the - objects AssetUUID + A string containing a list of keywords to search for + A UUID to correlate the results when the event is raised - + - Construct an InventoryLandmark object from a serialization stream + Query the data server for a list of classified ads which contain specified keywords (Overload) + + The event is raised when a response is received from the simulator + A string containing a list of keywords to search for + The category to search + A set of flags which can be ORed to modify query options + such as classified maturity rating. + A UUID to correlate the results when the event is raised + + Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature + + UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); + + + + Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + - + - Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited + Starts search for places (Overloaded) + + The event is raised when a response is received from the simulator + Search text + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised - + - InventoryObject Class contains details on a primitive or coalesced set of primitives + Queries the dataserver for parcels of land which are flagged to be shown in search + + The event is raised when a response is received from the simulator + A string containing a list of keywords to search for separated by a space character + A set of flags which can be ORed to modify query options + such as classified maturity rating. + The category to search + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised + + Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult + + UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); + + + + Additional information on the results can be obtained by using the ParcelManager.InfoRequest method + - + - Construct an InventoryObject object + Starts a search for land sales using the directory + + The event is raised when a response is received from the simulator - A which becomes the - objects AssetUUID + What type of land to search for. Auction, + estate, mainland, "first land", etc + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. - + - Construct an InventoryObject object from a serialization stream + Starts a search for land sales using the directory + + The event is raised when a response is received from the simulator + What type of land to search for. Auction, + estate, mainland, "first land", etc + Maximum price to search for + Maximum area to search for + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. - + - Gets or sets the upper byte of the Flags value + Send a request to the data server for land sales listings + + Flags sent to specify query options + + Available flags: + Specify the parcel rating with one or more of the following: + IncludePG IncludeMature IncludeAdult + + Specify the field to pre sort the results with ONLY ONE of the following: + PerMeterSort NameSort AreaSort PricesSort + + Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order + SortAsc + + Specify additional filters to limit the results with one or both of the following: + LimitByPrice LimitByArea + + Flags can be combined by separating them with the | (pipe) character + + Additional details can be found in + + What type of land to search for. Auction, + Estate or Mainland + Maximum price to search for when the + DirFindFlags.LimitByPrice flag is specified in findFlags + Maximum area to search for when the + DirFindFlags.LimitByArea flag is specified in findFlags + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + The event will be raised with the response from the simulator + + There is no way to determine how many results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each reply. + + Any land set for sale to either anybody or specific to the connected agent will be included in the + results if the land is included in the query + + + // request all mainland, any maturity rating that is larger than 512 sq.m + StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); + - + - Gets or sets the object attachment point, the lower byte of the Flags value + Search for Groups + The name or portion of the name of the group you wish to search for + Start from the match number + - + - InventoryNotecard Class, contains details on an encoded text document + Search for Groups + The name or portion of the name of the group you wish to search for + Start from the match number + Search flags + - + - Construct an InventoryNotecard object + Search the People directory for other avatars - A which becomes the - objects AssetUUID + The name or portion of the name of the avatar you wish to search for + + - + - Construct an InventoryNotecard object from a serialization stream + Search Places for parcels of land you personally own - + - InventoryCategory Class + Searches Places for land owned by the specified group - TODO: Is this even used for anything? + ID of the group you want to recieve land list for (You must be a member of the group) + Transaction (Query) ID which can be associated with results from your request. - + - Construct an InventoryCategory object + Search the Places directory for parcels that are listed in search and contain the specified keywords - A which becomes the - objects AssetUUID + A string containing the keywords to search for + Transaction (Query) ID which can be associated with results from your request. - + - Construct an InventoryCategory object from a serialization stream + Search Places - All Options + One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. + One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer + A string containing a list of keywords to search for separated by a space character + String Simulator Name to search in + LLUID of group you want to recieve results for + Transaction (Query) ID which can be associated with results from your request. + Transaction (Query) ID which can be associated with results from your request. - + - InventoryLSL Class, represents a Linden Scripting Language object + Search All Events with specifid searchText in all categories, includes PG, Mature and Adult + A string containing a list of keywords to search for separated by a space character + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + UUID of query to correlate results in callback. - + - Construct an InventoryLSL object + Search Events - A which becomes the - objects AssetUUID + A string containing a list of keywords to search for separated by a space character + One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult + from the Enum + + Multiple flags can be combined by separating the flags with the | (pipe) character + "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled + For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + EventCategory event is listed under. + UUID of query to correlate results in callback. - - - Construct an InventoryLSL object from a serialization stream - + + Requests Event Details + ID of Event returned from the method - - - InventorySnapshot Class, an image taken with the viewer - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Construct an InventorySnapshot object - - A which becomes the - objects AssetUUID + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Construct an InventorySnapshot object from a serialization stream - + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from - - - InventoryAttachment Class, contains details on an attachable object - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Construct an InventoryAttachment object - - A which becomes the - objects AssetUUID + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Construct an InventoryAttachment object from a serialization stream - + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from - - - Get the last AttachmentPoint this object was attached to - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - InventoryWearable Class, details on a clothing item or body part - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Construct an InventoryWearable object - - A which becomes the - objects AssetUUID + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Construct an InventoryWearable object from a serialization stream - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - The , Skin, Shape, Skirt, Etc - + + Contains the Event data returned from the data server from an EventInfoRequest - + - InventoryAnimation Class, A bvh encoded object which animates an avatar + A single EventInfo object containing the details of an event - - - Construct an InventoryAnimation object - - A which becomes the - objects AssetUUID + + Construct a new instance of the EventInfoReplyEventArgs class + A single EventInfo object containing the details of an event - - - Construct an InventoryAnimation object from a serialization stream - + + Contains the "Event" detail data returned from the data server - - - InventoryGesture Class, details on a series of animations, sounds, and actions - + + The ID returned by - - - Construct an InventoryGesture object - - A which becomes the - objects AssetUUID + + A list of "Events" returned by the data server - - - Construct an InventoryGesture object from a serialization stream - + + Construct a new instance of the DirEventsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Events" returned by the search query - - - A folder contains s and has certain attributes specific - to itself - + + Contains the "Event" list data returned from the data server - - The Preferred for a folder. + + The ID returned by - - The Version of this folder + + A list of "Places" returned by the data server - - Number of child items this folder contains. + + Construct a new instance of PlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Places" returned by the data server query - - - Constructor - - UUID of the folder + + Contains the places data returned from the data server - - - - - + + The ID returned by - - - Get Serilization data for this InventoryFolder object - + + A list containing Places data returned by the data server - - - Construct an InventoryFolder object from a serialization stream - + + Construct a new instance of the DirPlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing land data returned by the data server - - - - - + + Contains the classified data returned from the data server - - - - - - + + A list containing Classified Ads returned by the data server - - - - - - + + Construct a new instance of the DirClassifiedsReplyEventArgs class + A list of classified ad data returned from the data server - - - - - - + + Contains the group data returned from the data server - - - Create InventoryFolder from OSD - - OSD Data that makes up InventoryFolder - Inventory folder created + + The ID returned by - - - Convert InventoryItem to OSD - - OSD representation of InventoryItem + + A list containing Groups data returned by the data server - - - Tools for dealing with agents inventory - + + Construct a new instance of the DirGroupsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of groups data returned by the data server - - Used for converting shadow_id to asset_id + + Contains the people data returned from the data server - - The event subscribers, null of no subscribers + + The ID returned by - - Raises the ItemReceived Event - A ItemReceivedEventArgs object containing - the data sent from the simulator + + A list containing People data returned by the data server - - Thread sync lock object + + Construct a new instance of the DirPeopleReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of people data returned by the data server - - The event subscribers, null of no subscribers + + Contains the land sales data returned from the data server - - Raises the FolderUpdated Event - A FolderUpdatedEventArgs object containing - the data sent from the simulator + + A list containing land forsale data returned by the data server - - Thread sync lock object + + Construct a new instance of the DirLandReplyEventArgs class + A list of parcels for sale returned by the data server - - The event subscribers, null of no subscribers + + + Represends individual HTTP Download request + - - Raises the InventoryObjectOffered Event - A InventoryObjectOfferedEventArgs object containing - the data sent from the simulator + + URI of the item to fetch - - Thread sync lock object + + Timout specified in milliseconds - - The event subscribers, null of no subscribers + + Download progress callback - - Raises the TaskItemReceived Event - A TaskItemReceivedEventArgs object containing - the data sent from the simulator + + Download completed callback - - Thread sync lock object + + Accept the following content type - - The event subscribers, null of no subscribers + + How many times will this request be retried - - Raises the FindObjectByPath Event - A FindObjectByPathEventArgs object containing - the data sent from the simulator + + Current fetch attempt - - Thread sync lock object + + Default constructor - - The event subscribers, null of no subscribers + + Constructor - - Raises the TaskInventoryReply Event - A TaskInventoryReplyEventArgs object containing - the data sent from the simulator + + + Manages async HTTP downloads with a limit on maximum + concurrent downloads + - - Thread sync lock object + + Maximum number of parallel downloads from a single endpoint - - The event subscribers, null of no subscribers + + Client certificate - - Raises the SaveAssetToInventory Event - A SaveAssetToInventoryEventArgs object containing - the data sent from the simulator + + Default constructor - - Thread sync lock object + + Cleanup method - - The event subscribers, null of no subscribers + + Setup http download request - - Raises the ScriptRunningReply Event - A ScriptRunningReplyEventArgs object containing - the data sent from the simulator + + Check the queue for pending work - - Thread sync lock object + + Enqueue a new HTTP download - - Partial mapping of AssetTypes to folder names + + Describes tasks returned in LandStatReply - + - Default constructor + Estate level administration and utilities - Reference to the GridClient object - - - Fetch an inventory item from the dataserver - - The items - The item Owners - a integer representing the number of milliseconds to wait for results - An object on success, or null if no item was found - Items will also be sent to the event + + Textures for each of the four terrain height levels - - - Request A single inventory item - - The items - The item Owners - + + Upper/lower texture boundaries for each corner of the sim - + - Request inventory items + Constructor for EstateTools class - Inventory items to request - Owners of the inventory items - + - - - Request inventory items via Capabilities - - Inventory items to request - Owners of the inventory items - + + Used in the ReportType field of a LandStatRequest - - - Get contents of a folder - - The of the folder to search - The of the folders owner - true to retrieve folders - true to retrieve items - sort order to return results in - a integer representing the number of milliseconds to wait for results - A list of inventory items matching search criteria within folder - - InventoryFolder.DescendentCount will only be accurate if both folders and items are - requested + + Used by EstateOwnerMessage packets - - - Request the contents of an inventory folder - - The folder to search - The folder owners - true to return s contained in folder - true to return s containd in folder - the sort order to return items in - + + Used by EstateOwnerMessage packets - + - Request the contents of an inventory folder using HTTP capabilities + - The folder to search - The folder owners - true to return s contained in folder - true to return s containd in folder - the sort order to return items in - - - - Returns the UUID of the folder (category) that defaults to - containing 'type'. The folder is not necessarily only for that - type - - This will return the root folder if one does not exist - - The UUID of the desired folder if found, the UUID of the RootFolder - if not found, or UUID.Zero on failure + + No flags set - - - Find an object in inventory using a specific path to search - - The folder to begin the search in - The object owners - A string path to search - milliseconds to wait for a reply - Found items or if - timeout occurs or item is not found + + Only return targets scripted objects - - - Find inventory items by path - - The folder to begin the search in - The object owners - A string path to search, folders/objects separated by a '/' - Results are sent to the event + + Only return targets objects if on others land - - - Search inventory Store object for an item or folder - - The folder to begin the search in - An array which creates a path to search - Number of levels below baseFolder to conduct searches - if True, will stop searching after first match is found - A list of inventory items found + + Returns target's scripted objects and objects on other parcels - - - Move an inventory item or folder to a new location - - The item or folder to move - The to move item or folder to + + Ground texture settings for each corner of the region - - - Move an inventory item or folder to a new location and change its name - - The item or folder to move - The to move item or folder to - The name to change the item or folder to + + Used by GroundTextureHeightSettings - - - Move and rename a folder - - The source folders - The destination folders - The name to change the folder to + + The high and low texture thresholds for each corner of the sim - - - Update folder properties - - of the folder to update - Sets folder's parent to - Folder name - Folder type + + The event subscribers. null if no subcribers - - - Move a folder - - The source folders - The destination folders + + Raises the TopCollidersReply event + A TopCollidersReplyEventArgs object containing the + data returned from the data server - - - Move multiple folders, the keys in the Dictionary parameter, - to a new parents, the value of that folder's key. - - A Dictionary containing the - of the source as the key, and the - of the destination as the value + + Thread sync lock object - - - Move an inventory item to a new folder - - The of the source item to move - The of the destination folder + + Raised when the data server responds to a request. - - - Move and rename an inventory item - - The of the source item to move - The of the destination folder - The name to change the folder to + + The event subscribers. null if no subcribers - - - Move multiple inventory items to new locations - - A Dictionary containing the - of the source item as the key, and the - of the destination folder as the value + + Raises the TopScriptsReply event + A TopScriptsReplyEventArgs object containing the + data returned from the data server - - - Remove descendants of a folder - - The of the folder + + Thread sync lock object - - - Remove a single item from inventory - - The of the inventory item to remove + + Raised when the data server responds to a request. - - - Remove a folder from inventory - - The of the folder to remove + + The event subscribers. null if no subcribers - - - Remove multiple items or folders from inventory - - A List containing the s of items to remove - A List containing the s of the folders to remove + + Raises the EstateUsersReply event + A EstateUsersReplyEventArgs object containing the + data returned from the data server - - - Empty the Lost and Found folder - + + Thread sync lock object - - - Empty the Trash folder - + + Raised when the data server responds to a request. - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - + + The event subscribers. null if no subcribers - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - + + Raises the EstateGroupsReply event + A EstateGroupsReplyEventArgs object containing the + data returned from the data server - - - Creates a new inventory folder - - ID of the folder to put this folder in - Name of the folder to create - The UUID of the newly created folder + + Thread sync lock object - - - Creates a new inventory folder - - ID of the folder to put this folder in - Name of the folder to create - Sets this folder as the default folder - for new assets of the specified type. Use AssetType.Unknown - to create a normal folder, otherwise it will likely create a - duplicate of an existing folder type - The UUID of the newly created folder - If you specify a preferred type of AsseType.Folder - it will create a new root folder which may likely cause all sorts - of strange problems + + Raised when the data server responds to a request. - - - Create an inventory item and upload asset data - - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Delegate that will receive feedback on success or failure + + The event subscribers. null if no subcribers - - - Create an inventory item and upload asset data - - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Permission of the newly created item - (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) - Delegate that will receive feedback on success or failure + + Raises the EstateManagersReply event + A EstateManagersReplyEventArgs object containing the + data returned from the data server - - - Creates inventory link to another inventory item or folder - - Put newly created link in folder with this UUID - Inventory item or folder - Method to call upon creation of the link + + Thread sync lock object - - - Creates inventory link to another inventory item - - Put newly created link in folder with this UUID - Original inventory item - Method to call upon creation of the link + + Raised when the data server responds to a request. - - - Creates inventory link to another inventory folder - - Put newly created link in folder with this UUID - Original inventory folder - Method to call upon creation of the link + + The event subscribers. null if no subcribers - - - Creates inventory link to another inventory item or folder - - Put newly created link in folder with this UUID - Original item's UUID - Name - Description - Asset Type - Inventory Type - Transaction UUID - Method to call upon creation of the link + + Raises the EstateBansReply event + A EstateBansReplyEventArgs object containing the + data returned from the data server - - - - - - - - + + Thread sync lock object - - - - - - - - - + + Raised when the data server responds to a request. - - - - - - - - - + + The event subscribers. null if no subcribers - - - Request a copy of an asset embedded within a notecard - - Usually UUID.Zero for copying an asset from a notecard - UUID of the notecard to request an asset from - Target folder for asset to go to in your inventory - UUID of the embedded asset - callback to run when item is copied to inventory + + Raises the EstateCovenantReply event + A EstateCovenantReplyEventArgs object containing the + data returned from the data server - - - - - + + Thread sync lock object - - - - - + + Raised when the data server responds to a request. - - - - - - + + The event subscribers. null if no subcribers + + + Raises the EstateUpdateInfoReply event + A EstateUpdateInfoReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object - - - - - - - + + Raised when the data server responds to a request. - + - Save changes to notecard embedded in object contents + Requests estate information such as top scripts and colliders - Encoded notecard asset data - Notecard UUID - Object's UUID - Called upon finish of the upload with status information + + + + - - - Upload new gesture asset for an inventory gesture item - - Encoded gesture asset - Gesture inventory UUID - Callback whick will be called when upload is complete + + Requests estate settings, including estate manager and access/ban lists - - - Update an existing script in an agents Inventory - - A byte[] array containing the encoded scripts contents - the itemID of the script - if true, sets the script content to run on the mono interpreter - + + Requests the "Top Scripts" list for the current region - - - Update an existing script in an task Inventory - - A byte[] array containing the encoded scripts contents - the itemID of the script - UUID of the prim containting the script - if true, sets the script content to run on the mono interpreter - if true, sets the script to running - + + Requests the "Top Colliders" list for the current region - + - Rez an object from inventory + Set several estate specific configuration variables - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details + The Height of the waterlevel over the entire estate. Defaults to 20 + The maximum height change allowed above the baked terrain. Defaults to 4 + The minimum height change allowed below the baked terrain. Defaults to -4 + true to use + if True forces the sun position to the position in SunPosition + The current position of the sun on the estate, or when FixedSun is true the static position + the sun will remain. 6.0 = Sunrise, 30.0 = Sunset - + - Rez an object from inventory + Request return of objects owned by specified avatar - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object + The Agents owning the primitives to return + specify the coverage and type of objects to be included in the return + true to perform return on entire estate - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - User defined queryID to correlate replies - If set to true, the CreateSelected flag - will be set on the rezzed object + + + + - + - Rez an object from inventory + Used for setting and retrieving various estate panel settings - Simulator to place object in - TaskID object when rezzed - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - User defined queryID to correlate replies - If set to true, the CreateSelected flag - will be set on the rezzed object + EstateOwnerMessage Method field + List of parameters to include - + - DeRez an object from the simulator to the agents Objects folder in the agents Inventory + Kick an avatar from an estate - The simulator Local ID of the object - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed + Key of Agent to remove - + - DeRez an object from the simulator and return to inventory - - The simulator Local ID of the object - The type of destination from the enum - The destination inventory folders -or- - if DeRezzing object to a tasks Inventory, the Tasks - The transaction ID for this request which - can be used to correlate this request with other packets - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed + Ban an avatar from an estate + Key of Agent to remove + Ban user from this estate and all others owned by the estate owner - - - Rez an item from inventory to its previous simulator location - - - - - + + Unban an avatar from an estate + Key of Agent to remove + /// Unban user from this estate and all others owned by the estate owner - + - Give an inventory item to another avatar + Send a message dialog to everyone in an entire estate - The of the item to give - The name of the item - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer + Message to send all users in the estate - + - Give an inventory Folder with contents to another avatar + Send a message dialog to everyone in a simulator - The of the Folder to give - The name of the folder - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer + Message to send all users in the simulator - + - Copy or move an from agent inventory to a task (primitive) inventory + Send an avatar back to their home location - The target object - The item to copy or move from inventory - - For items with copy permissions a copy of the item is placed in the tasks inventory, - for no-copy items the object is moved to the tasks inventory + Key of avatar to send home - + - Retrieve a listing of the items contained in a task (Primitive) + Begin the region restart process - The tasks - The tasks simulator local ID - milliseconds to wait for reply from simulator - A list containing the inventory items inside the task or null - if a timeout occurs - This request blocks until the response from the simulator arrives - or timeoutMS is exceeded - + - Request the contents of a tasks (primitives) inventory from the - current simulator + Cancels a region restart - The LocalID of the object - - - - Request the contents of a tasks (primitives) inventory - - The simulator Local ID of the object - A reference to the simulator object that contains the object - + + Estate panel "Region" tab settings - - - Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory - - LocalID of the object in the simulator - UUID of the task item to move - The ID of the destination folder in this agents inventory - Simulator Object - Raises the event + + Estate panel "Debug" tab settings - - - Remove an item from an objects (Prim) Inventory - - LocalID of the object in the simulator - UUID of the task item to remove - Simulator Object - You can confirm the removal by comparing the tasks inventory serial before and after the - request with the request combined with - the event + + Used for setting the region's terrain textures for its four height levels + + + + - - - Copy an InventoryScript item from the Agents Inventory into a primitives task inventory - - An unsigned integer representing a primitive being simulated - An which represents a script object from the agents inventory - true to set the scripts running state to enabled - A Unique Transaction ID - - The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory - and assumes the script exists in the agents inventory. - - uint primID = 95899503; // Fake prim ID - UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory - - Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, - false, true, InventorySortOrder.ByName, 10000); - - Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); - - + + Used for setting sim terrain texture heights - - - Request the running status of a script contained in a task (primitive) inventory - - The ID of the primitive containing the script - The ID of the script - The event can be used to obtain the results of the - request - + + Requests the estate covenant - + - Send a request to set the running state of a script contained in a task (primitive) inventory + Upload a terrain RAW file - The ID of the primitive containing the script - The ID of the script - true to set the script running, false to stop a running script - To verify the change you can use the method combined - with the event + A byte array containing the encoded terrain data + The name of the file being uploaded + The Id of the transfer request - + - Create a CRC from an InventoryItem + Teleports all users home in current Estate - The source InventoryItem - A uint representing the source InventoryItem as a CRC - + - Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id - - Obfuscated shadow_id value - Deobfuscated asset_id value + Remove estate manager + Key of Agent to Remove + removes manager to this estate and all others owned by the estate owner - + - Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id - - asset_id value to obfuscate - Obfuscated shadow_id value + Add estate manager + Key of Agent to Add + Add agent as manager to this estate and all others owned by the estate owner - + - Wrapper for creating a new object - - The type of item from the enum - The of the newly created object - An object with the type and id passed + Add's an agent to the estate Allowed list + Key of Agent to Add + Add agent as an allowed reisdent to All estates if true - + - Parse the results of a RequestTaskInventory() response - - A string which contains the data from the task reply - A List containing the items contained within the tasks inventory - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + Removes an agent from the estate Allowed list + Key of Agent to Remove + Removes agent as an allowed reisdent from All estates if true - - - UpdateCreateInventoryItem packets are received when a new inventory item - is created. This may occur when an object that's rezzed in world is - taken into inventory, when an item is created using the CreateInventoryItem - packet, or when an object is purchased - - The sender - The EventArgs object containing the packet data + + + + Add's a group to the estate Allowed list + Key of Group to Add + Add Group as an allowed group to All estates if true - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + + Removes a group from the estate Allowed list + Key of Group to Remove + Removes Group as an allowed Group from All estates if true - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - an inventory object sent by another avatar or primitive - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... + + Raised on LandStatReply when the report type is for "top colliders" - + - Get this agents Inventory data + The number of returned items in LandStatReply - + - Callback for inventory item creation finishing + A Dictionary of Object UUIDs to tasks returned in LandStatReply - Whether the request to create an inventory - item succeeded or not - Inventory item being created. If success is - false this will be null - - - Callback for an inventory item being create from an uploaded asset - - true if inventory item creation was successful - - - + + Construct a new instance of the TopCollidersReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply - - - - - + + Raised on LandStatReply when the report type is for "top Scripts" - + - Reply received when uploading an inventory asset + The number of scripts returned in LandStatReply - Has upload been successful - Error message if upload failed - Inventory asset UUID - New asset UUID - + - Delegate that is invoked when script upload is completed + A Dictionary of Object UUIDs to tasks returned in LandStatReply - Has upload succeded (note, there still might be compile errors) - Upload status message - Is compilation successful - If compilation failed, list of error messages, null on compilation success - Script inventory UUID - Script's new asset UUID - - Set to true to accept offer, false to decline it + + Construct a new instance of the TopScriptsReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply - - The folder to accept the inventory into, if null default folder for will be used + + Returned, along with other info, upon a successful .RequestInfo() - + - Callback when an inventory object is accepted and received from a - task inventory. This is the callback in which you actually get - the ItemID, as in ObjectOfferedCallback it is null when received - from a task. + The identifier of the estate - + - + The number of returned itmes - + - + List of UUIDs of Banned Users - - - - De-serialization constructor for the InventoryNode Class - + + Construct a new instance of the EstateBansReplyEventArgs class + The estate's identifier on the grid + The number of returned items in LandStatReply + User UUIDs banned - + + Returned, along with other info, upon a successful .RequestInfo() + + - Serialization handler for the InventoryNode Class + The identifier of the estate - + - De-serialization handler for the InventoryNode Class + The number of returned items - + - + List of UUIDs of Allowed Users - - - - - - - User data - - + + Construct a new instance of the EstateUsersReplyEventArgs class + The estate's identifier on the grid + The number of users + Allowed users UUIDs - - + + Returned, along with other info, upon a successful .RequestInfo() - - + + + The identifier of the estate + - + - For inventory folder nodes specifies weather the folder needs to be - refreshed from the server + The number of returned items - + - Singleton logging class for the entire library + List of UUIDs of Allowed Groups - - log4net logging engine + + Construct a new instance of the EstateGroupsReplyEventArgs class + The estate's identifier on the grid + The number of Groups + Allowed Groups UUIDs - + + Returned, along with other info, upon a successful .RequestInfo() + + - Default constructor + The identifier of the estate - + - Send a log message to the logging engine + The number of returned items - The log message - The severity of the log entry - + - Send a log message to the logging engine + List of UUIDs of the Estate's Managers - The log message - The severity of the log entry - Instance of the client - + + Construct a new instance of the EstateManagersReplyEventArgs class + The estate's identifier on the grid + The number of Managers + Managers UUIDs + + + Returned, along with other info, upon a successful .RequestInfo() + + - Send a log message to the logging engine + The Covenant - The log message - The severity of the log entry - Exception that was raised - + - Send a log message to the logging engine + The timestamp - The log message - The severity of the log entry - Instance of the client - Exception that was raised - + - If the library is compiled with DEBUG defined, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine + The Estate name - The message to log at the DEBUG level to the - current logging engine - + - If the library is compiled with DEBUG defined and - GridClient.Settings.DEBUG is true, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine + The Estate Owner's ID (can be a GroupID) - The message to log at the DEBUG level to the - current logging engine - Instance of the client - - Triggered whenever a message is logged. If this is left - null, log messages will go to the console + + Construct a new instance of the EstateCovenantReplyEventArgs class + The Covenant ID + The timestamp + The estate's name + The Estate Owner's ID (can be a GroupID) - + + Returned, along with other info, upon a successful .RequestInfo() + + - Callback used for client apps to receive log messages from - the library + The estate's name - Data being logged - The severity of the log entry from - + - + The Estate Owner's ID (can be a GroupID) - - - - - - - - - - - - - - + + + The identifier of the estate on the grid + - + - - + + Construct a new instance of the EstateUpdateInfoReplyEventArgs class + The estate's name + The Estate Owners ID (can be a GroupID) + The estate's identifier on the grid + - + - Status of the last application run. - Used for error reporting to the grid login service for statistical purposes. + Registers, unregisters, and fires events generated by incoming packets - - Application exited normally - - - Application froze - - - Application detected error and exited abnormally - - - Other crash - - - Application froze during logout - - - Application crashed during logout - - + - Login Request Parameters + Object that is passed to worker threads in the ThreadPool for + firing packet callbacks - - The URL of the Login Server - - - The number of milliseconds to wait before a login is considered - failed due to timeout - - - The request method - login_to_simulator is currently the only supported method - - - The Agents First name - - - The Agents Last name - - - A md5 hashed password - plaintext password will be automatically hashed + + Callback to fire for this packet - - The agents starting location once logged in - Either "last", "home", or a string encoded URI - containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 + + Reference to the simulator that this packet came from - - A string containing the client software channel information - Second Life Release + + The packet that needs to be processed - - The client software version information - The official viewer uses: Second Life Release n.n.n.n - where n is replaced with the current version of the viewer + + Reference to the GridClient object - - A string containing the platform information the agent is running on + + + Default constructor + + - - A string hash of the network cards Mac Address + + + Register an event handler + + Use PacketType.Default to fire this event on every + incoming packet + Packet type to register the handler for + Callback to be fired + True if this callback should be ran + asynchronously, false to run it synchronous - - Unknown or deprecated + + + Unregister an event handler + + Packet type to unregister the handler for + Callback to be unregistered - - A string hash of the first disk drives ID used to identify this clients uniqueness + + + Fire the events registered for this packet type + + Incoming packet type + Incoming packet + Simulator this packet was received from - - A string containing the viewers Software, this is not directly sent to the login server but - instead is used to generate the Version string + + + Registers, unregisters, and fires events generated by the Capabilities + event queue + - - A string representing the software creator. This is not directly sent to the login server but - is used by the library to generate the Version information + + + Object that is passed to worker threads in the ThreadPool for + firing CAPS callbacks + - - If true, this agent agrees to the Terms of Service of the grid its connecting to + + Callback to fire for this packet - - Unknown + + Name of the CAPS event - - Status of the last application run sent to the grid login server for statistical purposes + + Strongly typed decoded data - - An array of string sent to the login server to enable various options + + Reference to the simulator that generated this event - - A randomly generated ID to distinguish between login attempts. This value is only used - internally in the library and is never sent over the wire + + Reference to the GridClient object - + - Default constuctor, initializes sane default values + Default constructor + Reference to the GridClient object - + - Instantiates new LoginParams object and fills in the values + Register an new event handler for a capabilities event sent via the EventQueue - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number + Use String.Empty to fire this event on every CAPS event + Capability event name to register the + handler for + Callback to fire - + - Instantiates new LoginParams object and fills in the values + Unregister a previously registered capabilities handler - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number - URI of the login server + Capability event name unregister the + handler for + Callback to unregister - + - The decoded data returned from the login server after a successful login + Fire the events registered for this event type synchronously + Capability name + Decoded event body + Reference to the simulator that + generated this event - - true, false, indeterminate - - - Login message of the day - - - M or PG, also agent_region_access and agent_access_max - - + - Parse LLSD Login Reply Data + Fire the events registered for this event type asynchronously - An - contaning the login response data - XML-RPC logins do not require this as XML-RPC.NET - automatically populates the struct properly using attributes + Capability name + Decoded event body + Reference to the simulator that + generated this event - - - Login Routines - + - NetworkManager is responsible for managing the network layer of - OpenMetaverse. It tracks all the server connections, serializes - outgoing traffic and deserializes incoming traffic, and provides - instances of delegates for network-related events. + - - The event subscribers, null of no subscribers - - - Raises the LoginProgress Event - A LoginProgressEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Seed CAPS URL returned from the login server - - - Maximum number of groups an agent can belong to, -1 for unlimited + + The avatar has no rights - - Server side baking service URL + + The avatar can see the online status of the target avatar - - Parsed login response data + + The avatar can see the location of the target avatar on the map - - A list of packets obtained during the login process which - networkmanager will log but not process + + The avatar can modify the ojects of the target avatar - + - Generate sane default values for a login request + This class holds information about an avatar in the friends list. There are two ways + to interface to this class. The first is through the set of boolean properties. This is the typical + way clients of this class will use it. The second interface is through two bitflag properties, + TheirFriendsRights and MyFriendsRights - Account first name - Account last name - Account password - Client application name (channel) - Client application name + version - A populated struct containing - sane defaults - + - Simplified login that takes the most common and required fields + System ID of the avatar - Account first name - Account last name - Account password - Client application name (channel) - Client application name + version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - + - Simplified login that takes the most common fields along with a - starting location URI, and can accept an MD5 string instead of a - plaintext password + full name of the avatar - Account first name - Account last name - Account password or MD5 hash of the password - such as $1$1682a1e45e9f957dcdf0bb56eb43319c - Client application name (channel) - Starting location URI that can be built with - StartLocation() - Client application name + version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - + - Login that takes a struct of all the values that will be passed to - the login server + True if the avatar is online - The values that will be passed to the login - server, all fields must be set even if they are String.Empty - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - + - Build a start location URI for passing to the Login function + True if the friend can see if I am online - Name of the simulator to start in - X coordinate to start at - Y coordinate to start at - Z coordinate to start at - String with a URI that can be used to login to a specified - location - + - LoginParams and the initial login XmlRpcRequest were made on a remote machine. - This method now initializes libomv with the results. + True if the friend can see me on the map - + - Handles response from XML-RPC login replies + True if the freind can modify my objects - + - Handles response from XML-RPC login replies with already parsed LoginResponseData + True if I can see if my friend is online - + - Handle response from LLSD login replies + True if I can see if my friend is on the map - - - - + - Get current OS + True if I can modify my friend's objects - Either "Win" or "Linux" - + - Get clients default Mac Address + My friend's rights represented as bitmapped flags - A string containing the first found Mac Address - - - The event subscribers, null of no subscribers - - - Raises the PacketSent Event - A PacketSentEventArgs object containing - the data sent from the simulator - - Thread sync lock object + + + My rights represented as bitmapped flags + - - The event subscribers, null of no subscribers + + + Used internally when building the initial list of friends at login time + + System ID of the avatar being prepesented + Rights the friend has to see you online and to modify your objects + Rights you have to see your friend online and to modify their objects - - Raises the LoggedOut Event - A LoggedOutEventArgs object containing - the data sent from the simulator + + + FriendInfo represented as a string + + A string reprentation of both my rights and my friends rights - - Thread sync lock object + + + This class is used to add and remove avatars from your friends list and to manage their permission. + - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - - Raises the SimConnecting Event - A SimConnectingEventArgs object containing - the data sent from the simulator + + Raises the FriendOnline event + A FriendInfoEventArgs object containing the + data returned from the data server - + Thread sync lock object - - The event subscribers, null of no subscribers + + Raised when the simulator sends notification one of the members in our friends list comes online - - Raises the SimConnected Event - A SimConnectedEventArgs object containing - the data sent from the simulator + + The event subscribers. null if no subcribers - + + Raises the FriendOffline event + A FriendInfoEventArgs object containing the + data returned from the data server + + Thread sync lock object - - The event subscribers, null of no subscribers + + Raised when the simulator sends notification one of the members in our friends list goes offline - - Raises the SimDisconnected Event - A SimDisconnectedEventArgs object containing - the data sent from the simulator + + The event subscribers. null if no subcribers - + + Raises the FriendRightsUpdate event + A FriendInfoEventArgs object containing the + data returned from the data server + + Thread sync lock object - - The event subscribers, null of no subscribers + + Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions - - Raises the Disconnected Event - A DisconnectedEventArgs object containing - the data sent from the simulator + + The event subscribers. null if no subcribers - + + Raises the FriendNames event + A FriendNamesEventArgs object containing the + data returned from the data server + + Thread sync lock object - - The event subscribers, null of no subscribers + + Raised when the simulator sends us the names on our friends list - - Raises the SimChanged Event - A SimChangedEventArgs object containing - the data sent from the simulator + + The event subscribers. null if no subcribers - + + Raises the FriendshipOffered event + A FriendshipOfferedEventArgs object containing the + data returned from the data server + + Thread sync lock object - - The event subscribers, null of no subscribers + + Raised when the simulator sends notification another agent is offering us friendship - - Raises the EventQueueRunning Event - A EventQueueRunningEventArgs object containing - the data sent from the simulator + + The event subscribers. null if no subcribers - + + Raises the FriendshipResponse event + A FriendshipResponseEventArgs object containing the + data returned from the data server + + Thread sync lock object - - All of the simulators we are currently connected to + + Raised when a request we sent to friend another agent is accepted or declined - - Handlers for incoming capability events + + The event subscribers. null if no subcribers - - Handlers for incoming packets + + Raises the FriendshipTerminated event + A FriendshipTerminatedEventArgs object containing the + data returned from the data server - - Incoming packets that are awaiting handling + + Thread sync lock object - - Outgoing packets that are awaiting handling + + Raised when the simulator sends notification one of the members in our friends list has terminated + our friendship - - - Default constructor - - Reference to the GridClient object + + The event subscribers. null if no subcribers - - - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type to trigger events for - Callback to fire when a packet of this type - is received + + Raises the FriendFoundReply event + A FriendFoundReplyEventArgs object containing the + data returned from the data server - - - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type to trigger events for - Callback to fire when a packet of this type - is received - True if the callback should be ran - asynchronously. Only set this to false (synchronous for callbacks - that will always complete quickly) - If any callback for a packet type is marked as - asynchronous, all callbacks for that packet type will be fired - asynchronously + + Thread sync lock object - - - Unregister an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type this callback is registered with - Callback to stop firing events for + + Raised when the simulator sends the location of a friend we have + requested map location info for - + - Register a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library + A dictionary of key/value pairs containing known friends of this avatar. + + The Key is the of the friend, the value is a + object that contains detailed information including permissions you have and have given to the friend - Name of the CAPS event to register a handler for - Callback to fire when a CAPS event is received - + - Unregister a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library + A Dictionary of key/value pairs containing current pending frienship offers. + + The key is the of the avatar making the request, + the value is the of the request which is used to accept + or decline the friendship offer - Name of the CAPS event this callback is - registered with - Callback to stop firing events for - + - Send a packet to the simulator the avatar is currently occupying + Internal constructor - Packet to send + A reference to the GridClient Object - + - Send a packet to a specified simulator + Accept a friendship request - Packet to send - Simulator to send the packet to + agentID of avatatar to form friendship with + imSessionID of the friendship request message - + - Connect to a simulator + Decline a friendship request - IP address to connect to - Port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null + of friend + imSessionID of the friendship request message - + - Connect to a simulator + Overload: Offer friendship to an avatar. - IP address and port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null + System ID of the avatar you are offering friendship to - + - Initiate a blocking logout request. This will return when the logout - handshake has completed or when Settings.LOGOUT_TIMEOUT - has expired and the network layer is manually shut down + Offer friendship to an avatar. + System ID of the avatar you are offering friendship to + A message to send with the request - + - Initiate the logout process. Check if logout succeeded with the - OnLogoutReply event, and if this does not fire the - Shutdown() function needs to be manually called + Terminate a friendship with an avatar + System ID of the avatar you are terminating the friendship with - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + - Close a connection to the given simulator + Change the rights of a friend avatar. - - + the of the friend + the new rights to give the friend + This method will implicitly set the rights to those passed in the rights parameter. - + - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout + Use to map a friends location on the grid. - Type of shutdown + Friends UUID to find + - + - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout + Use to track a friends movement on the grid - Type of shutdown - Shutdown message + Friends Key - + - Searches through the list of currently connected simulators to find - one attached to the given IPEndPoint + Ask for a notification of friend's online status - IPEndPoint of the Simulator to search for - A Simulator reference on success, otherwise null + Friend's UUID - + - Fire an event when an event queue connects for capabilities + This handles the asynchronous response of a RequestAvatarNames call. - Simulator the event queue is attached to + + names cooresponding to the the list of IDs sent the the RequestAvatarNames call. - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Populate FriendList with data from the login reply + + true if login was successful + true if login request is requiring a redirect + A string containing the response to the login request + A string containing the reason for the request + A object containing the decoded + reply from the login server - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Contains information on a member of our friends list - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Get the FriendInfo - - Raised when the simulator sends us data containing - ... + + + Construct a new instance of the FriendInfoEventArgs class + + The FriendInfo - - Called when a reply is received from the login server, the - login sequence will block until this event returns + + Contains Friend Names - - Current state of logging in + + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name - - Upon login failure, contains a short string key for the - type of login error that occurred + + + Construct a new instance of the FriendNamesEventArgs class + + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name - - The raw XML-RPC reply from the login server, exactly as it - was received (minus the HTTP header) + + Sent when another agent requests a friendship with our agent - - During login this contains a descriptive version of - LoginStatusCode. After a successful login this will contain the - message of the day, and after a failed login a descriptive error - message will be returned + + Get the ID of the agent requesting friendship - - Raised when the simulator sends us data containing - ... + + Get the name of the agent requesting friendship - - Raised when the simulator sends us data containing - ... + + Get the ID of the session, used in accepting or declining the + friendship offer - - Raised when the simulator sends us data containing - ... + + + Construct a new instance of the FriendshipOfferedEventArgs class + + The ID of the agent requesting friendship + The name of the agent requesting friendship + The ID of the session, used in accepting or declining the + friendship offer - - Raised when the simulator sends us data containing - ... + + A response containing the results of our request to form a friendship with another agent - - Raised when the simulator sends us data containing - ... + + Get the ID of the agent we requested a friendship with - - Raised when the simulator sends us data containing - ... + + Get the name of the agent we requested a friendship with + + + true if the agent accepted our friendship offer + + + + Construct a new instance of the FriendShipResponseEventArgs class + + The ID of the agent we requested a friendship with + The name of the agent we requested a friendship with + true if the agent accepted our friendship offer + + + Contains data sent when a friend terminates a friendship with us + + + Get the ID of the agent that terminated the friendship with us + + + Get the name of the agent that terminated the friendship with us + + + + Construct a new instance of the FrindshipTerminatedEventArgs class + + The ID of the friend who terminated the friendship with us + The name of the friend who terminated the friendship with us + + + + Data sent in response to a request which contains the information to allow us to map the friends location + + + + Get the ID of the agent we have received location information for + + + Get the region handle where our mapped friend is located + + + Get the simulator local position where our friend is located + + + + Construct a new instance of the FriendFoundReplyEventArgs class + + The ID of the agent we have requested location information for + The region handle where our friend is located + The simulator local position our friend is located + + + + Main class to expose grid functionality to clients. All of the + classes needed for sending and receiving data are accessible through + this class. + + + + // Example minimum code required to instantiate class and + // connect to a simulator. + using System; + using System.Collections.Generic; + using System.Text; + using OpenMetaverse; + + namespace FirstBot + { + class Bot + { + public static GridClient Client; + static void Main(string[] args) + { + Client = new GridClient(); // instantiates the GridClient class + // to the global Client object + // Login to Simulator + Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); + // Wait for a Keypress + Console.ReadLine(); + // Logout of simulator + Client.Network.Logout(); + } + } + } + + + + + Networking subsystem + + + Settings class including constant values and changeable + parameters for everything + + + Parcel (subdivided simulator lots) subsystem + + + Our own avatars subsystem + + + Other avatars subsystem + + + Estate subsystem + + + Friends list subsystem + + + Grid (aka simulator group) subsystem + + + Object subsystem + + + Group subsystem - - Raised when the simulator sends us data containing - ... + + Asset subsystem - - Raised when the simulator sends us data containing - ... + + Appearance subsystem - - Unique identifier associated with our connections to - simulators + + Inventory subsystem - - The simulator that the logged in avatar is currently - occupying + + Directory searches including classifieds, people, land + sales, etc - - Shows whether the network layer is logged in to the - grid or not + + Handles land, wind, and cloud heightmaps - - Number of packets in the incoming queue + + Handles sound-related networking - - Number of packets in the outgoing queue + + Throttling total bandwidth usage, or allocating bandwidth + for specific data stream types - + - + Default constructor - - - - - - + - Explains why a simulator or the grid disconnected from us + Return the full name of this instance + Client avatars full name - - The client requested the logout or simulator disconnect + + + Map layer request type + - - The server notified us that it is disconnecting + + Objects and terrain are shown - - Either a socket was closed or network traffic timed out + + Only the terrain is shown, no objects - - The last active simulator shut down + + Overlay showing land for sale and for auction - + - Holds a simulator reference and a decoded packet, these structs are put in - the packet inbox for event handling + Type of grid item, such as telehub, event, populator location, etc. - - Reference to the simulator that this packet came from + + Telehub - - Packet that needs to be processed + + PG rated event - - - Holds a simulator reference and a serialized packet, these structs are put in - the packet outbox for sending - + + Mature rated event - - Reference to the simulator this packet is destined for + + Popular location - - Packet that needs to be sent + + Locations of avatar groups in a region - - Sequence number of the wrapped packet + + Land for sale - - Number of times this packet has been resent + + Classified ad - - Environment.TickCount when this packet was last sent over the wire + + Adult rated event - - Type of the packet + + Adult land for sale - + - A Name Value pair with additional settings, used in the protocol - primarily to transmit avatar names and active group in object packets + Information about a region on the grid map - - + + Sim X position on World Map - - + + Sim Y position on World Map - - + + Sim Name (NOTE: In lowercase!) - + - + + Appears to always be zero (None) + + + Sim's defined Water Height + + - + + UUID of the World Map image + + + Unique identifier for this region, a combination of the X + and Y position + + - Constructor that takes all the fields as parameters + - - - - - + - + - Constructor that takes a single line from a NameValue field + - - - - Type of the value - - - Unknown + - - String value + + + + + + - - + + + Visual chunk of the grid map + - - + + + Base class for Map Items + - - + + The Global X position of the item - - + + The Global Y position of the item - - Deprecated + + Get the Local X position of the item - - String value, but designated as an asset + + Get the Local Y position of the item - - + + Get the Handle of the region - + - + Represents an agent or group of agents location - - - - - + + + Represents a Telehub location + - - + + + Represents a non-adult parcel of land for sale + - - + + + Represents an Adult parcel of land for sale + - + - + Represents a PG Event - - + + + Represents a Mature event + - - + + + Represents an Adult event + - - + + + Manages grid-wide tasks such as the world map + - - + + The event subscribers. null if no subcribers - - + + Raises the CoarseLocationUpdate event + A CoarseLocationUpdateEventArgs object containing the + data sent by simulator - - - - + + Thread sync lock object - - No report + + Raised when the simulator sends a + containing the location of agents in the simulator - - Unknown report type + + The event subscribers. null if no subcribers - - Bug report + + Raises the GridRegion event + A GridRegionEventArgs object containing the + data sent by simulator - - Complaint report + + Thread sync lock object - - Customer service report + + Raised when the simulator sends a Region Data in response to + a Map request - - - Bitflag field for ObjectUpdateCompressed data blocks, describing - which options are present for each object - + + The event subscribers. null if no subcribers - - Unknown + + Raises the GridLayer event + A GridLayerEventArgs object containing the + data sent by simulator - - Whether the object has a TreeSpecies + + Thread sync lock object - - Whether the object has floating text ala llSetText + + Raised when the simulator sends GridLayer object containing + a map tile coordinates and texture information - - Whether the object has an active particle system + + The event subscribers. null if no subcribers - - Whether the object has sound attached to it + + Raises the GridItems event + A GridItemEventArgs object containing the + data sent by simulator - - Whether the object is attached to a root object or not + + Thread sync lock object - - Whether the object has texture animation settings + + Raised when the simulator sends GridItems object containing + details on events, land sales at a specific location - - Whether the object has an angular velocity + + The event subscribers. null if no subcribers - - Whether the object has a name value pairs string + + Raises the RegionHandleReply event + A RegionHandleReplyEventArgs object containing the + data sent by simulator - - Whether the object has a Media URL set + + Thread sync lock object - - - Specific Flags for MultipleObjectUpdate requests - + + Raised in response to a Region lookup - - None + + Unknown - - Change position of prims + + Current direction of the sun - - Change rotation of prims + + Current angular velocity of the sun - - Change size of prims + + Microseconds since the start of SL 4-hour day - - Perform operation on link set + + A dictionary of all the regions, indexed by region name - - Scale prims uniformly, same as selecing ctrl+shift in the - viewer. Used in conjunction with Scale + + A dictionary of all the regions, indexed by region handle - + - Special values in PayPriceReply. If the price is not one of these - literal value of the price should be use + Constructor + Instance of GridClient object to associate with this GridManager instance - + - Indicates that this pay option should be hidden + + - + - Indicates that this pay option should have the default value + Request a map layer + The name of the region + The type of layer - + - Contains the variables sent in an object update packet for objects. - Used to track position and movement of prims and avatars + + + + + + + - - + + + + + + + + + - - + + + + + + + - - + + + Request data for all mainland (Linden managed) simulators + - - + + + Request the region handle for the specified region UUID + + UUID of the region to look up - - + + + Get grid region information using the region name, this function + will block until it can find the region or gives up + + Name of sim you're looking for + Layer that you are requesting + Will contain a GridRegion for the sim you're + looking for if successful, otherwise an empty structure + True if the GridRegion was successfully fetched, otherwise + false - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Handles all network traffic related to prims and avatar positions and - movement. + Avatar group management - - The event subscribers, null of no subscribers + + Key of Group Member - - Thread sync lock object + + Total land contribution - - The event subscribers, null of no subscribers + + Online status information - - Raises the ObjectProperties Event - A ObjectPropertiesEventArgs object containing - the data sent from the simulator + + Abilities that the Group Member has - - Thread sync lock object + + Current group title - - The event subscribers, null of no subscribers + + Is a group owner - - Raises the ObjectPropertiesUpdated Event - A ObjectPropertiesUpdatedEventArgs object containing - the data sent from the simulator + + + Role manager for a group + - - Thread sync lock object + + Key of the group - - The event subscribers, null of no subscribers + + Key of Role - - Raises the ObjectPropertiesFamily Event - A ObjectPropertiesFamilyEventArgs object containing - the data sent from the simulator + + Name of Role - - Thread sync lock object + + Group Title associated with Role - - The event subscribers, null of no subscribers + + Description of Role - - Raises the AvatarUpdate Event - A AvatarUpdateEventArgs object containing - the data sent from the simulator + + Abilities Associated with Role - - Thread sync lock object + + Returns the role's title + The role's title - - The event subscribers, null of no subscribers + + + Class to represent Group Title + - - Thread sync lock object + + Key of the group - - The event subscribers, null of no subscribers + + ID of the role title belongs to - - Raises the ObjectDataBlockUpdate Event - A ObjectDataBlockUpdateEventArgs object containing - the data sent from the simulator + + Group Title - - Thread sync lock object + + Whether title is Active - - The event subscribers, null of no subscribers + + Returns group title - - Raises the KillObject Event - A KillObjectEventArgs object containing - the data sent from the simulator + + + Represents a group on the grid + - - Thread sync lock object + + Key of Group - - The event subscribers, null of no subscribers + + Key of Group Insignia - - Raises the KillObjects Event - A KillObjectsEventArgs object containing - the data sent from the simulator + + Key of Group Founder - - Thread sync lock object + + Key of Group Role for Owners - - The event subscribers, null of no subscribers + + Name of Group - - Raises the AvatarSitChanged Event - A AvatarSitChangedEventArgs object containing - the data sent from the simulator + + Text of Group Charter - - Thread sync lock object + + Title of "everyone" role - - The event subscribers, null of no subscribers + + Is the group open for enrolement to everyone - - Raises the PayPriceReply Event - A PayPriceReplyEventArgs object containing - the data sent from the simulator + + Will group show up in search - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Raises the PhysicsProperties Event - A PhysicsPropertiesEventArgs object containing - the data sent from the simulator + + - - Thread sync lock object + + Is the group Mature - - Reference to the GridClient object + + Cost of group membership - - Does periodic dead reckoning calculation to convert - velocity and acceleration to new positions for objects + + - - - Construct a new instance of the ObjectManager class - - A reference to the instance + + - - - Request information for a single object from a - you are currently connected to - - The the object is located - The Local ID of the object + + The total number of current members this group has - - - Request information for multiple objects contained in - the same simulator - - The the objects are located - An array containing the Local IDs of the objects + + The number of roles this group has configured - - - Attempt to purchase an original object, a copy, or the contents of - an object - - The the object is located - The Local ID of the object - Whether the original, a copy, or the object - contents are on sale. This is used for verification, if the this - sale type is not valid for the object the purchase will fail - Price of the object. This is used for - verification, if it does not match the actual price the purchase - will fail - Group ID that will be associated with the new - purchase - Inventory folder UUID where the object or objects - purchased should be placed - - - BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, - 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); - - + + Show this group in agent's profile - - - Request prices that should be displayed in pay dialog. This will triggger the simulator - to send us back a PayPriceReply which can be handled by OnPayPriceReply event - - The the object is located - The ID of the object - The result is raised in the event + + Returns the name of the group + A string containing the name of the group - + - Select a single object. This will cause the to send us - an which will raise the event + A group Vote - The the object is located - The Local ID of the object - - - - Select a single object. This will cause the to send us - an which will raise the event - - The the object is located - The Local ID of the object - if true, a call to is - made immediately following the request - + + Key of Avatar who created Vote - - - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - Should objects be deselected immediately after selection - + + Text of the Vote proposal - - - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - + + Total number of votes - + - Update the properties of an object + A group proposal - The the object is located - The Local ID of the object - true to turn the objects physical property on - true to turn the objects temporary property on - true to turn the objects phantom property on - true to turn the objects cast shadows property on - - - Update the properties of an object - - The the object is located - The Local ID of the object - true to turn the objects physical property on - true to turn the objects temporary property on - true to turn the objects phantom property on - true to turn the objects cast shadows property on - Type of the represetnation prim will have in the physics engine - Density - normal value 1000 - Friction - normal value 0.6 - Restitution - standard value 0.5 - Gravity multiplier - standar value 1.0 + + The Text of the proposal - - - Sets the sale properties of a single object - - The the object is located - The Local ID of the object - One of the options from the enum - The price of the object + + The minimum number of members that must vote before proposal passes or failes - - - Sets the sale properties of multiple objects - - The the objects are located - An array containing the Local IDs of the objects - One of the options from the enum - The price of the object + + The required ration of yes/no votes required for vote to pass + The three options are Simple Majority, 2/3 Majority, and Unanimous + TODO: this should be an enum - - - Deselect a single object - - The the object is located - The Local ID of the object + + The duration in days votes are accepted - + - Deselect multiple objects. + - The the objects are located - An array containing the Local IDs of the objects - - - Perform a click action on an object - - The the object is located - The Local ID of the object + + - - - Perform a click action (Grab) on a single object - - The the object is located - The Local ID of the object - The texture coordinates to touch - The surface coordinates to touch - The face of the position to touch - The region coordinates of the position to touch - The surface normal of the position to touch (A normal is a vector perpindicular to the surface) - The surface binormal of the position to touch (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space + + - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties + + - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Specify the - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties + + - - - Rez a Linden tree - - A reference to the object where the object resides - The size of the tree - The rotation of the tree - The position of the tree - The Type of tree - The of the group to set the tree to, - or UUID.Zero if no group is to be set - true to use the "new" Linden trees, false to use the old + + - - - Rez grass and ground cover - - A reference to the object where the object resides - The size of the grass - The rotation of the grass - The position of the grass - The type of grass from the enum - The of the group to set the tree to, - or UUID.Zero if no group is to be set + + - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply + + - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply - A media URL (not used) + + - - - Set the Light data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + - - - Set the flexible data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + - - - Set the sculptie texture and data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + - - - Unset additional primitive parameters on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The extra parameters to set + + - - - Link multiple prims into a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to link - The last object in the array will be the root object of the linkset TODO: Is this true? + + - - - Delink/Unlink multiple prims from a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to delink + + - - - Change the rotation of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation of the object + + - - - Set the name of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new name of the object + + - - - Set the name of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the name of - An array which contains the new names of the objects + + - - - Set the description of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new description of the object + + - - - Set the descriptions of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the description of - An array which contains the new descriptions of the objects + + - + - Attach an object to this avatar + Struct representing a group notice - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The point on the avatar the object will be attached - The rotation of the attached object - - - Drop an attached object from this avatar - - A reference to the - object where the objects reside. This will always be the simulator the avatar is currently in - - The object's ID which is local to the simulator the object is in + + - - - Detach an object from yourself - - A reference to the - object where the objects reside - - This will always be the simulator the avatar is currently in - - An array which contains the IDs of the objects to detach + + - - - Change the position of an object, Will change position of entire linkset - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object + + - - - Change the position of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - if true, will change position of (this) child prim only, not entire linkset + + - + - Change the Scale (size) of an object + - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change scale of this prim only, not entire linkset - True to resize prims uniformly + - + - Change the Rotation of an object that is either a child or a whole linkset + Struct representing a group notice list entry - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change rotation of this prim only, not entire linkset - - - Send a Multiple Object Update packet to change the size, scale or rotation of a primitive - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation, size, or position of the target object - The flags from the Enum + + Notice ID - - - Deed an object (prim) to a group, Object must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The of the group to deed the object to + + Creation timestamp of notice - - - Deed multiple objects (prims) to a group, Objects must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - An array which contains the IDs of the objects to deed - The of the group to deed the object to + + Agent name who created notice - - - Set the permissions on multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the permissions on - The new Who mask to set - Which permission to modify - The new state of permission + + Notice subject - - - Request additional properties for an object - - A reference to the object where the object resides - + + Is there an attachment? - - - Request additional properties for an object - - A reference to the object where the object resides - Absolute UUID of the object - Whether to require server acknowledgement of this request + + Attachment Type - + - Set the ownership of a list of objects to the specified group + Struct representing a member of a group chat session and their settings - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the group id on - The Groups ID - - - Update current URL of the previously set prim media - - UUID of the prim - Set current URL to this - Prim face number - Simulator in which prim is located + + The of the Avatar - - - Set object media - - UUID of the prim - Array the length of prims number of faces. Null on face indexes where there is - no media, on faces which contain the media - Simulatior in which prim is located + + True if user has voice chat enabled - - - Retrieve information about object media - - UUID of the primitive - Simulator where prim is located - Call this callback when done + + True of Avatar has moderator abilities - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + True if a moderator has muted this avatars chat - + + True if a moderator has muted this avatars voice + + - A terse object update, used when a transformation matrix or - velocity/acceleration for an object changes but nothing else - (scale/position/rotation/acceleration/velocity) + Role update flags - The sender - The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - - - - - - + + - - - Setup construction data for a basic primitive shape - - Primitive shape to construct - Construction data that can be plugged into a + + Can send invitations to groups default role - - - - - - - - + + Can eject members from group - - - - - - + + Can toggle 'Open Enrollment' and change 'Signup fee' - - - Set the Shape data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - Data describing the prim shape + + Member is visible in the public member list - - - Set the Material data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new material of the object + + Can create new roles - - - - - - - - + + Can delete existing roles - - - - - - - - - + + Can change Role names, titles and descriptions - - - - - - - - + + Can assign other members to assigners role - - Raised when the simulator sends us data containing - A , Foliage or Attachment - - + + Can assign other members to any role - - Raised when the simulator sends us data containing - additional information - - + + Can remove members from roles - - Raised when the simulator sends us data containing - Primitive.ObjectProperties for an object we are currently tracking + + Can assign and remove abilities in roles - - Raised when the simulator sends us data containing - additional and details - + + Can change group Charter, Insignia, 'Publish on the web' and which + members are publicly visible in group member listings - - Raised when the simulator sends us data containing - updated information for an + + Can buy land or deed land to group - - Raised when the simulator sends us data containing - and movement changes + + Can abandon group owned land to Governor Linden on mainland, or Estate owner for + private estates - - Raised when the simulator sends us data containing - updates to an Objects DataBlock + + Can set land for-sale information on group owned parcels - - Raised when the simulator informs us an - or is no longer within view + + Can subdivide and join parcels - - Raised when the simulator informs us when a group of - or is no longer within view + + Can change music and media settings - - Raised when the simulator sends us data containing - updated sit information for our + + Can toggle 'Edit Terrain' option in Land settings - - Raised when the simulator sends us data containing - purchase price information for a + + Can toggle various About Land > Options settings - - Raised when the simulator sends us data containing - additional information - - + + Can toggle "Show in Find Places" and set search category - - - Callback for getting object media data via CAP - - Indicates if the operation was succesfull - Object media version string - Array indexed on prim face of media entry data + + Can change parcel name, description, and 'Publish on web' settings - - Provides data for the event - The event occurs when the simulator sends - an containing a Primitive, Foliage or Attachment data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or - if an Avatar crosses the border into a new simulator and returns to the current simulator - - - The following code example uses the , , and - properties to display new Primitives and Attachments on the window. - - // Subscribe to the event that gives us prim and foliage information - Client.Objects.ObjectUpdate += Objects_ObjectUpdate; - - - private void Objects_ObjectUpdate(object sender, PrimEventArgs e) - { - Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); - } - - - - - + + Can set the landing point and teleport routing on group land - - - Construct a new instance of the PrimEventArgs class - - The simulator the object originated from - The Primitive - The simulator time dilation - The prim was not in the dictionary before this update - true if the primitive represents an attachment to an agent + + Can always terraform land, even if parcel settings have it turned off - - Get the simulator the originated from + + Can always fly while over group owned land - - Get the details + + Can always rez objects on group owned land - - true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) + + Can always create landmarks for group owned parcels - - true if the is attached to an + + Can set home location on any group owned parcel - - Get the simulator Time Dilation + + Allowed to hold events on group-owned land - - Provides data for the event - The event occurs when the simulator sends - an containing Avatar data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator - - - The following code example uses the property to make a request for the top picks - using the method in the class to display the names - of our own agents picks listings on the window. - - // subscribe to the AvatarUpdate event to get our information - Client.Objects.AvatarUpdate += Objects_AvatarUpdate; - Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; - - private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) - { - // we only want our own data - if (e.Avatar.LocalID == Client.Self.LocalID) - { - // Unsubscribe from the avatar update event to prevent a loop - // where we continually request the picks every time we get an update for ourselves - Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; - // make the top picks request through AvatarManager - Client.Avatars.RequestAvatarPicks(e.Avatar.ID); - } - } - - private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) - { - // we'll unsubscribe from the AvatarPicksReply event since we now have the data - // we were looking for - Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; - // loop through the dictionary and extract the names of the top picks from our profile - foreach (var pickName in e.Picks.Values) - { - Console.WriteLine(pickName); - } - } - - - - + + Can modify public access settings for group owned parcels + + + Can manager parcel ban lists on group owned land + + + Can manage pass list sales information + + + Can eject and freeze other avatars on group owned land + + + Can return objects set to group + + + Can return non-group owned/set objects + + + Can return group owned objects + + + Can landscape using Linden plants + + + Can deed objects to group - - - Construct a new instance of the AvatarUpdateEventArgs class - - The simulator the packet originated from - The data - The simulator time dilation - The avatar was not in the dictionary before this update + + Can move group owned objects - - Get the simulator the object originated from + + Can set group owned objects for-sale - - Get the data + + Pay group liabilities and receive group dividends - - Get the simulator time dilation + + Can send group notices - - true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) + + Can receive group notices - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment data - The event is also raised when a request is - made. - - - The following code example uses the , and - - properties to display new attachments and send a request for additional properties containing the name of the - attachment then display it on the window. - - // Subscribe to the event that provides additional primitive details - Client.Objects.ObjectProperties += Objects_ObjectProperties; - - // handle the properties data that arrives - private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) - { - Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); - } - - + + Can create group proposals - + + Can vote on group proposals + + + Can join group chat sessions + + + Can use voice chat in Group Chat sessions + + + Can moderate group chat sessions + + + Has admin rights to any experiences owned by this group + + + Can sign scripts for experiences owned by this group + + + Allows access to ban / un-ban agents from a group + + - Construct a new instance of the ObjectPropertiesEventArgs class + Ban actions available for group members - The simulator the object is located - The primitive Properties - - - Get the simulator the object is located - - Get the primitive properties + + Ban agent from joining a group - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive or Foliage data that is currently - being tracked in the dictionary - The event is also raised when a request is - made and is enabled - + + Remove restriction on agent jointing a group - + - Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class - - The simulator the object is located - The Primitive - The primitive Properties + Handles all network traffic related to reading and writing group + information + - - Get the primitive details + + The event subscribers. null if no subcribers - - Provides additional primitive data, permissions and sale info for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment. This includes - Permissions, Sale info, and other basic details on an object - The event is also raised when a request is - made, the viewer equivalent is hovering the mouse cursor over an object - + + Raises the CurrentGroups event + A CurrentGroupsEventArgs object containing the + data sent from the simulator - - Get the simulator the object is located + + Thread sync lock object - - + + Raised when the simulator sends us data containing + our current group membership - - + + The event subscribers. null if no subcribers - - Provides primitive data containing updated location, velocity, rotation, textures for the event - The event occurs when the simulator sends updated location, velocity, rotation, etc - + + Raises the GroupNamesReply event + A GroupNamesEventArgs object containing the + data response from the simulator - - Get the simulator the object is located + + Thread sync lock object - - Get the primitive details + + Raised when the simulator responds to a RequestGroupName + or RequestGroupNames request - - + + The event subscribers. null if no subcribers - - + + Raises the GroupProfile event + An GroupProfileEventArgs object containing the + data returned from the simulator - - - - + + Thread sync lock object - - Get the simulator the object is located + + Raised when the simulator responds to a request - - Get the primitive details + + The event subscribers. null if no subcribers - - + + Raises the GroupMembers event + A GroupMembersEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + Raised when the simulator responds to a request - - + + The event subscribers. null if no subcribers - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event + + Raises the GroupRolesDataReply event + A GroupRolesDataReplyEventArgs object containing the + data returned from the simulator - - Get the simulator the object is located + + Thread sync lock object - - The LocalID of the object + + Raised when the simulator responds to a request - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event + + The event subscribers. null if no subcribers - - Get the simulator the object is located + + Raises the GroupRoleMembersReply event + A GroupRolesRoleMembersReplyEventArgs object containing the + data returned from the simulator - - The LocalID of the object + + Thread sync lock object - - - Provides updates sit position data - + + Raised when the simulator responds to a request - - Get the simulator the object is located + + The event subscribers. null if no subcribers - - + + Raises the GroupTitlesReply event + A GroupTitlesReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + Raised when the simulator responds to a request - - - - + + The event subscribers. null if no subcribers - - Get the simulator the object is located + + Raises the GroupAccountSummary event + A GroupAccountSummaryReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + Raised when a response to a RequestGroupAccountSummary is returned + by the simulator - - + + The event subscribers. null if no subcribers - - - Indicates if the operation was successful - + + Raises the GroupCreated event + An GroupCreatedEventArgs object containing the + data returned from the simulator - - - Media version string - + + Thread sync lock object - - - Array of media entries indexed by face number - + + Raised when a request to create a group is successful - - - Set when simulator sends us infomation on primitive's physical properties - + + The event subscribers. null if no subcribers - - Simulator where the message originated + + Raises the GroupJoined event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator - - Updated physical properties + + Thread sync lock object - - - Constructor - - Simulator where the message originated - Updated physical properties + + Raised when a request to join a group either + fails or succeeds - - Size of the byte array used to store raw packet data + + The event subscribers. null if no subcribers - - Raw packet data buffer + + Raises the GroupLeft event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator - - Length of the data to transmit + + Thread sync lock object - - EndPoint of the remote host + + Raised when a request to leave a group either + fails or succeeds - - - Create an allocated UDP packet buffer for receiving a packet - + + The event subscribers. null if no subcribers - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host + + Raises the GroupDropped event + An GroupDroppedEventArgs object containing the + the group your agent left - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host - Size of the buffer to allocate for packet data + + Thread sync lock object - - - Object pool for packet buffers. This is used to allocate memory for all - incoming and outgoing packets, and zerocoding buffers for those packets - + + Raised when A group is removed from the group server - - - Creates a new instance of the ObjectPoolBase class. Initialize MUST be called - after using this constructor. - + + The event subscribers. null if no subcribers - - - Creates a new instance of the ObjectPool Base class. - - The object pool is composed of segments, which - are allocated whenever the size of the pool is exceeded. The number of items - in a segment should be large enough that allocating a new segmeng is a rare - thing. For example, on a server that will have 10k people logged in at once, - the receive buffer object pool should have segment sizes of at least 1000 - byte arrays per segment. - - The minimun number of segments that may exist. - Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. - The frequency which segments are checked to see if they're eligible for cleanup. + + Raises the GroupMemberEjected event + An GroupMemberEjectedEventArgs object containing the + data returned from the simulator - - - Forces the segment cleanup algorithm to be run. This method is intended - primarly for use from the Unit Test libraries. - + + Thread sync lock object - - - Responsible for allocate 1 instance of an object that will be stored in a segment. - - An instance of whatever objec the pool is pooling. + + Raised when a request to eject a member from a group either + fails or succeeds - - - Checks in an instance of T owned by the object pool. This method is only intended to be called - by the WrappedObject class. - - The segment from which the instance is checked out. - The instance of T to check back into the segment. + + The event subscribers. null if no subcribers - - - Checks an instance of T from the pool. If the pool is not sufficient to - allow the checkout, a new segment is created. - - A WrappedObject around the instance of T. To check - the instance back into the segment, be sureto dispose the WrappedObject - when finished. + + Raises the GroupNoticesListReply event + An GroupNoticesListReplyEventArgs object containing the + data returned from the simulator - - - The total number of segments created. Intended to be used by the Unit Tests. - + + Thread sync lock object - - - The number of items that are in a segment. Items in a segment - are all allocated at the same time, and are hopefully close to - each other in the managed heap. - + + Raised when the simulator sends us group notices + - - - The minimum number of segments. When segments are reclaimed, - this number of segments will always be left alone. These - segments are allocated at startup. - + + The event subscribers. null if no subcribers - - - The age a segment must be before it's eligible for cleanup. - This is used to prevent thrash, and typical values are in - the 5 minute range. - + + Raises the GroupInvitation event + An GroupInvitationEventArgs object containing the + data returned from the simulator - - - The frequence which the cleanup thread runs. This is typically - expected to be in the 5 minute range. - + + Thread sync lock object - - - Initialize the object pool in client mode - - Server to connect to - - + + Raised when another agent invites our avatar to join a group - - - Initialize the object pool in server mode - - - + + The event subscribers. null if no subcribers + + + Raises the BannedAgents event + An BannedAgentsEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Raised when another agent invites our avatar to join a group + + + A reference to the current instance + + + Currently-active group members requests + + + Currently-active group roles requests + + + Currently-active group role-member requests + + + Dictionary keeping group members while request is in progress + + + Dictionary keeping mebmer/role mapping while request is in progress + + + Dictionary keeping GroupRole information while request is in progress - - - Returns a packet buffer with EndPoint set if the buffer is in - client mode, or with EndPoint set to null in server mode - - Initialized UDPPacketBuffer object + + Caches group name lookups - + - Default constructor + Construct a new instance of the GroupManager class + A reference to the current instance - + - Check a packet buffer out of the pool + Request a current list of groups the avatar is a member of. - A packet buffer object + CAPS Event Queue must be running for this to work since the results + come across CAPS. - + - Checks the instance back into the object pool + Lookup name of group based on groupID + groupID of group to lookup name for. - + - Returns an instance of the class that has been checked out of the Object Pool. + Request lookup of multiple group names + List of group IDs to request. - - - - + + Lookup group profile data such as name, enrollment, founder, logo, etc + Subscribe to OnGroupProfile event to receive the results. + group ID (UUID) - - - - + + Request a list of group members. + Subscribe to OnGroupMembers event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - - - + + Request group roles + Subscribe to OnGroupRoles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - - - + + Request members (members,role) role mapping for a group. + Subscribe to OnGroupRolesMembers event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - - - - - + + Request a groups Titles + Subscribe to OnGroupTitles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - - The ObservableDictionary class is used for storing key/value pairs. It has methods for firing - events to subscribers when items are added, removed, or changed. - - Key - Value + + Begin to get the group account summary + Subscribe to the OnGroupAccountSummary event to receive the results. + group ID (UUID) + How long of an interval + Which interval (0 for current, 1 for last) - - - A dictionary of callbacks to fire when specified action occurs - + + Invites a user to a group + The group to invite to + A list of roles to invite a person to + Key of person to invite - - - Register a callback to be fired when an action occurs - - The action - The callback to fire + + Set a group as the current active group + group ID (UUID) - - - Unregister a callback - - The action - The callback to fire + + Change the role that determines your active title + Group ID to use + Role ID to change to - + + Set this avatar's tier contribution + Group ID to change tier in + amount of tier to donate + + - + Save wheather agent wants to accept group notices and list this group in their profile - - + Group + Accept notices from this group + List this group in the profile - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking + + Request to join a group + Subscribe to OnGroupJoined event for confirmation. + group ID (UUID) to join. - + - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. + Request to create a new group. If the group is successfully + created, L$100 will automatically be deducted - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); - - + Subscribe to OnGroupCreated event to receive confirmation. + Group struct containing the new group info - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); - - + + Update a group's profile and other information + Groups ID (UUID) to update. + Group struct to update. - - - Try to get entry from the with specified key - - Key to use for lookup - Value returned - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - + + Eject a user from a group + Group ID to eject the user from + Avatar's key to eject - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - + + Update role information + Modified role to be updated - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - + + Create a new group role + Group ID to update + Role to create - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - + + Delete a group role + Group ID to update + Role to delete - - Check if Key exists in Dictionary - Key to check for - if found, otherwise + + Remove an avatar from a role + Group ID to update + Role ID to be removed from + Avatar's Key to remove - - Check if Value exists in Dictionary - Value to check for - if found, otherwise + + Assign an avatar to a role + Group ID to update + Role ID to assign to + Avatar's ID to assign to role - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - - The key - The value + + Request the group notices list + Group ID to fetch notices for - - - Removes the specified key, dictionary locking is not performed - - The key. - if successful, otherwise + + Request a group notice by key + ID of group notice - - - Clear the contents of the dictionary - + + Send out a group notice + Group ID to update + GroupNotice structure containing notice data - - - Enumerator for iterating dictionary entries - - + + Start a group proposal (vote) + The Group ID to send proposal to + GroupProposal structure containing the proposal - - - Gets the number of Key/Value pairs contained in the - + + Request to leave a group + Subscribe to OnGroupLeft event to receive confirmation + The group to leave - + - Indexer for the dictionary + Gets the URI of the cpability for handling group bans - The key - The value + Group ID + null, if the feature is not supported, or URI of the capability - + - Add a custom decoder callback + Request a list of residents banned from joining a group - The key of the field to decode - The custom decode handler + UUID of the group - + - Remove a custom decoder callback + Request a list of residents banned from joining a group - The key of the field to decode - The custom decode handler + UUID of the group + Callback on request completition - + - Creates a formatted string containing the values of a Packet + Request that group of agents be banned or unbanned from the group - The Packet - A formatted string of values of the nested items in the Packet object + Group ID + Ban/Unban action + Array of agents UUIDs to ban - + - Decode an IMessage object into a beautifully formatted string + Request that group of agents be banned or unbanned from the group - The IMessage object - Recursion level (used for indenting) - A formatted string containing the names and values of the source object + Group ID + Ban/Unban action + Array of agents UUIDs to ban + Callback - - - A custom decoder callback - - The key of the object - the data to decode - A string represending the fieldData + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Provides helper methods for parallelizing loops - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Executes a for loop in which iterations may run in parallel - - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Executes a for loop in which iterations may run in parallel - - The number of concurrent execution threads to run - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - An enumerable collection to iterate over - Method body to run for each object in the collection + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - The number of concurrent execution threads to run - An enumerable collection to iterate over - Method body to run for each object in the collection + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Executes a series of tasks in parallel - - A series of method bodies to execute + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Executes a series of tasks in parallel - - The number of concurrent execution threads to run - A series of method bodies to execute + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Type of return to use when returning objects from a parcel - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Return objects owned by parcel owner + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Return objects set to group + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Return objects not owned by parcel owner or set to group + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Return a specific list of objects on parcel + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Return objects that are marked for-sale + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + + Contains the current groups your agent is a member of + + + Get the current groups your agent is a member of + + + Construct a new instance of the CurrentGroupsEventArgs class + The current groups your agent is a member of + + + A Dictionary of group names, where the Key is the groups ID and the value is the groups name + + + Get the Group Names dictionary + + + Construct a new instance of the GroupNamesEventArgs class + The Group names dictionary + + + Represents the members of a group + + + Get the ID as returned by the request to correlate + this result set and the request + + + Get the ID of the group + + + Get the dictionary of members + + - Blacklist/Whitelist flags used in parcels Access List + Construct a new instance of the GroupMembersReplyEventArgs class + The ID of the request + The ID of the group + The membership list of the group - - Agent is denied access + + Represents the roles associated with a group - - Agent is granted access + + Get the ID as returned by the request to correlate + this result set and the request - - - The result of a request for parcel properties - + + Get the ID of the group - - No matches were found for the request + + Get the dictionary containing the roles - - Request matched a single parcel + + Construct a new instance of the GroupRolesDataReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The dictionary containing the roles - - Request matched multiple parcels + + Represents the Role to Member mappings for a group - - - Flags used in the ParcelAccessListRequest packet to specify whether - we want the access list (whitelist), ban list (blacklist), or both - + + Get the ID as returned by the request to correlate + this result set and the request - - Request the access list + + Get the ID of the group - - Request the ban list + + Get the member to roles map - - Request both White and Black lists + + Construct a new instance of the GroupRolesMembersReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The member to roles map - - - Sequence ID in ParcelPropertiesReply packets (sent when avatar - tries to cross a parcel border) - + + Represents the titles for a group - - Parcel is currently selected + + Get the ID as returned by the request to correlate + this result set and the request - - Parcel restricted to a group the avatar is not a - member of + + Get the ID of the group - - Avatar is banned from the parcel + + Get the titles - - Parcel is restricted to an access list that the - avatar is not on + + Construct a new instance of the GroupTitlesReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The titles - - Response to hovering over a parcel + + Represents the summary data for a group - - - The tool to use when modifying terrain levels - + + Get the ID of the group - - Level the terrain + + Get the summary data - - Raise the terrain + + Construct a new instance of the GroupAccountSummaryReplyEventArgs class + The ID of the group + The summary data - - Lower the terrain + + A response to a group create request - - Smooth the terrain + + Get the ID of the group - - Add random noise to the terrain + + true of the group was created successfully - - Revert terrain to simulator default + + A string containing the message - - - The tool size to use when changing terrain levels - + + Construct a new instance of the GroupCreatedReplyEventArgs class + The ID of the group + the success or faulure of the request + A string containing additional information - - Small + + Represents a response to a request - - Medium + + Get the ID of the group - - Large + + true of the request was successful - - - Reasons agent is denied access to a parcel on the simulator - + + Construct a new instance of the GroupOperationEventArgs class + The ID of the group + true of the request was successful - - Agent is not denied, access is granted + + Represents your agent leaving a group - - Agent is not a member of the group set for the parcel, or which owns the parcel + + Get the ID of the group - - Agent is not on the parcels specific allow list + + Construct a new instance of the GroupDroppedEventArgs class + The ID of the group - - Agent is on the parcels ban list + + Represents a list of active group notices - - Unknown + + Get the ID of the group - - Agent is not age verified and parcel settings deny access to non age verified avatars + + Get the notices list - - - Parcel overlay type. This is used primarily for highlighting and - coloring which is why it is a single integer instead of a set of - flags - - These values seem to be poorly thought out. The first three - bits represent a single value, not flags. For example Auction (0x05) is - not a combination of OwnedByOther (0x01) and ForSale(0x04). However, - the BorderWest and BorderSouth values are bit flags that get attached - to the value stored in the first three bits. Bits four, five, and six - are unused + + Construct a new instance of the GroupNoticesListReplyEventArgs class + The ID of the group + The list containing active notices - - Public land + + Represents the profile of a group - - Land is owned by another avatar + + Get the group profile - - Land is owned by a group + + Construct a new instance of the GroupProfileEventArgs class + The group profile - - Land is owned by the current avatar + + + Provides notification of a group invitation request sent by another Avatar + + The invitation is raised when another avatar makes an offer for our avatar + to join a group. - - Land is for sale + + The ID of the Avatar sending the group invitation - - Land is being auctioned + + The name of the Avatar sending the group invitation - - Land is private + + A message containing the request information which includes + the name of the group, the groups charter and the fee to join details - - To the west of this area is a parcel border + + The Simulator - - To the south of this area is a parcel border + + Set to true to accept invitation, false to decline - + - Various parcel properties + Result of the request for list of agents banned from a group - - No flags set + + Indicates if list of banned agents for a group was successfully retrieved - - Allow avatars to fly (a client-side only restriction) + + Indicates if list of banned agents for a group was successfully retrieved - - Allow foreign scripts to run + + Array containing a list of UUIDs of the agents banned from a group - - This parcel is for sale + + + Static helper functions and global variables + - - Allow avatars to create a landmark on this parcel + + This header flag signals that ACKs are appended to the packet - - Allows all avatars to edit the terrain on this parcel + + This header flag signals that this packet has been sent before - - Avatars have health and can take damage on this parcel. - If set, avatars can be killed and sent home here + + This header flags signals that an ACK is expected for this packet - - Foreign avatars can create objects here + + This header flag signals that the message is compressed using zerocoding - - All objects on this parcel can be purchased + + + Passed to Logger.Log() to identify the severity of a log entry + - - Access is restricted to a group + + No logging information will be output - - Access is restricted to a whitelist + + Non-noisy useful information, may be helpful in + debugging a problem - - Ban blacklist is enabled + + A non-critical error occurred. A warning will not + prevent the rest of the library from operating as usual, + although it may be indicative of an underlying issue - - Unknown + + A critical error has occurred. Generally this will + be followed by the network layer shutting down, although the + stability of the library after an error is uncertain - - List this parcel in the search directory + + Used for internal testing, this logging level can + generate very noisy (long and/or repetitive) messages. Don't + pass this to the Log() function, use DebugLog() instead. + - - Allow personally owned parcels to be deeded to group + + + + + + - - If Deeded, owner contributes required tier to group parcel is deeded to + + + + + + + - - Restrict sounds originating on this parcel to the - parcel boundaries + + + + + + - - Objects on this parcel are sold when the land is - purchsaed + + + + + + + - - Allow this parcel to be published on the web + + + Given an X/Y location in absolute (grid-relative) terms, a region + handle is returned along with the local X/Y location in that region + + The absolute X location, a number such as + 255360.35 + The absolute Y location, a number such as + 255360.35 + The sim-local X position of the global X + position, a value from 0.0 to 256.0 + The sim-local Y position of the global Y + position, a value from 0.0 to 256.0 + A 64-bit region handle that can be used to teleport to - - The information for this parcel is mature content + + + Converts a floating point number to a terse string format used for + transmitting numbers in wearable asset files + + Floating point number to convert to a string + A terse string representation of the input number - - The media URL is an HTML page + + + Convert a variable length field (byte array) to a string, with a + field name prepended to each line of the output + + If the byte array has unprintable characters in it, a + hex dump will be written instead + The StringBuilder object to write to + The byte array to convert to a string + A field name to prepend to each line of output - - The media URL is a raw HTML string + + + Decode a zerocoded byte array, used to decompress packets marked + with the zerocoded flag + + Any time a zero is encountered, the next byte is a count + of how many zeroes to expand. One zero is encoded with 0x00 0x01, + two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The + first four bytes are copied directly to the output buffer. + + The byte array to decode + The length of the byte array to decode. This + would be the length of the packet up to (but not including) any + appended ACKs + The output byte array to decode to + The length of the output buffer - - Restrict foreign object pushes + + + Encode a byte array with zerocoding. Used to compress packets marked + with the zerocoded flag. Any zeroes in the array are compressed down + to a single zero byte followed by a count of how many zeroes to expand + out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, + three zeroes becomes 0x00 0x03, etc. The first four bytes are copied + directly to the output buffer. + + The byte array to encode + The length of the byte array to encode + The output byte array to encode to + The length of the output buffer - - Ban all non identified/transacted avatars + + + Calculates the CRC (cyclic redundancy check) needed to upload inventory. + + Creation date + Sale type + Inventory type + Type + Asset ID + Group ID + Sale price + Owner ID + Creator ID + Item ID + Folder ID + Everyone mask (permissions) + Flags + Next owner mask (permissions) + Group mask (permissions) + Owner mask (permissions) + The calculated CRC - - Allow group-owned scripts to run + + + Attempts to load a file embedded in the assembly + + The filename of the resource to load + A Stream for the requested file, or null if the resource + was not successfully loaded - - Allow object creation by group members or group - objects + + + Attempts to load a file either embedded in the assembly or found in + a given search path + + The filename of the resource to load + An optional path that will be searched if + the asset is not found embedded in the assembly + A Stream for the requested file, or null if the resource + was not successfully loaded - - Allow all objects to enter this parcel + + + Converts a list of primitives to an object that can be serialized + with the LLSD system + + Primitives to convert to a serializable object + An object that can be serialized with LLSD - - Only allow group and owner objects to enter this parcel + + + Deserializes OSD in to a list of primitives + + Structure holding the serialized primitive list, + must be of the SDMap type + A list of deserialized primitives - - Voice Enabled on this parcel + + + Converts a struct or class object containing fields only into a key value separated string + + The struct object + A string containing the struct fields as the keys, and the field value as the value separated + + + // Add the following code to any struct or class containing only fields to override the ToString() + // method to display the values of the passed object + + /// Print the struct data as a string + ///A string containing the field name, and field value + public override string ToString() + { + return Helpers.StructToString(this); + } + + - - Use Estate Voice channel for Voice on this parcel + + + The InternalDictionary class is used through the library for storing key/value pairs. + It is intended to be a replacement for the generic Dictionary class and should + be used in its place. It contains several methods for allowing access to the data from + outside the library that are read only and thread safe. + + + Key + Value - - Deny Age Unverified Users + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking + on this member - + - Parcel ownership status + Gets the number of Key/Value pairs contained in the - - Placeholder - - - Parcel is leased (owned) by an avatar or group - - - Parcel is in process of being leased (purchased) by an avatar or group - - - Parcel has been abandoned back to Governor Linden - - + - Category parcel is listed in under search + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); + + - - No assigned category - - - Linden Infohub or public area - - - Adult themed area - - - Arts and Culture - - - Business + + + Initializes a new instance of the Class + with the specified key/value, has its initial valies copied from the specified + + + + to copy initial values from + + + // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. + // populates with copied values from example KeyNameCache Dictionary. + + // create source dictionary + Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); + KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); + KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); + + // Initialize new dictionary. + public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); + + - - Educational + + + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. + + Initial size of dictionary + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); + + - - Gaming + + + Try to get entry from with specified key + + Key to use for lookup + Value returned + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + - - Hangout or Club + + + Finds the specified match. + + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + - - Newcomer friendly + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + - - Parks and Nature + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + - - Residential + + Perform an on each entry in an + to perform + + + // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. + Client.Network.CurrentSim.ObjectsPrimitives.ForEach( + delegate(Primitive prim) + { + if (prim.Text != null) + { + Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", + prim.PropertiesFamily.Name, prim.ID, prim.Text); + } + }); + + - - Shopping + + Perform an on each key of an + to perform - - Not Used? + + + Perform an on each KeyValuePair of an + + to perform - - Other + + Check if Key exists in Dictionary + Key to check for + if found, otherwise - - Not an actual category, only used for queries + + Check if Value exists in Dictionary + Value to check for + if found, otherwise - + - Type of teleport landing for a parcel + Adds the specified key to the dictionary, dictionary locking is not performed, + + The key + The value - - Unset, simulator default - - - Specific landing point set for this parcel + + + Removes the specified key, dictionary locking is not performed + + The key. + if successful, otherwise - - No landing point set, direct teleports enabled for - this parcel + + + Indexer for the dictionary + + The key + The value - + - Parcel Media Command used in ParcelMediaCommandMessage + Exception class to identify inventory exceptions - - Stop the media stream and go back to the first frame + + + Responsible for maintaining inventory structure. Inventory constructs nodes + and manages node children as is necessary to maintain a coherant hirarchy. + Other classes should not manipulate or create InventoryNodes explicitly. When + A node's parent changes (when a folder is moved, for example) simply pass + Inventory the updated InventoryFolder and it will make the appropriate changes + to its internal representation. + - - Pause the media stream (stop playing but stay on current frame) + + The event subscribers, null of no subscribers - - Start the current media stream playing and stop when the end is reached + + Raises the InventoryObjectUpdated Event + A InventoryObjectUpdatedEventArgs object containing + the data sent from the simulator - - Start the current media stream playing, - loop to the beginning when the end is reached and continue to play + + Thread sync lock object - - Specifies the texture to replace with video - If passing the key of a texture, it must be explicitly typecast as a key, - not just passed within double quotes. + + Raised when the simulator sends us data containing + ... - - Specifies the movie URL (254 characters max) + + The event subscribers, null of no subscribers - - Specifies the time index at which to begin playing + + Raises the InventoryObjectRemoved Event + A InventoryObjectRemovedEventArgs object containing + the data sent from the simulator - - Specifies a single agent to apply the media command to + + Thread sync lock object - - Unloads the stream. While the stop command sets the texture to the first frame of the movie, - unload resets it to the real texture that the movie was replacing. + + Raised when the simulator sends us data containing + ... - - Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties - (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. + + The event subscribers, null of no subscribers - - Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). - Use "text/html" for HTML. + + Raises the InventoryObjectAdded Event + A InventoryObjectAddedEventArgs object containing + the data sent from the simulator - - Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). - This might still not be working + + Thread sync lock object - - Sets a description for the media being displayed (1.19.1 RC0 and later only). + + Raised when the simulator sends us data containing + ... - + - Some information about a parcel of land returned from a DirectoryManager search + The root folder of this avatars inventory - - Global Key of record - - - Parcel Owners + + + The default shared library folder + - - Name field of parcel, limited to 128 characters + + + The root node of the avatars inventory + - - Description field of parcel, limited to 256 characters + + + The root node of the default shared library + - - Total Square meters of parcel + + + Returns the contents of the specified folder + + A folder's UUID + The contents of the folder corresponding to folder + When folder does not exist in the inventory - - Total area billable as Tier, for group owned land this will be 10% less than ActualArea + + + Updates the state of the InventoryNode and inventory data structure that + is responsible for the InventoryObject. If the item was previously not added to inventory, + it adds the item, and updates structure accordingly. If it was, it updates the + InventoryNode, changing the parent node if item.parentUUID does + not match node.Parent.Data.UUID. + + You can not set the inventory root folder using this method + + The InventoryObject to store - - True of parcel is in Mature simulator + + + Removes the InventoryObject and all related node data from Inventory. + + The InventoryObject to remove. - - Grid global X position of parcel + + + Used to find out if Inventory contains the InventoryObject + specified by uuid. + + The UUID to check. + true if inventory contains uuid, false otherwise - - Grid global Y position of parcel + + + Saves the current inventory structure to a cache file + + Name of the cache file to save to - - Grid global Z position of parcel (not used) + + + Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + + Name of the cache file to load + The number of inventory items sucessfully reconstructed into the inventory node tree - - Name of simulator parcel is located in + + + By using the bracket operator on this class, the program can get the + InventoryObject designated by the specified uuid. If the value for the corresponding + UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). + If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), + the uuid parameter is ignored. + + The UUID of the InventoryObject to get or set, ignored if set to non-null value. + The InventoryObject corresponding to uuid. - - Texture of parcels display picture + + Sort by name - - Float representing calculated traffic based on time spent on parcel by avatars + + Sort by date - - Sale price of parcel (not used) + + Sort folders by name, regardless of whether items are + sorted by name or date - - Auction ID of parcel + + Place system folders at the top - + - Parcel Media Information + Possible destinations for DeRezObject request - - A byte, if 0x1 viewer should auto scale media to fit object + + - - A boolean, if true the viewer should loop the media + + Copy from in-world to agent inventory - - The Asset UUID of the Texture which when applied to a - primitive will display the media + + Derez to TaskInventory - - A URL which points to any Quicktime supported media type + + - - A description of the media + + Take Object - - An Integer which represents the height of the media + + - - An integer which represents the width of the media + + Delete Object - - A string which contains the mime type of the media + + Put an avatar attachment into agent inventory - + + + + + Return an object back to the owner's inventory + + + Return a deeded object back to the last owner's inventory + + - Parcel of land, a portion of virtual real estate in a simulator + Upper half of the Flags field for inventory items - - The total number of contiguous 4x4 meter blocks your agent owns within this parcel + + Indicates that the NextOwner permission will be set to the + most restrictive set of permissions found in the object set + (including linkset items and object inventory items) on next rez - - The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own + + Indicates that the object sale information has been + changed - - Deprecated, Value appears to always be 0 + + If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez - - Simulator-local ID of this parcel + + If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez - - UUID of the owner of this parcel + + If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez - - Whether the land is deeded to a group or not + + If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez - - + + If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez - - Date land was claimed + + Indicates whether this object is composed of multiple + items or not - - Appears to always be zero + + Indicates that the asset is only referenced by this + inventory item. If this item is deleted or updated to reference a + new assetID, the asset can be deleted - - This field is no longer used + + + Base Class for Inventory Items + - - Minimum corner of the axis-aligned bounding box for this - parcel + + of item/folder - - Maximum corner of the axis-aligned bounding box for this - parcel + + of parent folder - - Bitmap describing land layout in 4x4m squares across the - entire region + + Name of item/folder - - Total parcel land area + + Item/Folder Owners - - + + + Constructor, takes an itemID as a parameter + + The of the item - - Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used + + + + + - - Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel - owned by the agent or group that owns this parcel + + + + + - - Maximum number of primitives this parcel supports + + + Generates a number corresponding to the value of the object to support the use of a hash table, + suitable for use in hashing algorithms and data structures such as a hash table + + A Hashcode of all the combined InventoryBase fields - - Total number of primitives on this parcel + + + Determine whether the specified object is equal to the current object + + InventoryBase object to compare against + true if objects are the same - - For group-owned parcels this indicates the total number of prims deeded to the group, - for parcels owned by an individual this inicates the number of prims owned by the individual + + + Determine whether the specified object is equal to the current object + + InventoryBase object to compare against + true if objects are the same - - Total number of primitives owned by the parcel group on - this parcel, or for parcels owned by an individual with a group set the - total number of prims set to that group. + + + Convert inventory to OSD + + OSD representation - - Total number of prims owned by other avatars that are not set to group, or not the parcel owner + + + An Item in Inventory + - - A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect - the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed + + The of this item - - Autoreturn value in minutes for others' objects + + The combined of this item - - + + The type of item from - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it + + The type of item from the enum - - Parcel Name + + The of the creator of this item - - Parcel Description + + A Description of this item - - URL For Music Stream + + The s this item is set to or owned by - - + + If true, item is owned by a group - - Price for a temporary pass + + The price this item can be purchased for - - How long is pass valid for + + The type of sale from the enum - - + + Combined flags from - - Key of authorized buyer + + Time and date this inventory item was created, stored as + UTC (Coordinated Universal Time) - - Key of parcel snapshot + + Used to update the AssetID in requests sent to the server - - The landing point location + + The of the previous owner of the item - - The landing point LookAt + + + Construct a new InventoryItem object + + The of the item - - The type of landing enforced from the enum + + + Construct a new InventoryItem object of a specific Type + + The type of item from + of the item - - + + + Indicates inventory item is a link + + True if inventory item is a link to another inventory item - - + + + + + - - + + + + + - - Access list of who is whitelisted on this - parcel + + + Generates a number corresponding to the value of the object to support the use of a hash table. + Suitable for use in hashing algorithms and data structures such as a hash table + + A Hashcode of all the combined InventoryItem fields - - Access list of who is blacklisted on this - parcel + + + Compares an object + + The object to compare + true if comparison object matches - - TRUE of region denies access to age unverified users + + + Determine whether the specified object is equal to the current object + + The object to compare against + true if objects are the same - - true to obscure (hide) media url + + + Determine whether the specified object is equal to the current object + + The object to compare against + true if objects are the same - - true to obscure (hide) music url + + + Create InventoryItem from OSD + + OSD Data that makes up InventoryItem + Inventory item created - - A struct containing media details + + + Convert InventoryItem to OSD + + OSD representation of InventoryItem - + - Displays a parcel object in string format + InventoryTexture Class representing a graphical image - string containing key=value pairs of a parcel object + - + - Defalt constructor + Construct an InventoryTexture object - Local ID of this parcel + A which becomes the + objects AssetUUID - + - Update the simulator with any local changes to this Parcel object + Construct an InventoryTexture object from a serialization stream - Simulator to send updates to - Whether we want the simulator to confirm - the update with a reply packet or not - + - Set Autoreturn time + InventorySound Class representing a playable sound - Simulator to send the update to - + - Parcel (subdivided simulator lots) subsystem + Construct an InventorySound object + A which becomes the + objects AssetUUID - - The event subscribers. null if no subcribers + + + Construct an InventorySound object from a serialization stream + - - Raises the ParcelDwellReply event - A ParcelDwellReplyEventArgs object containing the - data returned from the simulator + + + InventoryCallingCard Class, contains information on another avatar + - - Thread sync lock object + + + Construct an InventoryCallingCard object + + A which becomes the + objects AssetUUID - - The event subscribers. null if no subcribers + + + Construct an InventoryCallingCard object from a serialization stream + - - Raises the ParcelInfoReply event - A ParcelInfoReplyEventArgs object containing the - data returned from the simulator + + + InventoryLandmark Class, contains details on a specific location + - - Thread sync lock object + + + Construct an InventoryLandmark object + + A which becomes the + objects AssetUUID - - The event subscribers. null if no subcribers + + + Construct an InventoryLandmark object from a serialization stream + - - Raises the ParcelProperties event - A ParcelPropertiesEventArgs object containing the - data returned from the simulator + + + Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited + - - Thread sync lock object + + + InventoryObject Class contains details on a primitive or coalesced set of primitives + - - The event subscribers. null if no subcribers + + + Construct an InventoryObject object + + A which becomes the + objects AssetUUID - - Raises the ParcelAccessListReply event - A ParcelAccessListReplyEventArgs object containing the - data returned from the simulator + + + Construct an InventoryObject object from a serialization stream + - - Thread sync lock object + + + Gets or sets the upper byte of the Flags value + - - The event subscribers. null if no subcribers + + + Gets or sets the object attachment point, the lower byte of the Flags value + - - Raises the ParcelObjectOwnersReply event - A ParcelObjectOwnersReplyEventArgs object containing the - data returned from the simulator + + + InventoryNotecard Class, contains details on an encoded text document + - - Thread sync lock object + + + Construct an InventoryNotecard object + + A which becomes the + objects AssetUUID - - The event subscribers. null if no subcribers + + + Construct an InventoryNotecard object from a serialization stream + - - Raises the SimParcelsDownloaded event - A SimParcelsDownloadedEventArgs object containing the - data returned from the simulator + + + InventoryCategory Class + + TODO: Is this even used for anything? - - Thread sync lock object + + + Construct an InventoryCategory object + + A which becomes the + objects AssetUUID - - The event subscribers. null if no subcribers + + + Construct an InventoryCategory object from a serialization stream + - - Raises the ForceSelectObjectsReply event - A ForceSelectObjectsReplyEventArgs object containing the - data returned from the simulator + + + InventoryLSL Class, represents a Linden Scripting Language object + - - Thread sync lock object + + + Construct an InventoryLSL object + + A which becomes the + objects AssetUUID - - The event subscribers. null if no subcribers + + + Construct an InventoryLSL object from a serialization stream + - - Raises the ParcelMediaUpdateReply event - A ParcelMediaUpdateReplyEventArgs object containing the - data returned from the simulator + + + InventorySnapshot Class, an image taken with the viewer + - - Thread sync lock object + + + Construct an InventorySnapshot object + + A which becomes the + objects AssetUUID - - The event subscribers. null if no subcribers + + + Construct an InventorySnapshot object from a serialization stream + - - Raises the ParcelMediaCommand event - A ParcelMediaCommandEventArgs object containing the - data returned from the simulator + + + InventoryAttachment Class, contains details on an attachable object + - - Thread sync lock object + + + Construct an InventoryAttachment object + + A which becomes the + objects AssetUUID - + - Default constructor + Construct an InventoryAttachment object from a serialization stream - A reference to the GridClient object - + - Request basic information for a single parcel + Get the last AttachmentPoint this object was attached to - Simulator-local ID of the parcel - + - Request properties of a single parcel + InventoryWearable Class, details on a clothing item or body part - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - multiple simultaneous requests - + - Request the access list for a single parcel + Construct an InventoryWearable object - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelAccessList reply, useful for distinguishing between - multiple simultaneous requests - + A which becomes the + objects AssetUUID - + - Request properties of parcels using a bounding box selection + Construct an InventoryWearable object from a serialization stream - Simulator containing the parcel - Northern boundary of the parcel selection - Eastern boundary of the parcel selection - Southern boundary of the parcel selection - Western boundary of the parcel selection - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - different types of parcel property requests - A boolean that is returned with the - ParcelProperties reply, useful for snapping focus to a single - parcel - + - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) + The , Skin, Shape, Skirt, Etc - Simulator to request parcels from (must be connected) - + - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) + InventoryAnimation Class, A bvh encoded object which animates an avatar - Simulator to request parcels from (must be connected) - If TRUE, will force a full refresh - Number of milliseconds to pause in between each request - + - Request the dwell value for a parcel + Construct an InventoryAnimation object - Simulator containing the parcel - Simulator-local ID of the parcel + A which becomes the + objects AssetUUID - + - Send a request to Purchase a parcel of land + Construct an InventoryAnimation object from a serialization stream - The Simulator the parcel is located in - The parcels region specific local ID - true if this parcel is being purchased by a group - The groups - true to remove tier contribution if purchase is successful - The parcels size - The purchase price of the parcel - - + - Reclaim a parcel of land + InventoryGesture Class, details on a series of animations, sounds, and actions - The simulator the parcel is in - The parcels region specific local ID - + - Deed a parcel to a group + Construct an InventoryGesture object - The simulator the parcel is in - The parcels region specific local ID - The groups + A which becomes the + objects AssetUUID - + - Request prim owners of a parcel of land. + Construct an InventoryGesture object from a serialization stream - Simulator parcel is in - The parcels region specific local ID - + - Return objects from a parcel + A folder contains s and has certain attributes specific + to itself - Simulator parcel is in - The parcels region specific local ID - the type of objects to return, - A list containing object owners s to return - + + The Preferred for a folder. + + + The Version of this folder + + + Number of child items this folder contains. + + - Subdivide (split) a parcel + Constructor - - - - - + UUID of the folder - + - Join two parcels of land creating a single parcel + - - - - - + - + - Get a parcels LocalID + Get Serilization data for this InventoryFolder object - Simulator parcel is in - Vector3 position in simulator (Z not used) - 0 on failure, or parcel LocalID on success. - A call to Parcels.RequestAllSimParcels is required to populate map and - dictionary. - + - Terraform (raise, lower, etc) an area or whole parcel of land + Construct an InventoryFolder object from a serialization stream - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - + - Terraform (raise, lower, etc) an area or whole parcel of land + - Simulator land area is in. - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + - + - Terraform (raise, lower, etc) an area or whole parcel of land + - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + + - + - Terraform (raise, lower, etc) an area or whole parcel of land + - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - Height at which the terraform operation is acting at + + - + - Sends a request to the simulator to return a list of objects owned by specific owners + - Simulator local ID of parcel - Owners, Others, Etc - List containing keys of avatars objects to select; - if List is null will return Objects of type selectType - Response data is returned in the event + + - + - Eject and optionally ban a user from a parcel + Create InventoryFolder from OSD - target key of avatar to eject - true to also ban target + OSD Data that makes up InventoryFolder + Inventory folder created - + - Freeze or unfreeze an avatar over your land + Convert InventoryItem to OSD - target key to freeze - true to freeze, false to unfreeze + OSD representation of InventoryItem - + - Abandon a parcel of land + Tools for dealing with agents inventory - Simulator parcel is in - Simulator local ID of parcel - + + Used for converting shadow_id to asset_id + + - Requests the UUID of the parcel in a remote region at a specified location + Callback for inventory item creation finishing - Location of the parcel in the remote region - Remote region handle - Remote region UUID - If successful UUID of the remote parcel, UUID.Zero otherwise + Whether the request to create an inventory + item succeeded or not + Inventory item being created. If success is + false this will be null - + - Retrieves information on resources used by the parcel + Callback for an inventory item being create from an uploaded asset - UUID of the parcel - Should per object resource usage be requested - Callback invoked when the request is complete - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + true if inventory item creation was successful + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + The event subscribers, null of no subscribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Raises the ItemReceived Event + A ItemReceivedEventArgs object containing + the data sent from the simulator - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Raised when the simulator sends us data containing + ... - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + The event subscribers, null of no subscribers - - Raised when the simulator responds to a request + + Raises the FolderUpdated Event + A FolderUpdatedEventArgs object containing + the data sent from the simulator - - Raised when the simulator responds to a request + + Thread sync lock object - - Raised when the simulator responds to a request + + Raised when the simulator sends us data containing + ... - - Raised when the simulator responds to a request + + The event subscribers, null of no subscribers - - Raised when the simulator responds to a request + + Raises the InventoryObjectOffered Event + A InventoryObjectOfferedEventArgs object containing + the data sent from the simulator - - Raised when the simulator responds to a request + + Thread sync lock object - - Raised when the simulator responds to a request + + Raised when the simulator sends us data containing + an inventory object sent by another avatar or primitive - - Raised when the simulator responds to a Parcel Update request + + The event subscribers, null of no subscribers - - Raised when the parcel your agent is located sends a ParcelMediaCommand + + Raises the TaskItemReceived Event + A TaskItemReceivedEventArgs object containing + the data sent from the simulator - - - Parcel Accesslist - + + Thread sync lock object - - Agents + + Raised when the simulator sends us data containing + ... - - + + The event subscribers, null of no subscribers - - Flags for specific entry in white/black lists + + Raises the FindObjectByPath Event + A FindObjectByPathEventArgs object containing + the data sent from the simulator - - - Owners of primitives on parcel - + + Thread sync lock object - - Prim Owners + + Raised when the simulator sends us data containing + ... - - True of owner is group + + The event subscribers, null of no subscribers - - Total count of prims owned by OwnerID + + Raises the TaskInventoryReply Event + A TaskInventoryReplyEventArgs object containing + the data sent from the simulator - - true of OwnerID is currently online and is not a group + + Thread sync lock object - - The date of the most recent prim left by OwnerID + + Raised when the simulator sends us data containing + ... - + - Called once parcel resource usage information has been collected + Reply received when uploading an inventory asset - Indicates if operation was successfull - Parcel resource usage information + Has upload been successful + Error message if upload failed + Inventory asset UUID + New asset UUID - - Contains a parcels dwell data returned from the simulator in response to an + + The event subscribers, null of no subscribers - + + Raises the SaveAssetToInventory Event + A SaveAssetToInventoryEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + - Construct a new instance of the ParcelDwellReplyEventArgs class + Delegate that is invoked when script upload is completed - The global ID of the parcel - The simulator specific ID of the parcel - The calculated dwell for the parcel + Has upload succeded (note, there still might be compile errors) + Upload status message + Is compilation successful + If compilation failed, list of error messages, null on compilation success + Script inventory UUID + Script's new asset UUID - - Get the global ID of the parcel + + The event subscribers, null of no subscribers - - Get the simulator specific ID of the parcel + + Raises the ScriptRunningReply Event + A ScriptRunningReplyEventArgs object containing + the data sent from the simulator - - Get the calculated dwell + + Thread sync lock object - - Contains basic parcel information data returned from the - simulator in response to an request + + Raised when the simulator sends us data containing + ... - + + Partial mapping of FolderTypes to folder names + + - Construct a new instance of the ParcelInfoReplyEventArgs class + Get this agents Inventory data - The object containing basic parcel info - - - Get the object containing basic parcel info - - - Contains basic parcel information data returned from the simulator in response to an request - + - Construct a new instance of the ParcelPropertiesEventArgs class + Default constructor - The object containing the details - The object containing the details - The result of the request - The number of primitieves your agent is - currently selecting and or sitting on in this parcel - The user assigned ID used to correlate a request with - these results - TODO: - - - Get the simulator the parcel is located in + Reference to the GridClient object - - Get the object containing the details - If Result is NoData, this object will not contain valid data + + + Fetch an inventory item from the dataserver + + The items + The item Owners + a integer representing the number of milliseconds to wait for results + An object on success, or null if no item was found + Items will also be sent to the event - - Get the result of the request + + + Request A single inventory item + + The items + The item Owners + - - Get the number of primitieves your agent is - currently selecting and or sitting on in this parcel + + + Request inventory items + + Inventory items to request + Owners of the inventory items + - - Get the user assigned ID used to correlate a request with - these results + + + Request inventory items via Capabilities + + Inventory items to request + Owners of the inventory items + - - TODO: + + + Get contents of a folder + + The of the folder to search + The of the folders owner + true to retrieve folders + true to retrieve items + sort order to return results in + a integer representing the number of milliseconds to wait for results + A list of inventory items matching search criteria within folder + + InventoryFolder.DescendentCount will only be accurate if both folders and items are + requested - - Contains blacklist and whitelist data returned from the simulator in response to an request + + + Request the contents of an inventory folder + + The folder to search + The folder owners + true to return s contained in folder + true to return s containd in folder + the sort order to return items in + - + - Construct a new instance of the ParcelAccessListReplyEventArgs class + Request the contents of an inventory folder using HTTP capabilities - The simulator the parcel is located in - The user assigned ID used to correlate a request with - these results - The simulator specific ID of the parcel - TODO: - The list containing the white/blacklisted agents for the parcel - - - Get the simulator the parcel is located in + The folder to search + The folder owners + true to return s contained in folder + true to return s containd in folder + the sort order to return items in + - - Get the user assigned ID used to correlate a request with - these results + + + Returns the UUID of the folder (category) that defaults to + containing 'type'. The folder is not necessarily only for that + type + + This will return the root folder if one does not exist + + The UUID of the desired folder if found, the UUID of the RootFolder + if not found, or UUID.Zero on failure - - Get the simulator specific ID of the parcel + + + Find an object in inventory using a specific path to search + + The folder to begin the search in + The object owners + A string path to search + milliseconds to wait for a reply + Found items or if + timeout occurs or item is not found - - TODO: + + + Find inventory items by path + + The folder to begin the search in + The object owners + A string path to search, folders/objects separated by a '/' + Results are sent to the event - - Get the list containing the white/blacklisted agents for the parcel + + + Search inventory Store object for an item or folder + + The folder to begin the search in + An array which creates a path to search + Number of levels below baseFolder to conduct searches + if True, will stop searching after first match is found + A list of inventory items found - - Contains blacklist and whitelist data returned from the - simulator in response to an request + + + Move an inventory item or folder to a new location + + The item or folder to move + The to move item or folder to - + - Construct a new instance of the ParcelObjectOwnersReplyEventArgs class + Move an inventory item or folder to a new location and change its name - The simulator the parcel is located in - The list containing prim ownership counts + The item or folder to move + The to move item or folder to + The name to change the item or folder to - - Get the simulator the parcel is located in + + + Move and rename a folder + + The source folders + The destination folders + The name to change the folder to - - Get the list containing prim ownership counts + + + Update folder properties + + of the folder to update + Sets folder's parent to + Folder name + Folder type - - Contains the data returned when all parcel data has been retrieved from a simulator + + + Move a folder + + The source folders + The destination folders - + - Construct a new instance of the SimParcelsDownloadedEventArgs class + Move multiple folders, the keys in the Dictionary parameter, + to a new parents, the value of that folder's key. - The simulator the parcel data was retrieved from - The dictionary containing the parcel data - The multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + A Dictionary containing the + of the source as the key, and the + of the destination as the value - - Get the simulator the parcel data was retrieved from + + + Move an inventory item to a new folder + + The of the source item to move + The of the destination folder - - A dictionary containing the parcel data where the key correlates to the ParcelMap entry + + + Move and rename an inventory item + + The of the source item to move + The of the destination folder + The name to change the folder to - - Get the multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + + + Move multiple inventory items to new locations + + A Dictionary containing the + of the source item as the key, and the + of the destination folder as the value - - Contains the data returned when a request + + + Remove descendants of a folder + + The of the folder - + - Construct a new instance of the ForceSelectObjectsReplyEventArgs class + Remove a single item from inventory - The simulator the parcel data was retrieved from - The list of primitive IDs - true if the list is clean and contains the information - only for a given request + The of the inventory item to remove - - Get the simulator the parcel data was retrieved from + + + Remove a folder from inventory + + The of the folder to remove - - Get the list of primitive IDs + + + Remove multiple items or folders from inventory + + A List containing the s of items to remove + A List containing the s of the folders to remove - - true if the list is clean and contains the information - only for a given request + + + Empty the Lost and Found folder + - - Contains data when the media data for a parcel the avatar is on changes + + + Empty the Trash folder + - + - Construct a new instance of the ParcelMediaUpdateReplyEventArgs class + - the simulator the parcel media data was updated in - The updated media information + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + - - Get the simulator the parcel media data was updated in + + + + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + + - - Get the updated media information + + + Creates a new inventory folder + + ID of the folder to put this folder in + Name of the folder to create + The UUID of the newly created folder - - Contains the media command for a parcel the agent is currently on + + + Creates a new inventory folder + + ID of the folder to put this folder in + Name of the folder to create + Sets this folder as the default folder + for new assets of the specified type. Use FolderType.None + to create a normal folder, otherwise it will likely create a + duplicate of an existing folder type + The UUID of the newly created folder + If you specify a preferred type of AsseType.Folder + it will create a new root folder which may likely cause all sorts + of strange problems - + - Construct a new instance of the ParcelMediaCommandEventArgs class + Create an inventory item and upload asset data - The simulator the parcel media command was issued in - - - The media command that was sent - + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Delegate that will receive feedback on success or failure - - Get the simulator the parcel media command was issued in + + + Create an inventory item and upload asset data + + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Permission of the newly created item + (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) + Delegate that will receive feedback on success or failure - - + + + Creates inventory link to another inventory item or folder + + Put newly created link in folder with this UUID + Inventory item or folder + Method to call upon creation of the link - - + + + Creates inventory link to another inventory item + + Put newly created link in folder with this UUID + Original inventory item + Method to call upon creation of the link - - Get the media command that was sent + + + Creates inventory link to another inventory folder + + Put newly created link in folder with this UUID + Original inventory folder + Method to call upon creation of the link - - + + + Creates inventory link to another inventory item or folder + + Put newly created link in folder with this UUID + Original item's UUID + Name + Description + Asset Type + Inventory Type + Transaction UUID + Method to call upon creation of the link - + + + + + - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + - - + + + Request a copy of an asset embedded within a notecard + + Usually UUID.Zero for copying an asset from a notecard + UUID of the notecard to request an asset from + Target folder for asset to go to in your inventory + UUID of the embedded asset + callback to run when item is copied to inventory - + + - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - + + + + + + + - - + + + Save changes to notecard embedded in object contents + + Encoded notecard asset data + Notecard UUID + Object's UUID + Called upon finish of the upload with status information - - + + + Upload new gesture asset for an inventory gesture item + + Encoded gesture asset + Gesture inventory UUID + Callback whick will be called when upload is complete - - + + + Update an existing script in an agents Inventory + + A byte[] array containing the encoded scripts contents + the itemID of the script + if true, sets the script content to run on the mono interpreter + - - + + + Update an existing script in an task Inventory + + A byte[] array containing the encoded scripts contents + the itemID of the script + UUID of the prim containting the script + if true, sets the script content to run on the mono interpreter + if true, sets the script to running + - - + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details - - + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object - - + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object + User defined queryID to correlate replies + If set to true, the CreateSelected flag + will be set on the rezzed object - - + + + Rez an object from inventory + + Simulator to place object in + TaskID object when rezzed + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object + User defined queryID to correlate replies + If set to true, the CreateSelected flag + will be set on the rezzed object - - + + + DeRez an object from the simulator to the agents Objects folder in the agents Inventory + + The simulator Local ID of the object + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - + - + DeRez an object from the simulator and return to inventory + The simulator Local ID of the object + The type of destination from the enum + The destination inventory folders -or- + if DeRezzing object to a tasks Inventory, the Tasks + The transaction ID for this request which + can be used to correlate this request with other packets + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - - - - - - - - - - - - + - + Rez an item from inventory to its previous simulator location - + + + - + - + Give an inventory item to another avatar + The of the item to give + The name of the item + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer - - - - - - - - - - - + + + Give an inventory Folder with contents to another avatar + + The of the Folder to give + The name of the folder + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer - + - + Copy or move an from agent inventory to a task (primitive) inventory - + The target object + The item to copy or move from inventory + For items with copy permissions a copy of the item is placed in the tasks inventory, + for no-copy items the object is moved to the tasks inventory - + - + Retrieve a listing of the items contained in a task (Primitive) + The tasks + The tasks simulator local ID + milliseconds to wait for reply from simulator + A list containing the inventory items inside the task or null + if a timeout occurs + This request blocks until the response from the simulator arrives + or timeoutMS is exceeded - - - - - - - - - - - - - - - - - - - + - + Request the contents of a tasks (primitives) inventory from the + current simulator + The LocalID of the object + - - - - - - - - - - - - - - - - + - + Request the contents of a tasks (primitives) inventory - - + The simulator Local ID of the object + A reference to the simulator object that contains the object + - + - + Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory - - + LocalID of the object in the simulator + UUID of the task item to move + The ID of the destination folder in this agents inventory + Simulator Object + Raises the event - + - + Remove an item from an objects (Prim) Inventory - - + LocalID of the object in the simulator + UUID of the task item to remove + Simulator Object + You can confirm the removal by comparing the tasks inventory serial before and after the + request with the request combined with + the event - - + + + Copy an InventoryScript item from the Agents Inventory into a primitives task inventory + + An unsigned integer representing a primitive being simulated + An which represents a script object from the agents inventory + true to set the scripts running state to enabled + A Unique Transaction ID + + The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory + and assumes the script exists in the agents inventory. + + uint primID = 95899503; // Fake prim ID + UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory - - - - + Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, + false, true, InventorySortOrder.ByName, 10000); + + Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); + + - + - + Request the running status of a script contained in a task (primitive) inventory + The ID of the primitive containing the script + The ID of the script + The event can be used to obtain the results of the + request + - + - + Send a request to set the running state of a script contained in a task (primitive) inventory - - + The ID of the primitive containing the script + The ID of the script + true to set the script running, false to stop a running script + To verify the change you can use the method combined + with the event - + - + Create a CRC from an InventoryItem - - + The source InventoryItem + A uint representing the source InventoryItem as a CRC - + - + Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id - + Obfuscated shadow_id value + Deobfuscated asset_id value - + - Class for controlling various system settings. + Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id - Some values are readonly because they affect things that - happen when the GridClient object is initialized, so changing them at - runtime won't do any good. Non-readonly values may affect things that - happen at login or dynamically - - - Main grid login server - - - Beta grid login server + asset_id value to obfuscate + Obfuscated shadow_id value - + - InventoryManager requests inventory information on login, - GridClient initializes an Inventory store for main inventory. + Wrapper for creating a new object + The type of item from the enum + The of the newly created object + An object with the type and id passed - + - InventoryManager requests library information on login, - GridClient initializes an Inventory store for the library. + Parse the results of a RequestTaskInventory() response + A string which contains the data from the task reply + A List containing the items contained within the tasks inventory - - Number of milliseconds between sending pings to each sim - - - Number of milliseconds between sending camera updates - - - Number of milliseconds between updating the current - positions of moving, non-accelerating and non-colliding objects - - - Millisecond interval between ticks, where all ACKs are - sent out and the age of unACKed packets is checked - - - The initial size of the packet inbox, where packets are - stored before processing - - - Maximum size of packet that we want to send over the wire - - - The maximum value of a packet sequence number before it - rolls over back to one - - - The relative directory where external resources are kept - - - Login server to connect to - - - IP Address the client will bind to + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Use XML-RPC Login or LLSD Login, default is XML-RPC Login + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Maximum number of HTTP connections to open to a particular endpoint. + UpdateCreateInventoryItem packets are received when a new inventory item + is created. This may occur when an object that's rezzed in world is + taken into inventory, when an item is created using the CreateInventoryItem + packet, or when an object is purchased - - An endpoint is defined as a commbination of network address and port. This is used for Caps. - This is a static variable which applies to all instances. - + The sender + The EventArgs object containing the packet data - - - Use Caps for fetching inventory where available - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Number of milliseconds before an asset transfer will time - out + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Number of milliseconds before a teleport attempt will time - out + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Number of milliseconds before NetworkManager.Logout() will - time out + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Number of milliseconds before a CAPS call will time out - Setting this too low will cause web requests time out and - possibly retry repeatedly + + Set to true to accept offer, false to decline it - - Number of milliseconds for xml-rpc to timeout + + The folder to accept the inventory into, if null default folder for will be used - - Milliseconds before a packet is assumed lost and resent + + + Callback when an inventory object is accepted and received from a + task inventory. This is the callback in which you actually get + the ItemID, as in ObjectOfferedCallback it is null when received + from a task. + - - Milliseconds without receiving a packet before the - connection to a simulator is assumed lost + + - - Milliseconds to wait for a simulator info request through - the grid interface + + User data - - The maximum size of the sequence number archive, used to - check for resent and/or duplicate packets + + - - Maximum number of queued ACKs to be sent before SendAcks() - is forced + + - - Network stats queue length (seconds) + + - + - Primitives will be reused when falling in/out of interest list (and shared between clients) - prims returning to interest list do not need re-requested - Helps also in not re-requesting prim.Properties for code that checks for a Properties == null per client + For inventory folder nodes specifies weather the folder needs to be + refreshed from the server - + - Pool parcel data between clients (saves on requesting multiple times when all clients may need it) + - + - How long to preserve cached data when no client is connected to a simulator - The reason for setting it to something like 2 minutes is in case a client - is running back and forth between region edges or a sim is comming and going + + - - Enable/disable storing terrain heightmaps in the - TerrainManager - - - Enable/disable sending periodic camera updates - - - Enable/disable automatically setting agent appearance at - login and after sim crossing - - - Enable/disable automatically setting the bandwidth throttle - after connecting to each simulator - The default throttle uses the equivalent of the maximum - bandwidth setting in the official client. If you do not set a - throttle your connection will by default be throttled well below - the minimum values and you may experience connection problems - - - Enable/disable the sending of pings to monitor lag and - packet loss + + + De-serialization constructor for the InventoryNode Class + - - Should we connect to multiple sims? This will allow - viewing in to neighboring simulators and sim crossings - (Experimental) + + + Serialization handler for the InventoryNode Class + - - If true, all object update packets will be decoded in to - native objects. If false, only updates for our own agent will be - decoded. Registering an event handler will force objects for that - type to always be decoded. If this is disabled the object tracking - will have missing or partial prim and avatar information + + + De-serialization handler for the InventoryNode Class + - - If true, when a cached object check is received from the - server the full object info will automatically be requested + + + + + - - Whether to establish connections to HTTP capabilities - servers for simulators + + + Singleton logging class for the entire library + - - Whether to decode sim stats + + + Callback used for client apps to receive log messages from + the library + + Data being logged + The severity of the log entry from - - The capabilities servers are currently designed to - periodically return a 502 error which signals for the client to - re-establish a connection. Set this to true to log those 502 errors + + Triggered whenever a message is logged. If this is left + null, log messages will go to the console - - If true, any reference received for a folder or item - the library is not aware of will automatically be fetched + + log4net logging engine - - If true, and SEND_AGENT_UPDATES is true, - AgentUpdate packets will continuously be sent out to give the bot - smoother movement and autopiloting + + + Default constructor + - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectAvatars. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received + + + Send a log message to the logging engine + + The log message + The severity of the log entry - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectPrimitives. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Instance of the client - - If true, position and velocity will periodically be - interpolated (extrapolated, technically) for objects and - avatars that are being tracked by the library. This is - necessary to increase the accuracy of speed and position - estimates for simulated objects + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Exception that was raised - + - If true, utilization statistics will be tracked. There is a minor penalty - in CPU time for enabling this option. + Send a log message to the logging engine + The log message + The severity of the log entry + Instance of the client + Exception that was raised - - If true, parcel details will be stored in the - Simulator.Parcels dictionary as they are received - - + - If true, an incoming parcel properties reply will automatically send - a request for the parcel access list + If the library is compiled with DEBUG defined, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine + The message to log at the DEBUG level to the + current logging engine - + - if true, an incoming parcel properties reply will automatically send - a request for the traffic count. + If the library is compiled with DEBUG defined and + GridClient.Settings.DEBUG is true, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine + The message to log at the DEBUG level to the + current logging engine + Instance of the client - + - If true, images, and other assets downloaded from the server - will be cached in a local directory + - - Path to store cached texture data + + - - Maximum size cached files are allowed to take on disk (bytes) + + - - Default color used for viewer particle effects + + - - Maximum number of times to resend a failed packet + + - - Throttle outgoing packet rate + + - - UUID of a texture used by some viewers to indentify type of client used + + - + + + + - Download textures using GetTexture capability when available + Status of the last application run. + Used for error reporting to the grid login service for statistical purposes. - - The maximum number of concurrent texture downloads allowed - Increasing this number will not necessarily increase texture retrieval times due to - simulator throttles + + Application exited normally - - - The Refresh timer inteval is used to set the delay between checks for stalled texture downloads - - This is a static variable which applies to all instances + + Application froze - - - Textures taking longer than this value will be flagged as timed out and removed from the pipeline - + + Application detected error and exited abnormally - + + Other crash + + + Application froze during logout + + + Application crashed during logout + + - Get or set the minimum log level to output to the console by default - - If the library is not compiled with DEBUG defined and this level is set to DEBUG - You will get no output on the console. This behavior can be overriden by creating - a logger configuration file for log4net + Login Request Parameters - - Attach avatar names to log messages + + The URL of the Login Server - - Log packet retransmission info + + The number of milliseconds to wait before a login is considered + failed due to timeout - - Log disk cache misses and other info + + The request method + login_to_simulator is currently the only supported method - - Constructor - Reference to a GridClient object + + The Agents First name - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The Agents Last name - - Cost of uploading an asset - Read-only since this value is dynamically fetched at login + + A md5 hashed password + plaintext password will be automatically hashed - - - Simulator (region) properties - + + The agents starting location once logged in + Either "last", "home", or a string encoded URI + containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 - - No flags set + + A string containing the client software channel information + Second Life Release - - Agents can take damage and be killed + + The client software version information + The official viewer uses: Second Life Release n.n.n.n + where n is replaced with the current version of the viewer - - Landmarks can be created here + + A string containing the platform information the agent is running on - - Home position can be set in this sim + + A string containing version number for OS the agent is running on - - Home position is reset when an agent teleports away + + A string hash of the network cards Mac Address - - Sun does not move + + Unknown or deprecated - - No object, land, etc. taxes + + A string hash of the first disk drives ID used to identify this clients uniqueness - - Disable heightmap alterations (agents can still plant - foliage) + + A string containing the viewers Software, this is not directly sent to the login server but + instead is used to generate the Version string - - Land cannot be released, sold, or purchased + + A string representing the software creator. This is not directly sent to the login server but + is used by the library to generate the Version information - - All content is wiped nightly + + If true, this agent agrees to the Terms of Service of the grid its connecting to - - Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) + + Unknown - - Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. + + Status of the last application run sent to the grid login server for statistical purposes - - Region does not update agent prim interest lists. Internal debugging option. + + An array of string sent to the login server to enable various options - - No collision detection for non-agent objects + + A randomly generated ID to distinguish between login attempts. This value is only used + internally in the library and is never sent over the wire - - No scripts are ran + + + Default constuctor, initializes sane default values + - - All physics processing is turned off + + + Instantiates new LoginParams object and fills in the values + + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number - - Region can be seen from other regions on world map. (Legacy world map option?) + + + Instantiates new LoginParams object and fills in the values + + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number + URI of the login server - - Region can be seen from mainland on world map. (Legacy world map option?) + + + The decoded data returned from the login server after a successful login + - - Agents not explicitly on the access list can visit the region. + + true, false, indeterminate - - Traffic calculations are not run across entire region, overrides parcel settings. + + Login message of the day - - Flight is disabled (not currently enforced by the sim) + + M or PG, also agent_region_access and agent_access_max - - Allow direct (p2p) teleporting + + + Parse LLSD Login Reply Data + + An + contaning the login response data + XML-RPC logins do not require this as XML-RPC.NET + automatically populates the struct properly using attributes - - Estate owner has temporarily disabled scripting + + + Login Routines + + + NetworkManager is responsible for managing the network layer of + OpenMetaverse. It tracks all the server connections, serializes + outgoing traffic and deserializes incoming traffic, and provides + instances of delegates for network-related events. + - - Restricts the usage of the LSL llPushObject function, applies to whole region. + + The event subscribers, null of no subscribers - - Deny agents with no payment info on file + + Raises the LoginProgress Event + A LoginProgressEventArgs object containing + the data sent from the simulator - - Deny agents with payment info on file + + Thread sync lock object - - Deny agents who have made a monetary transaction + + Raised when the simulator sends us data containing + ... - - Parcels within the region may be joined or divided by anyone, not just estate owners/managers. + + + + + + + + + - - Abuse reports sent from within this region are sent to the estate owner defined email. + + Called when a reply is received from the login server, the + login sequence will block until this event returns - - Region is Voice Enabled + + Seed CAPS URL returned from the login server - - Removes the ability from parcel owners to set their parcels to show in search. + + Current state of logging in - - Deny agents who have not been age verified from entering the region. + + Upon login failure, contains a short string key for the + type of login error that occurred - - - Region protocol flags - + + The raw XML-RPC reply from the login server, exactly as it + was received (minus the HTTP header) - - Nothing special + + During login this contains a descriptive version of + LoginStatusCode. After a successful login this will contain the + message of the day, and after a failed login a descriptive error + message will be returned - - Region supports Server side Appearance + + Maximum number of groups an agent can belong to, -1 for unlimited - - Viewer supports Server side Appearance + + Server side baking service URL - - - Access level for a simulator - + + Parsed login response data - - Unknown or invalid access level + + A list of packets obtained during the login process which + networkmanager will log but not process - - Trial accounts allowed + + + Generate sane default values for a login request + + Account first name + Account last name + Account password + Client application name (channel) + Client application name + version + A populated struct containing + sane defaults - - PG rating + + + Simplified login that takes the most common and required fields + + Account first name + Account last name + Account password + Client application name (channel) + Client application name + version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - - Mature rating + + + Simplified login that takes the most common fields along with a + starting location URI, and can accept an MD5 string instead of a + plaintext password + + Account first name + Account last name + Account password or MD5 hash of the password + such as $1$1682a1e45e9f957dcdf0bb56eb43319c + Client application name (channel) + Starting location URI that can be built with + StartLocation() + Client application name + version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - - Adult rating + + + Login that takes a struct of all the values that will be passed to + the login server + + The values that will be passed to the login + server, all fields must be set even if they are String.Empty + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - - Simulator is offline + + + Build a start location URI for passing to the Login function + + Name of the simulator to start in + X coordinate to start at + Y coordinate to start at + Z coordinate to start at + String with a URI that can be used to login to a specified + location - - Simulator does not exist + + + LoginParams and the initial login XmlRpcRequest were made on a remote machine. + This method now initializes libomv with the results. + - + - + Handles response from XML-RPC login replies - + - + Handles response from XML-RPC login replies with already parsed LoginResponseData - + - Initialize the UDP packet handler in server mode + Handle response from LLSD login replies - Port to listening for incoming UDP packets on + + + - + - Initialize the UDP packet handler in client mode + Get current OS - Remote UDP server to connect to + Either "Win" or "Linux" - + - + Gets the current OS version number + The platform version. - + - + Get clients default Mac Address + A string containing the first found Mac Address - + - + Explains why a simulator or the grid disconnected from us - - A public reference to the client that this Simulator object - is attached to + + The client requested the logout or simulator disconnect - - A Unique Cache identifier for this simulator + + The server notified us that it is disconnecting - - The capabilities for this simulator + + Either a socket was closed or network traffic timed out - - + + The last active simulator shut down - - The current version of software this simulator is running + + + Holds a simulator reference and a decoded packet, these structs are put in + the packet inbox for event handling + - - + + Reference to the simulator that this packet came from + + + Packet that needs to be processed + + + + Holds a simulator reference and a serialized packet, these structs are put in + the packet outbox for sending + + + + Reference to the simulator this packet is destined for + + + Packet that needs to be sent - - A 64x64 grid of parcel coloring values. The values stored - in this array are of the type + + Sequence number of the wrapped packet - - + + Number of times this packet has been resent - - + + Environment.TickCount when this packet was last sent over the wire - - + + Type of the packet - - + + The event subscribers, null of no subscribers - - + + Raises the PacketSent Event + A PacketSentEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Raised when the simulator sends us data containing + ... - - + + The event subscribers, null of no subscribers - - + + Raises the LoggedOut Event + A LoggedOutEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Raised when the simulator sends us data containing + ... - - + + The event subscribers, null of no subscribers - - + + Raises the SimConnecting Event + A SimConnectingEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Raised when the simulator sends us data containing + ... - - + + The event subscribers, null of no subscribers - - + + Raises the SimConnected Event + A SimConnectedEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Raised when the simulator sends us data containing + ... - - true if your agent has Estate Manager rights on this region + + The event subscribers, null of no subscribers - - + + Raises the SimDisconnected Event + A SimDisconnectedEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Raised when the simulator sends us data containing + ... - - Statistics information for this simulator and the - connection to the simulator, calculated by the simulator itself - and the library + + The event subscribers, null of no subscribers - - The regions Unique ID + + Raises the Disconnected Event + A DisconnectedEventArgs object containing + the data sent from the simulator - - The physical data center the simulator is located - Known values are: - - Dallas - Chandler - SF - - + + Thread sync lock object - - The CPU Class of the simulator - Most full mainland/estate sims appear to be 5, - Homesteads and Openspace appear to be 501 + + Raised when the simulator sends us data containing + ... - - The number of regions sharing the same CPU as this one - "Full Sims" appear to be 1, Homesteads appear to be 4 + + The event subscribers, null of no subscribers - - The billing product name - Known values are: - - Mainland / Full Region (Sku: 023) - Estate / Full Region (Sku: 024) - Estate / Openspace (Sku: 027) - Estate / Homestead (Sku: 029) - Mainland / Homestead (Sku: 129) (Linden Owned) - Mainland / Linden Homes (Sku: 131) - - + + Raises the SimChanged Event + A SimChangedEventArgs object containing + the data sent from the simulator - - The billing product SKU - Known values are: - - 023 Mainland / Full Region - 024 Estate / Full Region - 027 Estate / Openspace - 029 Estate / Homestead - 129 Mainland / Homestead (Linden Owned) - 131 Linden Homes / Full Region - - + + Thread sync lock object - - - Flags indicating which protocols this region supports - + + Raised when the simulator sends us data containing + ... - - The current sequence number for packets sent to this - simulator. Must be Interlocked before modifying. Only - useful for applications manipulating sequence numbers + + The event subscribers, null of no subscribers - - - A thread-safe dictionary containing avatars in a simulator - + + Raises the EventQueueRunning Event + A EventQueueRunningEventArgs object containing + the data sent from the simulator - - - A thread-safe dictionary containing primitives in a simulator - + + Thread sync lock object - - - Checks simulator parcel map to make sure it has downloaded all data successfully - - true if map is full (contains no 0's) + + Raised when the simulator sends us data containing + ... - - - Is it safe to send agent updates to this sim - AgentMovementComplete message received - + + Unique identifier associated with our connections to + simulators - - Used internally to track sim disconnections + + The simulator that the logged in avatar is currently + occupying - - Event that is triggered when the simulator successfully - establishes a connection + + Shows whether the network layer is logged in to the + grid or not - - Whether this sim is currently connected or not. Hooked up - to the property Connected + + Number of packets in the incoming queue - - Coarse locations of avatars in this simulator + + Number of packets in the outgoing queue - - AvatarPositions key representing TrackAgent target + + All of the simulators we are currently connected to - - Sequence numbers of packets we've received - (for duplicate checking) + + Handlers for incoming capability events - - Packets we sent out that need ACKs from the simulator + + Handlers for incoming packets - - Sequence number for pause/resume + + Incoming packets that are awaiting handling - - Indicates if UDP connection to the sim is fully established + + Outgoing packets that are awaiting handling - + - + Default constructor Reference to the GridClient object - IPEndPoint of the simulator - handle of the simulator - + - Called when this Simulator object is being destroyed + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + Packet type to trigger events for + Callback to fire when a packet of this type + is received - + - Attempt to connect to this simulator + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library - Whether to move our agent in to this sim or not - True if the connection succeeded or connection status is - unknown, false if there was a failure + Packet type to trigger events for + Callback to fire when a packet of this type + is received + True if the callback should be ran + asynchronously. Only set this to false (synchronous for callbacks + that will always complete quickly) + If any callback for a packet type is marked as + asynchronous, all callbacks for that packet type will be fired + asynchronously - + - Initiates connection to the simulator + Unregister an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library - Should we block until ack for this packet is recieved + Packet type this callback is registered with + Callback to stop firing events for - + - Disconnect from this simulator + Register a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library + Name of the CAPS event to register a handler for + Callback to fire when a CAPS event is received - + - Instructs the simulator to stop sending update (and possibly other) packets + Unregister a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library + Name of the CAPS event this callback is + registered with + Callback to stop firing events for - + - Instructs the simulator to resume sending update packets (unpause) + Send a packet to the simulator the avatar is currently occupying + Packet to send - + - Retrieve the terrain height at a given coordinate + Send a packet to a specified simulator - Sim X coordinate, valid range is from 0 to 255 - Sim Y coordinate, valid range is from 0 to 255 - The terrain height at the given point if the - lookup was successful, otherwise 0.0f - True if the lookup was successful, otherwise false + Packet to send + Simulator to send the packet to - + - Sends a packet + Connect to a simulator - Packet to be sent + IP address to connect to + Port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null - + - + Connect to a simulator + IP address and port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null - + - Returns Simulator Name as a String + Begins the non-blocking logout. Makes sure that the LoggedOut event is + called even if the server does not send a logout reply, and Shutdown() + is properly called. - - + - + Initiate a blocking logout request. This will return when the logout + handshake has completed or when Settings.LOGOUT_TIMEOUT + has expired and the network layer is manually shut down - - + - + Initiate the logout process. The Shutdown() function + needs to be manually called. - - - + - Sends out pending acknowledgements + Close a connection to the given simulator - Number of ACKs sent + + - + - Resend unacknowledged packets + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout + Type of shutdown - + - Provides access to an internal thread-safe dictionary containing parcel - information found in this simulator + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout + Type of shutdown + Shutdown message - + - Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + Searches through the list of currently connected simulators to find + one attached to the given IPEndPoint + IPEndPoint of the Simulator to search for + A Simulator reference on success, otherwise null - - The IP address and port of the server - - - Whether there is a working connection to the simulator or - not - - - Coarse locations of avatars in this simulator - - - AvatarPositions key representing TrackAgent target - - - Indicates if UDP connection to the sim is fully established - - + - Simulator Statistics + Fire an event when an event queue connects for capabilities + Simulator the event queue is attached to - - Total number of packets sent by this simulator to this agent - - - Total number of packets received by this simulator to this agent - - - Total number of bytes sent by this simulator to this agent - - - Total number of bytes received by this simulator to this agent + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Time in seconds agent has been connected to simulator + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Total number of packets that have been resent + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Total number of resent packets recieved + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Total number of pings sent to this simulator by this agent + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Total number of ping replies sent to this agent by this simulator + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Incoming bytes per second - - It would be nice to have this claculated on the fly, but - this is far, far easier + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Outgoing bytes per second + A Name Value pair with additional settings, used in the protocol + primarily to transmit avatar names and active group in object packets - It would be nice to have this claculated on the fly, but - this is far, far easier - - - Time last ping was sent - - ID of last Ping sent - - - - - - - - - Current time dilation of this simulator + + Type of the value - - Current Frames per second of simulator + + Unknown - - Current Physics frames per second of simulator + + String value - + - + - + - + - - + + Deprecated - - + + String value, but designated as an asset - + - - + + + + - - Total number of objects Simulator is simulating + + - - Total number of Active (Scripted) objects running + + - - Number of agents currently in this simulator + + - - Number of agents in neighbor simulators + + - - Number of Active scripts running in this simulator + + + + - + - + - + - - Number of downloads pending - - - Number of uploads pending - - + - + - - Number of local uploads pending + + - - Unacknowledged bytes in queue + + - - - Simulator handle - + + - - - Number of GridClients using this datapool - + + - - - Time that the last client disconnected from the simulator - + + - + - The cache of prims used and unused in this simulator + Constructor that takes all the fields as parameters + + + + + - + - Shared parcel info only when POOL_PARCEL_DATA == true + Constructor that takes a single line from a NameValue field + - + - - The event subscribers, null of no subscribers - - - Raises the AttachedSound Event - A AttachedSoundEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AttachedSoundGainChange Event - A AttachedSoundGainChangeEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the SoundTrigger Event - A SoundTriggerEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the PreloadSound Event - A PreloadSoundEventArgs object containing - the data sent from the simulator - - - Thread sync lock object + + No report - - - Construct a new instance of the SoundManager class, used for playing and receiving - sound assets - - A reference to the current GridClient instance + + Unknown report type - - - Plays a sound in the current region at full volume from avatar position - - UUID of the sound to be played + + Bug report - - - Plays a sound in the current region at full volume - - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. + + Complaint report - - - Plays a sound in the current region - - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 + + Customer service report - + - Plays a sound in the specified sim + Bitflag field for ObjectUpdateCompressed data blocks, describing + which options are present for each object - UUID of the sound to be played. - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - - - Play a sound asset - - UUID of the sound to be played. - handle id for the sim to be played in. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 + + Unknown - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Whether the object has a TreeSpecies - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Whether the object has floating text ala llSetText - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Whether the object has an active particle system - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Whether the object has sound attached to it - - Raised when the simulator sends us data containing - sound + + Whether the object is attached to a root object or not - - Raised when the simulator sends us data containing - ... + + Whether the object has texture animation settings - - Raised when the simulator sends us data containing - ... + + Whether the object has an angular velocity - - Raised when the simulator sends us data containing - ... + + Whether the object has a name value pairs string - - Provides data for the event - The event occurs when the simulator sends - the sound data which emits from an agents attachment - - The following code example shows the process to subscribe to the event - and a stub to handle the data passed from the simulator - - // Subscribe to the AttachedSound event - Client.Sound.AttachedSound += Sound_AttachedSound; - - // process the data raised in the event here - private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) - { - // ... Process AttachedSoundEventArgs here ... - } - - + + Whether the object has a Media URL set - + - Construct a new instance of the SoundTriggerEventArgs class + Specific Flags for MultipleObjectUpdate requests - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The volume level - The - - - Simulator where the event originated - - Get the sound asset id + + None - - Get the ID of the owner + + Change position of prims - - Get the ID of the Object + + Change rotation of prims - - Get the volume level + + Change size of prims - - Get the + + Perform operation on link set - - Provides data for the event - The event occurs when an attached sound - changes its volume level + + Scale prims uniformly, same as selecing ctrl+shift in the + viewer. Used in conjunction with Scale - + - Construct a new instance of the AttachedSoundGainChangedEventArgs class + Special values in PayPriceReply. If the price is not one of these + literal value of the price should be use - Simulator where the event originated - The ID of the Object - The new volume level - - - Simulator where the event originated - - Get the ID of the Object - - - Get the volume level - - - Provides data for the event - The event occurs when the simulator forwards - a request made by yourself or another agent to play either an asset sound or a built in sound - - Requests to play sounds where the is not one of the built-in - will require sending a request to download the sound asset before it can be played - - - The following code example uses the , - and - properties to display some information on a sound request on the window. - - // subscribe to the event - Client.Sound.SoundTrigger += Sound_SoundTrigger; - - // play the pre-defined BELL_TING sound - Client.Sound.SendSoundTrigger(Sounds.BELL_TING); - - // handle the response data - private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) - { - Console.WriteLine("{0} played the sound {1} at volume {2}", - e.OwnerID, e.SoundID, e.Gain); - } - - - - + - Construct a new instance of the SoundTriggerEventArgs class + Indicates that this pay option should be hidden - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The ID of the objects parent - The volume level - The regionhandle - The source position - - - Simulator where the event originated - - - Get the sound asset id - - - Get the ID of the owner - - - Get the ID of the Object - - - Get the ID of the objects parent - - - Get the volume level - - Get the regionhandle - - - Get the source position - - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - - - + - Construct a new instance of the PreloadSoundEventArgs class + Indicates that this pay option should have the default value - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - - - Simulator where the event originated - - - Get the sound asset id - - - Get the ID of the owner - - - Get the ID of the Object - + - pre-defined built in sounds + Contains the variables sent in an object update packet for objects. + Used to track position and movement of prims and avatars - + - + - + - + - + - + - + - + - - coins - - - cash register bell - - + - + - - rubber + + + Handles all network traffic related to prims and avatar positions and + movement. + - - plastic + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + Raised when the simulator sends us data containing + A , Foliage or Attachment + + + + + The event subscribers, null of no subscribers + + + Raises the ObjectProperties Event + A ObjectPropertiesEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + additional information + + + + + The event subscribers, null of no subscribers + + + Raises the ObjectPropertiesUpdated Event + A ObjectPropertiesUpdatedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + Primitive.ObjectProperties for an object we are currently tracking - - flesh + + The event subscribers, null of no subscribers - - wood splintering? + + Raises the ObjectPropertiesFamily Event + A ObjectPropertiesFamilyEventArgs object containing + the data sent from the simulator - - glass break + + Thread sync lock object - - metal clunk + + Raised when the simulator sends us data containing + additional and details + - - whoosh + + The event subscribers, null of no subscribers - - shake + + Raises the AvatarUpdate Event + A AvatarUpdateEventArgs object containing + the data sent from the simulator - - + + + Raises the ParticleUpdate Event + + A ParticleUpdateEventArgs object containing + the data sent from the simulator - - ding + + Thread sync lock object - - + + Raised when the simulator sends us data containing + updated information for an - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + Raised when the simulator sends us data containing + and movement changes - - + + The event subscribers, null of no subscribers - - + + Raises the ObjectDataBlockUpdate Event + A ObjectDataBlockUpdateEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Raised when the simulator sends us data containing + updates to an Objects DataBlock - - + + The event subscribers, null of no subscribers - - + + Raises the KillObject Event + A KillObjectEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Raised when the simulator informs us an + or is no longer within view - - + + The event subscribers, null of no subscribers - - + + Raises the KillObjects Event + A KillObjectsEventArgs object containing + the data sent from the simulator - - - A dictionary containing all pre-defined sounds - - A dictionary containing the pre-defined sounds, - where the key is the sounds ID, and the value is a string - containing a name to identify the purpose of the sound + + Thread sync lock object - - X position of this patch + + Raised when the simulator informs us when a group of + or is no longer within view - - Y position of this patch + + The event subscribers, null of no subscribers - - A 16x16 array of floats holding decompressed layer data + + Raises the AvatarSitChanged Event + A AvatarSitChangedEventArgs object containing + the data sent from the simulator - - - Creates a LayerData packet for compressed land data given a full - simulator heightmap and an array of indices of patches to compress - - A 256 * 256 array of floating point values - specifying the height at each meter in the simulator - Array of indexes in the 16x16 grid of patches - for this simulator. For example if 1 and 17 are specified, patches - x=1,y=0 and x=1,y=1 are sent - + + Thread sync lock object - - - Add a patch of terrain to a BitPacker - - BitPacker to write the patch to - Heightmap of the simulator, must be a 256 * - 256 float array - X offset of the patch to create, valid values are - from 0 to 15 - Y offset of the patch to create, valid values are - from 0 to 15 + + Raised when the simulator sends us data containing + updated sit information for our - - The event subscribers. null if no subcribers + + The event subscribers, null of no subscribers - - Raises the LandPatchReceived event - A LandPatchReceivedEventArgs object containing the - data returned from the simulator + + Raises the PayPriceReply Event + A PayPriceReplyEventArgs object containing + the data sent from the simulator - + Thread sync lock object - + + Raised when the simulator sends us data containing + purchase price information for a + + - Default constructor + Callback for getting object media data via CAP - + Indicates if the operation was succesfull + Object media version string + Array indexed on prim face of media entry data - - Raised when the simulator responds sends + + The event subscribers, null of no subscribers - - Simulator from that sent tha data + + Raises the PhysicsProperties Event + A PhysicsPropertiesEventArgs object containing + the data sent from the simulator - - Sim coordinate of the patch + + Thread sync lock object - - Sim coordinate of the patch + + Raised when the simulator sends us data containing + additional information + + - - Size of tha patch + + Reference to the GridClient object - - Heightmap for the patch + + Does periodic dead reckoning calculation to convert + velocity and acceleration to new positions for objects - + - The current status of a texture request as it moves through the pipeline or final result of a texture request. + Construct a new instance of the ObjectManager class + A reference to the instance - - The initial state given to a request. Requests in this state - are waiting for an available slot in the pipeline - - - A request that has been added to the pipeline and the request packet - has been sent to the simulator - - - A request that has received one or more packets back from the simulator - - - A request that has received all packets back from the simulator + + + Request information for a single object from a + you are currently connected to + + The the object is located + The Local ID of the object - - A request that has taken longer than - to download OR the initial packet containing the packet information was never received + + + Request information for multiple objects contained in + the same simulator + + The the objects are located + An array containing the Local IDs of the objects - - The texture request was aborted by request of the agent + + + Attempt to purchase an original object, a copy, or the contents of + an object + + The the object is located + The Local ID of the object + Whether the original, a copy, or the object + contents are on sale. This is used for verification, if the this + sale type is not valid for the object the purchase will fail + Price of the object. This is used for + verification, if it does not match the actual price the purchase + will fail + Group ID that will be associated with the new + purchase + Inventory folder UUID where the object or objects + purchased should be placed + + + BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, + 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); + + - - The simulator replied to the request that it was not able to find the requested texture + + + Request prices that should be displayed in pay dialog. This will triggger the simulator + to send us back a PayPriceReply which can be handled by OnPayPriceReply event + + The the object is located + The ID of the object + The result is raised in the event - + - A callback fired to indicate the status or final state of the requested texture. For progressive - downloads this will fire each time new asset data is returned from the simulator. + Select a single object. This will cause the to send us + an which will raise the event - The indicating either Progress for textures not fully downloaded, - or the final result of the request after it has been processed through the TexturePipeline - The object containing the Assets ID, raw data - and other information. For progressive rendering the will contain - the data from the beginning of the file. For failed, aborted and timed out requests it will contain - an empty byte array. + The the object is located + The Local ID of the object + - + - Texture request download handler, allows a configurable number of download slots which manage multiple - concurrent texture downloads from the + Select a single object. This will cause the to send us + an which will raise the event - This class makes full use of the internal - system for full texture downloads. + The the object is located + The Local ID of the object + if true, a call to is + made immediately following the request + - - A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID - and also the Asset Texture ID, and the value is an object containing the current state of the request and also - the asset data as it is being re-assembled + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + Should objects be deselected immediately after selection + - - Holds the reference to the client object + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + - - Maximum concurrent texture requests allowed at a time + + + Update the properties of an object + + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on - - An array of objects used to manage worker request threads + + + Update the properties of an object + + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on + Type of the represetnation prim will have in the physics engine + Density - normal value 1000 + Friction - normal value 0.6 + Restitution - standard value 0.5 + Gravity multiplier - standar value 1.0 - - An array of worker slots which shows the availablity status of the slot + + + Sets the sale properties of a single object + + The the object is located + The Local ID of the object + One of the options from the enum + The price of the object - - The primary thread which manages the requests. + + + Sets the sale properties of multiple objects + + The the objects are located + An array containing the Local IDs of the objects + One of the options from the enum + The price of the object - - true if the TexturePipeline is currently running + + + Deselect a single object + + The the object is located + The Local ID of the object - - A synchronization object used by the primary thread + + + Deselect multiple objects. + + The the objects are located + An array containing the Local IDs of the objects - - A refresh timer used to increase the priority of stalled requests + + + Perform a click action on an object + + The the object is located + The Local ID of the object - + - Default constructor, Instantiates a new copy of the TexturePipeline class + Perform a click action (Grab) on a single object - Reference to the instantiated object + The the object is located + The Local ID of the object + The texture coordinates to touch + The surface coordinates to touch + The face of the position to touch + The region coordinates of the position to touch + The surface normal of the position to touch (A normal is a vector perpindicular to the surface) + The surface binormal of the position to touch (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - + - Initialize callbacks required for the TexturePipeline to operate + Create (rez) a new prim object in a simulator + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties - + - Shutdown the TexturePipeline and cleanup any callbacks or transfers + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Specify the + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties + + + + Rez a Linden tree + A reference to the object where the object resides + The size of the tree + The rotation of the tree + The position of the tree + The Type of tree + The of the group to set the tree to, + or UUID.Zero if no group is to be set + true to use the "new" Linden trees, false to use the old - + - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + Rez grass and ground cover - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request + A reference to the object where the object resides + The size of the grass + The rotation of the grass + The position of the grass + The type of grass from the enum + The of the group to set the tree to, + or UUID.Zero if no group is to be set - + - Sends the actual request packet to the simulator + Set the textures to apply to the faces of an object - The image to download - Type of the image to download, either a baked - avatar texture or a normal texture - Priority level of the download. Default is - 1,013,000.0f - Number of quality layers to discard. - This controls the end marker of the data sent - Packet number to start the download at. - This controls the start marker of the data sent - Sending a priority of 0 and a discardlevel of -1 aborts - download + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply - + - Cancel a pending or in process texture request + Set the textures to apply to the faces of an object - The texture assets unique ID + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply + A media URL (not used) - + - Master Download Thread, Queues up downloads in the threadpool + Set the Light data on an object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - + - The worker thread that sends the request and handles timeouts + Set the flexible data on an object - A object containing the request details + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - + - Handle responses from the simulator that tell us a texture we have requested is unable to be located - or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use + Set the sculptie texture and data on an object - The sender - The EventArgs object containing the packet data + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - + - Handles the remaining Image data that did not fit in the initial ImageData packet + Unset additional primitive parameters on an object - The sender - The EventArgs object containing the packet data + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The extra parameters to set - + - Handle the initial ImageDataPacket sent from the simulator + Link multiple prims into a linkset - The sender - The EventArgs object containing the packet data - - - Current number of pending and in-process transfers + A reference to the object where the objects reside + An array which contains the IDs of the objects to link + The last object in the array will be the root object of the linkset TODO: Is this true? - + - A request task containing information and status of a request as it is processed through the + Delink/Unlink multiple prims from a linkset + A reference to the object where the objects reside + An array which contains the IDs of the objects to delink - - The current which identifies the current status of the request - - - The Unique Request ID, This is also the Asset ID of the texture being requested - - - The slot this request is occupying in the threadpoolSlots array - - - The ImageType of the request. - - - The callback to fire when the request is complete, will include - the and the - object containing the result data - - - If true, indicates the callback will be fired whenever new data is returned from the simulator. - This is used to progressively render textures as portions of the texture are received. - - - An object that maintains the data of an request thats in-process. - - + - + Change the rotation of an object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation of the object - + - An instance of DelegateWrapper which calls InvokeWrappedDelegate, - which in turn calls the DynamicInvoke method of the wrapped - delegate + Set the name of an object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new name of the object - + - Callback used to call EndInvoke on the asynchronously - invoked DelegateWrapper + Set the name of multiple objects + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the name of + An array which contains the new names of the objects - + - Executes the specified delegate with the specified arguments - asynchronously on a thread pool thread + Set the description of an object - - + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new description of the object - + - Invokes the wrapped delegate synchronously + Set the descriptions of multiple objects - - + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the description of + An array which contains the new descriptions of the objects - + - Calls EndInvoke on the wrapper and Close on the resulting WaitHandle - to prevent resource leaks + Attach an object to this avatar - + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The point on the avatar the object will be attached + The rotation of the attached object - + - Delegate to wrap another delegate and its arguments + Drop an attached object from this avatar - - + A reference to the + object where the objects reside. This will always be the simulator the avatar is currently in + + The object's ID which is local to the simulator the object is in - + - + Detach an object from yourself + A reference to the + object where the objects reside + + This will always be the simulator the avatar is currently in + + An array which contains the IDs of the objects to detach - - - - - - - - - - + - Thrown when a packet could not be successfully deserialized + Change the position of an object, Will change position of entire linkset + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object - + - Default constructor + Change the position of an object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object + if true, will change position of (this) child prim only, not entire linkset - + - Constructor that takes an additional error message + Change the Scale (size) of an object - An error message to attach to this exception + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change scale of this prim only, not entire linkset + True to resize prims uniformly - + - The header of a message template packet. Holds packet flags, sequence - number, packet ID, and any ACKs that will be appended at the end of - the packet + Change the Rotation of an object that is either a child or a whole linkset + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change rotation of this prim only, not entire linkset - + - Convert the AckList to a byte array, used for packet serializing + Send a Multiple Object Update packet to change the size, scale or rotation of a primitive - Reference to the target byte array - Beginning position to start writing to in the byte - array, will be updated with the ending position of the ACK list + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation, size, or position of the target object + The flags from the Enum - + - + Deed an object (prim) to a group, Object must be shared with group which + can be accomplished with SetPermissions() - - - - + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The of the group to deed the object to - + - + Deed multiple objects (prims) to a group, Objects must be shared with group which + can be accomplished with SetPermissions() - - - + A reference to the object where the object resides + An array which contains the IDs of the objects to deed + The of the group to deed the object to - + - A block of data in a packet. Packets are composed of one or more blocks, - each block containing one or more fields + Set the permissions on multiple objects + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the permissions on + The new Who mask to set + Which permission to modify + The new state of permission - + - Create a block from a byte array + Request additional properties for an object - Byte array containing the serialized block - Starting position of the block in the byte array. - This will point to the data after the end of the block when the - call returns + A reference to the object where the object resides + - + - Serialize this block into a byte array + Request additional properties for an object - Byte array to serialize this block into - Starting position in the byte array to serialize to. - This will point to the position directly after the end of the - serialized block when the call returns - - - Current length of the data in this packet - - - A generic value, not an actual packet type - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + A reference to the object where the object resides + Absolute UUID of the object + Whether to require server acknowledgement of this request - - + + + Set the ownership of a list of objects to the specified group + + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the group id on + The Groups ID - - + + + Update current URL of the previously set prim media + + UUID of the prim + Set current URL to this + Prim face number + Simulator in which prim is located - - + + + Set object media + + UUID of the prim + Array the length of prims number of faces. Null on face indexes where there is + no media, on faces which contain the media + Simulatior in which prim is located - - + + + Retrieve information about object media + + UUID of the primitive + Simulator where prim is located + Call this callback when done - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + + A terse object update, used when a transformation matrix or + velocity/acceleration for an object changes but nothing else + (scale/position/rotation/acceleration/velocity) + + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + + + + + + - - + + + Setup construction data for a basic primitive shape + + Primitive shape to construct + Construction data that can be plugged into a - - + + + + + + + + - - + + + + + + - - + + + Set the Shape data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + Data describing the prim shape - - + + + Set the Material data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new material of the object - - + + + + + + + + - - + + + + + + + + + - - + + + + + + + + - - + + Provides data for the event + The event occurs when the simulator sends + an containing a Primitive, Foliage or Attachment data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or + if an Avatar crosses the border into a new simulator and returns to the current simulator + + + The following code example uses the , , and + properties to display new Primitives and Attachments on the window. + + // Subscribe to the event that gives us prim and foliage information + Client.Objects.ObjectUpdate += Objects_ObjectUpdate; + + + private void Objects_ObjectUpdate(object sender, PrimEventArgs e) + { + Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); + } + + + + + - - + + Get the simulator the originated from - - + + Get the details - - + + true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) - - + + true if the is attached to an - - + + Get the simulator Time Dilation - - + + + Construct a new instance of the PrimEventArgs class + + The simulator the object originated from + The Primitive + The simulator time dilation + The prim was not in the dictionary before this update + true if the primitive represents an attachment to an agent - - + + Provides data for the event + The event occurs when the simulator sends + an containing Avatar data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator + + + The following code example uses the property to make a request for the top picks + using the method in the class to display the names + of our own agents picks listings on the window. + + // subscribe to the AvatarUpdate event to get our information + Client.Objects.AvatarUpdate += Objects_AvatarUpdate; + Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; + + private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) + { + // we only want our own data + if (e.Avatar.LocalID == Client.Self.LocalID) + { + // Unsubscribe from the avatar update event to prevent a loop + // where we continually request the picks every time we get an update for ourselves + Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; + // make the top picks request through AvatarManager + Client.Avatars.RequestAvatarPicks(e.Avatar.ID); + } + } + + private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) + { + // we'll unsubscribe from the AvatarPicksReply event since we now have the data + // we were looking for + Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; + // loop through the dictionary and extract the names of the top picks from our profile + foreach (var pickName in e.Picks.Values) + { + Console.WriteLine(pickName); + } + } + + + + - - + + Get the simulator the object originated from - - + + Get the data - - + + Get the simulator time dilation - - + + true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) - - + + + Construct a new instance of the AvatarUpdateEventArgs class + + The simulator the packet originated from + The data + The simulator time dilation + The avatar was not in the dictionary before this update - - + + Get the simulator the object originated from - - + + Get the data - - + + Get source - - + + + Construct a new instance of the ParticleUpdateEventArgs class + + The simulator the packet originated from + The ParticleSystem data + The Primitive source - - + + Provides additional primitive data for the event + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment data + The event is also raised when a request is + made. + + + The following code example uses the , and + + properties to display new attachments and send a request for additional properties containing the name of the + attachment then display it on the window. + + // Subscribe to the event that provides additional primitive details + Client.Objects.ObjectProperties += Objects_ObjectProperties; + + // handle the properties data that arrives + private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) + { + Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); + } + + - - + + Get the simulator the object is located - - + + Get the primitive properties - - + + + Construct a new instance of the ObjectPropertiesEventArgs class + + The simulator the object is located + The primitive Properties - - + + Provides additional primitive data for the event + The event occurs when the simulator sends + an containing additional details for a Primitive or Foliage data that is currently + being tracked in the dictionary + The event is also raised when a request is + made and is enabled + - - + + Get the primitive details - - + + + Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class + + The simulator the object is located + The Primitive + The primitive Properties - - + + Provides additional primitive data, permissions and sale info for the event + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment. This includes + Permissions, Sale info, and other basic details on an object + The event is also raised when a request is + made, the viewer equivalent is hovering the mouse cursor over an object + - - + + Get the simulator the object is located - - + + - - + + - - + + Provides primitive data containing updated location, velocity, rotation, textures for the event + The event occurs when the simulator sends updated location, velocity, rotation, etc + - - + + Get the simulator the object is located - - + + Get the primitive details - - + + - - + + - - + + + + - - + + Get the simulator the object is located - - + + Get the primitive details - - + + - - + + - - + + - - + + - - + + Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the + event - - + + Get the simulator the object is located - - + + The LocalID of the object - - + + Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the + event - - + + Get the simulator the object is located - - + + The LocalID of the object - - + + + Provides updates sit position data + - - + + Get the simulator the object is located - - + + - - + + - - + + - - + + + + - - + + Get the simulator the object is located - - + + - - + + - - + + - - + + + Indicates if the operation was successful + - - + + + Media version string + - - + + + Array of media entries indexed by face number + - - + + + Set when simulator sends us infomation on primitive's physical properties + - - + + Simulator where the message originated - - + + Updated physical properties - - + + + Constructor + + Simulator where the message originated + Updated physical properties - - + + Size of the byte array used to store raw packet data - - + + Raw packet data buffer - - + + Length of the data to transmit - - + + EndPoint of the remote host - - + + + Create an allocated UDP packet buffer for receiving a packet + - - + + + Create an allocated UDP packet buffer for sending a packet + + EndPoint of the remote host - - + + + Create an allocated UDP packet buffer for sending a packet + + EndPoint of the remote host + Size of the buffer to allocate for packet data - - + + + Object pool for packet buffers. This is used to allocate memory for all + incoming and outgoing packets, and zerocoding buffers for those packets + - - + + + Initialize the object pool in client mode + + Server to connect to + + - - + + + Initialize the object pool in server mode + + + - - + + + Returns a packet buffer with EndPoint set if the buffer is in + client mode, or with EndPoint set to null in server mode + + Initialized UDPPacketBuffer object - - + + + Default constructor + - - + + + Check a packet buffer out of the pool + + A packet buffer object - - + + + Returns an instance of the class that has been checked out of the Object Pool. + - - + + + Checks the instance back into the object pool + - - + + + Creates a new instance of the ObjectPoolBase class. Initialize MUST be called + after using this constructor. + - - + + + Creates a new instance of the ObjectPool Base class. + + The object pool is composed of segments, which + are allocated whenever the size of the pool is exceeded. The number of items + in a segment should be large enough that allocating a new segmeng is a rare + thing. For example, on a server that will have 10k people logged in at once, + the receive buffer object pool should have segment sizes of at least 1000 + byte arrays per segment. + + The minimun number of segments that may exist. + Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. + The frequency which segments are checked to see if they're eligible for cleanup. - - + + + Forces the segment cleanup algorithm to be run. This method is intended + primarly for use from the Unit Test libraries. + - - + + + Responsible for allocate 1 instance of an object that will be stored in a segment. + + An instance of whatever objec the pool is pooling. - - + + + Checks in an instance of T owned by the object pool. This method is only intended to be called + by the WrappedObject class. + + The segment from which the instance is checked out. + The instance of T to check back into the segment. - - + + + Checks an instance of T from the pool. If the pool is not sufficient to + allow the checkout, a new segment is created. + + A WrappedObject around the instance of T. To check + the instance back into the segment, be sureto dispose the WrappedObject + when finished. - - + + + The total number of segments created. Intended to be used by the Unit Tests. + - - + + + The number of items that are in a segment. Items in a segment + are all allocated at the same time, and are hopefully close to + each other in the managed heap. + - - + + + The minimum number of segments. When segments are reclaimed, + this number of segments will always be left alone. These + segments are allocated at startup. + - - + + + The age a segment must be before it's eligible for cleanup. + This is used to prevent thrash, and typical values are in + the 5 minute range. + - - + + + The frequence which the cleanup thread runs. This is typically + expected to be in the 5 minute range. + - - + + + + - - + + + + - - + + + + - - + + + + - - + + + + + + - - + + + The ObservableDictionary class is used for storing key/value pairs. It has methods for firing + events to subscribers when items are added, removed, or changed. + + Key + Value - - + + + A dictionary of callbacks to fire when specified action occurs + - - + + + Register a callback to be fired when an action occurs + + The action + The callback to fire - - + + + Unregister a callback + + The action + The callback to fire - - + + + + + + - - + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking - - + + + Gets the number of Key/Value pairs contained in the + - - + + + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. + + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); + + - - + + + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. + + Initial size of dictionary + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); + + - - + + + Try to get entry from the with specified key + + Key to use for lookup + Value returned + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + - - + + + Finds the specified match. + + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + - - + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + - - + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + - - + + Check if Key exists in Dictionary + Key to check for + if found, otherwise - - + + Check if Value exists in Dictionary + Value to check for + if found, otherwise - - + + + Adds the specified key to the dictionary, dictionary locking is not performed, + + + The key + The value - - + + + Removes the specified key, dictionary locking is not performed + + The key. + if successful, otherwise - - + + + Indexer for the dictionary + + The key + The value - - + + + Clear the contents of the dictionary + - - + + + Enumerator for iterating dictionary entries + + - - + + + Provides helper methods for parallelizing loops + - - + + + Executes a for loop in which iterations may run in parallel + + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop - - + + + Executes a for loop in which iterations may run in parallel + + The number of concurrent execution threads to run + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop - - + + + Executes a foreach loop in which iterations may run in parallel + + Object type that the collection wraps + An enumerable collection to iterate over + Method body to run for each object in the collection - - + + + Executes a foreach loop in which iterations may run in parallel + + Object type that the collection wraps + The number of concurrent execution threads to run + An enumerable collection to iterate over + Method body to run for each object in the collection - - + + + Executes a series of tasks in parallel + + A series of method bodies to execute - - + + + Executes a series of tasks in parallel + + The number of concurrent execution threads to run + A series of method bodies to execute - - + + + Type of return to use when returning objects from a parcel + - - + + - - + + Return objects owned by parcel owner - - + + Return objects set to group - - + + Return objects not owned by parcel owner or set to group - - + + Return a specific list of objects on parcel - - + + Return objects that are marked for-sale - - + + + Blacklist/Whitelist flags used in parcels Access List + - - + + Agent is denied access - - + + Agent is granted access - - + + + The result of a request for parcel properties + - - + + No matches were found for the request - - + + Request matched a single parcel - - + + Request matched multiple parcels - - + + + Flags used in the ParcelAccessListRequest packet to specify whether + we want the access list (whitelist), ban list (blacklist), or both + - - + + Request the access list - - + + Request the ban list - - + + Request both White and Black lists - - + + + Sequence ID in ParcelPropertiesReply packets (sent when avatar + tries to cross a parcel border) + - - + + Parcel is currently selected - - + + Parcel restricted to a group the avatar is not a + member of - - + + Avatar is banned from the parcel - - + + Parcel is restricted to an access list that the + avatar is not on - - + + Response to hovering over a parcel - - + + + The tool to use when modifying terrain levels + - - + + Level the terrain - - + + Raise the terrain - - + + Lower the terrain - - + + Smooth the terrain - - + + Add random noise to the terrain - - + + Revert terrain to simulator default - - + + + The tool size to use when changing terrain levels + - - + + Small - - + + Medium - - + + Large - - + + + Reasons agent is denied access to a parcel on the simulator + - - + + Agent is not denied, access is granted - - + + Agent is not a member of the group set for the parcel, or which owns the parcel - - + + Agent is not on the parcels specific allow list - - + + Agent is on the parcels ban list - - + + Unknown - - + + Agent is not age verified and parcel settings deny access to non age verified avatars - - + + + Parcel overlay type. This is used primarily for highlighting and + coloring which is why it is a single integer instead of a set of + flags + + These values seem to be poorly thought out. The first three + bits represent a single value, not flags. For example Auction (0x05) is + not a combination of OwnedByOther (0x01) and ForSale(0x04). However, + the BorderWest and BorderSouth values are bit flags that get attached + to the value stored in the first three bits. Bits four, five, and six + are unused - - + + Public land - - + + Land is owned by another avatar - - + + Land is owned by a group - - + + Land is owned by the current avatar - - + + Land is for sale - - + + Land is being auctioned - - + + Land is private - - + + To the west of this area is a parcel border - - + + To the south of this area is a parcel border - - + + + Various parcel properties + - - + + No flags set - - + + Allow avatars to fly (a client-side only restriction) - - + + Allow foreign scripts to run - - + + This parcel is for sale - - + + Allow avatars to create a landmark on this parcel - - + + Allows all avatars to edit the terrain on this parcel - - + + Avatars have health and can take damage on this parcel. + If set, avatars can be killed and sent home here - - + + Foreign avatars can create objects here - - + + All objects on this parcel can be purchased - - + + Access is restricted to a group - - + + Access is restricted to a whitelist - - + + Ban blacklist is enabled - - + + Unknown - - + + List this parcel in the search directory - - + + Allow personally owned parcels to be deeded to group - - + + If Deeded, owner contributes required tier to group parcel is deeded to - - + + Restrict sounds originating on this parcel to the + parcel boundaries - - + + Objects on this parcel are sold when the land is + purchsaed - - + + Allow this parcel to be published on the web - - + + The information for this parcel is mature content - - + + The media URL is an HTML page - - + + The media URL is a raw HTML string - - + + Restrict foreign object pushes - - + + Ban all non identified/transacted avatars - - + + Allow group-owned scripts to run - - + + Allow object creation by group members or group + objects - - + + Allow all objects to enter this parcel - - + + Only allow group and owner objects to enter this parcel - - + + Voice Enabled on this parcel - - + + Use Estate Voice channel for Voice on this parcel - - + + Deny Age Unverified Users - - + + + Parcel ownership status + - - + + Placeholder - - + + Parcel is leased (owned) by an avatar or group - - + + Parcel is in process of being leased (purchased) by an avatar or group - - + + Parcel has been abandoned back to Governor Linden - - + + + Category parcel is listed in under search + - - + + No assigned category - - + + Linden Infohub or public area - - + + Adult themed area - - + + Arts and Culture - - + + Business - - + + Educational - - + + Gaming - - + + Hangout or Club - - + + Newcomer friendly - - + + Parks and Nature - - + + Residential - - + + Shopping - - + + Not Used? - - + + Other - - + + Not an actual category, only used for queries - - + + + Type of teleport landing for a parcel + - - + + Unset, simulator default - - + + Specific landing point set for this parcel - - + + No landing point set, direct teleports enabled for + this parcel - - + + + Parcel Media Command used in ParcelMediaCommandMessage + - - + + Stop the media stream and go back to the first frame - - + + Pause the media stream (stop playing but stay on current frame) - - + + Start the current media stream playing and stop when the end is reached - - + + Start the current media stream playing, + loop to the beginning when the end is reached and continue to play - - + + Specifies the texture to replace with video + If passing the key of a texture, it must be explicitly typecast as a key, + not just passed within double quotes. - - + + Specifies the movie URL (254 characters max) - - + + Specifies the time index at which to begin playing - - + + Specifies a single agent to apply the media command to - - + + Unloads the stream. While the stop command sets the texture to the first frame of the movie, + unload resets it to the real texture that the movie was replacing. - - + + Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties + (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. - - + + Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). + Use "text/html" for HTML. - - + + Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). + This might still not be working - - + + Sets a description for the media being displayed (1.19.1 RC0 and later only). - - + + + Some information about a parcel of land returned from a DirectoryManager search + - - + + Global Key of record - - + + Parcel Owners - - + + Name field of parcel, limited to 128 characters - - + + Description field of parcel, limited to 256 characters - - + + Total Square meters of parcel - - + + Total area billable as Tier, for group owned land this will be 10% less than ActualArea - - + + True of parcel is in Mature simulator - - + + Grid global X position of parcel - - + + Grid global Y position of parcel - - + + Grid global Z position of parcel (not used) - - + + Name of simulator parcel is located in - - + + Texture of parcels display picture - - + + Float representing calculated traffic based on time spent on parcel by avatars - - + + Sale price of parcel (not used) - - + + Auction ID of parcel - - + + + Parcel Media Information + - - + + A byte, if 0x1 viewer should auto scale media to fit object - - + + A boolean, if true the viewer should loop the media - - + + The Asset UUID of the Texture which when applied to a + primitive will display the media - - + + A URL which points to any Quicktime supported media type - - + + A description of the media - - + + An Integer which represents the height of the media - - + + An integer which represents the width of the media - - + + A string which contains the mime type of the media - - + + + Parcel of land, a portion of virtual real estate in a simulator + - - + + The total number of contiguous 4x4 meter blocks your agent owns within this parcel - - + + The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own - - + + Deprecated, Value appears to always be 0 - - + + Simulator-local ID of this parcel - - + + UUID of the owner of this parcel - - + + Whether the land is deeded to a group or not - - + + - - + + Date land was claimed - - + + Appears to always be zero - - + + This field is no longer used - - + + Minimum corner of the axis-aligned bounding box for this + parcel - - + + Maximum corner of the axis-aligned bounding box for this + parcel - - + + Bitmap describing land layout in 4x4m squares across the + entire region - - + + Total parcel land area - - + + - - + + Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used - - + + Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel + owned by the agent or group that owns this parcel - - + + Maximum number of primitives this parcel supports - - + + Total number of primitives on this parcel - - + + For group-owned parcels this indicates the total number of prims deeded to the group, + for parcels owned by an individual this inicates the number of prims owned by the individual - - + + Total number of primitives owned by the parcel group on + this parcel, or for parcels owned by an individual with a group set the + total number of prims set to that group. - - + + Total number of prims owned by other avatars that are not set to group, or not the parcel owner - - + + A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect + the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed - - + + Autoreturn value in minutes for others' objects - - + + - - + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it - - + + Parcel Name - - + + Parcel Description - - + + URL For Music Stream - - + + - - + + Price for a temporary pass - - + + How long is pass valid for - - + + - - + + Key of authorized buyer - - + + Key of parcel snapshot - - + + The landing point location - - + + The landing point LookAt - - + + The type of landing enforced from the enum - - + + - - + + - - + + - - + + Access list of who is whitelisted on this + parcel - - + + Access list of who is blacklisted on this + parcel - - + + TRUE of region denies access to age unverified users - - + + true to obscure (hide) media url - - + + true to obscure (hide) music url - - + + A struct containing media details - - + + + Displays a parcel object in string format + + string containing key=value pairs of a parcel object - - + + + Defalt constructor + + Local ID of this parcel - - + + + Update the simulator with any local changes to this Parcel object + + Simulator to send updates to + Whether we want the simulator to confirm + the update with a reply packet or not - - + + + Set Autoreturn time + + Simulator to send the update to - - + + + Parcel (subdivided simulator lots) subsystem + - - + + + Parcel Accesslist + - - + + Agents - - + + - - + + Flags for specific entry in white/black lists - - + + + Owners of primitives on parcel + - - + + Prim Owners - - + + True of owner is group - - + + Total count of prims owned by OwnerID - - + + true of OwnerID is currently online and is not a group - - + + The date of the most recent prim left by OwnerID - - + + + Called once parcel resource usage information has been collected + + Indicates if operation was successfull + Parcel resource usage information - - + + The event subscribers. null if no subcribers - - + + Raises the ParcelDwellReply event + A ParcelDwellReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + Raised when the simulator responds to a request - - + + The event subscribers. null if no subcribers - - + + Raises the ParcelInfoReply event + A ParcelInfoReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + Raised when the simulator responds to a request - - + + The event subscribers. null if no subcribers - - + + Raises the ParcelProperties event + A ParcelPropertiesEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + Raised when the simulator responds to a request - - + + The event subscribers. null if no subcribers - - + + Raises the ParcelAccessListReply event + A ParcelAccessListReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + Raised when the simulator responds to a request - - + + The event subscribers. null if no subcribers - - + + Raises the ParcelObjectOwnersReply event + A ParcelObjectOwnersReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + Raised when the simulator responds to a request - - + + The event subscribers. null if no subcribers - - + + Raises the SimParcelsDownloaded event + A SimParcelsDownloadedEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + Raised when the simulator responds to a request - - + + The event subscribers. null if no subcribers - - + + Raises the ForceSelectObjectsReply event + A ForceSelectObjectsReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + Raised when the simulator responds to a request - - + + The event subscribers. null if no subcribers - - + + Raises the ParcelMediaUpdateReply event + A ParcelMediaUpdateReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + Raised when the simulator responds to a Parcel Update request - - + + The event subscribers. null if no subcribers - - + + Raises the ParcelMediaCommand event + A ParcelMediaCommandEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + Raised when the parcel your agent is located sends a ParcelMediaCommand - - + + + Default constructor + + A reference to the GridClient object - - + + + Request basic information for a single parcel + + Simulator-local ID of the parcel - - + + + Request properties of a single parcel + + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + multiple simultaneous requests - - + + + Request the access list for a single parcel + + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelAccessList reply, useful for distinguishing between + multiple simultaneous requests + - - + + + Request properties of parcels using a bounding box selection + + Simulator containing the parcel + Northern boundary of the parcel selection + Eastern boundary of the parcel selection + Southern boundary of the parcel selection + Western boundary of the parcel selection + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + different types of parcel property requests + A boolean that is returned with the + ParcelProperties reply, useful for snapping focus to a single + parcel - - + + + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) + + Simulator to request parcels from (must be connected) - - + + + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) + + Simulator to request parcels from (must be connected) + If TRUE, will force a full refresh + Number of milliseconds to pause in between each request - - + + + Request the dwell value for a parcel + + Simulator containing the parcel + Simulator-local ID of the parcel - - + + + Send a request to Purchase a parcel of land + + The Simulator the parcel is located in + The parcels region specific local ID + true if this parcel is being purchased by a group + The groups + true to remove tier contribution if purchase is successful + The parcels size + The purchase price of the parcel + - - + + + Reclaim a parcel of land + + The simulator the parcel is in + The parcels region specific local ID - - + + + Deed a parcel to a group + + The simulator the parcel is in + The parcels region specific local ID + The groups - - + + + Request prim owners of a parcel of land. + + Simulator parcel is in + The parcels region specific local ID - - + + + Return objects from a parcel + + Simulator parcel is in + The parcels region specific local ID + the type of objects to return, + A list containing object owners s to return - - + + + Subdivide (split) a parcel + + + + + + - - + + + Join two parcels of land creating a single parcel + + + + + + - - + + + Get a parcels LocalID + + Simulator parcel is in + Vector3 position in simulator (Z not used) + 0 on failure, or parcel LocalID on success. + A call to Parcels.RequestAllSimParcels is required to populate map and + dictionary. - - + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - - + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - - + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - - + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + Height at which the terraform operation is acting at - - + + + Sends a request to the simulator to return a list of objects owned by specific owners + + Simulator local ID of parcel + Owners, Others, Etc + List containing keys of avatars objects to select; + if List is null will return Objects of type selectType + Response data is returned in the event - - + + + Eject and optionally ban a user from a parcel + + target key of avatar to eject + true to also ban target - - + + + Freeze or unfreeze an avatar over your land + + target key to freeze + true to freeze, false to unfreeze - - + + + Abandon a parcel of land + + Simulator parcel is in + Simulator local ID of parcel - - + + + Requests the UUID of the parcel in a remote region at a specified location + + Location of the parcel in the remote region + Remote region handle + Remote region UUID + If successful UUID of the remote parcel, UUID.Zero otherwise - - + + + Retrieves information on resources used by the parcel + + UUID of the parcel + Should per object resource usage be requested + Callback invoked when the request is complete - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - + + Contains a parcels dwell data returned from the simulator in response to an - - + + Get the global ID of the parcel - - + + Get the simulator specific ID of the parcel - - + + Get the calculated dwell - - + + + Construct a new instance of the ParcelDwellReplyEventArgs class + + The global ID of the parcel + The simulator specific ID of the parcel + The calculated dwell for the parcel - - + + Contains basic parcel information data returned from the + simulator in response to an request - - + + Get the object containing basic parcel info - - + + + Construct a new instance of the ParcelInfoReplyEventArgs class + + The object containing basic parcel info - - + + Contains basic parcel information data returned from the simulator in response to an request - - + + Get the simulator the parcel is located in - - + + Get the object containing the details + If Result is NoData, this object will not contain valid data - - + + Get the result of the request - - + + Get the number of primitieves your agent is + currently selecting and or sitting on in this parcel - - + + Get the user assigned ID used to correlate a request with + these results - - + + TODO: - - + + + Construct a new instance of the ParcelPropertiesEventArgs class + + The object containing the details + The object containing the details + The result of the request + The number of primitieves your agent is + currently selecting and or sitting on in this parcel + The user assigned ID used to correlate a request with + these results + TODO: - - + + Contains blacklist and whitelist data returned from the simulator in response to an request - - + + Get the simulator the parcel is located in - - + + Get the user assigned ID used to correlate a request with + these results - - + + Get the simulator specific ID of the parcel - - + + TODO: - - + + Get the list containing the white/blacklisted agents for the parcel - - + + + Construct a new instance of the ParcelAccessListReplyEventArgs class + + The simulator the parcel is located in + The user assigned ID used to correlate a request with + these results + The simulator specific ID of the parcel + TODO: + The list containing the white/blacklisted agents for the parcel - - + + Contains blacklist and whitelist data returned from the + simulator in response to an request - - + + Get the simulator the parcel is located in - - + + Get the list containing prim ownership counts - - + + + Construct a new instance of the ParcelObjectOwnersReplyEventArgs class + + The simulator the parcel is located in + The list containing prim ownership counts - - + + Contains the data returned when all parcel data has been retrieved from a simulator - - + + Get the simulator the parcel data was retrieved from - - + + A dictionary containing the parcel data where the key correlates to the ParcelMap entry - - + + Get the multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. - - + + + Construct a new instance of the SimParcelsDownloadedEventArgs class + + The simulator the parcel data was retrieved from + The dictionary containing the parcel data + The multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. - - + + Contains the data returned when a request - - + + Get the simulator the parcel data was retrieved from - - + + Get the list of primitive IDs - - + + true if the list is clean and contains the information + only for a given request - - + + + Construct a new instance of the ForceSelectObjectsReplyEventArgs class + + The simulator the parcel data was retrieved from + The list of primitive IDs + true if the list is clean and contains the information + only for a given request - - + + Contains data when the media data for a parcel the avatar is on changes - - + + Get the simulator the parcel media data was updated in - - + + Get the updated media information - - + + + Construct a new instance of the ParcelMediaUpdateReplyEventArgs class + + the simulator the parcel media data was updated in + The updated media information - - + + Contains the media command for a parcel the agent is currently on - - + + Get the simulator the parcel media command was issued in - - + + - - + + - - + + Get the media command that was sent - - + + - - + + + Construct a new instance of the ParcelMediaCommandEventArgs class + + The simulator the parcel media command was issued in + + + The media command that was sent + - - + + + + - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + - - + + - - + + - - + + - - + + - - + + + + + + - - + + + + - - + + - - + + - - + + - - + + - - + + + + + + - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + - - + + + + + + - - + + + + + + - - + + + + + + + - - + + + + - - + + + + + + - - + + + + + + - - + + + + + - - + + + Class for controlling various system settings. + + Some values are readonly because they affect things that + happen when the GridClient object is initialized, so changing them at + runtime won't do any good. Non-readonly values may affect things that + happen at login or dynamically - - + + Main grid login server - - + + Beta grid login server - - + + The relative directory where external resources are kept - - + + Login server to connect to - - + + IP Address the client will bind to - - + + Use XML-RPC Login or LLSD Login, default is XML-RPC Login - - + + + Maximum number of HTTP connections to open to a particular endpoint. + + + An endpoint is defined as a commbination of network address and port. This is used for Caps. + This is a static variable which applies to all instances. + - - + + + InventoryManager requests inventory information on login, + GridClient initializes an Inventory store for main inventory. + - - + + + InventoryManager requests library information on login, + GridClient initializes an Inventory store for the library. + - - + + + Use Caps for fetching inventory where available + - - + + Number of milliseconds before an asset transfer will time + out - - + + Number of milliseconds before a teleport attempt will time + out - - + + Number of milliseconds before NetworkManager.Logout() will + time out - - + + Number of milliseconds before a CAPS call will time out + Setting this too low will cause web requests time out and + possibly retry repeatedly - - + + Number of milliseconds for xml-rpc to timeout - - + + Milliseconds before a packet is assumed lost and resent - - + + Milliseconds without receiving a packet before the + connection to a simulator is assumed lost - - + + Milliseconds to wait for a simulator info request through + the grid interface - - + + Number of milliseconds between sending pings to each sim - - + + Number of milliseconds between sending camera updates - - + + Number of milliseconds between updating the current + positions of moving, non-accelerating and non-colliding objects - - + + Millisecond interval between ticks, where all ACKs are + sent out and the age of unACKed packets is checked - - + + The initial size of the packet inbox, where packets are + stored before processing - - + + Maximum size of packet that we want to send over the wire - - + + The maximum value of a packet sequence number before it + rolls over back to one - - + + The maximum size of the sequence number archive, used to + check for resent and/or duplicate packets - - + + Maximum number of queued ACKs to be sent before SendAcks() + is forced - - + + Network stats queue length (seconds) - - + + + Primitives will be reused when falling in/out of interest list (and shared between clients) + prims returning to interest list do not need re-requested + Helps also in not re-requesting prim.Properties for code that checks for a Properties == null per client + - - + + + Pool parcel data between clients (saves on requesting multiple times when all clients may need it) + - - + + + How long to preserve cached data when no client is connected to a simulator + The reason for setting it to something like 2 minutes is in case a client + is running back and forth between region edges or a sim is comming and going + + + + Enable/disable storing terrain heightmaps in the + TerrainManager - - + + Enable/disable sending periodic camera updates - - + + Enable/disable automatically setting agent appearance at + login and after sim crossing - - + + Enable/disable automatically setting the bandwidth throttle + after connecting to each simulator + The default throttle uses the equivalent of the maximum + bandwidth setting in the official client. If you do not set a + throttle your connection will by default be throttled well below + the minimum values and you may experience connection problems - - + + Enable/disable the sending of pings to monitor lag and + packet loss - - + + Should we connect to multiple sims? This will allow + viewing in to neighboring simulators and sim crossings + (Experimental) - - + + If true, all object update packets will be decoded in to + native objects. If false, only updates for our own agent will be + decoded. Registering an event handler will force objects for that + type to always be decoded. If this is disabled the object tracking + will have missing or partial prim and avatar information - - + + If true, when a cached object check is received from the + server the full object info will automatically be requested - - + + Whether to establish connections to HTTP capabilities + servers for simulators - - + + Whether to decode sim stats - - + + The capabilities servers are currently designed to + periodically return a 502 error which signals for the client to + re-establish a connection. Set this to true to log those 502 errors - - + + If true, any reference received for a folder or item + the library is not aware of will automatically be fetched - - + + If true, and SEND_AGENT_UPDATES is true, + AgentUpdate packets will continuously be sent out to give the bot + smoother movement and autopiloting - - + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectAvatars. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received - - + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectPrimitives. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received - - + + If true, position and velocity will periodically be + interpolated (extrapolated, technically) for objects and + avatars that are being tracked by the library. This is + necessary to increase the accuracy of speed and position + estimates for simulated objects - - + + + If true, utilization statistics will be tracked. There is a minor penalty + in CPU time for enabling this option. + - - + + If true, parcel details will be stored in the + Simulator.Parcels dictionary as they are received - - + + + If true, an incoming parcel properties reply will automatically send + a request for the parcel access list + - - + + + if true, an incoming parcel properties reply will automatically send + a request for the traffic count. + - - + + + If true, images, and other assets downloaded from the server + will be cached in a local directory + - - + + Path to store cached texture data - - + + Maximum size cached files are allowed to take on disk (bytes) - - + + Default color used for viewer particle effects - - + + Cost of uploading an asset + Read-only since this value is dynamically fetched at login - - + + Maximum number of times to resend a failed packet - - + + Throttle outgoing packet rate - - + + UUID of a texture used by some viewers to indentify type of client used - - + + + Download textures using GetTexture capability when available + - - + + The maximum number of concurrent texture downloads allowed + Increasing this number will not necessarily increase texture retrieval times due to + simulator throttles - - + + + The Refresh timer inteval is used to set the delay between checks for stalled texture downloads + + This is a static variable which applies to all instances - - + + + Textures taking longer than this value will be flagged as timed out and removed from the pipeline + - - + + + Get or set the minimum log level to output to the console by default + + If the library is not compiled with DEBUG defined and this level is set to DEBUG + You will get no output on the console. This behavior can be overriden by creating + a logger configuration file for log4net + - - + + Attach avatar names to log messages - - + + Log packet retransmission info - - + + Log disk cache misses and other info - - + + Constructor + Reference to a GridClient object - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + + Simulator (region) properties + - - + + No flags set - - + + Agents can take damage and be killed - - + + Landmarks can be created here - - + + Home position can be set in this sim - - + + Home position is reset when an agent teleports away - - + + Sun does not move - - + + No object, land, etc. taxes - - + + Disable heightmap alterations (agents can still plant + foliage) - - + + Land cannot be released, sold, or purchased - - + + All content is wiped nightly - - + + Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) - - + + Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. - - + + Region does not update agent prim interest lists. Internal debugging option. - - + + No collision detection for non-agent objects - - + + No scripts are ran - - + + All physics processing is turned off - - + + Region can be seen from other regions on world map. (Legacy world map option?) - - + + Region can be seen from mainland on world map. (Legacy world map option?) - - + + Agents not explicitly on the access list can visit the region. - - + + Traffic calculations are not run across entire region, overrides parcel settings. - - + + Flight is disabled (not currently enforced by the sim) - - + + Allow direct (p2p) teleporting - - + + Estate owner has temporarily disabled scripting - - + + Restricts the usage of the LSL llPushObject function, applies to whole region. - - + + Deny agents with no payment info on file - - + + Deny agents with payment info on file - - + + Deny agents who have made a monetary transaction - - + + Parcels within the region may be joined or divided by anyone, not just estate owners/managers. - - + + Abuse reports sent from within this region are sent to the estate owner defined email. - - + + Region is Voice Enabled - - + + Removes the ability from parcel owners to set their parcels to show in search. - - + + Deny agents who have not been age verified from entering the region. - - + + + Region protocol flags + - - + + Nothing special - - + + Region supports Server side Appearance - - + + Viewer supports Server side Appearance - - + + + Access level for a simulator + - - + + Unknown or invalid access level - - + + Trial accounts allowed - - + + PG rating - - + + Mature rating - - + + Adult rating - - + + Simulator is offline - - + + Simulator does not exist - - + + + + - - + + + Simulator Statistics + - - + + Total number of packets sent by this simulator to this agent - - + + Total number of packets received by this simulator to this agent - - + + Total number of bytes sent by this simulator to this agent - - + + Total number of bytes received by this simulator to this agent - - + + Time in seconds agent has been connected to simulator - - + + Total number of packets that have been resent - - + + Total number of resent packets recieved - - + + Total number of pings sent to this simulator by this agent - - + + Total number of ping replies sent to this agent by this simulator - - + + + Incoming bytes per second + + It would be nice to have this claculated on the fly, but + this is far, far easier - - + + + Outgoing bytes per second + + It would be nice to have this claculated on the fly, but + this is far, far easier - - + + Time last ping was sent - - + + ID of last Ping sent - - + + - - + + - - + + Current time dilation of this simulator - - + + Current Frames per second of simulator - - + + Current Physics frames per second of simulator - - + + - - + + - - + + - - + + - - + + + + + - - + + - - + + - - + + Total number of objects Simulator is simulating - - + + Total number of Active (Scripted) objects running - - + + Number of agents currently in this simulator - - + + Number of agents in neighbor simulators - - + + Number of Active scripts running in this simulator - - + + - - + + - - + + - - + + Number of downloads pending - - + + Number of uploads pending - - + + - - + + - - + + Number of local uploads pending - - + + Unacknowledged bytes in queue - - + + A public reference to the client that this Simulator object + is attached to - - + + A Unique Cache identifier for this simulator - - + + The capabilities for this simulator - - + + - - + + The current version of software this simulator is running - - + + - - + + A 64x64 grid of parcel coloring values. The values stored + in this array are of the type - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + true if your agent has Estate Manager rights on this region - - + + - - + + - - + + - - + + Statistics information for this simulator and the + connection to the simulator, calculated by the simulator itself + and the library - - + + The regions Unique ID - - + + The physical data center the simulator is located + Known values are: + + Dallas + Chandler + SF + + - - + + The CPU Class of the simulator + Most full mainland/estate sims appear to be 5, + Homesteads and Openspace appear to be 501 - - + + The number of regions sharing the same CPU as this one + "Full Sims" appear to be 1, Homesteads appear to be 4 - - + + The billing product name + Known values are: + + Mainland / Full Region (Sku: 023) + Estate / Full Region (Sku: 024) + Estate / Openspace (Sku: 027) + Estate / Homestead (Sku: 029) + Mainland / Homestead (Sku: 129) (Linden Owned) + Mainland / Linden Homes (Sku: 131) + + - - + + The billing product SKU + Known values are: + + 023 Mainland / Full Region + 024 Estate / Full Region + 027 Estate / Openspace + 029 Estate / Homestead + 129 Mainland / Homestead (Linden Owned) + 131 Linden Homes / Full Region + + - - + + + Flags indicating which protocols this region supports + - - + + The current sequence number for packets sent to this + simulator. Must be Interlocked before modifying. Only + useful for applications manipulating sequence numbers - - + + + A thread-safe dictionary containing avatars in a simulator + - - + + + A thread-safe dictionary containing primitives in a simulator + - - + + + Provides access to an internal thread-safe dictionary containing parcel + information found in this simulator + - - + + + Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. + - - + + + Checks simulator parcel map to make sure it has downloaded all data successfully + + true if map is full (contains no 0's) - - + + + Is it safe to send agent updates to this sim + AgentMovementComplete message received + - - + + The IP address and port of the server - - + + Whether there is a working connection to the simulator or + not - - + + Coarse locations of avatars in this simulator - - + + AvatarPositions key representing TrackAgent target - - + + Indicates if UDP connection to the sim is fully established - - + + Used internally to track sim disconnections - - + + Event that is triggered when the simulator successfully + establishes a connection - - + + Whether this sim is currently connected or not. Hooked up + to the property Connected - - + + Coarse locations of avatars in this simulator - - + + AvatarPositions key representing TrackAgent target - - + + Sequence numbers of packets we've received + (for duplicate checking) - - + + Packets we sent out that need ACKs from the simulator - - + + Sequence number for pause/resume - - + + Indicates if UDP connection to the sim is fully established - - + + + + + Reference to the GridClient object + IPEndPoint of the simulator + handle of the simulator - - + + + Called when this Simulator object is being destroyed + - - + + + Attempt to connect to this simulator + + Whether to move our agent in to this sim or not + True if the connection succeeded or connection status is + unknown, false if there was a failure - - + + + Initiates connection to the simulator + + Should we block until ack for this packet is recieved - - + + + Disconnect from this simulator + - - + + + Instructs the simulator to stop sending update (and possibly other) packets + - - + + + Instructs the simulator to resume sending update packets (unpause) + - - + + + Retrieve the terrain height at a given coordinate + + Sim X coordinate, valid range is from 0 to 255 + Sim Y coordinate, valid range is from 0 to 255 + The terrain height at the given point if the + lookup was successful, otherwise 0.0f + True if the lookup was successful, otherwise false - - + + + Sends a packet + + Packet to be sent - - + + + + - - + + + Returns Simulator Name as a String + + - - + + + + + - - + + + + + + - - + + + Sends out pending acknowledgements + + Number of ACKs sent - - + + + Resend unacknowledged packets + - - + + + Simulator handle + - - + + + Number of GridClients using this datapool + - - + + + Time that the last client disconnected from the simulator + - - + + + The cache of prims used and unused in this simulator + - - + + + Shared parcel info only when POOL_PARCEL_DATA == true + - - + + + + - - + + The event subscribers, null of no subscribers - - + + Raises the AttachedSound Event + A AttachedSoundEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Raised when the simulator sends us data containing + sound - - + + The event subscribers, null of no subscribers - - + + Raises the AttachedSoundGainChange Event + A AttachedSoundGainChangeEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Raised when the simulator sends us data containing + ... - - + + The event subscribers, null of no subscribers - - + + Raises the SoundTrigger Event + A SoundTriggerEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Raised when the simulator sends us data containing + ... - - + + The event subscribers, null of no subscribers - - + + Raises the PreloadSound Event + A PreloadSoundEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Raised when the simulator sends us data containing + ... - - + + + Construct a new instance of the SoundManager class, used for playing and receiving + sound assets + + A reference to the current GridClient instance - - + + + Plays a sound in the current region at full volume from avatar position + + UUID of the sound to be played - - + + + Plays a sound in the current region at full volume + + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. - - + + + Plays a sound in the current region + + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - - + + + Plays a sound in the specified sim + + UUID of the sound to be played. + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - - + + + Play a sound asset + + UUID of the sound to be played. + handle id for the sim to be played in. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Provides data for the event + The event occurs when the simulator sends + the sound data which emits from an agents attachment + + The following code example shows the process to subscribe to the event + and a stub to handle the data passed from the simulator + + // Subscribe to the AttachedSound event + Client.Sound.AttachedSound += Sound_AttachedSound; + + // process the data raised in the event here + private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) + { + // ... Process AttachedSoundEventArgs here ... + } + + - - + + Simulator where the event originated - - + + Get the sound asset id - - + + Get the ID of the owner - - + + Get the ID of the Object - - + + Get the volume level - - + + Get the - - + + + Construct a new instance of the SoundTriggerEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The volume level + The - - + + Provides data for the event + The event occurs when an attached sound + changes its volume level - - + + Simulator where the event originated - - + + Get the ID of the Object - - + + Get the volume level - - + + + Construct a new instance of the AttachedSoundGainChangedEventArgs class + + Simulator where the event originated + The ID of the Object + The new volume level - - + + Provides data for the event + The event occurs when the simulator forwards + a request made by yourself or another agent to play either an asset sound or a built in sound + + Requests to play sounds where the is not one of the built-in + will require sending a request to download the sound asset before it can be played + + + The following code example uses the , + and + properties to display some information on a sound request on the window. + + // subscribe to the event + Client.Sound.SoundTrigger += Sound_SoundTrigger; + + // play the pre-defined BELL_TING sound + Client.Sound.SendSoundTrigger(Sounds.BELL_TING); + + // handle the response data + private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) + { + Console.WriteLine("{0} played the sound {1} at volume {2}", + e.OwnerID, e.SoundID, e.Gain); + } + + - - + + Simulator where the event originated - - + + Get the sound asset id - - + + Get the ID of the owner - - + + Get the ID of the Object - - + + Get the ID of the objects parent - - + + Get the volume level - - + + Get the regionhandle - - + + Get the source position - - + + + Construct a new instance of the SoundTriggerEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The ID of the objects parent + The volume level + The regionhandle + The source position - - + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + + - - + + Simulator where the event originated - - + + Get the sound asset id - - + + Get the ID of the owner - - + + Get the ID of the Object - - + + + Construct a new instance of the PreloadSoundEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object - - + + + pre-defined built in sounds + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + coins - - + + cash register bell - - + + - - + + - - + + rubber - - + + plastic - - + + flesh - - + + wood splintering? - - + + glass break - - + + metal clunk - - + + whoosh - - + + shake - - + + - - + + ding - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + A dictionary containing all pre-defined sounds + + A dictionary containing the pre-defined sounds, + where the key is the sounds ID, and the value is a string + containing a name to identify the purpose of the sound - - + + X position of this patch + + + Y position of this patch - - + + A 16x16 array of floats holding decompressed layer data - - + + + Creates a LayerData packet for compressed land data given a full + simulator heightmap and an array of indices of patches to compress + + A 256 * 256 array of floating point values + specifying the height at each meter in the simulator + Array of indexes in the 16x16 grid of patches + for this simulator. For example if 1 and 17 are specified, patches + x=1,y=0 and x=1,y=1 are sent + - - + + + Add a patch of terrain to a BitPacker + + BitPacker to write the patch to + Heightmap of the simulator, must be a 256 * + 256 float array + X offset of the patch to create, valid values are + from 0 to 15 + Y offset of the patch to create, valid values are + from 0 to 15 - - + + The event subscribers. null if no subcribers - - + + Raises the LandPatchReceived event + A LandPatchReceivedEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + Raised when the simulator responds sends - - + + + Default constructor + + - - + + Simulator from that sent tha data - - + + Sim coordinate of the patch - - + + Sim coordinate of the patch - - + + Size of tha patch - - + + Heightmap for the patch - - + + + The current status of a texture request as it moves through the pipeline or final result of a texture request. + - - + + The initial state given to a request. Requests in this state + are waiting for an available slot in the pipeline - - + + A request that has been added to the pipeline and the request packet + has been sent to the simulator - - + + A request that has received one or more packets back from the simulator - - + + A request that has received all packets back from the simulator - - + + A request that has taken longer than + to download OR the initial packet containing the packet information was never received - - + + The texture request was aborted by request of the agent - - + + The simulator replied to the request that it was not able to find the requested texture - - + + + A callback fired to indicate the status or final state of the requested texture. For progressive + downloads this will fire each time new asset data is returned from the simulator. + + The indicating either Progress for textures not fully downloaded, + or the final result of the request after it has been processed through the TexturePipeline + The object containing the Assets ID, raw data + and other information. For progressive rendering the will contain + the data from the beginning of the file. For failed, aborted and timed out requests it will contain + an empty byte array. - - + + + Texture request download handler, allows a configurable number of download slots which manage multiple + concurrent texture downloads from the + + This class makes full use of the internal + system for full texture downloads. - - + + + A request task containing information and status of a request as it is processed through the + - - + + The current which identifies the current status of the request - - + + The Unique Request ID, This is also the Asset ID of the texture being requested - - + + The slot this request is occupying in the threadpoolSlots array - - + + The ImageType of the request. - - + + The callback to fire when the request is complete, will include + the and the + object containing the result data - - + + If true, indicates the callback will be fired whenever new data is returned from the simulator. + This is used to progressively render textures as portions of the texture are received. - - + + An object that maintains the data of an request thats in-process. - - + + A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID + and also the Asset Texture ID, and the value is an object containing the current state of the request and also + the asset data as it is being re-assembled - - + + Holds the reference to the client object - - + + Maximum concurrent texture requests allowed at a time - - + + An array of objects used to manage worker request threads - - + + An array of worker slots which shows the availablity status of the slot - - + + The primary thread which manages the requests. - - + + true if the TexturePipeline is currently running - - + + A synchronization object used by the primary thread - - + + A refresh timer used to increase the priority of stalled requests - - + + Current number of pending and in-process transfers - - + + + Default constructor, Instantiates a new copy of the TexturePipeline class + + Reference to the instantiated object - - + + + Initialize callbacks required for the TexturePipeline to operate + - - + + + Shutdown the TexturePipeline and cleanup any callbacks or transfers + - - + + + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request - - + + + Sends the actual request packet to the simulator + + The image to download + Type of the image to download, either a baked + avatar texture or a normal texture + Priority level of the download. Default is + 1,013,000.0f + Number of quality layers to discard. + This controls the end marker of the data sent + Packet number to start the download at. + This controls the start marker of the data sent + Sending a priority of 0 and a discardlevel of -1 aborts + download - - + + + Cancel a pending or in process texture request + + The texture assets unique ID - - + + + Master Download Thread, Queues up downloads in the threadpool + - - + + + The worker thread that sends the request and handles timeouts + + A object containing the request details - - + + + Handle responses from the simulator that tell us a texture we have requested is unable to be located + or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use + + The sender + The EventArgs object containing the packet data - - + + + Handles the remaining Image data that did not fit in the initial ImageData packet + + The sender + The EventArgs object containing the packet data - - + + + Handle the initial ImageDataPacket sent from the simulator + + The sender + The EventArgs object containing the packet data - - + + + + - - + + + Initialize the UDP packet handler in server mode + + Port to listening for incoming UDP packets on - - + + + Initialize the UDP packet handler in client mode + + Remote UDP server to connect to - - + + + + - - + + + + - - + + + + - - + + + + - - + + - - + + - - + + - - + + + Operation to apply when applying color to texture + - - + + + Information needed to translate visual param value to RGBA color + - - + + + Construct VisualColorParam + + Operation to apply when applying color to texture + Colors - - + + + Represents alpha blending and bump infor for a visual parameter + such as sleive length + - - + + Stregth of the alpha to apply - - + + File containing the alpha channel - - + + Skip blending if parameter value is 0 - - + + Use miltiply insted of alpha blending - - + + + Create new alhpa information for a visual param + + Stregth of the alpha to apply + File containing the alpha channel + Skip blending if parameter value is 0 + Use miltiply insted of alpha blending - - + + + A single visual characteristic of an avatar mesh, such as eyebrow height + - - + + Index of this visual param - - + + Internal name - - + + Group ID this parameter belongs to - - + + Name of the wearable this parameter belongs to - - + + Displayable label of this characteristic - - + + Displayable label for the minimum value of this characteristic - - + + Displayable label for the maximum value of this characteristic - - + + Default value - - + + Minimum value - - + + Maximum value - - + + Is this param used for creation of bump layer? - - + + Alpha blending/bump info - - + + Color information - - + + Array of param IDs that are drivers for this parameter - - + + + Set all the values through the constructor + + Index of this visual param + Internal name + + + Displayable label of this characteristic + Displayable label for the minimum value of this characteristic + Displayable label for the maximum value of this characteristic + Default value + Minimum value + Maximum value + Is this param used for creation of bump layer? + Array of param IDs that are drivers for this parameter + Alpha blending/bump info + Color information - - + + + Holds the Params array of all the avatar appearance parameters + - - + + + Base class for all Asset types + - - + + A byte array containing the raw asset data - - + + True if the asset it only stored on the server temporarily - - + + A unique ID - - + + The assets unique ID - - + + + The "type" of asset, Notecard, Animation, etc + - - + + + Construct a new Asset object + - - + + + Construct a new Asset object + + A unique specific to this asset + A byte array containing the raw asset data - - + + + Regenerates the AssetData byte array from the properties + of the derived class. + - - + + + Decodes the AssetData, placing it in appropriate properties of the derived + class. + + True if the asset decoding succeeded, otherwise false - - + + + Constants for the archiving module + - - + + + The location of the archive control file + - - + + + Path for the assets held in an archive + - - + + + Path for the prims file + - - + + + Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. + - - + + + Path for region settings. + - - + + + Path for region settings. + - - + + + The character the separates the uuid from extension information in an archived asset filename + - - + + + Extensions used for asset types in the archive + - - + + + Archives assets + - - + + + Archive assets + - - + + + Archive the assets given to this archiver to the given archive. + + - - + + + Write an assets metadata file to the given archive + + - - + + + Write asset data files to the given archive + + - - + + + Temporary code to do the bare minimum required to read a tar archive for our purposes + - - + + + Binary reader for the underlying stream + - - + + + Used to trim off null chars + - - + + + Used to trim off space chars + - - + + + Generate a tar reader which reads from the given stream. + + - - + + + Read the next entry in the tar file. + + + + the data for the entry. Returns null if there are no more entries - - + + + Read the next 512 byte chunk of data as a tar header. + + A tar header struct. null if we have reached the end of the archive. - - + + + Read data following a header + + + - - + + + Convert octal bytes to a decimal representation + + + + + - - + + + Temporary code to produce a tar archive in tar v7 format + - - + + + Binary writer for the underlying stream + - - + + + Write a directory entry to the tar archive. We can only handle one path level right now! + + - - + + + Write a file to the tar archive + + + - - + + + Write a file to the tar archive + + + - - + + + Finish writing the raw tar archive data to a stream. The stream will be closed on completion. + - - + + + Write a particular entry + + + + - - + + + Represents an Animation + - - + + Override the base classes AssetType - - + + Default Constructor - - + + + Construct an Asset object of type Animation + + A unique specific to this asset + A byte array containing the raw asset data - - + + + Represents an that represents an avatars body ie: Hair, Etc. + - - + + Override the base classes AssetType - - + + Initializes a new instance of an AssetBodyPart object - - + + Initializes a new instance of an AssetBodyPart object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + + Represents a Callingcard with AvatarID and Position vector + - - + + Override the base classes AssetType - - + + UUID of the Callingcard target avatar - - + + Construct an Asset of type Callingcard - - + + + Construct an Asset object of type Callingcard + + A unique specific to this asset + A byte array containing the raw asset data - - + + + Constuct an asset of type Callingcard + + UUID of the target avatar - - + + + Encode the raw contents of a string with the specific Callingcard format + - - + + + Decode the raw asset data, populating the AvatarID and Position + + true if the AssetData was successfully decoded to a UUID and Vector - - + + + Represents an that can be worn on an avatar + such as a Shirt, Pants, etc. + - - + + Override the base classes AssetType - - + + Initializes a new instance of an AssetScriptBinary object - - + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + + Type of gesture step + - - + + + Base class for gesture steps + - - + + + Retururns what kind of gesture step this is + - - + + + Describes animation step of a gesture + - - + + + Returns what kind of gesture step this is + - - + + + If true, this step represents start of animation, otherwise animation stop + - - + + + Animation asset + - - + + + Animation inventory name + - - + + + Describes sound step of a gesture + - - + + + Returns what kind of gesture step this is + - - + + + Sound asset + - - + + + Sound inventory name + - - + + + Describes sound step of a gesture + - - + + + Returns what kind of gesture step this is + - - + + + Text to output in chat + - - + + + Describes sound step of a gesture + - - + + + Returns what kind of gesture step this is + - - + + + If true in this step we wait for all animations to finish + - - + + + If true gesture player should wait for the specified amount of time + - - + + + Time in seconds to wait if WaitForAnimation is false + - - + + + Describes the final step of a gesture + - - + + + Returns what kind of gesture step this is + - - + + + Represents a sequence of animations, sounds, and chat actions + - - + + + Returns asset type + - - + + + Keyboard key that triggers the gestyre + - - + + + Modifier to the trigger key + - - + + + String that triggers playing of the gesture sequence + - - + + + Text that replaces trigger in chat once gesture is triggered + - - + + + Sequence of gesture steps + - - + + + Constructs guesture asset + - - + + + Constructs guesture asset + + A unique specific to this asset + A byte array containing the raw asset data - - + + + Encodes gesture asset suitable for uplaod + - - + + + Decodes gesture assset into play sequence + + true if the asset data was decoded successfully - - + + + Represents a Landmark with RegionID and Position vector + - - + + Override the base classes AssetType - - + + UUID of the Landmark target region - - + + Local position of the target - - + + Construct an Asset of type Landmark - - + + + Construct an Asset object of type Landmark + + A unique specific to this asset + A byte array containing the raw asset data - - + + + Encode the raw contents of a string with the specific Landmark format + - - + + + Decode the raw asset data, populating the RegionID and Position + + true if the AssetData was successfully decoded to a UUID and Vector - - + + + Represents Mesh asset + - - + + Override the base classes AssetType - - + + + Decoded mesh data + - - + + Initializes a new instance of an AssetMesh object - - + + Initializes a new instance of an AssetMesh object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + + TODO: Encodes Collada file into LLMesh format + - - + + + Decodes mesh asset. See + to furter decode it for rendering + true - - + + + Represents an Animation + - - + + Override the base classes AssetType - - + + Default Constructor - - + + + Construct an Asset object of type Animation + + Asset type + A unique specific to this asset + A byte array containing the raw asset data - - + + + Represents a string of characters encoded with specific formatting properties + - - + + Override the base classes AssetType - - + + A text string containing main text of the notecard - - + + List of s embedded on the notecard - - + + Construct an Asset of type Notecard - - + + + Construct an Asset object of type Notecard + + A unique specific to this asset + A byte array containing the raw asset data - - + + + Encode the raw contents of a string with the specific Linden Text properties + - - + + + Decode the raw asset data including the Linden Text properties + + true if the AssetData was successfully decoded - - + + + A linkset asset, containing a parent primitive and zero or more children + - - + + + Only used internally for XML serialization/deserialization + - - + + Override the base classes AssetType - - + + Initializes a new instance of an AssetPrim object - - + + + Initializes a new instance of an AssetPrim object + + A unique specific to this asset + A byte array containing the raw asset data - - + + + + - - + + + + + - - + + + The deserialized form of a single primitive in a linkset asset + - - + + + Represents an AssetScriptBinary object containing the + LSO compiled bytecode of an LSL script + - - + + Override the base classes AssetType - - + + Initializes a new instance of an AssetScriptBinary object - - + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + + TODO: Encodes a scripts contents into a LSO Bytecode file + - - + + + TODO: Decode LSO Bytecode into a string + + true - - + + + Represents an LSL Text object containing a string of UTF encoded characters + - - + + Override the base classes AssetType - - + + A string of characters represting the script contents - - + + Initializes a new AssetScriptText object - - + + + Initializes a new AssetScriptText object with parameters + + A unique specific to this asset + A byte array containing the raw asset data - - + + + Encode a string containing the scripts contents into byte encoded AssetData + - - + + + Decode a byte array containing the scripts contents into a string + + true if decoding is successful - - + + + Represents a Sound Asset + - - + + Override the base classes AssetType - - + + Initializes a new instance of an AssetSound object - - + + Initializes a new instance of an AssetSound object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + + TODO: Encodes a sound file + - - + + + TODO: Decode a sound file + + true - - + + + Represents a texture + - - + + Override the base classes AssetType - - + + A object containing image data - - + + - - + + - - + + Initializes a new instance of an AssetTexture object - - + + + Initializes a new instance of an AssetTexture object + + A unique specific to this asset + A byte array containing the raw asset data - - + + + Initializes a new instance of an AssetTexture object + + A object containing texture data - + - Operation to apply when applying color to texture + Populates the byte array with a JPEG2000 + encoded image created from the data in - + - Information needed to translate visual param value to RGBA color + Decodes the JPEG2000 data in AssetData to the + object + True if the decoding was successful, otherwise false - + - Construct VisualColorParam + Decodes the begin and end byte positions for each quality layer in + the image - Operation to apply when applying color to texture - Colors + - + - Represents alpha blending and bump infor for a visual parameter - such as sleive length + Represents a Wearable Asset, Clothing, Hair, Skin, Etc - - Stregth of the alpha to apply + + A string containing the name of the asset - - File containing the alpha channel + + A string containing a short description of the asset - - Skip blending if parameter value is 0 + + The Assets WearableType - - Use miltiply insted of alpha blending + + The For-Sale status of the object - + + An Integer representing the purchase price of the asset + + + The of the assets creator + + + The of the assets current owner + + + The of the assets prior owner + + + The of the Group this asset is set to + + + True if the asset is owned by a + + + The Permissions mask of the asset + + + A Dictionary containing Key/Value pairs of the objects parameters + + + A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures + + + Initializes a new instance of an AssetWearable object + + + Initializes a new instance of an AssetWearable object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + - Create new alhpa information for a visual param + Decode an assets byte encoded data to a string - Stregth of the alpha to apply - File containing the alpha channel - Skip blending if parameter value is 0 - Use miltiply insted of alpha blending + true if the asset data was decoded successfully - + - A single visual characteristic of an avatar mesh, such as eyebrow height + Encode the assets string represantion into a format consumable by the asset server - - Index of this visual param + + = - - Internal name + + Number of times we've received an unknown CAPS exception in series. - - Group ID this parameter belongs to + + For exponential backoff on error. - - Name of the wearable this parameter belongs to + + + A set of textures that are layered on texture of each other and "baked" + in to a single texture, for avatar appearances + - - Displayable label of this characteristic + + Final baked texture + + + Component layers - - Displayable label for the minimum value of this characteristic + + Width of the final baked image and scratchpad - - Displayable label for the maximum value of this characteristic + + Height of the final baked image and scratchpad - - Default value + + Bake type - - Minimum value + + Is this one of the 3 skin bakes - - Maximum value + + Final baked texture - - Is this param used for creation of bump layer? + + Component layers - - Alpha blending/bump info + + Width of the final baked image and scratchpad - - Color information + + Height of the final baked image and scratchpad - - Array of param IDs that are drivers for this parameter + + Bake type - + - Set all the values through the constructor + Default constructor - Index of this visual param - Internal name - - - Displayable label of this characteristic - Displayable label for the minimum value of this characteristic - Displayable label for the maximum value of this characteristic - Default value - Minimum value - Maximum value - Is this param used for creation of bump layer? - Array of param IDs that are drivers for this parameter - Alpha blending/bump info - Color information + Bake type - + - Holds the Params array of all the avatar appearance parameters + Adds layer for baking + TexturaData struct that contains texture and its params - + - Base class for all Asset types + Converts avatar texture index (face) to Bake type + Face number (AvatarTextureIndex) + BakeType, layer to which this texture belongs to - - A byte array containing the raw asset data - - - True if the asset it only stored on the server temporarily - - - A unique ID - - + - Construct a new Asset object + Make sure images exist, resize source if needed to match the destination + Destination image + Source image + Sanitization was succefull - + - Construct a new Asset object + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if + the image is a pure solid color - A unique specific to this asset - A byte array containing the raw asset data + Color of the base of this layer - + - Regenerates the AssetData byte array from the properties - of the derived class. + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if + the image is a pure solid color + Red value + Green value + Blue value - + - Decodes the AssetData, placing it in appropriate properties of the derived - class. + Image width - True if the asset decoding succeeded, otherwise false - - - The assets unique ID - + - The "type" of asset, Notecard, Animation, etc + Image height - + - Constants for the archiving module + Image channel flags - - - Path for region settings. - - - + - The location of the archive control file + Red channel data - + - Path for the assets held in an archive + Green channel data - + - Path for the prims file + Blue channel data - + - Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. + Alpha channel data - + - Path for region settings. + Bump channel data - + - The character the separates the uuid from extension information in an archived asset filename + Create a new blank image + width + height + channel flags - + - Extensions used for asset types in the archive + + - + - Archives assets + Convert the channels in the image. Channels are created or destroyed as required. + new channel flags - + - Archive assets + Resize or stretch the image using nearest neighbor (ugly) resampling + new width + new height - + - Archive the assets given to this archiver to the given archive. + Create a byte array containing 32-bit RGBA data with a bottom-left + origin, suitable for feeding directly into OpenGL - + A byte array containing raw texture data - + - Write an assets metadata file to the given archive + Create a byte array containing 32-bit RGBA data with a bottom-left + origin, suitable for feeding directly into OpenGL - + A byte array containing raw texture data - + - Write asset data files to the given archive + A Wrapper around openjpeg to encode and decode images to and from byte arrays - - - - Temporary code to do the bare minimum required to read a tar archive for our purposes - + + TGA Header size - + - Binary reader for the underlying stream + Defines the beginning and ending file positions of a layer in an + LRCP-progression JPEG2000 file - + - Used to trim off null chars + This structure is used to marshal both encoded and decoded images. + MUST MATCH THE STRUCT IN dotnet.h! - + - Used to trim off space chars + Information about a single packet in a JPEG2000 stream - + + Packet start position + + + Packet header end position + + + Packet end position + + + OpenJPEG is not threadsafe, so this object is used to lock + during calls into unmanaged code + + - Generate a tar reader which reads from the given stream. + Encode a object into a byte array - + The object to encode + true to enable lossless conversion, only useful for small images ie: sculptmaps + A byte array containing the encoded Image object - + - Read the next entry in the tar file. + Encode a object into a byte array - - - the data for the entry. Returns null if there are no more entries + The object to encode + a byte array of the encoded image - + - Read the next 512 byte chunk of data as a tar header. + Decode JPEG2000 data to an and + - A tar header struct. null if we have reached the end of the archive. + JPEG2000 encoded data + ManagedImage object to decode to + Image object to decode to + True if the decode succeeds, otherwise false - + - Read data following a header + - + + - + - Convert octal bytes to a decimal representation + - - - + + + - + - Temporary code to produce a tar archive in tar v7 format + Encode a object into a byte array + The source object to encode + true to enable lossless decoding + A byte array containing the source Bitmap object - + - Binary writer for the underlying stream + Capability to load TGAs to Bitmap - - - Write a directory entry to the tar archive. We can only handle one path level right now! - - + + - - - Write a file to the tar archive - - - + + - - - Write a file to the tar archive - - - + + - - - Finish writing the raw tar archive data to a stream. The stream will be closed on completion. - + + - - - Write a particular entry - - - - + + - - - Represents an Animation - + + - - Default Constructor + + - - - Construct an Asset object of type Animation - - A unique specific to this asset - A byte array containing the raw asset data + + - - Override the base classes AssetType + + - - - Represents an that represents an avatars body ie: Hair, Etc. - + + - - - Represents a Wearable Asset, Clothing, Hair, Skin, Etc - + + - - A string containing the name of the asset + + - - A string containing a short description of the asset + + - - The Assets WearableType + + - - The For-Sale status of the object + + - - An Integer representing the purchase price of the asset + + - - The of the assets creator + + - - The of the assets current owner + + - - The of the assets prior owner + + - - The of the Group this asset is set to + + - - True if the asset is owned by a + + - - The Permissions mask of the asset + + - - A Dictionary containing Key/Value pairs of the objects parameters + + - - A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures + + - - Initializes a new instance of an AssetWearable object + + - - Initializes a new instance of an AssetWearable object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + - - - Decode an assets byte encoded data to a string - - true if the asset data was decoded successfully + + - - - Encode the assets string represantion into a format consumable by the asset server - + + - - Initializes a new instance of an AssetBodyPart object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - Initializes a new instance of an AssetBodyPart object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + - - Override the base classes AssetType + + - - - Represents a Callingcard with AvatarID and Position vector - + + - - UUID of the Callingcard target avatar + + - - Construct an Asset of type Callingcard + + - - - Construct an Asset object of type Callingcard - - A unique specific to this asset - A byte array containing the raw asset data + + - - - Constuct an asset of type Callingcard - - UUID of the target avatar + + - - - Encode the raw contents of a string with the specific Callingcard format - + + - - - Decode the raw asset data, populating the AvatarID and Position - - true if the AssetData was successfully decoded to a UUID and Vector + + - - Override the base classes AssetType + + - - - Represents an that can be worn on an avatar - such as a Shirt, Pants, etc. - + + - - Initializes a new instance of an AssetScriptBinary object + + - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + - - Override the base classes AssetType + + - - - Type of gesture step - + + - - - Base class for gesture steps - + + - - - Retururns what kind of gesture step this is - + + - - - Describes animation step of a gesture - + + - - - If true, this step represents start of animation, otherwise animation stop - + + - - - Animation asset - + + - - - Animation inventory name - + + - - - Returns what kind of gesture step this is - + + - - - Describes sound step of a gesture - + + - - - Sound asset - + + - - - Sound inventory name - + + - - - Returns what kind of gesture step this is - + + - - - Describes sound step of a gesture - + + - - - Text to output in chat - + + - - - Returns what kind of gesture step this is - + + - - - Describes sound step of a gesture - + + - - - If true in this step we wait for all animations to finish - + + - - - If true gesture player should wait for the specified amount of time - + + - - - Time in seconds to wait if WaitForAnimation is false - + + - - - Returns what kind of gesture step this is - + + - - - Describes the final step of a gesture - + + - - - Returns what kind of gesture step this is - + + - - - Represents a sequence of animations, sounds, and chat actions - + + - - - Keyboard key that triggers the gestyre - + + - - - Modifier to the trigger key - + + - - - String that triggers playing of the gesture sequence - + + - - - Text that replaces trigger in chat once gesture is triggered - + + - - - Sequence of gesture steps - + + - - - Constructs guesture asset - + + - - - Constructs guesture asset - - A unique specific to this asset - A byte array containing the raw asset data + + - - - Encodes gesture asset suitable for uplaod - + + - - - Decodes gesture assset into play sequence - - true if the asset data was decoded successfully + + - - - Returns asset type - + + - - - Represents a Landmark with RegionID and Position vector - + + - - UUID of the Landmark target region + + - - Local position of the target + + - - Construct an Asset of type Landmark + + - - - Construct an Asset object of type Landmark - - A unique specific to this asset - A byte array containing the raw asset data + + - - - Encode the raw contents of a string with the specific Landmark format - + + - - - Decode the raw asset data, populating the RegionID and Position - - true if the AssetData was successfully decoded to a UUID and Vector + + - - Override the base classes AssetType + + - - - Represents Mesh asset - + + - - - Decoded mesh data - + + - - Initializes a new instance of an AssetMesh object + + - - Initializes a new instance of an AssetMesh object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + - - - TODO: Encodes Collada file into LLMesh format - + + - - - Decodes mesh asset. See - to furter decode it for rendering - true + + - - Override the base classes AssetType + + - - - Represents an Animation - + + - - Default Constructor + + - - - Construct an Asset object of type Animation - - Asset type - A unique specific to this asset - A byte array containing the raw asset data + + - - Override the base classes AssetType + + - - - Represents a string of characters encoded with specific formatting properties - + + - - A text string containing main text of the notecard + + - - List of s embedded on the notecard + + - - Construct an Asset of type Notecard + + - - - Construct an Asset object of type Notecard - - A unique specific to this asset - A byte array containing the raw asset data + + - - - Encode the raw contents of a string with the specific Linden Text properties - + + - - - Decode the raw asset data including the Linden Text properties - - true if the AssetData was successfully decoded + + - - Override the base classes AssetType + + - - - A linkset asset, containing a parent primitive and zero or more children - + + - - Initializes a new instance of an AssetPrim object + + - - - Initializes a new instance of an AssetPrim object - - A unique specific to this asset - A byte array containing the raw asset data + + - - - - + + - - - - - + + - - Override the base classes AssetType + + - - - Only used internally for XML serialization/deserialization - + + - - - The deserialized form of a single primitive in a linkset asset - + + - - - Represents an AssetScriptBinary object containing the - LSO compiled bytecode of an LSL script - + + - - Initializes a new instance of an AssetScriptBinary object + + - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + - - - TODO: Encodes a scripts contents into a LSO Bytecode file - + + - - - TODO: Decode LSO Bytecode into a string - - true + + - - Override the base classes AssetType + + - - - Represents an LSL Text object containing a string of UTF encoded characters - + + - - A string of characters represting the script contents + + - - Initializes a new AssetScriptText object + + - - - Initializes a new AssetScriptText object with parameters - - A unique specific to this asset - A byte array containing the raw asset data + + - - - Encode a string containing the scripts contents into byte encoded AssetData - + + - - - Decode a byte array containing the scripts contents into a string - - true if decoding is successful + + - - Override the base classes AssetType + + - - - Represents a Sound Asset - + + - - Initializes a new instance of an AssetSound object + + - - Initializes a new instance of an AssetSound object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + - - - TODO: Encodes a sound file - + + - - - TODO: Decode a sound file - - true + + - - Override the base classes AssetType + + - - - Represents a texture - + + - - A object containing image data + + - - + + - - + + - - Initializes a new instance of an AssetTexture object + + - - - Initializes a new instance of an AssetTexture object - - A unique specific to this asset - A byte array containing the raw asset data + + - - - Initializes a new instance of an AssetTexture object - - A object containing texture data + + - - - Populates the byte array with a JPEG2000 - encoded image created from the data in - + + - - - Decodes the JPEG2000 data in AssetData to the - object - - True if the decoding was successful, otherwise false + + - - - Decodes the begin and end byte positions for each quality layer in - the image - - + + - - Override the base classes AssetType + + - - = + + - - Number of times we've received an unknown CAPS exception in series. + + - - For exponential backoff on error. + + - - - A set of textures that are layered on texture of each other and "baked" - in to a single texture, for avatar appearances - + + - - Final baked texture + + - - Component layers + + - - Width of the final baked image and scratchpad + + - - Height of the final baked image and scratchpad + + - - Bake type + + - - - Default constructor - - Bake type + + - - - Adds layer for baking - - TexturaData struct that contains texture and its params + + - - - Converts avatar texture index (face) to Bake type - - Face number (AvatarTextureIndex) - BakeType, layer to which this texture belongs to + + - - - Make sure images exist, resize source if needed to match the destination - - Destination image - Source image - Sanitization was succefull + + - - - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color - - Color of the base of this layer + + - - - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color - - Red value - Green value - Blue value + + - - Final baked texture + + - - Component layers + + - - Width of the final baked image and scratchpad + + - - Height of the final baked image and scratchpad + + - - Bake type + + - - Is this one of the 3 skin bakes + + - - - Image width - + + - - - Image height - + + - - - Image channel flags - + + - - - Red channel data - + + - - - Green channel data - + + - - - Blue channel data - + + - - - Alpha channel data - + + - - - Bump channel data - + + - - - Create a new blank image - - width - height - channel flags + + - - - - - + + - - - Convert the channels in the image. Channels are created or destroyed as required. - - new channel flags + + - - - Resize or stretch the image using nearest neighbor (ugly) resampling - - new width - new height + + - - - Create a byte array containing 32-bit RGBA data with a bottom-left - origin, suitable for feeding directly into OpenGL - - A byte array containing raw texture data + + - - - Create a byte array containing 32-bit RGBA data with a bottom-left - origin, suitable for feeding directly into OpenGL - - A byte array containing raw texture data + + - - - A Wrapper around openjpeg to encode and decode images to and from byte arrays - + + - - TGA Header size + + - - OpenJPEG is not threadsafe, so this object is used to lock - during calls into unmanaged code + + - - - Encode a object into a byte array - - The object to encode - true to enable lossless conversion, only useful for small images ie: sculptmaps - A byte array containing the encoded Image object + + - - - Encode a object into a byte array - - The object to encode - a byte array of the encoded image + + - - - Decode JPEG2000 data to an and - - - JPEG2000 encoded data - ManagedImage object to decode to - Image object to decode to - True if the decode succeeds, otherwise false + + - - - - - - - + + - - - - - - - - + + - - - Encode a object into a byte array - - The source object to encode - true to enable lossless decoding - A byte array containing the source Bitmap object + + - - - Defines the beginning and ending file positions of a layer in an - LRCP-progression JPEG2000 file - + + - - - This structure is used to marshal both encoded and decoded images. - MUST MATCH THE STRUCT IN dotnet.h! - + + - - - Information about a single packet in a JPEG2000 stream - + + - - Packet start position + + - - Packet header end position + + - - Packet end position + + - - - Capability to load TGAs to Bitmap - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + + Parsing Collada model files into data structures + + + + + Parses Collada document + + Load .dae model from this file + Load and decode images for uploading with model + A list of mesh prims that were parsed from the collada file + + + + Implements mesh upload communications with the simulator + + + + + Inlcude stub convex hull physics, required for uploading to Second Life + + + + + Use the same mesh used for geometry as the physical mesh upload + + + + + Callback for mesh upload operations + + null on failure, result from server on success + + + + Creates instance of the mesh uploader + + GridClient instance to communicate with the simulator + List of ModelPrimitive objects to upload as a linkset + Inventory name for newly uploaded object + Inventory description for newly upload object + + + + Performs model upload in one go, without first checking for the price + + + + + Performs model upload in one go, without first checking for the price + + Callback that will be invoke upon completion of the upload. Null is sent on request failure + + + + Ask server for details of cost and impact of the mesh upload + + Callback that will be invoke upon completion of the upload. Null is sent on request failure + + + + Performas actual mesh and image upload + + Uri recieved in the upload prepare stage + Callback that will be invoke upon completion of the upload. Null is sent on request failure + + + + Interface requirements for Messaging system + + + + + Abstract base for rendering plugins + + + + + Generates a basic mesh structure from a primitive + + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh + + + + Generates a basic mesh structure from a sculpted primitive and + texture + + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh + + + + Generates a series of faces, each face containing a mesh and + metadata + + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh + + + + Generates a series of faces for a sculpted prim, each face + containing a mesh and metadata + + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh + + + + Apply texture coordinate modifications from a + to a list of vertices + + Vertex list to modify texture coordinates for + Center-point of the face + Face texture parameters + Scale of the prim + + + + Binary reader, which is endian aware + + + + What is the format of the source file + + + + Construct a reader from a stream + + The stream to read from + + + + Construct a reader from a stream + + The stream to read from + What is the format of the file, assumes PC and similar architecture + + + + Read a 32 bit integer + + A 32 bit integer in the system's endianness - - + + + Read a 16 bit integer + + A 16 bit integer in the system's endianness - - + + + Read a 64 bit integer + + A 64 bit integer in the system's endianness - - + + + Read an unsigned 32 bit integer + + A 32 bit unsigned integer in the system's endianness - - + + + Read a single precision floating point value + + A single precision floating point value in the system's endianness - - + + + Read a double precision floating point value + + A double precision floating point value in the system's endianness - - + + + Read a UTF-8 string + + A standard system string - - + + + Read a UTF-8 string + + length of string to read + A standard system string - - + + + Load and handle Linden Lab binary meshes. + + + The exact definition of this file is a bit sketchy, especially concerning skin weights. + A good starting point is on the + second life wiki + - - + + + Defines a polygon + - - + + + Structure of a vertex, No surprises there, except for the Detail tex coord + + + The skinweights are a tad unconventional. The best explanation found is: + >Each weight actually contains two pieces of information. The number to the + >left of the decimal point is the index of the joint and also implicitly + >indexes to the following joint. The actual weight is to the right of the + >decimal point and interpolates between these two joints. The index is into + >an "expanded" list of joints, not just a linear array of the joints as + >defined in the skeleton file. In particular, any joint that has more than + >one child will be repeated in the list for each of its children. + + Maybe I'm dense, but that description seems to be a bit hard to build an + algorithm on. + + Esentially the weights are compressed into one floating point value. + 1. The whole number part is an index into an array of joints + 2. The fractional part is the weight that joint has + 3. If the fractional part is 0 (x.0000) then the vertex is 100% influenced by the specified joint + - - + + + Provide a nice format for debugging + + Vertex definition as a string - - + + + Describes deltas to apply to a vertex in order to morph a vertex + - - + + + Provide a nice format for debugging + + MorphVertex definition as a string - - + + + Describes a named mesh morph, essentially a named list of MorphVertices + - - + + + Provide a nice format for debugging + + The name of the morph - - + + + Don't really know what this does + - - + + + Provide a nice format for debugging + + Human friendly format - - + + + A reference mesh is one way to implement level of detail + + + Reference meshes are supplemental meshes to full meshes. For all practical + purposes almost all lod meshes are implemented as reference meshes, except for + 'avatar_eye_1.llm' which for some reason is implemented as a full mesh. + - - + + + Load a mesh from a stream + + Filename and path of the file containing the reference mesh - - + + + Level of Detail mesh + - - + + + Construct a linden mesh with the given name + + the name of the mesh - - + + + Construct a linden mesh with the given name + + the name of the mesh + The skeleton governing mesh deformation - - + + + Load the mesh from a stream + + The filename and path of the file containing the mesh data - - + + + Layout of one skinweight element + - - + + List of skinweights, in the same order as the mesh vertices - - + + + Decompress the skinweights + + the expanded joint list, used to index which bones should influece the vertex - - + + + Load a reference mesh from a given stream + + The lod level of this reference mesh + the name and path of the file containing the mesh data + the loaded reference mesh - - + + + Trim a string at the first occurence of NUL + + + The llm file uses null terminated strings (C/C++ style), this is where + the conversion is made. + + The string to trim + A standard .Net string - + + + load the 'avatar_skeleton.xml' + + + Partial class which extends the auto-generated 'LindenSkeleton.Xsd.cs'.eton.xsd + - - + + + Load a skeleton from a given file. + + + We use xml scema validation on top of the xml de-serializer, since the schema has + some stricter checks than the de-serializer provides. E.g. the vector attributes + are guaranteed to hold only 3 float values. This reduces the need for error checking + while working with the loaded skeleton. + + A valid recursive skeleton - - + + + Load a skeleton from a given file. + + + We use xml scema validation on top of the xml de-serializer, since the schema has + some stricter checks than the de-serializer provides. E.g. the vector attributes + are guaranteed to hold only 3 float values. This reduces the need for error checking + while working with the loaded skeleton. + + The path to the skeleton definition file + A valid recursive skeleton - - + + + Build and "expanded" list of joints + + + The algorithm is based on this description: + + >An "expanded" list of joints, not just a + >linear array of the joints as defined in the skeleton file. + >In particular, any joint that has more than one child will + >be repeated in the list for each of its children. + + The list should only take these joint names in consideration + An "expanded" joints list as a flat list of bone names - - + + + Expand one joint + + The parent of the joint we are operating on + The joint we are supposed to expand + Joint list that we will extend upon + The expanded list should only contain these joints - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + + Contains all mesh faces that belong to a prim + - - + + List of primitive faces - - + + + Decodes mesh asset into FacetedMesh + + Mesh primitive + Asset retrieved from the asset server + Level of detail + Resulting decoded FacetedMesh + True if mesh asset decoding was successful - - + + + Sent to the client to indicate a teleport request has completed + - - + + The of the agent - - + + - - + + The simulators handle the agent teleported to - - + + A Uri which contains a list of Capabilities the simulator supports - - + + Indicates the level of access required + to access the simulator, or the content rating, or the simulators + map status - - + + The IP Address of the simulator - - + + The UDP Port the simulator will listen for UDP traffic on - - + + Status flags indicating the state of the Agent upon arrival, Flying, etc. - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. + - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + A message sent to the client which indicates a teleport request has failed + and contains some information on why it failed + - - + + - - + + A string key of the reason the teleport failed e.g. CouldntTPCloser + Which could be used to look up a value in a dictionary or enum - - + + The of the Agent - - + + A string human readable message containing the reason + An example: Could not teleport closer to destination - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + Contains a list of prim owner information for a specific parcel in a simulator + + + A Simulator will always return at least 1 entry + If agent does not have proper permission the OwnerID will be UUID.Zero + If agent does not have proper permission OR there are no primitives on parcel + the DataBlocksExtended map will not be sent from the simulator + - - + + + Prim ownership information for a specified owner on a single parcel + - - + + The of the prim owner, + UUID.Zero if agent has no permission to view prim owner information - - + + The total number of prims - - + + True if the OwnerID is a - - + + True if the owner is online + This is no longer used by the LL Simulators - - + + The date the most recent prim was rezzed - - + + An Array of objects - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + The details of a single parcel in a region, also contains some regionwide globals + - - + + Simulator-local ID of this parcel - - + + Maximum corner of the axis-aligned bounding box for this + parcel - - + + Minimum corner of the axis-aligned bounding box for this + parcel - - + + Total parcel land area - - + + - - + + Key of authorized buyer - - + + Bitmap describing land layout in 4x4m squares across the + entire region - - + + - - + + Date land was claimed - - + + Appears to always be zero - - + + Parcel Description - - + + - - + + - - + + Total number of primitives owned by the parcel group on + this parcel - - + + Whether the land is deeded to a group or not - - + + - - + + Maximum number of primitives this parcel supports - - + + The Asset UUID of the Texture which when applied to a + primitive will display the media - - + + A URL which points to any Quicktime supported media type - - + + A byte, if 0x1 viewer should auto scale media to fit object - - + + URL For Music Stream - - + + Parcel Name - - + + Autoreturn value in minutes for others' objects - - + + + + + Total number of other primitives on this parcel - - + + UUID of the owner of this parcel - - + + Total number of primitives owned by the parcel owner on + this parcel - - + + - - + + How long is pass valid for - - + + Price for a temporary pass - - + + - - + + Disallows people outside the parcel from being able to see in - - + + - - + + - - + + - - + + True if the region denies access to age unverified users - - + + - - + + This field is no longer used - - + + The result of a request for parcel properties - - + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it - - + + + Number of primitives your avatar is currently + selecting and sitting on in this parcel + - - + + - - + + + A number which increments by 1, starting at 0 for each ParcelProperties request. + Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. + a Negative number indicates the action in has occurred. + - - + + Maximum primitives across the entire simulator - - + + Total primitives across the entire simulator - - + + - - + + Key of parcel snapshot - - + + Parcel ownership status - - + + Total number of primitives on this parcel - - + + - - + + - - + + A description of the media - - + + An Integer which represents the height of the media - - + + An integer which represents the width of the media - - + + A boolean, if true the viewer should loop the media - - + + A string which contains the mime type of the media - - + + true to obscure (hide) media url - - + + true to obscure (hide) music url - - + + true if avatars in this parcel should be invisible to people outside - - + + true if avatars outside can hear any sounds avatars inside play - - + + true if group members outside can hear any sounds avatars inside play - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + A message sent from the viewer to the simulator to updated a specific parcels settings - - + + The of the agent authorized to purchase this + parcel of land or a NULL if the sale is authorized to anyone - - + + true to enable auto scaling of the parcel media - - + + The category of this parcel used when search is enabled to restrict + search results - - + + A string containing the description to set - - + + The of the which allows for additional + powers and restrictions. - - + + The which specifies how avatars which teleport + to this parcel are handled - - + + The LocalID of the parcel to update settings on - - + + A string containing the description of the media which can be played + to visitors - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + true if avatars in this parcel should be invisible to people outside - - + + true if avatars outside can hear any sounds avatars inside play - - + + true if group members outside can hear any sounds avatars inside play - - + + + Deserialize the message + + An containing the data - - + + + Serialize the object + + An containing the objects data - - + + Base class used for the RemoteParcelRequest message - - + + + A message sent from the viewer to the simulator to request information + on a remote parcel + - - + + Local sim position of the parcel we are looking up - - + + Region handle of the parcel we are looking up - - + + Region of the parcel we are looking up - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + A message sent from the simulator to the viewer in response to a + which will contain parcel information + - - + + The grid-wide unique parcel ID - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + A message containing a request for a remote parcel from a viewer, or a response + from the simulator to that request + - - + + The request or response details block - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + A message sent from the simulator to an agent which contains + the groups the agent is in + - - + + The Agent receiving the message - - + + Group Details specific to the agent - - + + true of the agent accepts group notices - - + + The agents tier contribution to the group - - + + The Groups - - + + The of the groups insignia - - + + The name of the group - - + + The aggregate permissions the agent has in the group for all roles the agent + is assigned - - + + An optional block containing additional agent specific information - - + + true of the agent allows this group to be + listed in their profile - - + + An array containing information + for each the agent is a member of - - + + An array containing information + for each the agent is a member of - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + A message sent from the viewer to the simulator which + specifies the language and permissions for others to detect + the language specified + - - + + A string containng the default language + to use for the agent - - + + true of others are allowed to + know the language setting - + - Parsing Collada model files into data structures + Serialize the object + An containing the objects data - + - Parses Collada document + Deserialize the message - Load .dae model from this file - Load and decode images for uploading with model - A list of mesh prims that were parsed from the collada file + An containing the data - + - Implements mesh upload communications with the simulator + An EventQueue message sent from the simulator to an agent when the agent + leaves a group - - - Inlcude stub convex hull physics, required for uploading to Second Life - + + An object containing the Agents UUID, and the Groups UUID - + + The ID of the Agent leaving the group + + + The GroupID the Agent is leaving + + - Use the same mesh used for geometry as the physical mesh upload + An Array containing the AgentID and GroupID - + - Creates instance of the mesh uploader + Serialize the object - GridClient instance to communicate with the simulator - List of ModelPrimitive objects to upload as a linkset - Inventory name for newly uploaded object - Inventory description for newly upload object + An containing the objects data - + - Performs model upload in one go, without first checking for the price + Deserialize the message + An containing the data - + + Base class for Asset uploads/results via Capabilities + + - Performs model upload in one go, without first checking for the price + The request state - Callback that will be invoke upon completion of the upload. Null is sent on request failure - + - Ask server for details of cost and impact of the mesh upload + Serialize the object - Callback that will be invoke upon completion of the upload. Null is sent on request failure + An containing the objects data - + - Performas actual mesh and image upload + Deserialize the message - Uri recieved in the upload prepare stage - Callback that will be invoke upon completion of the upload. Null is sent on request failure + An containing the data - + - Callback for mesh upload operations + A message sent from the viewer to the simulator to request a temporary upload capability + which allows an asset to be uploaded - null on failure, result from server on success - + + The Capability URL sent by the simulator to upload the baked texture to + + - Interface requirements for Messaging system + A message sent from the simulator that will inform the agent the upload is complete, + and the UUID of the uploaded asset - + + The uploaded texture asset ID + + - Abstract base for rendering plugins + A message sent from the viewer to the simulator to request a temporary + capability URI which is used to upload an agents baked appearance textures - + + Object containing request or response + + - Generates a basic mesh structure from a primitive + Serialize the object - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh + An containing the objects data - + - Generates a basic mesh structure from a sculpted primitive and - texture + Deserialize the message - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh + An containing the data - + - Generates a series of faces, each face containing a mesh and - metadata + A message sent from the simulator which indicates the minimum version required for + using voice chat - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh - + + Major Version Required + + + Minor version required + + + The name of the region sending the version requrements + + - Generates a series of faces for a sculpted prim, each face - containing a mesh and metadata + Serialize the object - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh + An containing the objects data - + - Apply texture coordinate modifications from a - to a list of vertices + Deserialize the message - Vertex list to modify texture coordinates for - Center-point of the face - Face texture parameters - Scale of the prim + An containing the data - + - Sent to the client to indicate a teleport request has completed + A message sent from the simulator to the viewer containing the + voice server URI - - The of the agent + + The Parcel ID which the voice server URI applies - - + + The name of the region - - The simulators handle the agent teleported to + + A uri containing the server/channel information + which the viewer can utilize to participate in voice conversations - - A Uri which contains a list of Capabilities the simulator supports + + + Serialize the object + + An containing the objects data - - Indicates the level of access required - to access the simulator, or the content rating, or the simulators - map status + + + Deserialize the message + + An containing the data - - The IP Address of the simulator + + + + - - The UDP Port the simulator will listen for UDP traffic on + + - - Status flags indicating the state of the Agent upon arrival, Flying, etc. + + - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + - Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. + A message sent by the viewer to the simulator to request a temporary + capability for a script contained with in a Tasks inventory to be updated - + + Object containing request or response + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + + + A message sent from the simulator to the viewer to indicate + a Tasks scripts status. + + + + The Asset ID of the script + + + True of the script is compiled/ran using the mono interpreter, false indicates it + uses the older less efficient lsl2 interprter + + + The Task containing the scripts + + + true of the script is in a running state + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + + + A message containing the request/response used for updating a gesture + contained with an agents inventory + + + + Object containing request or response + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + - A message sent to the client which indicates a teleport request has failed - and contains some information on why it failed + A message request/response which is used to update a notecard contained within + a tasks inventory - - - - - A string key of the reason the teleport failed e.g. CouldntTPCloser - Which could be used to look up a value in a dictionary or enum - - - The of the Agent + + The of the Task containing the notecard asset to update - - A string human readable message containing the reason - An example: Could not teleport closer to destination + + The notecard assets contained in the tasks inventory - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + + + A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability + which is used to update an asset in an agents inventory + + + + + The Notecard AssetID to replace + + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + - Contains a list of prim owner information for a specific parcel in a simulator + A message containing the request/response used for updating a notecard + contained with an agents inventory - - A Simulator will always return at least 1 entry - If agent does not have proper permission the OwnerID will be UUID.Zero - If agent does not have proper permission OR there are no primitives on parcel - the DataBlocksExtended map will not be sent from the simulator - - - An Array of objects + + Object containing request or response - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + - Prim ownership information for a specified owner on a single parcel + Serialize the object + An containing the objects data - - The of the prim owner, - UUID.Zero if agent has no permission to view prim owner information + + + Deserialize the message + + An containing the data - - The total number of prims + + + A message sent from the simulator to the viewer which indicates + an error occurred while attempting to update a script in an agents or tasks + inventory + - - True if the OwnerID is a + + true of the script was successfully compiled by the simulator - - True if the owner is online - This is no longer used by the LL Simulators + + A string containing the error which occured while trying + to update the script - - The date the most recent prim was rezzed + + A new AssetID assigned to the script - + - The details of a single parcel in a region, also contains some regionwide globals + A message sent from the viewer to the simulator + requesting the update of an existing script contained + within a tasks inventory - - Simulator-local ID of this parcel - - - Maximum corner of the axis-aligned bounding box for this - parcel - - - Minimum corner of the axis-aligned bounding box for this - parcel + + if true, set the script mode to running - - Total parcel land area + + The scripts InventoryItem ItemID to update - - + + A lowercase string containing either "mono" or "lsl2" which + specifies the script is compiled and ran on the mono runtime, or the older + lsl runtime - - Key of authorized buyer + + The tasks which contains the script to update - - Bitmap describing land layout in 4x4m squares across the - entire region + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - Date land was claimed + + + A message containing either the request or response used in updating a script inside + a tasks inventory + - - Appears to always be zero + + Object containing request or response - - Parcel Description + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + Response from the simulator to notify the viewer the upload is completed, and + the UUID of the script asset and its compiled status + - - Total number of primitives owned by the parcel group on - this parcel + + The uploaded texture asset ID - - Whether the land is deeded to a group or not + + true of the script was compiled successfully - - + + + A message sent from a viewer to the simulator requesting a temporary uploader capability + used to update a script contained in an agents inventory + - - Maximum number of primitives this parcel supports + + The existing asset if of the script in the agents inventory to replace - - The Asset UUID of the Texture which when applied to a - primitive will display the media + + The language of the script + Defaults to lsl version 2, "mono" might be another possible option - - A URL which points to any Quicktime supported media type + + + Serialize the object + + An containing the objects data - - A byte, if 0x1 viewer should auto scale media to fit object + + + Deserialize the message + + An containing the data - - URL For Music Stream + + + A message containing either the request or response used in updating a script inside + an agents inventory + - - Parcel Name + + Object containing request or response - - Autoreturn value in minutes for others' objects + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - Total number of other primitives on this parcel + + + Serialize the object + + An containing the objects data - - UUID of the owner of this parcel + + + Deserialize the message + + An containing the data - - Total number of primitives owned by the parcel owner on - this parcel + + Base class for Map Layers via Capabilities - + - - How long is pass valid for + + + Serialize the object + + An containing the objects data - - Price for a temporary pass + + + Deserialize the message + + An containing the data - - + + + Sent by an agent to the capabilities server to request map layers + - - Disallows people outside the parcel from being able to see in + + + A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates + - - + + + An object containing map location details + - - + + The Asset ID of the regions tile overlay - - + + The grid location of the southern border of the map tile - - True if the region denies access to age unverified users + + The grid location of the western border of the map tile - - + + The grid location of the eastern border of the map tile - - This field is no longer used + + The grid location of the northern border of the map tile - - The result of a request for parcel properties + + An array containing LayerData items - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it + + + Serialize the object + + An containing the objects data - + - Number of primitives your avatar is currently - selecting and sitting on in this parcel + Deserialize the message + An containing the data - - + + Object containing request or response - + - A number which increments by 1, starting at 0 for each ParcelProperties request. - Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. - a Negative number indicates the action in has occurred. + Serialize the object + An containing the objects data - - Maximum primitives across the entire simulator - - - Total primitives across the entire simulator + + + Deserialize the message + + An containing the data - - + + + New as of 1.23 RC1, no details yet. + - - Key of parcel snapshot + + + Serialize the object + + An containing the objects data - - Parcel ownership status + + + Deserialize the message + + An containing the data - - Total number of primitives on this parcel + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + A string containing the method used - - A description of the media + + + A request sent from an agent to the Simulator to begin a new conference. + Contains a list of Agents which will be included in the conference + - - An Integer which represents the height of the media + + An array containing the of the agents invited to this conference - - An integer which represents the width of the media + + The conferences Session ID - - A boolean, if true the viewer should loop the media + + + Serialize the object + + An containing the objects data - - A string which contains the mime type of the media + + + Deserialize the message + + An containing the data - - true to obscure (hide) media url + + + A moderation request sent from a conference moderator + Contains an agent and an optional action to take + - - true to obscure (hide) music url + + The Session ID - - true if avatars in this parcel should be invisible to people outside + + - - true if avatars outside can hear any sounds avatars inside play + + A list containing Key/Value pairs, known valid values: + key: text value: true/false - allow/disallow specified agents ability to use text in session + key: voice value: true/false - allow/disallow specified agents ability to use voice in session + + "text" or "voice" - - true if group members outside can hear any sounds avatars inside play + + - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - - A message sent from the viewer to the simulator to updated a specific parcels settings - - - The of the agent authorized to purchase this - parcel of land or a NULL if the sale is authorized to anyone - - - true to enable auto scaling of the parcel media - - - The category of this parcel used when search is enabled to restrict - search results - - - A string containing the description to set - - - The of the which allows for additional - powers and restrictions. + + + A message sent from the agent to the simulator which tells the + simulator we've accepted a conference invitation + - - The which specifies how avatars which teleport - to this parcel are handled + + The conference SessionID - - The LocalID of the parcel to update settings on + + + Serialize the object + + An containing the objects data - - A string containing the description of the media which can be played - to visitors + + + Deserialize the message + + An containing the data - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + Key of sender - - + + Name of sender - - + + Key of destination avatar - - + + ID of originating estate - - + + Key of originating region - - + + Coordinates in originating region - - + + Instant message type - - + + Group IM session toggle - - + + Key of IM session, for Group Messages, the groups UUID - - + + Timestamp of the instant message - - + + Instant message text - - + + Whether this message is held for offline avatars - - true if avatars in this parcel should be invisible to people outside + + Context specific packed data - - true if avatars outside can hear any sounds avatars inside play + + Is this invitation for voice group/conference chat - - true if group members outside can hear any sounds avatars inside play + + + Serialize the object + + An containing the objects data - + Deserialize the message An containing the data - + + + Sent from the simulator to the viewer. + + When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including + a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate + this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" + + During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are + excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with + the string "ENTER" or "LEAVE" respectively. + + + Serialize the object An containing the objects data - - Base class used for the RemoteParcelRequest message - - + - A message sent from the viewer to the simulator to request information - on a remote parcel + Deserialize the message + An containing the data - - Local sim position of the parcel we are looking up + + + An EventQueue message sent when the agent is forcibly removed from a chatterbox session + - - Region handle of the parcel we are looking up + + + A string containing the reason the agent was removed + - - Region of the parcel we are looking up + + + The ChatterBoxSession's SessionID + - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - - - A message sent from the simulator to the viewer in response to a - which will contain parcel information - - - - The grid-wide unique parcel ID - - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + - A message containing a request for a remote parcel from a viewer, or a response - from the simulator to that request + Serialize the object + An containing the objects data - - The request or response details block + + + Deserialize the message + + An containing the data - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + + + + + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + - A message sent from the simulator to an agent which contains - the groups the agent is in + Serialize the object + An containing the objects data - - The Agent receiving the message - - - An array containing information - for each the agent is a member of - - - An array containing information - for each the agent is a member of + + + Deserialize the message + + An containing the data - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - - Group Details specific to the agent + + + Event Queue message describing physics engine attributes of a list of objects + Sim sends these when object is selected + - - true of the agent accepts group notices + + Array with the list of physics properties - - The agents tier contribution to the group + + + Serializes the message + + Serialized OSD - - The Groups + + + Deserializes the message + + Incoming data to deserialize - - The of the groups insignia + + + Deserializes the message + + Incoming data to deserialize - - The name of the group + + + Serializes the message + + Serialized OSD - - The aggregate permissions the agent has in the group for all roles the agent - is assigned + + + + Deserializes the message + + Incoming data to deserialize - - An optional block containing additional agent specific information + + + Serializes the message + + Serialized OSD + + + + Deserializes the message + + Incoming data to deserialize + + + + Serializes the message + + Serialized OSD - - true of the agent allows this group to be - listed in their profile + + + Detects which class handles deserialization of this message + + An containing the data + Object capable of decoding this message - + A message sent from the viewer to the simulator which - specifies the language and permissions for others to detect - the language specified + specifies that the user has changed current URL + of the specific media on a prim face - - A string containng the default language - to use for the agent + + + New URL + - - true of others are allowed to - know the language setting + + + Prim UUID where navigation occured + - + + + Face index + + + Serialize the object An containing the objects data - + Deserialize the message An containing the data - + + Base class used for the ObjectMedia message + + - An EventQueue message sent from the simulator to an agent when the agent - leaves a group + Message used to retrive prim media data - + - An Array containing the AgentID and GroupID + Prim UUID - + - Serialize the object + Requested operation, either GET or UPDATE - An containing the objects data - + + + Serialize object + + Serialized object as OSDMap + + Deserialize the message An containing the data - - An object containing the Agents UUID, and the Groups UUID - - - The ID of the Agent leaving the group + + + Message used to update prim media data + - - The GroupID the Agent is leaving + + + Prim UUID + - - Base class for Asset uploads/results via Capabilities + + + Array of media entries indexed by face number + - + - The request state + Media version string - + - Serialize the object + Serialize object - An containing the objects data + Serialized object as OSDMap - + Deserialize the message An containing the data - + - A message sent from the viewer to the simulator to request a temporary upload capability - which allows an asset to be uploaded + Message used to update prim media data - - The Capability URL sent by the simulator to upload the baked texture to - - + - A message sent from the simulator that will inform the agent the upload is complete, - and the UUID of the uploaded asset + Prim UUID - - The uploaded texture asset ID - - + - A message sent from the viewer to the simulator to request a temporary - capability URI which is used to upload an agents baked appearance textures + Array of media entries indexed by face number - - Object containing request or response + + + Requested operation, either GET or UPDATE + - + - Serialize the object + Serialize object - An containing the objects data + Serialized object as OSDMap - + Deserialize the message An containing the data - + - A message sent from the simulator which indicates the minimum version required for - using voice chat + Message for setting or getting per face MediaEntry - - Major Version Required - - - Minor version required - - - The name of the region sending the version requrements + + The request or response details block - + Serialize the object An containing the objects data - + Deserialize the message An containing the data - - - A message sent from the simulator to the viewer containing the - voice server URI - + + Details about object resource usage - - The Parcel ID which the voice server URI applies + + Object UUID - - The name of the region + + Object name - - A uri containing the server/channel information - which the viewer can utilize to participate in voice conversations + + Indicates if object is group owned - + + Locatio of the object + + + Object owner + + + Resource usage, keys are resource names, values are resource usage for that specific resource + + - Serialize the object + Deserializes object from OSD - An containing the objects data + An containing the data - + - Deserialize the message + Makes an instance based on deserialized data + + serialized data + Instance containg deserialized data + + + Details about parcel resource usage + + + Parcel UUID + + + Parcel local ID + + + Parcel name + + + Indicates if parcel is group owned + + + Parcel owner + + + Array of containing per object resource usage + + + + Deserializes object from OSD An containing the data - + - + Makes an instance based on deserialized data + serialized data + Instance containg deserialized data - - + + Resource usage base class, both agent and parcel resource + usage contains summary information - - + + Summary of available resources, keys are resource names, + values are resource usage for that specific resource - + + Summary resource usage, keys are resource names, + values are resource usage for that specific resource + + - Serialize the object + Serializes object - An containing the objects data + serialized data - + - Deserialize the message + Deserializes object from OSD An containing the data - + + Agent resource usage + + + Per attachment point object resource usage + + - A message sent by the viewer to the simulator to request a temporary - capability for a script contained with in a Tasks inventory to be updated + Deserializes object from OSD + An containing the data - - Object containing request or response - - + - Serialize the object + Makes an instance based on deserialized data - An containing the objects data + serialized data + Instance containg deserialized data - + - Deserialize the message + Detects which class handles deserialization of this message An containing the data + Object capable of decoding this message - + + Request message for parcel resource usage + + + UUID of the parel to request resource usage info + + - A message sent from the simulator to the viewer to indicate - a Tasks scripts status. + Serializes object + serialized data - - The Asset ID of the script + + + Deserializes object from OSD + + An containing the data - - True of the script is compiled/ran using the mono interpreter, false indicates it - uses the older less efficient lsl2 interprter + + Response message for parcel resource usage - - The Task containing the scripts + + URL where parcel resource usage details can be retrieved - - true of the script is in a running state + + URL where parcel resource usage summary can be retrieved - + - Serialize the object + Serializes object - An containing the objects data + serialized data - + - Deserialize the message + Deserializes object from OSD An containing the data - + - A message containing the request/response used for updating a gesture - contained with an agents inventory + Detects which class handles deserialization of this message + An containing the data + Object capable of decoding this message - - Object containing request or response + + Parcel resource usage - - - Serialize the object - - An containing the objects data + + Array of containing per percal resource usage - + - Deserialize the message + Deserializes object from OSD An containing the data - + - A message request/response which is used to update a notecard contained within - a tasks inventory + Reply to request for bunch if display names - - The of the Task containing the notecard asset to update + + Current display name - - The notecard assets contained in the tasks inventory + + Following UUIDs failed to return a valid display name - + - Serialize the object + Serializes the message - An containing the objects data + OSD containting the messaage - + - Deserialize the message + Message sent when requesting change of the display name - An containing the data - - - A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability - which is used to update an asset in an agents inventory - + + Current display name - + + Desired new display name + + - The Notecard AssetID to replace + Serializes the message + OSD containting the messaage - + - Serialize the object + Message recieved in response to request to change display name - An containing the objects data - + + New display name + + + String message indicating the result of the operation + + + Numerical code of the result, 200 indicates success + + - Deserialize the message + Serializes the message - An containing the data + OSD containting the messaage - + - A message containing the request/response used for updating a notecard - contained with an agents inventory + Message recieved when someone nearby changes their display name - - Object containing request or response + + Previous display name, empty string if default - + + New display name + + - Serialize the object + Serializes the message - An containing the objects data + OSD containting the messaage - + - Deserialize the message + Return a decoded capabilities message as a strongly typed object - An containing the data + A string containing the name of the capabilities message key + An to decode + A strongly typed object containing the decoded information from the capabilities message, or null + if no existing Message object exists for the specified event - + - Serialize the object + Permissions for control of object media - An containing the objects data - + - Deserialize the message + Style of cotrols that shold be displayed to the user - An containing the data - + - A message sent from the simulator to the viewer which indicates - an error occurred while attempting to update a script in an agents or tasks - inventory + Class representing media data for a single face - - true of the script was successfully compiled by the simulator + + Is display of the alternative image enabled - - A string containing the error which occured while trying - to update the script + + Should media auto loop - - A new AssetID assigned to the script + + Shoule media be auto played - - - A message sent from the viewer to the simulator - requesting the update of an existing script contained - within a tasks inventory - + + Auto scale media to prim face - - if true, set the script mode to running + + Should viewer automatically zoom in on the face when clicked - - The scripts InventoryItem ItemID to update + + Should viewer interpret first click as interaction with the media + or when false should the first click be treated as zoom in commadn - - A lowercase string containing either "mono" or "lsl2" which - specifies the script is compiled and ran on the mono runtime, or the older - lsl runtime + + Style of controls viewer should display when + viewer media on this face - - The tasks which contains the script to update + + Starting URL for the media - + + Currently navigated URL + + + Media height in pixes + + + Media width in pixels + + + Who can controls the media + + + Who can interact with the media + + + Is URL whitelist enabled + + + Array of URLs that are whitelisted + + - Serialize the object + Serialize to OSD + + OSDMap with the serialized data + + + + Deserialize from OSD data - An containing the objects data + Serialized OSD data + Deserialized object - + - Deserialize the message + Particle system specific enumerators, flags and methods. - An containing the data - + - A message containing either the request or response used in updating a script inside - a tasks inventory + Current version of the media data for the prim - - Object containing request or response - - + - Serialize the object + Array of media entries indexed by face number - An containing the objects data - + - Deserialize the message + Complete structure for the particle system - An containing the data - + - Response from the simulator to notify the viewer the upload is completed, and - the UUID of the script asset and its compiled status + Particle source pattern - - The uploaded texture asset ID + + None - - true of the script was compiled successfully + + Drop particles from source position with no force - - - A message sent from a viewer to the simulator requesting a temporary uploader capability - used to update a script contained in an agents inventory - + + "Explode" particles in all directions - - The existing asset if of the script in the agents inventory to replace + + Particles shoot across a 2D area - - The language of the script - Defaults to lsl version 2, "mono" might be another possible option + + Particles shoot across a 3D Cone - - - Serialize the object - - An containing the objects data + + Inverse of AngleCone (shoot particles everywhere except the 3D cone defined - + - Deserialize the message + Particle Data Flags - An containing the data - - - A message containing either the request or response used in updating a script inside - an agents inventory - + + None - - Object containing request or response + + Interpolate color and alpha from start to end - - - Serialize the object - - An containing the objects data + + Interpolate scale from start to end - - - Deserialize the message - - An containing the data + + Bounce particles off particle sources Z height - - - Serialize the object - - An containing the objects data + + velocity of particles is dampened toward the simulators wind - - - Deserialize the message - - An containing the data + + Particles follow the source - - Base class for Map Layers via Capabilities + + Particles point towards the direction of source's velocity - - + + Target of the particles - - - Serialize the object - - An containing the objects data + + Particles are sent in a straight line - - - Deserialize the message - - An containing the data + + Particles emit a glow - - - Sent by an agent to the capabilities server to request map layers - + + used for point/grab/touch - - - A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates - + + continuous ribbon particle - - An array containing LayerData items + + particle data contains glow - - - Serialize the object - - An containing the objects data + + particle data contains blend functions - + - Deserialize the message + Particle Flags Enum - An containing the data - - - An object containing map location details - + + None - - The Asset ID of the regions tile overlay + + Acceleration and velocity for particles are + relative to the object rotation - - The grid location of the southern border of the map tile + + Particles use new 'correct' angle parameters - - The grid location of the western border of the map tile + + Particle Flags + There appears to be more data packed in to this area + for many particle systems. It doesn't appear to be flag values + and serialization breaks unless there is a flag for every + possible bit so it is left as an unsigned integer - - The grid location of the eastern border of the map tile + + pattern of particles - - The grid location of the northern border of the map tile + + A representing the maximimum age (in seconds) particle will be displayed + Maximum value is 30 seconds - - Object containing request or response + + A representing the number of seconds, + from when the particle source comes into view, + or the particle system's creation, that the object will emits particles; + after this time period no more particles are emitted - - - Serialize the object - - An containing the objects data + + A in radians that specifies where particles will not be created - - - Deserialize the message - - An containing the data + + A in radians that specifies where particles will be created - - - New as of 1.23 RC1, no details yet. - + + A representing the number of seconds between burts. - - - Serialize the object - - An containing the objects data + + A representing the number of meters + around the center of the source where particles will be created. - - - Deserialize the message - - An containing the data + + A representing in seconds, the minimum speed between bursts of new particles + being emitted - - - Serialize the object - - An containing the objects data + + A representing in seconds the maximum speed of new particles being emitted. - - - Deserialize the message - - An containing the data + + A representing the maximum number of particles emitted per burst - - A string containing the method used + + A which represents the velocity (speed) from the source which particles are emitted - - - A request sent from an agent to the Simulator to begin a new conference. - Contains a list of Agents which will be included in the conference - + + A which represents the Acceleration from the source which particles are emitted - - An array containing the of the agents invited to this conference + + The Key of the texture displayed on the particle - - The conferences Session ID + + The Key of the specified target object or avatar particles will follow - - - Serialize the object - - An containing the objects data + + Flags of particle from - - - Deserialize the message - - An containing the data + + Max Age particle system will emit particles for - - - A moderation request sent from a conference moderator - Contains an agent and an optional action to take - + + The the particle has at the beginning of its lifecycle - - The Session ID + + The the particle has at the ending of its lifecycle - - + + A that represents the starting X size of the particle + Minimum value is 0, maximum value is 4 - - A list containing Key/Value pairs, known valid values: - key: text value: true/false - allow/disallow specified agents ability to use text in session - key: voice value: true/false - allow/disallow specified agents ability to use voice in session - - "text" or "voice" + + A that represents the starting Y size of the particle + Minimum value is 0, maximum value is 4 - - + + A that represents the ending X size of the particle + Minimum value is 0, maximum value is 4 - - - Serialize the object - - An containing the objects data + + A that represents the ending Y size of the particle + Minimum value is 0, maximum value is 4 - - - Deserialize the message - - An containing the data + + A that represents the start glow value + Minimum value is 0, maximum value is 1 - - - A message sent from the agent to the simulator which tells the - simulator we've accepted a conference invitation - + + A that represents the end glow value + Minimum value is 0, maximum value is 1 - - The conference SessionID + + OpenGL blend function to use at particle source - - - Serialize the object - - An containing the objects data + + OpenGL blend function to use at particle destination - + - Deserialize the message + Can this particle system be packed in a legacy compatible way - An containing the data + True if the particle system doesn't use new particle system features - + - Serialize the object + Decodes a byte[] array into a ParticleSystem Object - An containing the objects data + ParticleSystem object + Start position for BitPacker - + - Deserialize the message + Generate byte[] array from particle data - An containing the data + Byte array - - - Serialize the object - - An containing the objects data + + - + - Deserialize the message + Parameters used to construct a visual representation of a primitive - An containing the data - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - Key of sender + + - - Name of sender + + - - Key of destination avatar + + - - ID of originating estate + + - - Key of originating region + + - - Coordinates in originating region + + - - Instant message type + + - - Group IM session toggle + + - - Key of IM session, for Group Messages, the groups UUID + + - - Timestamp of the instant message + + - - Instant message text + + - - Whether this message is held for offline avatars + + - - Context specific packed data + + - - Is this invitation for voice group/conference chat + + - - - Serialize the object - - An containing the objects data + + - + + + + + + + + + + + + + + Attachment point to an avatar + + + + + + + + + + + + + + - Deserialize the message + Calculdates hash code for prim construction data - An containing the data + The has - + - Sent from the simulator to the viewer. - - When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including - a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate - this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" - - During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are - excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with - the string "ENTER" or "LEAVE" respectively. + Information on the flexible properties of a primitive - + + + + + + + + + + + + + + + + + + + - Serialize the object + Default constructor - An containing the objects data - + - Deserialize the message + - An containing the data + + - + - An EventQueue message sent when the agent is forcibly removed from a chatterbox session + + - + - A string containing the reason the agent was removed + + - + - The ChatterBoxSession's SessionID + Information on the light properties of a primitive - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - + + + + + + + - Deserialize the message + Default constructor - An containing the data - + - Serialize the object + - An containing the objects data + + - + - Deserialize the message + - An containing the data + - + - Serialize the object + - An containing the objects data + - + - Deserialize the message + Information on the light properties of a primitive as texture map - An containing the data - + + + + + + + - Serialize the object + Default constructor - An containing the objects data - + - Deserialize the message + - An containing the data + + - + + - + - Serialize the object + - An containing the objects data + - + - Deserialize the message + Information on the sculpt properties of a sculpted primitive - An containing the data - + - Serialize the object + Render inside out (inverts the normals). - An containing the objects data - + - Deserialize the message + Render an X axis mirror of the sculpty. - An containing the data - + - Serialize the object + Default constructor - An containing the objects data - + - Deserialize the message + - An containing the data + + - + - Event Queue message describing physics engine attributes of a list of objects - Sim sends these when object is selected + Extended properties to describe an object - - Array with the list of physics properties + + - - - Serializes the message - - Serialized OSD + + - - - Deseializes the message - - Incoming data to deserialize + + - - - A message sent from the viewer to the simulator which - specifies that the user has changed current URL - of the specific media on a prim face - + + - - - New URL - + + - - - Prim UUID where navigation occured - + + - - - Face index - + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - Base class used for the ObjectMedia message + + - - - Message used to retrive prim media data - + + - - - Prim UUID - + + - - - Requested operation, either GET or UPDATE - + + - - - Serialize object - - Serialized object as OSDMap + + - - - Deserialize the message - - An containing the data + + - - - Message used to update prim media data - + + - - - Prim UUID - + + - - - Array of media entries indexed by face number - + + - - - Media version string - + + - - - Serialize object - - Serialized object as OSDMap + + - - - Deserialize the message - - An containing the data + + - - - Message used to update prim media data - + + - - - Prim UUID - + + - + - Array of media entries indexed by face number + Default constructor - + - Requested operation, either GET or UPDATE + Set the properties that are set in an ObjectPropertiesFamily packet + that has + been partially filled by an ObjectPropertiesFamily packet - + - Serialize object + Describes physics attributes of the prim - Serialized object as OSDMap - - - Deserialize the message - - An containing the data + + Primitive's local ID - - - Message for setting or getting per face MediaEntry - + + Density (1000 for normal density) - - The request or response details block + + Friction - + + Gravity multiplier (1 for normal gravity) + + + Type of physics representation of this primitive in the simulator + + + Restitution + + - Serialize the object + Creates PhysicsProperties from OSD - An containing the objects data + OSDMap with incoming data + Deserialized PhysicsProperties object - + - Deserialize the message + Serializes PhysicsProperties to OSD - An containing the data + OSDMap with serialized PhysicsProperties data - - Details about object resource usage + + - - Object UUID + + - - Object name + + - - Indicates if object is group owned + + - - Locatio of the object + + - - Object owner + + - - Resource usage, keys are resource names, values are resource usage for that specific resource + + Foliage type for this primitive. Only applicable if this + primitive is foliage - - - Deserializes object from OSD - - An containing the data + + Unknown - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data + + - - Details about parcel resource usage + + - - Parcel UUID + + - - Parcel local ID + + - - Parcel name + + - - Indicates if parcel is group owned + + - - Parcel owner + + - - Array of containing per object resource usage + + - - - Deserializes object from OSD - - An containing the data + + - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data + + - - Resource usage base class, both agent and parcel resource - usage contains summary information + + - - Summary of available resources, keys are resource names, - values are resource usage for that specific resource + + - - Summary resource usage, keys are resource names, - values are resource usage for that specific resource + + - - - Serializes object - - serialized data + + Identifies the owner if audio or a particle system is + active - - - Deserializes object from OSD - - An containing the data + + - - Agent resource usage + + - - Per attachment point object resource usage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Objects physics engine propertis + + + Extra data about primitive + + + Indicates if prim is attached to an avatar + + + Number of clients referencing this prim + + + Uses basic heuristics to estimate the primitive shape + + + + Default constructor + - + - Deserializes object from OSD + Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters in to signed eight bit values - An containing the data + Floating point parameter to pack + Signed eight bit value containing the packed parameter - + - Makes an instance based on deserialized data + Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters from signed eight bit integers to floating point values - serialized data - Instance containg deserialized data + Signed eight bit value to unpack + Unpacked floating point value - + - Detects which class handles deserialization of this message + Texture animation mode - An containing the data - Object capable of decoding this message - - Request message for parcel resource usage + + Disable texture animation - - UUID of the parel to request resource usage info + + Enable texture animation - - - Serializes object - - serialized data + + Loop when animating textures - - - Deserializes object from OSD - - An containing the data + + Animate in reverse direction - - Response message for parcel resource usage + + Animate forward then reverse - - URL where parcel resource usage details can be retrieved + + Slide texture smoothly instead of frame-stepping - - URL where parcel resource usage summary can be retrieved + + Rotate texture instead of using frames - - - Serializes object - - serialized data + + Scale texture instead of using frames - + - Deserializes object from OSD + A single textured face. Don't instantiate this class yourself, use the + methods in TextureEntry - An containing the data - - - Detects which class handles deserialization of this message - - An containing the data - Object capable of decoding this message + + - - Parcel resource usage + + - - Array of containing per percal resource usage + + - - - Deserializes object from OSD - - An containing the data + + - - - Reply to request for bunch if display names - + + - - Current display name + + - - Following UUIDs failed to return a valid display name + + - - - Serializes the message - - OSD containting the messaage + + - - - Message sent when requesting change of the display name - + + - - Current display name + + - - Desired new display name + + In the future this will specify whether a webpage is + attached to this face - + + + + + + + - Serializes the message + Contains the definition for individual faces - OSD containting the messaage + - + - Message recieved in response to request to change display name + + - - New display name + + + Represents all of the texturable faces for an object + + Grid objects have infinite faces, with each face + using the properties of the default face unless set otherwise. So if + you have a TextureEntry with a default texture uuid of X, and face 18 + has a texture UUID of Y, every face would be textured with X except for + face 18 that uses Y. In practice however, primitives utilize a maximum + of nine faces - - String message indicating the result of the operation + + - - Numerical code of the result, 200 indicates success + + - + - Serializes the message + Constructor that takes a default texture UUID - OSD containting the messaage + Texture UUID to use as the default texture - + - Message recieved when someone nearby changes their display name + Constructor that takes a TextureEntryFace for the + default face + Face to use as the default face - - Previous display name, empty string if default - - - New display name - - + - Serializes the message + Constructor that creates the TextureEntry class from a byte array - OSD containting the messaage + Byte array containing the TextureEntry field + Starting position of the TextureEntry field in + the byte array + Length of the TextureEntry field, in bytes - + - Return a decoded capabilities message as a strongly typed object + This will either create a new face if a custom face for the given + index is not defined, or return the custom face for that index if + it already exists - A string containing the name of the capabilities message key - An to decode - A strongly typed object containing the decoded information from the capabilities message, or null - if no existing Message object exists for the specified event + The index number of the face to create or + retrieve + A TextureEntryFace containing all the properties for that + face - + - Permissions for control of object media + + + - + - Style of cotrols that shold be displayed to the user + + - + - Class representing media data for a single face + + - - Is display of the alternative image enabled - - - Should media auto loop - - - Shoule media be auto played - - - Auto scale media to prim face - - - Should viewer automatically zoom in on the face when clicked - - - Should viewer interpret first click as interaction with the media - or when false should the first click be treated as zoom in commadn - - - Style of controls viewer should display when - viewer media on this face + + + + + - - Starting URL for the media + + + Controls the texture animation of a particular prim + - - Currently navigated URL + + - - Media height in pixes + + - - Media width in pixels + + - - Who can controls the media + + - - Who can interact with the media + + - - Is URL whitelist enabled + + - - Array of URLs that are whitelisted + + - + - Serialize to OSD + - OSDMap with the serialized data + + - + - Deserialize from OSD data + - Serialized OSD data - Deserialized object + + + + + + + @@ -35768,29 +36160,6 @@ - - - Level of Detail mesh - - - - - Contains all mesh faces that belong to a prim - - - - List of primitive faces - - - - Decodes mesh asset into FacetedMesh - - Mesh primitive - Asset retrieved from the asset server - Level of detail - Resulting decoded FacetedMesh - True if mesh asset decoding was successful - This is used to login a specific user account(s). It may only be called after @@ -35930,6 +36299,16 @@ The level of the audio, a number between -100 and 100 where 0 represents ‘normal’ speaking volume + + + List of audio input devices + + + + + List of audio output devices + + Start up the Voice service. @@ -36003,6 +36382,11 @@ Handle response to audio input device query + + + Set audio test mode + + Set voice channel for new parcel @@ -36035,6 +36419,60 @@ + + Enable logging + + + The folder where any logs will be created + + + This will be prepended to beginning of each log file + + + The suffix or extension to be appended to each log file + + + + 0: NONE - No logging + 1: ERROR - Log errors only + 2: WARNING - Log errors and warnings + 3: INFO - Log errors, warnings and info + 4: DEBUG - Log errors, warnings, info and debug + + + + + Constructor for default logging settings + + + + Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter + + + + Event for most mundane request reposnses. + + + + Response to Connector.Create request + + + Response to Aux.GetCaptureDevices request + + + Response to Aux.GetRenderDevices request + + + Audio Properties Events are sent after audio capture is started. + These events are used to display a microphone VU meter + + + Response to Account.Login request + + + This event message is sent whenever the login state of the + particular Account has transitioned from one value to another + Starts a thread that keeps the daemon running @@ -36128,75 +36566,6 @@ The level of the audio, a number between -100 and 100 where 0 represents ‘normal’ speaking volume - - - List of audio input devices - - - - - List of audio output devices - - - - - Set audio test mode - - - - - Event for most mundane request reposnses. - - - - Response to Connector.Create request - - - Response to Aux.GetCaptureDevices request - - - Response to Aux.GetRenderDevices request - - - Audio Properties Events are sent after audio capture is started. - These events are used to display a microphone VU meter - - - Response to Account.Login request - - - This event message is sent whenever the login state of the - particular Account has transitioned from one value to another - - - Enable logging - - - The folder where any logs will be created - - - This will be prepended to beginning of each log file - - - The suffix or extension to be appended to each log file - - - - 0: NONE - No logging - 1: ERROR - Log errors only - 2: WARNING - Log errors and warnings - 3: INFO - Log errors, warnings and info - 4: DEBUG - Log errors, warnings, info and debug - - - - - Constructor for default logging settings - - - - Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter - Positional vector of the users position @@ -36236,5 +36605,52 @@ + + + + + + + + Delegate to wrap another delegate and its arguments + + + + + + + An instance of DelegateWrapper which calls InvokeWrappedDelegate, + which in turn calls the DynamicInvoke method of the wrapped + delegate + + + + + Callback used to call EndInvoke on the asynchronously + invoked DelegateWrapper + + + + + Executes the specified delegate with the specified arguments + asynchronously on a thread pool thread + + + + + + + Invokes the wrapped delegate synchronously + + + + + + + Calls EndInvoke on the wrapper and Close on the resulting WaitHandle + to prevent resource leaks + + + diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 7a1bc0b..5c576a7 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.XML b/bin/OpenMetaverseTypes.XML index a0c9135..3da5955 100644 --- a/bin/OpenMetaverseTypes.XML +++ b/bin/OpenMetaverseTypes.XML @@ -252,8 +252,7 @@ Link to a location in world - Collection of textures and parameters that can be - worn by an avatar + Collection of textures and parameters that can be worn by an avatar Primitive that can contain textures, sounds, @@ -263,10 +262,7 @@ Notecard asset - Holds a collection of inventory items - - - Root inventory folder + Holds a collection of inventory items. "Category" in the Linden viewer Linden scripting language script @@ -278,17 +274,7 @@ Uncompressed TGA texture - Collection of textures and shape parameters that can - be worn - - - Trash folder - - - Snapshot folder - - - Lost and found folder + Collection of textures and shape parameters that can be worn Uncompressed sound @@ -310,44 +296,109 @@ Simstate file - - Contains landmarks for favorites - Asset is a link to another inventory item Asset is a link to another inventory folder - - Beginning of the range reserved for ensembles + + Marketplace Folder. Same as an Category but different display methods. - - End of the range reserved for ensembles + + Linden mesh format - - Folder containing inventory links to wearables and attachments - that are part of the current outfit + + + The different types of folder. + - - Folder containing inventory items or links to - inventory items of wearables and attachments - together make a full outfit + + None folder type - - Root folder for the folders of type OutfitFolder + + Texture folder type - - Linden mesh format + + Sound folder type + + + Calling card folder type + + + Landmark folder type + + + Clothing folder type + + + Object folder type + + + Notecard folder type + + + The root folder type + + + LSLText folder + + + Bodyparts folder + + + Trash folder + + + Snapshot folder + + + Lost And Found folder - + + Animation folder + + + Gesture folder + + + Favorites folder + + + Ensemble beginning range + + + Ensemble ending range + + + Current outfit folder + + + Outfit folder + + + My outfits folder + + + Mesh folder + + Marketplace direct delivery inbox ("Received Items") - + Marketplace direct delivery outbox - - + + Basic root folder + + + Marketplace listings folder + + + Marketplace stock folder + + + Hypergrid Suitcase folder @@ -1071,6 +1122,27 @@ multiple writers + + + Provides a node container for data in a singly linked list + + + + Pointer to the next node in list + + + The data contained by the node + + + + Constructor + + + + + Constructor + + Queue head @@ -1080,6 +1152,11 @@ Queue item count + + Gets the current number of items in the queue. Since this + is a lockless collection this value should be treated as a close + estimate + Constructor @@ -1098,32 +1175,6 @@ Dequeued item if the dequeue was successful True if an item was successfully deqeued, otherwise false - - Gets the current number of items in the queue. Since this - is a lockless collection this value should be treated as a close - estimate - - - - Provides a node container for data in a singly linked list - - - - Pointer to the next node in list - - - The data contained by the node - - - - Constructor - - - - - Constructor - - Convert this matrix to euler rotations @@ -1334,6 +1385,37 @@ Time of the last drip, in system ticks + + + The parent bucket of this bucket, or null if this bucket has no + parent. The parent bucket will limit the aggregate bandwidth of all + of its children buckets + + + + + Maximum burst rate in bytes per second. This is the maximum number + of tokens that can accumulate in the bucket at any one time + + + + + The speed limit of this bucket in bytes per second. This is the + number of tokens that are added to the bucket per second + + Tokens are added to the bucket any time + is called, at the granularity of + the system tick interval (typically around 15-22ms) + + + + The number of bytes that can be sent at this moment. This is the + current number of tokens in the bucket + If this bucket has a parent bucket that does not have + enough tokens for a request, will + return false regardless of the content of this bucket + + Default constructor @@ -1371,37 +1453,37 @@ True if tokens were added to the bucket, otherwise false - + - The parent bucket of this bucket, or null if this bucket has no - parent. The parent bucket will limit the aggregate bandwidth of all - of its children buckets + Operating system - - - Maximum burst rate in bytes per second. This is the maximum number - of tokens that can accumulate in the bucket at any one time - + + Unknown - - - The speed limit of this bucket in bytes per second. This is the - number of tokens that are added to the bucket per second - - Tokens are added to the bucket any time - is called, at the granularity of - the system tick interval (typically around 15-22ms) + + Microsoft Windows - + + Microsoft Windows CE + + + Linux + + + Apple OSX + + - The number of bytes that can be sent at this moment. This is the - current number of tokens in the bucket - If this bucket has a parent bucket that does not have - enough tokens for a request, will - return false regardless of the content of this bucket + Runtime platform + + .NET runtime + + + Mono runtime: http://www.mono-project.com/ + Used for converting degrees to radians @@ -1842,6 +1924,20 @@ A string containing the AssetType name The AssetType which matches the string name, or AssetType.Unknown if no match was found + + + Takes a FolderType and returns the string representation + + The source + The string version of the FolderType + + + + Translate a string name of an FolderType into the proper Type + + A string containing the FolderType name + The FolderType which matches the string name, or FolderType. None if no match was found + Convert an InventoryType to a string @@ -1972,37 +2068,6 @@ Converted IP address object, or null if the conversion failed - - - Operating system - - - - Unknown - - - Microsoft Windows - - - Microsoft Windows CE - - - Linux - - - Apple OSX - - - - Runtime platform - - - - .NET runtime - - - Mono runtime: http://www.mono-project.com/ - A 128-bit Universally Unique Identifier, used throughout the Second diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index dd1ea6c..a07cc1d 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ diff --git a/bin/openmetaverse_data/avatar_skeleton.xml b/bin/openmetaverse_data/avatar_skeleton.xml new file mode 100644 index 0000000..6b07bbc --- /dev/null +++ b/bin/openmetaverse_data/avatar_skeleton.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file -- cgit v1.1 From f03a6bbc616c3c9ce8dadce6059cf7899ef91b9b Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Mon, 2 Jan 2017 17:47:20 +0000 Subject: Create a generic way for passing constructor args to plugins The old syntax didn't allow for any parameters except for services listed in the ServiceList. Now, services loaded by other services can also be made to use different ini sections or have additional paramters. Syntax is: [@]...[:] --- bin/Robust.HG.ini.example | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 20c0804..7d13d43 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -488,8 +488,9 @@ UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" ; This inventory service will be used to initialize the user's inventory - HGInventoryServicePlugin = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" - HGInventoryServiceConstructorArg = "HGInventoryService" + HGInventoryServicePlugin = "HGInventoryService@OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" + ; NOTE: HGInventoryServiceConstructorArg is deprecated. For now it will work, but see above + ; for the correct method if passing additional arguments. ;; end hypergrid ; Ask co-operative viewers to use a different currency name -- cgit v1.1 From ad8915f154d2ce6ba1b3a021b1725a0b0a671635 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Fri, 6 Jan 2017 00:55:14 +0000 Subject: Restructure god level and permissions Create a class GodController which controls all aspects of god level, viewer modes and user levels at ScenePresence level. --- bin/OpenSimDefaults.ini | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 644391f..51b0d3b 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -476,6 +476,16 @@ ; you really do not want this... ;parcel_owner_is_god = false + ; God mode should be turned on in the viewer whenever + ; the user has god rights somewhere. They may choose + ; to turn it off again, though. + automatic_gods = false + + ; The user can execute any and all god functions, as + ; permitted by the viewer UI, without actually "godding + ; up". This is the default state in 0.8.2. + implicit_gods = true + ; Control user types that are allowed to create new scripts ; Only enforced if serviceside_object_permissions is true ; -- cgit v1.1 From 0b912b2acc0eee5eef9214541d380a2862222f0e Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 6 Jan 2017 14:48:49 +0000 Subject: Remove parcel_owner_is_god option. It is conceptually wrong and with limited use. Relevant parcel owners can just be made estate managers with better regions management logic --- bin/OpenSimDefaults.ini | 4 ---- 1 file changed, 4 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 51b0d3b..f70f7db 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -472,10 +472,6 @@ ; Allow region managers to assume god powers in regions they manage ;region_manager_is_god = false - ; Allow parcel owners to assume god powers in their parcels - ; you really do not want this... - ;parcel_owner_is_god = false - ; God mode should be turned on in the viewer whenever ; the user has god rights somewhere. They may choose ; to turn it off again, though. -- cgit v1.1 From e2167716aab0d11e09317fcda2001dcabb3a04a5 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 7 Jan 2017 21:44:01 +0000 Subject: change OSSL enable option GOD to use IsGod, so it means a active god, as my original idea --- bin/config-include/osslEnable.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index b96688b..3859ba6 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -38,7 +38,7 @@ ; against the owner of the object containing the script. ; The comma separated entries in the list may be one of: ; "GRID_GOD" -- enable for users with UserLevel >= 200 - ; "GOD" -- enable for users with any type of god rights + ; "GOD" -- enable for present and with active god power ; "ESTATE_MANAGER" -- enable for estate manager ; "ESTATE_OWNER" -- enable for estate owner ; "PARCEL_OWNER" -- enable for parcel owner -- cgit v1.1 From 2d0860ac513f27885620279b83a6be2f703cc8c7 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 7 Jan 2017 22:51:56 +0000 Subject: rename OSSL enable option GOD as ACTIVE_GOD so its use is more clear --- bin/config-include/osslEnable.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 3859ba6..7bdb7b5 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -38,7 +38,7 @@ ; against the owner of the object containing the script. ; The comma separated entries in the list may be one of: ; "GRID_GOD" -- enable for users with UserLevel >= 200 - ; "GOD" -- enable for present and with active god power + ; "ACTIVE_GOD" -- enable for present and with active god power user ; "ESTATE_MANAGER" -- enable for estate manager ; "ESTATE_OWNER" -- enable for estate owner ; "PARCEL_OWNER" -- enable for parcel owner -- cgit v1.1 From 8662606f7b2c140fa47fb8eae7f2594be517f966 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 7 Jan 2017 23:38:55 +0000 Subject: add the new GOD ossl option to osslEnable.ini --- bin/config-include/osslEnable.ini | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 7bdb7b5..45eddf7 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -38,7 +38,8 @@ ; against the owner of the object containing the script. ; The comma separated entries in the list may be one of: ; "GRID_GOD" -- enable for users with UserLevel >= 200 - ; "ACTIVE_GOD" -- enable for present and with active god power user + ; "GOD" -- enable for users with rights to be god (local or grid) + ; "ACTIVE_GOD" -- enable for users that are present and with active god power ; "ESTATE_MANAGER" -- enable for estate manager ; "ESTATE_OWNER" -- enable for estate owner ; "PARCEL_OWNER" -- enable for parcel owner -- cgit v1.1 From d96bcd8264d52bdd364319e8028ab1f233fecf6f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 9 Jan 2017 18:22:39 +0000 Subject: add a bit clarification about grid private port protection --- bin/OpenSim.ini.example | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 5f1e779..b0777d7 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -59,6 +59,9 @@ PublicPort = "8002" ;# {PrivatePort} {} {PrivatePort} {8003} "8003" + ; port to access private grid services. + ; grids that run all their regions should deny access to this port + ; from outside their networks, using firewalls PrivatePort = "8003" -- cgit v1.1 From 4e465002a2dcaf2f08c079ce87718715c7319230 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Mon, 20 Mar 2017 11:46:46 +0000 Subject: Make the file based log file format sane for the casual user Developer-oriented format is left commented so interested users and devs can reactivate it. --- bin/OpenSim.exe.config | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.exe.config b/bin/OpenSim.exe.config index b01191e..f1bf8a0 100755 --- a/bin/OpenSim.exe.config +++ b/bin/OpenSim.exe.config @@ -39,7 +39,8 @@ - + + -- cgit v1.1 From 75915bd0f3be487a0fa05e4a91d46b23b488ce82 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Fri, 31 Mar 2017 13:46:01 +0100 Subject: Add the ability to post to and act uponconfiguration in etcd Etcd is a distributed, highly available name-value store that is the basis of many clustered applications. However, it can also be run on a standalone machine. Using etcd allows live monitoring and possibly changing configuration while the sim is running. --- bin/Newtonsoft.Json.dll | Bin 0 -> 498176 bytes bin/Newtonsoft.Json.xml | 8626 +++++++++++++++++++++++++++++++++++++++++++++++ bin/RestSharp.dll | Bin 0 -> 165376 bytes bin/RestSharp.xml | 3024 +++++++++++++++++ bin/netcd.dll | Bin 0 -> 22528 bytes 5 files changed, 11650 insertions(+) create mode 100644 bin/Newtonsoft.Json.dll create mode 100644 bin/Newtonsoft.Json.xml create mode 100644 bin/RestSharp.dll create mode 100644 bin/RestSharp.xml create mode 100644 bin/netcd.dll (limited to 'bin') diff --git a/bin/Newtonsoft.Json.dll b/bin/Newtonsoft.Json.dll new file mode 100644 index 0000000..5931de1 Binary files /dev/null and b/bin/Newtonsoft.Json.dll differ diff --git a/bin/Newtonsoft.Json.xml b/bin/Newtonsoft.Json.xml new file mode 100644 index 0000000..2a75b44 --- /dev/null +++ b/bin/Newtonsoft.Json.xml @@ -0,0 +1,8626 @@ + + + + Newtonsoft.Json + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + + A . This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Sets the state of the JsonWriter, + + The JsonToken being written. + The value being written. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Create a custom object + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a F# discriminated union type to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework EntityKey to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an ExpandoObject to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Initializes a new instance of the class. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets a value indicating whether integer values are allowed. + + true if integers are allowed; otherwise, false. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + The parameter list to use when constructing the JsonConverter described by ItemConverterType. + If null, the default constructor is used. + When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number, + order, and type of these parameters. + + + [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Specifies the settings used when merging JSON. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + Represents a trace writer that writes to the application's instances. + + + + + Represents a trace writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Represents an abstract JSON token. + + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A , or null. + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + An that contains the selected elements. + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An that contains the selected elements. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a null value. + + A null value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the ISerializable object constructor. + + The ISerializable object constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Initializes a new instance of the class. + + Type of the converter. + Parameter list to use when constructing the JsonConverter. Can be null. + + + + Gets the type of the converter. + + The type of the converter. + + + + The parameter list to use when constructing the JsonConverter described by ConverterType. + If null, the default constructor is used. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the Common Language Runtime (CLR) type for the current JSON token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + The parameter list to use when constructing the JsonConverter described by ItemConverterType. + If null, the default constructor is used. + When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number, + order, and type of these parameters. + + + [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Represents a collection of . + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + The string escape handling. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string. + Serialization will happen on a new thread. + + The object to serialize. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using formatting. + Serialization will happen on a new thread. + + The object to serialize. + Indicates how the output is formatted. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using formatting and a collection of . + Serialization will happen on a new thread. + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Asynchronously deserializes the JSON to the specified .NET type. + Deserialization will happen on a new thread. + + The type of the object to deserialize to. + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type using . + Deserialization will happen on a new thread. + + The type of the object to deserialize to. + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + Deserialization will happen on a new thread. + + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type using . + Deserialization will happen on a new thread. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Asynchronously populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + A task that represents the asynchronous populate operation. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string using formatting. + + The node to serialize. + Indicates how the output is formatted. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment specified by + and writes a .NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XmlNode + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string using formatting. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment specified by + and writes a .NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings. + + + A new instance. + The will not use default settings. + + + + + Creates a new instance using the specified . + The will not use default settings. + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings. + + + + + Creates a new instance. + The will use default settings. + + + A new instance. + The will use default settings. + + + + + Creates a new instance using the specified . + The will use default settings. + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings. + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a JSON constructor. + + + + + Represents a token that can contain other tokens. + + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON array. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly improve performance with multiple resolver instances because expensive reflection will only + happen once. This setting can cause unexpected behavior if different instances of the resolver are suppose to produce different + results. When set to false it is highly recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Lookup and create an instance of the JsonConverter type described by the argument. + + The JsonConverter type to create. + Optional arguments to pass to an initializing constructor of the JsonConverter. + If null, the default constructor is used. + + + + Create a factory function that can be used to create instances of a JsonConverter described by the + argument type. The returned function can then be used to either invoke the converter's default ctor, or any + parameterized constructors by way of an object array. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Represents a method that constructs an object. + + The object type to create. + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/bin/RestSharp.dll b/bin/RestSharp.dll new file mode 100644 index 0000000..ea01262 Binary files /dev/null and b/bin/RestSharp.dll differ diff --git a/bin/RestSharp.xml b/bin/RestSharp.xml new file mode 100644 index 0000000..27a71c7 --- /dev/null +++ b/bin/RestSharp.xml @@ -0,0 +1,3024 @@ + + + + RestSharp + + + + + Tries to Authenticate with the credentials of the currently logged in user, or impersonate a user + + + + + Authenticate with the credentials of the currently logged in user + + + + + Authenticate by impersonation + + + + + + + Authenticate by impersonation, using an existing ICredentials instance + + + + + + + + + Base class for OAuth 2 Authenticators. + + + Since there are many ways to authenticate in OAuth2, + this is used as a base class to differentiate between + other authenticators. + + Any other OAuth2 authenticators must derive from this + abstract class. + + + + + Access token to be used when authenticating. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Gets the access token. + + + + + The OAuth 2 authenticator using URI query parameter. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.2 + + + + + Initializes a new instance of the class. + + + The access token. + + + + + The OAuth 2 authenticator using the authorization request header field. + + + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.1 + + + + + Stores the Authorization header value as "[tokenType] accessToken". used for performance. + + + + + Initializes a new instance of the class. + + + The access token. + + + + + Initializes a new instance of the class. + + + The access token. + + + The token type. + + + + + All text parameters are UTF-8 encoded (per section 5.1). + + + + + + Generates a random 16-byte lowercase alphanumeric string. + + + + + + + Generates a timestamp based on the current elapsed seconds since '01/01/1970 0000 GMT" + + + + + + + Generates a timestamp based on the elapsed seconds of a given time since '01/01/1970 0000 GMT" + + + A specified point in time. + + + + + The set of characters that are unreserved in RFC 2396 but are NOT unreserved in RFC 3986. + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + The value to escape. + The escaped value. + + The method is supposed to take on + RFC 3986 behavior if certain elements are present in a .config file. Even if this + actually worked (which in my experiments it doesn't), we can't rely on every + host actually having this configuration element present. + + + + + + + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + + + + + + + Sorts a collection of key-value pairs by name, and then value if equal, + concatenating them into a single string. This string should be encoded + prior to, or after normalization is run. + + + + + + + + Sorts a by name, and then value if equal. + + A collection of parameters to sort + A sorted parameter collection + + + + Creates a request URL suitable for making OAuth requests. + Resulting URLs must exclude port 80 or port 443 when accompanied by HTTP and HTTPS, respectively. + Resulting URLs must be lower case. + + + The original request URL + + + + + Creates a request elements concatentation value to send with a request. + This is also known as the signature base. + + + + The request's HTTP method type + The request URL + The request's parameters + A signature base string + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer key + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The signature base + The consumer secret + The token secret + + + + + Creates a signature value given a signature base and the consumer secret and a known token secret. + + + The hashing method + The treatment to use on a signature value + The signature base + The consumer secret + The token secret + + + + + A class to encapsulate OAuth authentication flow. + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + + + + + + Generates a instance to pass to an + for the purpose of requesting an + unauthorized request token. + + The HTTP method for the intended request + Any existing, non-OAuth query parameters desired in the request + + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + + + + Generates a instance to pass to an + for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + Generates a instance to pass to an + for the purpose of exchanging user credentials + for an access token authorized by the user at the Service Provider site. + + The HTTP method for the intended request + + Any existing, non-OAuth query parameters desired in the request + + + + + + + + + + + + + Allows control how class and property names and values are deserialized by XmlAttributeDeserializer + + + + + The name to use for the serialized element + + + + + Sets if the property to Deserialize is an Attribute or Element (Default: false) + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Types of parameters that can be added to requests + + + + + Data formats + + + + + HTTP method to use when making requests + + + + + Format strings for commonly-used date formats + + + + + .NET format string for ISO 8601 date format + + + + + .NET format string for roundtrip date format + + + + + Status for responses (surprised?) + + + + + Extension method overload! + + + + + Save a byte array to a file + + Bytes to save + Full path to save file to + + + + Read a stream into a byte array + + Stream to read + byte[] + + + + Copies bytes from one stream to another + + The input stream. + The output stream. + + + + Converts a byte array to a string, using its byte order mark to convert it to the right encoding. + http://www.shrinkrays.net/code-snippets/csharp/an-extension-method-for-converting-a-byte-array-to-a-string.aspx + + An array of bytes to convert + The byte as a string. + + + + Decodes an HTML-encoded string and returns the decoded string. + + The HTML string to decode. + The decoded text. + + + + Decodes an HTML-encoded string and sends the resulting output to a TextWriter output stream. + + The HTML string to decode + The TextWriter output stream containing the decoded string. + + + + HTML-encodes a string and sends the resulting output to a TextWriter output stream. + + The string to encode. + The TextWriter output stream containing the encoded string. + + + + Reflection extensions + + + + + Retrieve an attribute from a member (property) + + Type of attribute to retrieve + Member to retrieve attribute from + + + + + Retrieve an attribute from a type + + Type of attribute to retrieve + Type to retrieve attribute from + + + + + Checks a type to see if it derives from a raw generic (e.g. List[[]]) + + + + + + + + Find a value from a System.Enum by trying several possible variants + of the string value of the enum. + + Type of enum + Value for which to search + The culture used to calculate the name variants + + + + + Convert a to a instance. + + The response status. + + responseStatus + + + + Uses Uri.EscapeDataString() based on recommendations on MSDN + http://blogs.msdn.com/b/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url-decoding.aspx + + + + + Check that a string is not null or empty + + String to check + bool + + + + Remove underscores from a string + + String to process + string + + + + Parses most common JSON date formats + + JSON value to parse + + DateTime + + + + Remove leading and trailing " from a string + + String to parse + String + + + + Checks a string to see if it matches a regex + + String to check + Pattern to match + bool + + + + Converts a string to pascal case + + String to convert + + string + + + + Converts a string to pascal case with the option to remove underscores + + String to convert + Option to remove underscores + + + + + + Converts a string to camel case + + String to convert + + String + + + + Convert the first letter of a string to lower case + + String to convert + string + + + + Checks to see if a string is all uppper case + + String to check + bool + + + + Add underscores to a pascal-cased string + + String to convert + string + + + + Add dashes to a pascal-cased string + + String to convert + string + + + + Add an undescore prefix to a pascasl-cased string + + + + + + + Add spaces to a pascal-cased string + + String to convert + string + + + + Return possible variants of a name for name matching. + + String to convert + The culture to use for conversion + IEnumerable<string> + + + + XML Extension Methods + + + + + Returns the name of an element with the namespace if specified + + Element name + XML Namespace + + + + + Container for files to be uploaded with requests + + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The content type to use in the request. + The + + + + Creates a file parameter from an array of bytes. + + The parameter name to use in the request. + The data to use as the file's contents. + The filename to use in the request. + The using the default content type. + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + HttpWebRequest wrapper (async methods) + + + HttpWebRequest wrapper + + + HttpWebRequest wrapper (sync methods) + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + Execute an async POST-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Execute an async GET-style request with the specified HTTP Method. + + + The HTTP method to execute. + + + + + Creates an IHttp + + + + + + Default constructor + + + + + Execute a POST request + + + + + Execute a PUT request + + + + + Execute a GET request + + + + + Execute a HEAD request + + + + + Execute an OPTIONS request + + + + + Execute a DELETE request + + + + + Execute a PATCH request + + + + + Execute a MERGE request + + + + + Execute a GET-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + Execute a POST-style request with the specified HTTP Method. + + The HTTP method to execute. + + + + + True if this HTTP request has any HTTP parameters + + + + + True if this HTTP request has any HTTP cookies + + + + + True if a request body has been specified + + + + + True if files have been set to be uploaded + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + UserAgent to be sent with request + + + + + Timeout in milliseconds to be used for the request + + + + + The number of milliseconds before the writing or reading times out. + + + + + System.Net.ICredentials to be sent with request + + + + + The System.Net.CookieContainer to be used for the request + + + + + The method to use to write the response instead of reading into RawBytes + + + + + Collection of files to be sent with request + + + + + Whether or not HTTP 3xx response redirects should be automatically followed + + + + + X509CertificateCollection to be sent with request + + + + + Maximum number of automatic redirects to follow if FollowRedirects is true + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. + + + + + HTTP headers to be sent with request + + + + + HTTP parameters (QueryString or Form values) to be sent with request + + + + + HTTP cookies to be sent with request + + + + + Request body to be sent with request + + + + + Content type of the request body. + + + + + An alternative to RequestBody, for when the caller already has the byte array. + + + + + URL to call for this request + + + + + Flag to send authorisation header with the HttpWebRequest + + + + + Proxy info to be sent with request + + + + + Representation of an HTTP cookie + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Container for HTTP file + + + + + The length of data to be sent + + + + + Provides raw data for file + + + + + Name of the file to use when uploading + + + + + MIME content type of file + + + + + Name of the parameter + + + + + Representation of an HTTP header + + + + + Name of the header + + + + + Value of the header + + + + + Representation of an HTTP parameter (QueryString or Form value) + + + + + Name of the parameter + + + + + Value of the parameter + + + + + HTTP response data + + + + + HTTP response data + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + Default constructor + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + Lazy-loaded string representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Headers returned by server with the response + + + + + Cookies returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exception thrown when error is encountered. + + + + + + + + + + + + + + + + + + + + + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + X509CertificateCollection to be sent with request + + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container for data sent back from API + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + Exceptions thrown during the request, if any. + + Will contain only network transport or framework exceptions thrown during the request. + HTTP protocol errors are handled by RestSharp and will not appear here. + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Parameter container for REST requests + + + + + Return a human-readable representation of this parameter + + String + + + + Name of the parameter + + + + + Value of the parameter + + + + + Type of the parameter + + + + + Client to translate RestRequests into Http requests and process response result + + + + + Executes the request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Request to be executed + Callback function to be executed upon completion providing access to the async handle. + The HTTP method to execute + + + + Executes the request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + + + + Executes a GET-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a POST-style request and callback asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + Callback function to be executed upon completion + The HTTP method to execute + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a GET-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes a POST-style request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + + + + Executes the request asynchronously, authenticating if needed + + Target deserialization type + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a GET-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + + + + Executes a POST-style asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Executes the request asynchronously, authenticating if needed + + Request to be executed + The cancellation token + + + + Default constructor that registers default content handlers + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Sets the BaseUrl property for requests made by this client instance + + + + + + Registers a content handler to process response content + + MIME content type of the response content + Deserializer to use to process content + + + + Remove a content handler for the specified MIME content type + + MIME content type to remove + + + + Remove all content handlers + + + + + Retrieve the handler for the specified MIME content type + + MIME content type to retrieve + IDeserializer instance + + + + Assembles URL to call based on parameters, method and resource + + RestRequest to execute + Assembled System.Uri + + + + Executes the specified request and downloads the response data + + Request to execute + Response data + + + + Executes the request and returns a response, authenticating if needed + + Request to be executed + RestResponse + + + + Executes the specified request and deserializes the response content using the appropriate content handler + + Target deserialization type + Request to execute + RestResponse[[T]] with deserialized data in Data property + + + + Parameters included with every request made with this instance of RestClient + If specified in both client and request, the request wins + + + + + Maximum number of redirects to follow if FollowRedirects is true + + + + + X509CertificateCollection to be sent with request + + + + + Proxy to use for requests made by this client instance. + Passed on to underlying WebRequest if set. + + + + + Default is true. Determine whether or not requests that result in + HTTP status codes of 3xx should follow returned redirect + + + + + The CookieContainer used for requests made by this client instance + + + + + UserAgent to use for requests made by this client instance + + + + + Timeout in milliseconds to use for requests made by this client instance + + + + + The number of milliseconds before the writing or reading times out. + + + + + Whether to invoke async callbacks using the SynchronizationContext.Current captured when invoked + + + + + Authenticator to use for requests made by this client instance + + + + + Combined with Request.Resource to construct URL for request + Should include scheme and domain without trailing slash. + + + client.BaseUrl = new Uri("http://example.com"); + + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Request to be executed + Callback function to be executed upon completion + + + + Executes the request and callback asynchronously, authenticating if needed + + The IRestClient this method extends + Target deserialization type + Request to be executed + Callback function to be executed upon completion providing access to the async handle + + + + Add a parameter to use on every request made with this client instance + + The IRestClient instance + Parameter to add + + + + + Removes a parameter from the default parameters that are used on every request made with this client instance + + The IRestClient instance + The name of the parameter that needs to be removed + + + + + Adds a HTTP parameter (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + Used on every request made by this client instance + + The IRestClient instance + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + The IRestClient instance + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Shortcut to AddDefaultParameter(name, value, HttpHeader) overload + + The IRestClient instance + Name of the header to add + Value of the header to add + + + + + Shortcut to AddDefaultParameter(name, value, UrlSegment) overload + + The IRestClient instance + Name of the segment to add + Value of the segment to add + + + + + Container for data used to make requests + + + + + Default constructor + + + + + Sets Method property to value of method + + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Sets Resource property + + Resource to use for this request + + + + Sets Resource and Method properties + + Resource to use for this request + Method to use for this request + + + + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + + The parameter name to use in the request + Full path to file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + The file data + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + This request + + + + Adds the bytes to the Files collection with the specified file name and content type + + The parameter name to use in the request + A function that writes directly to the stream. Should NOT close the stream. + The file name to use for the uploaded file + The MIME type of the file to upload + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + + The object to serialize + This request + + + + Serializes obj to JSON format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to XML format and adds it to the request body. + + The object to serialize + This request + + + + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + + The object to serialize + The XML namespace to use when serializing + This request + + + + Calls AddParameter() for all public, readable properties specified in the includedProperties list + + + request.AddObject(product, "ProductId", "Price", ...); + + The object with properties to add as parameters + The names of the properties to include + This request + + + + Calls AddParameter() for all public, readable properties of obj + + The object with properties to add as parameters + This request + + + + Add the parameter to the request + + Parameter to add + + + + + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + + Name of the parameter + Value of the parameter + This request + + + + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + + Name of the parameter + Value of the parameter + The type of parameter to add + This request + + + + Shortcut to AddParameter(name, value, HttpHeader) overload + + Name of the header to add + Value of the header to add + + + + + Shortcut to AddParameter(name, value, Cookie) overload + + Name of the cookie to add + Value of the cookie to add + + + + + Shortcut to AddParameter(name, value, UrlSegment) overload + + Name of the segment to add + Value of the segment to add + + + + + Shortcut to AddParameter(name, value, QueryString) overload + + Name of the parameter to add + Value of the parameter to add + + + + + Internal Method so that RestClient can increase the number of attempts + + + + + Always send a multipart/form-data request - even when no Files are present. + + + + + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + + + + + Set this to write response to Stream rather than reading into memory. + + + + + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + + + + + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + + + + + Container of all the files to be uploaded with the request. + + + + + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + + + + + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + + + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + + + + + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + + + + + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + + + + + A function to run prior to deserializing starting (e.g. change settings if error encountered) + + + + + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + + + + + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + + + + + In general you would not need to set this directly. Used by the NtlmAuthenticator. + + + + + Gets or sets a user-defined state object that contains information about a request and which can be later + retrieved when the request completes. + + + + + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + + + + + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + + + + + How many attempts were made to send this Request? + + + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + + + + + Base class for common properties shared by RestResponse and RestResponse[[T]] + + + + + Default constructor + + + + + The RestRequest that was made to get this RestResponse + + + Mainly for debugging if ResponseStatus is not OK + + + + + MIME content type of response + + + + + Length in bytes of the response content + + + + + Encoding of the response content + + + + + String representation of response content + + + + + HTTP response status code + + + + + Description of HTTP status returned + + + + + Response content + + + + + The URL that actually responded to the content (different from request if redirected) + + + + + HttpWebResponse.Server + + + + + Cookies returned by server with the response + + + + + Headers returned by server with the response + + + + + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + + + + + Transport or other non-HTTP error generated while attempting request + + + + + The exception thrown during the request, if any + + + + + Container for data sent back from API including deserialized data + + Type of data to deserialize to + + + + Deserialized entity data + + + + + Container for data sent back from API + + + + + Comment of the cookie + + + + + Comment of the cookie + + + + + Indicates whether the cookie should be discarded at the end of the session + + + + + Domain of the cookie + + + + + Indicates whether the cookie is expired + + + + + Date and time that the cookie expires + + + + + Indicates that this cookie should only be accessed by the server + + + + + Name of the cookie + + + + + Path of the cookie + + + + + Port of the cookie + + + + + Indicates that the cookie should only be sent over secure channels + + + + + Date and time the cookie was created + + + + + Value of the cookie + + + + + Version of the cookie + + + + + Wrapper for System.Xml.Serialization.XmlSerializer. + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Encoding for serialized content + + + + + Need to subclass StringWriter in order to override Encoding + + + + + Default JSON serializer for request bodies + Doesn't currently use the SerializeAs attribute, defers to Newtonsoft's attributes + + + + + Default serializer + + + + + Serialize the object as JSON + + Object to serialize + JSON as String + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Unused for JSON Serialization + + + + + Content type for serialized content + + + + + Allows control how class and property names and values are serialized by XmlSerializer + Currently not supported with the JsonSerializer + When specified at the property level the class-level specification is overridden + + + + + Called by the attribute when NameStyle is speficied + + The string to transform + String + + + + The name to use for the serialized element + + + + + Sets the value to be serialized as an Attribute instead of an Element + + + + + The culture to use when serializing + + + + + Transforms the casing of the name based on the selected value. + + + + + The order to serialize the element. Default is int.MaxValue. + + + + + Options for transforming casing of element names + + + + + Default XML Serializer + + + + + Default constructor, does not specify namespace + + + + + Specify the namespaced to be used when serializing + + XML namespace + + + + Serialize the object as XML + + Object to serialize + XML as string + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Name of the root element to use when serializing + + + + + XML namespace to use when serializing + + + + + Format string to use when serializing dates + + + + + Content type for serialized content + + + + + Helper methods for validating required values + + + + + Require a parameter to not be null + + Name of the parameter + Value of the parameter + + + + Represents the json array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The capacity of the json array. + + + + The json representation of the array. + + The json representation of the array. + + + + Represents the json object. + + + + + The internal member dictionary. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The implementation to use when comparing keys, or null to use the default for the type of the key. + + + + Adds the specified key. + + The key. + The value. + + + + Determines whether the specified key contains key. + + The key. + + true if the specified key contains key; otherwise, false. + + + + + Removes the specified key. + + The key. + + + + + Tries the get value. + + The key. + The value. + + + + + Adds the specified item. + + The item. + + + + Clears this instance. + + + + + Determines whether [contains] [the specified item]. + + The item. + + true if [contains] [the specified item]; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the specified item. + + The item. + + + + + Gets the enumerator. + + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a json that represents the current . + + + A json that represents the current . + + + + + Gets the at the specified index. + + + + + + Gets the keys. + + The keys. + + + + Gets the values. + + The values. + + + + Gets or sets the with the specified key. + + + + + + Gets the count. + + The count. + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + This class encodes and decodes JSON strings. + Spec. details, see http://www.json.org/ + + JSON uses Arrays and Objects. These correspond here to the datatypes JsonArray(IList<object>) and JsonObject(IDictionary<string,object>). + All numbers are parsed to doubles. + + + + + Parses the string json into a value + + A JSON string. + An IList<object>, a IDictionary<string,object>, a double, a string, null, true, or false + + + + Try parsing the json string into a value. + + + A JSON string. + + + The object. + + + Returns true if successfull otherwise false. + + + + + Converts a IDictionary<string,object> / IList<object> object into a JSON string + + A IDictionary<string,object> / IList<object> + Serializer strategy to use + A JSON encoded string, or null if object 'json' is not serializable + + + + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + + + + + Helper methods for validating values + + + + + Validate an integer value is between the specified values (exclusive of min/max) + + Value to validate + Exclusive minimum value + Exclusive maximum value + + + + Validate a string length + + String to be validated + Maximum length of the string + + + diff --git a/bin/netcd.dll b/bin/netcd.dll new file mode 100644 index 0000000..d1f7330 Binary files /dev/null and b/bin/netcd.dll differ -- cgit v1.1 From 2805cb9dec567cdfb7a25d771527510b7a6284af Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 5 Apr 2017 01:15:44 +0100 Subject: give osTeleportObject proper OSFunctionThreatLevel setting on osslEnable.ini --- bin/config-include/osslEnable.ini | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 45eddf7..de5f957 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -236,4 +236,5 @@ Allow_osKickAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osRevokeScriptPermissions = false Allow_osTeleportAgent = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osObjectTeleport = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -- cgit v1.1 From c58f2167bb8bc6dbbb1d575cf0a4534e47d2a3db Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 5 Apr 2017 13:55:51 +0100 Subject: fix osTeleportObject OSFunctionThreatLevel setting on osslEnable.ini --- bin/config-include/osslEnable.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index de5f957..dca1c0c 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -236,5 +236,5 @@ Allow_osKickAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osRevokeScriptPermissions = false Allow_osTeleportAgent = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osObjectTeleport = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osTeleportObject = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -- cgit v1.1 From 040037d713adb0f7a36d08e53978cf659d636650 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 12 Apr 2017 06:50:34 +0100 Subject: update ode.dll for windows. Other platforms need fo be compiled from opensim-libs repo, folder ODE-OpenSim.0.13.2. This adds OsTerrain, a replacevment for Heightfield that ubOde can use. Its already rotated as needed and has a diferent Sphere collider, rest is still almost identical. Keep previus ode version in case this goes wrong. --- bin/lib32/ode.dll | Bin 552448 -> 552960 bytes bin/lib64/ode.dll | Bin 651776 -> 650752 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll index 62aa4df..2166c68 100755 Binary files a/bin/lib32/ode.dll and b/bin/lib32/ode.dll differ diff --git a/bin/lib64/ode.dll b/bin/lib64/ode.dll index 543b900..070bad8 100755 Binary files a/bin/lib64/ode.dll and b/bin/lib64/ode.dll differ -- cgit v1.1 From 22e9647748f0ca5b5bcd0c31667d2d5f263715bc Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 14 Apr 2017 03:45:03 +0100 Subject: update ode binaries for windows --- bin/lib32/ode.dll | Bin 552960 -> 553472 bytes bin/lib64/ode.dll | Bin 650752 -> 651776 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll index 2166c68..5bb9319 100755 Binary files a/bin/lib32/ode.dll and b/bin/lib32/ode.dll differ diff --git a/bin/lib64/ode.dll b/bin/lib64/ode.dll index 070bad8..637b105 100755 Binary files a/bin/lib64/ode.dll and b/bin/lib64/ode.dll differ -- cgit v1.1 From 49884b94a78bcf45c25b72e1f9fae593de16864f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 18 Apr 2017 00:50:55 +0100 Subject: update ODE binaries for windows. Other platforms need to compile from opensim-libs repo, folder ODE-OpenSim-0.13.2, read file OPENSIM-README.txt. Remove code to reduce bounce on non physical placement, new unmanaged should handle that --- bin/lib32/ode.dll | Bin 553472 -> 541184 bytes bin/lib64/ode.dll | Bin 651776 -> 634880 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll index 5bb9319..5a25d20 100755 Binary files a/bin/lib32/ode.dll and b/bin/lib32/ode.dll differ diff --git a/bin/lib64/ode.dll b/bin/lib64/ode.dll index 637b105..2ea84fc 100755 Binary files a/bin/lib64/ode.dll and b/bin/lib64/ode.dll differ -- cgit v1.1 From 52e03ee5bd678b96af0ab4c8d3e2e1a0f39fb71b Mon Sep 17 00:00:00 2001 From: Michael Cerquoni Date: Wed, 19 Apr 2017 13:24:38 -0400 Subject: update ubODE for Linux x86 and x86_64 to include lasted ODE 0.13.2 --- bin/lib32/libode.so | Bin 1019273 -> 4230804 bytes bin/lib64/libode-x86_64.so | Bin 6397607 -> 6426368 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/libode.so b/bin/lib32/libode.so index daf6a4d..de54cd8 100755 Binary files a/bin/lib32/libode.so and b/bin/lib32/libode.so differ diff --git a/bin/lib64/libode-x86_64.so b/bin/lib64/libode-x86_64.so index d8f3c20..2505ded 100755 Binary files a/bin/lib64/libode-x86_64.so and b/bin/lib64/libode-x86_64.so differ -- cgit v1.1 From 84c9125016f964df9c77df7553aee6693fccb2e6 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 20 Apr 2017 02:25:22 +0100 Subject: update ode binaries for windows; add a minimal velocity for bounce --- bin/lib32/ode.dll | Bin 541184 -> 541184 bytes bin/lib64/ode.dll | Bin 634880 -> 635392 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll index 5a25d20..5c658e9 100755 Binary files a/bin/lib32/ode.dll and b/bin/lib32/ode.dll differ diff --git a/bin/lib64/ode.dll b/bin/lib64/ode.dll index 2ea84fc..8b290b1 100755 Binary files a/bin/lib64/ode.dll and b/bin/lib64/ode.dll differ -- cgit v1.1 From b498d554e1b087a726d10192173c92e8cc114dbc Mon Sep 17 00:00:00 2001 From: Michael Cerquoni Date: Wed, 19 Apr 2017 21:50:32 -0400 Subject: update ode binaries for linux; add a minimal velocity for bounce --- bin/lib32/libode.so | Bin 4230804 -> 4232000 bytes bin/lib64/libode-x86_64.so | Bin 6426368 -> 6427600 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/libode.so b/bin/lib32/libode.so index de54cd8..3e08c42 100755 Binary files a/bin/lib32/libode.so and b/bin/lib32/libode.so differ diff --git a/bin/lib64/libode-x86_64.so b/bin/lib64/libode-x86_64.so index 2505ded..2f616dd 100755 Binary files a/bin/lib64/libode-x86_64.so and b/bin/lib64/libode-x86_64.so differ -- cgit v1.1 From 3b33a90e379b40ef3cb2c54dd077ab2263dbf4e8 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 21 Apr 2017 13:49:25 +0100 Subject: update ode binaries for windows --- bin/lib32/ode.dll | Bin 541184 -> 541696 bytes bin/lib64/ode.dll | Bin 635392 -> 635392 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll index 5c658e9..ddffcb3 100755 Binary files a/bin/lib32/ode.dll and b/bin/lib32/ode.dll differ diff --git a/bin/lib64/ode.dll b/bin/lib64/ode.dll index 8b290b1..0d6edbe 100755 Binary files a/bin/lib64/ode.dll and b/bin/lib64/ode.dll differ -- cgit v1.1 From 3b01c209b2931fdb2e39890f9ad14e0c6c870288 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 25 Apr 2017 16:24:07 -0700 Subject: Update libOMV --- bin/CSJ2K.dll | Bin 502784 -> 483328 bytes bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 102400 bytes bin/OpenMetaverse.dll | Bin 2199552 -> 2199552 bytes bin/OpenMetaverseTypes.dll | Bin 110592 -> 110592 bytes 5 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/CSJ2K.dll b/bin/CSJ2K.dll index 238291f..e882e4c 100755 Binary files a/bin/CSJ2K.dll and b/bin/CSJ2K.dll differ diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 1a12a1e..7087584 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 7aeb089..dd3113d 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 5c576a7..1a63a9f 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index a07cc1d..cf5080d 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 6c2f8176aea95297bbce7f6d2d0cba178b39ae5b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 2 May 2017 11:39:29 +0100 Subject: change opensim.ini.example setting of ExternalHostNameForLSL to a defualt --- bin/OpenSim.ini.example | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index b0777d7..da4cbe1 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -52,8 +52,11 @@ ; name and use default public port 9000. The private port is not used ; in the configuration for a standalone. - ;# {BaseURL} {} {BaseURL} {"http://example.com" "http://127.0.0.1"} "http://127.0.0.1" - BaseURL = http://127.0.0.1 + ;# {BaseHostname} {} {BaseHostname} {"example.com" "127.0.0.1"} "127.0.0.1" + BaseHostname = "127.0.0.1" + + ;# {BaseURL} {} {BaseURL} {"http://${Const|BaseHostname} https://${Const|BaseHostname}} "http://${Const|BaseHostname}" + BaseURL = http://${Const|BaseHostname} ;# {PublicPort} {} {PublicPort} {8002 9000} "8002" PublicPort = "8002" @@ -525,10 +528,9 @@ ;# {ExternalHostNameForLSL} {} {Hostname to use for HTTP-IN URLs. This should be reachable from the internet.} {} ;; Hostname to use in llRequestURL/llRequestSecureURL - ;; if not defined - default machine name is being used - ;; (on Windows this mean NETBIOS name - useably only inside local network) - ; ExternalHostNameForLSL = "127.0.0.1" - + ;; if not defined - llRequestURL/llRequestSecureURL are disabled + ExternalHostNameForLSL = ${Const|BaseHostname} + ;# {shard} {} {Name to use for X-Secondlife-Shard header? (press enter if unsure)} {} OpenSim ;; What is reported as the "X-Secondlife-Shard" ;; Defaults to the user server url if not set -- cgit v1.1 From 55f7986b449633477467f7fdda95873b4a00f8fd Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 2 May 2017 13:14:26 +0100 Subject: fix some comments --- bin/OpenSim.ini.example | 2 +- bin/OpenSimDefaults.ini | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index da4cbe1..021e444 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -55,7 +55,7 @@ ;# {BaseHostname} {} {BaseHostname} {"example.com" "127.0.0.1"} "127.0.0.1" BaseHostname = "127.0.0.1" - ;# {BaseURL} {} {BaseURL} {"http://${Const|BaseHostname} https://${Const|BaseHostname}} "http://${Const|BaseHostname}" + ;# {BaseURL} {} {BaseURL} {"http://${Const|BaseHostname}} "http://${Const|BaseHostname}" BaseURL = http://${Const|BaseHostname} ;# {PublicPort} {} {PublicPort} {8002 9000} "8002" diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index f70f7db..89954ef 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -600,8 +600,7 @@ ; HttpBodyMaxLenMAX=16384 ; Hostname to use in llRequestURL/llRequestSecureURL - ; if not defined - default machine name is being used - ; (on Windows this mean NETBIOS name - useably only inside local network) + ; if not defined - llRequestURL/llRequestSecureURL are disabled ; ExternalHostNameForLSL=127.0.0.1 ; Disallow the following address ranges for user scripting calls (e.g. llHttpRequest()) -- cgit v1.1 From 1bfe9354e375b77318dde4222e7fa01937d4c5b8 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 2 May 2017 15:45:33 +0100 Subject: coment out optional fields that should be edited and uncomented if needed --- bin/OpenSimDefaults.ini | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 89954ef..21ff8d6 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1898,7 +1898,8 @@ ; regex specifying for which regions concierge service is desired; if ; empty, then for all - regions = "^MeetingSpace-" + ;regions = "^MeetingSpace-" + regions = "" ; for each region that matches the regions regexp you can provide ; (optionally) a welcome template using format substitution: @@ -1906,14 +1907,14 @@ ; {1} is replaced with the name of the region ; {2} is replaced with the name of the concierge (whoami variable above) - welcomes = /path/to/welcome/template/directory + ;welcomes = /path/to/welcome/template/directory ; Concierge can send attendee lists to an event broker whenever an ; avatar enters or leaves a concierged region. the URL is subject ; to format substitution: ; {0} is replaced with the region's name ; {1} is replaced with the region's UUID - broker = "http://broker.place.com/{1}" + ;broker = "http://broker.place.com/{1}" [MRM] -- cgit v1.1 From 8e300168419d13b00bfaf76c5b6d9b9cb5313970 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 5 May 2017 22:24:05 +0100 Subject: revert to older CSJ2K.dll since new seems have issues on linux with existent textures/sculpts --- bin/CSJ2K.dll | Bin 483328 -> 502784 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/CSJ2K.dll b/bin/CSJ2K.dll index e882e4c..238291f 100755 Binary files a/bin/CSJ2K.dll and b/bin/CSJ2K.dll differ -- cgit v1.1 From f358b39ef57b67dec2c894a3ae7aba2449229e2e Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 8 May 2017 04:00:47 +0100 Subject: update httpserver --- bin/HttpServer_OpenSim.dll | Bin 119808 -> 119808 bytes bin/HttpServer_OpenSim.pdb | Bin 327168 -> 327168 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 33a1211..42ef8c3 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index 2ab14a1..5065532 100644 Binary files a/bin/HttpServer_OpenSim.pdb and b/bin/HttpServer_OpenSim.pdb differ -- cgit v1.1 From 5622b174c41ee190b5a8061ece16661009d74d82 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 8 May 2017 04:18:17 +0100 Subject: update mysql connector to v6.9.9 .net4.0 --- bin/MySql.Data.dll | Bin 353792 -> 424448 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/MySql.Data.dll b/bin/MySql.Data.dll index 992aa56..c9f344a 100755 Binary files a/bin/MySql.Data.dll and b/bin/MySql.Data.dll differ -- cgit v1.1 From 4b3d57e9649fb0d4725858d12afc21e6dd8c29a8 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 8 May 2017 19:08:20 +0100 Subject: update mysql connector to v6.9.9 .net4.5 --- bin/MySql.Data.dll | Bin 424448 -> 424448 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/MySql.Data.dll b/bin/MySql.Data.dll index c9f344a..9abfb6b 100755 Binary files a/bin/MySql.Data.dll and b/bin/MySql.Data.dll differ -- cgit v1.1 From 957ca41b13688be27c386e1b1d3db200c1ff0b87 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 9 May 2017 11:58:07 +0100 Subject: remove file bin/Mono.Posix.dll that causes problems with mono --- bin/Mono.Posix.dll | Bin 207872 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 bin/Mono.Posix.dll (limited to 'bin') diff --git a/bin/Mono.Posix.dll b/bin/Mono.Posix.dll deleted file mode 100755 index 97ec8bf..0000000 Binary files a/bin/Mono.Posix.dll and /dev/null differ -- cgit v1.1 From 52d4cf692caf4907e22089733fea080a081e3233 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 9 May 2017 12:22:42 +0100 Subject: update mysql connector to v6.9.9 .net4.0 --- bin/MySql.Data.dll | Bin 353792 -> 424448 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/MySql.Data.dll b/bin/MySql.Data.dll index 992aa56..c9f344a 100755 Binary files a/bin/MySql.Data.dll and b/bin/MySql.Data.dll differ -- cgit v1.1 From 731510c30592b954e1150603b2f91f1c258d6978 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 9 May 2017 18:27:06 +0100 Subject: let .net decide GC mode from its defaults on the platform --- bin/OpenSim.exe.config | 2 -- bin/Robust.exe.config | 2 -- 2 files changed, 4 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.exe.config b/bin/OpenSim.exe.config index f1bf8a0..3f718d2 100755 --- a/bin/OpenSim.exe.config +++ b/bin/OpenSim.exe.config @@ -5,8 +5,6 @@ - - diff --git a/bin/Robust.exe.config b/bin/Robust.exe.config index 7db6458..025555e 100644 --- a/bin/Robust.exe.config +++ b/bin/Robust.exe.config @@ -5,8 +5,6 @@ - - -- cgit v1.1 From b8138c37d3382a52f0b58468a0446c018118302f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 11 May 2017 21:41:33 +0100 Subject: hide a nonsense option --- bin/Robust.HG.ini.example | 7 ++----- bin/Robust.ini.example | 4 ---- 2 files changed, 2 insertions(+), 9 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 7d13d43..e65d13e 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -288,7 +288,8 @@ LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" ; Realm = "regions" - ; AllowDuplicateNames = "True" + // do not set this to TRUE unless you understand it + ; AllowDuplicateNames = "" ;; Perform distance check for the creation of a linked region ; Check4096 = "True" @@ -444,10 +445,6 @@ ; for the server connector LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService" - ; Set this to true to allow the use of advanced web services and multiple - ; bots using one account - AllowDuplicatePresences = false; - [AvatarService] ; for the server connector LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index d33178c..2ebcef7 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -390,10 +390,6 @@ [PresenceService] ; for the server connector LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService" - ; Set this to true to allow the use of advanced web services and multiple - ; bots using one account - AllowDuplicatePresences = false; - [AvatarService] ; for the server connector -- cgit v1.1 From 97d02ecf32aeb48479bdd730933f91a50cf07291 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 11 May 2017 21:44:57 +0100 Subject: remove a coment added by mistake --- bin/Robust.HG.ini.example | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index e65d13e..2cd1897 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -287,8 +287,7 @@ [GridService] LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" - ; Realm = "regions" - // do not set this to TRUE unless you understand it + ; Realm = "regions" ; AllowDuplicateNames = "" ;; Perform distance check for the creation of a linked region -- cgit v1.1 From 0f2ab6bddd3faed35f6845e09461f818c74fa0eb Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 12 May 2017 14:20:06 +0100 Subject: soem changes on connections limits --- bin/OpenSim.exe.config | 7 +++++++ bin/Robust.exe.config | 6 ++++++ 2 files changed, 13 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.exe.config b/bin/OpenSim.exe.config index 3f718d2..ba84d3b 100755 --- a/bin/OpenSim.exe.config +++ b/bin/OpenSim.exe.config @@ -8,6 +8,13 @@ + + + + + + + diff --git a/bin/Robust.exe.config b/bin/Robust.exe.config index 025555e..fa4f467 100644 --- a/bin/Robust.exe.config +++ b/bin/Robust.exe.config @@ -8,6 +8,12 @@ + + + + + + -- cgit v1.1 From 566c96dc855c782bd85e0fe8c0f02c40fa68ba9f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 12 May 2017 15:54:54 +0100 Subject: revert changes to *exe.config since a host mask of * produces identical effects as runtime setting --- bin/OpenSim.exe.config | 6 ------ bin/Robust.exe.config | 7 +------ 2 files changed, 1 insertion(+), 12 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.exe.config b/bin/OpenSim.exe.config index ba84d3b..5be6989 100755 --- a/bin/OpenSim.exe.config +++ b/bin/OpenSim.exe.config @@ -8,12 +8,6 @@ - - - - - - diff --git a/bin/Robust.exe.config b/bin/Robust.exe.config index fa4f467..3ad5f31 100644 --- a/bin/Robust.exe.config +++ b/bin/Robust.exe.config @@ -8,12 +8,7 @@ - - - - - - + -- cgit v1.1 From c1d06a806d581e9036a0833501ded1a83db06ab7 Mon Sep 17 00:00:00 2001 From: Geir Nøklebye Date: Sun, 7 May 2017 15:11:09 +0200 Subject: Updated Npgsql.dll to version 2.0.14.3 built for .NET 4.0 Mono.Security has been updated for the same build. Signed-off-by: UbitUmarov --- bin/Npgsql.dll | Bin 413184 -> 363008 bytes bin/Npgsql.xml | 5171 +++++++++++++++++++++++------------------ bin/lib/NET/Mono.Security.dll | Bin 282624 -> 291840 bytes 3 files changed, 2878 insertions(+), 2293 deletions(-) mode change 100755 => 100644 bin/Npgsql.dll (limited to 'bin') diff --git a/bin/Npgsql.dll b/bin/Npgsql.dll old mode 100755 new mode 100644 index 24ca4bd..593e366 Binary files a/bin/Npgsql.dll and b/bin/Npgsql.dll differ diff --git a/bin/Npgsql.xml b/bin/Npgsql.xml index a51252d..aec35c1 100644 --- a/bin/Npgsql.xml +++ b/bin/Npgsql.xml @@ -4,4116 +4,4701 @@ Npgsql - + - This class represents a parameter to a command that will be sent to server + Handles serialisation of .NET array or IEnumeration to pg format. + Arrays of arrays, enumerations of enumerations, arrays of enumerations etc. + are treated as multi-dimensional arrays (in much the same manner as an array of arrays + is used to emulate multi-dimensional arrays in languages that lack native support for them). + If such an enumeration of enumerations is "jagged" (as opposed to rectangular, cuboid, + hypercuboid, hyperhypercuboid, etc) then this class will "correctly" serialise it, but pg + will raise an error as it doesn't allow jagged arrays. - + - Initializes a new instance of the NpgsqlParameter class. + Create an ArrayNativeToBackendTypeConverter with the element converter passed + The that would be used to serialise the element type. - + - Initializes a new instance of the NpgsqlParameter - class with the parameter m_Name and a value of the new NpgsqlParameter. + Serialise the enumeration or array. - The m_Name of the parameter to map. - An Object that is the value of the NpgsqlParameter. - -

When you specify an Object - in the value parameter, the DbType is - inferred from the .NET Framework type of the Object.

-

When using this constructor, you must be aware of a possible misuse of the constructor which takes a DbType parameter. - This happens when calling this constructor passing an int 0 and the compiler thinks you are passing a value of DbType. - Use Convert.ToInt32(value) for example to have compiler calling the correct constructor.

-
- + - Initializes a new instance of the NpgsqlParameter - class with the parameter m_Name and the data type. + Handles parsing of pg arrays into .NET arrays. - The m_Name of the parameter to map. - One of the DbType values. - + - Initializes a new instance of the NpgsqlParameter - class with the parameter m_Name, the DbType, and the size. + Takes a string representation of a pg 1-dimensional array + (or a 1-dimensional row within an n-dimensional array) + and allows enumeration of the string represenations of each items. - The m_Name of the parameter to map. - One of the DbType values. - The length of the parameter. - + - Initializes a new instance of the NpgsqlParameter - class with the parameter m_Name, the DbType, the size, - and the source column m_Name. + Takes a string representation of a pg n-dimensional array + and allows enumeration of the string represenations of the next + lower level of rows (which in turn can be taken as (n-1)-dimensional arrays. - The m_Name of the parameter to map. - One of the DbType values. - The length of the parameter. - The m_Name of the source column. - + - Initializes a new instance of the NpgsqlParameter - class with the parameter m_Name, the DbType, the size, - the source column m_Name, a ParameterDirection, - the precision of the parameter, the scale of the parameter, a - DataRowVersion to use, and the - value of the parameter. + Takes an ArrayList which may be an ArrayList of ArrayLists, an ArrayList of ArrayLists of ArrayLists + and so on and enumerates the items that aren't ArrayLists (the leaf nodes if we think of the ArrayList + passed as a tree). Simply uses the ArrayLists' own IEnumerators to get that of the next, + pushing them onto a stack until we hit something that isn't an ArrayList. + ArrayList to enumerate + IEnumerable - The m_Name of the parameter to map. - One of the DbType values. - The length of the parameter. - The m_Name of the source column. - One of the ParameterDirection values. - true if the value of the field can be null, otherwise false. - The total number of digits to the left and right of the decimal point to which - Value is resolved. - The total number of decimal places to which - Value is resolved. - One of the DataRowVersion values. - An Object that is the value - of the NpgsqlParameter. - + - Creates a new NpgsqlParameter that - is a copy of the current instance. + Create a new ArrayBackendToNativeTypeConverter - A new NpgsqlParameter that is a copy of this instance. + for the element type. - + - Gets or sets the maximum number of digits used to represent the - Value property. + Creates an array from pg representation. - The maximum number of digits used to represent the - Value property. - The default value is 0, which indicates that the data provider - sets the precision for Value. - + - Gets or sets the number of decimal places to which - Value is resolved. + Creates an array list from pg represenation of an array. + Multidimensional arrays are treated as ArrayLists of ArrayLists - The number of decimal places to which - Value is resolved. The default is 0. - + - Gets or sets the maximum size, in bytes, of the data within the column. + Creates an n-dimensional array from an ArrayList of ArrayLists or + a 1-dimensional array from something else. - The maximum size, in bytes, of the data within the column. - The default value is inferred from the parameter value. + to convert + produced. - + - Gets or sets the DbType of the parameter. + Takes an array of ints and treats them like the limits of a set of counters. + Retains a matching set of ints that is set to all zeros on the first ++ + On a ++ it increments the "right-most" int. If that int reaches it's + limit it is set to zero and the one before it is incremented, and so on. + + Making this a more general purpose class is pretty straight-forward, but we'll just put what we need here. - One of the DbType values. The default is String. - + - Gets or sets the DbType of the parameter. + Implements a bit string; a collection of zero or more bits which can each be 1 or 0. + BitString's behave as a list of bools, though like most strings and unlike most collections the position + tends to be of as much significance as the value. + BitStrings are often used as masks, and are commonly cast to and from other values. - One of the DbType values. The default is String. - + - Gets or sets a value indicating whether the parameter is input-only, - output-only, bidirectional, or a stored procedure return value parameter. + Represents the empty string. - One of the ParameterDirection - values. The default is Input. - + - Gets or sets a value indicating whether the parameter accepts null values. + Create a BitString from an enumeration of boolean values. The BitString will contain + those booleans in the order they came in. - true if null values are accepted; otherwise, false. The default is false. + The boolean values. - + - Gets or sets the m_Name of the NpgsqlParameter. + Creates a BitString filled with a given number of true or false values. - The m_Name of the NpgsqlParameter. - The default is an empty string. + The value to fill the string with. + The number of bits to fill. - + - The m_Name scrubbed of any optional marker + Creats a bitstring from a string. + The string to copy from. + - + - Gets or sets the m_Name of the source column that is mapped to the - DataSet and used for loading or - returning the Value. + Creates a single-bit element from a boolean value. - The m_Name of the source column that is mapped to the - DataSet. The default is an empty string. + The bool value which determines whether + the bit is 1 or 0. - + - Gets or sets the DataRowVersion - to use when loading Value. + Creates a bitstring from an unsigned integer value. The string will be the shortest required to + contain the integer (e.g. 1 bit for 0 or 1, 2 for 2 or 3, 3 for 4-7, and so on). - One of the DataRowVersion values. - The default is Current. + The integer. + This method is not CLS Compliant, and may not be available to some languages. - + - Gets or sets the value of the parameter. + Creates a bitstring from an integer value. The string will be the shortest required to + contain the integer (e.g. 1 bit for 0 or 1, 2 for 2 or 3, 3 for 4-7, and so on). - An Object that is the value of the parameter. - The default value is null. + The integer. - + - Gets or sets the value of the parameter. + Finds the first instance of a given value - An Object that is the value of the parameter. - The default value is null. - - - - This class represents the Parse message sent to PostgreSQL - server. - - + The value - whether true or false - to search for. + The index of the value found, or -1 if none are present. - + - For classes representing messages sent from the client to the server. + True if there is at least one bit with the value looked for. + The value - true or false - to detect. + True if at least one bit was the same as item, false otherwise. - + - Writes given objects into a stream for PostgreSQL COPY in default copy format (not CSV or BINARY). + Copies the bitstring to an array of bools. + The boolean array to copy to. + The index in the array to start copying from. - + - Return an exact copy of this NpgsqlConnectionString. + Returns an enumerator that enumerates through the string. + The enumerator. - + - This function will set value for known key, both private member and base[key]. + Creats a bitstring by concatenating another onto this one. - - + The string to append to this one. + The combined strings. - + - The function will modify private member only, not base[key]. + Returns a substring of this string. - - + The position to start from, must be between 0 and the length of the string. + The length of the string to return, must be greater than zero, and may not be + so large that the start + length exceeds the bounds of this instance. + The Bitstring identified - + - Clear the member and assign them to the default value. + Returns a substring of this string. + The position to start from, must be between 0 and the length of the string, + the rest of the string is returned. + The Bitstring identified - + - Compatibilty version. When possible, behaviour caused by breaking changes will be preserved - if this version is less than that where the breaking change was introduced. - - - - - Case insensative accessor for indivual connection string values. + A logical and between this string and another. The two strings must be the same length. + Another BitString to AND with this one. + A bitstring with 1 where both BitStrings had 1 and 0 otherwise. - + - Common base class for all derived MD5 implementations. + A logical or between this string and another. The two strings must be the same length. + Another BitString to OR with this one. + A bitstring with 1 where either BitString had 1 and 0 otherwise. - + - Called from constructor of derived class. + A logical xor between this string and another. The two strings must be the same length. + Another BitString to XOR with this one. + A bitstring with 1 where one BitStrings and the other had 0, + and 0 where they both had 1 or both had 0. - + - Finalizer for HashAlgorithm + A bitstring that is the logical inverse of this one. + A bitstring of the same length as this with 1 where this has 0 and vice-versa. - + - Computes the entire hash of all the bytes in the byte array. + Shifts the string operand bits to the left, filling with zeros to produce a + string of the same length. + The number of bits to shift to the left. + A left-shifted bitstring. + The behaviour of LShift is closer to what one would expect from dealing + with PostgreSQL bit-strings than in using the same operations on integers in .NET + In particular, negative operands result in a right-shift, and operands greater than + the length of the string will shift it entirely, resulting in a zero-filled string. + - + - When overridden in a derived class, drives the hashing function. + Shifts the string operand bits to the right, filling with zeros to produce a + string of the same length. - - - + The number of bits to shift to the right. + A right-shifted bitstring. + The behaviour of RShift is closer to what one would expect from dealing + with PostgreSQL bit-strings than in using the same operations on integers in .NET + In particular, negative operands result in a left-shift, and operands greater than + the length of the string will shift it entirely, resulting in a zero-filled string. It also performs + a logical shift, rather than an arithmetic shift, so it always sets the vacated bit positions to zero + (like PostgreSQL and like .NET for unsigned integers but not for signed integers). + - + - When overridden in a derived class, this pads and hashes whatever data might be left in the buffers and then returns the hash created. + Returns true if the this string is identical to the argument passed. - + - When overridden in a derived class, initializes the object to prepare for hashing. + Compares two strings. Strings are compared as strings, so while 0 being less than 1 will + mean a comparison between two strings of the same size is the same as treating them as numbers, + in the case of two strings of differing lengths the comparison starts at the right-most (most significant) + bit, and if all bits of the shorter string are exhausted without finding a comparison, then the larger + string is deemed to be greater than the shorter (0010 is greater than 0001 but less than 00100). + Another string to compare with this one. + A value if the two strings are identical, an integer less + than zero if this is less than the argument, and an integer greater + than zero otherwise. - + - Used for stream chaining. Computes hash as data passes through it. + Compares the string with another object. - The buffer from which to grab the data to be copied. - The offset into the input buffer to start reading at. - The number of bytes to be copied. - The buffer to write the copied data to. - At what point in the outputBuffer to write the data at. + The object to compare with. + If the object is null then this string is considered greater. If the object is another BitString + then they are compared as in the explicit comparison for BitStrings + in any other case a is thrown. - + - Used for stream chaining. Computes hash as data passes through it. Finishes off the hash. + Compares this BitString with an object for equality. - The buffer from which to grab the data to be copied. - The offset into the input buffer to start reading at. - The number of bytes to be copied. - + - Get whether or not the hash can transform multiple blocks at a time. - Note: MUST be overriden if descendant can transform multiple block - on a single call! + Returns a code for use in hashing operations. - + - Gets the previously computed hash. + Returns a string representation of the BitString. + + A string which can contain a letter and optionally a number which sets a minimum size for the string + returned. In each case using the lower-case form of the letter will result in a lower-case string + being returned. + + + B + A string of 1s and 0s. + + + X + An hexadecimal string (will result in an error unless the string's length is divisible by 4). + + + G + A string of 1s and 0s in single-quotes preceded by 'B' (Postgres bit string literal syntax). + + Y + An hexadecimal string in single-quotes preceded by 'X' (Postgres bit literal syntax, will result in an error unless the string's length is divisible by 4. + + C + The format produced by format-string "Y" if legal, otherwise that produced by format-string "G". + E + The most compact safe representation for Postgres. If single bit will be either a 0 or a 1. Otherwise if it + can be that produce by format string "Y" it will, otherwise if there are less than 9bits in length it will be that + produced by format-string "G". For longer strings that cannot be represented in hexadecimal it will be a string + representing the first part of the string in format "Y" followed by the PostgreSQL concatenation operator, followed + by the final bits in the format "G". E.g. "X'13DCE'||B'110'" + If format is empty or null, it is treated as if "B" had been passed (the default repreesentation, and that + generally used by PostgreSQL for display). + + The formatted string. - + - Returns the size in bits of the hash. + Returns a string representation for the Bitstring + A string containing '0' and '1' characters. - + - Must be overriden if not 1 + Returns the same string as . formatProvider is ignored. - + - Must be overriden if not 1 + Parses a string to produce a BitString. Most formats that can be produced by + can be accepted, but hexadecimal + can be interpreted with the preceding X' to mark the following characters as + being hexadecimal rather than binary. - + - Called from constructor of derived class. + Performs a logical AND on the two operands. - + - Creates the default derived class. + Performs a logcial OR on the two operands. - + - Given a join expression and a projection, fetch all columns in the projection - that reference columns in the join. + Perofrms a logical EXCLUSIVE-OR on the two operands - + - Given an InputExpression append all from names (including nested joins) to the list. + Performs a logical NOT on the operand. - + - Get new ColumnExpression that will be used in projection that had it's existing columns moved. - These should be simple references to the inner column + Concatenates the operands. - + - Every property accessed in the list of columns must be adjusted for a new scope + Left-shifts the string BitString. - - - This class provides many util methods to handle - reading and writing of PostgreSQL protocol messages. - - - - - This method takes a ProtocolVersion and returns an integer - version number that the Postgres backend will recognize in a - startup packet. - - - + - This method takes a version string as returned by SELECT VERSION() and returns - a valid version string ("7.2.2" for example). - This is only needed when running protocol version 2. - This does not do any validity checks. + Right-shifts the string BitString. - - - This method gets a C NULL terminated string from the network stream. - It keeps reading a byte in each time until a NULL byte is returned. - It returns the resultant string of bytes read. - This string is sent from backend. - - - + - Reads requested number of bytes from stream with retries until Stream.Read returns 0 or count is reached. + Compares the two operands. - Stream to read - byte buffer to fill - starting position to fill the buffer - number of bytes to read - The number of bytes read. May be less than count if no more bytes are available. - - - This method writes a C NULL terminated string to the network stream. - It appends a NULL terminator to the end of the String. - + - This method writes a C NULL terminated string to the network stream. - It appends a NULL terminator to the end of the String. - + Compares the two operands. +
- + - This method writes a set of bytes to the stream. It also enables logging of them. + Compares the two operands. - + - This method writes a C NULL terminated string limited in length to the - backend server. - It pads the string with null bytes to the size specified. - + Compares the two operands. +
- + - Write a 32-bit integer to the given stream in the correct byte order. + Compares the two operands. - + - Read a 32-bit integer from the given stream in the correct byte order. + Compares the two operands. - + - Write a 16-bit integer to the given stream in the correct byte order. + Interprets the bitstring as a series of bits in an encoded character string, + encoded according to the Encoding passed, and returns that string. + The bitstring must contain a whole number of octets(bytes) and also be + valid according to the Encoding passed. + The to use in producing the string. + The string that was encoded in the BitString. - + - Read a 16-bit integer from the given stream in the correct byte order. + Interprets the bitstring as a series of octets (bytes) and returns those octets. Fails + if the Bitstring does not contain a whole number of octets (its length is not evenly + divisible by 8). - + - Represent the frontend/backend protocol version. + Interprets the bitstring as a series of signed octets (bytes) and returns those octets. Fails + if the Bitstring does not contain a whole number of octets (its length is not evenly + divisible by 8). + This method is not CLS-Compliant and may not be available to languages that cannot + handle signed bytes. - + - Represent the backend server version. - As this class offers no functionality beyond that offered by it has been - deprecated in favour of that class. + Interprets the bitstring as a series of unsigned 16-bit integers and returns those integers. + Fails if the Bitstring's length is not evenly divisible by 16. + This method is not CLS-Compliant and may not be available to languages that cannot + handle unsigned integers. - - + - Returns the string representation of this version in three place dot notation (Major.Minor.Patch). + Interprets the bitstring as a series of 16-bit integers and returns those integers. + Fails if the Bitstring's length is not evenly divisible by 16. - + - Server version major number. + Interprets the bitstring as a series of unsigned 32-bit integers and returns those integers. + Fails if the Bitstring's length is not evenly divisible by 32. + This method is not CLS-Compliant and may not be available to languages that cannot + handle unsigned integers. - + - Server version minor number. + Interprets the bitstring as a series of signed 32-bit integers and returns those integers. + Fails if the Bitstring's length is not evenly divisible by 32. - + - Server version patch level number. + Interprets the bitstring as a series of unsigned 64-bit integers and returns those integers. + Fails if the Bitstring's length is not evenly divisible by 64. + This method is not CLS-Compliant and may not be available to languages that cannot + handle unsigned integers. - + - Represents a PostgreSQL COPY TO STDOUT operation with a corresponding SQL statement - to execute against a PostgreSQL database - and an associated stream used to write results to (if provided by user) - or for reading the results (when generated by driver). - Eg. new NpgsqlCopyOut("COPY (SELECT * FROM mytable) TO STDOUT", connection, streamToWrite).Start(); + Interprets the bitstring as a series of signed 64-bit integers and returns those integers. + Fails if the Bitstring's length is not evenly divisible by 64. - + - Creates NpgsqlCommand to run given query upon Start(), after which CopyStream provides data from database as requested in the query. + The length of the string. - + - Given command is run upon Start(), after which CopyStream provides data from database as requested in the query. + Retrieves the value of the bit at the given index. - - - Given command is executed upon Start() and all requested copy data is written to toStream immediately. + + + Represents the PostgreSQL interval datatype. + PostgreSQL differs from .NET in how it's interval type doesn't assume 24 hours in a day + (to deal with 23- and 25-hour days caused by daylight savings adjustments) and has a concept + of months that doesn't exist in .NET's class. (Neither datatype + has any concessions for leap-seconds). + For most uses just casting to and from TimeSpan will work correctly — in particular, + the results of subtracting one or the PostgreSQL date, time and + timestamp types from another should be the same whether you do so in .NET or PostgreSQL — + but if the handling of days and months in PostgreSQL is important to your application then you + should use this class instead of . + If you don't know whether these differences are important to your application, they + probably arent! Just use and do not use this class directly ☺ + To avoid forcing unnecessary provider-specific concerns on users who need not be concerned + with them a call to on a field containing an + value will return a rather than an + . If you need the extra functionality of + then use . + + + + + - + - Returns true if this operation is currently active and field at given location is in binary format. + Represents the number of ticks (100ns periods) in one microsecond. This field is constant. - + - Command specified upon creation is executed as a non-query. - If CopyStream is set upon creation, all copy data from server will be written to it, and operation will be finished immediately. - Otherwise the CopyStream member can be used for reading copy data from server until no more data is available. + Represents the number of ticks (100ns periods) in one millisecond. This field is constant. - + - Flush generated CopyStream at once. Effectively reads and discard all the rest of copy data from server. + Represents the number of ticks (100ns periods) in one second. This field is constant. - + - Returns true if the connection is currently reserved for this operation. + Represents the number of ticks (100ns periods) in one minute. This field is constant. - + - The stream provided by user or generated upon Start() + Represents the number of ticks (100ns periods) in one hour. This field is constant. - + - The Command used to execute this copy operation. + Represents the number of ticks (100ns periods) in one day. This field is constant. - + - Returns true if this operation is currently active and in binary format. + Represents the number of hours in one day (assuming no daylight savings adjustments). This field is constant. - + - Returns number of fields if this operation is currently active, otherwise -1 + Represents the number of days assumed in one month if month justification or unjustifcation is performed. + This is set to 30 for consistency with PostgreSQL. Note that this is means that month adjustments cause + a year to be taken as 30 × 12 = 360 rather than 356/366 days. - + - Faster alternative to using the generated CopyStream. + Represents the number of ticks (100ns periods) in one day, assuming 30 days per month. - + - This class manages all connector objects, pooled AND non-pooled. + Represents the number of months in a year. This field is constant. - - Unique static instance of the connector pool - mamager. - - - Map of index to unused pooled connectors, avaliable to the - next RequestConnector() call. - This hashmap will be indexed by connection string. - This key will hold a list of queues of pooled connectors available to be used. - - - Timer for tracking unused connections in pools. - - + - Searches the shared and pooled connector lists for a - matching connector object or creates a new one. + Represents the maximum . This field is read-only. - The NpgsqlConnection that is requesting - the connector. Its ConnectionString will be used to search the - pool for available connectors. - A connector object. - + - Find a pooled connector. Handle locking and timeout here. + Represents the minimum . This field is read-only. - + - Find a pooled connector. Handle shared/non-shared here. + Represents the zero . This field is read-only. - + - Releases a connector, possibly back to the pool for future use. + Initializes a new to the specified number of ticks. - - Pooled connectors will be put back into the pool if there is room. - Shared connectors should just have their use count decremented - since they always stay in the shared pool. - - The connector to release. + A time period expressed in 100ns units. - + - Release a pooled connector. Handle locking here. + Initializes a new to hold the same time as a + A time period expressed in a - + - Release a pooled connector. Handle shared/non-shared here. + Initializes a new to the specified number of months, days + & ticks. + Number of months. + Number of days. + Number of 100ns units. - + - Create a connector without any pooling functionality. + Initializes a new to the specified number of + days, hours, minutes & seconds. + Number of days. + Number of hours. + Number of minutes. + Number of seconds. - + - Find an available pooled connector in the non-shared pool, or create - a new one if none found. + Initializes a new to the specified number of + days, hours, minutes, seconds & milliseconds. + Number of days. + Number of hours. + Number of minutes. + Number of seconds. + Number of milliseconds. - + - This method is only called when NpgsqlConnection.Dispose(false) is called which means a - finalization. This also means, an NpgsqlConnection was leak. We clear pool count so that - client doesn't end running out of connections from pool. When the connection is finalized, its underlying - socket is closed. + Initializes a new to the specified number of + months, days, hours, minutes, seconds & milliseconds. + Number of months. + Number of days. + Number of hours. + Number of minutes. + Number of seconds. + Number of milliseconds. - + - Close the connector. + Initializes a new to the specified number of + years, months, days, hours, minutes, seconds & milliseconds. + Years are calculated exactly equivalent to 12 months. - - Connector to release + Number of years. + Number of months. + Number of days. + Number of hours. + Number of minutes. + Number of seconds. + Number of milliseconds. - + - Put a pooled connector into the pool queue. + Creates an from a number of ticks. - Connector to pool + The number of ticks (100ns units) in the interval. + A d with the given number of ticks. - + - A queue with an extra Int32 for keeping track of busy connections. + Creates an from a number of microseconds. + The number of microseconds in the interval. + A d with the given number of microseconds. - + - Connections available to the end user + Creates an from a number of milliseconds. + The number of milliseconds in the interval. + A d with the given number of milliseconds. - + - Connections currently in use + Creates an from a number of seconds. + The number of seconds in the interval. + A d with the given number of seconds. - + - This class represents a BackEndKeyData message received - from PostgreSQL + Creates an from a number of minutes. + The number of minutes in the interval. + A d with the given number of minutes. - + - Used when a connection is closed + Creates an from a number of hours. + The number of hours in the interval. + A d with the given number of hours. - + - Summary description for NpgsqlQuery + Creates an from a number of days. + The number of days in the interval. + A d with the given number of days. - + - Represents the method that handles the Notice events. + Creates an from a number of months. - A NpgsqlNoticeEventArgs that contains the event data. + The number of months in the interval. + A d with the given number of months. - + - Represents the method that handles the Notification events. + Adds another interval to this instance and returns the result. - The source of the event. - A NpgsqlNotificationEventArgs that contains the event data. + An to add to this instance. + An whose values are the sums of the two instances. - + - This class represents a connection to a - PostgreSQL server. + Subtracts another interval from this instance and returns the result. + An to subtract from this instance. + An whose values are the differences of the two instances. - + - Initializes a new instance of the - NpgsqlConnection class. + Returns an whose value is the negated value of this instance. + An whose value is the negated value of this instance. - + - Initializes a new instance of the - NpgsqlConnection class - and sets the ConnectionString. + This absolute value of this instance. In the case of some, but not all, components being negative, + the rules used for justification are used to determine if the instance is positive or negative. - The connection used to open the PostgreSQL database. + An whose value is the absolute value of this instance. - + - Begins a database transaction with the specified isolation level. + Equivalent to PostgreSQL's justify_days function. - The isolation level under which the transaction should run. - An DbTransaction - object representing the new transaction. - - Currently the IsolationLevel ReadCommitted and Serializable are supported by the PostgreSQL backend. - There's no support for nested transactions. - + An based on this one, but with any hours outside of the range [-23, 23] + converted into days. - + - Begins a database transaction. + Opposite to PostgreSQL's justify_days function. - A NpgsqlTransaction - object representing the new transaction. - - Currently there's no support for nested transactions. - + An based on this one, but with any days converted to multiples of ±24hours. - + - Begins a database transaction with the specified isolation level. + Equivalent to PostgreSQL's justify_months function. - The isolation level under which the transaction should run. - A NpgsqlTransaction - object representing the new transaction. - - Currently the IsolationLevel ReadCommitted and Serializable are supported by the PostgreSQL backend. - There's no support for nested transactions. - + An based on this one, but with any days outside of the range [-30, 30] + converted into months. - + - Opens a database connection with the property settings specified by the - ConnectionString. + Opposite to PostgreSQL's justify_months function. + An based on this one, but with any months converted to multiples of ±30days. - + - This method changes the current database by disconnecting from the actual - database and connecting to the specified. + Equivalent to PostgreSQL's justify_interval function. - The name of the database to use in place of the current database. + An based on this one, + but with any months converted to multiples of ±30days + and then with any days converted to multiples of ±24hours - + - Releases the connection to the database. If the connection is pooled, it will be - made available for re-use. If it is non-pooled, the actual connection will be shutdown. + Opposite to PostgreSQL's justify_interval function. + An based on this one, but with any months converted to multiples of ±30days and then any days converted to multiples of ±24hours; - + + - Creates and returns a DbCommand - object associated with the IDbConnection. + Implicit cast of a to an - A DbCommand object. + A + An eqivalent, canonical, . - + - Creates and returns a NpgsqlCommand - object associated with the NpgsqlConnection. + Implicit cast of an to a . - A NpgsqlCommand object. + A . + An equivalent . - + - Releases all resources used by the - NpgsqlConnection. + Returns true if another is exactly the same as this instance. - true when called from Dispose(); - false when being called from the finalizer. + An for comparison. + true if the two instances are exactly the same, + false otherwise. - + - Create a new connection based on this one. + Returns true if another object is an , that is exactly the same as + this instance - A new NpgsqlConnection object. + An for comparison. + true if the argument is an and is exactly the same + as this one, false otherwise. - + - Create a new connection based on this one. + Compares two instances. - A new NpgsqlConnection object. + The first . + The second . + 0 if the two are equal or equivalent. A value greater than zero if x is greater than y, + a value less than zero if x is less than y. - + - Default SSL CertificateSelectionCallback implementation. + A hash code suitable for uses with hashing algorithms. + An signed integer. - + - Default SSL CertificateValidationCallback implementation. + Compares this instance with another/ + An to compare this with. + 0 if the instances are equal or equivalent. A value less than zero if + this instance is less than the argument. A value greater than zero if this instance + is greater than the instance. - + - Default SSL PrivateKeySelectionCallback implementation. + Compares this instance with another/ + An object to compare this with. + 0 if the argument is an and the instances are equal or equivalent. + A value less than zero if the argument is an and + this instance is less than the argument. + A value greater than zero if the argument is an and this instance + is greater than the instance. + A value greater than zero if the argument is null. + The argument is not an . - + - Default SSL ProvideClientCertificatesCallback implementation. + Parses a and returns a instance. + Designed to use the formats generally returned by PostgreSQL. + The to parse. + An represented by the argument. + The string was null. + A value obtained from parsing the string exceeded the values allowed for the relevant component. + The string was not in a format that could be parsed to produce an . - + - Write each key/value pair in the connection string to the log. + Attempt to parse a to produce an . + The to parse. + (out) The produced, or if the parsing failed. + true if the parsing succeeded, false otherwise. - + - Returns the supported collections + Create a representation of the instance. + The format returned is of the form: + [M mon[s]] [d day[s]] [HH:mm:ss[.f[f[f[f[f[f[f[f[f]]]]]]]]]] + A zero is represented as 00:00:00 + + Ticks are 100ns, Postgress resolution is only to 1µs at most. Hence we lose 1 or more decimal + precision in storing values in the database. Despite this, this method will output that extra + digit of precision. It's forward-compatible with any future increases in resolution up to 100ns, + and also makes this ToString() more applicable to any other use-case. + + The representation. - + - Returns the schema collection specified by the collection name. + Adds two together. - The collection name. - The collection specified. + The first to add. + The second to add. + An whose values are the sum of the arguments. - + - Returns the schema collection specified by the collection name filtered by the restrictions. + Subtracts one from another. - The collection name. - - The restriction values to filter the results. A description of the restrictions is contained - in the Restrictions collection. - - The collection specified. + The to subtract the other from. + The to subtract from the other. + An whose values are the difference of the arguments - + - Occurs on NoticeResponses from the PostgreSQL backend. + Returns true if two are exactly the same. + The first to compare. + The second to compare. + true if the two arguments are exactly the same, false otherwise. - + - Occurs on NotificationResponses from the PostgreSQL backend. + Returns false if two are exactly the same. + The first to compare. + The second to compare. + false if the two arguments are exactly the same, true otherwise. - + - Called to provide client certificates for SSL handshake. + Compares two instances to see if the first is less than the second + The first to compare. + The second to compare. + true if the first is less than second, false otherwise. - + - Mono.Security.Protocol.Tls.CertificateSelectionCallback delegate. + Compares two instances to see if the first is less than or equivalent to the second + The first to compare. + The second to compare. + true if the first is less than or equivalent to second, false otherwise. - + - Mono.Security.Protocol.Tls.CertificateValidationCallback delegate. + Compares two instances to see if the first is greater than the second + The first to compare. + The second to compare. + true if the first is greater than second, false otherwise. - + - Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate. + Compares two instances to see if the first is greater than or equivalent the second + The first to compare. + The second to compare. + true if the first is greater than or equivalent to the second, false otherwise. - + - Gets or sets the string used to connect to a PostgreSQL database. - Valid values are: -
    -
  • - Server: Address/Name of Postgresql Server; -
  • -
  • - Port: Port to connect to; -
  • -
  • - Protocol: Protocol version to use, instead of automatic; Integer 2 or 3; -
  • -
  • - Database: Database name. Defaults to user name if not specified; -
  • -
  • - User Id: User name; -
  • -
  • - Password: Password for clear text authentication; -
  • -
  • - SSL: True or False. Controls whether to attempt a secure connection. Default = False; -
  • -
  • - Pooling: True or False. Controls whether connection pooling is used. Default = True; -
  • -
  • - MinPoolSize: Min size of connection pool; -
  • -
  • - MaxPoolSize: Max size of connection pool; -
  • -
  • - Timeout: Time to wait for connection open in seconds. Default is 15. -
  • -
  • - CommandTimeout: Time to wait for command to finish execution before throw an exception. In seconds. Default is 20. -
  • -
  • - Sslmode: Mode for ssl connection control. Can be Prefer, Require, Allow or Disable. Default is Disable. Check user manual for explanation of values. -
  • -
  • - ConnectionLifeTime: Time to wait before closing unused connections in the pool in seconds. Default is 15. -
  • -
  • - SyncNotification: Specifies if Npgsql should use synchronous notifications. -
  • -
  • - SearchPath: Changes search path to specified and public schemas. -
  • -
+ Returns the instance.
- The connection string that includes the server name, - the database name, and other parameters needed to establish - the initial connection. The default value is an empty string. - + An . + The argument.
- + - Backend server host name. + Negates an instance. + An . + The negation of the argument. - + - Backend server port. + The total number of ticks(100ns units) contained. This is the resolution of the + type. This ignores the number of days and + months held. If you want them included use first. + The resolution of the PostgreSQL + interval type is by default 1µs = 1,000 ns. It may be smaller as follows: + + + interval(0) + resolution of 1s (1 second) + + + interval(1) + resolution of 100ms = 0.1s (100 milliseconds) + + + interval(2) + resolution of 10ms = 0.01s (10 milliseconds) + + + interval(3) + resolution of 1ms = 0.001s (1 millisecond) + + + interval(4) + resolution of 100µs = 0.0001s (100 microseconds) + + + interval(5) + resolution of 10µs = 0.00001s (10 microseconds) + + + interval(6) or interval + resolution of 1µs = 0.000001s (1 microsecond) + + + As such, if the 100-nanosecond resolution is significant to an application, a PostgreSQL interval will + not suffice for those purposes. + In more frequent cases though, the resolution of the interval suffices. + will always suffice to handle the resolution of any interval value, and upon + writing to the database, will be rounded to the resolution used. + + The number of ticks in the instance. - + - If true, the connection will attempt to use SSL. + Gets the number of whole microseconds held in the instance. + An in the range [-999999, 999999]. - + - Gets the time to wait while trying to establish a connection - before terminating the attempt and generating an error. + Gets the number of whole milliseconds held in the instance. + An in the range [-999, 999]. - The time (in seconds) to wait for a connection to open. The default value is 15 seconds. - + - Gets the time to wait while trying to execute a command - before terminating the attempt and generating an error. + Gets the number of whole seconds held in the instance. + An in the range [-59, 59]. - The time (in seconds) to wait for a command to complete. The default value is 20 seconds. - + - Gets the time to wait before closing unused connections in the pool if the count - of all connections exeeds MinPoolSize. + Gets the number of whole minutes held in the instance. + An in the range [-59, 59]. - - If connection pool contains unused connections for ConnectionLifeTime seconds, - the half of them will be closed. If there will be unused connections in a second - later then again the half of them will be closed and so on. - This strategy provide smooth change of connection count in the pool. - - The time (in seconds) to wait. The default value is 15 seconds. - + - Gets the name of the current database or the database to be used after a connection is opened. - - The name of the current database or the name of the database to be - used after a connection is opened. The default value is the empty string. + Gets the number of whole hours held in the instance. + Note that this can be less than -23 or greater than 23 unless + has been used to produce this instance. +
- + - Whether datareaders are loaded in their entirety (for compatibility with earlier code). + Gets the number of days held in the instance. + Note that this does not pay attention to a time component with -24 or less hours or + 24 or more hours, unless has been called to produce this instance. - + - Gets the database server name. + Gets the number of months held in the instance. + Note that this does not pay attention to a day component with -30 or less days or + 30 or more days, unless has been called to produce this instance. - + - Gets flag indicating if we are using Synchronous notification or not. - The default value is false. + Returns a representing the time component of the instance. + Note that this may have a value beyond the range ±23:59:59.9999999 unless + has been called to produce this instance. - + - Gets the current state of the connection. + The total number of ticks (100ns units) in the instance, assuming 24 hours in each day and + 30 days in a month. - A bitwise combination of the ConnectionState values. The default is Closed. - + - Gets whether the current state of the connection is Open or Closed + The total number of microseconds in the instance, assuming 24 hours in each day and + 30 days in a month. - ConnectionState.Open or ConnectionState.Closed - + - Version of the PostgreSQL backend. - This can only be called when there is an active connection. + The total number of milliseconds in the instance, assuming 24 hours in each day and + 30 days in a month. - + - Protocol version in use. - This can only be called when there is an active connection. + The total number of seconds in the instance, assuming 24 hours in each day and + 30 days in a month. - + - Process id of backend server. - This can only be called when there is an active connection. + The total number of minutes in the instance, assuming 24 hours in each day and + 30 days in a month. - + - The connector object connected to the backend. + The total number of hours in the instance, assuming 24 hours in each day and + 30 days in a month. - + - Gets the NpgsqlConnectionStringBuilder containing the parsed connection string values. + The total number of days in the instance, assuming 24 hours in each day and + 30 days in a month. - + - User name. + The total number of months in the instance, assuming 24 hours in each day and + 30 days in a month. - + - Password. + Normalise this time; if it is 24:00:00, convert it to 00:00:00 + This time, normalised - + - Determine if connection pooling will be used for this connection. + The total number of ticks(100ns units) contained. This is the resolution of the + type. + The resolution of the PostgreSQL + interval type is by default 1µs = 1,000 ns. It may be smaller as follows: + + + time(0) + resolution of 1s (1 second) + + + time(1) + resolution of 100ms = 0.1s (100 milliseconds) + + + time(2) + resolution of 10ms = 0.01s (10 milliseconds) + + + time(3) + resolution of 1ms = 0.001s (1 millisecond) + + + time(4) + resolution of 100µs = 0.0001s (100 microseconds) + + + time(5) + resolution of 10µs = 0.00001s (10 microseconds) + + + time(6) or interval + resolution of 1µs = 0.000001s (1 microsecond) + + + As such, if the 100-nanosecond resolution is significant to an application, a PostgreSQL time will + not suffice for those purposes. + In more frequent cases though, the resolution of time suffices. + will always suffice to handle the resolution of any time value, and upon + writing to the database, will be rounded to the resolution used. + + The number of ticks in the instance. - - - This class represents the CancelRequest message sent to PostgreSQL - server. - - + + + Gets the number of whole microseconds held in the instance. + An integer in the range [0, 999999]. + - - - - - - - - - - - - - - - - A time period expressed in 100ns units. + + + Gets the number of whole milliseconds held in the instance. + An integer in the range [0, 999]. + - - A time period expressed in a + + + Gets the number of whole seconds held in the instance. + An interger in the range [0, 59]. + - - Number of 100ns units. - - - Number of seconds. - - - Number of milliseconds. - - - Number of milliseconds. - - - Number of milliseconds. - - - A d with the given number of ticks. - - - A d with the given number of microseconds. + + + Gets the number of whole minutes held in the instance. + An integer in the range [0, 59]. + - - A d with the given number of milliseconds. + + + Gets the number of whole hours held in the instance. + Note that the time 24:00:00 can be stored for roundtrip compatibility. Any calculations on such a + value will normalised it to 00:00:00. + - - A d with the given number of seconds. + + + Normalise this time; if it is 24:00:00, convert it to 00:00:00 + + This time, normalised - - A d with the given number of minutes. + + + Compares this with another . As per postgres' rules, + first the times are compared as if they were both in the same timezone. If they are equal then + then timezones are compared (+01:00 being "smaller" than -01:00). + + the to compare with. + An integer which is 0 if they are equal, < 0 if this is the smaller and > 0 if this is the larger. - - A d with the given number of hours. + + + Gets the number of whole microseconds held in the instance. + An integer in the range [0, 999999]. + - - A d with the given number of days. + + + Gets the number of whole milliseconds held in the instance. + An integer in the range [0, 999]. + - - A d with the given number of months. + + + Gets the number of whole seconds held in the instance. + An interger in the range [0, 59]. + - - An whose values are the sums of the two instances. + + + Gets the number of whole minutes held in the instance. + An integer in the range [0, 59]. + - - An whose values are the differences of the two instances. + + + Gets the number of whole hours held in the instance. + Note that the time 24:00:00 can be stored for roundtrip compatibility. Any calculations on such a + value will normalised it to 00:00:00. + - - An whose value is the negated value of this instance. + + + Summary description for LargeObjectManager. + - - An whose value is the absolute value of this instance. + + + Provide event handlers to convert all native supported basic data types from their backend + text representation to a .NET object. + - - - An based on this one, but with any days converted to multiples of ±24hours. + + + Binary data. + - - - An based on this one, but with any months converted to multiples of ±30days. + + + Convert a postgresql boolean to a System.Boolean. + - - - An based on this one, but with any months converted to multiples of ±30days and then any days converted to multiples of ±24hours; + + + Convert a postgresql bit to a System.Boolean. + - - - An eqivalent, canonical, . + + + Convert a postgresql datetime to a System.DateTime. + - - An equivalent . + + + Convert a postgresql date to a System.DateTime. + - - - - - An signed integer. + + + Convert a postgresql time to a System.DateTime. + - - - The argument is not an . + + + Convert a postgresql money to a System.Decimal. + - - The string was not in a format that could be parsed to produce an . + + + Provide event handlers to convert the basic native supported data types from + native form to backend representation. + - - true if the parsing succeeded, false otherwise. + + + Binary data. + - - The representation. + + + Convert to a postgresql boolean. + - - An whose values are the sum of the arguments. + + + Convert to a postgresql bit. + - - An whose values are the difference of the arguments + + + Convert to a postgresql timestamp. + - - true if the two arguments are exactly the same, false otherwise. + + + Convert to a postgresql date. + - - false if the two arguments are exactly the same, true otherwise. + + + Convert to a postgresql time. + - - true if the first is less than second, false otherwise. + + + Convert to a postgres money. + - - true if the first is less than or equivalent to second, false otherwise. + + + Convert to a postgres double with maximum precision. + - - true if the first is greater than second, false otherwise. + + + Provide event handlers to convert extended native supported data types from their backend + text representation to a .NET object. + - - true if the first is greater than or equivalent to the second, false otherwise. + + + Convert a postgresql point to a System.NpgsqlPoint. + - - The argument. + + + Convert a postgresql point to a System.RectangleF. + - - The negation of the argument. + + + LDeg. + - - - - - - - - - - - - - - - - - - - This time, normalised + + + Path. + - - - - - - - - This time, normalised + + + Polygon. + - - An integer which is 0 if they are equal, < 0 if this is the smaller and > 0 if this is the larger. + + + Circle. + - - - - - - + - A class to handle everything associated with SSPI authentication + Inet. - + - Simplified SecBufferDesc struct with only one SecBuffer + MAC Address. - - - This class represents the Parse message sent to PostgreSQL - server. - - + + + interval + - + - EventArgs class to send Notice parameters, which are just NpgsqlError's in a lighter context. + Provide event handlers to convert extended native supported data types from + native form to backend representation. - + - Notice information. + Point. - + - This class represents the ErrorResponse and NoticeResponse - message sent from PostgreSQL server. + Box. - + - Return a string representation of this error object. + LSeg. - + - Severity code. All versions. + Open path. - + - Error code. PostgreSQL 7.4 and up. + Polygon. - + + + Convert to a postgres MAC Address. + + + + + Circle. + + + + + Convert to a postgres inet. + + + + + Convert to a postgres interval + + + + + Represents a PostgreSQL Point type + + + + + Represents a PostgreSQL Line Segment type. + + + + + Represents a PostgreSQL Path type. + + + + + Represents a PostgreSQL Polygon type. + + + + + Represents a PostgreSQL Circle type. + + + + + Represents a PostgreSQL inet type. + + + + + Represents a PostgreSQL MacAddress type. + + + + + + + The macAddr parameter must contain a string that can only consist of numbers + and upper-case letters as hexadecimal digits. (See PhysicalAddress.Parse method on MSDN) + + + + This class contains helper methods for type conversion between + the .Net type system and postgresql. + + + + + A cache of basic datatype mappings keyed by server version. This way we don't + have to load the basic type mappings for every connection. + + + + + Find a NpgsqlNativeTypeInfo in the default types map that can handle objects + of the given NpgsqlDbType. + + + + + Find a NpgsqlNativeTypeInfo in the default types map that can handle objects + of the given NpgsqlDbType. + + + + + Find a NpgsqlNativeTypeInfo in the default types map that can handle objects + of the given DbType. + + + + + Find a NpgsqlNativeTypeInfo in the default types map that can handle objects + of the given System.Type. + + + + + This method is responsible to convert the string received from the backend + to the corresponding NpgsqlType. + The given TypeInfo is called upon to do the conversion. + If no TypeInfo object is provided, no conversion is performed. + + + + + Create the one and only native to backend type map. + This map is used when formatting native data + types to backend representations. + + + + + This method creates (or retrieves from cache) a mapping between type and OID + of all natively supported postgresql data types. + This is needed as from one version to another, this mapping can be changed and + so we avoid hardcoding them. + + NpgsqlTypeMapping containing all known data types. The mapping must be + cloned before it is modified because it is cached; changes made by one connection may + effect another connection. + + + + Attempt to map types by issuing a query against pg_type. + This function takes a list of NpgsqlTypeInfo and attempts to resolve the OID field + of each by querying pg_type. If the mapping is found, the type info object is + updated (OID) and added to the provided NpgsqlTypeMapping object. + + NpgsqlConnector to send query through. + Mapping object to add types too. + List of types that need to have OID's mapped. + + + + Delegate called to convert the given backend data to its native representation. + + + + + Delegate called to convert the given native data to its backand representation. + + + + + Represents a backend data type. + This class can be called upon to convert a backend field representation to a native object. + + + + + Construct a new NpgsqlTypeInfo with the given attributes and conversion handlers. + + Type OID provided by the backend server. + Type name provided by the backend server. + NpgsqlDbType + System type to convert fields of this type to. + Data conversion handler. + + + + Perform a data conversion from a backend representation to + a native object. + + Data sent from the backend. + Type modifier field sent from the backend. + + + + Type OID provided by the backend server. + + + + + Type name provided by the backend server. + + + + + NpgsqlDbType. + + + + + NpgsqlDbType. + + + + + Provider type to convert fields of this type to. + + + + + System type to convert fields of this type to. + + + + + Represents a backend data type. + This class can be called upon to convert a native object to its backend field representation, + + + + + Returns an NpgsqlNativeTypeInfo for an array where the elements are of the type + described by the NpgsqlNativeTypeInfo supplied. + + + + + Construct a new NpgsqlTypeInfo with the given attributes and conversion handlers. + + Type name provided by the backend server. + NpgsqlDbType + Data conversion handler. + + + + Perform a data conversion from a native object to + a backend representation. + DBNull and null values are handled differently depending if a plain query is used + When + + Native .NET object to be converted. + Flag indicating if the conversion has to be done for + plain queries or extended queries + + + + Type name provided by the backend server. + + + + + NpgsqlDbType. + + + + + DbType. + + + + + Apply quoting. + + + + + Use parameter size information. + + + + + Provide mapping between type OID, type name, and a NpgsqlBackendTypeInfo object that represents it. + + + + + Construct an empty mapping. + + + + + Copy constuctor. + + + + + Add the given NpgsqlBackendTypeInfo to this mapping. + + + + + Add a new NpgsqlBackendTypeInfo with the given attributes and conversion handlers to this mapping. + + Type OID provided by the backend server. + Type name provided by the backend server. + NpgsqlDbType + System type to convert fields of this type to. + Data conversion handler. + + + + Make a shallow copy of this type mapping. + + + + + Determine if a NpgsqlBackendTypeInfo with the given backend type OID exists in this mapping. + + + + + Determine if a NpgsqlBackendTypeInfo with the given backend type name exists in this mapping. + + + + + Get the number of type infos held. + + + + + Retrieve the NpgsqlBackendTypeInfo with the given backend type OID, or null if none found. + + + + + Retrieve the NpgsqlBackendTypeInfo with the given backend type name, or null if none found. + + + + + Provide mapping between type Type, NpgsqlDbType and a NpgsqlNativeTypeInfo object that represents it. + + + + + Add the given NpgsqlNativeTypeInfo to this mapping. + + + + + Add a new NpgsqlNativeTypeInfo with the given attributes and conversion handlers to this mapping. + + Type name provided by the backend server. + NpgsqlDbType + Data conversion handler. + + + + Retrieve the NpgsqlNativeTypeInfo with the given NpgsqlDbType. + + + + + Retrieve the NpgsqlNativeTypeInfo with the given DbType. + + + + + Retrieve the NpgsqlNativeTypeInfo with the given Type. + + + + + Determine if a NpgsqlNativeTypeInfo with the given backend type name exists in this mapping. + + + + + Determine if a NpgsqlNativeTypeInfo with the given NpgsqlDbType exists in this mapping. + + + + + Determine if a NpgsqlNativeTypeInfo with the given Type name exists in this mapping. + + + + + Get the number of type infos held. + + + + + Given a join expression and a projection, fetch all columns in the projection + that reference columns in the join. + + + + + Given an InputExpression append all from names (including nested joins) to the list. + + + + + Get new ColumnExpression that will be used in projection that had it's existing columns moved. + These should be simple references to the inner column + + + + + Every property accessed in the list of columns must be adjusted for a new scope + + + + + Set Cache Size. The default value is 20. + + + + + Lookup cached entity. null will returned if not match. + For both get{} and set{} apply LRU rule. + + key + + + + + Called from constructor of derived class. + + + + + Finalizer for HashAlgorithm + + + - Terse error message. All versions. + Computes the entire hash of all the bytes in the byte array. - + - Detailed error message. PostgreSQL 7.4 and up. + When overridden in a derived class, drives the hashing function. + + + - + - Suggestion to help resolve the error. PostgreSQL 7.4 and up. + When overridden in a derived class, this pads and hashes whatever data might be left in the buffers and then returns the hash created. - + - Position (one based) within the query string where the error was encounterd. PostgreSQL 7.4 and up. + When overridden in a derived class, initializes the object to prepare for hashing. - + - Position (one based) within the query string where the error was encounterd. This position refers to an internal command executed for example inside a PL/pgSQL function. PostgreSQL 7.4 and up. + Used for stream chaining. Computes hash as data passes through it. + The buffer from which to grab the data to be copied. + The offset into the input buffer to start reading at. + The number of bytes to be copied. + The buffer to write the copied data to. + At what point in the outputBuffer to write the data at. - + - Internal query string where the error was encounterd. This position refers to an internal command executed for example inside a PL/pgSQL function. PostgreSQL 7.4 and up. + Used for stream chaining. Computes hash as data passes through it. Finishes off the hash. + The buffer from which to grab the data to be copied. + The offset into the input buffer to start reading at. + The number of bytes to be copied. - + - Trace back information. PostgreSQL 7.4 and up. + Get whether or not the hash can transform multiple blocks at a time. + Note: MUST be overriden if descendant can transform multiple block + on a single call! - + - Source file (in backend) reporting the error. PostgreSQL 7.4 and up. + Gets the previously computed hash. - + - Source file line number (in backend) reporting the error. PostgreSQL 7.4 and up. + Returns the size in bits of the hash. - + - Source routine (in backend) reporting the error. PostgreSQL 7.4 and up. + Must be overriden if not 1 - + - String containing the sql sent which produced this error. + Must be overriden if not 1 - + - Backend protocol version in use. + Common base class for all derived MD5 implementations. - + - Represents an ongoing COPY TO STDOUT operation. - Provides methods to read data from server or end the operation. + Called from constructor of derived class. - - This class represents the base class for the state pattern design pattern - implementation. - - - - + - This method is used by the states to change the state of the context. - + Creates the default derived class. +
- + - This method is responsible to handle all protocol messages sent from the backend. - It holds all the logic to do it. - To exchange data, it uses a Mediator object from which it reads/writes information - to handle backend requests. - - + C# implementation of the MD5 cryptographic hash function. +
- + - This method is responsible to handle all protocol messages sent from the backend. - It holds all the logic to do it. - To exchange data, it uses a Mediator object from which it reads/writes information - to handle backend requests. - - + Creates a new MD5CryptoServiceProvider. +
- + - Called from NpgsqlState.ProcessBackendResponses upon CopyOutResponse. - If CopyStream is already set, it is used to write data received from server, after which the copy ends. - Otherwise CopyStream is set to a readable NpgsqlCopyOutStream that receives data from server. + Drives the hashing function. + Byte array containing the data to hash. + Where in the input buffer to start. + Size in bytes of the data in the buffer to hash. - + - Called from NpgsqlOutStream.Read to read copy data from server. + This finalizes the hash. Takes the data from the chaining variables and returns it. - + - Copy format information returned from server. + Resets the class after use. Called automatically after hashing is done. - + - Handles serialisation of .NET array or IEnumeration to pg format. - Arrays of arrays, enumerations of enumerations, arrays of enumerations etc. - are treated as multi-dimensional arrays (in much the same manner as an array of arrays - is used to emulate multi-dimensional arrays in languages that lack native support for them). - If such an enumeration of enumerations is "jagged" (as opposed to rectangular, cuboid, - hypercuboid, hyperhypercuboid, etc) then this class will "correctly" serialise it, but pg - will raise an error as it doesn't allow jagged arrays. + This is the meat of the hash function. It is what processes each block one at a time. + Byte array to process data from. + Where in the byte array to start processing. - + - Create an ArrayNativeToBackendTypeConverter with the element converter passed + Pads and then processes the final block. - The that would be used to serialise the element type. + Buffer to grab data from. + Position in buffer in bytes to get data from. + How much data in bytes in the buffer to use. - + - Serialise the enumeration or array. + Implements for version 3 of the protocol. - + - Handles parsing of pg arrays into .NET arrays. + Reads a row, field by field, allowing a DataRow to be built appropriately. - + - Takes a string representation of a pg 1-dimensional array - (or a 1-dimensional row within an n-dimensional array) - and allows enumeration of the string represenations of each items. + Marker interface which identifies a class which may take possession of a stream for the duration of + it's lifetime (possibly temporarily giving that possession to another class for part of that time. + + It inherits from IDisposable, since any such class must make sure it leaves the stream in a valid state. + + The most important such class is that compiler-generated from ProcessBackendResponsesEnum. Of course + we can't make that inherit from this interface, alas. - + + - Takes a string representation of a pg n-dimensional array - and allows enumeration of the string represenations of the next - lower level of rows (which in turn can be taken as (n-1)-dimensional arrays. + Reads part of a field, as needed (for + and - + - Takes an ArrayList which may be an ArrayList of ArrayLists, an ArrayList of ArrayLists of ArrayLists - and so on and enumerates the items that aren't ArrayLists (the leaf nodes if we think of the ArrayList - passed as a tree). Simply uses the ArrayLists' own IEnumerators to get that of the next, - pushing them onto a stack until we hit something that isn't an ArrayList. - ArrayList to enumerate - IEnumerable + Adds further functionality to stream that is dependant upon the type of data read. - + - Create a new ArrayBackendToNativeTypeConverter + Completes the implementation of Streamer for char data. - for the element type. - + - Creates an array from pg representation. + Completes the implementation of Streamer for byte data. - + - Creates an array list from pg represenation of an array. - Multidimensional arrays are treated as ArrayLists of ArrayLists + Implements for version 2 of the protocol. - + - Creates an n-dimensional array from an ArrayList of ArrayLists or - a 1-dimensional array from something else. + Encapsulates the null mapping bytes sent at the start of a version 2 + datarow message, and the process of identifying the nullity of the data + at a particular index - to convert - produced. - + - Takes an array of ints and treats them like the limits of a set of counters. - Retains a matching set of ints that is set to all zeros on the first ++ - On a ++ it increments the "right-most" int. If that int reaches it's - limit it is set to zero and the one before it is incremented, and so on. - - Making this a more general purpose class is pretty straight-forward, but we'll just put what we need here. + This class represents a BackEndKeyData message received + from PostgreSQL - + - This class represents the ParameterStatus message sent from PostgreSQL + This class represents the Bind message sent to PostgreSQL server. - - - This class is responsible for serving as bridge between the backend - protocol handling and the core classes. It is used as the mediator for - exchanging data generated/sent from/to backend. - - - - - - This class is responsible to create database commands for automatic insert, update and delete operations. - - - - - - This method is reponsible to derive the command parameter list with values obtained from function definition. - It clears the Parameters collection of command. Also, if there is any parameter type which is not supported by Npgsql, an InvalidOperationException will be thrown. - Parameters name will be parameter1, parameter2, ... - For while, only parameter name and NpgsqlDbType are obtained. - - NpgsqlCommand whose function parameters will be obtained. - - + - Represents a completed response message. + For classes representing messages sent from the client to the server. - - - - Marker interface which identifies a class which may take possession of a stream for the duration of - it's lifetime (possibly temporarily giving that possession to another class for part of that time. - - It inherits from IDisposable, since any such class must make sure it leaves the stream in a valid state. + + + This class represents the CancelRequest message sent to PostgreSQL + server. + - The most important such class is that compiler-generated from ProcessBackendResponsesEnum. Of course - we can't make that inherit from this interface, alas. - - - - The exception that is thrown when the PostgreSQL backend reports errors. - + + This class represents the base class for the state pattern design pattern + implementation. + + - + - Construct a backend error exception based on a list of one or more - backend errors. The basic Exception.Message will be built from the - first (usually the only) error in the list. - + This method is used by the states to change the state of the context. +
- + - Format a .NET style exception string. - Include all errors in the list, including any hints. - + This method is responsible to handle all protocol messages sent from the backend. + It holds all the logic to do it. + To exchange data, it uses a Mediator object from which it reads/writes information + to handle backend requests. +
+
- + - Append a line to the given Stream, first checking for zero-length. - + This method is responsible to handle all protocol messages sent from the backend. + It holds all the logic to do it. + To exchange data, it uses a Mediator object from which it reads/writes information + to handle backend requests. +
+
- + - Provide access to the entire list of errors provided by the PostgreSQL backend. + Checks for context socket availability. + Socket.Poll supports integer as microseconds parameter. + This limits the usable command timeout value + to 2,147 seconds: (2,147 x 1,000,000 less than max_int). + In order to bypass this limit, the availability of + the socket is checked in 2,147 seconds cycles + true, if for context socket availability was checked, false otherwise. + Context. + Select mode. - + - Severity code. All versions. + Resolve a host name or IP address. + This is needed because if you call Dns.Resolve() with an IP address, it will attempt + to resolve it as a host name, when it should just convert it to an IP address. + - + - Error code. PostgreSQL 7.4 and up. + Represents a SQL statement or function (stored procedure) to execute + against a PostgreSQL database. This class cannot be inherited. - + - Basic error message. All versions. + Initializes a new instance of the NpgsqlCommand class. - + - Detailed error message. PostgreSQL 7.4 and up. + Initializes a new instance of the NpgsqlCommand class with the text of the query. + The text of the query. - + - Suggestion to help resolve the error. PostgreSQL 7.4 and up. + Initializes a new instance of the NpgsqlCommand class with the text of the query and a NpgsqlConnection. + The text of the query. + A NpgsqlConnection that represents the connection to a PostgreSQL server. - + - Position (one based) within the query string where the error was encounterd. PostgreSQL 7.4 and up. + Initializes a new instance of the NpgsqlCommand class with the text of the query, a NpgsqlConnection, and the NpgsqlTransaction. + The text of the query. + A NpgsqlConnection that represents the connection to a PostgreSQL server. + The NpgsqlTransaction in which the NpgsqlCommand executes. - + - Trace back information. PostgreSQL 7.4 and up. + Used to execute internal commands. - + - Source file (in backend) reporting the error. PostgreSQL 7.4 and up. + Attempts to cancel the execution of a NpgsqlCommand. + This Method isn't implemented yet. - + - Source file line number (in backend) reporting the error. PostgreSQL 7.4 and up. + Create a new command based on this one. + A new NpgsqlCommand object. - + - Source routine (in backend) reporting the error. PostgreSQL 7.4 and up. + Create a new command based on this one. + A new NpgsqlCommand object. - + - String containing the sql sent which produced this error. + Creates a new instance of an DbParameter object. + An DbParameter object. - + - Returns the entire list of errors provided by the PostgreSQL backend. + Creates a new instance of a NpgsqlParameter object. + A NpgsqlParameter object. - + - The level of verbosity of the NpgsqlEventLog + Slightly optimised version of ExecuteNonQuery() for internal ues in cases where the number + of affected rows is of no interest. - + - Don't log at all + Executes a SQL statement against the connection and returns the number of rows affected. + The number of rows affected if known; -1 otherwise. - + - Only log the most common issues + Sends the CommandText to + the Connection and builds a + NpgsqlDataReader + using one of the CommandBehavior values. + One of the CommandBehavior values. + A NpgsqlDataReader object. - + - Log everything + Sends the CommandText to + the Connection and builds a + NpgsqlDataReader. + A NpgsqlDataReader object. - + - This class handles all the Npgsql event and debug logging + Sends the CommandText to + the Connection and builds a + NpgsqlDataReader + using one of the CommandBehavior values. + One of the CommandBehavior values. + A NpgsqlDataReader object. + Currently the CommandBehavior parameter is ignored. - + - Writes a string to the Npgsql event log if msglevel is bigger then NpgsqlEventLog.Level - - - This method is obsolete and should no longer be used. - It is likely to be removed in future versions of Npgsql - - The message to write to the event log - The minimum LogLevel for which this message should be logged. + This method binds the parameters from parameters collection to the bind + message. + - + - Writes a string to the Npgsql event log if msglevel is bigger then NpgsqlEventLog.Level + Executes the query, and returns the first column of the first row + in the result set returned by the query. Extra columns or rows are ignored. - The ResourceManager to get the localized resources - The name of the resource that should be fetched by the ResourceManager - The minimum LogLevel for which this message should be logged. - The additional parameters that shall be included into the log-message (must be compatible with the string in the resource): + The first column of the first row in the result set, + or a null reference if the result set is empty. - + - Writes the default log-message for the action of calling the Get-part of an Indexer to the log file. + Creates a prepared version of the command on a PostgreSQL server. - The minimum LogLevel for which this message should be logged. - The name of the class that contains the Indexer - The parameter given to the Indexer - + - Writes the default log-message for the action of calling the Set-part of an Indexer to the logfile. + This method checks the connection state to see if the connection + is set or it is open. If one of this conditions is not met, throws + an InvalidOperationException - The minimum LogLevel for which this message should be logged. - The name of the class that contains the Indexer - The parameter given to the Indexer - The value the Indexer is set to - + - Writes the default log-message for the action of calling the Get-part of a Property to the logfile. + This method substitutes the Parameters, if exist, in the command + to their actual values. + The parameter name format is :ParameterName. - The minimum LogLevel for which this message should be logged. - The name of the class that contains the Property - The name of the Property + A version of CommandText with the Parameters inserted. - + - Writes the default log-message for the action of calling the Set-part of a Property to the logfile. + Gets or sets the SQL statement or function (stored procedure) to execute at the data source. - The minimum LogLevel for which this message should be logged. - The name of the class that contains the Property - The name of the Property - The value the Property is set to + The Transact-SQL statement or stored procedure to execute. The default is an empty string. - + - Writes the default log-message for the action of calling a Method without Arguments to the logfile. + Gets or sets the wait time before terminating the attempt + to execute a command and generating an error. - The minimum LogLevel for which this message should be logged. - The name of the class that contains the Method - The name of the Method + The time (in seconds) to wait for the command to execute. + The default is 20 seconds. - + - Writes the default log-message for the action of calling a Method with one Argument to the logfile. + Gets or sets a value indicating how the + CommandText property is to be interpreted. - The minimum LogLevel for which this message should be logged. - The name of the class that contains the Method - The name of the Method - The value of the Argument of the Method + One of the CommandType values. The default is CommandType.Text. - + - Writes the default log-message for the action of calling a Method with two Arguments to the logfile. + Gets or sets the NpgsqlConnection + used by this instance of the NpgsqlCommand. - The minimum LogLevel for which this message should be logged. - The name of the class that contains the Method - The name of the Method - The value of the first Argument of the Method - The value of the second Argument of the Method + The connection to a data source. The default value is a null reference. - + - Writes the default log-message for the action of calling a Method with three Arguments to the logfile. + Gets the NpgsqlParameterCollection. - The minimum LogLevel for which this message should be logged. - The name of the class that contains the Method - The name of the Method - The value of the first Argument of the Method - The value of the second Argument of the Method - The value of the third Argument of the Method + The parameters of the SQL statement or function (stored procedure). The default is an empty collection. - + - Writes the default log-message for the action of calling a Method with more than three Arguments to the logfile. + Gets or sets the NpgsqlTransaction + within which the NpgsqlCommand executes. - The minimum LogLevel for which this message should be logged. - The name of the class that contains the Method - The name of the Method - A Object-Array with zero or more Ojects that are Arguments of the Method. - - - - Sets/Returns the level of information to log to the logfile. - - The current LogLevel - - - - Sets/Returns the filename to use for logging. - - The filename of the current Log file. + The NpgsqlTransaction. + The default value is a null reference. - + - Sets/Returns whether Log messages should be echoed to the console - - true if Log messages are echoed to the console, otherwise false - - - - This class represents the Parse message sent to PostgreSQL - server. - - + Gets or sets how command results are applied to the DataRow + when used by the Update + method of the DbDataAdapter. + + One of the UpdateRowSource values. - + - Represents a PostgreSQL COPY FROM STDIN operation with a corresponding SQL statement - to execute against a PostgreSQL database - and an associated stream used to read data from (if provided by user) - or for writing it (when generated by driver). - Eg. new NpgsqlCopyIn("COPY mytable FROM STDIN", connection, streamToRead).Start(); + Returns oid of inserted row. This is only updated when using executenonQuery and when command inserts just a single row. If table is created without oids, this will always be 0. - + - Creates NpgsqlCommand to run given query upon Start(). Data for the requested COPY IN operation can then be written to CopyData stream followed by a call to End() or Cancel(). + This class is responsible to create database commands for automatic insert, update and delete operations. - + - Given command is run upon Start(). Data for the requested COPY IN operation can then be written to CopyData stream followed by a call to End() or Cancel(). + + This method is reponsible to derive the command parameter list with values obtained from function definition. + It clears the Parameters collection of command. Also, if there is any parameter type which is not supported by Npgsql, an InvalidOperationException will be thrown. + Parameters name will be parameter1, parameter2, ... + For while, only parameter name and NpgsqlDbType are obtained. + NpgsqlCommand whose function parameters will be obtained. - + - Given command is executed upon Start() and all data from fromStream is passed to it as copy data. + Represents the method that handles the Notice events. + A NpgsqlNoticeEventArgs that contains the event data. - + - Returns true if this operation is currently active and field at given location is in binary format. + Represents the method that handles the Notification events. + The source of the event. + A NpgsqlNotificationEventArgs that contains the event data. - + - Command specified upon creation is executed as a non-query. - If CopyStream is set upon creation, it will be flushed to server as copy data, and operation will be finished immediately. - Otherwise the CopyStream member can be used for writing copy data to server and operation finished with a call to End() or Cancel(). + This class represents a connection to a + PostgreSQL server. - + - Called after writing all data to CopyStream to successfully complete this copy operation. + Initializes a new instance of the + NpgsqlConnection class. - + - Withdraws an already started copy operation. The operation will fail with given error message. - Will do nothing if current operation is not active. + Initializes a new instance of the + NpgsqlConnection class + and sets the ConnectionString. + The connection used to open the PostgreSQL database. - + - Returns true if the connection is currently reserved for this operation. + Begins a database transaction with the specified isolation level. + The isolation level under which the transaction should run. + An DbTransaction + object representing the new transaction. + + Currently the IsolationLevel ReadCommitted and Serializable are supported by the PostgreSQL backend. + There's no support for nested transactions. + - + - The stream provided by user or generated upon Start(). - User may provide a stream to constructor; it is used to pass to server all data read from it. - Otherwise, call to Start() sets this to a writable NpgsqlCopyInStream that passes all data written to it to server. - In latter case this is only available while the copy operation is active and null otherwise. + Begins a database transaction. + A NpgsqlTransaction + object representing the new transaction. + + Currently there's no support for nested transactions. + - + - Returns true if this operation is currently active and in binary format. + Begins a database transaction with the specified isolation level. + The isolation level under which the transaction should run. + A NpgsqlTransaction + object representing the new transaction. + + Currently the IsolationLevel ReadCommitted and Serializable are supported by the PostgreSQL backend. + There's no support for nested transactions. + - + - Returns number of fields expected on each input row if this operation is currently active, otherwise -1 + Opens a database connection with the property settings specified by the + ConnectionString. - + - The Command used to execute this copy operation. + This method changes the current database by disconnecting from the actual + database and connecting to the specified. + The name of the database to use in place of the current database. - + - Set before a COPY IN query to define size of internal buffer for reading from given CopyStream. + Releases the connection to the database. If the connection is pooled, it will be + made available for re-use. If it is non-pooled, the actual connection will be shutdown. - + - Represents information about COPY operation data transfer format as returned by server. + Creates and returns a DbCommand + object associated with the IDbConnection. + A DbCommand object. - + - Only created when a CopyInResponse or CopyOutResponse is received by NpgsqlState.ProcessBackendResponses() + Creates and returns a NpgsqlCommand + object associated with the NpgsqlConnection. + A NpgsqlCommand object. - + - Returns true if this operation is currently active and field at given location is in binary format. + Releases all resources used by the + NpgsqlConnection. + true when called from Dispose(); + false when being called from the finalizer. - + - Returns true if this operation is currently active and in binary format. + Create a new connection based on this one. + A new NpgsqlConnection object. - + - Returns number of fields if this operation is currently active, otherwise -1 + Create a new connection based on this one. + A new NpgsqlConnection object. - - - + + + Default SSL CertificateSelectionCallback implementation. + - + - Provide event handlers to convert all native supported basic data types from their backend - text representation to a .NET object. + Default SSL CertificateValidationCallback implementation. - + - Binary data. + Default SSL PrivateKeySelectionCallback implementation. - + - Convert a postgresql boolean to a System.Boolean. + Default SSL ProvideClientCertificatesCallback implementation. - + - Convert a postgresql bit to a System.Boolean. + Write each key/value pair in the connection string to the log. - + - Convert a postgresql datetime to a System.DateTime. + Returns the supported collections - + - Convert a postgresql date to a System.DateTime. + Returns the schema collection specified by the collection name. + The collection name. + The collection specified. - + - Convert a postgresql time to a System.DateTime. + Returns the schema collection specified by the collection name filtered by the restrictions. + The collection name. + + The restriction values to filter the results. A description of the restrictions is contained + in the Restrictions collection. + + The collection specified. - + - Convert a postgresql money to a System.Decimal. + Occurs on NoticeResponses from the PostgreSQL backend. - + - Provide event handlers to convert the basic native supported data types from - native form to backend representation. + Occurs on NotificationResponses from the PostgreSQL backend. - + - Binary data. + Called to provide client certificates for SSL handshake. - + - Convert to a postgresql boolean. + Mono.Security.Protocol.Tls.CertificateSelectionCallback delegate. - + - Convert to a postgresql bit. + Mono.Security.Protocol.Tls.CertificateValidationCallback delegate. - + - Convert to a postgresql timestamp. + Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate. - + - Convert to a postgresql date. + Gets or sets the string used to connect to a PostgreSQL database. + Valid values are: +
    +
  • + Server: Address/Name of Postgresql Server; +
  • +
  • + Port: Port to connect to; +
  • +
  • + Protocol: Protocol version to use, instead of automatic; Integer 2 or 3; +
  • +
  • + Database: Database name. Defaults to user name if not specified; +
  • +
  • + User Id: User name; +
  • +
  • + Password: Password for clear text authentication; +
  • +
  • + SSL: True or False. Controls whether to attempt a secure connection. Default = False; +
  • +
  • + Pooling: True or False. Controls whether connection pooling is used. Default = True; +
  • +
  • + MinPoolSize: Min size of connection pool; +
  • +
  • + MaxPoolSize: Max size of connection pool; +
  • +
  • + Timeout: Time to wait for connection open in seconds. Default is 15. +
  • +
  • + CommandTimeout: Time to wait for command to finish execution before throw an exception. In seconds. Default is 20. +
  • +
  • + Sslmode: Mode for ssl connection control. Can be Prefer, Require, Allow or Disable. Default is Disable. Check user manual for explanation of values. +
  • +
  • + ConnectionLifeTime: Time to wait before closing unused connections in the pool in seconds. Default is 15. +
  • +
  • + SyncNotification: Specifies if Npgsql should use synchronous notifications. +
  • +
  • + SearchPath: Changes search path to specified and public schemas. +
  • +
+ The connection string that includes the server name, + the database name, and other parameters needed to establish + the initial connection. The default value is an empty string. +
- + - Convert to a postgresql time. + Backend server host name. - + - Convert to a postgres money. + Backend server port. - + - Convert to a postgres double with maximum precision. + If true, the connection will attempt to use SSL. - + - Provide event handlers to convert extended native supported data types from their backend - text representation to a .NET object. + Gets the time to wait while trying to establish a connection + before terminating the attempt and generating an error. + The time (in seconds) to wait for a connection to open. The default value is 15 seconds. - + - Convert a postgresql point to a System.NpgsqlPoint. + Gets the time to wait while trying to execute a command + before terminating the attempt and generating an error. + The time (in seconds) to wait for a command to complete. The default value is 20 seconds. - + - Convert a postgresql point to a System.RectangleF. + Gets the time to wait before closing unused connections in the pool if the count + of all connections exeeds MinPoolSize. + + If connection pool contains unused connections for ConnectionLifeTime seconds, + the half of them will be closed. If there will be unused connections in a second + later then again the half of them will be closed and so on. + This strategy provide smooth change of connection count in the pool. + + The time (in seconds) to wait. The default value is 15 seconds. - + - LDeg. - + Gets the name of the current database or the database to be used after a connection is opened. + + The name of the current database or the name of the database to be + used after a connection is opened. The default value is the empty string. - + - Path. + Whether datareaders are loaded in their entirety (for compatibility with earlier code). - + - Polygon. + Gets the database server name. - + - Circle. + Gets flag indicating if we are using Synchronous notification or not. + The default value is false. - + - Inet. + Gets the current state of the connection. + A bitwise combination of the ConnectionState values. The default is Closed. - + - MAC Address. + Gets whether the current state of the connection is Open or Closed + ConnectionState.Open or ConnectionState.Closed - + - interval + Version of the PostgreSQL backend. + This can only be called when there is an active connection. - + - Provide event handlers to convert extended native supported data types from - native form to backend representation. + Protocol version in use. + This can only be called when there is an active connection. - + - Point. + Process id of backend server. + This can only be called when there is an active connection. - + - Box. + The connector object connected to the backend. - + - LSeg. + Gets the NpgsqlConnectionStringBuilder containing the parsed connection string values. - + - Open path. + User name. - + - Polygon. + Password. - + - Convert to a postgres MAC Address. + Determine if connection pooling will be used for this connection. - + - Circle. + Return an exact copy of this NpgsqlConnectionString. - + - Convert to a postgres inet. + This function will set value for known key, both private member and base[key]. + + - + - Convert to a postgres interval + The function will modify private member only, not base[key]. + + - + - EventArgs class to send Notification parameters. + Clear the member and assign them to the default value. - + - Process ID of the PostgreSQL backend that sent this notification. + Compatibilty version. When possible, behaviour caused by breaking changes will be preserved + if this version is less than that where the breaking change was introduced. - + - Condition that triggered that notification. + Case insensative accessor for indivual connection string values. - + - Additional Information From Notifiying Process (for future use, currently postgres always sets this to an empty string) + Represents the method that allows the application to provide a certificate collection to be used for SSL clien authentication + A X509CertificateCollection to be filled with one or more client certificates. - + - Resolve a host name or IP address. - This is needed because if you call Dns.Resolve() with an IP address, it will attempt - to resolve it as a host name, when it should just convert it to an IP address. + !!! Helper class, for compilation only. + Connector implements the logic for the Connection Objects to + access the physical connection to the database, and isolate + the application developer from connection pooling internals. - - - - This class represents a RowDescription message sent from - the PostgreSQL. - - - - + - This struct represents the internal data of the RowDescription message. + Constructor. + Controls whether the connector can be shared. - - - This class represents the Parse message sent to PostgreSQL - server. - - - - + - A factory to create instances of various Npgsql objects. + This method checks if the connector is still ok. + We try to send a simple query text, select 1 as ConnectionTest; - + - Creates an NpgsqlCommand object. + This method is responsible for releasing all resources associated with this Connector. - - - This class represents the Parse message sent to PostgreSQL - server. - - - - + - Represents the method that handles the RowUpdated events. + This method is responsible to release all portals used by this Connector. - The source of the event. - A NpgsqlRowUpdatedEventArgs that contains the event data. - + - Represents the method that handles the RowUpdating events. + Default SSL CertificateSelectionCallback implementation. - The source of the event. - A NpgsqlRowUpdatingEventArgs that contains the event data. - + - This class represents an adapter from many commands: select, update, insert and delete to fill Datasets. + Default SSL CertificateValidationCallback implementation. - + - Stream for reading data from a table or select on a PostgreSQL version 7.4 or newer database during an active COPY TO STDOUT operation. - Passes data exactly as provided by the server. + Default SSL PrivateKeySelectionCallback implementation. - + - Created only by NpgsqlCopyOutState.StartCopy() + Default SSL ProvideClientCertificatesCallback implementation. - + - Discards copy data as long as server pushes it. Returns after operation is finished. - Does nothing if this stream is not the active copy operation reader. + This method is required to set all the version dependent features flags. + SupportsPrepare means the server can use prepared query plans (7.3+) - + - Not writable. + Opens the physical connection to the server. + Usually called by the RequestConnector + Method of the connection pool manager. - + - Not flushable. + Closes the physical connection to the server. - + - Copies data read from server to given byte buffer. - Since server returns data row by row, length will differ each time, but it is only zero once the operation ends. - Can be mixed with calls to the more efficient NpgsqlCopyOutStream.Read() : byte[] though that would not make much sense. + Returns next portal index. - + - Not seekable + Returns next plan index. - + - Not supported + Occurs on NoticeResponses from the PostgreSQL backend. - + - Returns a whole row of data from server without extra work. - If standard Stream.Read(...) has been called before, it's internal buffers remains are returned. + Occurs on NotificationResponses from the PostgreSQL backend. - + - True while this stream can be used to read copy data from server + Called to provide client certificates for SSL handshake. - + - True + Mono.Security.Protocol.Tls.CertificateSelectionCallback delegate. - + - False + Mono.Security.Protocol.Tls.CertificateValidationCallback delegate. - + - False + Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate. - + - Number of bytes read so far + Gets the current state of the connection. - + - Number of bytes read so far; can not be set. + Return Connection String. - - - This class represents the Bind message sent to PostgreSQL - server. - - - - + - Summary description for LargeObjectManager. + Version of backend server this connector is connected to. - + - Represents a transaction to be made in a PostgreSQL database. This class cannot be inherited. + Backend protocol version in use by this connector. - + - Commits the database transaction. + The physical connection stream to the backend. - + - Rolls back a transaction from a pending state. + The physical connection socket to the backend. - + - Rolls back a transaction from a pending savepoint state. + Reports if this connector is fully connected. - + - Creates a transaction save point. + The connection mediator. - + - Cancel the transaction without telling the backend about it. This is - used to make the transaction go away when closing a connection. + Report if the connection is in a transaction. - + - Gets the NpgsqlConnection - object associated with the transaction, or a null reference if the - transaction is no longer valid. + Report whether the current connection can support prepare functionality. - The NpgsqlConnection - object associated with the transaction. - + - Specifies the IsolationLevel for this transaction. + This class manages all connector objects, pooled AND non-pooled. - The IsolationLevel for this transaction. - The default is ReadCommitted. - - - This class represents a StartupPacket message of PostgreSQL - protocol. - - + + Unique static instance of the connector pool + mamager. - - - Provides a means of reading a forward-only stream of rows from a PostgreSQL backend. This class cannot be inherited. - + + Map of index to unused pooled connectors, avaliable to the + next RequestConnector() call. + This hashmap will be indexed by connection string. + This key will hold a list of queues of pooled connectors available to be used. - + + Timer for tracking unused connections in pools. + + - Return the data type name of the column at index . + Searches the shared and pooled connector lists for a + matching connector object or creates a new one. + The NpgsqlConnection that is requesting + the connector. Its ConnectionString will be used to search the + pool for available connectors. + A connector object. - + - Return the data type of the column at index . + Find a pooled connector. Handle locking and timeout here. - + - Return the Npgsql specific data type of the column at requested ordinal. + Find a pooled connector. Handle shared/non-shared here. - column position - Appropriate Npgsql type for column. - + - Return the column name of the column at index . + Releases a connector, possibly back to the pool for future use. + + Pooled connectors will be put back into the pool if there is room. + Shared connectors should just have their use count decremented + since they always stay in the shared pool. + + The connector to release. - + - Return the data type OID of the column at index . + Release a pooled connector. Handle locking here. - FIXME: Why this method returns String? - + - Return the column name of the column named . + Release a pooled connector. Handle shared/non-shared here. - + - Return the data DbType of the column at index . + Create a connector without any pooling functionality. - + - Return the data NpgsqlDbType of the column at index . + Find an available pooled connector in the non-shared pool, or create + a new one if none found. - + - Get the value of a column as a . - If the differences between and - in handling of days and months is not important to your application, use - instead. + This method is only called when NpgsqlConnection.Dispose(false) is called which means a + finalization. This also means, an NpgsqlConnection was leak. We clear pool count so that + client doesn't end running out of connections from pool. When the connection is finalized, its underlying + socket is closed. - Index of the field to find. - value of the field. - + - Gets the value of a column converted to a Guid. + Close the connector. + + Connector to release - + - Gets the value of a column as Int16. + Put a pooled connector into the pool queue. + Connector to pool - + - Gets the value of a column as Int32. + A queue with an extra Int32 for keeping track of busy connections. - + - Gets the value of a column as Int64. + Connections available to the end user - + - Gets the value of a column as Single. + Connections currently in use - + - Gets the value of a column as Double. + Represents information about COPY operation data transfer format as returned by server. - + - Gets the value of a column as String. + Only created when a CopyInResponse or CopyOutResponse is received by NpgsqlState.ProcessBackendResponses() - + - Gets the value of a column as Decimal. + Returns true if this operation is currently active and field at given location is in binary format. - + - Gets the value of a column as TimeSpan. + Returns true if this operation is currently active and in binary format. - + - Copy values from each column in the current row into . + Returns number of fields if this operation is currently active, otherwise -1 - The number of column values copied. - + - Copy values from each column in the current row into . + Represents a PostgreSQL COPY FROM STDIN operation with a corresponding SQL statement + to execute against a PostgreSQL database + and an associated stream used to read data from (if provided by user) + or for writing it (when generated by driver). + Eg. new NpgsqlCopyIn("COPY mytable FROM STDIN", connection, streamToRead).Start(); - An array appropriately sized to store values from all columns. - The number of column values copied. - + - Gets the value of a column as Boolean. + Creates NpgsqlCommand to run given query upon Start(). Data for the requested COPY IN operation can then be written to CopyData stream followed by a call to End() or Cancel(). - + - Gets the value of a column as Byte. Not implemented. + Given command is run upon Start(). Data for the requested COPY IN operation can then be written to CopyData stream followed by a call to End() or Cancel(). - + - Gets the value of a column as Char. + Given command is executed upon Start() and all data from fromStream is passed to it as copy data. - + - Gets the value of a column as DateTime. + Returns true if this operation is currently active and field at given location is in binary format. - + - Returns a System.Data.DataTable that describes the column metadata of the DataReader. + Command specified upon creation is executed as a non-query. + If CopyStream is set upon creation, it will be flushed to server as copy data, and operation will be finished immediately. + Otherwise the CopyStream member can be used for writing copy data to server and operation finished with a call to End() or Cancel(). - + - This methods parses the command text and tries to get the tablename - from it. + Called after writing all data to CopyStream to successfully complete this copy operation. - + - Is raised whenever Close() is called. + Withdraws an already started copy operation. The operation will fail with given error message. + Will do nothing if current operation is not active. - + - Gets the number of columns in the current row. + Returns true if the connection is currently reserved for this operation. - + - Gets the value of a column in its native format. + The stream provided by user or generated upon Start(). + User may provide a stream to constructor; it is used to pass to server all data read from it. + Otherwise, call to Start() sets this to a writable NpgsqlCopyInStream that passes all data written to it to server. + In latter case this is only available while the copy operation is active and null otherwise. - + - Gets the value of a column in its native format. + Returns true if this operation is currently active and in binary format. - + - Gets a value indicating the depth of nesting for the current row. Always returns zero. + Returns number of fields expected on each input row if this operation is currently active, otherwise -1 - + - Gets a value indicating whether the data reader is closed. + The Command used to execute this copy operation. - + - Contains the column names as the keys + Set before a COPY IN query to define size of internal buffer for reading from given CopyStream. - + - Contains all unique columns + Represents an ongoing COPY FROM STDIN operation. + Provides methods to push data to server and end or cancel the operation. - + - This is the primary implementation of NpgsqlDataReader. It is the one used in normal cases (where the - preload-reader option is not set in the connection string to resolve some potential backwards-compatibility - issues), the only implementation used internally, and in cases where CachingDataReader is used, it is still - used to do the actual "leg-work" of turning a response stream from the server into a datareader-style - object - with CachingDataReader then filling it's cache from here. + Called from NpgsqlState.ProcessBackendResponses upon CopyInResponse. + If CopyStream is already set, it is used to read data to push to server, after which the copy is completed. + Otherwise CopyStream is set to a writable NpgsqlCopyInStream that calls SendCopyData each time it is written to. - + - Iterate through the objects returned through from the server. - If it's a CompletedResponse the rowsaffected count is updated appropriately, - and we iterate again, otherwise we return it (perhaps updating our cache of pending - rows if appropriate). + Sends given packet to server as a CopyData message. + Does not check for notifications! Use another thread for that. - The next we will deal with. - + - Advances the data reader to the next result, when multiple result sets were returned by the PostgreSQL backend. + Sends CopyDone message to server. Handles responses, ie. may throw an exception. - True if the reader was advanced, otherwise false. - + - Releases the resources used by the NpgsqlCommand. + Sends CopyFail message to server. Handles responses, ie. should always throw an exception: + in CopyIn state the server responds to CopyFail with an error response; + outside of a CopyIn state the server responds to CopyFail with an error response; + without network connection or whatever, there's going to eventually be a failure, timeout or user intervention. - + - Closes the data reader object. + Copy format information returned from server. - + - Advances the data reader to the next result, when multiple result sets were returned by the PostgreSQL backend. + Stream for writing data to a table on a PostgreSQL version 7.4 or newer database during an active COPY FROM STDIN operation. + Passes data exactly as is and when given, so see to it that you use server encoding, correct format and reasonably sized writes! - True if the reader was advanced, otherwise false. - + - Advances the data reader to the next row. + Created only by NpgsqlCopyInState.StartCopy() - True if the reader was advanced, otherwise false. - + - Return the value of the column at index . + Successfully completes copying data to server. Returns after operation is finished. + Does nothing if this stream is not the active copy operation writer. - + - Gets raw data from a column. + Withdraws an already started copy operation. The operation will fail with given error message. + Does nothing if this stream is not the active copy operation writer. - + - Gets raw data from a column. + Writes given bytes to server. + Fails if this stream is not the active copy operation writer. - + - Report whether the value in a column is DBNull. + Flushes stream contents to server. + Fails if this stream is not the active copy operation writer. - + - Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. + Not readable - + - Indicates if NpgsqlDatareader has rows to be read. + Not seekable - + - Provides an implementation of NpgsqlDataReader in which all data is pre-loaded into memory. - This operates by first creating a ForwardsOnlyDataReader as usual, and then loading all of it's - Rows into memory. There is a general principle that when there is a trade-off between a class design that - is more efficient and/or scalable on the one hand and one that is less efficient but has more functionality - (in this case the internal-only functionality of caching results) that one can build the less efficent class - from the most efficient without significant extra loss in efficiency, but not the other way around. The relationship - between ForwardsOnlyDataReader and CachingDataReader is an example of this). - Since the interface presented to the user is still forwards-only, queues are used to - store this information, so that dequeueing as we go we give the garbage collector the best opportunity - possible to reclaim any memory that is no longer in use. - ForwardsOnlyDataReader being used to actually - obtain the information from the server means that the "leg-work" is still only done (and need only be - maintained) in one place. - This class exists to allow for certain potential backwards-compatibility issues to be resolved - with little effort on the part of affected users. It is considerably less efficient than ForwardsOnlyDataReader - and hence never used internally. + Not supported - + - Represents the method that allows the application to provide a certificate collection to be used for SSL clien authentication + True while this stream can be used to write copy data to server - A X509CertificateCollection to be filled with one or more client certificates. - + - !!! Helper class, for compilation only. - Connector implements the logic for the Connection Objects to - access the physical connection to the database, and isolate - the application developer from connection pooling internals. + False - + - Constructor. + True - Controls whether the connector can be shared. - + - This method checks if the connector is still ok. - We try to send a simple query text, select 1 as ConnectionTest; + False - + - This method is responsible for releasing all resources associated with this Connector. + Number of bytes written so far - + - This method is responsible to release all portals used by this Connector. + Number of bytes written so far; not settable - + - Default SSL CertificateSelectionCallback implementation. + Represents a PostgreSQL COPY TO STDOUT operation with a corresponding SQL statement + to execute against a PostgreSQL database + and an associated stream used to write results to (if provided by user) + or for reading the results (when generated by driver). + Eg. new NpgsqlCopyOut("COPY (SELECT * FROM mytable) TO STDOUT", connection, streamToWrite).Start(); - + - Default SSL CertificateValidationCallback implementation. + Creates NpgsqlCommand to run given query upon Start(), after which CopyStream provides data from database as requested in the query. - + - Default SSL PrivateKeySelectionCallback implementation. + Given command is run upon Start(), after which CopyStream provides data from database as requested in the query. - + - Default SSL ProvideClientCertificatesCallback implementation. + Given command is executed upon Start() and all requested copy data is written to toStream immediately. - + - This method is required to set all the version dependent features flags. - SupportsPrepare means the server can use prepared query plans (7.3+) + Returns true if this operation is currently active and field at given location is in binary format. - + - Opens the physical connection to the server. + Command specified upon creation is executed as a non-query. + If CopyStream is set upon creation, all copy data from server will be written to it, and operation will be finished immediately. + Otherwise the CopyStream member can be used for reading copy data from server until no more data is available. - Usually called by the RequestConnector - Method of the connection pool manager. - + - Closes the physical connection to the server. + Flush generated CopyStream at once. Effectively reads and discard all the rest of copy data from server. - + - Returns next portal index. + Returns true if the connection is currently reserved for this operation. - + - Returns next plan index. + The stream provided by user or generated upon Start() - + - Occurs on NoticeResponses from the PostgreSQL backend. + The Command used to execute this copy operation. - + - Occurs on NotificationResponses from the PostgreSQL backend. + Returns true if this operation is currently active and in binary format. - + - Called to provide client certificates for SSL handshake. + Returns number of fields if this operation is currently active, otherwise -1 - + - Mono.Security.Protocol.Tls.CertificateSelectionCallback delegate. + Faster alternative to using the generated CopyStream. - + - Mono.Security.Protocol.Tls.CertificateValidationCallback delegate. + Represents an ongoing COPY TO STDOUT operation. + Provides methods to read data from server or end the operation. - + - Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate. + Called from NpgsqlState.ProcessBackendResponses upon CopyOutResponse. + If CopyStream is already set, it is used to write data received from server, after which the copy ends. + Otherwise CopyStream is set to a readable NpgsqlCopyOutStream that receives data from server. - + - Gets the current state of the connection. + Called from NpgsqlOutStream.Read to read copy data from server. - + - Return Connection String. + Copy format information returned from server. - + - Version of backend server this connector is connected to. + Stream for reading data from a table or select on a PostgreSQL version 7.4 or newer database during an active COPY TO STDOUT operation. + Passes data exactly as provided by the server. - + - Backend protocol version in use by this connector. + Created only by NpgsqlCopyOutState.StartCopy() - + - The physical connection stream to the backend. + Discards copy data as long as server pushes it. Returns after operation is finished. + Does nothing if this stream is not the active copy operation reader. - + - The physical connection socket to the backend. + Not writable. - + - Reports if this connector is fully connected. + Not flushable. - + - The connection mediator. + Copies data read from server to given byte buffer. + Since server returns data row by row, length will differ each time, but it is only zero once the operation ends. + Can be mixed with calls to the more efficient NpgsqlCopyOutStream.Read() : byte[] though that would not make much sense. - + - Report if the connection is in a transaction. + Not seekable - + - Report whether the current connection can support prepare functionality. + Not supported - + - This class contains helper methods for type conversion between - the .Net type system and postgresql. + Returns a whole row of data from server without extra work. + If standard Stream.Read(...) has been called before, it's internal buffers remains are returned. - + - A cache of basic datatype mappings keyed by server version. This way we don't - have to load the basic type mappings for every connection. + True while this stream can be used to read copy data from server - + - Find a NpgsqlNativeTypeInfo in the default types map that can handle objects - of the given NpgsqlDbType. + True - + - Find a NpgsqlNativeTypeInfo in the default types map that can handle objects - of the given NpgsqlDbType. + False - + - Find a NpgsqlNativeTypeInfo in the default types map that can handle objects - of the given DbType. + False - + - Find a NpgsqlNativeTypeInfo in the default types map that can handle objects - of the given System.Type. + Number of bytes read so far - + - This method is responsible to convert the string received from the backend - to the corresponding NpgsqlType. - The given TypeInfo is called upon to do the conversion. - If no TypeInfo object is provided, no conversion is performed. - + Number of bytes read so far; can not be set. + - + - Create the one and only native to backend type map. - This map is used when formatting native data - types to backend representations. + Writes given objects into a stream for PostgreSQL COPY in default copy format (not CSV or BINARY). - + - This method creates (or retrieves from cache) a mapping between type and OID - of all natively supported postgresql data types. - This is needed as from one version to another, this mapping can be changed and - so we avoid hardcoding them. - - NpgsqlTypeMapping containing all known data types. The mapping must be - cloned before it is modified because it is cached; changes made by one connection may - effect another connection. + Represents the method that handles the RowUpdated events. + + The source of the event. + A NpgsqlRowUpdatedEventArgs that contains the event data. - + - Attempt to map types by issuing a query against pg_type. - This function takes a list of NpgsqlTypeInfo and attempts to resolve the OID field - of each by querying pg_type. If the mapping is found, the type info object is - updated (OID) and added to the provided NpgsqlTypeMapping object. + Represents the method that handles the RowUpdating events. - NpgsqlConnector to send query through. - Mapping object to add types too. - List of types that need to have OID's mapped. + The source of the event. + A NpgsqlRowUpdatingEventArgs that contains the event data. - + - Delegate called to convert the given backend data to its native representation. + This class represents an adapter from many commands: select, update, insert and delete to fill Datasets. - + - Delegate called to convert the given native data to its backand representation. + Provides a means of reading a forward-only stream of rows from a PostgreSQL backend. This class cannot be inherited. - + - Represents a backend data type. - This class can be called upon to convert a backend field representation to a native object. + Return the data type name of the column at index . - + - Construct a new NpgsqlTypeInfo with the given attributes and conversion handlers. + Return the data type of the column at index . - Type OID provided by the backend server. - Type name provided by the backend server. - NpgsqlDbType - System type to convert fields of this type to. - Data conversion handler. - + - Perform a data conversion from a backend representation to - a native object. + Return the Npgsql specific data type of the column at requested ordinal. - Data sent from the backend. - Type modifier field sent from the backend. + column position + Appropriate Npgsql type for column. - + - Type OID provided by the backend server. + Return the column name of the column at index . - + - Type name provided by the backend server. + Return the data type OID of the column at index . + FIXME: Why this method returns String? - + - NpgsqlDbType. + Return the column name of the column named . - + - NpgsqlDbType. + Return the data DbType of the column at index . - + - Provider type to convert fields of this type to. + Return the data NpgsqlDbType of the column at index . - + - System type to convert fields of this type to. + Get the value of a column as a . + If the differences between and + in handling of days and months is not important to your application, use + instead. + Index of the field to find. + value of the field. - + - Represents a backend data type. - This class can be called upon to convert a native object to its backend field representation, + Gets the value of a column converted to a Guid. - + - Returns an NpgsqlNativeTypeInfo for an array where the elements are of the type - described by the NpgsqlNativeTypeInfo supplied. + Gets the value of a column as Int16. - + - Construct a new NpgsqlTypeInfo with the given attributes and conversion handlers. + Gets the value of a column as Int32. - Type name provided by the backend server. - NpgsqlDbType - Data conversion handler. - + - Perform a data conversion from a native object to - a backend representation. - DBNull and null values are handled differently depending if a plain query is used - When + Gets the value of a column as Int64. - Native .NET object to be converted. - Flag indicating if the conversion has to be done for - plain queries or extended queries - + - Type name provided by the backend server. + Gets the value of a column as Single. - + - NpgsqlDbType. + Gets the value of a column as Double. - + - DbType. + Gets the value of a column as String. - + - Apply quoting. + Gets the value of a column as Decimal. - + - Use parameter size information. + Gets the value of a column as TimeSpan. - + - Provide mapping between type OID, type name, and a NpgsqlBackendTypeInfo object that represents it. + Copy values from each column in the current row into . + The number of column values copied. - + - Construct an empty mapping. + Copy values from each column in the current row into . + An array appropriately sized to store values from all columns. + The number of column values copied. - + - Copy constuctor. + Gets the value of a column as Boolean. - + - Add the given NpgsqlBackendTypeInfo to this mapping. + Gets the value of a column as Byte. Not implemented. - + - Add a new NpgsqlBackendTypeInfo with the given attributes and conversion handlers to this mapping. + Gets the value of a column as Char. - Type OID provided by the backend server. - Type name provided by the backend server. - NpgsqlDbType - System type to convert fields of this type to. - Data conversion handler. - + - Make a shallow copy of this type mapping. + Gets the value of a column as DateTime. - + - Determine if a NpgsqlBackendTypeInfo with the given backend type OID exists in this mapping. + Returns a System.Data.DataTable that describes the column metadata of the DataReader. - + - Determine if a NpgsqlBackendTypeInfo with the given backend type name exists in this mapping. + This methods parses the command text and tries to get the tablename + from it. - + - Get the number of type infos held. + Is raised whenever Close() is called. - + - Retrieve the NpgsqlBackendTypeInfo with the given backend type OID, or null if none found. + Gets the number of columns in the current row. - + - Retrieve the NpgsqlBackendTypeInfo with the given backend type name, or null if none found. + Gets the value of a column in its native format. - + - Provide mapping between type Type, NpgsqlDbType and a NpgsqlNativeTypeInfo object that represents it. + Gets the value of a column in its native format. - + - Add the given NpgsqlNativeTypeInfo to this mapping. + Gets a value indicating the depth of nesting for the current row. Always returns zero. - + - Add a new NpgsqlNativeTypeInfo with the given attributes and conversion handlers to this mapping. + Gets a value indicating whether the data reader is closed. - Type name provided by the backend server. - NpgsqlDbType - Data conversion handler. - + - Retrieve the NpgsqlNativeTypeInfo with the given NpgsqlDbType. + Contains the column names as the keys - + - Retrieve the NpgsqlNativeTypeInfo with the given DbType. + Contains all unique columns - + - Retrieve the NpgsqlNativeTypeInfo with the given Type. + This is the primary implementation of NpgsqlDataReader. It is the one used in normal cases (where the + preload-reader option is not set in the connection string to resolve some potential backwards-compatibility + issues), the only implementation used internally, and in cases where CachingDataReader is used, it is still + used to do the actual "leg-work" of turning a response stream from the server into a datareader-style + object - with CachingDataReader then filling it's cache from here. - + - Determine if a NpgsqlNativeTypeInfo with the given backend type name exists in this mapping. + Iterate through the objects returned through from the server. + If it's a CompletedResponse the rowsaffected count is updated appropriately, + and we iterate again, otherwise we return it (perhaps updating our cache of pending + rows if appropriate). + The next we will deal with. - + - Determine if a NpgsqlNativeTypeInfo with the given NpgsqlDbType exists in this mapping. + Advances the data reader to the next result, when multiple result sets were returned by the PostgreSQL backend. + True if the reader was advanced, otherwise false. - + - Determine if a NpgsqlNativeTypeInfo with the given Type name exists in this mapping. + Releases the resources used by the NpgsqlCommand. - + - Get the number of type infos held. + Closes the data reader object. - + - Implements for version 3 of the protocol. + Advances the data reader to the next result, when multiple result sets were returned by the PostgreSQL backend. + True if the reader was advanced, otherwise false. - + - Reads a row, field by field, allowing a DataRow to be built appropriately. + Advances the data reader to the next row. + True if the reader was advanced, otherwise false. - + - Reads part of a field, as needed (for - and + Return the value of the column at index . - + - Adds further functionality to stream that is dependant upon the type of data read. + Gets raw data from a column. - + - Completes the implementation of Streamer for char data. + Gets raw data from a column. - + - Completes the implementation of Streamer for byte data. + Report whether the value in a column is DBNull. - + - Implements for version 2 of the protocol. + Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. - + - Encapsulates the null mapping bytes sent at the start of a version 2 - datarow message, and the process of identifying the nullity of the data - at a particular index + Indicates if NpgsqlDatareader has rows to be read. - + - Provides the underlying mechanism for reading schema information. + Provides an implementation of NpgsqlDataReader in which all data is pre-loaded into memory. + This operates by first creating a ForwardsOnlyDataReader as usual, and then loading all of it's + Rows into memory. There is a general principle that when there is a trade-off between a class design that + is more efficient and/or scalable on the one hand and one that is less efficient but has more functionality + (in this case the internal-only functionality of caching results) that one can build the less efficent class + from the most efficient without significant extra loss in efficiency, but not the other way around. The relationship + between ForwardsOnlyDataReader and CachingDataReader is an example of this). + Since the interface presented to the user is still forwards-only, queues are used to + store this information, so that dequeueing as we go we give the garbage collector the best opportunity + possible to reclaim any memory that is no longer in use. + ForwardsOnlyDataReader being used to actually + obtain the information from the server means that the "leg-work" is still only done (and need only be + maintained) in one place. + This class exists to allow for certain potential backwards-compatibility issues to be resolved + with little effort on the part of affected users. It is considerably less efficient than ForwardsOnlyDataReader + and hence never used internally. - + + + This class represents the Parse message sent to PostgreSQL + server. + + + + - Creates an NpgsqlSchema that can read schema information from the database. + EventArgs class to send Notice parameters, which are just NpgsqlError's in a lighter context. - An open database connection for reading metadata. - + - Returns the MetaDataCollections that lists all possible collections. + Notice information. - The MetaDataCollections - + - Returns the Restrictions that contains the meaning and position of the values in the restrictions array. + This class represents the ErrorResponse and NoticeResponse + message sent from PostgreSQL server. - The Restrictions - + - Returns the Databases that contains a list of all accessable databases. + Return a string representation of this error object. - The restrictions to filter the collection. - The Databases - + - Returns the Tables that contains table and view names and the database and schema they come from. + Severity code. All versions. - The restrictions to filter the collection. - The Tables - + - Returns the Columns that contains information about columns in tables. + Error code. PostgreSQL 7.4 and up. - The restrictions to filter the collection. - The Columns. - + - Returns the Views that contains view names and the database and schema they come from. + Terse error message. All versions. - The restrictions to filter the collection. - The Views - + - Returns the Users containing user names and the sysid of those users. + Detailed error message. PostgreSQL 7.4 and up. - The restrictions to filter the collection. - The Users. - + - This is the abstract base class for NpgsqlAsciiRow and NpgsqlBinaryRow. + Suggestion to help resolve the error. PostgreSQL 7.4 and up. - + - Implements a bit string; a collection of zero or more bits which can each be 1 or 0. - BitString's behave as a list of bools, though like most strings and unlike most collections the position - tends to be of as much significance as the value. - BitStrings are often used as masks, and are commonly cast to and from other values. + Position (one based) within the query string where the error was encounterd. PostgreSQL 7.4 and up. - + - Represents the empty string. + Position (one based) within the query string where the error was encounterd. This position refers to an internal command executed for example inside a PL/pgSQL function. PostgreSQL 7.4 and up. - + - Create a BitString from an enumeration of boolean values. The BitString will contain - those booleans in the order they came in. + Internal query string where the error was encounterd. This position refers to an internal command executed for example inside a PL/pgSQL function. PostgreSQL 7.4 and up. - The boolean values. - + - Creates a BitString filled with a given number of true or false values. + Trace back information. PostgreSQL 7.4 and up. - The value to fill the string with. - The number of bits to fill. - + - Creats a bitstring from a string. - The string to copy from. - + Source file (in backend) reporting the error. PostgreSQL 7.4 and up. - + - Creates a single-bit element from a boolean value. + Source file line number (in backend) reporting the error. PostgreSQL 7.4 and up. - The bool value which determines whether - the bit is 1 or 0. - + - Creates a bitstring from an unsigned integer value. The string will be the shortest required to - contain the integer (e.g. 1 bit for 0 or 1, 2 for 2 or 3, 3 for 4-7, and so on). + Source routine (in backend) reporting the error. PostgreSQL 7.4 and up. - The integer. - This method is not CLS Compliant, and may not be available to some languages. - + - Creates a bitstring from an integer value. The string will be the shortest required to - contain the integer (e.g. 1 bit for 0 or 1, 2 for 2 or 3, 3 for 4-7, and so on). + String containing the sql sent which produced this error. - The integer. - + - Finds the first instance of a given value + Backend protocol version in use. - The value - whether true or false - to search for. - The index of the value found, or -1 if none are present. - + - True if there is at least one bit with the value looked for. + The level of verbosity of the NpgsqlEventLog - The value - true or false - to detect. - True if at least one bit was the same as item, false otherwise. - + - Copies the bitstring to an array of bools. + Don't log at all - The boolean array to copy to. - The index in the array to start copying from. - + - Returns an enumerator that enumerates through the string. + Only log the most common issues - The enumerator. - + - Creats a bitstring by concatenating another onto this one. + Log everything - The string to append to this one. - The combined strings. - + - Returns a substring of this string. + This class handles all the Npgsql event and debug logging - The position to start from, must be between 0 and the length of the string. - The length of the string to return, must be greater than zero, and may not be - so large that the start + length exceeds the bounds of this instance. - The Bitstring identified - + - Returns a substring of this string. + Writes a string to the Npgsql event log if msglevel is bigger then NpgsqlEventLog.Level - The position to start from, must be between 0 and the length of the string, - the rest of the string is returned. - The Bitstring identified + + This method is obsolete and should no longer be used. + It is likely to be removed in future versions of Npgsql + + The message to write to the event log + The minimum LogLevel for which this message should be logged. - + - A logical and between this string and another. The two strings must be the same length. + Writes a string to the Npgsql event log if msglevel is bigger then NpgsqlEventLog.Level - Another BitString to AND with this one. - A bitstring with 1 where both BitStrings had 1 and 0 otherwise. + The ResourceManager to get the localized resources + The name of the resource that should be fetched by the ResourceManager + The minimum LogLevel for which this message should be logged. + The additional parameters that shall be included into the log-message (must be compatible with the string in the resource): - + - A logical or between this string and another. The two strings must be the same length. + Writes the default log-message for the action of calling the Get-part of an Indexer to the log file. - Another BitString to OR with this one. - A bitstring with 1 where either BitString had 1 and 0 otherwise. + The minimum LogLevel for which this message should be logged. + The name of the class that contains the Indexer + The parameter given to the Indexer - + - A logical xor between this string and another. The two strings must be the same length. + Writes the default log-message for the action of calling the Set-part of an Indexer to the logfile. - Another BitString to XOR with this one. - A bitstring with 1 where one BitStrings and the other had 0, - and 0 where they both had 1 or both had 0. + The minimum LogLevel for which this message should be logged. + The name of the class that contains the Indexer + The parameter given to the Indexer + The value the Indexer is set to - + - A bitstring that is the logical inverse of this one. + Writes the default log-message for the action of calling the Get-part of a Property to the logfile. - A bitstring of the same length as this with 1 where this has 0 and vice-versa. + The minimum LogLevel for which this message should be logged. + The name of the class that contains the Property + The name of the Property - + - Shifts the string operand bits to the left, filling with zeros to produce a - string of the same length. + Writes the default log-message for the action of calling the Set-part of a Property to the logfile. - The number of bits to shift to the left. - A left-shifted bitstring. - The behaviour of LShift is closer to what one would expect from dealing - with PostgreSQL bit-strings than in using the same operations on integers in .NET - In particular, negative operands result in a right-shift, and operands greater than - the length of the string will shift it entirely, resulting in a zero-filled string. - + The minimum LogLevel for which this message should be logged. + The name of the class that contains the Property + The name of the Property + The value the Property is set to - + - Shifts the string operand bits to the right, filling with zeros to produce a - string of the same length. + Writes the default log-message for the action of calling a Method without Arguments to the logfile. - The number of bits to shift to the right. - A right-shifted bitstring. - The behaviour of RShift is closer to what one would expect from dealing - with PostgreSQL bit-strings than in using the same operations on integers in .NET - In particular, negative operands result in a left-shift, and operands greater than - the length of the string will shift it entirely, resulting in a zero-filled string. It also performs - a logical shift, rather than an arithmetic shift, so it always sets the vacated bit positions to zero - (like PostgreSQL and like .NET for unsigned integers but not for signed integers). - + The minimum LogLevel for which this message should be logged. + The name of the class that contains the Method + The name of the Method - + - Returns true if the this string is identical to the argument passed. + Writes the default log-message for the action of calling a Method with one Argument to the logfile. + The minimum LogLevel for which this message should be logged. + The name of the class that contains the Method + The name of the Method + The value of the Argument of the Method - + - Compares two strings. Strings are compared as strings, so while 0 being less than 1 will - mean a comparison between two strings of the same size is the same as treating them as numbers, - in the case of two strings of differing lengths the comparison starts at the right-most (most significant) - bit, and if all bits of the shorter string are exhausted without finding a comparison, then the larger - string is deemed to be greater than the shorter (0010 is greater than 0001 but less than 00100). + Writes the default log-message for the action of calling a Method with two Arguments to the logfile. - Another string to compare with this one. - A value if the two strings are identical, an integer less - than zero if this is less than the argument, and an integer greater - than zero otherwise. + The minimum LogLevel for which this message should be logged. + The name of the class that contains the Method + The name of the Method + The value of the first Argument of the Method + The value of the second Argument of the Method - + - Compares the string with another object. + Writes the default log-message for the action of calling a Method with three Arguments to the logfile. - The object to compare with. - If the object is null then this string is considered greater. If the object is another BitString - then they are compared as in the explicit comparison for BitStrings - in any other case a is thrown. + The minimum LogLevel for which this message should be logged. + The name of the class that contains the Method + The name of the Method + The value of the first Argument of the Method + The value of the second Argument of the Method + The value of the third Argument of the Method - + - Compares this BitString with an object for equality. + Writes the default log-message for the action of calling a Method with more than three Arguments to the logfile. + The minimum LogLevel for which this message should be logged. + The name of the class that contains the Method + The name of the Method + A Object-Array with zero or more Ojects that are Arguments of the Method. - + - Returns a code for use in hashing operations. - + Sets/Returns the level of information to log to the logfile. + + The current LogLevel - + - Returns a string representation of the BitString. - - - A string which can contain a letter and optionally a number which sets a minimum size for the string - returned. In each case using the lower-case form of the letter will result in a lower-case string - being returned. - - - B - A string of 1s and 0s. - - - X - An hexadecimal string (will result in an error unless the string's length is divisible by 4). - - - G - A string of 1s and 0s in single-quotes preceded by 'B' (Postgres bit string literal syntax). - - Y - An hexadecimal string in single-quotes preceded by 'X' (Postgres bit literal syntax, will result in an error unless the string's length is divisible by 4. - - C - The format produced by format-string "Y" if legal, otherwise that produced by format-string "G". - E - The most compact safe representation for Postgres. If single bit will be either a 0 or a 1. Otherwise if it - can be that produce by format string "Y" it will, otherwise if there are less than 9bits in length it will be that - produced by format-string "G". For longer strings that cannot be represented in hexadecimal it will be a string - representing the first part of the string in format "Y" followed by the PostgreSQL concatenation operator, followed - by the final bits in the format "G". E.g. "X'13DCE'||B'110'" - If format is empty or null, it is treated as if "B" had been passed (the default repreesentation, and that - generally used by PostgreSQL for display). - - The formatted string. + Sets/Returns the filename to use for logging. + + The filename of the current Log file. - + - Returns a string representation for the Bitstring - - A string containing '0' and '1' characters. + Sets/Returns whether Log messages should be echoed to the console + + true if Log messages are echoed to the console, otherwise false - + - Returns the same string as . formatProvider is ignored. + The exception that is thrown when the PostgreSQL backend reports errors. - + - Parses a string to produce a BitString. Most formats that can be produced by - can be accepted, but hexadecimal - can be interpreted with the preceding X' to mark the following characters as - being hexadecimal rather than binary. + Construct a backend error exception based on a list of one or more + backend errors. The basic Exception.Message will be built from the + first (usually the only) error in the list. - + - Performs a logical AND on the two operands. + Format a .NET style exception string. + Include all errors in the list, including any hints. - + - Performs a logcial OR on the two operands. + Append a line to the given Stream, first checking for zero-length. - + - Perofrms a logical EXCLUSIVE-OR on the two operands + Provide access to the entire list of errors provided by the PostgreSQL backend. - + - Performs a logical NOT on the operand. + Severity code. All versions. - + - Concatenates the operands. + Error code. PostgreSQL 7.4 and up. - + - Left-shifts the string BitString. + Basic error message. All versions. - + - Right-shifts the string BitString. + Detailed error message. PostgreSQL 7.4 and up. - + - Compares the two operands. + Suggestion to help resolve the error. PostgreSQL 7.4 and up. - + - Compares the two operands. + Position (one based) within the query string where the error was encounterd. PostgreSQL 7.4 and up. - + - Compares the two operands. + Trace back information. PostgreSQL 7.4 and up. - + - Compares the two operands. + Source file (in backend) reporting the error. PostgreSQL 7.4 and up. - + - Compares the two operands. + Source file line number (in backend) reporting the error. PostgreSQL 7.4 and up. - + - Compares the two operands. + Source routine (in backend) reporting the error. PostgreSQL 7.4 and up. - + - Interprets the bitstring as a series of bits in an encoded character string, - encoded according to the Encoding passed, and returns that string. - The bitstring must contain a whole number of octets(bytes) and also be - valid according to the Encoding passed. + String containing the sql sent which produced this error. - The to use in producing the string. - The string that was encoded in the BitString. - + - Interprets the bitstring as a series of octets (bytes) and returns those octets. Fails - if the Bitstring does not contain a whole number of octets (its length is not evenly - divisible by 8). + Returns the entire list of errors provided by the PostgreSQL backend. - - - Interprets the bitstring as a series of signed octets (bytes) and returns those octets. Fails - if the Bitstring does not contain a whole number of octets (its length is not evenly - divisible by 8). - This method is not CLS-Compliant and may not be available to languages that cannot - handle signed bytes. - + + + This class represents the Parse message sent to PostgreSQL + server. + + - + - Interprets the bitstring as a series of unsigned 16-bit integers and returns those integers. - Fails if the Bitstring's length is not evenly divisible by 16. - This method is not CLS-Compliant and may not be available to languages that cannot - handle unsigned integers. + A factory to create instances of various Npgsql objects. - + - Interprets the bitstring as a series of 16-bit integers and returns those integers. - Fails if the Bitstring's length is not evenly divisible by 16. + Creates an NpgsqlCommand object. - + + + This class represents the Parse message sent to PostgreSQL + server. + + + + - Interprets the bitstring as a series of unsigned 32-bit integers and returns those integers. - Fails if the Bitstring's length is not evenly divisible by 32. - This method is not CLS-Compliant and may not be available to languages that cannot - handle unsigned integers. - + This class is responsible for serving as bridge between the backend + protocol handling and the core classes. It is used as the mediator for + exchanging data generated/sent from/to backend. + + - + - Interprets the bitstring as a series of signed 32-bit integers and returns those integers. - Fails if the Bitstring's length is not evenly divisible by 32. + EventArgs class to send Notification parameters. - + - Interprets the bitstring as a series of unsigned 64-bit integers and returns those integers. - Fails if the Bitstring's length is not evenly divisible by 64. - This method is not CLS-Compliant and may not be available to languages that cannot - handle unsigned integers. + Process ID of the PostgreSQL backend that sent this notification. - + - Interprets the bitstring as a series of signed 64-bit integers and returns those integers. - Fails if the Bitstring's length is not evenly divisible by 64. + Condition that triggered that notification. - + - The length of the string. + Additional Information From Notifiying Process (for future use, currently postgres always sets this to an empty string) - + - Retrieves the value of the bit at the given index. + This class represents a parameter to a command that will be sent to server - + - C# implementation of the MD5 cryptographic hash function. + Initializes a new instance of the NpgsqlParameter class. - + - Creates a new MD5CryptoServiceProvider. + Initializes a new instance of the NpgsqlParameter + class with the parameter m_Name and a value of the new NpgsqlParameter. + The m_Name of the parameter to map. + An Object that is the value of the NpgsqlParameter. + +

When you specify an Object + in the value parameter, the DbType is + inferred from the .NET Framework type of the Object.

+

When using this constructor, you must be aware of a possible misuse of the constructor which takes a DbType parameter. + This happens when calling this constructor passing an int 0 and the compiler thinks you are passing a value of DbType. + Use Convert.ToInt32(value) for example to have compiler calling the correct constructor.

+
- + - Drives the hashing function. + Initializes a new instance of the NpgsqlParameter + class with the parameter m_Name and the data type. - Byte array containing the data to hash. - Where in the input buffer to start. - Size in bytes of the data in the buffer to hash. + The m_Name of the parameter to map. + One of the DbType values. - + - This finalizes the hash. Takes the data from the chaining variables and returns it. + Initializes a new instance of the NpgsqlParameter + class with the parameter m_Name, the DbType, and the size. + The m_Name of the parameter to map. + One of the DbType values. + The length of the parameter. - + - Resets the class after use. Called automatically after hashing is done. + Initializes a new instance of the NpgsqlParameter + class with the parameter m_Name, the DbType, the size, + and the source column m_Name. + The m_Name of the parameter to map. + One of the DbType values. + The length of the parameter. + The m_Name of the source column. - + - This is the meat of the hash function. It is what processes each block one at a time. + Initializes a new instance of the NpgsqlParameter + class with the parameter m_Name, the DbType, the size, + the source column m_Name, a ParameterDirection, + the precision of the parameter, the scale of the parameter, a + DataRowVersion to use, and the + value of the parameter. - Byte array to process data from. - Where in the byte array to start processing. + The m_Name of the parameter to map. + One of the DbType values. + The length of the parameter. + The m_Name of the source column. + One of the ParameterDirection values. + true if the value of the field can be null, otherwise false. + The total number of digits to the left and right of the decimal point to which + Value is resolved. + The total number of decimal places to which + Value is resolved. + One of the DataRowVersion values. + An Object that is the value + of the NpgsqlParameter. - + - Pads and then processes the final block. + Creates a new NpgsqlParameter that + is a copy of the current instance. - Buffer to grab data from. - Position in buffer in bytes to get data from. - How much data in bytes in the buffer to use. + A new NpgsqlParameter that is a copy of this instance. - + - Stream for writing data to a table on a PostgreSQL version 7.4 or newer database during an active COPY FROM STDIN operation. - Passes data exactly as is and when given, so see to it that you use server encoding, correct format and reasonably sized writes! + Gets or sets the maximum number of digits used to represent the + Value property. + The maximum number of digits used to represent the + Value property. + The default value is 0, which indicates that the data provider + sets the precision for Value. - + - Created only by NpgsqlCopyInState.StartCopy() + Gets or sets the number of decimal places to which + Value is resolved. + The number of decimal places to which + Value is resolved. The default is 0. - + - Successfully completes copying data to server. Returns after operation is finished. - Does nothing if this stream is not the active copy operation writer. + Gets or sets the maximum size, in bytes, of the data within the column. + The maximum size, in bytes, of the data within the column. + The default value is inferred from the parameter value. - + - Withdraws an already started copy operation. The operation will fail with given error message. - Does nothing if this stream is not the active copy operation writer. + Gets or sets the DbType of the parameter. + One of the DbType values. The default is String. - + - Writes given bytes to server. - Fails if this stream is not the active copy operation writer. + Gets or sets the DbType of the parameter. + One of the DbType values. The default is String. - + - Flushes stream contents to server. - Fails if this stream is not the active copy operation writer. + Gets or sets a value indicating whether the parameter is input-only, + output-only, bidirectional, or a stored procedure return value parameter. + One of the ParameterDirection + values. The default is Input. - + - Not readable + Gets or sets a value indicating whether the parameter accepts null values. + true if null values are accepted; otherwise, false. The default is false. - + - Not seekable + Gets or sets the m_Name of the NpgsqlParameter. + The m_Name of the NpgsqlParameter. + The default is an empty string. - + - Not supported + The m_Name scrubbed of any optional marker - + - True while this stream can be used to write copy data to server + Gets or sets the m_Name of the source column that is mapped to the + DataSet and used for loading or + returning the Value. + The m_Name of the source column that is mapped to the + DataSet. The default is an empty string. - + - False + Gets or sets the DataRowVersion + to use when loading Value. + One of the DataRowVersion values. + The default is Current. - + - True + Gets or sets the value of the parameter. + An Object that is the value of the parameter. + The default value is null. - + - False + Gets or sets the value of the parameter. + An Object that is the value of the parameter. + The default value is null. - + - Number of bytes written so far + Represents a collection of parameters relevant to a NpgsqlCommand + as well as their respective mappings to columns in a DataSet. + This class cannot be inherited. - + - Number of bytes written so far; not settable + Initializes a new instance of the NpgsqlParameterCollection class. - + - Represents a SQL statement or function (stored procedure) to execute - against a PostgreSQL database. This class cannot be inherited. + Adds the specified NpgsqlParameter object to the NpgsqlParameterCollection. + The NpgsqlParameter to add to the collection. + The index of the new NpgsqlParameter object. - + - Initializes a new instance of the NpgsqlCommand class. + Adds a NpgsqlParameter to the NpgsqlParameterCollection given the specified parameter name and value. + The name of the NpgsqlParameter. + The Value of the NpgsqlParameter to add to the collection. + The index of the new NpgsqlParameter object. + + Use caution when using this overload of the + Add method to specify integer parameter values. + Because this overload takes a value of type Object, + you must convert the integral value to an Object + type when the value is zero, as the following C# example demonstrates. + parameters.Add(":pname", Convert.ToInt32(0)); + If you do not perform this conversion, the compiler will assume you + are attempting to call the NpgsqlParameterCollection.Add(string, DbType) overload. + - + - Initializes a new instance of the NpgsqlCommand class with the text of the query. + Adds a NpgsqlParameter to the NpgsqlParameterCollection given the parameter name and the data type. - The text of the query. + The name of the parameter. + One of the DbType values. + The index of the new NpgsqlParameter object. - + - Initializes a new instance of the NpgsqlCommand class with the text of the query and a NpgsqlConnection. + Adds a NpgsqlParameter to the NpgsqlParameterCollection with the parameter name, the data type, and the column length. - The text of the query. - A NpgsqlConnection that represents the connection to a PostgreSQL server. + The name of the parameter. + One of the DbType values. + The length of the column. + The index of the new NpgsqlParameter object. - + - Initializes a new instance of the NpgsqlCommand class with the text of the query, a NpgsqlConnection, and the NpgsqlTransaction. + Adds a NpgsqlParameter to the NpgsqlParameterCollection with the parameter name, the data type, the column length, and the source column name. - The text of the query. - A NpgsqlConnection that represents the connection to a PostgreSQL server. - The NpgsqlTransaction in which the NpgsqlCommand executes. + The name of the parameter. + One of the DbType values. + The length of the column. + The name of the source column. + The index of the new NpgsqlParameter object. - + - Used to execute internal commands. + Removes the specified NpgsqlParameter from the collection using the parameter name. + The name of the NpgsqlParameter object to retrieve. - + - Attempts to cancel the execution of a NpgsqlCommand. + Gets a value indicating whether a NpgsqlParameter with the specified parameter name exists in the collection. - This Method isn't implemented yet. + The name of the NpgsqlParameter object to find. + true if the collection contains the parameter; otherwise, false. - + - Create a new command based on this one. + Gets the location of the NpgsqlParameter in the collection with a specific parameter name. - A new NpgsqlCommand object. + The name of the NpgsqlParameter object to find. + The zero-based location of the NpgsqlParameter in the collection. - + - Create a new command based on this one. + Removes the specified NpgsqlParameter from the collection using a specific index. - A new NpgsqlCommand object. + The zero-based index of the parameter. - + - Creates a new instance of an DbParameter object. + Inserts a NpgsqlParameter into the collection at the specified index. - An DbParameter object. + The zero-based index where the parameter is to be inserted within the collection. + The NpgsqlParameter to add to the collection. - + - Creates a new instance of a NpgsqlParameter object. + Removes the specified NpgsqlParameter from the collection. - A NpgsqlParameter object. + The NpgsqlParameter to remove from the collection. - + - Slightly optimised version of ExecuteNonQuery() for internal ues in cases where the number - of affected rows is of no interest. + Gets a value indicating whether a NpgsqlParameter exists in the collection. + The value of the NpgsqlParameter object to find. + true if the collection contains the NpgsqlParameter object; otherwise, false. - + - Executes a SQL statement against the connection and returns the number of rows affected. + Gets a value indicating whether a NpgsqlParameter with the specified parameter name exists in the collection. - The number of rows affected if known; -1 otherwise. + The name of the NpgsqlParameter object to find. + A reference to the requested parameter is returned in this out param if it is found in the list. This value is null if the parameter is not found. + true if the collection contains the parameter and param will contain the parameter; otherwise, false. - + - Sends the CommandText to - the Connection and builds a - NpgsqlDataReader - using one of the CommandBehavior values. + Removes all items from the collection. - One of the CommandBehavior values. - A NpgsqlDataReader object. - + - Sends the CommandText to - the Connection and builds a - NpgsqlDataReader. + Gets the location of a NpgsqlParameter in the collection. - A NpgsqlDataReader object. + The value of the NpgsqlParameter object to find. + The zero-based index of the NpgsqlParameter object in the collection. - + - Sends the CommandText to - the Connection and builds a - NpgsqlDataReader - using one of the CommandBehavior values. + Adds the specified NpgsqlParameter object to the NpgsqlParameterCollection. - One of the CommandBehavior values. - A NpgsqlDataReader object. - Currently the CommandBehavior parameter is ignored. - - - - This method binds the parameters from parameters collection to the bind - message. - + The NpgsqlParameter to add to the collection. + The zero-based index of the new NpgsqlParameter object. - + - Executes the query, and returns the first column of the first row - in the result set returned by the query. Extra columns or rows are ignored. + Copies NpgsqlParameter objects from the NpgsqlParameterCollection to the specified array. - The first column of the first row in the result set, - or a null reference if the result set is empty. + An Array to which to copy the NpgsqlParameter objects in the collection. + The starting index of the array. - + - Creates a prepared version of the command on a PostgreSQL server. + Returns an enumerator that can iterate through the collection. + An IEnumerator that can be used to iterate through the collection. - + - This method checks the connection state to see if the connection - is set or it is open. If one of this conditions is not met, throws - an InvalidOperationException + In methods taking an object as argument this method is used to verify + that the argument has the type NpgsqlParameter + The object to verify - + - This method substitutes the Parameters, if exist, in the command - to their actual values. - The parameter name format is :ParameterName. + Gets the NpgsqlParameter with the specified name. - A version of CommandText with the Parameters inserted. + The name of the NpgsqlParameter to retrieve. + The NpgsqlParameter with the specified name, or a null reference if the parameter is not found. - + - Gets or sets the SQL statement or function (stored procedure) to execute at the data source. + Gets the NpgsqlParameter at the specified index. - The Transact-SQL statement or stored procedure to execute. The default is an empty string. + The zero-based index of the NpgsqlParameter to retrieve. + The NpgsqlParameter at the specified index. - + - Gets or sets the wait time before terminating the attempt - to execute a command and generating an error. + Gets the number of NpgsqlParameter objects in the collection. - The time (in seconds) to wait for the command to execute. - The default is 20 seconds. + The number of NpgsqlParameter objects in the collection. - - - Gets or sets a value indicating how the - CommandText property is to be interpreted. - - One of the CommandType values. The default is CommandType.Text. + + + This class represents the ParameterStatus message sent from PostgreSQL + server. + + - - - Gets or sets the NpgsqlConnection - used by this instance of the NpgsqlCommand. - - The connection to a data source. The default value is a null reference. + + + This class represents the Parse message sent to PostgreSQL + server. + + - + - Gets the NpgsqlParameterCollection. + This class represents a PasswordPacket message sent to backend + PostgreSQL. - The parameters of the SQL statement or function (stored procedure). The default is an empty collection. - + - Gets or sets the NpgsqlTransaction - within which the NpgsqlCommand executes. + Used when a connection is closed - The NpgsqlTransaction. - The default value is a null reference. - + - Gets or sets how command results are applied to the DataRow - when used by the Update - method of the DbDataAdapter. + Summary description for NpgsqlQuery - One of the UpdateRowSource values. - + - Returns oid of inserted row. This is only updated when using executenonQuery and when command inserts just a single row. If table is created without oids, this will always be 0. + This is the abstract base class for NpgsqlAsciiRow and NpgsqlBinaryRow. - + + + This class represents a RowDescription message sent from + the PostgreSQL. + + + + - Represents a collection of parameters relevant to a NpgsqlCommand - as well as their respective mappings to columns in a DataSet. - This class cannot be inherited. + This struct represents the internal data of the RowDescription message. - + - Initializes a new instance of the NpgsqlParameterCollection class. + Provides the underlying mechanism for reading schema information. - + - Adds the specified NpgsqlParameter object to the NpgsqlParameterCollection. + Creates an NpgsqlSchema that can read schema information from the database. - The NpgsqlParameter to add to the collection. - The index of the new NpgsqlParameter object. + An open database connection for reading metadata. - + - Adds a NpgsqlParameter to the NpgsqlParameterCollection given the specified parameter name and value. + Returns the MetaDataCollections that lists all possible collections. - The name of the NpgsqlParameter. - The Value of the NpgsqlParameter to add to the collection. - The index of the new NpgsqlParameter object. - - Use caution when using this overload of the - Add method to specify integer parameter values. - Because this overload takes a value of type Object, - you must convert the integral value to an Object - type when the value is zero, as the following C# example demonstrates. - parameters.Add(":pname", Convert.ToInt32(0)); - If you do not perform this conversion, the compiler will assume you - are attempting to call the NpgsqlParameterCollection.Add(string, DbType) overload. - + The MetaDataCollections - + - Adds a NpgsqlParameter to the NpgsqlParameterCollection given the parameter name and the data type. + Returns the Restrictions that contains the meaning and position of the values in the restrictions array. - The name of the parameter. - One of the DbType values. - The index of the new NpgsqlParameter object. + The Restrictions - + - Adds a NpgsqlParameter to the NpgsqlParameterCollection with the parameter name, the data type, and the column length. + Returns the Databases that contains a list of all accessable databases. - The name of the parameter. - One of the DbType values. - The length of the column. - The index of the new NpgsqlParameter object. + The restrictions to filter the collection. + The Databases - + - Adds a NpgsqlParameter to the NpgsqlParameterCollection with the parameter name, the data type, the column length, and the source column name. + Returns the Tables that contains table and view names and the database and schema they come from. - The name of the parameter. - One of the DbType values. - The length of the column. - The name of the source column. - The index of the new NpgsqlParameter object. + The restrictions to filter the collection. + The Tables - + - Removes the specified NpgsqlParameter from the collection using the parameter name. + Returns the Columns that contains information about columns in tables. - The name of the NpgsqlParameter object to retrieve. + The restrictions to filter the collection. + The Columns. - + - Gets a value indicating whether a NpgsqlParameter with the specified parameter name exists in the collection. + Returns the Views that contains view names and the database and schema they come from. - The name of the NpgsqlParameter object to find. - true if the collection contains the parameter; otherwise, false. + The restrictions to filter the collection. + The Views - + - Gets the location of the NpgsqlParameter in the collection with a specific parameter name. + Returns the Users containing user names and the sysid of those users. - The name of the NpgsqlParameter object to find. - The zero-based location of the NpgsqlParameter in the collection. + The restrictions to filter the collection. + The Users. - + + + This class represents a StartupPacket message of PostgreSQL + protocol. + + + + - Removes the specified NpgsqlParameter from the collection using a specific index. + Represents a completed response message. - The zero-based index of the parameter. - + + + This class represents the Parse message sent to PostgreSQL + server. + + + + - Inserts a NpgsqlParameter into the collection at the specified index. + Represents a transaction to be made in a PostgreSQL database. This class cannot be inherited. - The zero-based index where the parameter is to be inserted within the collection. - The NpgsqlParameter to add to the collection. - + - Removes the specified NpgsqlParameter from the collection. + Commits the database transaction. - The NpgsqlParameter to remove from the collection. - + - Gets a value indicating whether a NpgsqlParameter exists in the collection. + Rolls back a transaction from a pending state. - The value of the NpgsqlParameter object to find. - true if the collection contains the NpgsqlParameter object; otherwise, false. - + - Gets a value indicating whether a NpgsqlParameter with the specified parameter name exists in the collection. + Rolls back a transaction from a pending savepoint state. - The name of the NpgsqlParameter object to find. - A reference to the requested parameter is returned in this out param if it is found in the list. This value is null if the parameter is not found. - true if the collection contains the parameter and param will contain the parameter; otherwise, false. - + - Removes all items from the collection. + Creates a transaction save point. - + - Gets the location of a NpgsqlParameter in the collection. + Cancel the transaction without telling the backend about it. This is + used to make the transaction go away when closing a connection. - The value of the NpgsqlParameter object to find. - The zero-based index of the NpgsqlParameter object in the collection. - + - Adds the specified NpgsqlParameter object to the NpgsqlParameterCollection. + Gets the NpgsqlConnection + object associated with the transaction, or a null reference if the + transaction is no longer valid. - The NpgsqlParameter to add to the collection. - The zero-based index of the new NpgsqlParameter object. + The NpgsqlConnection + object associated with the transaction. - + - Copies NpgsqlParameter objects from the NpgsqlParameterCollection to the specified array. + Specifies the IsolationLevel for this transaction. - An Array to which to copy the NpgsqlParameter objects in the collection. - The starting index of the array. + The IsolationLevel for this transaction. + The default is ReadCommitted. - + - Returns an enumerator that can iterate through the collection. - - An IEnumerator that can be used to iterate through the collection. + This class provides many util methods to handle + reading and writing of PostgreSQL protocol messages. + - + - In methods taking an object as argument this method is used to verify - that the argument has the type NpgsqlParameter - - The object to verify + This method takes a ProtocolVersion and returns an integer + version number that the Postgres backend will recognize in a + startup packet. + - + - Gets the NpgsqlParameter with the specified name. + This method takes a version string as returned by SELECT VERSION() and returns + a valid version string ("7.2.2" for example). + This is only needed when running protocol version 2. + This does not do any validity checks. - The name of the NpgsqlParameter to retrieve. - The NpgsqlParameter with the specified name, or a null reference if the parameter is not found. - + - Gets the NpgsqlParameter at the specified index. - - The zero-based index of the NpgsqlParameter to retrieve. - The NpgsqlParameter at the specified index. + This method gets a C NULL terminated string from the network stream. + It keeps reading a byte in each time until a NULL byte is returned. + It returns the resultant string of bytes read. + This string is sent from backend. + - + - Gets the number of NpgsqlParameter objects in the collection. + Reads requested number of bytes from stream with retries until Stream.Read returns 0 or count is reached. - The number of NpgsqlParameter objects in the collection. + Stream to read + byte buffer to fill + starting position to fill the buffer + number of bytes to read + The number of bytes read. May be less than count if no more bytes are available. - + - Represents an ongoing COPY FROM STDIN operation. - Provides methods to push data to server and end or cancel the operation. - + This method writes a C NULL terminated string to the network stream. + It appends a NULL terminator to the end of the String. + + + This method writes a C NULL terminated string to the network stream. + It appends a NULL terminator to the end of the String. + - + - Called from NpgsqlState.ProcessBackendResponses upon CopyInResponse. - If CopyStream is already set, it is used to read data to push to server, after which the copy is completed. - Otherwise CopyStream is set to a writable NpgsqlCopyInStream that calls SendCopyData each time it is written to. + This method writes a set of bytes to the stream. It also enables logging of them. - + - Sends given packet to server as a CopyData message. - Does not check for notifications! Use another thread for that. - + This method writes a C NULL terminated string limited in length to the + backend server. + It pads the string with null bytes to the size specified. + - + - Sends CopyDone message to server. Handles responses, ie. may throw an exception. + Write a 32-bit integer to the given stream in the correct byte order. - + - Sends CopyFail message to server. Handles responses, ie. should always throw an exception: - in CopyIn state the server responds to CopyFail with an error response; - outside of a CopyIn state the server responds to CopyFail with an error response; - without network connection or whatever, there's going to eventually be a failure, timeout or user intervention. + Read a 32-bit integer from the given stream in the correct byte order. - + - Copy format information returned from server. + Write a 16-bit integer to the given stream in the correct byte order. - + - Represents a PostgreSQL Point type + Read a 16-bit integer from the given stream in the correct byte order. - + - Represents a PostgreSQL Line Segment type. + Represent the frontend/backend protocol version. - + - Represents a PostgreSQL Path type. + Represent the backend server version. + As this class offers no functionality beyond that offered by it has been + deprecated in favour of that class. + - + - Represents a PostgreSQL Polygon type. + Returns the string representation of this version in three place dot notation (Major.Minor.Patch). - + - Represents a PostgreSQL Circle type. + Server version major number. - + - Represents a PostgreSQL inet type. + Server version minor number. - + - Represents a PostgreSQL MacAddress type. + Server version patch level number. - + - + A class to handle everything associated with SSPI authentication - The macAddr parameter must contain a string that can only consist of numbers - and upper-case letters as hexadecimal digits. (See PhysicalAddress.Parse method on MSDN) - + - This class represents a PasswordPacket message sent to backend - PostgreSQL. + Simplified SecBufferDesc struct with only one SecBuffer
diff --git a/bin/lib/NET/Mono.Security.dll b/bin/lib/NET/Mono.Security.dll index 6accde7..1371f5c 100644 Binary files a/bin/lib/NET/Mono.Security.dll and b/bin/lib/NET/Mono.Security.dll differ -- cgit v1.1 From 7f163e8f760cb474ec836fb6e242edc2bfec7d0e Mon Sep 17 00:00:00 2001 From: Geir Nøklebye Date: Sun, 14 May 2017 15:23:21 +0200 Subject: Update NPGSQL from version 2.0.14.3 to 2.1.3. This is a relatively big update where 2.1.0 has a number of bug fixes, new functionality and improved performance. (see details at https://github.com/npgsql/npgsql/releases/tag/v2.1.0) The binaries supplied are for .NET 4.0 If you need binaries for older versions they can be dowloaded from https://github.com/npgsql/npgsql/releases/tag/v2.1.3. There are also binaries for 4.5. The performance improvement is particularly evident on terrain load and other repeated queries to the database. This version will automatically generate prepare statements if it sees 5 consecutive identical statements and cache them for later use. The prepare statement will skip the analyze portion of the query planner once a statement has been created. In addition there are improvements in the connection pool logic that will improve performance once connections get scarce. Signed-off-by: UbitUmarov --- bin/Npgsql.dll | Bin 363008 -> 342016 bytes bin/Npgsql.xml | 1681 +++++++++++++++++++++++++++++++++++++++++++------------- 2 files changed, 1298 insertions(+), 383 deletions(-) (limited to 'bin') diff --git a/bin/Npgsql.dll b/bin/Npgsql.dll index 593e366..693cccb 100644 Binary files a/bin/Npgsql.dll and b/bin/Npgsql.dll differ diff --git a/bin/Npgsql.xml b/bin/Npgsql.xml index aec35c1..8133430 100644 --- a/bin/Npgsql.xml +++ b/bin/Npgsql.xml @@ -21,11 +21,22 @@ The that would be used to serialise the element type. - + Serialise the enumeration or array. + + + Convert a System.Array to PG binary format. + Write the array header and prepare to write array data to the stream. + + + + + Append all array data to the binary stream. + + Handles parsing of pg arrays into .NET arrays. @@ -61,9 +72,9 @@ for the element type. - + - Creates an array from pg representation. + Creates an array from pg text representation. @@ -75,21 +86,34 @@ Creates an n-dimensional array from an ArrayList of ArrayLists or - a 1-dimensional array from something else. + a 1-dimensional array from something else. to convert + Type of the elements in the list produced. - + - Takes an array of ints and treats them like the limits of a set of counters. - Retains a matching set of ints that is set to all zeros on the first ++ - On a ++ it increments the "right-most" int. If that int reaches it's - limit it is set to zero and the one before it is incremented, and so on. - - Making this a more general purpose class is pretty straight-forward, but we'll just put what we need here. + Creates an n-dimensional System.Array from PG binary representation. + This function reads the array header and sets up an n-dimensional System.Array object to hold its data. + PopulateArrayFromBinaryArray() is then called to carry out array population. + + + Recursively populates an array from PB binary data representation. + + + + + Takes an array of ints and treats them like the limits of a set of counters. + Retains a matching set of ints that is set to all zeros on the first ++ + On a ++ it increments the "right-most" int. If that int reaches it's + limit it is set to zero and the one before it is incremented, and so on. + + Making this a more general purpose class is pretty straight-forward, but we'll just put what we need here. + + Implements a bit string; a collection of zero or more bits which can each be 1 or 0. @@ -121,7 +145,7 @@ Creats a bitstring from a string. The string to copy from. - + @@ -277,7 +301,7 @@ The object to compare with. If the object is null then this string is considered greater. If the object is another BitString - then they are compared as in the explicit comparison for BitStrings + then they are compared as in the explicit comparison for BitStrings in any other case a is thrown. @@ -504,7 +528,7 @@ If you don't know whether these differences are important to your application, they probably arent! Just use and do not use this class directly ☺ To avoid forcing unnecessary provider-specific concerns on users who need not be concerned - with them a call to on a field containing an + with them a call to on a field containing an value will return a rather than an . If you need the extra functionality of then use . @@ -661,49 +685,49 @@ Creates an from a number of microseconds. - The number of microseconds in the interval. + The number of microseconds in the interval. A d with the given number of microseconds. Creates an from a number of milliseconds. - The number of milliseconds in the interval. + The number of milliseconds in the interval. A d with the given number of milliseconds. Creates an from a number of seconds. - The number of seconds in the interval. + The number of seconds in the interval. A d with the given number of seconds. Creates an from a number of minutes. - The number of minutes in the interval. + The number of minutes in the interval. A d with the given number of minutes. Creates an from a number of hours. - The number of hours in the interval. + The number of hours in the interval. A d with the given number of hours. Creates an from a number of days. - The number of days in the interval. + The number of days in the interval. A d with the given number of days. Creates an from a number of months. - The number of months in the interval. + The number of months in the interval. A d with the given number of months. @@ -773,7 +797,29 @@ An based on this one, but with any months converted to multiples of ±30days and then any days converted to multiples of ±24hours; - + + + Produces a canonical NpgslInterval with 0 months and hours in the range of [-23, 23]. + + + While the fact that for many purposes, two different instances could be considered + equivalent (e.g. one with 2days, 3hours and one with 1day 27hours) there are different possible canonical forms. + + E.g. we could move all excess hours into days and all excess days into months and have the most readable form, + or we could move everything into the ticks and have the form that allows for the easiest arithmetic) the form + chosen has two important properties that make it the best choice. + First, it is closest two how + objects are most often represented. Second, it is compatible with results of many + PostgreSQL functions, particularly with age() and the results of subtracting one date, time or timestamp from + another. + + Note that the results of casting a to is + canonicalised. + + + An based on this one, but with months converted to multiples of ±30days and with any hours outside of the range [-23, 23] + converted into days. + Implicit cast of a to an @@ -1233,91 +1279,84 @@ Summary description for LargeObjectManager. - - - Provide event handlers to convert all native supported basic data types from their backend - text representation to a .NET object. - - - + - Binary data. - - - - - Convert a postgresql boolean to a System.Boolean. + Options that control certain aspects of native to backend conversions that depend + on backend version and status. - + - Convert a postgresql bit to a System.Boolean. + Clone the current object. + A new NativeToBackendTypeConverterOptions object. - + - Convert a postgresql datetime to a System.DateTime. + Clone the current object with a different OID/Name mapping. + OID/Name mapping object to use in the new instance. + A new NativeToBackendTypeConverterOptions object. - + - Convert a postgresql date to a System.DateTime. + Provide event handlers to convert all native supported basic data types from their backend + text representation to a .NET object. - + - Convert a postgresql time to a System.DateTime. + Convert UTF8 encoded text a string. - + - Convert a postgresql money to a System.Decimal. + Byte array from bytea encoded as ASCII text, escaped or hex format. - + - Provide event handlers to convert the basic native supported data types from - native form to backend representation. + Byte array from bytea encoded as binary. - + - Binary data. + Convert a postgresql boolean to a System.Boolean. - + - Convert to a postgresql boolean. + Convert a postgresql boolean to a System.Boolean. - + - Convert to a postgresql bit. + Convert a postgresql bit to a System.Boolean. - + - Convert to a postgresql timestamp. + Convert a postgresql datetime to a System.DateTime. - + - Convert to a postgresql date. + Convert a postgresql date to a System.DateTime. - + - Convert to a postgresql time. + Convert a postgresql time to a System.DateTime. - + - Convert to a postgres money. + Convert a postgresql money to a System.Decimal. - + - Convert to a postgres double with maximum precision. + Convert a postgresql float4 or float8 to a System.Float or System.Double respectively. @@ -1326,225 +1365,211 @@ text representation to a .NET object. - + Convert a postgresql point to a System.NpgsqlPoint. - + Convert a postgresql point to a System.RectangleF. - + LDeg. - + Path. - + Polygon. - + Circle. - + Inet. - + MAC Address. - + interval - + - Provide event handlers to convert extended native supported data types from + Provide event handlers to convert the basic native supported data types from native form to backend representation. - + - Point. + Convert a string to UTF8 encoded text, escaped and quoted as required. - + - Box. + Convert a string to UTF8 encoded text. - + - LSeg. + Binary data, escaped and quoted as required. - + - Open path. + Binary data with possible older style octal escapes, quoted. - + - Polygon. + Binary data in the new hex format (>= 9.0), quoted. - + - Convert to a postgres MAC Address. + Binary data, raw. - + - Circle. + Convert to a postgresql boolean text format. - + - Convert to a postgres inet. + Convert to a postgresql boolean binary format. - + - Convert to a postgres interval + Convert to a postgresql binary int2. - + - Represents a PostgreSQL Point type + Convert to a postgresql binary int4. - + - Represents a PostgreSQL Line Segment type. + Convert to a postgresql binary int8. - + - Represents a PostgreSQL Path type. + Convert to a postgresql bit. - + - Represents a PostgreSQL Polygon type. + Convert to a postgresql timestamp. - + - Represents a PostgreSQL Circle type. + Convert to a postgresql date. - + - Represents a PostgreSQL inet type. + Convert to a postgresql time. - + - Represents a PostgreSQL MacAddress type. + Convert to a postgres money. - + - + Convert to a postgres double with maximum precision. - The macAddr parameter must contain a string that can only consist of numbers - and upper-case letters as hexadecimal digits. (See PhysicalAddress.Parse method on MSDN) - + - This class contains helper methods for type conversion between - the .Net type system and postgresql. + Convert a System.Float to a postgres float4. - + - A cache of basic datatype mappings keyed by server version. This way we don't - have to load the basic type mappings for every connection. + Convert a System.Double to a postgres float8. - + - Find a NpgsqlNativeTypeInfo in the default types map that can handle objects - of the given NpgsqlDbType. + Provide event handlers to convert extended native supported data types from + native form to backend representation. - + - Find a NpgsqlNativeTypeInfo in the default types map that can handle objects - of the given NpgsqlDbType. + Point. - + - Find a NpgsqlNativeTypeInfo in the default types map that can handle objects - of the given DbType. + Box. - + - Find a NpgsqlNativeTypeInfo in the default types map that can handle objects - of the given System.Type. + LSeg. - + - This method is responsible to convert the string received from the backend - to the corresponding NpgsqlType. - The given TypeInfo is called upon to do the conversion. - If no TypeInfo object is provided, no conversion is performed. - + Open path. + - + - Create the one and only native to backend type map. - This map is used when formatting native data - types to backend representations. + Polygon. - + - This method creates (or retrieves from cache) a mapping between type and OID - of all natively supported postgresql data types. - This is needed as from one version to another, this mapping can be changed and - so we avoid hardcoding them. - - NpgsqlTypeMapping containing all known data types. The mapping must be - cloned before it is modified because it is cached; changes made by one connection may - effect another connection. + Convert to a postgres MAC Address. + - + - Attempt to map types by issuing a query against pg_type. - This function takes a list of NpgsqlTypeInfo and attempts to resolve the OID field - of each by querying pg_type. If the mapping is found, the type info object is - updated (OID) and added to the provided NpgsqlTypeMapping object. + Circle. - NpgsqlConnector to send query through. - Mapping object to add types too. - List of types that need to have OID's mapped. - + - Delegate called to convert the given backend data to its native representation. + Convert to a postgres inet. - + - Delegate called to convert the given native data to its backand representation. + Convert to a postgres interval + + + + + Delegate called to convert the given backend text data to its native representation. + + + + + Delegate called to convert the given backend binary data to its native representation. @@ -1553,22 +1578,34 @@ This class can be called upon to convert a backend field representation to a native object. - + Construct a new NpgsqlTypeInfo with the given attributes and conversion handlers. Type OID provided by the backend server. Type name provided by the backend server. NpgsqlDbType + DbType System type to convert fields of this type to. - Data conversion handler. + Data conversion handler for text encoding. + Data conversion handler for binary data. + + + + Perform a data conversion from a backend representation to + a native object. + + Data sent from the backend. + fieldValueSize + Type modifier field sent from the backend. - + - Perform a data conversion from a backend representation to + Perform a data conversion from a backend representation to a native object. Data sent from the backend. + TypeSize Type modifier field sent from the backend. @@ -1601,6 +1638,16 @@ System type to convert fields of this type to. + + + Reports whether a backend binary to native decoder is available for this type. + + + + + Delegate called to convert the given native data to its backand representation. + + Represents a backend data type. @@ -1613,24 +1660,28 @@ described by the NpgsqlNativeTypeInfo supplied. - + Construct a new NpgsqlTypeInfo with the given attributes and conversion handlers. Type name provided by the backend server. + DbType + Quote NpgsqlDbType - Data conversion handler. + Data conversion handler for text backend encoding. + Data conversion handler for binary backend encoding (for extended queries). - + Perform a data conversion from a native object to a backend representation. DBNull and null values are handled differently depending if a plain query is used - When + When Native .NET object to be converted. - Flag indicating if the conversion has to be done for - plain queries or extended queries + Specifies that the value should be formatted for the extended query syntax. + Options to guide serialization. If null, a default options set is used. + Specifies that the value should be formatted as an extended query array element. @@ -1657,6 +1708,11 @@ Use parameter size information. + + + Reports whether a native to backend binary encoder is available for this type. + + Provide mapping between type OID, type name, and a NpgsqlBackendTypeInfo object that represents it. @@ -1677,15 +1733,17 @@ Add the given NpgsqlBackendTypeInfo to this mapping. - + Add a new NpgsqlBackendTypeInfo with the given attributes and conversion handlers to this mapping. Type OID provided by the backend server. Type name provided by the backend server. NpgsqlDbType + DbType System type to convert fields of this type to. - Data conversion handler. + Data conversion handler for text encoding. + Data conversion handler for binary data. @@ -1727,13 +1785,16 @@ Add the given NpgsqlNativeTypeInfo to this mapping. - + Add a new NpgsqlNativeTypeInfo with the given attributes and conversion handlers to this mapping. Type name provided by the backend server. NpgsqlDbType - Data conversion handler. + DbType + Quote + Data conversion handler for text backend encoding. + Data conversion handler for binary backend encoding (for extended query). @@ -1770,100 +1831,253 @@ Get the number of type infos held. - + - Given a join expression and a projection, fetch all columns in the projection - that reference columns in the join. + Represents a PostgreSQL Point type - + - Given an InputExpression append all from names (including nested joins) to the list. + Represents a PostgreSQL Line Segment type. - + - Get new ColumnExpression that will be used in projection that had it's existing columns moved. - These should be simple references to the inner column + Represents a PostgreSQL Path type. - + - Every property accessed in the list of columns must be adjusted for a new scope + Represents a PostgreSQL Polygon type. - + - Set Cache Size. The default value is 20. + Represents a PostgreSQL Circle type. - + - Lookup cached entity. null will returned if not match. - For both get{} and set{} apply LRU rule. + Represents a PostgreSQL inet type. - key - - + - Called from constructor of derived class. + Represents a PostgreSQL MacAddress type. - + + + + + The macAddr parameter must contain a string that can only consist of numbers + and upper-case letters as hexadecimal digits. (See PhysicalAddress.Parse method on MSDN) + + - Finalizer for HashAlgorithm + This class contains helper methods for type conversion between + the .Net type system and postgresql. - + - Computes the entire hash of all the bytes in the byte array. + A cache of basic datatype mappings keyed by server version. This way we don't + have to load the basic type mappings for every connection. - + - When overridden in a derived class, drives the hashing function. + Find a NpgsqlNativeTypeInfo in the default types map that can handle objects + of the given NpgsqlDbType. - - - - + - When overridden in a derived class, this pads and hashes whatever data might be left in the buffers and then returns the hash created. + Find a NpgsqlNativeTypeInfo in the default types map that can handle objects + of the given NpgsqlDbType. - + - When overridden in a derived class, initializes the object to prepare for hashing. + Find a NpgsqlNativeTypeInfo in the default types map that can handle objects + of the given DbType. - + - Used for stream chaining. Computes hash as data passes through it. + Find a NpgsqlNativeTypeInfo in the default types map that can handle objects + of the given System.Type. - The buffer from which to grab the data to be copied. - The offset into the input buffer to start reading at. - The number of bytes to be copied. - The buffer to write the copied data to. - At what point in the outputBuffer to write the data at. - + - Used for stream chaining. Computes hash as data passes through it. Finishes off the hash. - - The buffer from which to grab the data to be copied. - The offset into the input buffer to start reading at. - The number of bytes to be copied. + This method is responsible to convert the byte[] received from the backend + to the corresponding NpgsqlType. + The given TypeInfo is called upon to do the conversion. + If no TypeInfo object is provided, no conversion is performed. + - + - Get whether or not the hash can transform multiple blocks at a time. - Note: MUST be overriden if descendant can transform multiple block - on a single call! - + This method is responsible to convert the string received from the backend + to the corresponding NpgsqlType. + The given TypeInfo is called upon to do the conversion. + If no TypeInfo object is provided, no conversion is performed. + - + + + Create the one and only native to backend type map. + This map is used when formatting native data + types to backend representations. + + + + + This method creates (or retrieves from cache) a mapping between type and OID + of all natively supported postgresql data types. + This is needed as from one version to another, this mapping can be changed and + so we avoid hardcoding them. + + NpgsqlTypeMapping containing all known data types. The mapping must be + cloned before it is modified because it is cached; changes made by one connection may + effect another connection. + + + + + Attempt to map types by issuing a query against pg_type. + This function takes a list of NpgsqlTypeInfo and attempts to resolve the OID field + of each by querying pg_type. If the mapping is found, the type info object is + updated (OID) and added to the provided NpgsqlTypeMapping object. + + NpgsqlConnector to send query through. + Mapping object to add types too. + List of types that need to have OID's mapped. + + + + Set Cache Size. The default value is 20. + + + + + Lookup cached entity. null will returned if not match. + For both get{} and set{} apply LRU rule. + + key + + + + + The globally available text encoding used for frontend/backend communication. + + + + This class represents the base class for the state pattern design pattern + implementation. + + + This class represents the base class for the state pattern design pattern + implementation. + + + This class represents the base class for the state pattern design pattern + implementation. + + + + + + This method is used by the states to change the state of the context. + + + + + Call ProcessBackendResponsesEnum(), and scan and discard all results. + + + + + This method is responsible to handle all protocol messages sent from the backend. + It holds all the logic to do it. + To exchange data, it uses a Mediator object from which it reads/writes information + to handle backend requests. + + + + + + Checks for context socket availability. + Socket.Poll supports integer as microseconds parameter. + This limits the usable command timeout value + to 2,147 seconds: (2,147 x 1,000,000 less than max_int). + In order to bypass this limit, the availability of + the socket is checked in 2,147 seconds cycles + + true, if for context socket availability was checked, false otherwise. + Context. + Select mode. + + + + Called from constructor of derived class. + + + + + Finalizer for HashAlgorithm + + + + + Computes the entire hash of all the bytes in the byte array. + + + + + When overridden in a derived class, drives the hashing function. + + + + + + + + When overridden in a derived class, this pads and hashes whatever data might be left in the buffers and then returns the hash created. + + + + + When overridden in a derived class, initializes the object to prepare for hashing. + + + + + Used for stream chaining. Computes hash as data passes through it. + + The buffer from which to grab the data to be copied. + The offset into the input buffer to start reading at. + The number of bytes to be copied. + The buffer to write the copied data to. + At what point in the outputBuffer to write the data at. + + + + Used for stream chaining. Computes hash as data passes through it. Finishes off the hash. + + The buffer from which to grab the data to be copied. + The offset into the input buffer to start reading at. + The number of bytes to be copied. + + + + Get whether or not the hash can transform multiple blocks at a time. + Note: MUST be overriden if descendant can transform multiple block + on a single call! + + + Gets the previously computed hash. @@ -1952,21 +2166,26 @@ - - Marker interface which identifies a class which may take possession of a stream for the duration of - it's lifetime (possibly temporarily giving that possession to another class for part of that time. + + Marker interface which identifies a class which may take possession of a stream for the duration of + it's lifetime (possibly temporarily giving that possession to another class for part of that time. - It inherits from IDisposable, since any such class must make sure it leaves the stream in a valid state. + It inherits from IDisposable, since any such class must make sure it leaves the stream in a valid state. - The most important such class is that compiler-generated from ProcessBackendResponsesEnum. Of course - we can't make that inherit from this interface, alas. + The most important such class is that compiler-generated from ProcessBackendResponsesEnum. Of course + we can't make that inherit from this interface, alas. + + + + + Marker interface which identifies a class which represents part of + a response from the server. - - Reads part of a field, as needed (for - and + Reads part of a field, as needed (for + and @@ -2021,57 +2240,15 @@ - - This class represents the base class for the state pattern design pattern - implementation. - - - - - - This method is used by the states to change the state of the context. - - - - - This method is responsible to handle all protocol messages sent from the backend. - It holds all the logic to do it. - To exchange data, it uses a Mediator object from which it reads/writes information - to handle backend requests. - - - - - - This method is responsible to handle all protocol messages sent from the backend. - It holds all the logic to do it. - To exchange data, it uses a Mediator object from which it reads/writes information - to handle backend requests. - - - - + - Checks for context socket availability. - Socket.Poll supports integer as microseconds parameter. - This limits the usable command timeout value - to 2,147 seconds: (2,147 x 1,000,000 less than max_int). - In order to bypass this limit, the availability of - the socket is checked in 2,147 seconds cycles + Represents a SQL statement or function (stored procedure) to execute + against a PostgreSQL database. This class cannot be inherited. - true, if for context socket availability was checked, false otherwise. - Context. - Select mode. - - - Resolve a host name or IP address. - This is needed because if you call Dns.Resolve() with an IP address, it will attempt - to resolve it as a host name, when it should just convert it to an IP address. + Represents a SQL statement or function (stored procedure) to execute + against a PostgreSQL database. This class cannot be inherited. - - - Represents a SQL statement or function (stored procedure) to execute against a PostgreSQL database. This class cannot be inherited. @@ -2103,7 +2280,7 @@ A NpgsqlConnection that represents the connection to a PostgreSQL server. The NpgsqlTransaction in which the NpgsqlCommand executes. - + Used to execute internal commands. @@ -2140,8 +2317,10 @@ - Slightly optimised version of ExecuteNonQuery() for internal ues in cases where the number + Slightly optimised version of ExecuteNonQuery() for internal use in cases where the number of affected rows is of no interest. + This function must not be called with a query that returns result rows, after calling Prepare(), or. + with a query that requires parameter substitution of any kind. @@ -2213,6 +2392,36 @@ A version of CommandText with the Parameters inserted. + + + Process this.commandText, trimming each distinct command and substituting paramater + tokens. + + + + UTF8 encoded command ready to be sent to the backend. + + + + Find the beginning and end of each distinct SQL command and produce + a list of descriptors, one for each command. Commands described are trimmed of + leading and trailing white space and their terminating semi-colons. + + Raw command text. + List of chunk descriptors. + + + + Append a region of a source command text to an output command, performing parameter token + substitutions. + + Stream to which to append output. + Command text. + Starting index within src. + Length of region to be processed. + + + Gets or sets the SQL statement or function (stored procedure) to execute at the data source. @@ -2273,20 +2482,194 @@ This class is responsible to create database commands for automatic insert, update and delete operations. + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The adapter. + This method is reponsible to derive the command parameter list with values obtained from function definition. It clears the Parameters collection of command. Also, if there is any parameter type which is not supported by Npgsql, an InvalidOperationException will be thrown. Parameters name will be parameter1, parameter2, ... - For while, only parameter name and NpgsqlDbType are obtained. NpgsqlCommand whose function parameters will be obtained. + + + Gets the automatically generated object required + to perform insertions at the data source. + + + The automatically generated object required to perform insertions. + + + + + Gets the automatically generated object required to perform insertions + at the data source, optionally using columns for parameter names. + + + If true, generate parameter names matching column names, if possible. + If false, generate @p1, @p2, and so on. + + + The automatically generated object required to perform insertions. + + + + + Gets the automatically generated System.Data.Common.DbCommand object required + to perform updates at the data source. + + + The automatically generated System.Data.Common.DbCommand object required to perform updates. + + + + + Gets the automatically generated object required to perform updates + at the data source, optionally using columns for parameter names. + + + If true, generate parameter names matching column names, if possible. + If false, generate @p1, @p2, and so on. + + + The automatically generated object required to perform updates. + + + + + Gets the automatically generated System.Data.Common.DbCommand object required + to perform deletions at the data source. + + + The automatically generated System.Data.Common.DbCommand object required to perform deletions. + + + + + Gets the automatically generated object required to perform deletions + at the data source, optionally using columns for parameter names. + + + If true, generate parameter names matching column names, if possible. + If false, generate @p1, @p2, and so on. + + + The automatically generated object required to perform deletions. + + + + + Applies the parameter information. + + The parameter. + The row. + Type of the statement. + if set to true [where clause]. + + + + Returns the name of the specified parameter in the format of @p#. + + The number to be included as part of the parameter's name.. + + The name of the parameter with the specified number appended as part of the parameter name. + + + + + Returns the full parameter name, given the partial parameter name. + + The partial name of the parameter. + + The full parameter name corresponding to the partial parameter name requested. + + + + + Returns the placeholder for the parameter in the associated SQL statement. + + The number to be included as part of the parameter's name. + + The name of the parameter with the specified number appended. + + + + + Registers the to handle the event for a . + + The to be used for the update. + + + + Adds an event handler for the event. + + The sender + A instance containing information about the event. + + + + Given an unquoted identifier in the correct catalog case, returns the correct quoted form of that identifier, including properly escaping any embedded quotes in the identifier. + + The original unquoted identifier. + + The quoted version of the identifier. Embedded quotes within the identifier are properly escaped. + + + + + Unquoted identifier parameter cannot be null + + + + Given a quoted identifier, returns the correct unquoted form of that identifier, including properly un-escaping any embedded quotes in the identifier. + + The identifier that will have its embedded quotes removed. + + The unquoted identifier, with embedded quotes properly un-escaped. + + + + + Quoted identifier parameter cannot be null + + + + Gets or sets the beginning character or characters to use when specifying database objects (for example, tables or columns) whose names contain characters such as spaces or reserved tokens. + + + The beginning character or characters to use. The default is an empty string. + + + + + + + + Gets or sets the ending character or characters to use when specifying database objects (for example, tables or columns) whose names contain characters such as spaces or reserved tokens. + + + The ending character or characters to use. The default is an empty string. + + + + + Represents the method that handles the Notice events. + The source of the event. A NpgsqlNoticeEventArgs that contains the event data. @@ -2316,6 +2699,14 @@ The connection used to open the PostgreSQL database. + + + Initializes a new instance of the + NpgsqlConnection class + and sets the ConnectionString. + + The connection used to open the PostgreSQL database. + Begins a database transaction with the specified isolation level. @@ -2366,7 +2757,13 @@ Releases the connection to the database. If the connection is pooled, it will be - made available for re-use. If it is non-pooled, the actual connection will be shutdown. + made available for re-use. If it is non-pooled, the actual connection will be shutdown. + + + + + When a connection is closed within an enclosing TransactionScope and the transaction + hasn't been promoted, we defer the actual closing until the scope ends. @@ -2403,6 +2800,11 @@ A new NpgsqlConnection object. + + + Returns a copy of the NpgsqlConnectionStringBuilder that contains the parsed connection string values. + + Default SSL CertificateSelectionCallback implementation. @@ -2423,11 +2825,33 @@ Default SSL ProvideClientCertificatesCallback implementation. + + + Default SSL ValidateRemoteCertificateCallback implementation. + + Write each key/value pair in the connection string to the log. + + + Sets the `settings` ConnectionStringBuilder based on the given `connectionString` + + The connection string to load the builder from + + + + Sets the `settings` ConnectionStringBuilder based on the given `connectionString` + + The connection string to load the builder from + + + + Refresh the cached _connectionString whenever the builder settings change + + Returns the supported collections @@ -2481,6 +2905,11 @@ Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate. + + + Called to validate server's certificate during SSL handshake + + Gets or sets the string used to connect to a PostgreSQL database. @@ -2636,65 +3065,244 @@ This can only be called when there is an active connection. - + + + Report whether the backend is expecting standard conformant strings. + In version 8.1, Postgres began reporting this value (false), but did not actually support standard conformant strings. + In version 8.2, Postgres began supporting standard conformant strings, but defaulted this flag to false. + As of version 9.1, this flag defaults to true. + + + + + Report whether the backend understands the string literal E prefix (>= 8.1). + + + + + Report whether the backend understands the hex byte format (>= 9.0). + + + + + The connector object connected to the backend. + + + + + Gets the NpgsqlConnectionStringBuilder containing the parsed connection string values. + + + + + User name. + + + + + Password. + + + + + Determine if connection pooling will be used for this connection. + + + + + Return an exact copy of this NpgsqlConnectionString. + + + + + No integrated security if we're on mono and .NET 4.5 because of ClaimsIdentity, + see https://github.com/npgsql/Npgsql/issues/133 + + + + + This function will set value for known key, both private member and base[key]. + + + + + value, coerced as needed to the stored type. + + + + The function will modify private member only, not base[key]. + + + + value, coerced as needed to the stored type. + + + + The function will access private member only, not base[key]. + + + value. + + + + Clear the member and assign them to the default value. + + + + + Gets or sets the backend server host name. + + + + + Gets or sets the backend server port. + + + + + Gets or sets the specified backend communication protocol version. + + + + + Gets or sets the name of the database to be used after a connection is opened. + + The name of the database to be + used after a connection is opened. + + + + Gets or sets the login user name. + + + + + This is a pretty horrible hack to fix https://github.com/npgsql/Npgsql/issues/133 + In a nutshell, starting with .NET 4.5 WindowsIdentity inherits from ClaimsIdentity + which doesn't exist in mono, and calling UserName getter above bombs. + The workaround is that the function that actually deals with WindowsIdentity never + gets called on mono, so never gets JITted and the problem goes away. + + + + + Gets or sets the login password as a UTF8 encoded byte array. + + + + + Sets the login password as a string. + + + + + Gets or sets a value indicating whether to attempt to use SSL. + + + + + Gets or sets a value indicating whether to attempt to use SSL. + + + + + Gets the backend encoding. Always returns "UTF8". + + + + + Gets or sets the time to wait while trying to establish a connection + before terminating the attempt and generating an error. + + The time (in seconds) to wait for a connection to open. The default value is 15 seconds. + + + + Gets or sets the schema search path. + + + + + Gets or sets a value indicating whether connection pooling should be used. + + + + + Gets or sets the time to wait before closing unused connections in the pool if the count + of all connections exeeds MinPoolSize. + + + If connection pool contains unused connections for ConnectionLifeTime seconds, + the half of them will be closed. If there will be unused connections in a second + later then again the half of them will be closed and so on. + This strategy provide smooth change of connection count in the pool. + + The time (in seconds) to wait. The default value is 15 seconds. + + - The connector object connected to the backend. + Gets or sets the minimum connection pool size. - + - Gets the NpgsqlConnectionStringBuilder containing the parsed connection string values. + Gets or sets the maximum connection pool size. - + - User name. + Gets or sets a value indicating whether to listen for notifications and report them between command activity. - + - Password. + Gets the time to wait while trying to execute a command + before terminating the attempt and generating an error. + The time (in seconds) to wait for a command to complete. The default value is 20 seconds. - + - Determine if connection pooling will be used for this connection. + Gets or sets a value indicating whether datareaders are loaded in their entirety (for compatibility with earlier code). - + - Return an exact copy of this NpgsqlConnectionString. + Compatibilty version. When possible, behaviour caused by breaking changes will be preserved + if this version is less than that where the breaking change was introduced. - + - This function will set value for known key, both private member and base[key]. + Gets or sets the ootional application name parameter to be sent to the backend during connection initiation. - - - + - The function will modify private member only, not base[key]. + Gets or sets a value indicating whether to silently Prepare() all commands before execution. - - - + - Clear the member and assign them to the default value. + Case insensative accessor for indivual connection string values. - + - Compatibilty version. When possible, behaviour caused by breaking changes will be preserved - if this version is less than that where the breaking change was introduced. + Set both ImplicitDefault and ExplicitDefault to the 's default value. + + + - + - Case insensative accessor for indivual connection string values. + Set ImplicitDefault to the default value of 's type, + and ExplicitDefault to . + + + @@ -2702,6 +3310,14 @@ A X509CertificateCollection to be filled with one or more client certificates. + + + Represents the method that is called to validate the certificate provided by the server during an SSL handshake + + The server's certificate + The certificate chain containing the certificate's CA and any intermediate authorities + Any errors that were detected + !!! Helper class, for compilation only. @@ -2714,6 +3330,8 @@ Constructor. + Connection string. + Pooled Controls whether the connector can be shared. @@ -2752,6 +3370,11 @@ Default SSL ProvideClientCertificatesCallback implementation. + + + Default SSL ValidateRemoteCertificateCallback implementation. + + This method is required to set all the version dependent features flags. @@ -2810,6 +3433,11 @@ Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate. + + + Called to validate server's certificate during SSL handshake + + Gets the current state of the connection. @@ -2830,14 +3458,19 @@ Backend protocol version in use by this connector. - + + + The physical connection socket to the backend. + + + The physical connection stream to the backend. - + - The physical connection socket to the backend. + The top level stream to the backend. @@ -2860,6 +3493,12 @@ Report whether the current connection can support prepare functionality. + + + Options that control certain aspects of native to backend conversions that depend + on backend version and status. + + This class manages all connector objects, pooled AND non-pooled. @@ -2888,11 +3527,6 @@ pool for available connectors. A connector object. - - - Find a pooled connector. Handle locking and timeout here. - - Find a pooled connector. Handle shared/non-shared here. @@ -2907,48 +3541,25 @@ Shared connectors should just have their use count decremented since they always stay in the shared pool. + Connection to which the connector is leased. The connector to release. - - - Release a pooled connector. Handle locking here. - - - + Release a pooled connector. Handle shared/non-shared here. - - - Create a connector without any pooling functionality. - - Find an available pooled connector in the non-shared pool, or create a new one if none found. - - - This method is only called when NpgsqlConnection.Dispose(false) is called which means a - finalization. This also means, an NpgsqlConnection was leak. We clear pool count so that - client doesn't end running out of connections from pool. When the connection is finalized, its underlying - socket is closed. - - - - - Close the connector. - - - Connector to release - - + Put a pooled connector into the pool queue. + Connection is leased to. Connector to pool @@ -3437,8 +4048,8 @@ Get the value of a column as a . - If the differences between and - in handling of days and months is not important to your application, use + If the differences between and + in handling of days and months is not important to your application, use instead. Index of the field to find. @@ -3491,13 +4102,14 @@ - Copy values from each column in the current row into . + Copy values from each column in the current row into . + Destination for column values. The number of column values copied. - Copy values from each column in the current row into . + Copy values from each column in the current row into . An array appropriately sized to store values from all columns. The number of column values copied. @@ -3575,14 +4187,14 @@ - This is the primary implementation of NpgsqlDataReader. It is the one used in normal cases (where the + This is the primary implementation of NpgsqlDataReader. It is the one used in normal cases (where the preload-reader option is not set in the connection string to resolve some potential backwards-compatibility issues), the only implementation used internally, and in cases where CachingDataReader is used, it is still used to do the actual "leg-work" of turning a response stream from the server into a datareader-style object - with CachingDataReader then filling it's cache from here. - + Iterate through the objects returned through from the server. If it's a CompletedResponse the rowsaffected count is updated appropriately, @@ -3671,7 +4283,20 @@ - This class represents the Parse message sent to PostgreSQL + This is the base class for NpgsqlDescribeStatement and NpgsqlDescribePortal. + + + + + + This class represents the Statement Describe message sent to PostgreSQL + server. + + + + + + This class represents the Portal Describe message sent to PostgreSQL server. @@ -3757,6 +4382,31 @@ Source routine (in backend) reporting the error. PostgreSQL 7.4 and up. + + + Schema name which relates to the error. PostgreSQL 9.3 and up. + + + + + Table name which relates to the error. PostgreSQL 9.3 and up. + + + + + Column name which relates to the error. PostgreSQL 9.3 and up. + + + + + Data type of column which relates to the error. PostgreSQL 9.3 and up. + + + + + Constraint name which relates to the error. PostgreSQL 9.3 and up. + + String containing the sql sent which produced this error. @@ -3767,6 +4417,116 @@ Backend protocol version in use. + + + Error and notice message field codes + + + + + Severity: the field contents are ERROR, FATAL, or PANIC (in an error message), + or WARNING, NOTICE, DEBUG, INFO, or LOG (in a notice message), or a localized + translation of one of these. Always present. + + + + + Code: the SQLSTATE code for the error (see Appendix A). Not localizable. Always present. + + + + + Message: the primary human-readable error message. This should be accurate + but terse (typically one line). Always present. + + + + + Detail: an optional secondary error message carrying more detail about the problem. + Might run to multiple lines. + + + + + Hint: an optional suggestion what to do about the problem. This is intended to differ + from Detail in that it offers advice (potentially inappropriate) rather than hard facts. + Might run to multiple lines. + + + + + Position: the field value is a decimal ASCII integer, indicating an error cursor + position as an index into the original query string. The first character has index 1, + and positions are measured in characters not bytes. + + + + + Internal position: this is defined the same as the P field, but it is used when the + cursor position refers to an internally generated command rather than the one submitted + by the client. + The q field will always appear when this field appears. + + + + + Internal query: the text of a failed internally-generated command. + This could be, for example, a SQL query issued by a PL/pgSQL function. + + + + + Where: an indication of the context in which the error occurred. + Presently this includes a call stack traceback of active procedural language functions + and internally-generated queries. The trace is one entry per line, most recent first. + + + + + Schema name: if the error was associated with a specific database object, + the name of the schema containing that object, if any. + + + + + Table name: if the error was associated with a specific table, the name of the table. + (Refer to the schema name field for the name of the table's schema.) + + + + + Column name: if the error was associated with a specific table column, the name of the column. + (Refer to the schema and table name fields to identify the table.) + + + + + Data type name: if the error was associated with a specific data type, the name of the data type. + (Refer to the schema name field for the name of the data type's schema.) + + + + + Constraint name: if the error was associated with a specific constraint, the name of the constraint. + Refer to fields listed above for the associated table or domain. + (For this purpose, indexes are treated as constraints, even if they weren't created with constraint syntax.) + + + + + File: the file name of the source-code location where the error was reported. + + + + + Line: the line number of the source-code location where the error was reported. + + + + + Routine: the name of the source-code routine reporting the error. + + The level of verbosity of the NpgsqlEventLog @@ -3989,6 +4749,31 @@ Source routine (in backend) reporting the error. PostgreSQL 7.4 and up. + + + Schema name which relates to the error. PostgreSQL 9.3 and up. + + + + + Table name which relates to the error. PostgreSQL 9.3 and up. + + + + + Column name which relates to the error. PostgreSQL 9.3 and up. + + + + + Data type of column which relates to the error. PostgreSQL 9.3 and up. + + + + + Constraint name which relates to the error. PostgreSQL 9.3 and up. + + String containing the sql sent which produced this error. @@ -4001,7 +4786,7 @@ - This class represents the Parse message sent to PostgreSQL + This class represents the Execute message sent to PostgreSQL server. @@ -4018,11 +4803,18 @@ - This class represents the Parse message sent to PostgreSQL + This class represents the Flush message sent to PostgreSQL server. + + + For classes representing simple messages, + consisting only of a message code and length identifier, + sent from the client to the server. + + This class is responsible for serving as bridge between the backend @@ -4135,6 +4927,11 @@ A new NpgsqlParameter that is a copy of this instance. + + + The collection to which this parameter belongs, if any. + + Gets or sets the maximum number of digits used to represent the @@ -4241,6 +5038,12 @@ Initializes a new instance of the NpgsqlParameterCollection class. + + + Invalidate the hash lookup tables. This should be done any time a change + may throw the lookups out of sync with the list. + + Adds the specified NpgsqlParameter object to the NpgsqlParameterCollection. @@ -4250,11 +5053,8 @@ - Adds a NpgsqlParameter to the NpgsqlParameterCollection given the specified parameter name and value. + Obsolete. Use AddWithValue instead. - The name of the NpgsqlParameter. - The Value of the NpgsqlParameter to add to the collection. - The index of the new NpgsqlParameter object. Use caution when using this overload of the Add method to specify integer parameter values. @@ -4266,6 +5066,44 @@ are attempting to call the NpgsqlParameterCollection.Add(string, DbType) overload. + + + Adds a NpgsqlParameter to the NpgsqlParameterCollection given the specified parameter name and value. + + The name of the NpgsqlParameter. + The Value of the NpgsqlParameter to add to the collection. + The paramater that was added. + + + + Adds a NpgsqlParameter to the NpgsqlParameterCollection given the specified parameter name and value. + + The name of the NpgsqlParameter. + The Value of the NpgsqlParameter to add to the collection. + One of the NpgsqlDbType values. + The paramater that was added. + + + + Adds a NpgsqlParameter to the NpgsqlParameterCollection given the specified parameter name and value. + + The name of the NpgsqlParameter. + The Value of the NpgsqlParameter to add to the collection. + One of the NpgsqlDbType values. + The length of the column. + The paramater that was added. + + + + Adds a NpgsqlParameter to the NpgsqlParameterCollection given the specified parameter name and value. + + The name of the NpgsqlParameter. + The Value of the NpgsqlParameter to add to the collection. + One of the NpgsqlDbType values. + The length of the column. + The name of the source column. + The paramater that was added. + Adds a NpgsqlParameter to the NpgsqlParameterCollection given the parameter name and the data type. @@ -4324,13 +5162,19 @@ Inserts a NpgsqlParameter into the collection at the specified index. The zero-based index where the parameter is to be inserted within the collection. - The NpgsqlParameter to add to the collection. + The NpgsqlParameter to add to the collection. + + + + Removes the specified NpgsqlParameter from the collection. + + The name of the NpgsqlParameter to remove from the collection. Removes the specified NpgsqlParameter from the collection. - The NpgsqlParameter to remove from the collection. + The NpgsqlParameter to remove from the collection. @@ -4458,12 +5302,6 @@ Provides the underlying mechanism for reading schema information. - - - Creates an NpgsqlSchema that can read schema information from the database. - - An open database connection for reading metadata. - Returns the MetaDataCollections that lists all possible collections. @@ -4476,38 +5314,43 @@ The Restrictions - + Returns the Databases that contains a list of all accessable databases. + The database connection on which to run the metadataquery. The restrictions to filter the collection. The Databases - + Returns the Tables that contains table and view names and the database and schema they come from. + The database connection on which to run the metadataquery. The restrictions to filter the collection. The Tables - + - Returns the Columns that contains information about columns in tables. + Returns the Columns that contains information about columns in tables. + The database connection on which to run the metadataquery. The restrictions to filter the collection. The Columns. - + Returns the Views that contains view names and the database and schema they come from. + The database connection on which to run the metadataquery. The restrictions to filter the collection. The Views - + Returns the Users containing user names and the sysid of those users. + The database connection on which to run the metadataquery. The restrictions to filter the collection. The Users. @@ -4525,7 +5368,7 @@ - This class represents the Parse message sent to PostgreSQL + This class represents the Sync message sent to PostgreSQL server. @@ -4616,28 +5459,72 @@ number of bytes to read The number of bytes read. May be less than count if no more bytes are available. - + + + Reads requested number of bytes from . If output matches exactly, and == false, is returned directly. + + Source array. + Starting position to read from + Number of bytes to read + Force a copy, even if the output is an exact copy of . + byte[] containing data requested. + + + + This method writes a string to the network stream. + + + + + This method writes a string to the network stream. + + + This method writes a C NULL terminated string to the network stream. It appends a NULL terminator to the end of the String. + + This method writes a C NULL terminated string to the network stream. It appends a NULL terminator to the end of the String. - + + + This method writes a byte to the stream. It also enables logging of them. + + + + + This method writes a byte to the stream. It also enables logging of them. + + + + + This method writes a set of bytes to the stream. It also enables logging of them. + + + This method writes a set of bytes to the stream. It also enables logging of them. - + This method writes a C NULL terminated string limited in length to the backend server. It pads the string with null bytes to the size specified. + + + This method writes a C NULL terminated byte[] limited in length to the + backend server. + It pads the string with null bytes to the size specified. + + Write a 32-bit integer to the given stream in the correct byte order. @@ -4648,6 +5535,11 @@ Read a 32-bit integer from the given stream in the correct byte order. + + + Read a 32-bit integer from the given array in the correct byte order. + + Write a 16-bit integer to the given stream in the correct byte order. @@ -4658,17 +5550,40 @@ Read a 16-bit integer from the given stream in the correct byte order. + + + Read a 16-bit integer from the given array in the correct byte order. + + + + + Copy and possibly reverse a byte array, depending on host architecture endienness. + + Source byte array. + Force a copy even if no swap is performed. + , reversed if on a little-endian architecture, copied if required. + + + + Copy and possibly reverse a byte array, depending on host architecture endienness. + + Source byte array. + Starting offset in source array. + Number of bytes to copy. + Force a copy even if no swap is performed. + , reversed if on a little-endian architecture, copied if required. + Represent the frontend/backend protocol version. - - Represent the backend server version. - As this class offers no functionality beyond that offered by it has been - deprecated in favour of that class. - + + Represent the backend server version. + As this class offers no functionality beyond that offered by it has been + deprecated in favour of that class. + -- cgit v1.1 From c5d0c69a3584dbda48c0afcaaff6818cc7dfc294 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 19 May 2017 02:51:37 +0100 Subject: update libomv LitJSON to version 0.9.0 --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 102400 bytes bin/OpenMetaverse.dll | Bin 2199552 -> 2199552 bytes bin/OpenMetaverseTypes.dll | Bin 110592 -> 110592 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 7087584..d376015 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index dd3113d..d269154 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 1a63a9f..a0782f8 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index cf5080d..aa1d2e6 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 774e00b3ee215a520b3ffaff44bd944a3168b189 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 20 May 2017 17:02:25 +0100 Subject: merge --- bin/HttpServer_OpenSim.dll | Bin 119808 -> 132096 bytes bin/HttpServer_OpenSim.pdb | Bin 327168 -> 357888 bytes bin/MySql.Data.dll | Bin 424448 -> 424448 bytes 3 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 42ef8c3..a954b0a 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index 5065532..5a348e7 100644 Binary files a/bin/HttpServer_OpenSim.pdb and b/bin/HttpServer_OpenSim.pdb differ diff --git a/bin/MySql.Data.dll b/bin/MySql.Data.dll index 9abfb6b..c9f344a 100755 Binary files a/bin/MySql.Data.dll and b/bin/MySql.Data.dll differ -- cgit v1.1 From 2008e6569507bf67e1ec2f18b57bdb19494e72c2 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 24 May 2017 21:08:21 +0100 Subject: mantis 8780 replace ode bins for linux with ones compiled against older Glibc, Thanks Jak --- bin/lib32/libode.so | Bin 4232000 -> 4401180 bytes bin/lib64/libode-x86_64.so | Bin 6427600 -> 5802413 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/libode.so b/bin/lib32/libode.so index 3e08c42..47991ae 100755 Binary files a/bin/lib32/libode.so and b/bin/lib32/libode.so differ diff --git a/bin/lib64/libode-x86_64.so b/bin/lib64/libode-x86_64.so index 2f616dd..17502c5 100755 Binary files a/bin/lib64/libode-x86_64.so and b/bin/lib64/libode-x86_64.so differ -- cgit v1.1 From 0d31898fd6b99ab06579b6666e84b9155a943e76 Mon Sep 17 00:00:00 2001 From: Geir Nøklebye Date: Wed, 24 May 2017 15:20:37 +0200 Subject: Update macOS version of libode to 0.13.2. The library is build as a fat library with both 32 and 64 bit code. O3 optimization and built with macOS 10.11 SDK. Signed-off-by: UbitUmarov --- bin/lib32/libode.dylib | Bin 1686484 -> 2632228 bytes bin/lib64/libode.dylib | Bin 1686484 -> 2632228 bytes 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 bin/lib32/libode.dylib mode change 100644 => 100755 bin/lib64/libode.dylib (limited to 'bin') diff --git a/bin/lib32/libode.dylib b/bin/lib32/libode.dylib old mode 100644 new mode 100755 index ce0d5d0..fa3c070 Binary files a/bin/lib32/libode.dylib and b/bin/lib32/libode.dylib differ diff --git a/bin/lib64/libode.dylib b/bin/lib64/libode.dylib old mode 100644 new mode 100755 index ce0d5d0..fa3c070 Binary files a/bin/lib64/libode.dylib and b/bin/lib64/libode.dylib differ -- cgit v1.1 From 426f2130fcc865e95d76d0a7de9a1f4d4d104c51 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 26 May 2017 01:50:54 +0100 Subject: change opensim-ode.sh to use the ode engine defined on opensim.ini --- bin/OpenSim.ini.example | 4 ++++ bin/opensim-ode.sh | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 021e444..5d969ce 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -259,6 +259,10 @@ ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also ; physics = ubODE + ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit + ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions + ; edit the line ulimit -s 262144, and change this last value + ;# {DefaultScriptEngine} {} {Default script engine} {XEngine} XEngine ;; Default script engine to use. Currently, we only have XEngine ; DefaultScriptEngine = "XEngine" diff --git a/bin/opensim-ode.sh b/bin/opensim-ode.sh index b901425..7c61571 100755 --- a/bin/opensim-ode.sh +++ b/bin/opensim-ode.sh @@ -1,4 +1,4 @@ #!/bin/sh -echo "Starting OpenSimulator with ODE. If you get an error saying limit: Operation not permitted. Then you will need to chmod 0600 /etc/limits" +echo "Starting OpenSimulator with ODE or ubOde. If you get an error saying limit: Operation not permitted. Then you will need to chmod 0600 /etc/limits" ulimit -s 262144 -mono OpenSim.exe -physics=OpenDynamicsEngine +mono OpenSim.exe -- cgit v1.1 From d5d09253bca030b6aaba929206c9e3486d56bcd3 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 27 May 2017 06:47:54 +0100 Subject: add test cert --- bin/OS.p12 | Bin 0 -> 4189 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 bin/OS.p12 (limited to 'bin') diff --git a/bin/OS.p12 b/bin/OS.p12 new file mode 100644 index 0000000..2a23758 Binary files /dev/null and b/bin/OS.p12 differ -- cgit v1.1 From 6609965f6e7c8e14c98c13c600d9666bebd0640f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 27 May 2017 06:50:45 +0100 Subject: ops no --- bin/OS.p12 | Bin 4189 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bin/OS.p12 (limited to 'bin') diff --git a/bin/OS.p12 b/bin/OS.p12 deleted file mode 100644 index 2a23758..0000000 Binary files a/bin/OS.p12 and /dev/null differ -- cgit v1.1 From 2603363e3ee792988541c14817aa355a2a9a280e Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 27 May 2017 12:51:32 +0100 Subject: update test httpserver, be more tolerant on protocols --- bin/HttpServer_OpenSim.dll | Bin 132096 -> 120320 bytes bin/HttpServer_OpenSim.pdb | Bin 357888 -> 327168 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index a954b0a..c027283 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index 5a348e7..979eb7d 100644 Binary files a/bin/HttpServer_OpenSim.pdb and b/bin/HttpServer_OpenSim.pdb differ -- cgit v1.1 From a2c824e124bc20a101c82da1ae82f1b80550f777 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 27 May 2017 13:56:28 +0100 Subject: get back to .net4.0 for now --- bin/HttpServer_OpenSim.dll | Bin 120320 -> 120320 bytes bin/HttpServer_OpenSim.pdb | Bin 327168 -> 327168 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index c027283..300c25d 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index 979eb7d..51a5b08 100644 Binary files a/bin/HttpServer_OpenSim.pdb and b/bin/HttpServer_OpenSim.pdb differ -- cgit v1.1 From e5991124dda62bd5bc4bce2cc5b2241ea2ef65f0 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 31 May 2017 01:29:38 +0100 Subject: merge LocalNeighbourServicesConnector and RemoteNeighbourServicesConnector in single NeighbourServicesOutConnector --- bin/config-include/Grid.ini | 2 +- bin/config-include/GridHypergrid.ini | 2 +- bin/config-include/HyperSimianGrid.ini | 2 +- bin/config-include/SimianGrid.ini | 2 +- bin/config-include/Standalone.ini | 2 +- bin/config-include/StandaloneHypergrid.ini | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) (limited to 'bin') diff --git a/bin/config-include/Grid.ini b/bin/config-include/Grid.ini index fc98879..988e681 100644 --- a/bin/config-include/Grid.ini +++ b/bin/config-include/Grid.ini @@ -12,7 +12,7 @@ InventoryServices = "RemoteXInventoryServicesConnector" GridServices = "RemoteGridServicesConnector" AvatarServices = "RemoteAvatarServicesConnector" - NeighbourServices = "RemoteNeighbourServicesConnector" + NeighbourServices = "NeighbourServicesOutConnector" AuthenticationServices = "RemoteAuthenticationServicesConnector" AuthorizationServices = "LocalAuthorizationServicesConnector" PresenceServices = "RemotePresenceServicesConnector" diff --git a/bin/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini index f5f4c87..68f2eb1 100644 --- a/bin/config-include/GridHypergrid.ini +++ b/bin/config-include/GridHypergrid.ini @@ -15,7 +15,7 @@ InventoryServices = "HGInventoryBroker" GridServices = "RemoteGridServicesConnector" AvatarServices = "RemoteAvatarServicesConnector" - NeighbourServices = "RemoteNeighbourServicesConnector" + NeighbourServices = "NeighbourServicesOutConnector" AuthenticationServices = "RemoteAuthenticationServicesConnector" AuthorizationServices = "LocalAuthorizationServicesConnector" PresenceServices = "RemotePresenceServicesConnector" diff --git a/bin/config-include/HyperSimianGrid.ini b/bin/config-include/HyperSimianGrid.ini index efad577..018c65e 100644 --- a/bin/config-include/HyperSimianGrid.ini +++ b/bin/config-include/HyperSimianGrid.ini @@ -29,7 +29,7 @@ InventoryServices = "HGInventoryBroker" AvatarServices = "SimianAvatarServiceConnector" - NeighbourServices = "RemoteNeighbourServicesConnector" + NeighbourServices = "NeighbourServicesOutConnector" SimulationServices = "RemoteSimulationConnectorModule" EntityTransferModule = "HGEntityTransferModule" InventoryAccessModule = "HGInventoryAccessModule" diff --git a/bin/config-include/SimianGrid.ini b/bin/config-include/SimianGrid.ini index 5749656..b3db08a 100644 --- a/bin/config-include/SimianGrid.ini +++ b/bin/config-include/SimianGrid.ini @@ -29,7 +29,7 @@ InventoryServices = "SimianInventoryServiceConnector" AvatarServices = "SimianAvatarServiceConnector" - NeighbourServices = "RemoteNeighbourServicesConnector" + NeighbourServices = "NeighbourServicesOutConnector" SimulationServices = "RemoteSimulationConnectorModule" EntityTransferModule = "BasicEntityTransferModule" InventoryAccessModule = "BasicInventoryAccessModule" diff --git a/bin/config-include/Standalone.ini b/bin/config-include/Standalone.ini index 78ada2b..db7cb36 100644 --- a/bin/config-include/Standalone.ini +++ b/bin/config-include/Standalone.ini @@ -7,7 +7,7 @@ [Modules] AssetServices = "LocalAssetServicesConnector" InventoryServices = "LocalInventoryServicesConnector" - NeighbourServices = "LocalNeighbourServicesConnector" + NeighbourServices = "NeighbourServicesOutConnector" AuthenticationServices = "LocalAuthenticationServicesConnector" AuthorizationServices = "LocalAuthorizationServicesConnector" GridServices = "LocalGridServicesConnector" diff --git a/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini index eaacfff..84867a9 100644 --- a/bin/config-include/StandaloneHypergrid.ini +++ b/bin/config-include/StandaloneHypergrid.ini @@ -10,7 +10,7 @@ [Modules] AssetServices = "HGAssetBroker" InventoryServices = "HGInventoryBroker" - NeighbourServices = "LocalNeighbourServicesConnector" + NeighbourServices = "NeighbourServicesOutConnector" AuthenticationServices = "LocalAuthenticationServicesConnector" AuthorizationServices = "LocalAuthorizationServicesConnector" GridServices = "LocalGridServicesConnector" -- cgit v1.1 From 3cddfddc3f3aaa0e463e6fd8ddb87a0e2afff5b8 Mon Sep 17 00:00:00 2001 From: Kevin Cozens Date: Mon, 22 May 2017 11:10:39 -0400 Subject: Minor changes to commented text in bin/OpenSim.ini.example --- bin/OpenSim.ini.example | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 5d969ce..543b7f8 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -141,7 +141,7 @@ ;; The XML here has the same format as it does on the filesystem ;; (including the tag), except that everything is also enclosed ;; in a tag. - ; regionload_webserver_url = "http://example.com/regions.xml"; + ; regionload_webserver_url = "http://example.com/regions.xml" ;# {allow_regionless} {} {Allow simulator to start up with no regions configured.} {true false} false ;; Allow the simulator to start up if there are no region configuration available @@ -289,8 +289,8 @@ ;; SpawnPointRouting adjusts the landing for incoming avatars. ;; "closest" will place the avatar at the SpawnPoint located in the closest ;; available spot to the destination (typically map click/landmark). - ;; "random" will place the avatar on a randomly selected spawnpoint; - ;; "sequence" will place the avatar on the next sequential SpawnPoint + ;; "random" will place the avatar on a randomly selected spawnpoint. + ;; "sequence" will place the avatar on the next sequential SpawnPoint. ; SpawnPointRouting = closest ;# {TelehubAllowLandmark} {} {Allow users with landmarks to override telehub routing} {true false} false @@ -367,8 +367,8 @@ ; TexturePrimSize = 48 ;# {RenderMeshes} {} {Render meshes and sculpties on map tiles?} {true false} false - ;; Attempt to render meshes and sculpties on the map - ; RenderMeshes = false; + ;; Attempt to render meshes and sculpties on the map. + ; RenderMeshes = false [Permissions] @@ -550,7 +550,7 @@ ;; web server ; user_agent = "OpenSim LSL (Mozilla Compatible)" - ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services. + ;; The following 3 variables are for HTTP Basic Authentication for the Robust services. ;; Use this if your central services in port 8003 need to be accessible on the Internet ;; but you want to protect them from unauthorized access. The username and password ;; here need to match the ones in the Robust service configuration. @@ -615,7 +615,6 @@ [SimulatorFeatures] - ;# {SearchServerURI} {} {URL of the search server} {} ;; Optional. If given this serves the same purpose as the grid wide ;; [LoginServices] SearchURL setting and will override that where @@ -672,7 +671,7 @@ ;; For standalones, this is the storage dll. ; StorageProvider = OpenSim.Data.MySQL.dll - ;# {MuteListModule} {OfflineMessageModule:OfflineMessageModule} {} {} MuteListModule + ;# {MuteListModule} {OfflineMessageModule:OfflineMessageModule} {} {} None ;; Mute list handler (not yet implemented). MUST BE SET to allow offline ;; messages to work ; MuteListModule = MuteListModule @@ -1128,7 +1127,7 @@ [MediaOnAPrim] ;# {Enabled} {} {Enable Media-on-a-Prim (MOAP)} {true false} true ;; Enable media on a prim facilities - ; Enabled = true; + ; Enabled = true [NPC] -- cgit v1.1 From 08659811c7d8aeb229c95c0437d509367e59550d Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 11 Jun 2017 13:04:34 +0100 Subject: put back opensim 32bit launcher, renamed as OpenSim32.exe. This allows opensim to run in 32bit mode on 64bit machines. Possible most opensim regions should be running like this. 2GB of Virtual memory is still a lot on memory --- bin/OpenSim.32BitLaunch.exe.config | 75 ------------------------------------- bin/OpenSim.32BitLaunch.pdb | Bin 11776 -> 0 bytes bin/OpenSim32.exe | Bin 0 -> 5632 bytes bin/OpenSim32.exe.config | 75 +++++++++++++++++++++++++++++++++++++ bin/OpenSim32.pdb | Bin 0 -> 11776 bytes 5 files changed, 75 insertions(+), 75 deletions(-) delete mode 100644 bin/OpenSim.32BitLaunch.exe.config delete mode 100644 bin/OpenSim.32BitLaunch.pdb create mode 100644 bin/OpenSim32.exe create mode 100644 bin/OpenSim32.exe.config create mode 100644 bin/OpenSim32.pdb (limited to 'bin') diff --git a/bin/OpenSim.32BitLaunch.exe.config b/bin/OpenSim.32BitLaunch.exe.config deleted file mode 100644 index 5b7807a..0000000 --- a/bin/OpenSim.32BitLaunch.exe.config +++ /dev/null @@ -1,75 +0,0 @@ - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/OpenSim.32BitLaunch.pdb b/bin/OpenSim.32BitLaunch.pdb deleted file mode 100644 index 5083dd5..0000000 Binary files a/bin/OpenSim.32BitLaunch.pdb and /dev/null differ diff --git a/bin/OpenSim32.exe b/bin/OpenSim32.exe new file mode 100644 index 0000000..74477c0 Binary files /dev/null and b/bin/OpenSim32.exe differ diff --git a/bin/OpenSim32.exe.config b/bin/OpenSim32.exe.config new file mode 100644 index 0000000..95b4a10 --- /dev/null +++ b/bin/OpenSim32.exe.config @@ -0,0 +1,75 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bin/OpenSim32.pdb b/bin/OpenSim32.pdb new file mode 100644 index 0000000..86d3058 Binary files /dev/null and b/bin/OpenSim32.pdb differ -- cgit v1.1 From 7941f8da232dbfe55882bc0704684072a04c2375 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 11 Jun 2017 18:12:25 +0100 Subject: add opensim.sh and opensim32.sh for linux, replacing old opensim-ode.sh --- bin/opensim-ode.sh | 4 ---- bin/opensim.sh | 5 +++++ bin/opensim32.sh | 5 +++++ 3 files changed, 10 insertions(+), 4 deletions(-) delete mode 100755 bin/opensim-ode.sh create mode 100644 bin/opensim.sh create mode 100644 bin/opensim32.sh (limited to 'bin') diff --git a/bin/opensim-ode.sh b/bin/opensim-ode.sh deleted file mode 100755 index 7c61571..0000000 --- a/bin/opensim-ode.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -echo "Starting OpenSimulator with ODE or ubOde. If you get an error saying limit: Operation not permitted. Then you will need to chmod 0600 /etc/limits" -ulimit -s 262144 -mono OpenSim.exe diff --git a/bin/opensim.sh b/bin/opensim.sh new file mode 100644 index 0000000..508d925 --- /dev/null +++ b/bin/opensim.sh @@ -0,0 +1,5 @@ +#!/bin/sh +ulimit -s 1048576 +# next option may improve SGen gc (for opensim only) you may also need to increase nursery size on large regions +#export MONO_GC_PARAMS="minor=split,promotion-age=14" +mono --desktop OpenSim.exe diff --git a/bin/opensim32.sh b/bin/opensim32.sh new file mode 100644 index 0000000..0a0be32 --- /dev/null +++ b/bin/opensim32.sh @@ -0,0 +1,5 @@ +#!/bin/sh +ulimit -s 1048576 +# next option may improve SGen gc (for opensim only) +#export MONO_GC_PARAMS="minor=split,promotion-age=14" +mono --desktop OpenSim32.exe -- cgit v1.1 From 46c8c4854e393d841045c2db0e6cfee56e16304f Mon Sep 17 00:00:00 2001 From: Kevin Cozens Date: Sun, 11 Jun 2017 13:30:12 -0400 Subject: Set the execute bit on the bin/opensim*.sh files --- bin/opensim.sh | 0 bin/opensim32.sh | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 bin/opensim.sh mode change 100644 => 100755 bin/opensim32.sh (limited to 'bin') diff --git a/bin/opensim.sh b/bin/opensim.sh old mode 100644 new mode 100755 diff --git a/bin/opensim32.sh b/bin/opensim32.sh old mode 100644 new mode 100755 -- cgit v1.1 From bd2da771a48a922a6533e2272cd54e0adb98a84b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 11 Jun 2017 18:38:54 +0100 Subject: remove a ref to old 32bitlauncher --- bin/OpenSim32.exe.config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim32.exe.config b/bin/OpenSim32.exe.config index 95b4a10..bea1288 100644 --- a/bin/OpenSim32.exe.config +++ b/bin/OpenSim32.exe.config @@ -25,14 +25,14 @@ - + -- cgit v1.1 From 8c5f09f44be78543883cbb73cb701930c62d64c1 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 11 Jun 2017 18:56:34 +0100 Subject: actually.. its opensim, use same log file name in 32b mode --- bin/OpenSim32.exe.config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim32.exe.config b/bin/OpenSim32.exe.config index bea1288..9224240 100644 --- a/bin/OpenSim32.exe.config +++ b/bin/OpenSim32.exe.config @@ -25,14 +25,14 @@ - + -- cgit v1.1 From 5e83c2e4228573788c13c03e93ccafabb7bb2555 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 11 Jun 2017 19:29:59 +0100 Subject: forget about stupid mono 32bit --- bin/opensim32.sh | 5 ----- 1 file changed, 5 deletions(-) delete mode 100755 bin/opensim32.sh (limited to 'bin') diff --git a/bin/opensim32.sh b/bin/opensim32.sh deleted file mode 100755 index 0a0be32..0000000 --- a/bin/opensim32.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -ulimit -s 1048576 -# next option may improve SGen gc (for opensim only) -#export MONO_GC_PARAMS="minor=split,promotion-age=14" -mono --desktop OpenSim32.exe -- cgit v1.1 From 46ba2ead1a5dc83b371b37fb954a939475e50df4 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 12 Jun 2017 20:28:14 +0100 Subject: add Robust32.exe so recovering the option to run it also in 32bit on windows --- bin/Robust.32BitLaunch.exe.config | 63 --------------------------------- bin/Robust32.exe | Bin 0 -> 5632 bytes bin/Robust32.exe.config | 72 ++++++++++++++++++++++++++++++++++++++ bin/Robust32.pdb | Bin 0 -> 11776 bytes bin/Robust32.vshost.exe | Bin 0 -> 22696 bytes bin/Robust32.vshost.exe.config | 72 ++++++++++++++++++++++++++++++++++++++ 6 files changed, 144 insertions(+), 63 deletions(-) delete mode 100644 bin/Robust.32BitLaunch.exe.config create mode 100644 bin/Robust32.exe create mode 100644 bin/Robust32.exe.config create mode 100644 bin/Robust32.pdb create mode 100644 bin/Robust32.vshost.exe create mode 100644 bin/Robust32.vshost.exe.config (limited to 'bin') diff --git a/bin/Robust.32BitLaunch.exe.config b/bin/Robust.32BitLaunch.exe.config deleted file mode 100644 index 0399a1b..0000000 --- a/bin/Robust.32BitLaunch.exe.config +++ /dev/null @@ -1,63 +0,0 @@ - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/Robust32.exe b/bin/Robust32.exe new file mode 100644 index 0000000..1ae2a36 Binary files /dev/null and b/bin/Robust32.exe differ diff --git a/bin/Robust32.exe.config b/bin/Robust32.exe.config new file mode 100644 index 0000000..ca3ee0e --- /dev/null +++ b/bin/Robust32.exe.config @@ -0,0 +1,72 @@ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bin/Robust32.pdb b/bin/Robust32.pdb new file mode 100644 index 0000000..2fded80 Binary files /dev/null and b/bin/Robust32.pdb differ diff --git a/bin/Robust32.vshost.exe b/bin/Robust32.vshost.exe new file mode 100644 index 0000000..681ab77 Binary files /dev/null and b/bin/Robust32.vshost.exe differ diff --git a/bin/Robust32.vshost.exe.config b/bin/Robust32.vshost.exe.config new file mode 100644 index 0000000..ca3ee0e --- /dev/null +++ b/bin/Robust32.vshost.exe.config @@ -0,0 +1,72 @@ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file -- cgit v1.1 From 25371933b4809e0c542fa7de795e09b1b40bb21e Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 12 Jun 2017 20:36:36 +0100 Subject: update Robust32.exe build files --- bin/Robust32.exe | Bin 5632 -> 5632 bytes bin/Robust32.pdb | Bin 11776 -> 11776 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Robust32.exe b/bin/Robust32.exe index 1ae2a36..e5e4674 100644 Binary files a/bin/Robust32.exe and b/bin/Robust32.exe differ diff --git a/bin/Robust32.pdb b/bin/Robust32.pdb index 2fded80..15a0d75 100644 Binary files a/bin/Robust32.pdb and b/bin/Robust32.pdb differ -- cgit v1.1 From e650a4ff16df1dd7de9cfbe69727926f1b608f1a Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 13 Jun 2017 08:56:21 +0100 Subject: remove excessive notion of paralelism --- bin/OpenSimDefaults.ini | 8 -------- 1 file changed, 8 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 21ff8d6..83bf9d7 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -649,14 +649,6 @@ [ClientStack.LindenUDP] - ; Set this to true to process incoming packets asynchronously. Networking is - ; already separated from packet handling with a queue, so this will only - ; affect whether networking internals such as packet decoding and - ; acknowledgement accounting are done synchronously or asynchronously - ; Default is true. - ; - ;async_packet_handling = true - ; The client socket receive buffer size determines how many ; incoming requests we can process; the default on .NET is 8192 ; which is about 2 4k-sized UDP datagrams. On mono this is -- cgit v1.1 From ef87370cf14ca6a23698c0af10d1535f4d0e4f43 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 14 Jun 2017 15:58:02 +0100 Subject: remove options about script compilers the got back somehow --- bin/OpenSim.ini.example | 11 ----------- 1 file changed, 11 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 543b7f8..05a43f4 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -930,17 +930,6 @@ ;; it is more usefull if there are no previously compiled scripts DLLs (as with DeleteScriptsOnStartup = true) ;CompactMemOnLoad = false - ;# {DefaultCompileLanguage} {Enabled:true} {Default script language?} {lsl vb cs} lsl - ;; Default language for scripts - ; DefaultCompileLanguage = "lsl" - - ;# {AllowedCompilers} {Enabled:true} {Languages to allow (comma separated)?} {} lsl - ;; List of allowed languages (lsl,vb,cs) - ;; AllowedCompilers=lsl,cs,vb - ;; *warning*, non lsl languages have access to static methods such as - ;; System.IO.File. Enable at your own risk. - ; AllowedCompilers = "lsl" - ;; Compile debug info (line numbers) into the script assemblies ; CompileWithDebugInformation = true -- cgit v1.1 From 8e3a50212c194472f2dbcacbeeb5caae3b90fff1 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 14 Jun 2017 16:03:03 +0100 Subject: remove options about script compilers the got back somehow on defaults also --- bin/OpenSimDefaults.ini | 8 -------- 1 file changed, 8 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 83bf9d7..d35f535 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1778,14 +1778,6 @@ ; Save the source of all compiled scripts WriteScriptSourceToDebugFile = false - ; Default language for scripts - DefaultCompileLanguage = lsl - - ; List of allowed languages (lsl,vb,cs) - ; AllowedCompilers=lsl,cs,vb - ; *warning*, non lsl languages have access to static methods such as System.IO.File. Enable at your own risk. - AllowedCompilers=lsl - ; Compile debug info (line numbers) into the script assemblies CompileWithDebugInformation = true -- cgit v1.1 From 4df19ece539d6c731facd43f3eceac3c34418f05 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 16 Jun 2017 18:16:26 +0100 Subject: framework main thread pool is always active and in use ( even id hard to catch) so show in on show stats. Disable ServerStatsCollector by default, since most don't use it, Adicionally it uses shared framework performance counters system that may be affected if a region crashs --- bin/OpenSimDefaults.ini | 2 ++ 1 file changed, 2 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index d35f535..bc7ef78 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -2092,6 +2092,8 @@ ; If true, this will print out an error if more than a minute has passed since the last simulator frame ; Also is another source of region statistics provided via the regionstats URL Enabled = true + ; next option may still use framework performance monitors designed for debug only, so avoid it + ServerStatsEnabled = false [WebStats] -- cgit v1.1 From fe0fce424c0d355d7f315a5c09f9cb85d0dba4e2 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 19 Jun 2017 03:19:55 +0100 Subject: a defual can me comented out --- bin/OpenSimDefaults.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index bc7ef78..fcbc1c5 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -2093,7 +2093,7 @@ ; Also is another source of region statistics provided via the regionstats URL Enabled = true ; next option may still use framework performance monitors designed for debug only, so avoid it - ServerStatsEnabled = false + ;ServerStatsEnabled = false [WebStats] -- cgit v1.1 From c3dbf91152692734e46850036aae451d87eb9bae Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 24 Jun 2017 03:21:23 +0100 Subject: osDrawFilledEllipse or string comand FillEllipse identical do Ellipse one --- bin/config-include/osslEnable.ini | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index dca1c0c..f9bfe03 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -68,6 +68,7 @@ ; ThreatLevel None Allow_osDrawEllipse = true + Allow_osDrawFilledEllipse = true Allow_osDrawFilledPolygon = true Allow_osDrawFilledRectangle = true Allow_osDrawImage = true -- cgit v1.1 From ed8fc359f3853bab07ec3f5d6fd533da8d3797be Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 24 Jun 2017 06:11:10 +0100 Subject: change thread level of osSetDynamicTextureDataBlendFace to VeryHigh --- bin/config-include/osslEnable.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index f9bfe03..3538458 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -121,7 +121,6 @@ Allow_osReplaceString = true Allow_osSetDynamicTextureData = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureDataBlend = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureDataBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureURL = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureURLBlend = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureURLBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER @@ -228,6 +227,7 @@ Allow_osGetNotecardLine = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetNumberOfNotecardLines = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureDataBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRot = false Allow_osSetParcelDetails = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -- cgit v1.1 From 1a8a77c41e4061b75ff97fcf89e39717550bfa25 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 24 Jun 2017 09:24:56 +0100 Subject: revert the thread level change; remove unused dynamic texture timer from internal code; let blend alpha work if < 255; let blend work with the selected face; etc --- bin/config-include/osslEnable.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 3538458..f9bfe03 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -121,6 +121,7 @@ Allow_osReplaceString = true Allow_osSetDynamicTextureData = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureDataBlend = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureDataBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureURL = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureURLBlend = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureURLBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER @@ -227,7 +228,6 @@ Allow_osGetNotecardLine = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetNumberOfNotecardLines = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureDataBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRot = false Allow_osSetParcelDetails = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -- cgit v1.1 From cb8975e56729c6fd077a69df3a7fa06cba285f82 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 24 Jun 2017 23:04:37 +0100 Subject: add string osDrawTranslationTransform(string drawList, LSL_Float x, LSL_Float y), string osDrawRotationTransform(string drawList, LSL_Float x) and string osDrawResetTransform(string drawList) helper functions for the new vector renderer comands. Removed ThreadLevel check of similar funtions that had it None, and actually only set strings --- bin/config-include/osslEnable.ini | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index f9bfe03..4779f60 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -65,17 +65,22 @@ ; There are a block of functions for creating and controlling NPCs. ; These can be mis-used so limit use to those you can trust. osslNPC = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - + +; some ThreadLevel None functions no longer do level check. listed comment just to be visible + ; ThreatLevel None - Allow_osDrawEllipse = true - Allow_osDrawFilledEllipse = true - Allow_osDrawFilledPolygon = true - Allow_osDrawFilledRectangle = true - Allow_osDrawImage = true - Allow_osDrawLine = true - Allow_osDrawPolygon = true - Allow_osDrawRectangle = true - Allow_osDrawText = true +; Allow_osDrawEllipse = true ; no level check +; Allow_osDrawFilledEllipse = true ; no level check +; Allow_osDrawFilledPolygon = true ; no level check +; Allow_osDrawFilledRectangle = true ; no level check +; Allow_osDrawTranslationTransform = true ; no level check +; Allow_osDrawRotationTransform = true ; no level check +; Allow_osDrawResetTransform = true ; no level check +; Allow_osDrawImage = true ; no level check +; Allow_osDrawLine = true ; no level check +; Allow_osDrawPolygon = true ; no level check +; Allow_osDrawRectangle = true ; no level check +; Allow_osDrawText = true ; no level check Allow_osGetAgents = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetAvatarList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetCurrentSunHour = true @@ -93,15 +98,15 @@ Allow_osList2Double = true Allow_osMax = true Allow_osMin = true - Allow_osMovePen = true +; Allow_osMovePen = true ; no level check Allow_osNpcGetOwner = ${XEngine|osslNPC} Allow_osParseJSON = true Allow_osParseJSONNew = true - Allow_osSetFontName = true - Allow_osSetFontSize = true - Allow_osSetPenCap = true - Allow_osSetPenColor = true - Allow_osSetPenSize = true +; Allow_osSetFontName = true ; no level check +; Allow_osSetFontSize = true ; no level check +; Allow_osSetPenCap = true ; no level check +; Allow_osSetPenColor = true ; no level check +; Allow_osSetPenSize = true ; no level check Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osTeleportOwner = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osWindActiveModelPluginName = true -- cgit v1.1 From 84abdf866a26401e48eff5b25a1ec7f7bf19dc3c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 25 Jun 2017 02:26:36 +0100 Subject: add respective ossl helper funtion osDrawScaleTransform(string drawList, LSL_Float x, LSL_Float y) --- bin/config-include/osslEnable.ini | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 4779f60..6481825 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -73,9 +73,10 @@ ; Allow_osDrawFilledEllipse = true ; no level check ; Allow_osDrawFilledPolygon = true ; no level check ; Allow_osDrawFilledRectangle = true ; no level check -; Allow_osDrawTranslationTransform = true ; no level check -; Allow_osDrawRotationTransform = true ; no level check ; Allow_osDrawResetTransform = true ; no level check +; Allow_osDrawRotationTransform = true ; no level check +; Allow_osDrawScaleTransform = true ; no level check +; Allow_osDrawTranslationTransform = true ; no level check ; Allow_osDrawImage = true ; no level check ; Allow_osDrawLine = true ; no level check ; Allow_osDrawPolygon = true ; no level check -- cgit v1.1 From 9ea6580c37840e5da7453d1a6108fb81883c8dbc Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 26 Jun 2017 20:05:11 +0100 Subject: update osslEnable.ini. functions that have no level check are still listed but commented, just to be more visible --- bin/config-include/osslEnable.ini | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 6481825..815a644 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -69,7 +69,11 @@ ; some ThreadLevel None functions no longer do level check. listed comment just to be visible ; ThreatLevel None -; Allow_osDrawEllipse = true ; no level check + +; Allow_osClearInertia() = true ; no level check +; Allow_osCheckODE = true ; no level check +; Allow_osCollisionSound = true ; no level check +; Allow_osDrawEllipse = true ; no level check ; Allow_osDrawFilledEllipse = true ; no level check ; Allow_osDrawFilledPolygon = true ; no level check ; Allow_osDrawFilledRectangle = true ; no level check @@ -85,10 +89,13 @@ Allow_osGetAgents = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetAvatarList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetCurrentSunHour = true +; Allow_osGetPhysicsEngineName = true ; no level check Allow_osGetGender = true Allow_osGetHealth = true Allow_osGetHealRate = true +; Allow_osGetInertiaData = true ; no level check Allow_osGetInventoryDesc = true +; Allow_osGetLinkNumber = true ; no level check Allow_osGetMapTexture = true Allow_osGetRegionSize = true Allow_osGetRezzingObject = true @@ -103,6 +110,11 @@ Allow_osNpcGetOwner = ${XEngine|osslNPC} Allow_osParseJSON = true Allow_osParseJSONNew = true +; Allow_osSetInertia = true ; no level check +; Allow_osSetInertiaAsBox = true ; no level check +; Allow_osSetInertiaAsSphere = true ; no level check +; Allow_osSetInertiaAsCylinder = true ; no level check + ; Allow_osSetFontName = true ; no level check ; Allow_osSetFontSize = true ; no level check ; Allow_osSetPenCap = true ; no level check @@ -111,7 +123,7 @@ Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osTeleportOwner = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osWindActiveModelPluginName = true - Allow_osCheckODE = true ; Here for completeness. This function cannot be turned off +; Allow_osVolumeDetect = true ; no level check ; ThreatLevel Nuisance Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER @@ -126,6 +138,7 @@ Allow_osInviteToGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osReplaceString = true Allow_osSetDynamicTextureData = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureDataFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureDataBlend = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureDataBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureURL = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER -- cgit v1.1 From 3fda7c6315a0f6ae07adb8d7a1bac378ef8a31ff Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 26 Jun 2017 20:23:24 +0100 Subject: take a few more out of level check --- bin/config-include/osslEnable.ini | 61 +++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 31 deletions(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 815a644..1d7f25b 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -70,42 +70,42 @@ ; ThreatLevel None -; Allow_osClearInertia() = true ; no level check -; Allow_osCheckODE = true ; no level check -; Allow_osCollisionSound = true ; no level check -; Allow_osDrawEllipse = true ; no level check -; Allow_osDrawFilledEllipse = true ; no level check -; Allow_osDrawFilledPolygon = true ; no level check -; Allow_osDrawFilledRectangle = true ; no level check -; Allow_osDrawResetTransform = true ; no level check -; Allow_osDrawRotationTransform = true ; no level check -; Allow_osDrawScaleTransform = true ; no level check -; Allow_osDrawTranslationTransform = true ; no level check -; Allow_osDrawImage = true ; no level check -; Allow_osDrawLine = true ; no level check -; Allow_osDrawPolygon = true ; no level check -; Allow_osDrawRectangle = true ; no level check -; Allow_osDrawText = true ; no level check +; Allow_osClearInertia() = true ; no level check +; Allow_osCheckODE = true ; no level check +; Allow_osCollisionSound = true ; no level check +; Allow_osDrawEllipse = true ; no level check +; Allow_osDrawFilledEllipse = true ; no level check +; Allow_osDrawFilledPolygon = true ; no level check +; Allow_osDrawFilledRectangle = true ; no level check +; Allow_osDrawResetTransform = true ; no level check +; Allow_osDrawRotationTransform = true ; no level check +; Allow_osDrawScaleTransform = true ; no level check +; Allow_osDrawTranslationTransform = true ; no level check +; Allow_osDrawImage = true ; no level check +; Allow_osDrawLine = true ; no level check +; Allow_osDrawPolygon = true ; no level check +; Allow_osDrawRectangle = true ; no level check +; Allow_osDrawText = true ; no level check Allow_osGetAgents = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetAvatarList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetCurrentSunHour = true -; Allow_osGetPhysicsEngineName = true ; no level check +; Allow_osGetCurrentSunHour = true ; no level check +; Allow_osGetPhysicsEngineName = true ; no level check Allow_osGetGender = true Allow_osGetHealth = true Allow_osGetHealRate = true -; Allow_osGetInertiaData = true ; no level check - Allow_osGetInventoryDesc = true -; Allow_osGetLinkNumber = true ; no level check - Allow_osGetMapTexture = true - Allow_osGetRegionSize = true +; Allow_osGetInertiaData = true ; no level check +; Allow_osGetInventoryDesc = true ; no level check +; Allow_osGetLinkNumber = true ; no level check +; Allow_osGetMapTexture = true ; no level check +; Allow_osGetRegionSize = true ; no level check Allow_osGetRezzingObject = true - Allow_osGetSunParam = true - Allow_osGetTerrainHeight = true - Allow_osIsNpc = true - Allow_osIsUUID = true - Allow_osList2Double = true - Allow_osMax = true - Allow_osMin = true +; Allow_osGetSunParam = true ; no level check +; Allow_osGetTerrainHeight = true ; no level check +; Allow_osIsNpc = true ; no level check +; Allow_osIsUUID = true ; no level check +; Allow_osList2Double = true ; no level check +; Allow_osMax = true ; no level check +; Allow_osMin = true ; no level check ; Allow_osMovePen = true ; no level check Allow_osNpcGetOwner = ${XEngine|osslNPC} Allow_osParseJSON = true @@ -114,7 +114,6 @@ ; Allow_osSetInertiaAsBox = true ; no level check ; Allow_osSetInertiaAsSphere = true ; no level check ; Allow_osSetInertiaAsCylinder = true ; no level check - ; Allow_osSetFontName = true ; no level check ; Allow_osSetFontSize = true ; no level check ; Allow_osSetPenCap = true ; no level check -- cgit v1.1 From e53f4399812224939e4ebec6790a9addb38cca95 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 26 Jun 2017 20:42:49 +0100 Subject: add osGetNPCList() --- bin/config-include/osslEnable.ini | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 1d7f25b..99c5fff 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -97,6 +97,7 @@ ; Allow_osGetInventoryDesc = true ; no level check ; Allow_osGetLinkNumber = true ; no level check ; Allow_osGetMapTexture = true ; no level check + Allow_osGetNPCList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER ; Allow_osGetRegionSize = true ; no level check Allow_osGetRezzingObject = true ; Allow_osGetSunParam = true ; no level check -- cgit v1.1 From e243dd05193a1edcb16f52b2514c41de70ff8006 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 28 Jun 2017 02:19:27 +0100 Subject: put back getAgentIP bug restricted, script owner must be a Administrator (god) --- bin/config-include/osslEnable.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 99c5fff..1d03f83 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -86,6 +86,7 @@ ; Allow_osDrawPolygon = true ; no level check ; Allow_osDrawRectangle = true ; no level check ; Allow_osDrawText = true ; no level check +; Allow_osGetAgentIP = ---- ;restricted to Administrators (GOD) Allow_osGetAgents = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetAvatarList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER ; Allow_osGetCurrentSunHour = true ; no level check @@ -191,7 +192,6 @@ Allow_osForceCreateLink = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetAgentIP = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetLinkPrimitiveParams = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetPhysicsEngineType = true Allow_osGetPrimitiveParams = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -- cgit v1.1 From aa4eb2bc147fc0ce8c5e5c9afa2d792ac17073c2 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 30 Jun 2017 00:30:46 +0100 Subject: update ode.dll (windoes only. need bins for others :( ) --- bin/lib32/ode.dll | Bin 541696 -> 541184 bytes bin/lib64/ode.dll | Bin 635392 -> 635392 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll index ddffcb3..5636903 100755 Binary files a/bin/lib32/ode.dll and b/bin/lib32/ode.dll differ diff --git a/bin/lib64/ode.dll b/bin/lib64/ode.dll index 0d6edbe..fdc0ddd 100755 Binary files a/bin/lib64/ode.dll and b/bin/lib64/ode.dll differ -- cgit v1.1 From 6b0a3e981cc06e7935960a5a806222a2aa2126d9 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 30 Jun 2017 22:04:56 +0100 Subject: put osGetAgentIP() in threat control with level Severe so it can be disabled even for inworld administrators as needed on some grids. rearrage the osslEnable.ini file segregating the funtions only listed for information --- bin/config-include/osslEnable.ini | 116 ++++++++++++++++++++------------------ 1 file changed, 61 insertions(+), 55 deletions(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 1d03f83..83d9756 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -31,7 +31,7 @@ ; higher threat level OSSL functions, as detailed later on. OSFunctionThreatLevel = VeryLow - ; Each of the OSSL functions can be enabled or disabled individually. + ; Some of the OSSL functions can be enabled or disabled individually. ; To disable, set the value to 'false'. ; To enable for everyone, set the value to 'true'. ; To enable for individuals or groups, set it to a comma separated list. This checks @@ -45,12 +45,10 @@ ; "PARCEL_OWNER" -- enable for parcel owner ; "PARCEL_GROUP_MEMBER" -- enable for any member of the parcel group ; uuid -- enable for specified ID (may be avatar or group ID) - - ; The OSSL function name is prepended with "Allow_" and it checks against - ; the owners of the containing prim. There can also be entries beginning with - ; 'Creators_". The 'Creators_" parameters can only be a list of UUIDs and it is - ; checked against the creator of the script itself. - + ; from this we can also create macros that can be include in the list as + ; ${XEngine|macroname} see examples below + + ; parcel macros ; Allowing ossl functions for anyone owning a parcel can be dangerous especially if ; a region is selling or otherwise giving away parcel ownership. By default, parcel ; ownership or group membership does not enable OSSL functions. Uncomment the @@ -62,69 +60,32 @@ ; osslParcelO = "PARCEL_OWNER," ; osslParcelOG = "PARCEL_GROUP_MEMBER,PARCEL_OWNER," - ; There are a block of functions for creating and controlling NPCs. + ; NPC macros + ; There are a block of macros to creating and controlling NPCs. ; These can be mis-used so limit use to those you can trust. - osslNPC = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - -; some ThreadLevel None functions no longer do level check. listed comment just to be visible + osslNPC = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - ; ThreatLevel None + ; The OSSL function name is prepended with "Allow_" and it checks against + ; the owners of the containing prim. There can also be entries beginning with + ; 'Creators_". The 'Creators_" parameters can only be a list of UUIDs and it is + ; checked against the creator of the script itself. -; Allow_osClearInertia() = true ; no level check -; Allow_osCheckODE = true ; no level check -; Allow_osCollisionSound = true ; no level check -; Allow_osDrawEllipse = true ; no level check -; Allow_osDrawFilledEllipse = true ; no level check -; Allow_osDrawFilledPolygon = true ; no level check -; Allow_osDrawFilledRectangle = true ; no level check -; Allow_osDrawResetTransform = true ; no level check -; Allow_osDrawRotationTransform = true ; no level check -; Allow_osDrawScaleTransform = true ; no level check -; Allow_osDrawTranslationTransform = true ; no level check -; Allow_osDrawImage = true ; no level check -; Allow_osDrawLine = true ; no level check -; Allow_osDrawPolygon = true ; no level check -; Allow_osDrawRectangle = true ; no level check -; Allow_osDrawText = true ; no level check -; Allow_osGetAgentIP = ---- ;restricted to Administrators (GOD) +; ************************************************* + + ; ThreatLevel None Allow_osGetAgents = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetAvatarList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER -; Allow_osGetCurrentSunHour = true ; no level check -; Allow_osGetPhysicsEngineName = true ; no level check Allow_osGetGender = true Allow_osGetHealth = true Allow_osGetHealRate = true -; Allow_osGetInertiaData = true ; no level check -; Allow_osGetInventoryDesc = true ; no level check -; Allow_osGetLinkNumber = true ; no level check -; Allow_osGetMapTexture = true ; no level check Allow_osGetNPCList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER -; Allow_osGetRegionSize = true ; no level check Allow_osGetRezzingObject = true -; Allow_osGetSunParam = true ; no level check -; Allow_osGetTerrainHeight = true ; no level check -; Allow_osIsNpc = true ; no level check -; Allow_osIsUUID = true ; no level check -; Allow_osList2Double = true ; no level check -; Allow_osMax = true ; no level check -; Allow_osMin = true ; no level check -; Allow_osMovePen = true ; no level check Allow_osNpcGetOwner = ${XEngine|osslNPC} Allow_osParseJSON = true Allow_osParseJSONNew = true -; Allow_osSetInertia = true ; no level check -; Allow_osSetInertiaAsBox = true ; no level check -; Allow_osSetInertiaAsSphere = true ; no level check -; Allow_osSetInertiaAsCylinder = true ; no level check -; Allow_osSetFontName = true ; no level check -; Allow_osSetFontSize = true ; no level check -; Allow_osSetPenCap = true ; no level check -; Allow_osSetPenColor = true ; no level check -; Allow_osSetPenSize = true ; no level check Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osTeleportOwner = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osWindActiveModelPluginName = true -; Allow_osVolumeDetect = true ; no level check ; ThreatLevel Nuisance Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER @@ -134,7 +95,6 @@ Allow_osEjectFromGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceBreakAllLinks = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceBreakLink = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetDrawStringSize = true Allow_osGetWindParam = true Allow_osInviteToGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osReplaceString = true @@ -258,3 +218,49 @@ Allow_osTeleportAgent = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osTeleportObject = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER +; funtions ThreatLevel Severe with aditional internal restrictions + Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable) + +; avaiable funtions out of Threat level control (for reference only) +; Allow_osClearInertia = true +; Allow_osCheckODE = true +; Allow_osCollisionSound = true +; Allow_osDrawEllipse = true +; Allow_osDrawFilledEllipse = true +; Allow_osDrawFilledPolygon = true +; Allow_osDrawFilledRectangle = true +; Allow_osDrawResetTransform = true +; Allow_osDrawRotationTransform = true +; Allow_osDrawScaleTransform = true +; Allow_osDrawTranslationTransform = true +; Allow_osDrawImage = true +; Allow_osDrawLine = true +; Allow_osDrawPolygon = true +; Allow_osDrawRectangle = true +; Allow_osDrawText = true +; Allow_osGetCurrentSunHour = true +; Allow_osGetPhysicsEngineName = true +; Allow_osGetInertiaData = true +; Allow_osGetInventoryDesc = true +; Allow_osGetLinkNumber = true +; Allow_osGetMapTexture = true +; Allow_osGetRegionSize = true +; Allow_osGetSunParam = true +; Allow_osGetTerrainHeight = true +; Allow_osGetDrawStringSize = true +; Allow_osIsNpc = true +; Allow_osIsUUID = true +; Allow_osList2Double = true +; Allow_osMax = true +; Allow_osMin = true +; Allow_osMovePen = true +; Allow_osSetInertia = true +; Allow_osSetInertiaAsBox = true +; Allow_osSetInertiaAsSphere = true +; Allow_osSetInertiaAsCylinder = true +; Allow_osSetFontName = true +; Allow_osSetFontSize = true +; Allow_osSetPenCap = true +; Allow_osSetPenColor = true +; Allow_osSetPenSize = true +; Allow_osVolumeDetect = true -- cgit v1.1 From 965d004fbe2f3753ea915bab00c5ab08a54648ca Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 30 Jun 2017 22:39:19 +0100 Subject: do calls to m_host.AddScriptLPS() on the right place on osslm this stat is of course still wrong LPS does not mean api function calls --- bin/config-include/osslEnable.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 83d9756..5f9eeb8 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -218,10 +218,10 @@ Allow_osTeleportAgent = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osTeleportObject = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -; funtions ThreatLevel Severe with aditional internal restrictions +; funtions ThreatLevel Severe with additional internal restrictions Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable) -; avaiable funtions out of Threat level control (for reference only) +; available funtions out of Threat level control (for reference only) ; Allow_osClearInertia = true ; Allow_osCheckODE = true ; Allow_osCollisionSound = true -- cgit v1.1 From edc7575f9ec3cd61aeec4ae9c3d65dc1235eb6ec Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 1 Jul 2017 01:43:58 +0100 Subject: a few changes to ubOde avatar collisions --- bin/config-include/osslEnable.ini | 1 - bin/lib32/ode.dll | Bin 541184 -> 541696 bytes bin/lib64/ode.dll | Bin 635392 -> 635392 bytes 3 files changed, 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 5f9eeb8..5987952 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -61,7 +61,6 @@ ; osslParcelOG = "PARCEL_GROUP_MEMBER,PARCEL_OWNER," ; NPC macros - ; There are a block of macros to creating and controlling NPCs. ; These can be mis-used so limit use to those you can trust. osslNPC = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll index 5636903..f7677d2 100755 Binary files a/bin/lib32/ode.dll and b/bin/lib32/ode.dll differ diff --git a/bin/lib64/ode.dll b/bin/lib64/ode.dll index fdc0ddd..87ece28 100755 Binary files a/bin/lib64/ode.dll and b/bin/lib64/ode.dll differ -- cgit v1.1 From c5a4c299cbe02d9ade7434c3db10d51302a1b303 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 2 Jul 2017 05:59:49 +0100 Subject: update ode.dll ( windows) --- bin/lib32/ode.dll | Bin 541696 -> 542208 bytes bin/lib64/ode.dll | Bin 635392 -> 635392 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll index f7677d2..bd9ab62 100755 Binary files a/bin/lib32/ode.dll and b/bin/lib32/ode.dll differ diff --git a/bin/lib64/ode.dll b/bin/lib64/ode.dll index 87ece28..c268dee 100755 Binary files a/bin/lib64/ode.dll and b/bin/lib64/ode.dll differ -- cgit v1.1 From 39751891f49afb07d57fadd3002655b498698e31 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 3 Jul 2017 22:47:27 +0100 Subject: ubOde: dont do avatar step climb on small true spheres. lets play simple football --- bin/lib32/ode.dll | Bin 542208 -> 541696 bytes bin/lib64/ode.dll | Bin 635392 -> 635392 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll index bd9ab62..9657355 100755 Binary files a/bin/lib32/ode.dll and b/bin/lib32/ode.dll differ diff --git a/bin/lib64/ode.dll b/bin/lib64/ode.dll index c268dee..f52c29c 100755 Binary files a/bin/lib64/ode.dll and b/bin/lib64/ode.dll differ -- cgit v1.1 From dfef16297b51fb81550745aeea05bd10cb1fc766 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 7 Jul 2017 01:49:34 +0100 Subject: ubOde don't use old ode body sleep option, a few changes on sleep control, update ode.dll (windows, others needed) (keep older versions.. bc.. well bugs happen) --- bin/lib32/ode.dll | Bin 541696 -> 541696 bytes bin/lib64/ode.dll | Bin 635392 -> 635904 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll index 9657355..cb4d1a0 100755 Binary files a/bin/lib32/ode.dll and b/bin/lib32/ode.dll differ diff --git a/bin/lib64/ode.dll b/bin/lib64/ode.dll index f52c29c..050ee46 100755 Binary files a/bin/lib64/ode.dll and b/bin/lib64/ode.dll differ -- cgit v1.1 From 4fe13ef639efa23ebedb3055fd266a6f41372864 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 13 Jul 2017 05:21:00 +0100 Subject: update libomv fixing EnUsCulture --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 24576 bytes bin/OpenMetaverse.StructuredData.XML | 349 - bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 118784 bytes bin/OpenMetaverse.XML | 36656 -------------------------- bin/OpenMetaverse.dll | Bin 2199552 -> 2404352 bytes bin/OpenMetaverseTypes.XML | 2667 -- bin/OpenMetaverseTypes.dll | Bin 110592 -> 118784 bytes 7 files changed, 39672 deletions(-) delete mode 100644 bin/OpenMetaverse.StructuredData.XML delete mode 100644 bin/OpenMetaverse.XML delete mode 100644 bin/OpenMetaverseTypes.XML (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index d376015..eab5fc7 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.XML b/bin/OpenMetaverse.StructuredData.XML deleted file mode 100644 index 8f0dd81..0000000 --- a/bin/OpenMetaverse.StructuredData.XML +++ /dev/null @@ -1,349 +0,0 @@ - - - - OpenMetaverse.StructuredData - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Uses reflection to create an SDMap from all of the SD - serializable types in an object - - Class or struct containing serializable types - An SDMap holding the serialized values from the - container object - - - - Uses reflection to deserialize member variables in an object from - an SDMap - - Reference to an object to fill with deserialized - values - Serialized values to put in the target - object - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Deserializes binary LLSD - - Serialized data - OSD containting deserialized data - - - - Deserializes binary LLSD - - Stream to read the data from - OSD containting deserialized data - - - - Serializes OSD to binary format. It does no prepend header - - OSD to serialize - Serialized data - - - - Serializes OSD to binary format - - OSD to serialize - - Serialized data - - - - Serializes OSD to binary format. It does no prepend header - - OSD to serialize - Serialized data - - - - Serializes OSD to binary format - - OSD to serialize - - Serialized data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index d269154..999463d 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.XML b/bin/OpenMetaverse.XML deleted file mode 100644 index ce8ca86..0000000 --- a/bin/OpenMetaverse.XML +++ /dev/null @@ -1,36656 +0,0 @@ - - - - OpenMetaverse - - - - - Permission request flags, asked when a script wants to control an Avatar - - - - Placeholder for empty values, shouldn't ever see this - - - Script wants ability to take money from you - - - Script wants to take camera controls for you - - - Script wants to remap avatars controls - - - Script wants to trigger avatar animations - This function is not implemented on the grid - - - Script wants to attach or detach the prim or primset to your avatar - - - Script wants permission to release ownership - This function is not implemented on the grid - The concept of "public" objects does not exist anymore. - - - Script wants ability to link/delink with other prims - - - Script wants permission to change joints - This function is not implemented on the grid - - - Script wants permissions to change permissions - This function is not implemented on the grid - - - Script wants to track avatars camera position and rotation - - - Script wants to control your camera - - - Script wants the ability to teleport you - - - - Special commands used in Instant Messages - - - - Indicates a regular IM from another agent - - - Simple notification box with an OK button - - - You've been invited to join a group. - - - Inventory offer - - - Accepted inventory offer - - - Declined inventory offer - - - Group vote - - - An object is offering its inventory - - - Accept an inventory offer from an object - - - Decline an inventory offer from an object - - - Unknown - - - Start a session, or add users to a session - - - Start a session, but don't prune offline users - - - Start a session with your group - - - Start a session without a calling card (finder or objects) - - - Send a message to a session - - - Leave a session - - - Indicates that the IM is from an object - - - Sent an IM to a busy user, this is the auto response - - - Shows the message in the console and chat history - - - Send a teleport lure - - - Response sent to the agent which inititiated a teleport invitation - - - Response sent to the agent which inititiated a teleport invitation - - - Only useful if you have Linden permissions - - - Request a teleport lure - - - IM to tell the user to go to an URL - - - IM for help - - - IM sent automatically on call for help, sends a lure - to each Helper reached - - - Like an IM but won't go to email - - - IM from a group officer to all group members - - - Unknown - - - Unknown - - - Accept a group invitation - - - Decline a group invitation - - - Unknown - - - An avatar is offering you friendship - - - An avatar has accepted your friendship offer - - - An avatar has declined your friendship offer - - - Indicates that a user has started typing - - - Indicates that a user has stopped typing - - - - Flag in Instant Messages, whether the IM should be delivered to - offline avatars as well - - - - Only deliver to online avatars - - - If the avatar is offline the message will be held until - they login next, and possibly forwarded to their e-mail account - - - - Conversion type to denote Chat Packet types in an easier-to-understand format - - - - Whisper (5m radius) - - - Normal chat (10/20m radius), what the official viewer typically sends - - - Shouting! (100m radius) - - - Event message when an Avatar has begun to type - - - Event message when an Avatar has stopped typing - - - Send the message to the debug channel - - - Event message when an object uses llOwnerSay - - - Event message when an object uses llRegionSayTo - - - Special value to support llRegionSay, never sent to the client - - - - Identifies the source of a chat message - - - - Chat from the grid or simulator - - - Chat from another avatar - - - Chat from an object - - - - - - - - - - - - - - - - - - Effect type used in ViewerEffect packets - - - - - - - - - - - - - - - - - - - - - - - - - Project a beam from a source to a destination, such as - the one used when editing an object - - - - - - - - - - - - Create a swirl of particles around an object - - - - - - - - - Cause an avatar to look at an object - - - Cause an avatar to point at an object - - - - The action an avatar is doing when looking at something, used in - ViewerEffect packets for the LookAt effect - - - - - - - - - - - - - - - - - - - - - - Deprecated - - - - - - - - - - - - - - - - The action an avatar is doing when pointing at something, used in - ViewerEffect packets for the PointAt effect - - - - - - - - - - - - - - - - - Money transaction types - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Flags sent when a script takes or releases a control - - NOTE: (need to verify) These might be a subset of the ControlFlags enum in Movement, - - - No Flags set - - - Forward (W or up Arrow) - - - Back (S or down arrow) - - - Move left (shift+A or left arrow) - - - Move right (shift+D or right arrow) - - - Up (E or PgUp) - - - Down (C or PgDown) - - - Rotate left (A or left arrow) - - - Rotate right (D or right arrow) - - - Left Mouse Button - - - Left Mouse button in MouseLook - - - - Currently only used to hide your group title - - - - No flags set - - - Hide your group title - - - - Action state of the avatar, which can currently be typing and - editing - - - - - - - - - - - - - - Current teleport status - - - - Unknown status - - - Teleport initialized - - - Teleport in progress - - - Teleport failed - - - Teleport completed - - - Teleport cancelled - - - - - - - - No flags set, or teleport failed - - - Set when newbie leaves help island for first time - - - - - - Via Lure - - - Via Landmark - - - Via Location - - - Via Home - - - Via Telehub - - - Via Login - - - Linden Summoned - - - Linden Forced me - - - - - - Agent Teleported Home via Script - - - - - - - - - - - - forced to new location for example when avatar is banned or ejected - - - Teleport Finished via a Lure - - - Finished, Sim Changed - - - Finished, Same Sim - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Type of mute entry - - - - Object muted by name - - - Muted residet - - - Object muted by UUID - - - Muted group - - - Muted external entry - - - - Flags of mute entry - - - - No exceptions - - - Don't mute text chat - - - Don't mute voice chat - - - Don't mute particles - - - Don't mute sounds - - - Don't mute - - - - Instant Message - - - - Key of sender - - - Name of sender - - - Key of destination avatar - - - ID of originating estate - - - Key of originating region - - - Coordinates in originating region - - - Instant message type - - - Group IM session toggle - - - Key of IM session, for Group Messages, the groups UUID - - - Timestamp of the instant message - - - Instant message text - - - Whether this message is held for offline avatars - - - Context specific packed data - - - Print the struct data as a string - A string containing the field name, and field value - - - Represents muted object or resident - - - Type of the mute entry - - - UUID of the mute etnry - - - Mute entry name - - - Mute flags - - - Transaction detail sent with MoneyBalanceReply message - - - Type of the transaction - - - UUID of the transaction source - - - Is the transaction source a group - - - UUID of the transaction destination - - - Is transaction destination a group - - - Transaction amount - - - Transaction description - - - - Manager class for our own avatar - - - - - Called once attachment resource usage information has been collected - - Indicates if operation was successfull - Attachment resource usage information - - - The event subscribers. null if no subcribers - - - Raises the ChatFromSimulator event - A ChatEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when a scripted object or agent within range sends a public message - - - The event subscribers. null if no subcribers - - - Raises the ScriptDialog event - A SctriptDialogEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when a scripted object sends a dialog box containing possible - options an agent can respond to - - - The event subscribers. null if no subcribers - - - Raises the ScriptQuestion event - A ScriptQuestionEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when an object requests a change in the permissions an agent has permitted - - - The event subscribers. null if no subcribers - - - Raises the LoadURL event - A LoadUrlEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when a script requests an agent open the specified URL - - - The event subscribers. null if no subcribers - - - Raises the MoneyBalance event - A BalanceEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when an agents currency balance is updated - - - The event subscribers. null if no subcribers - - - Raises the MoneyBalanceReply event - A MoneyBalanceReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when a transaction occurs involving currency such as a land purchase - - - The event subscribers. null if no subcribers - - - Raises the IM event - A InstantMessageEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from - private messaging to friendship offers. The Dialog field defines what type of message has arrived - - - The event subscribers. null if no subcribers - - - Raises the TeleportProgress event - A TeleportEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times - for each teleport indicating the progress of the request - - - The event subscribers. null if no subcribers - - - Raises the AgentDataReply event - A AgentDataReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when a simulator sends agent specific information for our avatar. - - - The event subscribers. null if no subcribers - - - Raises the AnimationsChanged event - A AnimationsChangedEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when our agents animation playlist changes - - - The event subscribers. null if no subcribers - - - Raises the MeanCollision event - A MeanCollisionEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when an object or avatar forcefully collides with our agent - - - The event subscribers. null if no subcribers - - - Raises the RegionCrossed event - A RegionCrossedEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when our agent crosses a region border into another region - - - The event subscribers. null if no subcribers - - - Raises the GroupChatJoined event - A GroupChatJoinedEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when our agent succeeds or fails to join a group chat session - - - The event subscribers. null if no subcribers - - - Raises the AlertMessage event - A AlertMessageEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when a simulator sends an urgent message usually indication the recent failure of - another action we have attempted to take such as an attempt to enter a parcel where we are denied access - - - The event subscribers. null if no subcribers - - - Raises the ScriptControlChange event - A ScriptControlEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when a script attempts to take or release specified controls for our agent - - - The event subscribers. null if no subcribers - - - Raises the CameraConstraint event - A CameraConstraintEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the simulator detects our agent is trying to view something - beyond its limits - - - The event subscribers. null if no subcribers - - - Raises the ScriptSensorReply event - A ScriptSensorReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when a script sensor reply is received from a simulator - - - The event subscribers. null if no subcribers - - - Raises the AvatarSitResponse event - A AvatarSitResponseEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised in response to a request - - - The event subscribers. null if no subcribers - - - Raises the ChatSessionMemberAdded event - A ChatSessionMemberAddedEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when an avatar enters a group chat session we are participating in - - - The event subscribers. null if no subcribers - - - Raises the ChatSessionMemberLeft event - A ChatSessionMemberLeftEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when an agent exits a group chat session we are participating in - - - The event subscribers, null of no subscribers - - - Raises the SetDisplayNameReply Event - A SetDisplayNameReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - the details of display name change - - - The event subscribers. null if no subcribers - - - Raises the MuteListUpdated event - A EventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when a scripted object or agent within range sends a public message - - - Reference to the GridClient instance - - - Used for movement and camera tracking - - - Currently playing animations for the agent. Can be used to - check the current movement status such as walking, hovering, aiming, - etc. by checking against system animations found in the Animations class - - - Dictionary containing current Group Chat sessions and members - - - Dictionary containing mute list keyead on mute name and key - - - Your (client) avatars - "client", "agent", and "avatar" all represent the same thing - - - Temporary assigned to this session, used for - verifying our identity in packets - - - Shared secret that is never sent over the wire - - - Your (client) avatar ID, local to the current region/sim - - - Where the avatar started at login. Can be "last", "home" - or a login - - - The access level of this agent, usually M, PG or A - - - The CollisionPlane of Agent - - - An representing the velocity of our agent - - - An representing the acceleration of our agent - - - A which specifies the angular speed, and axis about which an Avatar is rotating. - - - Position avatar client will goto when login to 'home' or during - teleport request to 'home' region. - - - LookAt point saved/restored with HomePosition - - - Avatar First Name (i.e. Philip) - - - Avatar Last Name (i.e. Linden) - - - LookAt point received with the login response message - - - Avatar Full Name (i.e. Philip Linden) - - - Gets the health of the agent - - - Gets the current balance of the agent - - - Gets the local ID of the prim the agent is sitting on, - zero if the avatar is not currently sitting - - - Gets the of the agents active group. - - - Gets the Agents powers in the currently active group - - - Current status message for teleporting - - - Current position of the agent as a relative offset from - the simulator, or the parent object if we are sitting on something - - - Current rotation of the agent as a relative rotation from - the simulator, or the parent object if we are sitting on something - - - Current position of the agent in the simulator - - - - A representing the agents current rotation - - - - Returns the global grid position of the avatar - - - Various abilities and preferences sent by the grid - - - - Constructor, setup callbacks for packets related to our avatar - - A reference to the Class - - - - Send a text message from the Agent to the Simulator - - A containing the message - The channel to send the message on, 0 is the public channel. Channels above 0 - can be used however only scripts listening on the specified channel will see the message - Denotes the type of message being sent, shout, whisper, etc. - - - - Request any instant messages sent while the client was offline to be resent. - - - - - Send an Instant Message to another Avatar - - The recipients - A containing the message to send - - - - Send an Instant Message to an existing group chat or conference chat - - The recipients - A containing the message to send - IM session ID (to differentiate between IM windows) - - - - Send an Instant Message - - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - IDs of sessions for a conference - - - - Send an Instant Message - - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - Type of instant message to send - Whether to IM offline avatars as well - Senders Position - RegionID Sender is In - Packed binary data that is specific to - the dialog type - - - - Send an Instant Message to a group - - of the group to send message to - Text Message being sent. - - - - Send an Instant Message to a group the agent is a member of - - The name this IM will show up as being from - of the group to send message to - Text message being sent - - - - Send a request to join a group chat session - - of Group to leave - - - - Exit a group chat session. This will stop further Group chat messages - from being sent until session is rejoined. - - of Group chat session to leave - - - - Reply to script dialog questions. - - Channel initial request came on - Index of button you're "clicking" - Label of button you're "clicking" - of Object that sent the dialog request - - - - - Accept invite for to a chatterbox session - - of session to accept invite to - - - - Start a friends conference - - List of UUIDs to start a conference with - the temportary session ID returned in the callback> - - - - Start a particle stream between an agent and an object - - Key of the source agent - Key of the target object - - The type from the enum - A unique for this effect - - - - Start a particle stream between an agent and an object - - Key of the source agent - Key of the target object - A representing the beams offset from the source - A which sets the avatars lookat animation - of the Effect - - - - Create a particle beam between an avatar and an primitive - - The ID of source avatar - The ID of the target primitive - global offset - A object containing the combined red, green, blue and alpha - color values of particle beam - a float representing the duration the parcicle beam will last - A Unique ID for the beam - - - - - Create a particle swirl around a target position using a packet - - global offset - A object containing the combined red, green, blue and alpha - color values of particle beam - a float representing the duration the parcicle beam will last - A Unique ID for the beam - - - - Sends a request to sit on the specified object - - of the object to sit on - Sit at offset - - - - Follows a call to to actually sit on the object - - - - Stands up from sitting on a prim or the ground - true of AgentUpdate was sent - - - - Does a "ground sit" at the avatar's current position - - - - - Starts or stops flying - - True to start flying, false to stop flying - - - - Starts or stops crouching - - True to start crouching, false to stop crouching - - - - Starts a jump (begin holding the jump key) - - - - - Use the autopilot sim function to move the avatar to a new - position. Uses double precision to get precise movements - - The z value is currently not handled properly by the simulator - Global X coordinate to move to - Global Y coordinate to move to - Z coordinate to move to - - - - Use the autopilot sim function to move the avatar to a new position - - The z value is currently not handled properly by the simulator - Integer value for the global X coordinate to move to - Integer value for the global Y coordinate to move to - Floating-point value for the Z coordinate to move to - - - - Use the autopilot sim function to move the avatar to a new position - - The z value is currently not handled properly by the simulator - Integer value for the local X coordinate to move to - Integer value for the local Y coordinate to move to - Floating-point value for the Z coordinate to move to - - - Macro to cancel autopilot sim function - Not certain if this is how it is really done - true if control flags were set and AgentUpdate was sent to the simulator - - - - Grabs an object - - an unsigned integer of the objects ID within the simulator - - - - - Overload: Grab a simulated object - - an unsigned integer of the objects ID within the simulator - - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - - - - Drag an object - - of the object to drag - Drag target in region coordinates - - - - Overload: Drag an object - - of the object to drag - Drag target in region coordinates - - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - - - - Release a grabbed object - - The Objects Simulator Local ID - - - - - - - Release a grabbed object - - The Objects Simulator Local ID - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - - - - Touches an object - - an unsigned integer of the objects ID within the simulator - - - - - Request the current L$ balance - - - - - Give Money to destination Avatar - - UUID of the Target Avatar - Amount in L$ - - - - Give Money to destination Avatar - - UUID of the Target Avatar - Amount in L$ - Description that will show up in the - recipients transaction history - - - - Give L$ to an object - - object to give money to - amount of L$ to give - name of object - - - - Give L$ to a group - - group to give money to - amount of L$ to give - - - - Give L$ to a group - - group to give money to - amount of L$ to give - description of transaction - - - - Pay texture/animation upload fee - - - - - Pay texture/animation upload fee - - description of the transaction - - - - Give Money to destination Object or Avatar - - UUID of the Target Object/Avatar - Amount in L$ - Reason (Optional normally) - The type of transaction - Transaction flags, mostly for identifying group - transactions - - - - Plays a gesture - - Asset of the gesture - - - - Mark gesture active - - Inventory of the gesture - Asset of the gesture - - - - Mark gesture inactive - - Inventory of the gesture - - - - Send an AgentAnimation packet that toggles a single animation on - - The of the animation to start playing - Whether to ensure delivery of this packet or not - - - - Send an AgentAnimation packet that toggles a single animation off - - The of a - currently playing animation to stop playing - Whether to ensure delivery of this packet or not - - - - Send an AgentAnimation packet that will toggle animations on or off - - A list of animation s, and whether to - turn that animation on or off - Whether to ensure delivery of this packet or not - - - - Teleports agent to their stored home location - - true on successful teleport to home location - - - - Teleport agent to a landmark - - of the landmark to teleport agent to - true on success, false on failure - - - - Attempt to look up a simulator name and teleport to the discovered - destination - - Region name to look up - Position to teleport to - True if the lookup and teleport were successful, otherwise - false - - - - Attempt to look up a simulator name and teleport to the discovered - destination - - Region name to look up - Position to teleport to - Target to look at - True if the lookup and teleport were successful, otherwise - false - - - - Teleport agent to another region - - handle of region to teleport agent to - position in destination sim to teleport to - true on success, false on failure - This call is blocking - - - - Teleport agent to another region - - handle of region to teleport agent to - position in destination sim to teleport to - direction in destination sim agent will look at - true on success, false on failure - This call is blocking - - - - Request teleport to a another simulator - - handle of region to teleport agent to - position in destination sim to teleport to - - - - Request teleport to a another simulator - - handle of region to teleport agent to - position in destination sim to teleport to - direction in destination sim agent will look at - - - - Teleport agent to a landmark - - of the landmark to teleport agent to - - - - Send a teleport lure to another avatar with default "Join me in ..." invitation message - - target avatars to lure - - - - Send a teleport lure to another avatar with custom invitation message - - target avatars to lure - custom message to send with invitation - - - - Respond to a teleport lure by either accepting it and initiating - the teleport, or denying it - - of the avatar sending the lure - IM session of the incoming lure request - true to accept the lure, false to decline it - - - - Update agent profile - - struct containing updated - profile information - - - - Update agents profile interests - - selection of interests from struct - - - - Set the height and the width of the client window. This is used - by the server to build a virtual camera frustum for our avatar - - New height of the viewer window - New width of the viewer window - - - - Request the list of muted objects and avatars for this agent - - - - - Mute an object, resident, etc. - - Mute type - Mute UUID - Mute name - - - - Mute an object, resident, etc. - - Mute type - Mute UUID - Mute name - Mute flags - - - - Unmute an object, resident, etc. - - Mute UUID - Mute name - - - - Sets home location to agents current position - - will fire an AlertMessage () with - success or failure message - - - - Move an agent in to a simulator. This packet is the last packet - needed to complete the transition in to a new simulator - - Object - - - - Reply to script permissions request - - Object - of the itemID requesting permissions - of the taskID requesting permissions - list of permissions to allow - - - - Respond to a group invitation by either accepting or denying it - - UUID of the group (sent in the AgentID field of the invite message) - IM Session ID from the group invitation message - Accept the group invitation or deny it - - - - Requests script detection of objects and avatars - - name of the object/avatar to search for - UUID of the object or avatar to search for - Type of search from ScriptSensorTypeFlags - range of scan (96 max?) - the arc in radians to search within - an user generated ID to correlate replies with - Simulator to perform search in - - - - Create or update profile pick - - UUID of the pick to update, or random UUID to create a new pick - Is this a top pick? (typically false) - UUID of the parcel (UUID.Zero for the current parcel) - Name of the pick - Global position of the pick landmark - UUID of the image displayed with the pick - Long description of the pick - - - - Delete profile pick - - UUID of the pick to delete - - - - Create or update profile Classified - - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Global position of the classified landmark - Name of the classified - Long description of the classified - if true, auto renew classified after expiration - - - - Create or update profile Classified - - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Name of the classified - Long description of the classified - if true, auto renew classified after expiration - - - - Delete a classified ad - - The classified ads ID - - - - Fetches resource usage by agents attachmetns - - Called when the requested information is collected - - - - Initates request to set a new display name - - Previous display name - Desired new display name - - - - Tells the sim what UI language is used, and if it's ok to share that with scripts - - Two letter language code - Share language info with scripts - - - - Sets agents maturity access level - - PG, M or A - - - - Sets agents maturity access level - - PG, M or A - Callback function - - - - Take an incoming ImprovedInstantMessage packet, auto-parse, and if - OnInstantMessage is defined call that with the appropriate arguments - - The sender - The EventArgs object containing the packet data - - - - Take an incoming Chat packet, auto-parse, and if OnChat is defined call - that with the appropriate arguments. - - The sender - The EventArgs object containing the packet data - - - - Used for parsing llDialogs - - The sender - The EventArgs object containing the packet data - - - - Used for parsing llRequestPermissions dialogs - - The sender - The EventArgs object containing the packet data - - - - Handles Script Control changes when Script with permissions releases or takes a control - - The sender - The EventArgs object containing the packet data - - - - Used for parsing llLoadURL Dialogs - - The sender - The EventArgs object containing the packet data - - - - Update client's Position, LookAt and region handle from incoming packet - - The sender - The EventArgs object containing the packet data - This occurs when after an avatar moves into a new sim - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - EQ Message fired with the result of SetDisplayName request - - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - - - Process TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why. - - The Message Key - An IMessage object Deserialized from the recieved message event - The simulator originating the event message - - - - Process TeleportFinish from Event Queue and pass it onto our TeleportHandler - - The message system key for this event - IMessage object containing decoded data from OSD - The simulator originating the event message - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. - - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - This packet is now being sent via the EventQueue - - - - Group Chat event handler - - The capability Key - IMessage object containing decoded data from OSD - - - - - Response from request to join a group chat - - - IMessage object containing decoded data from OSD - - - - - Someone joined or left group chat - - - IMessage object containing decoded data from OSD - - - - - Handle a group chat Invitation - - Caps Key - IMessage object containing decoded data from OSD - Originating Simulator - - - - Moderate a chat session - - the of the session to moderate, for group chats this will be the groups UUID - the of the avatar to moderate - Either "voice" to moderate users voice, or "text" to moderate users text session - true to moderate (silence user), false to allow avatar to speak - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Agent movement and camera control - - Agent movement is controlled by setting specific - After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags - This is most easily accomplished by setting one or more of the AgentMovement properties - - Movement of an avatar is always based on a compass direction, for example AtPos will move the - agent from West to East or forward on the X Axis, AtNeg will of course move agent from - East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis - The Z axis is Up, finer grained control of movements can be done using the Nudge properties - - - - - Camera controls for the agent, mostly a thin wrapper around - CoordinateFrame. This class is only responsible for state - tracking and math, it does not send any packets - - - - - - - The camera is a local frame of reference inside of - the larger grid space. This is where the math happens - - - - - - - - - - - - - - - - Default constructor - - - - Move agent positive along the X axis - - - Move agent negative along the X axis - - - Move agent positive along the Y axis - - - Move agent negative along the Y axis - - - Move agent positive along the Z axis - - - Move agent negative along the Z axis - - - - - - - - - - - - - - - - - - - - - - - - Causes simulator to make agent fly - - - Stop movement - - - Finish animation - - - Stand up from a sit - - - Tells simulator to sit agent on ground - - - Place agent into mouselook mode - - - Nudge agent positive along the X axis - - - Nudge agent negative along the X axis - - - Nudge agent positive along the Y axis - - - Nudge agent negative along the Y axis - - - Nudge agent positive along the Z axis - - - Nudge agent negative along the Z axis - - - - - - - - - Tell simulator to mark agent as away - - - - - - - - - - - - - - - - Returns "always run" value, or changes it by sending a SetAlwaysRunPacket - - - - The current value of the agent control flags - - - Gets or sets the interval in milliseconds at which - AgentUpdate packets are sent to the current simulator. Setting - this to a non-zero value will also enable the packet sending if - it was previously off, and setting it to zero will disable - - - Gets or sets whether AgentUpdate packets are sent to - the current simulator - - - Reset movement controls every time we send an update - - - Agent camera controls - - - Currently only used for hiding your group title - - - Action state of the avatar, which can currently be - typing and editing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Timer for sending AgentUpdate packets - - - Default constructor - - - - Send an AgentUpdate with the camera set at the current agent - position and pointing towards the heading specified - - Camera rotation in radians - Whether to send the AgentUpdate reliable - or not - - - - Rotates the avatar body and camera toward a target position. - This will also anchor the camera position on the avatar - - Region coordinates to turn toward - - - - Rotates the avatar body and camera toward a target position. - This will also anchor the camera position on the avatar - - Region coordinates to turn toward - whether to send update or not - - - - Send new AgentUpdate packet to update our current camera - position and rotation - - - - - Send new AgentUpdate packet to update our current camera - position and rotation - - Whether to require server acknowledgement - of this packet - - - - Send new AgentUpdate packet to update our current camera - position and rotation - - Whether to require server acknowledgement - of this packet - Simulator to send the update to - - - - Builds an AgentUpdate packet entirely from parameters. This - will not touch the state of Self.Movement or - Self.Movement.Camera in any way - - - - - - - - - - - - - - - - Sends update of Field of Vision vertical angle to the simulator - - Angle in radians - - - - Used to specify movement actions for your agent - - - - Empty flag - - - Move Forward (SL Keybinding: W/Up Arrow) - - - Move Backward (SL Keybinding: S/Down Arrow) - - - Move Left (SL Keybinding: Shift-(A/Left Arrow)) - - - Move Right (SL Keybinding: Shift-(D/Right Arrow)) - - - Not Flying: Jump/Flying: Move Up (SL Keybinding: E) - - - Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) - - - Unused - - - Unused - - - Unused - - - Unused - - - ORed with AGENT_CONTROL_AT_* if the keyboard is being used - - - ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used - - - ORed with AGENT_CONTROL_UP_* if the keyboard is being used - - - Fly - - - - - - Finish our current animation - - - Stand up from the ground or a prim seat - - - Sit on the ground at our current location - - - Whether mouselook is currently enabled - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - - - - - - - Set when the avatar is idled or set to away. Note that the away animation is - activated separately from setting this flag - - - - - - - - - - - - - - - - Class for sending info on the success of the opration - of setting the maturity access level - - - - - New maturity accesss level returned from the sim - - - - - True if setting the new maturity access level has succedded - - - - - Creates new instance of the EventArgs class - - Has setting new maturty access level succeeded - New maturity access level as returned by the simulator - - - - - - - - Get the simulator sending the message - - - Get the message sent - - - Get the audible level of the message - - - Get the type of message sent: whisper, shout, etc - - - Get the source type of the message sender - - - Get the name of the agent or object sending the message - - - Get the ID of the agent or object sending the message - - - Get the ID of the object owner, or the agent ID sending the message - - - Get the position of the agent or object sending the message - - - - Construct a new instance of the ChatEventArgs object - - Sim from which the message originates - The message sent - The audible level of the message - The type of message sent: whisper, shout, etc - The source type of the message sender - The name of the agent or object sending the message - The ID of the agent or object sending the message - The ID of the object owner, or the agent ID sending the message - The position of the agent or object sending the message - - - Contains the data sent when a primitive opens a dialog with this agent - - - Get the dialog message - - - Get the name of the object that sent the dialog request - - - Get the ID of the image to be displayed - - - Get the ID of the primitive sending the dialog - - - Get the first name of the senders owner - - - Get the last name of the senders owner - - - Get the communication channel the dialog was sent on, responses - should also send responses on this same channel - - - Get the string labels containing the options presented in this dialog - - - UUID of the scritped object owner - - - - Construct a new instance of the ScriptDialogEventArgs - - The dialog message - The name of the object that sent the dialog request - The ID of the image to be displayed - The ID of the primitive sending the dialog - The first name of the senders owner - The last name of the senders owner - The communication channel the dialog was sent on - The string labels containing the options presented in this dialog - UUID of the scritped object owner - - - Contains the data sent when a primitive requests debit or other permissions - requesting a YES or NO answer - - - Get the simulator containing the object sending the request - - - Get the ID of the script making the request - - - Get the ID of the primitive containing the script making the request - - - Get the name of the primitive making the request - - - Get the name of the owner of the object making the request - - - Get the permissions being requested - - - - Construct a new instance of the ScriptQuestionEventArgs - - The simulator containing the object sending the request - The ID of the script making the request - The ID of the primitive containing the script making the request - The name of the primitive making the request - The name of the owner of the object making the request - The permissions being requested - - - Contains the data sent when a primitive sends a request - to an agent to open the specified URL - - - Get the name of the object sending the request - - - Get the ID of the object sending the request - - - Get the ID of the owner of the object sending the request - - - True if the object is owned by a group - - - Get the message sent with the request - - - Get the URL the object sent - - - - Construct a new instance of the LoadUrlEventArgs - - The name of the object sending the request - The ID of the object sending the request - The ID of the owner of the object sending the request - True if the object is owned by a group - The message sent with the request - The URL the object sent - - - The date received from an ImprovedInstantMessage - - - Get the InstantMessage object - - - Get the simulator where the InstantMessage origniated - - - - Construct a new instance of the InstantMessageEventArgs object - - the InstantMessage object - the simulator where the InstantMessage origniated - - - Contains the currency balance - - - - Get the currenct balance - - - - - Construct a new BalanceEventArgs object - - The currenct balance - - - Contains the transaction summary when an item is purchased, - money is given, or land is purchased - - - Get the ID of the transaction - - - True of the transaction was successful - - - Get the remaining currency balance - - - Get the meters credited - - - Get the meters comitted - - - Get the description of the transaction - - - Detailed transaction information - - - - Construct a new instance of the MoneyBalanceReplyEventArgs object - - The ID of the transaction - True of the transaction was successful - The current currency balance - The meters credited - The meters comitted - A brief description of the transaction - Transaction info - - - Data sent from the simulator containing information about your agent and active group information - - - Get the agents first name - - - Get the agents last name - - - Get the active group ID of your agent - - - Get the active groups title of your agent - - - Get the combined group powers of your agent - - - Get the active group name of your agent - - - - Construct a new instance of the AgentDataReplyEventArgs object - - The agents first name - The agents last name - The agents active group ID - The group title of the agents active group - The combined group powers the agent has in the active group - The name of the group the agent has currently active - - - Data sent by the simulator to indicate the active/changed animations - applied to your agent - - - Get the dictionary that contains the changed animations - - - - Construct a new instance of the AnimationsChangedEventArgs class - - The dictionary that contains the changed animations - - - - Data sent from a simulator indicating a collision with your agent - - - - Get the Type of collision - - - Get the ID of the agent or object that collided with your agent - - - Get the ID of the agent that was attacked - - - A value indicating the strength of the collision - - - Get the time the collision occurred - - - - Construct a new instance of the MeanCollisionEventArgs class - - The type of collision that occurred - The ID of the agent or object that perpetrated the agression - The ID of the Victim - The strength of the collision - The Time the collision occurred - - - Data sent to your agent when it crosses region boundaries - - - Get the simulator your agent just left - - - Get the simulator your agent is now in - - - - Construct a new instance of the RegionCrossedEventArgs class - - The simulator your agent just left - The simulator your agent is now in - - - Data sent from the simulator when your agent joins a group chat session - - - Get the ID of the group chat session - - - Get the name of the session - - - Get the temporary session ID used for establishing new sessions - - - True if your agent successfully joined the session - - - - Construct a new instance of the GroupChatJoinedEventArgs class - - The ID of the session - The name of the session - A temporary session id used for establishing new sessions - True of your agent successfully joined the session - - - Data sent by the simulator containing urgent messages - - - Get the alert message - - - - Construct a new instance of the AlertMessageEventArgs class - - The alert message - - - Data sent by a script requesting to take or release specified controls to your agent - - - Get the controls the script is attempting to take or release to the agent - - - True if the script is passing controls back to the agent - - - True if the script is requesting controls be released to the script - - - - Construct a new instance of the ScriptControlEventArgs class - - The controls the script is attempting to take or release to the agent - True if the script is passing controls back to the agent - True if the script is requesting controls be released to the script - - - - Data sent from the simulator to an agent to indicate its view limits - - - - Get the collision plane - - - - Construct a new instance of the CameraConstraintEventArgs class - - The collision plane - - - - Data containing script sensor requests which allow an agent to know the specific details - of a primitive sending script sensor requests - - - - Get the ID of the primitive sending the sensor - - - Get the ID of the group associated with the primitive - - - Get the name of the primitive sending the sensor - - - Get the ID of the primitive sending the sensor - - - Get the ID of the owner of the primitive sending the sensor - - - Get the position of the primitive sending the sensor - - - Get the range the primitive specified to scan - - - Get the rotation of the primitive sending the sensor - - - Get the type of sensor the primitive sent - - - Get the velocity of the primitive sending the sensor - - - - Construct a new instance of the ScriptSensorReplyEventArgs - - The ID of the primitive sending the sensor - The ID of the group associated with the primitive - The name of the primitive sending the sensor - The ID of the primitive sending the sensor - The ID of the owner of the primitive sending the sensor - The position of the primitive sending the sensor - The range the primitive specified to scan - The rotation of the primitive sending the sensor - The type of sensor the primitive sent - The velocity of the primitive sending the sensor - - - Contains the response data returned from the simulator in response to a - - - Get the ID of the primitive the agent will be sitting on - - - True if the simulator Autopilot functions were involved - - - Get the camera offset of the agent when seated - - - Get the camera eye offset of the agent when seated - - - True of the agent will be in mouselook mode when seated - - - Get the position of the agent when seated - - - Get the rotation of the agent when seated - - - Construct a new instance of the AvatarSitResponseEventArgs object - - - Data sent when an agent joins a chat session your agent is currently participating in - - - Get the ID of the chat session - - - Get the ID of the agent that joined - - - - Construct a new instance of the ChatSessionMemberAddedEventArgs object - - The ID of the chat session - The ID of the agent joining - - - Data sent when an agent exits a chat session your agent is currently participating in - - - Get the ID of the chat session - - - Get the ID of the agent that left - - - - Construct a new instance of the ChatSessionMemberLeftEventArgs object - - The ID of the chat session - The ID of the Agent that left - - - Event arguments with the result of setting display name operation - - - Status code, 200 indicates settign display name was successful - - - Textual description of the status - - - Details of the newly set display name - - - Default constructor - - - - Throttles the network traffic for various different traffic types. - Access this class through GridClient.Throttle - - - - Maximum bits per second for resending unacknowledged packets - - - Maximum bits per second for LayerData terrain - - - Maximum bits per second for LayerData wind data - - - Maximum bits per second for LayerData clouds - - - Unknown, includes object data - - - Maximum bits per second for textures - - - Maximum bits per second for downloaded assets - - - Maximum bits per second the entire connection, divided up - between invidiual streams using default multipliers - - - - Default constructor, uses a default high total of 1500 KBps (1536000) - - - - - Constructor that decodes an existing AgentThrottle packet in to - individual values - - Reference to the throttle data in an AgentThrottle - packet - Offset position to start reading at in the - throttle data - This is generally not needed in clients as the server will - never send a throttle packet to the client - - - - Send an AgentThrottle packet to the current server using the - current values - - - - - Send an AgentThrottle packet to the specified server using the - current values - - - - - Convert the current throttle values to a byte array that can be put - in an AgentThrottle packet - - Byte array containing all the throttle values - - - - Static pre-defined animations available to all agents - - - - Agent with afraid expression on face - - - Agent aiming a bazooka (right handed) - - - Agent aiming a bow (left handed) - - - Agent aiming a hand gun (right handed) - - - Agent aiming a rifle (right handed) - - - Agent with angry expression on face - - - Agent hunched over (away) - - - Agent doing a backflip - - - Agent laughing while holding belly - - - Agent blowing a kiss - - - Agent with bored expression on face - - - Agent bowing to audience - - - Agent brushing himself/herself off - - - Agent in busy mode - - - Agent clapping hands - - - Agent doing a curtsey bow - - - Agent crouching - - - Agent crouching while walking - - - Agent crying - - - Agent unanimated with arms out (e.g. setting appearance) - - - Agent re-animated after set appearance finished - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent on ground unanimated - - - Agent boozing it up - - - Agent with embarassed expression on face - - - Agent with afraid expression on face - - - Agent with angry expression on face - - - Agent with bored expression on face - - - Agent crying - - - Agent showing disdain (dislike) for something - - - Agent with embarassed expression on face - - - Agent with frowning expression on face - - - Agent with kissy face - - - Agent expressing laughgter - - - Agent with open mouth - - - Agent with repulsed expression on face - - - Agent expressing sadness - - - Agent shrugging shoulders - - - Agent with a smile - - - Agent expressing surprise - - - Agent sticking tongue out - - - Agent with big toothy smile - - - Agent winking - - - Agent expressing worry - - - Agent falling down - - - Agent walking (feminine version) - - - Agent wagging finger (disapproval) - - - I'm not sure I want to know - - - Agent in superman position - - - Agent in superman position - - - Agent greeting another - - - Agent holding bazooka (right handed) - - - Agent holding a bow (left handed) - - - Agent holding a handgun (right handed) - - - Agent holding a rifle (right handed) - - - Agent throwing an object (right handed) - - - Agent in static hover - - - Agent hovering downward - - - Agent hovering upward - - - Agent being impatient - - - Agent jumping - - - Agent jumping with fervor - - - Agent point to lips then rear end - - - Agent landing from jump, finished flight, etc - - - Agent laughing - - - Agent landing from jump, finished flight, etc - - - Agent sitting on a motorcycle - - - - - - Agent moving head side to side - - - Agent moving head side to side with unhappy expression - - - Agent taunting another - - - - - - Agent giving peace sign - - - Agent pointing at self - - - Agent pointing at another - - - Agent preparing for jump (bending knees) - - - Agent punching with left hand - - - Agent punching with right hand - - - Agent acting repulsed - - - Agent trying to be Chuck Norris - - - Rocks, Paper, Scissors 1, 2, 3 - - - Agent with hand flat over other hand - - - Agent with fist over other hand - - - Agent with two fingers spread over other hand - - - Agent running - - - Agent appearing sad - - - Agent saluting - - - Agent shooting bow (left handed) - - - Agent cupping mouth as if shouting - - - Agent shrugging shoulders - - - Agent in sit position - - - Agent in sit position (feminine) - - - Agent in sit position (generic) - - - Agent sitting on ground - - - Agent sitting on ground - - - - - - Agent sleeping on side - - - Agent smoking - - - Agent inhaling smoke - - - - - - Agent taking a picture - - - Agent standing - - - Agent standing up - - - Agent standing - - - Agent standing - - - Agent standing - - - Agent standing - - - Agent stretching - - - Agent in stride (fast walk) - - - Agent surfing - - - Agent acting surprised - - - Agent striking with a sword - - - Agent talking (lips moving) - - - Agent throwing a tantrum - - - Agent throwing an object (right handed) - - - Agent trying on a shirt - - - Agent turning to the left - - - Agent turning to the right - - - Agent typing - - - Agent walking - - - Agent whispering - - - Agent whispering with fingers in mouth - - - Agent winking - - - Agent winking - - - Agent worried - - - Agent nodding yes - - - Agent nodding yes with happy face - - - Agent floating with legs and arms crossed - - - - A dictionary containing all pre-defined animations - - A dictionary containing the pre-defined animations, - where the key is the animations ID, and the value is a string - containing a name to identify the purpose of the animation - - - - Index of TextureEntry slots for avatar appearances - - - - - Bake layers for avatar appearance - - - - - Appearance Flags, introdued with server side baking, currently unused - - - - Mask for multiple attachments - - - Mapping between BakeType and AvatarTextureIndex - - - Maximum number of concurrent downloads for wearable assets and textures - - - Maximum number of concurrent uploads for baked textures - - - Timeout for fetching inventory listings - - - Timeout for fetching a single wearable, or receiving a single packet response - - - Timeout for fetching a single texture - - - Timeout for uploading a single baked texture - - - Number of times to retry bake upload - - - When changing outfit, kick off rebake after - 20 seconds has passed since the last change - - - Total number of wearables for each avatar - - - Total number of baked textures on each avatar - - - Total number of wearables per bake layer - - - Map of what wearables are included in each bake - - - Magic values to finalize the cache check hashes for each - bake - - - Default avatar texture, used to detect when a custom - texture is not set for a face - - - - Contains information about a wearable inventory item - - - - Inventory ItemID of the wearable - - - AssetID of the wearable asset - - - WearableType of the wearable - - - AssetType of the wearable - - - Asset data for the wearable - - - - Data collected from visual params for each wearable - needed for the calculation of the color - - - - - Holds a texture assetID and the data needed to bake this layer into - an outfit texture. Used to keep track of currently worn textures - and baking data - - - - A texture AssetID - - - Asset data for the texture - - - Collection of alpha masks that needs applying - - - Tint that should be applied to the texture - - - Where on avatar does this texture belong - - - The event subscribers. null if no subcribers - - - Raises the AgentWearablesReply event - An AgentWearablesReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Triggered when an AgentWearablesUpdate packet is received, - telling us what our avatar is currently wearing - request. - - - The event subscribers. null if no subcribers - - - Raises the CachedBakesReply event - An AgentCachedBakesReplyEventArgs object containing the - data returned from the data server AgentCachedTextureResponse - - - Thread sync lock object - - - Raised when an AgentCachedTextureResponse packet is - received, giving a list of cached bakes that were found on the - simulator - request. - - - The event subscribers. null if no subcribers - - - Raises the AppearanceSet event - An AppearanceSetEventArgs object indicating if the operatin was successfull - - - Thread sync lock object - - - - Raised when appearance data is sent to the simulator, also indicates - the main appearance thread is finished. - - request. - - - The event subscribers. null if no subcribers - - - Raises the RebakeAvatarRequested event - An RebakeAvatarTexturesEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - - Triggered when the simulator requests the agent rebake its appearance. - - - - - - Returns true if AppearanceManager is busy and trying to set or change appearance will fail - - - - Visual parameters last sent to the sim - - - Textures about this client sent to the sim - - - A cache of wearables currently being worn - - - A cache of textures currently being worn - - - Incrementing serial number for AgentCachedTexture packets - - - Incrementing serial number for AgentSetAppearance packets - - - Indicates if WearablesRequest succeeded - - - Indicates whether or not the appearance thread is currently - running, to prevent multiple appearance threads from running - simultaneously - - - Reference to our agent - - - - Timer used for delaying rebake on changing outfit - - - - - Main appearance thread - - - - - Is server baking complete. It needs doing only once - - - - - Default constructor - - A reference to our agent - - - - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread - - - - - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread - - Unused parameter - - - - Starts the appearance setting thread - - - - - Starts the appearance setting thread - - True to force rebaking, otherwise false - - - - Check if current region supports server side baking - - True if server side baking support is detected - - - - Ask the server what textures our agent is currently wearing - - - - - Build hashes out of the texture assetIDs for each baking layer to - ask the simulator whether it has cached copies of each baked texture - - - - - Returns the AssetID of the asset that is currently being worn in a - given WearableType slot - - WearableType slot to get the AssetID for - The UUID of the asset being worn in the given slot, or - UUID.Zero if no wearable is attached to the given slot or wearables - have not been downloaded yet - - - - Add a wearable to the current outfit and set appearance - - Wearable to be added to the outfit - - - - Add a wearable to the current outfit and set appearance - - Wearable to be added to the outfit - Should existing item on the same point or of the same type be replaced - - - - Add a list of wearables to the current outfit and set appearance - - List of wearable inventory items to - be added to the outfit - Should existing item on the same point or of the same type be replaced - - - - Add a list of wearables to the current outfit and set appearance - - List of wearable inventory items to - be added to the outfit - Should existing item on the same point or of the same type be replaced - - - - Remove a wearable from the current outfit and set appearance - - Wearable to be removed from the outfit - - - - Removes a list of wearables from the current outfit and set appearance - - List of wearable inventory items to - be removed from the outfit - - - - Replace the current outfit with a list of wearables and set appearance - - List of wearable inventory items that - define a new outfit - - - - Replace the current outfit with a list of wearables and set appearance - - List of wearable inventory items that - define a new outfit - Check if we have all body parts, set this to false only - if you know what you're doing - - - - Checks if an inventory item is currently being worn - - The inventory item to check against the agent - wearables - The WearableType slot that the item is being worn in, - or WearbleType.Invalid if it is not currently being worn - - - - Returns a copy of the agents currently worn wearables - - A copy of the agents currently worn wearables - Avoid calling this function multiple times as it will make - a copy of all of the wearable data each time - - - - Calls either or - depending on the value of - replaceItems - - List of wearable inventory items to add - to the outfit or become a new outfit - True to replace existing items with the - new list of items, false to add these items to the existing outfit - - - - Adds a list of attachments to our agent - - A List containing the attachments to add - If true, tells simulator to remove existing attachment - first - - - - Adds a list of attachments to our agent - - A List containing the attachments to add - If true, tells simulator to remove existing attachment - If true replace existing attachment on this attachment point, otherwise add to it (multi-attachments) - first - - - - Attach an item to our agent at a specific attach point - - A to attach - the on the avatar - to attach the item to - - - - Attach an item to our agent at a specific attach point - - A to attach - the on the avatar - If true replace existing attachment on this attachment point, otherwise add to it (multi-attachments) - to attach the item to - - - - Attach an item to our agent specifying attachment details - - The of the item to attach - The attachments owner - The name of the attachment - The description of the attahment - The to apply when attached - The of the attachment - The on the agent - to attach the item to - - - - Attach an item to our agent specifying attachment details - - The of the item to attach - The attachments owner - The name of the attachment - The description of the attahment - The to apply when attached - The of the attachment - The on the agent - If true replace existing attachment on this attachment point, otherwise add to it (multi-attachments) - to attach the item to - - - - Detach an item from our agent using an object - - An object - - - - Detach an item from our agent - - The inventory itemID of the item to detach - - - - Inform the sim which wearables are part of our current outfit - - - - - Replaces the Wearables collection with a list of new wearable items - - Wearable items to replace the Wearables collection with - - - - Calculates base color/tint for a specific wearable - based on its params - - All the color info gathered from wearable's VisualParams - passed as list of ColorParamInfo tuples - Base color/tint for the wearable - - - - Blocking method to populate the Wearables dictionary - - True on success, otherwise false - - - - Blocking method to populate the Textures array with cached bakes - - True on success, otherwise false - - - - Populates textures and visual params from a decoded asset - - Wearable to decode - - Populates textures and visual params from a decoded asset - - Wearable to decode - - - - Blocking method to download and parse currently worn wearable assets - - True on success, otherwise false - - - - Get a list of all of the textures that need to be downloaded for a - single bake layer - - Bake layer to get texture AssetIDs for - A list of texture AssetIDs to download - - - - Helper method to lookup the TextureID for a single layer and add it - to a list if it is not already present - - - - - - - Blocking method to download all of the textures needed for baking - the given bake layers - - A list of layers that need baking - No return value is given because the baking will happen - whether or not all textures are successfully downloaded - - - - Blocking method to create and upload baked textures for all of the - missing bakes - - True on success, otherwise false - - - - Blocking method to create and upload a baked texture for a single - bake layer - - Layer to bake - True on success, otherwise false - - - - Blocking method to upload a baked texture - - Five channel JPEG2000 texture data to upload - UUID of the newly created asset on success, otherwise UUID.Zero - - - - Creates a dictionary of visual param values from the downloaded wearables - - A dictionary of visual param indices mapping to visual param - values for our agent that can be fed to the Baker class - - - - Initate server baking process - - True if the server baking was successful - - - - Get the latest version of COF - - Current Outfit Folder (or null if getting the data failed) - - - - Create an AgentSetAppearance packet from Wearables data and the - Textures array and send it - - - - - Converts a WearableType to a bodypart or clothing WearableType - - A WearableType - AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown - - - - Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex - - A BakeType - The AvatarTextureIndex slot that holds the given BakeType - - - - Gives the layer number that is used for morph mask - - >A BakeType - Which layer number as defined in BakeTypeToTextures is used for morph mask - - - - Converts a BakeType to a list of the texture slots that make up that bake - - A BakeType - A list of texture slots that are inputs for the given bake - - - Contains the Event data returned from the data server from an AgentWearablesRequest - - - Construct a new instance of the AgentWearablesReplyEventArgs class - - - Contains the Event data returned from the data server from an AgentCachedTextureResponse - - - Construct a new instance of the AgentCachedBakesReplyEventArgs class - - - Contains the Event data returned from an AppearanceSetRequest - - - Indicates whether appearance setting was successful - - - - Triggered when appearance data is sent to the sim and - the main appearance thread is done. - Indicates whether appearance setting was successful - - - Contains the Event data returned from the data server from an RebakeAvatarTextures - - - The ID of the Texture Layer to bake - - - - Triggered when the simulator sends a request for this agent to rebake - its appearance - - The ID of the Texture Layer to bake - - - - Class that handles the local asset cache - - - - - Allows setting weather to periodicale prune the cache if it grows too big - Default is enabled, when caching is enabled - - - - - How long (in ms) between cache checks (default is 5 min.) - - - - - Default constructor - - A reference to the GridClient object - - - - Disposes cleanup timer - - - - - Only create timer when needed - - - - - Return bytes read from the local asset cache, null if it does not exist - - UUID of the asset we want to get - Raw bytes of the asset, or null on failure - - - - Returns ImageDownload object of the - image from the local image cache, null if it does not exist - - UUID of the image we want to get - ImageDownload object containing the image, or null on failure - - - - Constructs a file name of the cached asset - - UUID of the asset - String with the file name of the cahced asset - - - - Constructs a file name of the static cached asset - - UUID of the asset - String with the file name of the static cached asset - - - - Saves an asset to the local cache - - UUID of the asset - Raw bytes the asset consists of - Weather the operation was successfull - - - - Get the file name of the asset stored with gived UUID - - UUID of the asset - Null if we don't have that UUID cached on disk, file name if found in the cache folder - - - - Checks if the asset exists in the local cache - - UUID of the asset - True is the asset is stored in the cache, otherwise false - - - - Wipes out entire cache - - - - - Brings cache size to the 90% of the max size - - - - - Asynchronously brings cache size to the 90% of the max size - - - - - Adds up file sizes passes in a FileInfo array - - - - - Checks whether caching is enabled - - - - - Periodically prune the cache - - - - - Nicely formats file sizes - - Byte size we want to output - String with humanly readable file size - - - - Helper class for sorting files by their last accessed time - - - - - - - - - OK - - - Transfer completed - - - - - - - - - Unknown error occurred - - - Equivalent to a 404 error - - - Client does not have permission for that resource - - - Unknown status - - - - - - - - - - - Unknown - - - Virtually all asset transfers use this channel - - - - - - - - - - - Asset from the asset server - - - Inventory item - - - Estate asset, such as an estate covenant - - - - - - - - - - - - - - - - - - When requesting image download, type of the image requested - - - - Normal in-world object texture - - - Avatar texture - - - Server baked avatar texture - - - - Image file format - - - - - - - - - Number of milliseconds passed since the last transfer - packet was received - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Number of milliseconds to wait for a transfer header packet if out of order data was received - - - - Callback used for various asset download requests - - Transfer information - Downloaded asset, null on fail - - - - Callback used upon competition of baked texture upload - - Asset UUID of the newly uploaded baked texture - - - - A callback that fires upon the completition of the RequestMesh call - - Was the download successfull - Resulting mesh or null on problems - - - The event subscribers. null if no subcribers - - - Raises the XferReceived event - A XferReceivedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds sends - - - The event subscribers. null if no subcribers - - - Raises the AssetUploaded event - A AssetUploadedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised during upload completes - - - The event subscribers. null if no subcribers - - - Raises the UploadProgress event - A UploadProgressEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised during upload with progres update - - - The event subscribers. null if no subcribers - - - Raises the InitiateDownload event - A InitiateDownloadEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files - - - The event subscribers. null if no subcribers - - - Raises the ImageReceiveProgress event - A ImageReceiveProgressEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Fired when a texture is in the process of being downloaded by the TexturePipeline class - - - Texture download cache - - - - Default constructor - - A reference to the GridClient object - - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - The callback to fire when the simulator responds with the asset data - - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - The callback to fire when the simulator responds with the asset data - - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - UUID of the transaction - The callback to fire when the simulator responds with the asset data - - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - UUID of the transaction - The callback to fire when the simulator responds with the asset data - - - - Request an asset download through the almost deprecated Xfer system - - Filename of the asset to request - Whether or not to delete the asset - off the server after it is retrieved - Use large transfer packets or not - UUID of the file to request, if filename is - left empty - Asset type of vFileID, or - AssetType.Unknown if filename is not empty - Sets the FilePath in the request to Cache - (4) if true, otherwise Unknown (0) is used - - - - - - - Use UUID.Zero if you do not have the - asset ID but have all the necessary permissions - The item ID of this asset in the inventory - Use UUID.Zero if you are not requesting an - asset from an object inventory - The owner of this asset - Asset type - Whether to prioritize this asset download or not - - - - - Used to force asset data into the PendingUpload property, ie: for raw terrain uploads - - An AssetUpload object containing the data to upload to the simulator - - - - Request an asset be uploaded to the simulator - - The Object containing the asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - - - - Request an asset be uploaded to the simulator - - The of the asset being uploaded - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - - - - Request an asset be uploaded to the simulator - - - Asset type to upload this data as - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - - - - Initiate an asset upload - - The ID this asset will have if the - upload succeeds - Asset type to upload this data as - Raw asset data to upload - Whether to store this asset on the local - simulator or the grid-wide asset server - The tranaction id for the upload - The transaction ID of this transfer - - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress - transfer. - A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority - indicating an off-by-one error. - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - Request an image and fire a callback when the request is complete - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - - Request an image and use an inline anonymous method to handle the downloaded texture data - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - ); - - Request a texture, decode the texture to a bitmap image and apply it to a imagebox - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - ManagedImage imgData; - Image bitmap; - - if (state == TextureRequestState.Finished) - { - OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); - picInsignia.Image = bitmap; - } - } - } - - - - - - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - - - - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - - - - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - - - Cancel a texture request - - The texture assets - - - - Requests download of a mesh asset - - UUID of the mesh asset - Callback when the request completes - - - - Fetach avatar texture on a grid capable of server side baking - - ID of the avatar - ID of the texture - Name of the part of the avatar texture applies to - Callback invoked on operation completion - - - - Lets TexturePipeline class fire the progress event - - The texture ID currently being downloaded - the number of bytes transferred - the total number of bytes expected - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Xfer data - - - Upload data - - - Filename used on the simulator - - - Filename used by the client - - - UUID of the image that is in progress - - - Number of bytes received so far - - - Image size in bytes - - - - Avatar profile flags - - - - - Represents an avatar (other than your own) - - - - - Positive and negative ratings - - - - Positive ratings for Behavior - - - Negative ratings for Behavior - - - Positive ratings for Appearance - - - Negative ratings for Appearance - - - Positive ratings for Building - - - Negative ratings for Building - - - Positive ratings given by this avatar - - - Negative ratings given by this avatar - - - - Avatar properties including about text, profile URL, image IDs and - publishing settings - - - - First Life about text - - - First Life image ID - - - - - - - - - - - - - - - Profile image ID - - - Flags of the profile - - - Web URL for this profile - - - Should this profile be published on the web - - - Avatar Online Status - - - Is this a mature profile - - - - - - - - - - Avatar interests including spoken languages, skills, and "want to" - choices - - - - Languages profile field - - - - - - - - - - - - - - - Groups that this avatar is a member of - - - Positive and negative ratings - - - Avatar properties including about text, profile URL, image IDs and - publishing settings - - - Avatar interests including spoken languages, skills, and "want to" - choices - - - Movement control flags for avatars. Typically not set or used by - clients. To move your avatar, use Client.Self.Movement instead - - - - Contains the visual parameters describing the deformation of the avatar - - - - - Appearance version. Value greater than 0 indicates using server side baking - - - - - Version of the Current Outfit Folder that the appearance is based on - - - - - Appearance flags. Introduced with server side baking, currently unused. - - - - - List of current avatar animations - - - - First name - - - Last name - - - Full name - - - Active group - - - - Default constructor - - - - Information about agents display name - - - Agent UUID - - - Username - - - Display name - - - First name (legacy) - - - Last name (legacy) - - - Full name (legacy) - - - Is display name default display name - - - Cache display name until - - - Last updated timestamp - - - - Creates AgentDisplayName object from OSD - - Incoming OSD data - AgentDisplayName object - - - - Return object as OSD map - - OSD containing agent's display name data - - - - Holds group information for Avatars such as those you might find in a profile - - - - true of Avatar accepts group notices - - - Groups Key - - - Texture Key for groups insignia - - - Name of the group - - - Powers avatar has in the group - - - Avatars Currently selected title - - - true of Avatar has chosen to list this in their profile - - - - Contains an animation currently being played by an agent - - - - The ID of the animation asset - - - A number to indicate start order of currently playing animations - On Linden Grids this number is unique per region, with OpenSim it is per client - - - - - - - Holds group information on an individual profile pick - - - - - Retrieve friend status notifications, and retrieve avatar names and - profiles - - - - The event subscribers, null of no subscribers - - - Raises the AvatarAnimation Event - An AvatarAnimationEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - an agents animation playlist - - - The event subscribers, null of no subscribers - - - Raises the AvatarAppearance Event - A AvatarAppearanceEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - the appearance information for an agent - - - The event subscribers, null of no subscribers - - - Raises the UUIDNameReply Event - A UUIDNameReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - agent names/id values - - - The event subscribers, null of no subscribers - - - Raises the AvatarInterestsReply Event - A AvatarInterestsReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - the interests listed in an agents profile - - - The event subscribers, null of no subscribers - - - Raises the AvatarPropertiesReply Event - A AvatarPropertiesReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - profile property information for an agent - - - The event subscribers, null of no subscribers - - - Raises the AvatarGroupsReply Event - A AvatarGroupsReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - the group membership an agent is a member of - - - The event subscribers, null of no subscribers - - - Raises the AvatarPickerReply Event - A AvatarPickerReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - name/id pair - - - The event subscribers, null of no subscribers - - - Raises the ViewerEffectPointAt Event - A ViewerEffectPointAtEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - the objects and effect when an agent is pointing at - - - The event subscribers, null of no subscribers - - - Raises the ViewerEffectLookAt Event - A ViewerEffectLookAtEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - the objects and effect when an agent is looking at - - - The event subscribers, null of no subscribers - - - Raises the ViewerEffect Event - A ViewerEffectEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - an agents viewer effect information - - - The event subscribers, null of no subscribers - - - Raises the AvatarPicksReply Event - A AvatarPicksReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - the top picks from an agents profile - - - The event subscribers, null of no subscribers - - - Raises the PickInfoReply Event - A PickInfoReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - the Pick details - - - The event subscribers, null of no subscribers - - - Raises the AvatarClassifiedReply Event - A AvatarClassifiedReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - the classified ads an agent has placed - - - The event subscribers, null of no subscribers - - - Raises the ClassifiedInfoReply Event - A ClassifiedInfoReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - the details of a classified ad - - - The event subscribers, null of no subscribers - - - Raises the DisplayNameUpdate Event - A DisplayNameUpdateEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - the details of display name change - - - - Callback giving results when fetching display names - - If the request was successful - Array of display names - Array of UUIDs that could not be fetched - - - - Represents other avatars - - - - - Tracks the specified avatar on your map - Avatar ID to track - - - - Request a single avatar name - - The avatar key to retrieve a name for - - - - Request a list of avatar names - - The avatar keys to retrieve names for - - - - Check if Display Names functionality is available - - True if Display name functionality is available - - - - Request retrieval of display names (max 90 names per request) - - List of UUIDs to lookup - Callback to report result of the operation - - - - Start a request for Avatar Properties - - - - - - Search for an avatar (first name, last name) - - The name to search for - An ID to associate with this query - - - - Start a request for Avatar Picks - - UUID of the avatar - - - - Start a request for Avatar Classifieds - - UUID of the avatar - - - - Start a request for details of a specific profile pick - - UUID of the avatar - UUID of the profile pick - - - - Start a request for details of a specific profile classified - - UUID of the avatar - UUID of the profile classified - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - EQ Message fired when someone nearby changes their display name - - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - - - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. - - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Provides data for the event - The event occurs when the simulator sends - the animation playlist for an agent - - The following code example uses the and - properties to display the animation playlist of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; - - private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) - { - // create a dictionary of "known" animations from the Animations class using System.Reflection - Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); - Type type = typeof(Animations); - System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); - foreach (System.Reflection.FieldInfo field in fields) - { - systemAnimations.Add((UUID)field.GetValue(type), field.Name); - } - - // find out which animations being played are known animations and which are assets - foreach (Animation animation in e.Animations) - { - if (systemAnimations.ContainsKey(animation.AnimationID)) - { - Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, - systemAnimations[animation.AnimationID], animation.AnimationSequence); - } - else - { - Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, - animation.AnimationID, animation.AnimationSequence); - } - } - } - - - - - Get the ID of the agent - - - Get the list of animations to start - - - - Construct a new instance of the AvatarAnimationEventArgs class - - The ID of the agent - The list of animations to start - - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - - - - Get the Simulator this request is from of the agent - - - Get the ID of the agent - - - true if the agent is a trial account - - - Get the default agent texture - - - Get the agents appearance layer textures - - - Get the for the agent - - - Version of the appearance system used. - Value greater than 0 indicates that server side baking is used - - - Version of the Current Outfit Folder the appearance is based on - - - Appearance flags, introduced with server side baking, currently unused - - - - Construct a new instance of the AvatarAppearanceEventArgs class - - The simulator request was from - The ID of the agent - true of the agent is a trial account - The default agent texture - The agents appearance layer textures - The for the agent - - - Represents the interests from the profile of an agent - - - Get the ID of the agent - - - The properties of an agent - - - Get the ID of the agent - - - Get the ID of the agent - - - Get the ID of the agent - - - Get the ID of the avatar - - - - Event args class for display name notification messages - - - - - Wrapper around a byte array that allows bit to be packed and unpacked - one at a time or by a variable amount. Useful for very tightly packed - data like LayerData packets - - - - - - - - - - - - - - Default constructor, initialize the bit packer / bit unpacker - with a byte array and starting position - - Byte array to pack bits in to or unpack from - Starting position in the byte array - - - - Pack a floating point value in to the data - - Floating point value to pack - - - - Pack part or all of an integer in to the data - - Integer containing the data to pack - Number of bits of the integer to pack - - - - Pack part or all of an unsigned integer in to the data - - Unsigned integer containing the data to pack - Number of bits of the integer to pack - - - - Pack a single bit in to the data - - Bit to pack - - - - - - - - - - - - - - - - - - - - - - - - - Unpacking a floating point value from the data - - Unpacked floating point value - - - - Unpack a variable number of bits from the data in to integer format - - Number of bits to unpack - An integer containing the unpacked bits - This function is only useful up to 32 bits - - - - Unpack a variable number of bits from the data in to unsigned - integer format - - Number of bits to unpack - An unsigned integer containing the unpacked bits - This function is only useful up to 32 bits - - - - Unpack a 16-bit signed integer - - 16-bit signed integer - - - - Unpack a 16-bit unsigned integer - - 16-bit unsigned integer - - - - Unpack a 32-bit signed integer - - 32-bit signed integer - - - - Unpack a 32-bit unsigned integer - - 32-bit unsigned integer - - - - Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. - - - - - Rotation Keyframe count (used internally) - - - - - Position Keyframe count (used internally) - - - - - Animation Priority - - - - - The animation length in seconds. - - - - - Expression set in the client. Null if [None] is selected - - - - - The time in seconds to start the animation - - - - - The time in seconds to end the animation - - - - - Loop the animation - - - - - Meta data. Ease in Seconds. - - - - - Meta data. Ease out seconds. - - - - - Meta Data for the Hand Pose - - - - - Number of joints defined in the animation - - - - - Contains an array of joints - - - - - Searialize an animation asset into it's joints/keyframes/meta data - - - - - - Variable length strings seem to be null terminated in the animation asset.. but.. - use with caution, home grown. - advances the index. - - The animation asset byte array - The offset to start reading - a string - - - - Read in a Joint from an animation asset byte array - Variable length Joint fields, yay! - Advances the index - - animation asset byte array - Byte Offset of the start of the joint - The Joint data serialized into the binBVHJoint structure - - - - Read Keyframes of a certain type - advance i - - Animation Byte array - Offset in the Byte Array. Will be advanced - Number of Keyframes - Scaling Min to pass to the Uint16ToFloat method - Scaling Max to pass to the Uint16ToFloat method - - - - - Determines whether the specified is equal to the current . - - - true if the specified is equal to the current ; otherwise, false. - - The to compare with the current . - The parameter is null. - 2 - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - 2 - - - - A Joint and it's associated meta data and keyframes - - - - - Indicates whether this instance and a specified object are equal. - - - true if and this instance are the same type and represent the same value; otherwise, false. - - Another object to compare to. - 2 - - - - Returns the hash code for this instance. - - - A 32-bit signed integer that is the hash code for this instance. - - 2 - - - - Name of the Joint. Matches the avatar_skeleton.xml in client distros - - - - - Joint Animation Override? Was the same as the Priority in testing.. - - - - - Array of Rotation Keyframes in order from earliest to latest - - - - - Array of Position Keyframes in order from earliest to latest - This seems to only be for the Pelvis? - - - - - Custom application data that can be attached to a joint - - - - - A Joint Keyframe. This is either a position or a rotation. - - - - - Either a Vector3 position or a Vector3 Euler rotation - - - - - Poses set in the animation metadata for the hands. - - - - - Capabilities is the name of the bi-directional HTTP REST protocol - used to communicate non real-time transactions such as teleporting or - group messaging - - - - - Triggered when an event is received via the EventQueueGet - capability - - Event name - Decoded event data - The simulator that generated the event - - - Reference to the simulator this system is connected to - - - Capabilities URI this system was initialized with - - - Whether the capabilities event queue is connected and - listening for incoming events - - - - Default constructor - - - - - - - Request the URI of a named capability - - Name of the capability to request - The URI of the requested capability, or String.Empty if - the capability does not exist - - - - Process any incoming events, check to see if we have a message created for the event, - - - - - - - Attempts to convert an LLSD structure to a known Packet type - - Event name, this must match an actual - packet name for a Packet to be successfully built - LLSD to convert to a Packet - A Packet on success, otherwise null - - - - A custom decoder callback - - The key of the object - the data to decode - A string represending the fieldData - - - - Add a custom decoder callback - - The key of the field to decode - The custom decode handler - - - - Remove a custom decoder callback - - The key of the field to decode - The custom decode handler - - - - Creates a formatted string containing the values of a Packet - - The Packet - A formatted string of values of the nested items in the Packet object - - - - Decode an IMessage object into a beautifully formatted string - - The IMessage object - Recursion level (used for indenting) - A formatted string containing the names and values of the source object - - - - Thrown when a packet could not be successfully deserialized - - - - - Default constructor - - - - - Constructor that takes an additional error message - - An error message to attach to this exception - - - - The header of a message template packet. Holds packet flags, sequence - number, packet ID, and any ACKs that will be appended at the end of - the packet - - - - - Convert the AckList to a byte array, used for packet serializing - - Reference to the target byte array - Beginning position to start writing to in the byte - array, will be updated with the ending position of the ACK list - - - - - - - - - - - - - - - - - - - - - A block of data in a packet. Packets are composed of one or more blocks, - each block containing one or more fields - - - - Current length of the data in this packet - - - - Create a block from a byte array - - Byte array containing the serialized block - Starting position of the block in the byte array. - This will point to the data after the end of the block when the - call returns - - - - Serialize this block into a byte array - - Byte array to serialize this block into - Starting position in the byte array to serialize to. - This will point to the position directly after the end of the - serialized block when the call returns - - - A generic value, not an actual packet type - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Origin position of this coordinate frame - - - X axis of this coordinate frame, or Forward/At in grid terms - - - Y axis of this coordinate frame, or Left in grid terms - - - Z axis of this coordinate frame, or Up in grid terms - - - - - - Looking direction, must be a normalized vector - Up direction, must be a normalized vector - - - - Align the coordinate frame X and Y axis with a given rotation - around the Z axis in radians - - Absolute rotation around the Z axis in - radians - - - - Access to the data server which allows searching for land, events, people, etc - - - - Classified Ad categories - - - Classified is listed in the Any category - - - Classified is shopping related - - - Classified is - - - - - - - - - - - - - - - - - - - - - - - - Event Categories - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. - - Flags can be combined using the | (pipe) character, not all flags are available in all queries - - - - Query the People database - - - - - - - - - Query the Groups database - - - Query the Events database - - - Query the land holdings database for land owned by the currently connected agent - - - - - - Query the land holdings database for land which is owned by a Group - - - Specifies the query should pre sort the results based upon traffic - when searching the Places database - - - - - - - - - - - - - - - Specifies the query should pre sort the results in an ascending order when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results using the Name field when searching the land sales database. - This flag is only used when searching the land sales database - - - When set, only parcels less than the specified Price will be included when searching the land sales database. - This flag is only used when searching the land sales database - - - When set, only parcels greater than the specified Size will be included when searching the land sales database. - This flag is only used when searching the land sales database - - - - - - - - - Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases - - - Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases - - - Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases - - - - - - - Land types to search dataserver for - - - - Search Auction, Mainland and Estate - - - Land which is currently up for auction - - - Parcels which are on the mainland (Linden owned) continents - - - Parcels which are on privately owned simulators - - - - The content rating of the event - - - - Event is PG - - - Event is Mature - - - Event is Adult - - - - Classified Ad Options - - There appear to be two formats the flags are packed in. - This set of flags is for the newer style - - - - - - - - - - - - - - - - - - - Classified ad query options - - - - Include all ads in results - - - Include PG ads in results - - - Include Mature ads in results - - - Include Adult ads in results - - - - The For Sale flag in PlacesReplyData - - - - Parcel is not listed for sale - - - Parcel is For Sale - - - - A classified ad on the grid - - - - UUID for this ad, useful for looking up detailed - information about it - - - The title of this classified ad - - - Flags that show certain options applied to the classified - - - Creation date of the ad - - - Expiration date of the ad - - - Price that was paid for this ad - - - Print the struct data as a string - A string containing the field name, and field value - - - - A parcel retrieved from the dataserver such as results from the - "For-Sale" listings or "Places" Search - - - - The unique dataserver parcel ID - This id is used to obtain additional information from the entry - by using the method - - - A string containing the name of the parcel - - - The size of the parcel - This field is not returned for Places searches - - - The price of the parcel - This field is not returned for Places searches - - - If True, this parcel is flagged to be auctioned - - - If true, this parcel is currently set for sale - - - Parcel traffic - - - Print the struct data as a string - A string containing the field name, and field value - - - - An Avatar returned from the dataserver - - - - Online status of agent - This field appears to be obsolete and always returns false - - - The agents first name - - - The agents last name - - - The agents - - - Print the struct data as a string - A string containing the field name, and field value - - - - Response to a "Groups" Search - - - - The Group ID - - - The name of the group - - - The current number of members - - - Print the struct data as a string - A string containing the field name, and field value - - - - Parcel information returned from a request - - Represents one of the following: - A parcel of land on the grid that has its Show In Search flag set - A parcel of land owned by the agent making the request - A parcel of land owned by a group the agent making the request is a member of - - - In a request for Group Land, the First record will contain an empty record - - Note: This is not the same as searching the land for sale data source - - - - The ID of the Agent of Group that owns the parcel - - - The name - - - The description - - - The Size of the parcel - - - The billable Size of the parcel, for mainland - parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller - than the ActualArea. For Estate land this will always be 0 - - - Indicates the ForSale status of the parcel - - - The Gridwide X position - - - The Gridwide Y position - - - The Z position of the parcel, or 0 if no landing point set - - - The name of the Region the parcel is located in - - - The Asset ID of the parcels Snapshot texture - - - The calculated visitor traffic - - - The billing product SKU - Known values are: - - 023Mainland / Full Region - 024Estate / Full Region - 027Estate / Openspace - 029Estate / Homestead - 129Mainland / Homestead (Linden Owned) - - - - - No longer used, will always be 0 - - - Get a SL URL for the parcel - A string, containing a standard SLURL - - - Print the struct data as a string - A string containing the field name, and field value - - - - An "Event" Listing summary - - - - The ID of the event creator - - - The name of the event - - - The events ID - - - A string containing the short date/time the event will begin - - - The event start time in Unixtime (seconds since epoch) - - - The events maturity rating - - - Print the struct data as a string - A string containing the field name, and field value - - - - The details of an "Event" - - - - The events ID - - - The ID of the event creator - - - The name of the event - - - The category - - - The events description - - - The short date/time the event will begin - - - The event start time in Unixtime (seconds since epoch) UTC adjusted - - - The length of the event in minutes - - - 0 if no cover charge applies - - - The cover charge amount in L$ if applicable - - - The name of the region where the event is being held - - - The gridwide location of the event - - - The maturity rating - - - Get a SL URL for the parcel where the event is hosted - A string, containing a standard SLURL - - - Print the struct data as a string - A string containing the field name, and field value - - - The event subscribers. null if no subcribers - - - Raises the EventInfoReply event - An EventInfoReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the DirEventsReply event - An DirEventsReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the PlacesReply event - A PlacesReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the DirPlacesReply event - A DirPlacesReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the DirClassifiedsReply event - A DirClassifiedsReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the DirGroupsReply event - A DirGroupsReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the DirPeopleReply event - A DirPeopleReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the DirLandReply event - A DirLandReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - - Constructs a new instance of the DirectoryManager class - - An instance of GridClient - - - - Query the data server for a list of classified ads containing the specified string. - Defaults to searching for classified placed in any category, and includes PG, Adult and Mature - results. - - Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for - A UUID to correlate the results when the event is raised - - - - Query the data server for a list of classified ads which contain specified keywords (Overload) - - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for - The category to search - A set of flags which can be ORed to modify query options - such as classified maturity rating. - A UUID to correlate the results when the event is raised - - Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature - - UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); - - - - Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - - - - - Starts search for places (Overloaded) - - The event is raised when a response is received from the simulator - - Search text - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - - - Queries the dataserver for parcels of land which are flagged to be shown in search - - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for separated by a space character - A set of flags which can be ORed to modify query options - such as classified maturity rating. - The category to search - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult - - UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); - - - - Additional information on the results can be obtained by using the ParcelManager.InfoRequest method - - - - - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator - - What type of land to search for. Auction, - estate, mainland, "first land", etc - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. - - - - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator - - What type of land to search for. Auction, - estate, mainland, "first land", etc - Maximum price to search for - Maximum area to search for - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. - - - - Send a request to the data server for land sales listings - - - Flags sent to specify query options - - Available flags: - Specify the parcel rating with one or more of the following: - IncludePG IncludeMature IncludeAdult - - Specify the field to pre sort the results with ONLY ONE of the following: - PerMeterSort NameSort AreaSort PricesSort - - Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order - SortAsc - - Specify additional filters to limit the results with one or both of the following: - LimitByPrice LimitByArea - - Flags can be combined by separating them with the | (pipe) character - - Additional details can be found in - - What type of land to search for. Auction, - Estate or Mainland - Maximum price to search for when the - DirFindFlags.LimitByPrice flag is specified in findFlags - Maximum area to search for when the - DirFindFlags.LimitByArea flag is specified in findFlags - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - The event will be raised with the response from the simulator - - There is no way to determine how many results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each reply. - - Any land set for sale to either anybody or specific to the connected agent will be included in the - results if the land is included in the query - - - // request all mainland, any maturity rating that is larger than 512 sq.m - StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); - - - - - Search for Groups - - The name or portion of the name of the group you wish to search for - Start from the match number - - - - - Search for Groups - - The name or portion of the name of the group you wish to search for - Start from the match number - Search flags - - - - - Search the People directory for other avatars - - The name or portion of the name of the avatar you wish to search for - - - - - - Search Places for parcels of land you personally own - - - - - Searches Places for land owned by the specified group - - ID of the group you want to recieve land list for (You must be a member of the group) - Transaction (Query) ID which can be associated with results from your request. - - - - Search the Places directory for parcels that are listed in search and contain the specified keywords - - A string containing the keywords to search for - Transaction (Query) ID which can be associated with results from your request. - - - - Search Places - All Options - - One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. - One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer - A string containing a list of keywords to search for separated by a space character - String Simulator Name to search in - LLUID of group you want to recieve results for - Transaction (Query) ID which can be associated with results from your request. - Transaction (Query) ID which can be associated with results from your request. - - - - Search All Events with specifid searchText in all categories, includes PG, Mature and Adult - - A string containing a list of keywords to search for separated by a space character - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - UUID of query to correlate results in callback. - - - - Search Events - - A string containing a list of keywords to search for separated by a space character - One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult - from the Enum - - Multiple flags can be combined by separating the flags with the | (pipe) character - "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled - For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - EventCategory event is listed under. - UUID of query to correlate results in callback. - - - Requests Event Details - ID of Event returned from the method - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Contains the Event data returned from the data server from an EventInfoRequest - - - - A single EventInfo object containing the details of an event - - - - Construct a new instance of the EventInfoReplyEventArgs class - A single EventInfo object containing the details of an event - - - Contains the "Event" detail data returned from the data server - - - The ID returned by - - - A list of "Events" returned by the data server - - - Construct a new instance of the DirEventsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Events" returned by the search query - - - Contains the "Event" list data returned from the data server - - - The ID returned by - - - A list of "Places" returned by the data server - - - Construct a new instance of PlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Places" returned by the data server query - - - Contains the places data returned from the data server - - - The ID returned by - - - A list containing Places data returned by the data server - - - Construct a new instance of the DirPlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing land data returned by the data server - - - Contains the classified data returned from the data server - - - A list containing Classified Ads returned by the data server - - - Construct a new instance of the DirClassifiedsReplyEventArgs class - A list of classified ad data returned from the data server - - - Contains the group data returned from the data server - - - The ID returned by - - - A list containing Groups data returned by the data server - - - Construct a new instance of the DirGroupsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of groups data returned by the data server - - - Contains the people data returned from the data server - - - The ID returned by - - - A list containing People data returned by the data server - - - Construct a new instance of the DirPeopleReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of people data returned by the data server - - - Contains the land sales data returned from the data server - - - A list containing land forsale data returned by the data server - - - Construct a new instance of the DirLandReplyEventArgs class - A list of parcels for sale returned by the data server - - - - Represends individual HTTP Download request - - - - URI of the item to fetch - - - Timout specified in milliseconds - - - Download progress callback - - - Download completed callback - - - Accept the following content type - - - How many times will this request be retried - - - Current fetch attempt - - - Default constructor - - - Constructor - - - - Manages async HTTP downloads with a limit on maximum - concurrent downloads - - - - Maximum number of parallel downloads from a single endpoint - - - Client certificate - - - Default constructor - - - Cleanup method - - - Setup http download request - - - Check the queue for pending work - - - Enqueue a new HTTP download - - - Describes tasks returned in LandStatReply - - - - Estate level administration and utilities - - - - Textures for each of the four terrain height levels - - - Upper/lower texture boundaries for each corner of the sim - - - - Constructor for EstateTools class - - - - - Used in the ReportType field of a LandStatRequest - - - Used by EstateOwnerMessage packets - - - Used by EstateOwnerMessage packets - - - - - - - - No flags set - - - Only return targets scripted objects - - - Only return targets objects if on others land - - - Returns target's scripted objects and objects on other parcels - - - Ground texture settings for each corner of the region - - - Used by GroundTextureHeightSettings - - - The high and low texture thresholds for each corner of the sim - - - The event subscribers. null if no subcribers - - - Raises the TopCollidersReply event - A TopCollidersReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the TopScriptsReply event - A TopScriptsReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the EstateUsersReply event - A EstateUsersReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the EstateGroupsReply event - A EstateGroupsReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the EstateManagersReply event - A EstateManagersReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the EstateBansReply event - A EstateBansReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the EstateCovenantReply event - A EstateCovenantReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the EstateUpdateInfoReply event - A EstateUpdateInfoReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - - Requests estate information such as top scripts and colliders - - - - - - - - Requests estate settings, including estate manager and access/ban lists - - - Requests the "Top Scripts" list for the current region - - - Requests the "Top Colliders" list for the current region - - - - Set several estate specific configuration variables - - The Height of the waterlevel over the entire estate. Defaults to 20 - The maximum height change allowed above the baked terrain. Defaults to 4 - The minimum height change allowed below the baked terrain. Defaults to -4 - true to use - if True forces the sun position to the position in SunPosition - The current position of the sun on the estate, or when FixedSun is true the static position - the sun will remain. 6.0 = Sunrise, 30.0 = Sunset - - - - Request return of objects owned by specified avatar - - The Agents owning the primitives to return - specify the coverage and type of objects to be included in the return - true to perform return on entire estate - - - - - - - - - Used for setting and retrieving various estate panel settings - - EstateOwnerMessage Method field - List of parameters to include - - - - Kick an avatar from an estate - - Key of Agent to remove - - - - Ban an avatar from an estate - Key of Agent to remove - Ban user from this estate and all others owned by the estate owner - - - Unban an avatar from an estate - Key of Agent to remove - /// Unban user from this estate and all others owned by the estate owner - - - - Send a message dialog to everyone in an entire estate - - Message to send all users in the estate - - - - Send a message dialog to everyone in a simulator - - Message to send all users in the simulator - - - - Send an avatar back to their home location - - Key of avatar to send home - - - - Begin the region restart process - - - - - Cancels a region restart - - - - Estate panel "Region" tab settings - - - Estate panel "Debug" tab settings - - - Used for setting the region's terrain textures for its four height levels - - - - - - - Used for setting sim terrain texture heights - - - Requests the estate covenant - - - - Upload a terrain RAW file - - A byte array containing the encoded terrain data - The name of the file being uploaded - The Id of the transfer request - - - - Teleports all users home in current Estate - - - - - Remove estate manager - Key of Agent to Remove - removes manager to this estate and all others owned by the estate owner - - - - Add estate manager - Key of Agent to Add - Add agent as manager to this estate and all others owned by the estate owner - - - - Add's an agent to the estate Allowed list - Key of Agent to Add - Add agent as an allowed reisdent to All estates if true - - - - Removes an agent from the estate Allowed list - Key of Agent to Remove - Removes agent as an allowed reisdent from All estates if true - - - - - Add's a group to the estate Allowed list - Key of Group to Add - Add Group as an allowed group to All estates if true - - - - - Removes a group from the estate Allowed list - Key of Group to Remove - Removes Group as an allowed Group from All estates if true - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised on LandStatReply when the report type is for "top colliders" - - - - The number of returned items in LandStatReply - - - - - A Dictionary of Object UUIDs to tasks returned in LandStatReply - - - - Construct a new instance of the TopCollidersReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply - - - Raised on LandStatReply when the report type is for "top Scripts" - - - - The number of scripts returned in LandStatReply - - - - - A Dictionary of Object UUIDs to tasks returned in LandStatReply - - - - Construct a new instance of the TopScriptsReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply - - - Returned, along with other info, upon a successful .RequestInfo() - - - - The identifier of the estate - - - - - The number of returned itmes - - - - - List of UUIDs of Banned Users - - - - Construct a new instance of the EstateBansReplyEventArgs class - The estate's identifier on the grid - The number of returned items in LandStatReply - User UUIDs banned - - - Returned, along with other info, upon a successful .RequestInfo() - - - - The identifier of the estate - - - - - The number of returned items - - - - - List of UUIDs of Allowed Users - - - - Construct a new instance of the EstateUsersReplyEventArgs class - The estate's identifier on the grid - The number of users - Allowed users UUIDs - - - Returned, along with other info, upon a successful .RequestInfo() - - - - The identifier of the estate - - - - - The number of returned items - - - - - List of UUIDs of Allowed Groups - - - - Construct a new instance of the EstateGroupsReplyEventArgs class - The estate's identifier on the grid - The number of Groups - Allowed Groups UUIDs - - - Returned, along with other info, upon a successful .RequestInfo() - - - - The identifier of the estate - - - - - The number of returned items - - - - - List of UUIDs of the Estate's Managers - - - - Construct a new instance of the EstateManagersReplyEventArgs class - The estate's identifier on the grid - The number of Managers - Managers UUIDs - - - Returned, along with other info, upon a successful .RequestInfo() - - - - The Covenant - - - - - The timestamp - - - - - The Estate name - - - - - The Estate Owner's ID (can be a GroupID) - - - - Construct a new instance of the EstateCovenantReplyEventArgs class - The Covenant ID - The timestamp - The estate's name - The Estate Owner's ID (can be a GroupID) - - - Returned, along with other info, upon a successful .RequestInfo() - - - - The estate's name - - - - - The Estate Owner's ID (can be a GroupID) - - - - - The identifier of the estate on the grid - - - - - - - Construct a new instance of the EstateUpdateInfoReplyEventArgs class - The estate's name - The Estate Owners ID (can be a GroupID) - The estate's identifier on the grid - - - - - Registers, unregisters, and fires events generated by incoming packets - - - - - Object that is passed to worker threads in the ThreadPool for - firing packet callbacks - - - - Callback to fire for this packet - - - Reference to the simulator that this packet came from - - - The packet that needs to be processed - - - Reference to the GridClient object - - - - Default constructor - - - - - - Register an event handler - - Use PacketType.Default to fire this event on every - incoming packet - Packet type to register the handler for - Callback to be fired - True if this callback should be ran - asynchronously, false to run it synchronous - - - - Unregister an event handler - - Packet type to unregister the handler for - Callback to be unregistered - - - - Fire the events registered for this packet type - - Incoming packet type - Incoming packet - Simulator this packet was received from - - - - Registers, unregisters, and fires events generated by the Capabilities - event queue - - - - - Object that is passed to worker threads in the ThreadPool for - firing CAPS callbacks - - - - Callback to fire for this packet - - - Name of the CAPS event - - - Strongly typed decoded data - - - Reference to the simulator that generated this event - - - Reference to the GridClient object - - - - Default constructor - - Reference to the GridClient object - - - - Register an new event handler for a capabilities event sent via the EventQueue - - Use String.Empty to fire this event on every CAPS event - Capability event name to register the - handler for - Callback to fire - - - - Unregister a previously registered capabilities handler - - Capability event name unregister the - handler for - Callback to unregister - - - - Fire the events registered for this event type synchronously - - Capability name - Decoded event body - Reference to the simulator that - generated this event - - - - Fire the events registered for this event type asynchronously - - Capability name - Decoded event body - Reference to the simulator that - generated this event - - - - - - - - The avatar has no rights - - - The avatar can see the online status of the target avatar - - - The avatar can see the location of the target avatar on the map - - - The avatar can modify the ojects of the target avatar - - - - This class holds information about an avatar in the friends list. There are two ways - to interface to this class. The first is through the set of boolean properties. This is the typical - way clients of this class will use it. The second interface is through two bitflag properties, - TheirFriendsRights and MyFriendsRights - - - - - System ID of the avatar - - - - - full name of the avatar - - - - - True if the avatar is online - - - - - True if the friend can see if I am online - - - - - True if the friend can see me on the map - - - - - True if the freind can modify my objects - - - - - True if I can see if my friend is online - - - - - True if I can see if my friend is on the map - - - - - True if I can modify my friend's objects - - - - - My friend's rights represented as bitmapped flags - - - - - My rights represented as bitmapped flags - - - - - Used internally when building the initial list of friends at login time - - System ID of the avatar being prepesented - Rights the friend has to see you online and to modify your objects - Rights you have to see your friend online and to modify their objects - - - - FriendInfo represented as a string - - A string reprentation of both my rights and my friends rights - - - - This class is used to add and remove avatars from your friends list and to manage their permission. - - - - The event subscribers. null if no subcribers - - - Raises the FriendOnline event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the simulator sends notification one of the members in our friends list comes online - - - The event subscribers. null if no subcribers - - - Raises the FriendOffline event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the simulator sends notification one of the members in our friends list goes offline - - - The event subscribers. null if no subcribers - - - Raises the FriendRightsUpdate event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions - - - The event subscribers. null if no subcribers - - - Raises the FriendNames event - A FriendNamesEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the simulator sends us the names on our friends list - - - The event subscribers. null if no subcribers - - - Raises the FriendshipOffered event - A FriendshipOfferedEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the simulator sends notification another agent is offering us friendship - - - The event subscribers. null if no subcribers - - - Raises the FriendshipResponse event - A FriendshipResponseEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when a request we sent to friend another agent is accepted or declined - - - The event subscribers. null if no subcribers - - - Raises the FriendshipTerminated event - A FriendshipTerminatedEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the simulator sends notification one of the members in our friends list has terminated - our friendship - - - The event subscribers. null if no subcribers - - - Raises the FriendFoundReply event - A FriendFoundReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the simulator sends the location of a friend we have - requested map location info for - - - - A dictionary of key/value pairs containing known friends of this avatar. - - The Key is the of the friend, the value is a - object that contains detailed information including permissions you have and have given to the friend - - - - - A Dictionary of key/value pairs containing current pending frienship offers. - - The key is the of the avatar making the request, - the value is the of the request which is used to accept - or decline the friendship offer - - - - - Internal constructor - - A reference to the GridClient Object - - - - Accept a friendship request - - agentID of avatatar to form friendship with - imSessionID of the friendship request message - - - - Decline a friendship request - - of friend - imSessionID of the friendship request message - - - - Overload: Offer friendship to an avatar. - - System ID of the avatar you are offering friendship to - - - - Offer friendship to an avatar. - - System ID of the avatar you are offering friendship to - A message to send with the request - - - - Terminate a friendship with an avatar - - System ID of the avatar you are terminating the friendship with - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Change the rights of a friend avatar. - - the of the friend - the new rights to give the friend - This method will implicitly set the rights to those passed in the rights parameter. - - - - Use to map a friends location on the grid. - - Friends UUID to find - - - - - Use to track a friends movement on the grid - - Friends Key - - - - Ask for a notification of friend's online status - - Friend's UUID - - - - This handles the asynchronous response of a RequestAvatarNames call. - - - names cooresponding to the the list of IDs sent the the RequestAvatarNames call. - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Populate FriendList with data from the login reply - - true if login was successful - true if login request is requiring a redirect - A string containing the response to the login request - A string containing the reason for the request - A object containing the decoded - reply from the login server - - - Contains information on a member of our friends list - - - Get the FriendInfo - - - - Construct a new instance of the FriendInfoEventArgs class - - The FriendInfo - - - Contains Friend Names - - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name - - - - Construct a new instance of the FriendNamesEventArgs class - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name - - - Sent when another agent requests a friendship with our agent - - - Get the ID of the agent requesting friendship - - - Get the name of the agent requesting friendship - - - Get the ID of the session, used in accepting or declining the - friendship offer - - - - Construct a new instance of the FriendshipOfferedEventArgs class - - The ID of the agent requesting friendship - The name of the agent requesting friendship - The ID of the session, used in accepting or declining the - friendship offer - - - A response containing the results of our request to form a friendship with another agent - - - Get the ID of the agent we requested a friendship with - - - Get the name of the agent we requested a friendship with - - - true if the agent accepted our friendship offer - - - - Construct a new instance of the FriendShipResponseEventArgs class - - The ID of the agent we requested a friendship with - The name of the agent we requested a friendship with - true if the agent accepted our friendship offer - - - Contains data sent when a friend terminates a friendship with us - - - Get the ID of the agent that terminated the friendship with us - - - Get the name of the agent that terminated the friendship with us - - - - Construct a new instance of the FrindshipTerminatedEventArgs class - - The ID of the friend who terminated the friendship with us - The name of the friend who terminated the friendship with us - - - - Data sent in response to a request which contains the information to allow us to map the friends location - - - - Get the ID of the agent we have received location information for - - - Get the region handle where our mapped friend is located - - - Get the simulator local position where our friend is located - - - - Construct a new instance of the FriendFoundReplyEventArgs class - - The ID of the agent we have requested location information for - The region handle where our friend is located - The simulator local position our friend is located - - - - Main class to expose grid functionality to clients. All of the - classes needed for sending and receiving data are accessible through - this class. - - - - // Example minimum code required to instantiate class and - // connect to a simulator. - using System; - using System.Collections.Generic; - using System.Text; - using OpenMetaverse; - - namespace FirstBot - { - class Bot - { - public static GridClient Client; - static void Main(string[] args) - { - Client = new GridClient(); // instantiates the GridClient class - // to the global Client object - // Login to Simulator - Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); - // Wait for a Keypress - Console.ReadLine(); - // Logout of simulator - Client.Network.Logout(); - } - } - } - - - - - Networking subsystem - - - Settings class including constant values and changeable - parameters for everything - - - Parcel (subdivided simulator lots) subsystem - - - Our own avatars subsystem - - - Other avatars subsystem - - - Estate subsystem - - - Friends list subsystem - - - Grid (aka simulator group) subsystem - - - Object subsystem - - - Group subsystem - - - Asset subsystem - - - Appearance subsystem - - - Inventory subsystem - - - Directory searches including classifieds, people, land - sales, etc - - - Handles land, wind, and cloud heightmaps - - - Handles sound-related networking - - - Throttling total bandwidth usage, or allocating bandwidth - for specific data stream types - - - - Default constructor - - - - - Return the full name of this instance - - Client avatars full name - - - - Map layer request type - - - - Objects and terrain are shown - - - Only the terrain is shown, no objects - - - Overlay showing land for sale and for auction - - - - Type of grid item, such as telehub, event, populator location, etc. - - - - Telehub - - - PG rated event - - - Mature rated event - - - Popular location - - - Locations of avatar groups in a region - - - Land for sale - - - Classified ad - - - Adult rated event - - - Adult land for sale - - - - Information about a region on the grid map - - - - Sim X position on World Map - - - Sim Y position on World Map - - - Sim Name (NOTE: In lowercase!) - - - - - - Appears to always be zero (None) - - - Sim's defined Water Height - - - - - - UUID of the World Map image - - - Unique identifier for this region, a combination of the X - and Y position - - - - - - - - - - - - - - - - - - - - - - - Visual chunk of the grid map - - - - - Base class for Map Items - - - - The Global X position of the item - - - The Global Y position of the item - - - Get the Local X position of the item - - - Get the Local Y position of the item - - - Get the Handle of the region - - - - Represents an agent or group of agents location - - - - - Represents a Telehub location - - - - - Represents a non-adult parcel of land for sale - - - - - Represents an Adult parcel of land for sale - - - - - Represents a PG Event - - - - - Represents a Mature event - - - - - Represents an Adult event - - - - - Manages grid-wide tasks such as the world map - - - - The event subscribers. null if no subcribers - - - Raises the CoarseLocationUpdate event - A CoarseLocationUpdateEventArgs object containing the - data sent by simulator - - - Thread sync lock object - - - Raised when the simulator sends a - containing the location of agents in the simulator - - - The event subscribers. null if no subcribers - - - Raises the GridRegion event - A GridRegionEventArgs object containing the - data sent by simulator - - - Thread sync lock object - - - Raised when the simulator sends a Region Data in response to - a Map request - - - The event subscribers. null if no subcribers - - - Raises the GridLayer event - A GridLayerEventArgs object containing the - data sent by simulator - - - Thread sync lock object - - - Raised when the simulator sends GridLayer object containing - a map tile coordinates and texture information - - - The event subscribers. null if no subcribers - - - Raises the GridItems event - A GridItemEventArgs object containing the - data sent by simulator - - - Thread sync lock object - - - Raised when the simulator sends GridItems object containing - details on events, land sales at a specific location - - - The event subscribers. null if no subcribers - - - Raises the RegionHandleReply event - A RegionHandleReplyEventArgs object containing the - data sent by simulator - - - Thread sync lock object - - - Raised in response to a Region lookup - - - Unknown - - - Current direction of the sun - - - Current angular velocity of the sun - - - Microseconds since the start of SL 4-hour day - - - A dictionary of all the regions, indexed by region name - - - A dictionary of all the regions, indexed by region handle - - - - Constructor - - Instance of GridClient object to associate with this GridManager instance - - - - - - - - - - Request a map layer - - The name of the region - The type of layer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Request data for all mainland (Linden managed) simulators - - - - - Request the region handle for the specified region UUID - - UUID of the region to look up - - - - Get grid region information using the region name, this function - will block until it can find the region or gives up - - Name of sim you're looking for - Layer that you are requesting - Will contain a GridRegion for the sim you're - looking for if successful, otherwise an empty structure - True if the GridRegion was successfully fetched, otherwise - false - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Avatar group management - - - - Key of Group Member - - - Total land contribution - - - Online status information - - - Abilities that the Group Member has - - - Current group title - - - Is a group owner - - - - Role manager for a group - - - - Key of the group - - - Key of Role - - - Name of Role - - - Group Title associated with Role - - - Description of Role - - - Abilities Associated with Role - - - Returns the role's title - The role's title - - - - Class to represent Group Title - - - - Key of the group - - - ID of the role title belongs to - - - Group Title - - - Whether title is Active - - - Returns group title - - - - Represents a group on the grid - - - - Key of Group - - - Key of Group Insignia - - - Key of Group Founder - - - Key of Group Role for Owners - - - Name of Group - - - Text of Group Charter - - - Title of "everyone" role - - - Is the group open for enrolement to everyone - - - Will group show up in search - - - - - - - - - - - - Is the group Mature - - - Cost of group membership - - - - - - - - - The total number of current members this group has - - - The number of roles this group has configured - - - Show this group in agent's profile - - - Returns the name of the group - A string containing the name of the group - - - - A group Vote - - - - Key of Avatar who created Vote - - - Text of the Vote proposal - - - Total number of votes - - - - A group proposal - - - - The Text of the proposal - - - The minimum number of members that must vote before proposal passes or failes - - - The required ration of yes/no votes required for vote to pass - The three options are Simple Majority, 2/3 Majority, and Unanimous - TODO: this should be an enum - - - The duration in days votes are accepted - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Struct representing a group notice - - - - - - - - - - - - - - - - - - - - - - - Struct representing a group notice list entry - - - - Notice ID - - - Creation timestamp of notice - - - Agent name who created notice - - - Notice subject - - - Is there an attachment? - - - Attachment Type - - - - Struct representing a member of a group chat session and their settings - - - - The of the Avatar - - - True if user has voice chat enabled - - - True of Avatar has moderator abilities - - - True if a moderator has muted this avatars chat - - - True if a moderator has muted this avatars voice - - - - Role update flags - - - - - - - - - - - - - - - - - - - - - - - - - Can send invitations to groups default role - - - Can eject members from group - - - Can toggle 'Open Enrollment' and change 'Signup fee' - - - Member is visible in the public member list - - - Can create new roles - - - Can delete existing roles - - - Can change Role names, titles and descriptions - - - Can assign other members to assigners role - - - Can assign other members to any role - - - Can remove members from roles - - - Can assign and remove abilities in roles - - - Can change group Charter, Insignia, 'Publish on the web' and which - members are publicly visible in group member listings - - - Can buy land or deed land to group - - - Can abandon group owned land to Governor Linden on mainland, or Estate owner for - private estates - - - Can set land for-sale information on group owned parcels - - - Can subdivide and join parcels - - - Can change music and media settings - - - Can toggle 'Edit Terrain' option in Land settings - - - Can toggle various About Land > Options settings - - - Can toggle "Show in Find Places" and set search category - - - Can change parcel name, description, and 'Publish on web' settings - - - Can set the landing point and teleport routing on group land - - - Can always terraform land, even if parcel settings have it turned off - - - Can always fly while over group owned land - - - Can always rez objects on group owned land - - - Can always create landmarks for group owned parcels - - - Can set home location on any group owned parcel - - - Allowed to hold events on group-owned land - - - Can modify public access settings for group owned parcels - - - Can manager parcel ban lists on group owned land - - - Can manage pass list sales information - - - Can eject and freeze other avatars on group owned land - - - Can return objects set to group - - - Can return non-group owned/set objects - - - Can return group owned objects - - - Can landscape using Linden plants - - - Can deed objects to group - - - Can move group owned objects - - - Can set group owned objects for-sale - - - Pay group liabilities and receive group dividends - - - Can send group notices - - - Can receive group notices - - - Can create group proposals - - - Can vote on group proposals - - - Can join group chat sessions - - - Can use voice chat in Group Chat sessions - - - Can moderate group chat sessions - - - Has admin rights to any experiences owned by this group - - - Can sign scripts for experiences owned by this group - - - Allows access to ban / un-ban agents from a group - - - - Ban actions available for group members - - - - Ban agent from joining a group - - - Remove restriction on agent jointing a group - - - - Handles all network traffic related to reading and writing group - information - - - - The event subscribers. null if no subcribers - - - Raises the CurrentGroups event - A CurrentGroupsEventArgs object containing the - data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - our current group membership - - - The event subscribers. null if no subcribers - - - Raises the GroupNamesReply event - A GroupNamesEventArgs object containing the - data response from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a RequestGroupName - or RequestGroupNames request - - - The event subscribers. null if no subcribers - - - Raises the GroupProfile event - An GroupProfileEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the GroupMembers event - A GroupMembersEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the GroupRolesDataReply event - A GroupRolesDataReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the GroupRoleMembersReply event - A GroupRolesRoleMembersReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the GroupTitlesReply event - A GroupTitlesReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the GroupAccountSummary event - A GroupAccountSummaryReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when a response to a RequestGroupAccountSummary is returned - by the simulator - - - The event subscribers. null if no subcribers - - - Raises the GroupCreated event - An GroupCreatedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when a request to create a group is successful - - - The event subscribers. null if no subcribers - - - Raises the GroupJoined event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator - - - Thread sync lock object - - - Raised when a request to join a group either - fails or succeeds - - - The event subscribers. null if no subcribers - - - Raises the GroupLeft event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator - - - Thread sync lock object - - - Raised when a request to leave a group either - fails or succeeds - - - The event subscribers. null if no subcribers - - - Raises the GroupDropped event - An GroupDroppedEventArgs object containing the - the group your agent left - - - Thread sync lock object - - - Raised when A group is removed from the group server - - - The event subscribers. null if no subcribers - - - Raises the GroupMemberEjected event - An GroupMemberEjectedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when a request to eject a member from a group either - fails or succeeds - - - The event subscribers. null if no subcribers - - - Raises the GroupNoticesListReply event - An GroupNoticesListReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us group notices - - - - The event subscribers. null if no subcribers - - - Raises the GroupInvitation event - An GroupInvitationEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when another agent invites our avatar to join a group - - - The event subscribers. null if no subcribers - - - Raises the BannedAgents event - An BannedAgentsEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when another agent invites our avatar to join a group - - - A reference to the current instance - - - Currently-active group members requests - - - Currently-active group roles requests - - - Currently-active group role-member requests - - - Dictionary keeping group members while request is in progress - - - Dictionary keeping mebmer/role mapping while request is in progress - - - Dictionary keeping GroupRole information while request is in progress - - - Caches group name lookups - - - - Construct a new instance of the GroupManager class - - A reference to the current instance - - - - Request a current list of groups the avatar is a member of. - - CAPS Event Queue must be running for this to work since the results - come across CAPS. - - - - Lookup name of group based on groupID - - groupID of group to lookup name for. - - - - Request lookup of multiple group names - - List of group IDs to request. - - - Lookup group profile data such as name, enrollment, founder, logo, etc - Subscribe to OnGroupProfile event to receive the results. - group ID (UUID) - - - Request a list of group members. - Subscribe to OnGroupMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Request group roles - Subscribe to OnGroupRoles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Request members (members,role) role mapping for a group. - Subscribe to OnGroupRolesMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Request a groups Titles - Subscribe to OnGroupTitles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Begin to get the group account summary - Subscribe to the OnGroupAccountSummary event to receive the results. - group ID (UUID) - How long of an interval - Which interval (0 for current, 1 for last) - - - Invites a user to a group - The group to invite to - A list of roles to invite a person to - Key of person to invite - - - Set a group as the current active group - group ID (UUID) - - - Change the role that determines your active title - Group ID to use - Role ID to change to - - - Set this avatar's tier contribution - Group ID to change tier in - amount of tier to donate - - - - Save wheather agent wants to accept group notices and list this group in their profile - - Group - Accept notices from this group - List this group in the profile - - - Request to join a group - Subscribe to OnGroupJoined event for confirmation. - group ID (UUID) to join. - - - - Request to create a new group. If the group is successfully - created, L$100 will automatically be deducted - - Subscribe to OnGroupCreated event to receive confirmation. - Group struct containing the new group info - - - Update a group's profile and other information - Groups ID (UUID) to update. - Group struct to update. - - - Eject a user from a group - Group ID to eject the user from - Avatar's key to eject - - - Update role information - Modified role to be updated - - - Create a new group role - Group ID to update - Role to create - - - Delete a group role - Group ID to update - Role to delete - - - Remove an avatar from a role - Group ID to update - Role ID to be removed from - Avatar's Key to remove - - - Assign an avatar to a role - Group ID to update - Role ID to assign to - Avatar's ID to assign to role - - - Request the group notices list - Group ID to fetch notices for - - - Request a group notice by key - ID of group notice - - - Send out a group notice - Group ID to update - GroupNotice structure containing notice data - - - Start a group proposal (vote) - The Group ID to send proposal to - GroupProposal structure containing the proposal - - - Request to leave a group - Subscribe to OnGroupLeft event to receive confirmation - The group to leave - - - - Gets the URI of the cpability for handling group bans - - Group ID - null, if the feature is not supported, or URI of the capability - - - - Request a list of residents banned from joining a group - - UUID of the group - - - - Request a list of residents banned from joining a group - - UUID of the group - Callback on request completition - - - - Request that group of agents be banned or unbanned from the group - - Group ID - Ban/Unban action - Array of agents UUIDs to ban - - - - Request that group of agents be banned or unbanned from the group - - Group ID - Ban/Unban action - Array of agents UUIDs to ban - Callback - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Contains the current groups your agent is a member of - - - Get the current groups your agent is a member of - - - Construct a new instance of the CurrentGroupsEventArgs class - The current groups your agent is a member of - - - A Dictionary of group names, where the Key is the groups ID and the value is the groups name - - - Get the Group Names dictionary - - - Construct a new instance of the GroupNamesEventArgs class - The Group names dictionary - - - Represents the members of a group - - - Get the ID as returned by the request to correlate - this result set and the request - - - Get the ID of the group - - - Get the dictionary of members - - - - Construct a new instance of the GroupMembersReplyEventArgs class - - The ID of the request - The ID of the group - The membership list of the group - - - Represents the roles associated with a group - - - Get the ID as returned by the request to correlate - this result set and the request - - - Get the ID of the group - - - Get the dictionary containing the roles - - - Construct a new instance of the GroupRolesDataReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The dictionary containing the roles - - - Represents the Role to Member mappings for a group - - - Get the ID as returned by the request to correlate - this result set and the request - - - Get the ID of the group - - - Get the member to roles map - - - Construct a new instance of the GroupRolesMembersReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The member to roles map - - - Represents the titles for a group - - - Get the ID as returned by the request to correlate - this result set and the request - - - Get the ID of the group - - - Get the titles - - - Construct a new instance of the GroupTitlesReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The titles - - - Represents the summary data for a group - - - Get the ID of the group - - - Get the summary data - - - Construct a new instance of the GroupAccountSummaryReplyEventArgs class - The ID of the group - The summary data - - - A response to a group create request - - - Get the ID of the group - - - true of the group was created successfully - - - A string containing the message - - - Construct a new instance of the GroupCreatedReplyEventArgs class - The ID of the group - the success or faulure of the request - A string containing additional information - - - Represents a response to a request - - - Get the ID of the group - - - true of the request was successful - - - Construct a new instance of the GroupOperationEventArgs class - The ID of the group - true of the request was successful - - - Represents your agent leaving a group - - - Get the ID of the group - - - Construct a new instance of the GroupDroppedEventArgs class - The ID of the group - - - Represents a list of active group notices - - - Get the ID of the group - - - Get the notices list - - - Construct a new instance of the GroupNoticesListReplyEventArgs class - The ID of the group - The list containing active notices - - - Represents the profile of a group - - - Get the group profile - - - Construct a new instance of the GroupProfileEventArgs class - The group profile - - - - Provides notification of a group invitation request sent by another Avatar - - The invitation is raised when another avatar makes an offer for our avatar - to join a group. - - - The ID of the Avatar sending the group invitation - - - The name of the Avatar sending the group invitation - - - A message containing the request information which includes - the name of the group, the groups charter and the fee to join details - - - The Simulator - - - Set to true to accept invitation, false to decline - - - - Result of the request for list of agents banned from a group - - - - Indicates if list of banned agents for a group was successfully retrieved - - - Indicates if list of banned agents for a group was successfully retrieved - - - Array containing a list of UUIDs of the agents banned from a group - - - - Static helper functions and global variables - - - - This header flag signals that ACKs are appended to the packet - - - This header flag signals that this packet has been sent before - - - This header flags signals that an ACK is expected for this packet - - - This header flag signals that the message is compressed using zerocoding - - - - Passed to Logger.Log() to identify the severity of a log entry - - - - No logging information will be output - - - Non-noisy useful information, may be helpful in - debugging a problem - - - A non-critical error occurred. A warning will not - prevent the rest of the library from operating as usual, - although it may be indicative of an underlying issue - - - A critical error has occurred. Generally this will - be followed by the network layer shutting down, although the - stability of the library after an error is uncertain - - - Used for internal testing, this logging level can - generate very noisy (long and/or repetitive) messages. Don't - pass this to the Log() function, use DebugLog() instead. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Given an X/Y location in absolute (grid-relative) terms, a region - handle is returned along with the local X/Y location in that region - - The absolute X location, a number such as - 255360.35 - The absolute Y location, a number such as - 255360.35 - The sim-local X position of the global X - position, a value from 0.0 to 256.0 - The sim-local Y position of the global Y - position, a value from 0.0 to 256.0 - A 64-bit region handle that can be used to teleport to - - - - Converts a floating point number to a terse string format used for - transmitting numbers in wearable asset files - - Floating point number to convert to a string - A terse string representation of the input number - - - - Convert a variable length field (byte array) to a string, with a - field name prepended to each line of the output - - If the byte array has unprintable characters in it, a - hex dump will be written instead - The StringBuilder object to write to - The byte array to convert to a string - A field name to prepend to each line of output - - - - Decode a zerocoded byte array, used to decompress packets marked - with the zerocoded flag - - Any time a zero is encountered, the next byte is a count - of how many zeroes to expand. One zero is encoded with 0x00 0x01, - two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The - first four bytes are copied directly to the output buffer. - - The byte array to decode - The length of the byte array to decode. This - would be the length of the packet up to (but not including) any - appended ACKs - The output byte array to decode to - The length of the output buffer - - - - Encode a byte array with zerocoding. Used to compress packets marked - with the zerocoded flag. Any zeroes in the array are compressed down - to a single zero byte followed by a count of how many zeroes to expand - out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, - three zeroes becomes 0x00 0x03, etc. The first four bytes are copied - directly to the output buffer. - - The byte array to encode - The length of the byte array to encode - The output byte array to encode to - The length of the output buffer - - - - Calculates the CRC (cyclic redundancy check) needed to upload inventory. - - Creation date - Sale type - Inventory type - Type - Asset ID - Group ID - Sale price - Owner ID - Creator ID - Item ID - Folder ID - Everyone mask (permissions) - Flags - Next owner mask (permissions) - Group mask (permissions) - Owner mask (permissions) - The calculated CRC - - - - Attempts to load a file embedded in the assembly - - The filename of the resource to load - A Stream for the requested file, or null if the resource - was not successfully loaded - - - - Attempts to load a file either embedded in the assembly or found in - a given search path - - The filename of the resource to load - An optional path that will be searched if - the asset is not found embedded in the assembly - A Stream for the requested file, or null if the resource - was not successfully loaded - - - - Converts a list of primitives to an object that can be serialized - with the LLSD system - - Primitives to convert to a serializable object - An object that can be serialized with LLSD - - - - Deserializes OSD in to a list of primitives - - Structure holding the serialized primitive list, - must be of the SDMap type - A list of deserialized primitives - - - - Converts a struct or class object containing fields only into a key value separated string - - The struct object - A string containing the struct fields as the keys, and the field value as the value separated - - - // Add the following code to any struct or class containing only fields to override the ToString() - // method to display the values of the passed object - - /// Print the struct data as a string - ///A string containing the field name, and field value - public override string ToString() - { - return Helpers.StructToString(this); - } - - - - - - The InternalDictionary class is used through the library for storing key/value pairs. - It is intended to be a replacement for the generic Dictionary class and should - be used in its place. It contains several methods for allowing access to the data from - outside the library that are read only and thread safe. - - - Key - Value - - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking - on this member - - - - Gets the number of Key/Value pairs contained in the - - - - - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. - - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); - - - - - - Initializes a new instance of the Class - with the specified key/value, has its initial valies copied from the specified - - - - to copy initial values from - - - // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. - // populates with copied values from example KeyNameCache Dictionary. - - // create source dictionary - Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); - KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); - KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); - - // Initialize new dictionary. - public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); - - - - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); - - - - - - Try to get entry from with specified key - - Key to use for lookup - Value returned - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - - - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - - - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - - - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - - - - Perform an on each entry in an - to perform - - - // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. - Client.Network.CurrentSim.ObjectsPrimitives.ForEach( - delegate(Primitive prim) - { - if (prim.Text != null) - { - Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", - prim.PropertiesFamily.Name, prim.ID, prim.Text); - } - }); - - - - - Perform an on each key of an - to perform - - - - Perform an on each KeyValuePair of an - - to perform - - - Check if Key exists in Dictionary - Key to check for - if found, otherwise - - - Check if Value exists in Dictionary - Value to check for - if found, otherwise - - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - - The key - The value - - - - Removes the specified key, dictionary locking is not performed - - The key. - if successful, otherwise - - - - Indexer for the dictionary - - The key - The value - - - - Exception class to identify inventory exceptions - - - - - Responsible for maintaining inventory structure. Inventory constructs nodes - and manages node children as is necessary to maintain a coherant hirarchy. - Other classes should not manipulate or create InventoryNodes explicitly. When - A node's parent changes (when a folder is moved, for example) simply pass - Inventory the updated InventoryFolder and it will make the appropriate changes - to its internal representation. - - - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectUpdated Event - A InventoryObjectUpdatedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectRemoved Event - A InventoryObjectRemovedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectAdded Event - A InventoryObjectAddedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - - The root folder of this avatars inventory - - - - - The default shared library folder - - - - - The root node of the avatars inventory - - - - - The root node of the default shared library - - - - - Returns the contents of the specified folder - - A folder's UUID - The contents of the folder corresponding to folder - When folder does not exist in the inventory - - - - Updates the state of the InventoryNode and inventory data structure that - is responsible for the InventoryObject. If the item was previously not added to inventory, - it adds the item, and updates structure accordingly. If it was, it updates the - InventoryNode, changing the parent node if item.parentUUID does - not match node.Parent.Data.UUID. - - You can not set the inventory root folder using this method - - The InventoryObject to store - - - - Removes the InventoryObject and all related node data from Inventory. - - The InventoryObject to remove. - - - - Used to find out if Inventory contains the InventoryObject - specified by uuid. - - The UUID to check. - true if inventory contains uuid, false otherwise - - - - Saves the current inventory structure to a cache file - - Name of the cache file to save to - - - - Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. - - Name of the cache file to load - The number of inventory items sucessfully reconstructed into the inventory node tree - - - - By using the bracket operator on this class, the program can get the - InventoryObject designated by the specified uuid. If the value for the corresponding - UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). - If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), - the uuid parameter is ignored. - - The UUID of the InventoryObject to get or set, ignored if set to non-null value. - The InventoryObject corresponding to uuid. - - - Sort by name - - - Sort by date - - - Sort folders by name, regardless of whether items are - sorted by name or date - - - Place system folders at the top - - - - Possible destinations for DeRezObject request - - - - - - - Copy from in-world to agent inventory - - - Derez to TaskInventory - - - - - - Take Object - - - - - - Delete Object - - - Put an avatar attachment into agent inventory - - - - - - Return an object back to the owner's inventory - - - Return a deeded object back to the last owner's inventory - - - - Upper half of the Flags field for inventory items - - - - Indicates that the NextOwner permission will be set to the - most restrictive set of permissions found in the object set - (including linkset items and object inventory items) on next rez - - - Indicates that the object sale information has been - changed - - - If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez - - - Indicates whether this object is composed of multiple - items or not - - - Indicates that the asset is only referenced by this - inventory item. If this item is deleted or updated to reference a - new assetID, the asset can be deleted - - - - Base Class for Inventory Items - - - - of item/folder - - - of parent folder - - - Name of item/folder - - - Item/Folder Owners - - - - Constructor, takes an itemID as a parameter - - The of the item - - - - - - - - - - - - - - - - Generates a number corresponding to the value of the object to support the use of a hash table, - suitable for use in hashing algorithms and data structures such as a hash table - - A Hashcode of all the combined InventoryBase fields - - - - Determine whether the specified object is equal to the current object - - InventoryBase object to compare against - true if objects are the same - - - - Determine whether the specified object is equal to the current object - - InventoryBase object to compare against - true if objects are the same - - - - Convert inventory to OSD - - OSD representation - - - - An Item in Inventory - - - - The of this item - - - The combined of this item - - - The type of item from - - - The type of item from the enum - - - The of the creator of this item - - - A Description of this item - - - The s this item is set to or owned by - - - If true, item is owned by a group - - - The price this item can be purchased for - - - The type of sale from the enum - - - Combined flags from - - - Time and date this inventory item was created, stored as - UTC (Coordinated Universal Time) - - - Used to update the AssetID in requests sent to the server - - - The of the previous owner of the item - - - - Construct a new InventoryItem object - - The of the item - - - - Construct a new InventoryItem object of a specific Type - - The type of item from - of the item - - - - Indicates inventory item is a link - - True if inventory item is a link to another inventory item - - - - - - - - - - - - - - - - Generates a number corresponding to the value of the object to support the use of a hash table. - Suitable for use in hashing algorithms and data structures such as a hash table - - A Hashcode of all the combined InventoryItem fields - - - - Compares an object - - The object to compare - true if comparison object matches - - - - Determine whether the specified object is equal to the current object - - The object to compare against - true if objects are the same - - - - Determine whether the specified object is equal to the current object - - The object to compare against - true if objects are the same - - - - Create InventoryItem from OSD - - OSD Data that makes up InventoryItem - Inventory item created - - - - Convert InventoryItem to OSD - - OSD representation of InventoryItem - - - - InventoryTexture Class representing a graphical image - - - - - - Construct an InventoryTexture object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryTexture object from a serialization stream - - - - - InventorySound Class representing a playable sound - - - - - Construct an InventorySound object - - A which becomes the - objects AssetUUID - - - - Construct an InventorySound object from a serialization stream - - - - - InventoryCallingCard Class, contains information on another avatar - - - - - Construct an InventoryCallingCard object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryCallingCard object from a serialization stream - - - - - InventoryLandmark Class, contains details on a specific location - - - - - Construct an InventoryLandmark object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryLandmark object from a serialization stream - - - - - Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited - - - - - InventoryObject Class contains details on a primitive or coalesced set of primitives - - - - - Construct an InventoryObject object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryObject object from a serialization stream - - - - - Gets or sets the upper byte of the Flags value - - - - - Gets or sets the object attachment point, the lower byte of the Flags value - - - - - InventoryNotecard Class, contains details on an encoded text document - - - - - Construct an InventoryNotecard object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryNotecard object from a serialization stream - - - - - InventoryCategory Class - - TODO: Is this even used for anything? - - - - Construct an InventoryCategory object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryCategory object from a serialization stream - - - - - InventoryLSL Class, represents a Linden Scripting Language object - - - - - Construct an InventoryLSL object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryLSL object from a serialization stream - - - - - InventorySnapshot Class, an image taken with the viewer - - - - - Construct an InventorySnapshot object - - A which becomes the - objects AssetUUID - - - - Construct an InventorySnapshot object from a serialization stream - - - - - InventoryAttachment Class, contains details on an attachable object - - - - - Construct an InventoryAttachment object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryAttachment object from a serialization stream - - - - - Get the last AttachmentPoint this object was attached to - - - - - InventoryWearable Class, details on a clothing item or body part - - - - - Construct an InventoryWearable object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryWearable object from a serialization stream - - - - - The , Skin, Shape, Skirt, Etc - - - - - InventoryAnimation Class, A bvh encoded object which animates an avatar - - - - - Construct an InventoryAnimation object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryAnimation object from a serialization stream - - - - - InventoryGesture Class, details on a series of animations, sounds, and actions - - - - - Construct an InventoryGesture object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryGesture object from a serialization stream - - - - - A folder contains s and has certain attributes specific - to itself - - - - The Preferred for a folder. - - - The Version of this folder - - - Number of child items this folder contains. - - - - Constructor - - UUID of the folder - - - - - - - - - - Get Serilization data for this InventoryFolder object - - - - - Construct an InventoryFolder object from a serialization stream - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Create InventoryFolder from OSD - - OSD Data that makes up InventoryFolder - Inventory folder created - - - - Convert InventoryItem to OSD - - OSD representation of InventoryItem - - - - Tools for dealing with agents inventory - - - - Used for converting shadow_id to asset_id - - - - Callback for inventory item creation finishing - - Whether the request to create an inventory - item succeeded or not - Inventory item being created. If success is - false this will be null - - - - Callback for an inventory item being create from an uploaded asset - - true if inventory item creation was successful - - - - - - - - - - - - The event subscribers, null of no subscribers - - - Raises the ItemReceived Event - A ItemReceivedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the FolderUpdated Event - A FolderUpdatedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectOffered Event - A InventoryObjectOfferedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - an inventory object sent by another avatar or primitive - - - The event subscribers, null of no subscribers - - - Raises the TaskItemReceived Event - A TaskItemReceivedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the FindObjectByPath Event - A FindObjectByPathEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the TaskInventoryReply Event - A TaskInventoryReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - - Reply received when uploading an inventory asset - - Has upload been successful - Error message if upload failed - Inventory asset UUID - New asset UUID - - - The event subscribers, null of no subscribers - - - Raises the SaveAssetToInventory Event - A SaveAssetToInventoryEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - - Delegate that is invoked when script upload is completed - - Has upload succeded (note, there still might be compile errors) - Upload status message - Is compilation successful - If compilation failed, list of error messages, null on compilation success - Script inventory UUID - Script's new asset UUID - - - The event subscribers, null of no subscribers - - - Raises the ScriptRunningReply Event - A ScriptRunningReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - Partial mapping of FolderTypes to folder names - - - - Get this agents Inventory data - - - - - Default constructor - - Reference to the GridClient object - - - - Fetch an inventory item from the dataserver - - The items - The item Owners - a integer representing the number of milliseconds to wait for results - An object on success, or null if no item was found - Items will also be sent to the event - - - - Request A single inventory item - - The items - The item Owners - - - - - Request inventory items - - Inventory items to request - Owners of the inventory items - - - - - Request inventory items via Capabilities - - Inventory items to request - Owners of the inventory items - - - - - Get contents of a folder - - The of the folder to search - The of the folders owner - true to retrieve folders - true to retrieve items - sort order to return results in - a integer representing the number of milliseconds to wait for results - A list of inventory items matching search criteria within folder - - InventoryFolder.DescendentCount will only be accurate if both folders and items are - requested - - - - Request the contents of an inventory folder - - The folder to search - The folder owners - true to return s contained in folder - true to return s containd in folder - the sort order to return items in - - - - - Request the contents of an inventory folder using HTTP capabilities - - The folder to search - The folder owners - true to return s contained in folder - true to return s containd in folder - the sort order to return items in - - - - - Returns the UUID of the folder (category) that defaults to - containing 'type'. The folder is not necessarily only for that - type - - This will return the root folder if one does not exist - - The UUID of the desired folder if found, the UUID of the RootFolder - if not found, or UUID.Zero on failure - - - - Find an object in inventory using a specific path to search - - The folder to begin the search in - The object owners - A string path to search - milliseconds to wait for a reply - Found items or if - timeout occurs or item is not found - - - - Find inventory items by path - - The folder to begin the search in - The object owners - A string path to search, folders/objects separated by a '/' - Results are sent to the event - - - - Search inventory Store object for an item or folder - - The folder to begin the search in - An array which creates a path to search - Number of levels below baseFolder to conduct searches - if True, will stop searching after first match is found - A list of inventory items found - - - - Move an inventory item or folder to a new location - - The item or folder to move - The to move item or folder to - - - - Move an inventory item or folder to a new location and change its name - - The item or folder to move - The to move item or folder to - The name to change the item or folder to - - - - Move and rename a folder - - The source folders - The destination folders - The name to change the folder to - - - - Update folder properties - - of the folder to update - Sets folder's parent to - Folder name - Folder type - - - - Move a folder - - The source folders - The destination folders - - - - Move multiple folders, the keys in the Dictionary parameter, - to a new parents, the value of that folder's key. - - A Dictionary containing the - of the source as the key, and the - of the destination as the value - - - - Move an inventory item to a new folder - - The of the source item to move - The of the destination folder - - - - Move and rename an inventory item - - The of the source item to move - The of the destination folder - The name to change the folder to - - - - Move multiple inventory items to new locations - - A Dictionary containing the - of the source item as the key, and the - of the destination folder as the value - - - - Remove descendants of a folder - - The of the folder - - - - Remove a single item from inventory - - The of the inventory item to remove - - - - Remove a folder from inventory - - The of the folder to remove - - - - Remove multiple items or folders from inventory - - A List containing the s of items to remove - A List containing the s of the folders to remove - - - - Empty the Lost and Found folder - - - - - Empty the Trash folder - - - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - - - - - Creates a new inventory folder - - ID of the folder to put this folder in - Name of the folder to create - The UUID of the newly created folder - - - - Creates a new inventory folder - - ID of the folder to put this folder in - Name of the folder to create - Sets this folder as the default folder - for new assets of the specified type. Use FolderType.None - to create a normal folder, otherwise it will likely create a - duplicate of an existing folder type - The UUID of the newly created folder - If you specify a preferred type of AsseType.Folder - it will create a new root folder which may likely cause all sorts - of strange problems - - - - Create an inventory item and upload asset data - - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Delegate that will receive feedback on success or failure - - - - Create an inventory item and upload asset data - - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Permission of the newly created item - (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) - Delegate that will receive feedback on success or failure - - - - Creates inventory link to another inventory item or folder - - Put newly created link in folder with this UUID - Inventory item or folder - Method to call upon creation of the link - - - - Creates inventory link to another inventory item - - Put newly created link in folder with this UUID - Original inventory item - Method to call upon creation of the link - - - - Creates inventory link to another inventory folder - - Put newly created link in folder with this UUID - Original inventory folder - Method to call upon creation of the link - - - - Creates inventory link to another inventory item or folder - - Put newly created link in folder with this UUID - Original item's UUID - Name - Description - Asset Type - Inventory Type - Transaction UUID - Method to call upon creation of the link - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Request a copy of an asset embedded within a notecard - - Usually UUID.Zero for copying an asset from a notecard - UUID of the notecard to request an asset from - Target folder for asset to go to in your inventory - UUID of the embedded asset - callback to run when item is copied to inventory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Save changes to notecard embedded in object contents - - Encoded notecard asset data - Notecard UUID - Object's UUID - Called upon finish of the upload with status information - - - - Upload new gesture asset for an inventory gesture item - - Encoded gesture asset - Gesture inventory UUID - Callback whick will be called when upload is complete - - - - Update an existing script in an agents Inventory - - A byte[] array containing the encoded scripts contents - the itemID of the script - if true, sets the script content to run on the mono interpreter - - - - - Update an existing script in an task Inventory - - A byte[] array containing the encoded scripts contents - the itemID of the script - UUID of the prim containting the script - if true, sets the script content to run on the mono interpreter - if true, sets the script to running - - - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - User defined queryID to correlate replies - If set to true, the CreateSelected flag - will be set on the rezzed object - - - - Rez an object from inventory - - Simulator to place object in - TaskID object when rezzed - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - User defined queryID to correlate replies - If set to true, the CreateSelected flag - will be set on the rezzed object - - - - DeRez an object from the simulator to the agents Objects folder in the agents Inventory - - The simulator Local ID of the object - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - - - DeRez an object from the simulator and return to inventory - - The simulator Local ID of the object - The type of destination from the enum - The destination inventory folders -or- - if DeRezzing object to a tasks Inventory, the Tasks - The transaction ID for this request which - can be used to correlate this request with other packets - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - - - Rez an item from inventory to its previous simulator location - - - - - - - - - Give an inventory item to another avatar - - The of the item to give - The name of the item - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer - - - - Give an inventory Folder with contents to another avatar - - The of the Folder to give - The name of the folder - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer - - - - Copy or move an from agent inventory to a task (primitive) inventory - - The target object - The item to copy or move from inventory - - For items with copy permissions a copy of the item is placed in the tasks inventory, - for no-copy items the object is moved to the tasks inventory - - - - Retrieve a listing of the items contained in a task (Primitive) - - The tasks - The tasks simulator local ID - milliseconds to wait for reply from simulator - A list containing the inventory items inside the task or null - if a timeout occurs - This request blocks until the response from the simulator arrives - or timeoutMS is exceeded - - - - Request the contents of a tasks (primitives) inventory from the - current simulator - - The LocalID of the object - - - - - Request the contents of a tasks (primitives) inventory - - The simulator Local ID of the object - A reference to the simulator object that contains the object - - - - - Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory - - LocalID of the object in the simulator - UUID of the task item to move - The ID of the destination folder in this agents inventory - Simulator Object - Raises the event - - - - Remove an item from an objects (Prim) Inventory - - LocalID of the object in the simulator - UUID of the task item to remove - Simulator Object - You can confirm the removal by comparing the tasks inventory serial before and after the - request with the request combined with - the event - - - - Copy an InventoryScript item from the Agents Inventory into a primitives task inventory - - An unsigned integer representing a primitive being simulated - An which represents a script object from the agents inventory - true to set the scripts running state to enabled - A Unique Transaction ID - - The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory - and assumes the script exists in the agents inventory. - - uint primID = 95899503; // Fake prim ID - UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory - - Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, - false, true, InventorySortOrder.ByName, 10000); - - Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); - - - - - - Request the running status of a script contained in a task (primitive) inventory - - The ID of the primitive containing the script - The ID of the script - The event can be used to obtain the results of the - request - - - - - Send a request to set the running state of a script contained in a task (primitive) inventory - - The ID of the primitive containing the script - The ID of the script - true to set the script running, false to stop a running script - To verify the change you can use the method combined - with the event - - - - Create a CRC from an InventoryItem - - The source InventoryItem - A uint representing the source InventoryItem as a CRC - - - - Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id - - Obfuscated shadow_id value - Deobfuscated asset_id value - - - - Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id - - asset_id value to obfuscate - Obfuscated shadow_id value - - - - Wrapper for creating a new object - - The type of item from the enum - The of the newly created object - An object with the type and id passed - - - - Parse the results of a RequestTaskInventory() response - - A string which contains the data from the task reply - A List containing the items contained within the tasks inventory - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - UpdateCreateInventoryItem packets are received when a new inventory item - is created. This may occur when an object that's rezzed in world is - taken into inventory, when an item is created using the CreateInventoryItem - packet, or when an object is purchased - - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Set to true to accept offer, false to decline it - - - The folder to accept the inventory into, if null default folder for will be used - - - - Callback when an inventory object is accepted and received from a - task inventory. This is the callback in which you actually get - the ItemID, as in ObjectOfferedCallback it is null when received - from a task. - - - - - - - User data - - - - - - - - - - - - - For inventory folder nodes specifies weather the folder needs to be - refreshed from the server - - - - - - - - - - - - - - - - De-serialization constructor for the InventoryNode Class - - - - - Serialization handler for the InventoryNode Class - - - - - De-serialization handler for the InventoryNode Class - - - - - - - - - - - Singleton logging class for the entire library - - - - - Callback used for client apps to receive log messages from - the library - - Data being logged - The severity of the log entry from - - - Triggered whenever a message is logged. If this is left - null, log messages will go to the console - - - log4net logging engine - - - - Default constructor - - - - - Send a log message to the logging engine - - The log message - The severity of the log entry - - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Instance of the client - - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Exception that was raised - - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Instance of the client - Exception that was raised - - - - If the library is compiled with DEBUG defined, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - - The message to log at the DEBUG level to the - current logging engine - - - - If the library is compiled with DEBUG defined and - GridClient.Settings.DEBUG is true, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - - The message to log at the DEBUG level to the - current logging engine - Instance of the client - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Status of the last application run. - Used for error reporting to the grid login service for statistical purposes. - - - - Application exited normally - - - Application froze - - - Application detected error and exited abnormally - - - Other crash - - - Application froze during logout - - - Application crashed during logout - - - - Login Request Parameters - - - - The URL of the Login Server - - - The number of milliseconds to wait before a login is considered - failed due to timeout - - - The request method - login_to_simulator is currently the only supported method - - - The Agents First name - - - The Agents Last name - - - A md5 hashed password - plaintext password will be automatically hashed - - - The agents starting location once logged in - Either "last", "home", or a string encoded URI - containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 - - - A string containing the client software channel information - Second Life Release - - - The client software version information - The official viewer uses: Second Life Release n.n.n.n - where n is replaced with the current version of the viewer - - - A string containing the platform information the agent is running on - - - A string containing version number for OS the agent is running on - - - A string hash of the network cards Mac Address - - - Unknown or deprecated - - - A string hash of the first disk drives ID used to identify this clients uniqueness - - - A string containing the viewers Software, this is not directly sent to the login server but - instead is used to generate the Version string - - - A string representing the software creator. This is not directly sent to the login server but - is used by the library to generate the Version information - - - If true, this agent agrees to the Terms of Service of the grid its connecting to - - - Unknown - - - Status of the last application run sent to the grid login server for statistical purposes - - - An array of string sent to the login server to enable various options - - - A randomly generated ID to distinguish between login attempts. This value is only used - internally in the library and is never sent over the wire - - - - Default constuctor, initializes sane default values - - - - - Instantiates new LoginParams object and fills in the values - - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number - - - - Instantiates new LoginParams object and fills in the values - - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number - URI of the login server - - - - The decoded data returned from the login server after a successful login - - - - true, false, indeterminate - - - Login message of the day - - - M or PG, also agent_region_access and agent_access_max - - - - Parse LLSD Login Reply Data - - An - contaning the login response data - XML-RPC logins do not require this as XML-RPC.NET - automatically populates the struct properly using attributes - - - - Login Routines - - - NetworkManager is responsible for managing the network layer of - OpenMetaverse. It tracks all the server connections, serializes - outgoing traffic and deserializes incoming traffic, and provides - instances of delegates for network-related events. - - - - The event subscribers, null of no subscribers - - - Raises the LoginProgress Event - A LoginProgressEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - - - - - - - - - - - Called when a reply is received from the login server, the - login sequence will block until this event returns - - - Seed CAPS URL returned from the login server - - - Current state of logging in - - - Upon login failure, contains a short string key for the - type of login error that occurred - - - The raw XML-RPC reply from the login server, exactly as it - was received (minus the HTTP header) - - - During login this contains a descriptive version of - LoginStatusCode. After a successful login this will contain the - message of the day, and after a failed login a descriptive error - message will be returned - - - Maximum number of groups an agent can belong to, -1 for unlimited - - - Server side baking service URL - - - Parsed login response data - - - A list of packets obtained during the login process which - networkmanager will log but not process - - - - Generate sane default values for a login request - - Account first name - Account last name - Account password - Client application name (channel) - Client application name + version - A populated struct containing - sane defaults - - - - Simplified login that takes the most common and required fields - - Account first name - Account last name - Account password - Client application name (channel) - Client application name + version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - - - - Simplified login that takes the most common fields along with a - starting location URI, and can accept an MD5 string instead of a - plaintext password - - Account first name - Account last name - Account password or MD5 hash of the password - such as $1$1682a1e45e9f957dcdf0bb56eb43319c - Client application name (channel) - Starting location URI that can be built with - StartLocation() - Client application name + version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - - - - Login that takes a struct of all the values that will be passed to - the login server - - The values that will be passed to the login - server, all fields must be set even if they are String.Empty - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - - - - Build a start location URI for passing to the Login function - - Name of the simulator to start in - X coordinate to start at - Y coordinate to start at - Z coordinate to start at - String with a URI that can be used to login to a specified - location - - - - LoginParams and the initial login XmlRpcRequest were made on a remote machine. - This method now initializes libomv with the results. - - - - - Handles response from XML-RPC login replies - - - - - Handles response from XML-RPC login replies with already parsed LoginResponseData - - - - - Handle response from LLSD login replies - - - - - - - - Get current OS - - Either "Win" or "Linux" - - - - Gets the current OS version number - - The platform version. - - - - Get clients default Mac Address - - A string containing the first found Mac Address - - - - Explains why a simulator or the grid disconnected from us - - - - The client requested the logout or simulator disconnect - - - The server notified us that it is disconnecting - - - Either a socket was closed or network traffic timed out - - - The last active simulator shut down - - - - Holds a simulator reference and a decoded packet, these structs are put in - the packet inbox for event handling - - - - Reference to the simulator that this packet came from - - - Packet that needs to be processed - - - - Holds a simulator reference and a serialized packet, these structs are put in - the packet outbox for sending - - - - Reference to the simulator this packet is destined for - - - Packet that needs to be sent - - - Sequence number of the wrapped packet - - - Number of times this packet has been resent - - - Environment.TickCount when this packet was last sent over the wire - - - Type of the packet - - - The event subscribers, null of no subscribers - - - Raises the PacketSent Event - A PacketSentEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the LoggedOut Event - A LoggedOutEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the SimConnecting Event - A SimConnectingEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the SimConnected Event - A SimConnectedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the SimDisconnected Event - A SimDisconnectedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the Disconnected Event - A DisconnectedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the SimChanged Event - A SimChangedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the EventQueueRunning Event - A EventQueueRunningEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - Unique identifier associated with our connections to - simulators - - - The simulator that the logged in avatar is currently - occupying - - - Shows whether the network layer is logged in to the - grid or not - - - Number of packets in the incoming queue - - - Number of packets in the outgoing queue - - - All of the simulators we are currently connected to - - - Handlers for incoming capability events - - - Handlers for incoming packets - - - Incoming packets that are awaiting handling - - - Outgoing packets that are awaiting handling - - - - Default constructor - - Reference to the GridClient object - - - - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type to trigger events for - Callback to fire when a packet of this type - is received - - - - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type to trigger events for - Callback to fire when a packet of this type - is received - True if the callback should be ran - asynchronously. Only set this to false (synchronous for callbacks - that will always complete quickly) - If any callback for a packet type is marked as - asynchronous, all callbacks for that packet type will be fired - asynchronously - - - - Unregister an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type this callback is registered with - Callback to stop firing events for - - - - Register a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library - - Name of the CAPS event to register a handler for - Callback to fire when a CAPS event is received - - - - Unregister a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library - - Name of the CAPS event this callback is - registered with - Callback to stop firing events for - - - - Send a packet to the simulator the avatar is currently occupying - - Packet to send - - - - Send a packet to a specified simulator - - Packet to send - Simulator to send the packet to - - - - Connect to a simulator - - IP address to connect to - Port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null - - - - Connect to a simulator - - IP address and port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null - - - - Begins the non-blocking logout. Makes sure that the LoggedOut event is - called even if the server does not send a logout reply, and Shutdown() - is properly called. - - - - - Initiate a blocking logout request. This will return when the logout - handshake has completed or when Settings.LOGOUT_TIMEOUT - has expired and the network layer is manually shut down - - - - - Initiate the logout process. The Shutdown() function - needs to be manually called. - - - - - Close a connection to the given simulator - - - - - - - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout - - Type of shutdown - - - - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout - - Type of shutdown - Shutdown message - - - - Searches through the list of currently connected simulators to find - one attached to the given IPEndPoint - - IPEndPoint of the Simulator to search for - A Simulator reference on success, otherwise null - - - - Fire an event when an event queue connects for capabilities - - Simulator the event queue is attached to - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - A Name Value pair with additional settings, used in the protocol - primarily to transmit avatar names and active group in object packets - - - - Type of the value - - - Unknown - - - String value - - - - - - - - - - - - - - - Deprecated - - - String value, but designated as an asset - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Constructor that takes all the fields as parameters - - - - - - - - - - Constructor that takes a single line from a NameValue field - - - - - - - - - - No report - - - Unknown report type - - - Bug report - - - Complaint report - - - Customer service report - - - - Bitflag field for ObjectUpdateCompressed data blocks, describing - which options are present for each object - - - - Unknown - - - Whether the object has a TreeSpecies - - - Whether the object has floating text ala llSetText - - - Whether the object has an active particle system - - - Whether the object has sound attached to it - - - Whether the object is attached to a root object or not - - - Whether the object has texture animation settings - - - Whether the object has an angular velocity - - - Whether the object has a name value pairs string - - - Whether the object has a Media URL set - - - - Specific Flags for MultipleObjectUpdate requests - - - - None - - - Change position of prims - - - Change rotation of prims - - - Change size of prims - - - Perform operation on link set - - - Scale prims uniformly, same as selecing ctrl+shift in the - viewer. Used in conjunction with Scale - - - - Special values in PayPriceReply. If the price is not one of these - literal value of the price should be use - - - - - Indicates that this pay option should be hidden - - - - - Indicates that this pay option should have the default value - - - - - Contains the variables sent in an object update packet for objects. - Used to track position and movement of prims and avatars - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Handles all network traffic related to prims and avatar positions and - movement. - - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - Raised when the simulator sends us data containing - A , Foliage or Attachment - - - - - The event subscribers, null of no subscribers - - - Raises the ObjectProperties Event - A ObjectPropertiesEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - additional information - - - - - The event subscribers, null of no subscribers - - - Raises the ObjectPropertiesUpdated Event - A ObjectPropertiesUpdatedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - Primitive.ObjectProperties for an object we are currently tracking - - - The event subscribers, null of no subscribers - - - Raises the ObjectPropertiesFamily Event - A ObjectPropertiesFamilyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - additional and details - - - - The event subscribers, null of no subscribers - - - Raises the AvatarUpdate Event - A AvatarUpdateEventArgs object containing - the data sent from the simulator - - - - Raises the ParticleUpdate Event - - A ParticleUpdateEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - updated information for an - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - Raised when the simulator sends us data containing - and movement changes - - - The event subscribers, null of no subscribers - - - Raises the ObjectDataBlockUpdate Event - A ObjectDataBlockUpdateEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - updates to an Objects DataBlock - - - The event subscribers, null of no subscribers - - - Raises the KillObject Event - A KillObjectEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator informs us an - or is no longer within view - - - The event subscribers, null of no subscribers - - - Raises the KillObjects Event - A KillObjectsEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator informs us when a group of - or is no longer within view - - - The event subscribers, null of no subscribers - - - Raises the AvatarSitChanged Event - A AvatarSitChangedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - updated sit information for our - - - The event subscribers, null of no subscribers - - - Raises the PayPriceReply Event - A PayPriceReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - purchase price information for a - - - - Callback for getting object media data via CAP - - Indicates if the operation was succesfull - Object media version string - Array indexed on prim face of media entry data - - - The event subscribers, null of no subscribers - - - Raises the PhysicsProperties Event - A PhysicsPropertiesEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - additional information - - - - - Reference to the GridClient object - - - Does periodic dead reckoning calculation to convert - velocity and acceleration to new positions for objects - - - - Construct a new instance of the ObjectManager class - - A reference to the instance - - - - Request information for a single object from a - you are currently connected to - - The the object is located - The Local ID of the object - - - - Request information for multiple objects contained in - the same simulator - - The the objects are located - An array containing the Local IDs of the objects - - - - Attempt to purchase an original object, a copy, or the contents of - an object - - The the object is located - The Local ID of the object - Whether the original, a copy, or the object - contents are on sale. This is used for verification, if the this - sale type is not valid for the object the purchase will fail - Price of the object. This is used for - verification, if it does not match the actual price the purchase - will fail - Group ID that will be associated with the new - purchase - Inventory folder UUID where the object or objects - purchased should be placed - - - BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, - 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); - - - - - - Request prices that should be displayed in pay dialog. This will triggger the simulator - to send us back a PayPriceReply which can be handled by OnPayPriceReply event - - The the object is located - The ID of the object - The result is raised in the event - - - - Select a single object. This will cause the to send us - an which will raise the event - - The the object is located - The Local ID of the object - - - - - Select a single object. This will cause the to send us - an which will raise the event - - The the object is located - The Local ID of the object - if true, a call to is - made immediately following the request - - - - - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - Should objects be deselected immediately after selection - - - - - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - - - - - Update the properties of an object - - The the object is located - The Local ID of the object - true to turn the objects physical property on - true to turn the objects temporary property on - true to turn the objects phantom property on - true to turn the objects cast shadows property on - - - - Update the properties of an object - - The the object is located - The Local ID of the object - true to turn the objects physical property on - true to turn the objects temporary property on - true to turn the objects phantom property on - true to turn the objects cast shadows property on - Type of the represetnation prim will have in the physics engine - Density - normal value 1000 - Friction - normal value 0.6 - Restitution - standard value 0.5 - Gravity multiplier - standar value 1.0 - - - - Sets the sale properties of a single object - - The the object is located - The Local ID of the object - One of the options from the enum - The price of the object - - - - Sets the sale properties of multiple objects - - The the objects are located - An array containing the Local IDs of the objects - One of the options from the enum - The price of the object - - - - Deselect a single object - - The the object is located - The Local ID of the object - - - - Deselect multiple objects. - - The the objects are located - An array containing the Local IDs of the objects - - - - Perform a click action on an object - - The the object is located - The Local ID of the object - - - - Perform a click action (Grab) on a single object - - The the object is located - The Local ID of the object - The texture coordinates to touch - The surface coordinates to touch - The face of the position to touch - The region coordinates of the position to touch - The surface normal of the position to touch (A normal is a vector perpindicular to the surface) - The surface binormal of the position to touch (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties - - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Specify the - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties - - - - Rez a Linden tree - - A reference to the object where the object resides - The size of the tree - The rotation of the tree - The position of the tree - The Type of tree - The of the group to set the tree to, - or UUID.Zero if no group is to be set - true to use the "new" Linden trees, false to use the old - - - - Rez grass and ground cover - - A reference to the object where the object resides - The size of the grass - The rotation of the grass - The position of the grass - The type of grass from the enum - The of the group to set the tree to, - or UUID.Zero if no group is to be set - - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply - - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply - A media URL (not used) - - - - Set the Light data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set - - - - Set the flexible data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set - - - - Set the sculptie texture and data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set - - - - Unset additional primitive parameters on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The extra parameters to set - - - - Link multiple prims into a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to link - The last object in the array will be the root object of the linkset TODO: Is this true? - - - - Delink/Unlink multiple prims from a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to delink - - - - Change the rotation of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation of the object - - - - Set the name of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new name of the object - - - - Set the name of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the name of - An array which contains the new names of the objects - - - - Set the description of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new description of the object - - - - Set the descriptions of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the description of - An array which contains the new descriptions of the objects - - - - Attach an object to this avatar - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The point on the avatar the object will be attached - The rotation of the attached object - - - - Drop an attached object from this avatar - - A reference to the - object where the objects reside. This will always be the simulator the avatar is currently in - - The object's ID which is local to the simulator the object is in - - - - Detach an object from yourself - - A reference to the - object where the objects reside - - This will always be the simulator the avatar is currently in - - An array which contains the IDs of the objects to detach - - - - Change the position of an object, Will change position of entire linkset - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - - - - Change the position of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - if true, will change position of (this) child prim only, not entire linkset - - - - Change the Scale (size) of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change scale of this prim only, not entire linkset - True to resize prims uniformly - - - - Change the Rotation of an object that is either a child or a whole linkset - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change rotation of this prim only, not entire linkset - - - - Send a Multiple Object Update packet to change the size, scale or rotation of a primitive - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation, size, or position of the target object - The flags from the Enum - - - - Deed an object (prim) to a group, Object must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The of the group to deed the object to - - - - Deed multiple objects (prims) to a group, Objects must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - An array which contains the IDs of the objects to deed - The of the group to deed the object to - - - - Set the permissions on multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the permissions on - The new Who mask to set - Which permission to modify - The new state of permission - - - - Request additional properties for an object - - A reference to the object where the object resides - - - - - Request additional properties for an object - - A reference to the object where the object resides - Absolute UUID of the object - Whether to require server acknowledgement of this request - - - - Set the ownership of a list of objects to the specified group - - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the group id on - The Groups ID - - - - Update current URL of the previously set prim media - - UUID of the prim - Set current URL to this - Prim face number - Simulator in which prim is located - - - - Set object media - - UUID of the prim - Array the length of prims number of faces. Null on face indexes where there is - no media, on faces which contain the media - Simulatior in which prim is located - - - - Retrieve information about object media - - UUID of the primitive - Simulator where prim is located - Call this callback when done - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - A terse object update, used when a transformation matrix or - velocity/acceleration for an object changes but nothing else - (scale/position/rotation/acceleration/velocity) - - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - - - - - - - - - Setup construction data for a basic primitive shape - - Primitive shape to construct - Construction data that can be plugged into a - - - - - - - - - - - - - - - - - - - - Set the Shape data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - Data describing the prim shape - - - - Set the Material data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new material of the object - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Provides data for the event - The event occurs when the simulator sends - an containing a Primitive, Foliage or Attachment data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or - if an Avatar crosses the border into a new simulator and returns to the current simulator - - - The following code example uses the , , and - properties to display new Primitives and Attachments on the window. - - // Subscribe to the event that gives us prim and foliage information - Client.Objects.ObjectUpdate += Objects_ObjectUpdate; - - - private void Objects_ObjectUpdate(object sender, PrimEventArgs e) - { - Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); - } - - - - - - - - Get the simulator the originated from - - - Get the details - - - true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) - - - true if the is attached to an - - - Get the simulator Time Dilation - - - - Construct a new instance of the PrimEventArgs class - - The simulator the object originated from - The Primitive - The simulator time dilation - The prim was not in the dictionary before this update - true if the primitive represents an attachment to an agent - - - Provides data for the event - The event occurs when the simulator sends - an containing Avatar data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator - - - The following code example uses the property to make a request for the top picks - using the method in the class to display the names - of our own agents picks listings on the window. - - // subscribe to the AvatarUpdate event to get our information - Client.Objects.AvatarUpdate += Objects_AvatarUpdate; - Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; - - private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) - { - // we only want our own data - if (e.Avatar.LocalID == Client.Self.LocalID) - { - // Unsubscribe from the avatar update event to prevent a loop - // where we continually request the picks every time we get an update for ourselves - Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; - // make the top picks request through AvatarManager - Client.Avatars.RequestAvatarPicks(e.Avatar.ID); - } - } - - private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) - { - // we'll unsubscribe from the AvatarPicksReply event since we now have the data - // we were looking for - Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; - // loop through the dictionary and extract the names of the top picks from our profile - foreach (var pickName in e.Picks.Values) - { - Console.WriteLine(pickName); - } - } - - - - - - - Get the simulator the object originated from - - - Get the data - - - Get the simulator time dilation - - - true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) - - - - Construct a new instance of the AvatarUpdateEventArgs class - - The simulator the packet originated from - The data - The simulator time dilation - The avatar was not in the dictionary before this update - - - Get the simulator the object originated from - - - Get the data - - - Get source - - - - Construct a new instance of the ParticleUpdateEventArgs class - - The simulator the packet originated from - The ParticleSystem data - The Primitive source - - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment data - The event is also raised when a request is - made. - - - The following code example uses the , and - - properties to display new attachments and send a request for additional properties containing the name of the - attachment then display it on the window. - - // Subscribe to the event that provides additional primitive details - Client.Objects.ObjectProperties += Objects_ObjectProperties; - - // handle the properties data that arrives - private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) - { - Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); - } - - - - - Get the simulator the object is located - - - Get the primitive properties - - - - Construct a new instance of the ObjectPropertiesEventArgs class - - The simulator the object is located - The primitive Properties - - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive or Foliage data that is currently - being tracked in the dictionary - The event is also raised when a request is - made and is enabled - - - - Get the primitive details - - - - Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class - - The simulator the object is located - The Primitive - The primitive Properties - - - Provides additional primitive data, permissions and sale info for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment. This includes - Permissions, Sale info, and other basic details on an object - The event is also raised when a request is - made, the viewer equivalent is hovering the mouse cursor over an object - - - - Get the simulator the object is located - - - - - - - - - Provides primitive data containing updated location, velocity, rotation, textures for the event - The event occurs when the simulator sends updated location, velocity, rotation, etc - - - - Get the simulator the object is located - - - Get the primitive details - - - - - - - - - - - - - - Get the simulator the object is located - - - Get the primitive details - - - - - - - - - - - - - - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event - - - Get the simulator the object is located - - - The LocalID of the object - - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event - - - Get the simulator the object is located - - - The LocalID of the object - - - - Provides updates sit position data - - - - Get the simulator the object is located - - - - - - - - - - - - - - - - - Get the simulator the object is located - - - - - - - - - - - - - Indicates if the operation was successful - - - - - Media version string - - - - - Array of media entries indexed by face number - - - - - Set when simulator sends us infomation on primitive's physical properties - - - - Simulator where the message originated - - - Updated physical properties - - - - Constructor - - Simulator where the message originated - Updated physical properties - - - Size of the byte array used to store raw packet data - - - Raw packet data buffer - - - Length of the data to transmit - - - EndPoint of the remote host - - - - Create an allocated UDP packet buffer for receiving a packet - - - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host - - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host - Size of the buffer to allocate for packet data - - - - Object pool for packet buffers. This is used to allocate memory for all - incoming and outgoing packets, and zerocoding buffers for those packets - - - - - Initialize the object pool in client mode - - Server to connect to - - - - - - Initialize the object pool in server mode - - - - - - - Returns a packet buffer with EndPoint set if the buffer is in - client mode, or with EndPoint set to null in server mode - - Initialized UDPPacketBuffer object - - - - Default constructor - - - - - Check a packet buffer out of the pool - - A packet buffer object - - - - Returns an instance of the class that has been checked out of the Object Pool. - - - - - Checks the instance back into the object pool - - - - - Creates a new instance of the ObjectPoolBase class. Initialize MUST be called - after using this constructor. - - - - - Creates a new instance of the ObjectPool Base class. - - The object pool is composed of segments, which - are allocated whenever the size of the pool is exceeded. The number of items - in a segment should be large enough that allocating a new segmeng is a rare - thing. For example, on a server that will have 10k people logged in at once, - the receive buffer object pool should have segment sizes of at least 1000 - byte arrays per segment. - - The minimun number of segments that may exist. - Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. - The frequency which segments are checked to see if they're eligible for cleanup. - - - - Forces the segment cleanup algorithm to be run. This method is intended - primarly for use from the Unit Test libraries. - - - - - Responsible for allocate 1 instance of an object that will be stored in a segment. - - An instance of whatever objec the pool is pooling. - - - - Checks in an instance of T owned by the object pool. This method is only intended to be called - by the WrappedObject class. - - The segment from which the instance is checked out. - The instance of T to check back into the segment. - - - - Checks an instance of T from the pool. If the pool is not sufficient to - allow the checkout, a new segment is created. - - A WrappedObject around the instance of T. To check - the instance back into the segment, be sureto dispose the WrappedObject - when finished. - - - - The total number of segments created. Intended to be used by the Unit Tests. - - - - - The number of items that are in a segment. Items in a segment - are all allocated at the same time, and are hopefully close to - each other in the managed heap. - - - - - The minimum number of segments. When segments are reclaimed, - this number of segments will always be left alone. These - segments are allocated at startup. - - - - - The age a segment must be before it's eligible for cleanup. - This is used to prevent thrash, and typical values are in - the 5 minute range. - - - - - The frequence which the cleanup thread runs. This is typically - expected to be in the 5 minute range. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The ObservableDictionary class is used for storing key/value pairs. It has methods for firing - events to subscribers when items are added, removed, or changed. - - Key - Value - - - - A dictionary of callbacks to fire when specified action occurs - - - - - Register a callback to be fired when an action occurs - - The action - The callback to fire - - - - Unregister a callback - - The action - The callback to fire - - - - - - - - - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking - - - - Gets the number of Key/Value pairs contained in the - - - - - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. - - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); - - - - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); - - - - - - Try to get entry from the with specified key - - Key to use for lookup - Value returned - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - - - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - - - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - - - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - - - - Check if Key exists in Dictionary - Key to check for - if found, otherwise - - - Check if Value exists in Dictionary - Value to check for - if found, otherwise - - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - - The key - The value - - - - Removes the specified key, dictionary locking is not performed - - The key. - if successful, otherwise - - - - Indexer for the dictionary - - The key - The value - - - - Clear the contents of the dictionary - - - - - Enumerator for iterating dictionary entries - - - - - - Provides helper methods for parallelizing loops - - - - - Executes a for loop in which iterations may run in parallel - - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop - - - - Executes a for loop in which iterations may run in parallel - - The number of concurrent execution threads to run - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop - - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - An enumerable collection to iterate over - Method body to run for each object in the collection - - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - The number of concurrent execution threads to run - An enumerable collection to iterate over - Method body to run for each object in the collection - - - - Executes a series of tasks in parallel - - A series of method bodies to execute - - - - Executes a series of tasks in parallel - - The number of concurrent execution threads to run - A series of method bodies to execute - - - - Type of return to use when returning objects from a parcel - - - - - - - Return objects owned by parcel owner - - - Return objects set to group - - - Return objects not owned by parcel owner or set to group - - - Return a specific list of objects on parcel - - - Return objects that are marked for-sale - - - - Blacklist/Whitelist flags used in parcels Access List - - - - Agent is denied access - - - Agent is granted access - - - - The result of a request for parcel properties - - - - No matches were found for the request - - - Request matched a single parcel - - - Request matched multiple parcels - - - - Flags used in the ParcelAccessListRequest packet to specify whether - we want the access list (whitelist), ban list (blacklist), or both - - - - Request the access list - - - Request the ban list - - - Request both White and Black lists - - - - Sequence ID in ParcelPropertiesReply packets (sent when avatar - tries to cross a parcel border) - - - - Parcel is currently selected - - - Parcel restricted to a group the avatar is not a - member of - - - Avatar is banned from the parcel - - - Parcel is restricted to an access list that the - avatar is not on - - - Response to hovering over a parcel - - - - The tool to use when modifying terrain levels - - - - Level the terrain - - - Raise the terrain - - - Lower the terrain - - - Smooth the terrain - - - Add random noise to the terrain - - - Revert terrain to simulator default - - - - The tool size to use when changing terrain levels - - - - Small - - - Medium - - - Large - - - - Reasons agent is denied access to a parcel on the simulator - - - - Agent is not denied, access is granted - - - Agent is not a member of the group set for the parcel, or which owns the parcel - - - Agent is not on the parcels specific allow list - - - Agent is on the parcels ban list - - - Unknown - - - Agent is not age verified and parcel settings deny access to non age verified avatars - - - - Parcel overlay type. This is used primarily for highlighting and - coloring which is why it is a single integer instead of a set of - flags - - These values seem to be poorly thought out. The first three - bits represent a single value, not flags. For example Auction (0x05) is - not a combination of OwnedByOther (0x01) and ForSale(0x04). However, - the BorderWest and BorderSouth values are bit flags that get attached - to the value stored in the first three bits. Bits four, five, and six - are unused - - - Public land - - - Land is owned by another avatar - - - Land is owned by a group - - - Land is owned by the current avatar - - - Land is for sale - - - Land is being auctioned - - - Land is private - - - To the west of this area is a parcel border - - - To the south of this area is a parcel border - - - - Various parcel properties - - - - No flags set - - - Allow avatars to fly (a client-side only restriction) - - - Allow foreign scripts to run - - - This parcel is for sale - - - Allow avatars to create a landmark on this parcel - - - Allows all avatars to edit the terrain on this parcel - - - Avatars have health and can take damage on this parcel. - If set, avatars can be killed and sent home here - - - Foreign avatars can create objects here - - - All objects on this parcel can be purchased - - - Access is restricted to a group - - - Access is restricted to a whitelist - - - Ban blacklist is enabled - - - Unknown - - - List this parcel in the search directory - - - Allow personally owned parcels to be deeded to group - - - If Deeded, owner contributes required tier to group parcel is deeded to - - - Restrict sounds originating on this parcel to the - parcel boundaries - - - Objects on this parcel are sold when the land is - purchsaed - - - Allow this parcel to be published on the web - - - The information for this parcel is mature content - - - The media URL is an HTML page - - - The media URL is a raw HTML string - - - Restrict foreign object pushes - - - Ban all non identified/transacted avatars - - - Allow group-owned scripts to run - - - Allow object creation by group members or group - objects - - - Allow all objects to enter this parcel - - - Only allow group and owner objects to enter this parcel - - - Voice Enabled on this parcel - - - Use Estate Voice channel for Voice on this parcel - - - Deny Age Unverified Users - - - - Parcel ownership status - - - - Placeholder - - - Parcel is leased (owned) by an avatar or group - - - Parcel is in process of being leased (purchased) by an avatar or group - - - Parcel has been abandoned back to Governor Linden - - - - Category parcel is listed in under search - - - - No assigned category - - - Linden Infohub or public area - - - Adult themed area - - - Arts and Culture - - - Business - - - Educational - - - Gaming - - - Hangout or Club - - - Newcomer friendly - - - Parks and Nature - - - Residential - - - Shopping - - - Not Used? - - - Other - - - Not an actual category, only used for queries - - - - Type of teleport landing for a parcel - - - - Unset, simulator default - - - Specific landing point set for this parcel - - - No landing point set, direct teleports enabled for - this parcel - - - - Parcel Media Command used in ParcelMediaCommandMessage - - - - Stop the media stream and go back to the first frame - - - Pause the media stream (stop playing but stay on current frame) - - - Start the current media stream playing and stop when the end is reached - - - Start the current media stream playing, - loop to the beginning when the end is reached and continue to play - - - Specifies the texture to replace with video - If passing the key of a texture, it must be explicitly typecast as a key, - not just passed within double quotes. - - - Specifies the movie URL (254 characters max) - - - Specifies the time index at which to begin playing - - - Specifies a single agent to apply the media command to - - - Unloads the stream. While the stop command sets the texture to the first frame of the movie, - unload resets it to the real texture that the movie was replacing. - - - Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties - (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. - - - Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). - Use "text/html" for HTML. - - - Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). - This might still not be working - - - Sets a description for the media being displayed (1.19.1 RC0 and later only). - - - - Some information about a parcel of land returned from a DirectoryManager search - - - - Global Key of record - - - Parcel Owners - - - Name field of parcel, limited to 128 characters - - - Description field of parcel, limited to 256 characters - - - Total Square meters of parcel - - - Total area billable as Tier, for group owned land this will be 10% less than ActualArea - - - True of parcel is in Mature simulator - - - Grid global X position of parcel - - - Grid global Y position of parcel - - - Grid global Z position of parcel (not used) - - - Name of simulator parcel is located in - - - Texture of parcels display picture - - - Float representing calculated traffic based on time spent on parcel by avatars - - - Sale price of parcel (not used) - - - Auction ID of parcel - - - - Parcel Media Information - - - - A byte, if 0x1 viewer should auto scale media to fit object - - - A boolean, if true the viewer should loop the media - - - The Asset UUID of the Texture which when applied to a - primitive will display the media - - - A URL which points to any Quicktime supported media type - - - A description of the media - - - An Integer which represents the height of the media - - - An integer which represents the width of the media - - - A string which contains the mime type of the media - - - - Parcel of land, a portion of virtual real estate in a simulator - - - - The total number of contiguous 4x4 meter blocks your agent owns within this parcel - - - The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own - - - Deprecated, Value appears to always be 0 - - - Simulator-local ID of this parcel - - - UUID of the owner of this parcel - - - Whether the land is deeded to a group or not - - - - - - Date land was claimed - - - Appears to always be zero - - - This field is no longer used - - - Minimum corner of the axis-aligned bounding box for this - parcel - - - Maximum corner of the axis-aligned bounding box for this - parcel - - - Bitmap describing land layout in 4x4m squares across the - entire region - - - Total parcel land area - - - - - - Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used - - - Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel - owned by the agent or group that owns this parcel - - - Maximum number of primitives this parcel supports - - - Total number of primitives on this parcel - - - For group-owned parcels this indicates the total number of prims deeded to the group, - for parcels owned by an individual this inicates the number of prims owned by the individual - - - Total number of primitives owned by the parcel group on - this parcel, or for parcels owned by an individual with a group set the - total number of prims set to that group. - - - Total number of prims owned by other avatars that are not set to group, or not the parcel owner - - - A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect - the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed - - - Autoreturn value in minutes for others' objects - - - - - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it - - - Parcel Name - - - Parcel Description - - - URL For Music Stream - - - - - - Price for a temporary pass - - - How long is pass valid for - - - - - - Key of authorized buyer - - - Key of parcel snapshot - - - The landing point location - - - The landing point LookAt - - - The type of landing enforced from the enum - - - - - - - - - - - - Access list of who is whitelisted on this - parcel - - - Access list of who is blacklisted on this - parcel - - - TRUE of region denies access to age unverified users - - - true to obscure (hide) media url - - - true to obscure (hide) music url - - - A struct containing media details - - - - Displays a parcel object in string format - - string containing key=value pairs of a parcel object - - - - Defalt constructor - - Local ID of this parcel - - - - Update the simulator with any local changes to this Parcel object - - Simulator to send updates to - Whether we want the simulator to confirm - the update with a reply packet or not - - - - Set Autoreturn time - - Simulator to send the update to - - - - Parcel (subdivided simulator lots) subsystem - - - - - Parcel Accesslist - - - - Agents - - - - - - Flags for specific entry in white/black lists - - - - Owners of primitives on parcel - - - - Prim Owners - - - True of owner is group - - - Total count of prims owned by OwnerID - - - true of OwnerID is currently online and is not a group - - - The date of the most recent prim left by OwnerID - - - - Called once parcel resource usage information has been collected - - Indicates if operation was successfull - Parcel resource usage information - - - The event subscribers. null if no subcribers - - - Raises the ParcelDwellReply event - A ParcelDwellReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the ParcelInfoReply event - A ParcelInfoReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the ParcelProperties event - A ParcelPropertiesEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the ParcelAccessListReply event - A ParcelAccessListReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the ParcelObjectOwnersReply event - A ParcelObjectOwnersReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the SimParcelsDownloaded event - A SimParcelsDownloadedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the ForceSelectObjectsReply event - A ForceSelectObjectsReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the ParcelMediaUpdateReply event - A ParcelMediaUpdateReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a Parcel Update request - - - The event subscribers. null if no subcribers - - - Raises the ParcelMediaCommand event - A ParcelMediaCommandEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the parcel your agent is located sends a ParcelMediaCommand - - - - Default constructor - - A reference to the GridClient object - - - - Request basic information for a single parcel - - Simulator-local ID of the parcel - - - - Request properties of a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - multiple simultaneous requests - - - - Request the access list for a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelAccessList reply, useful for distinguishing between - multiple simultaneous requests - - - - - Request properties of parcels using a bounding box selection - - Simulator containing the parcel - Northern boundary of the parcel selection - Eastern boundary of the parcel selection - Southern boundary of the parcel selection - Western boundary of the parcel selection - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - different types of parcel property requests - A boolean that is returned with the - ParcelProperties reply, useful for snapping focus to a single - parcel - - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) - - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) - If TRUE, will force a full refresh - Number of milliseconds to pause in between each request - - - - Request the dwell value for a parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - - - - Send a request to Purchase a parcel of land - - The Simulator the parcel is located in - The parcels region specific local ID - true if this parcel is being purchased by a group - The groups - true to remove tier contribution if purchase is successful - The parcels size - The purchase price of the parcel - - - - - Reclaim a parcel of land - - The simulator the parcel is in - The parcels region specific local ID - - - - Deed a parcel to a group - - The simulator the parcel is in - The parcels region specific local ID - The groups - - - - Request prim owners of a parcel of land. - - Simulator parcel is in - The parcels region specific local ID - - - - Return objects from a parcel - - Simulator parcel is in - The parcels region specific local ID - the type of objects to return, - A list containing object owners s to return - - - - Subdivide (split) a parcel - - - - - - - - - - Join two parcels of land creating a single parcel - - - - - - - - - - Get a parcels LocalID - - Simulator parcel is in - Vector3 position in simulator (Z not used) - 0 on failure, or parcel LocalID on success. - A call to Parcels.RequestAllSimParcels is required to populate map and - dictionary. - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - Height at which the terraform operation is acting at - - - - Sends a request to the simulator to return a list of objects owned by specific owners - - Simulator local ID of parcel - Owners, Others, Etc - List containing keys of avatars objects to select; - if List is null will return Objects of type selectType - Response data is returned in the event - - - - Eject and optionally ban a user from a parcel - - target key of avatar to eject - true to also ban target - - - - Freeze or unfreeze an avatar over your land - - target key to freeze - true to freeze, false to unfreeze - - - - Abandon a parcel of land - - Simulator parcel is in - Simulator local ID of parcel - - - - Requests the UUID of the parcel in a remote region at a specified location - - Location of the parcel in the remote region - Remote region handle - Remote region UUID - If successful UUID of the remote parcel, UUID.Zero otherwise - - - - Retrieves information on resources used by the parcel - - UUID of the parcel - Should per object resource usage be requested - Callback invoked when the request is complete - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Contains a parcels dwell data returned from the simulator in response to an - - - Get the global ID of the parcel - - - Get the simulator specific ID of the parcel - - - Get the calculated dwell - - - - Construct a new instance of the ParcelDwellReplyEventArgs class - - The global ID of the parcel - The simulator specific ID of the parcel - The calculated dwell for the parcel - - - Contains basic parcel information data returned from the - simulator in response to an request - - - Get the object containing basic parcel info - - - - Construct a new instance of the ParcelInfoReplyEventArgs class - - The object containing basic parcel info - - - Contains basic parcel information data returned from the simulator in response to an request - - - Get the simulator the parcel is located in - - - Get the object containing the details - If Result is NoData, this object will not contain valid data - - - Get the result of the request - - - Get the number of primitieves your agent is - currently selecting and or sitting on in this parcel - - - Get the user assigned ID used to correlate a request with - these results - - - TODO: - - - - Construct a new instance of the ParcelPropertiesEventArgs class - - The object containing the details - The object containing the details - The result of the request - The number of primitieves your agent is - currently selecting and or sitting on in this parcel - The user assigned ID used to correlate a request with - these results - TODO: - - - Contains blacklist and whitelist data returned from the simulator in response to an request - - - Get the simulator the parcel is located in - - - Get the user assigned ID used to correlate a request with - these results - - - Get the simulator specific ID of the parcel - - - TODO: - - - Get the list containing the white/blacklisted agents for the parcel - - - - Construct a new instance of the ParcelAccessListReplyEventArgs class - - The simulator the parcel is located in - The user assigned ID used to correlate a request with - these results - The simulator specific ID of the parcel - TODO: - The list containing the white/blacklisted agents for the parcel - - - Contains blacklist and whitelist data returned from the - simulator in response to an request - - - Get the simulator the parcel is located in - - - Get the list containing prim ownership counts - - - - Construct a new instance of the ParcelObjectOwnersReplyEventArgs class - - The simulator the parcel is located in - The list containing prim ownership counts - - - Contains the data returned when all parcel data has been retrieved from a simulator - - - Get the simulator the parcel data was retrieved from - - - A dictionary containing the parcel data where the key correlates to the ParcelMap entry - - - Get the multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - - - - Construct a new instance of the SimParcelsDownloadedEventArgs class - - The simulator the parcel data was retrieved from - The dictionary containing the parcel data - The multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - - - Contains the data returned when a request - - - Get the simulator the parcel data was retrieved from - - - Get the list of primitive IDs - - - true if the list is clean and contains the information - only for a given request - - - - Construct a new instance of the ForceSelectObjectsReplyEventArgs class - - The simulator the parcel data was retrieved from - The list of primitive IDs - true if the list is clean and contains the information - only for a given request - - - Contains data when the media data for a parcel the avatar is on changes - - - Get the simulator the parcel media data was updated in - - - Get the updated media information - - - - Construct a new instance of the ParcelMediaUpdateReplyEventArgs class - - the simulator the parcel media data was updated in - The updated media information - - - Contains the media command for a parcel the agent is currently on - - - Get the simulator the parcel media command was issued in - - - - - - - - - Get the media command that was sent - - - - - - - Construct a new instance of the ParcelMediaCommandEventArgs class - - The simulator the parcel media command was issued in - - - The media command that was sent - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Class for controlling various system settings. - - Some values are readonly because they affect things that - happen when the GridClient object is initialized, so changing them at - runtime won't do any good. Non-readonly values may affect things that - happen at login or dynamically - - - Main grid login server - - - Beta grid login server - - - The relative directory where external resources are kept - - - Login server to connect to - - - IP Address the client will bind to - - - Use XML-RPC Login or LLSD Login, default is XML-RPC Login - - - - Maximum number of HTTP connections to open to a particular endpoint. - - - An endpoint is defined as a commbination of network address and port. This is used for Caps. - This is a static variable which applies to all instances. - - - - - InventoryManager requests inventory information on login, - GridClient initializes an Inventory store for main inventory. - - - - - InventoryManager requests library information on login, - GridClient initializes an Inventory store for the library. - - - - - Use Caps for fetching inventory where available - - - - Number of milliseconds before an asset transfer will time - out - - - Number of milliseconds before a teleport attempt will time - out - - - Number of milliseconds before NetworkManager.Logout() will - time out - - - Number of milliseconds before a CAPS call will time out - Setting this too low will cause web requests time out and - possibly retry repeatedly - - - Number of milliseconds for xml-rpc to timeout - - - Milliseconds before a packet is assumed lost and resent - - - Milliseconds without receiving a packet before the - connection to a simulator is assumed lost - - - Milliseconds to wait for a simulator info request through - the grid interface - - - Number of milliseconds between sending pings to each sim - - - Number of milliseconds between sending camera updates - - - Number of milliseconds between updating the current - positions of moving, non-accelerating and non-colliding objects - - - Millisecond interval between ticks, where all ACKs are - sent out and the age of unACKed packets is checked - - - The initial size of the packet inbox, where packets are - stored before processing - - - Maximum size of packet that we want to send over the wire - - - The maximum value of a packet sequence number before it - rolls over back to one - - - The maximum size of the sequence number archive, used to - check for resent and/or duplicate packets - - - Maximum number of queued ACKs to be sent before SendAcks() - is forced - - - Network stats queue length (seconds) - - - - Primitives will be reused when falling in/out of interest list (and shared between clients) - prims returning to interest list do not need re-requested - Helps also in not re-requesting prim.Properties for code that checks for a Properties == null per client - - - - - Pool parcel data between clients (saves on requesting multiple times when all clients may need it) - - - - - How long to preserve cached data when no client is connected to a simulator - The reason for setting it to something like 2 minutes is in case a client - is running back and forth between region edges or a sim is comming and going - - - - Enable/disable storing terrain heightmaps in the - TerrainManager - - - Enable/disable sending periodic camera updates - - - Enable/disable automatically setting agent appearance at - login and after sim crossing - - - Enable/disable automatically setting the bandwidth throttle - after connecting to each simulator - The default throttle uses the equivalent of the maximum - bandwidth setting in the official client. If you do not set a - throttle your connection will by default be throttled well below - the minimum values and you may experience connection problems - - - Enable/disable the sending of pings to monitor lag and - packet loss - - - Should we connect to multiple sims? This will allow - viewing in to neighboring simulators and sim crossings - (Experimental) - - - If true, all object update packets will be decoded in to - native objects. If false, only updates for our own agent will be - decoded. Registering an event handler will force objects for that - type to always be decoded. If this is disabled the object tracking - will have missing or partial prim and avatar information - - - If true, when a cached object check is received from the - server the full object info will automatically be requested - - - Whether to establish connections to HTTP capabilities - servers for simulators - - - Whether to decode sim stats - - - The capabilities servers are currently designed to - periodically return a 502 error which signals for the client to - re-establish a connection. Set this to true to log those 502 errors - - - If true, any reference received for a folder or item - the library is not aware of will automatically be fetched - - - If true, and SEND_AGENT_UPDATES is true, - AgentUpdate packets will continuously be sent out to give the bot - smoother movement and autopiloting - - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectAvatars. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received - - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectPrimitives. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received - - - If true, position and velocity will periodically be - interpolated (extrapolated, technically) for objects and - avatars that are being tracked by the library. This is - necessary to increase the accuracy of speed and position - estimates for simulated objects - - - - If true, utilization statistics will be tracked. There is a minor penalty - in CPU time for enabling this option. - - - - If true, parcel details will be stored in the - Simulator.Parcels dictionary as they are received - - - - If true, an incoming parcel properties reply will automatically send - a request for the parcel access list - - - - - if true, an incoming parcel properties reply will automatically send - a request for the traffic count. - - - - - If true, images, and other assets downloaded from the server - will be cached in a local directory - - - - Path to store cached texture data - - - Maximum size cached files are allowed to take on disk (bytes) - - - Default color used for viewer particle effects - - - Cost of uploading an asset - Read-only since this value is dynamically fetched at login - - - Maximum number of times to resend a failed packet - - - Throttle outgoing packet rate - - - UUID of a texture used by some viewers to indentify type of client used - - - - Download textures using GetTexture capability when available - - - - The maximum number of concurrent texture downloads allowed - Increasing this number will not necessarily increase texture retrieval times due to - simulator throttles - - - - The Refresh timer inteval is used to set the delay between checks for stalled texture downloads - - This is a static variable which applies to all instances - - - - Textures taking longer than this value will be flagged as timed out and removed from the pipeline - - - - - Get or set the minimum log level to output to the console by default - - If the library is not compiled with DEBUG defined and this level is set to DEBUG - You will get no output on the console. This behavior can be overriden by creating - a logger configuration file for log4net - - - - Attach avatar names to log messages - - - Log packet retransmission info - - - Log disk cache misses and other info - - - Constructor - Reference to a GridClient object - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Simulator (region) properties - - - - No flags set - - - Agents can take damage and be killed - - - Landmarks can be created here - - - Home position can be set in this sim - - - Home position is reset when an agent teleports away - - - Sun does not move - - - No object, land, etc. taxes - - - Disable heightmap alterations (agents can still plant - foliage) - - - Land cannot be released, sold, or purchased - - - All content is wiped nightly - - - Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) - - - Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. - - - Region does not update agent prim interest lists. Internal debugging option. - - - No collision detection for non-agent objects - - - No scripts are ran - - - All physics processing is turned off - - - Region can be seen from other regions on world map. (Legacy world map option?) - - - Region can be seen from mainland on world map. (Legacy world map option?) - - - Agents not explicitly on the access list can visit the region. - - - Traffic calculations are not run across entire region, overrides parcel settings. - - - Flight is disabled (not currently enforced by the sim) - - - Allow direct (p2p) teleporting - - - Estate owner has temporarily disabled scripting - - - Restricts the usage of the LSL llPushObject function, applies to whole region. - - - Deny agents with no payment info on file - - - Deny agents with payment info on file - - - Deny agents who have made a monetary transaction - - - Parcels within the region may be joined or divided by anyone, not just estate owners/managers. - - - Abuse reports sent from within this region are sent to the estate owner defined email. - - - Region is Voice Enabled - - - Removes the ability from parcel owners to set their parcels to show in search. - - - Deny agents who have not been age verified from entering the region. - - - - Region protocol flags - - - - Nothing special - - - Region supports Server side Appearance - - - Viewer supports Server side Appearance - - - - Access level for a simulator - - - - Unknown or invalid access level - - - Trial accounts allowed - - - PG rating - - - Mature rating - - - Adult rating - - - Simulator is offline - - - Simulator does not exist - - - - - - - - - Simulator Statistics - - - - Total number of packets sent by this simulator to this agent - - - Total number of packets received by this simulator to this agent - - - Total number of bytes sent by this simulator to this agent - - - Total number of bytes received by this simulator to this agent - - - Time in seconds agent has been connected to simulator - - - Total number of packets that have been resent - - - Total number of resent packets recieved - - - Total number of pings sent to this simulator by this agent - - - Total number of ping replies sent to this agent by this simulator - - - - Incoming bytes per second - - It would be nice to have this claculated on the fly, but - this is far, far easier - - - - Outgoing bytes per second - - It would be nice to have this claculated on the fly, but - this is far, far easier - - - Time last ping was sent - - - ID of last Ping sent - - - - - - - - - Current time dilation of this simulator - - - Current Frames per second of simulator - - - Current Physics frames per second of simulator - - - - - - - - - - - - - - - - - - - - - - - - - - - Total number of objects Simulator is simulating - - - Total number of Active (Scripted) objects running - - - Number of agents currently in this simulator - - - Number of agents in neighbor simulators - - - Number of Active scripts running in this simulator - - - - - - - - - - - - Number of downloads pending - - - Number of uploads pending - - - - - - - - - Number of local uploads pending - - - Unacknowledged bytes in queue - - - A public reference to the client that this Simulator object - is attached to - - - A Unique Cache identifier for this simulator - - - The capabilities for this simulator - - - - - - The current version of software this simulator is running - - - - - - A 64x64 grid of parcel coloring values. The values stored - in this array are of the type - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true if your agent has Estate Manager rights on this region - - - - - - - - - - - - Statistics information for this simulator and the - connection to the simulator, calculated by the simulator itself - and the library - - - The regions Unique ID - - - The physical data center the simulator is located - Known values are: - - Dallas - Chandler - SF - - - - - The CPU Class of the simulator - Most full mainland/estate sims appear to be 5, - Homesteads and Openspace appear to be 501 - - - The number of regions sharing the same CPU as this one - "Full Sims" appear to be 1, Homesteads appear to be 4 - - - The billing product name - Known values are: - - Mainland / Full Region (Sku: 023) - Estate / Full Region (Sku: 024) - Estate / Openspace (Sku: 027) - Estate / Homestead (Sku: 029) - Mainland / Homestead (Sku: 129) (Linden Owned) - Mainland / Linden Homes (Sku: 131) - - - - - The billing product SKU - Known values are: - - 023 Mainland / Full Region - 024 Estate / Full Region - 027 Estate / Openspace - 029 Estate / Homestead - 129 Mainland / Homestead (Linden Owned) - 131 Linden Homes / Full Region - - - - - - Flags indicating which protocols this region supports - - - - The current sequence number for packets sent to this - simulator. Must be Interlocked before modifying. Only - useful for applications manipulating sequence numbers - - - - A thread-safe dictionary containing avatars in a simulator - - - - - A thread-safe dictionary containing primitives in a simulator - - - - - Provides access to an internal thread-safe dictionary containing parcel - information found in this simulator - - - - - Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - - - - - Checks simulator parcel map to make sure it has downloaded all data successfully - - true if map is full (contains no 0's) - - - - Is it safe to send agent updates to this sim - AgentMovementComplete message received - - - - The IP address and port of the server - - - Whether there is a working connection to the simulator or - not - - - Coarse locations of avatars in this simulator - - - AvatarPositions key representing TrackAgent target - - - Indicates if UDP connection to the sim is fully established - - - Used internally to track sim disconnections - - - Event that is triggered when the simulator successfully - establishes a connection - - - Whether this sim is currently connected or not. Hooked up - to the property Connected - - - Coarse locations of avatars in this simulator - - - AvatarPositions key representing TrackAgent target - - - Sequence numbers of packets we've received - (for duplicate checking) - - - Packets we sent out that need ACKs from the simulator - - - Sequence number for pause/resume - - - Indicates if UDP connection to the sim is fully established - - - - - - Reference to the GridClient object - IPEndPoint of the simulator - handle of the simulator - - - - Called when this Simulator object is being destroyed - - - - - Attempt to connect to this simulator - - Whether to move our agent in to this sim or not - True if the connection succeeded or connection status is - unknown, false if there was a failure - - - - Initiates connection to the simulator - - Should we block until ack for this packet is recieved - - - - Disconnect from this simulator - - - - - Instructs the simulator to stop sending update (and possibly other) packets - - - - - Instructs the simulator to resume sending update packets (unpause) - - - - - Retrieve the terrain height at a given coordinate - - Sim X coordinate, valid range is from 0 to 255 - Sim Y coordinate, valid range is from 0 to 255 - The terrain height at the given point if the - lookup was successful, otherwise 0.0f - True if the lookup was successful, otherwise false - - - - Sends a packet - - Packet to be sent - - - - - - - - - Returns Simulator Name as a String - - - - - - - - - - - - - - - - - - - Sends out pending acknowledgements - - Number of ACKs sent - - - - Resend unacknowledged packets - - - - - Simulator handle - - - - - Number of GridClients using this datapool - - - - - Time that the last client disconnected from the simulator - - - - - The cache of prims used and unused in this simulator - - - - - Shared parcel info only when POOL_PARCEL_DATA == true - - - - - - - - - The event subscribers, null of no subscribers - - - Raises the AttachedSound Event - A AttachedSoundEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - sound - - - The event subscribers, null of no subscribers - - - Raises the AttachedSoundGainChange Event - A AttachedSoundGainChangeEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the SoundTrigger Event - A SoundTriggerEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the PreloadSound Event - A PreloadSoundEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - - Construct a new instance of the SoundManager class, used for playing and receiving - sound assets - - A reference to the current GridClient instance - - - - Plays a sound in the current region at full volume from avatar position - - UUID of the sound to be played - - - - Plays a sound in the current region at full volume - - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - - - - Plays a sound in the current region - - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - - - - Plays a sound in the specified sim - - UUID of the sound to be played. - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - - - - Play a sound asset - - UUID of the sound to be played. - handle id for the sim to be played in. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Provides data for the event - The event occurs when the simulator sends - the sound data which emits from an agents attachment - - The following code example shows the process to subscribe to the event - and a stub to handle the data passed from the simulator - - // Subscribe to the AttachedSound event - Client.Sound.AttachedSound += Sound_AttachedSound; - - // process the data raised in the event here - private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) - { - // ... Process AttachedSoundEventArgs here ... - } - - - - - Simulator where the event originated - - - Get the sound asset id - - - Get the ID of the owner - - - Get the ID of the Object - - - Get the volume level - - - Get the - - - - Construct a new instance of the SoundTriggerEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The volume level - The - - - Provides data for the event - The event occurs when an attached sound - changes its volume level - - - Simulator where the event originated - - - Get the ID of the Object - - - Get the volume level - - - - Construct a new instance of the AttachedSoundGainChangedEventArgs class - - Simulator where the event originated - The ID of the Object - The new volume level - - - Provides data for the event - The event occurs when the simulator forwards - a request made by yourself or another agent to play either an asset sound or a built in sound - - Requests to play sounds where the is not one of the built-in - will require sending a request to download the sound asset before it can be played - - - The following code example uses the , - and - properties to display some information on a sound request on the window. - - // subscribe to the event - Client.Sound.SoundTrigger += Sound_SoundTrigger; - - // play the pre-defined BELL_TING sound - Client.Sound.SendSoundTrigger(Sounds.BELL_TING); - - // handle the response data - private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) - { - Console.WriteLine("{0} played the sound {1} at volume {2}", - e.OwnerID, e.SoundID, e.Gain); - } - - - - - Simulator where the event originated - - - Get the sound asset id - - - Get the ID of the owner - - - Get the ID of the Object - - - Get the ID of the objects parent - - - Get the volume level - - - Get the regionhandle - - - Get the source position - - - - Construct a new instance of the SoundTriggerEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The ID of the objects parent - The volume level - The regionhandle - The source position - - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - - - - Simulator where the event originated - - - Get the sound asset id - - - Get the ID of the owner - - - Get the ID of the Object - - - - Construct a new instance of the PreloadSoundEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - - - - pre-defined built in sounds - - - - - - - - - - - - - - - - - - - - - - - - - - - - coins - - - cash register bell - - - - - - - - - rubber - - - plastic - - - flesh - - - wood splintering? - - - glass break - - - metal clunk - - - whoosh - - - shake - - - - - - ding - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A dictionary containing all pre-defined sounds - - A dictionary containing the pre-defined sounds, - where the key is the sounds ID, and the value is a string - containing a name to identify the purpose of the sound - - - X position of this patch - - - Y position of this patch - - - A 16x16 array of floats holding decompressed layer data - - - - Creates a LayerData packet for compressed land data given a full - simulator heightmap and an array of indices of patches to compress - - A 256 * 256 array of floating point values - specifying the height at each meter in the simulator - Array of indexes in the 16x16 grid of patches - for this simulator. For example if 1 and 17 are specified, patches - x=1,y=0 and x=1,y=1 are sent - - - - - Add a patch of terrain to a BitPacker - - BitPacker to write the patch to - Heightmap of the simulator, must be a 256 * - 256 float array - X offset of the patch to create, valid values are - from 0 to 15 - Y offset of the patch to create, valid values are - from 0 to 15 - - - The event subscribers. null if no subcribers - - - Raises the LandPatchReceived event - A LandPatchReceivedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds sends - - - - Default constructor - - - - - Simulator from that sent tha data - - - Sim coordinate of the patch - - - Sim coordinate of the patch - - - Size of tha patch - - - Heightmap for the patch - - - - The current status of a texture request as it moves through the pipeline or final result of a texture request. - - - - The initial state given to a request. Requests in this state - are waiting for an available slot in the pipeline - - - A request that has been added to the pipeline and the request packet - has been sent to the simulator - - - A request that has received one or more packets back from the simulator - - - A request that has received all packets back from the simulator - - - A request that has taken longer than - to download OR the initial packet containing the packet information was never received - - - The texture request was aborted by request of the agent - - - The simulator replied to the request that it was not able to find the requested texture - - - - A callback fired to indicate the status or final state of the requested texture. For progressive - downloads this will fire each time new asset data is returned from the simulator. - - The indicating either Progress for textures not fully downloaded, - or the final result of the request after it has been processed through the TexturePipeline - The object containing the Assets ID, raw data - and other information. For progressive rendering the will contain - the data from the beginning of the file. For failed, aborted and timed out requests it will contain - an empty byte array. - - - - Texture request download handler, allows a configurable number of download slots which manage multiple - concurrent texture downloads from the - - This class makes full use of the internal - system for full texture downloads. - - - - A request task containing information and status of a request as it is processed through the - - - - The current which identifies the current status of the request - - - The Unique Request ID, This is also the Asset ID of the texture being requested - - - The slot this request is occupying in the threadpoolSlots array - - - The ImageType of the request. - - - The callback to fire when the request is complete, will include - the and the - object containing the result data - - - If true, indicates the callback will be fired whenever new data is returned from the simulator. - This is used to progressively render textures as portions of the texture are received. - - - An object that maintains the data of an request thats in-process. - - - A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID - and also the Asset Texture ID, and the value is an object containing the current state of the request and also - the asset data as it is being re-assembled - - - Holds the reference to the client object - - - Maximum concurrent texture requests allowed at a time - - - An array of objects used to manage worker request threads - - - An array of worker slots which shows the availablity status of the slot - - - The primary thread which manages the requests. - - - true if the TexturePipeline is currently running - - - A synchronization object used by the primary thread - - - A refresh timer used to increase the priority of stalled requests - - - Current number of pending and in-process transfers - - - - Default constructor, Instantiates a new copy of the TexturePipeline class - - Reference to the instantiated object - - - - Initialize callbacks required for the TexturePipeline to operate - - - - - Shutdown the TexturePipeline and cleanup any callbacks or transfers - - - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - - - Sends the actual request packet to the simulator - - The image to download - Type of the image to download, either a baked - avatar texture or a normal texture - Priority level of the download. Default is - 1,013,000.0f - Number of quality layers to discard. - This controls the end marker of the data sent - Packet number to start the download at. - This controls the start marker of the data sent - Sending a priority of 0 and a discardlevel of -1 aborts - download - - - - Cancel a pending or in process texture request - - The texture assets unique ID - - - - Master Download Thread, Queues up downloads in the threadpool - - - - - The worker thread that sends the request and handles timeouts - - A object containing the request details - - - - Handle responses from the simulator that tell us a texture we have requested is unable to be located - or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use - - The sender - The EventArgs object containing the packet data - - - - Handles the remaining Image data that did not fit in the initial ImageData packet - - The sender - The EventArgs object containing the packet data - - - - Handle the initial ImageDataPacket sent from the simulator - - The sender - The EventArgs object containing the packet data - - - - - - - - - Initialize the UDP packet handler in server mode - - Port to listening for incoming UDP packets on - - - - Initialize the UDP packet handler in client mode - - Remote UDP server to connect to - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Operation to apply when applying color to texture - - - - - Information needed to translate visual param value to RGBA color - - - - - Construct VisualColorParam - - Operation to apply when applying color to texture - Colors - - - - Represents alpha blending and bump infor for a visual parameter - such as sleive length - - - - Stregth of the alpha to apply - - - File containing the alpha channel - - - Skip blending if parameter value is 0 - - - Use miltiply insted of alpha blending - - - - Create new alhpa information for a visual param - - Stregth of the alpha to apply - File containing the alpha channel - Skip blending if parameter value is 0 - Use miltiply insted of alpha blending - - - - A single visual characteristic of an avatar mesh, such as eyebrow height - - - - Index of this visual param - - - Internal name - - - Group ID this parameter belongs to - - - Name of the wearable this parameter belongs to - - - Displayable label of this characteristic - - - Displayable label for the minimum value of this characteristic - - - Displayable label for the maximum value of this characteristic - - - Default value - - - Minimum value - - - Maximum value - - - Is this param used for creation of bump layer? - - - Alpha blending/bump info - - - Color information - - - Array of param IDs that are drivers for this parameter - - - - Set all the values through the constructor - - Index of this visual param - Internal name - - - Displayable label of this characteristic - Displayable label for the minimum value of this characteristic - Displayable label for the maximum value of this characteristic - Default value - Minimum value - Maximum value - Is this param used for creation of bump layer? - Array of param IDs that are drivers for this parameter - Alpha blending/bump info - Color information - - - - Holds the Params array of all the avatar appearance parameters - - - - - Base class for all Asset types - - - - A byte array containing the raw asset data - - - True if the asset it only stored on the server temporarily - - - A unique ID - - - The assets unique ID - - - - The "type" of asset, Notecard, Animation, etc - - - - - Construct a new Asset object - - - - - Construct a new Asset object - - A unique specific to this asset - A byte array containing the raw asset data - - - - Regenerates the AssetData byte array from the properties - of the derived class. - - - - - Decodes the AssetData, placing it in appropriate properties of the derived - class. - - True if the asset decoding succeeded, otherwise false - - - - Constants for the archiving module - - - - - The location of the archive control file - - - - - Path for the assets held in an archive - - - - - Path for the prims file - - - - - Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. - - - - - Path for region settings. - - - - - Path for region settings. - - - - - The character the separates the uuid from extension information in an archived asset filename - - - - - Extensions used for asset types in the archive - - - - - Archives assets - - - - - Archive assets - - - - - Archive the assets given to this archiver to the given archive. - - - - - - Write an assets metadata file to the given archive - - - - - - Write asset data files to the given archive - - - - - - Temporary code to do the bare minimum required to read a tar archive for our purposes - - - - - Binary reader for the underlying stream - - - - - Used to trim off null chars - - - - - Used to trim off space chars - - - - - Generate a tar reader which reads from the given stream. - - - - - - Read the next entry in the tar file. - - - - the data for the entry. Returns null if there are no more entries - - - - Read the next 512 byte chunk of data as a tar header. - - A tar header struct. null if we have reached the end of the archive. - - - - Read data following a header - - - - - - - Convert octal bytes to a decimal representation - - - - - - - - - Temporary code to produce a tar archive in tar v7 format - - - - - Binary writer for the underlying stream - - - - - Write a directory entry to the tar archive. We can only handle one path level right now! - - - - - - Write a file to the tar archive - - - - - - - Write a file to the tar archive - - - - - - - Finish writing the raw tar archive data to a stream. The stream will be closed on completion. - - - - - Write a particular entry - - - - - - - - Represents an Animation - - - - Override the base classes AssetType - - - Default Constructor - - - - Construct an Asset object of type Animation - - A unique specific to this asset - A byte array containing the raw asset data - - - - Represents an that represents an avatars body ie: Hair, Etc. - - - - Override the base classes AssetType - - - Initializes a new instance of an AssetBodyPart object - - - Initializes a new instance of an AssetBodyPart object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - - Represents a Callingcard with AvatarID and Position vector - - - - Override the base classes AssetType - - - UUID of the Callingcard target avatar - - - Construct an Asset of type Callingcard - - - - Construct an Asset object of type Callingcard - - A unique specific to this asset - A byte array containing the raw asset data - - - - Constuct an asset of type Callingcard - - UUID of the target avatar - - - - Encode the raw contents of a string with the specific Callingcard format - - - - - Decode the raw asset data, populating the AvatarID and Position - - true if the AssetData was successfully decoded to a UUID and Vector - - - - Represents an that can be worn on an avatar - such as a Shirt, Pants, etc. - - - - Override the base classes AssetType - - - Initializes a new instance of an AssetScriptBinary object - - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - - Type of gesture step - - - - - Base class for gesture steps - - - - - Retururns what kind of gesture step this is - - - - - Describes animation step of a gesture - - - - - Returns what kind of gesture step this is - - - - - If true, this step represents start of animation, otherwise animation stop - - - - - Animation asset - - - - - Animation inventory name - - - - - Describes sound step of a gesture - - - - - Returns what kind of gesture step this is - - - - - Sound asset - - - - - Sound inventory name - - - - - Describes sound step of a gesture - - - - - Returns what kind of gesture step this is - - - - - Text to output in chat - - - - - Describes sound step of a gesture - - - - - Returns what kind of gesture step this is - - - - - If true in this step we wait for all animations to finish - - - - - If true gesture player should wait for the specified amount of time - - - - - Time in seconds to wait if WaitForAnimation is false - - - - - Describes the final step of a gesture - - - - - Returns what kind of gesture step this is - - - - - Represents a sequence of animations, sounds, and chat actions - - - - - Returns asset type - - - - - Keyboard key that triggers the gestyre - - - - - Modifier to the trigger key - - - - - String that triggers playing of the gesture sequence - - - - - Text that replaces trigger in chat once gesture is triggered - - - - - Sequence of gesture steps - - - - - Constructs guesture asset - - - - - Constructs guesture asset - - A unique specific to this asset - A byte array containing the raw asset data - - - - Encodes gesture asset suitable for uplaod - - - - - Decodes gesture assset into play sequence - - true if the asset data was decoded successfully - - - - Represents a Landmark with RegionID and Position vector - - - - Override the base classes AssetType - - - UUID of the Landmark target region - - - Local position of the target - - - Construct an Asset of type Landmark - - - - Construct an Asset object of type Landmark - - A unique specific to this asset - A byte array containing the raw asset data - - - - Encode the raw contents of a string with the specific Landmark format - - - - - Decode the raw asset data, populating the RegionID and Position - - true if the AssetData was successfully decoded to a UUID and Vector - - - - Represents Mesh asset - - - - Override the base classes AssetType - - - - Decoded mesh data - - - - Initializes a new instance of an AssetMesh object - - - Initializes a new instance of an AssetMesh object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - - TODO: Encodes Collada file into LLMesh format - - - - - Decodes mesh asset. See - to furter decode it for rendering - true - - - - Represents an Animation - - - - Override the base classes AssetType - - - Default Constructor - - - - Construct an Asset object of type Animation - - Asset type - A unique specific to this asset - A byte array containing the raw asset data - - - - Represents a string of characters encoded with specific formatting properties - - - - Override the base classes AssetType - - - A text string containing main text of the notecard - - - List of s embedded on the notecard - - - Construct an Asset of type Notecard - - - - Construct an Asset object of type Notecard - - A unique specific to this asset - A byte array containing the raw asset data - - - - Encode the raw contents of a string with the specific Linden Text properties - - - - - Decode the raw asset data including the Linden Text properties - - true if the AssetData was successfully decoded - - - - A linkset asset, containing a parent primitive and zero or more children - - - - - Only used internally for XML serialization/deserialization - - - - Override the base classes AssetType - - - Initializes a new instance of an AssetPrim object - - - - Initializes a new instance of an AssetPrim object - - A unique specific to this asset - A byte array containing the raw asset data - - - - - - - - - - - - - - - The deserialized form of a single primitive in a linkset asset - - - - - Represents an AssetScriptBinary object containing the - LSO compiled bytecode of an LSL script - - - - Override the base classes AssetType - - - Initializes a new instance of an AssetScriptBinary object - - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - - TODO: Encodes a scripts contents into a LSO Bytecode file - - - - - TODO: Decode LSO Bytecode into a string - - true - - - - Represents an LSL Text object containing a string of UTF encoded characters - - - - Override the base classes AssetType - - - A string of characters represting the script contents - - - Initializes a new AssetScriptText object - - - - Initializes a new AssetScriptText object with parameters - - A unique specific to this asset - A byte array containing the raw asset data - - - - Encode a string containing the scripts contents into byte encoded AssetData - - - - - Decode a byte array containing the scripts contents into a string - - true if decoding is successful - - - - Represents a Sound Asset - - - - Override the base classes AssetType - - - Initializes a new instance of an AssetSound object - - - Initializes a new instance of an AssetSound object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - - TODO: Encodes a sound file - - - - - TODO: Decode a sound file - - true - - - - Represents a texture - - - - Override the base classes AssetType - - - A object containing image data - - - - - - - - - Initializes a new instance of an AssetTexture object - - - - Initializes a new instance of an AssetTexture object - - A unique specific to this asset - A byte array containing the raw asset data - - - - Initializes a new instance of an AssetTexture object - - A object containing texture data - - - - Populates the byte array with a JPEG2000 - encoded image created from the data in - - - - - Decodes the JPEG2000 data in AssetData to the - object - - True if the decoding was successful, otherwise false - - - - Decodes the begin and end byte positions for each quality layer in - the image - - - - - - Represents a Wearable Asset, Clothing, Hair, Skin, Etc - - - - A string containing the name of the asset - - - A string containing a short description of the asset - - - The Assets WearableType - - - The For-Sale status of the object - - - An Integer representing the purchase price of the asset - - - The of the assets creator - - - The of the assets current owner - - - The of the assets prior owner - - - The of the Group this asset is set to - - - True if the asset is owned by a - - - The Permissions mask of the asset - - - A Dictionary containing Key/Value pairs of the objects parameters - - - A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures - - - Initializes a new instance of an AssetWearable object - - - Initializes a new instance of an AssetWearable object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - - Decode an assets byte encoded data to a string - - true if the asset data was decoded successfully - - - - Encode the assets string represantion into a format consumable by the asset server - - - - = - - - Number of times we've received an unknown CAPS exception in series. - - - For exponential backoff on error. - - - - A set of textures that are layered on texture of each other and "baked" - in to a single texture, for avatar appearances - - - - Final baked texture - - - Component layers - - - Width of the final baked image and scratchpad - - - Height of the final baked image and scratchpad - - - Bake type - - - Is this one of the 3 skin bakes - - - Final baked texture - - - Component layers - - - Width of the final baked image and scratchpad - - - Height of the final baked image and scratchpad - - - Bake type - - - - Default constructor - - Bake type - - - - Adds layer for baking - - TexturaData struct that contains texture and its params - - - - Converts avatar texture index (face) to Bake type - - Face number (AvatarTextureIndex) - BakeType, layer to which this texture belongs to - - - - Make sure images exist, resize source if needed to match the destination - - Destination image - Source image - Sanitization was succefull - - - - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color - - Color of the base of this layer - - - - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color - - Red value - Green value - Blue value - - - - Image width - - - - - Image height - - - - - Image channel flags - - - - - Red channel data - - - - - Green channel data - - - - - Blue channel data - - - - - Alpha channel data - - - - - Bump channel data - - - - - Create a new blank image - - width - height - channel flags - - - - - - - - - - Convert the channels in the image. Channels are created or destroyed as required. - - new channel flags - - - - Resize or stretch the image using nearest neighbor (ugly) resampling - - new width - new height - - - - Create a byte array containing 32-bit RGBA data with a bottom-left - origin, suitable for feeding directly into OpenGL - - A byte array containing raw texture data - - - - Create a byte array containing 32-bit RGBA data with a bottom-left - origin, suitable for feeding directly into OpenGL - - A byte array containing raw texture data - - - - A Wrapper around openjpeg to encode and decode images to and from byte arrays - - - - TGA Header size - - - - Defines the beginning and ending file positions of a layer in an - LRCP-progression JPEG2000 file - - - - - This structure is used to marshal both encoded and decoded images. - MUST MATCH THE STRUCT IN dotnet.h! - - - - - Information about a single packet in a JPEG2000 stream - - - - Packet start position - - - Packet header end position - - - Packet end position - - - OpenJPEG is not threadsafe, so this object is used to lock - during calls into unmanaged code - - - - Encode a object into a byte array - - The object to encode - true to enable lossless conversion, only useful for small images ie: sculptmaps - A byte array containing the encoded Image object - - - - Encode a object into a byte array - - The object to encode - a byte array of the encoded image - - - - Decode JPEG2000 data to an and - - - JPEG2000 encoded data - ManagedImage object to decode to - Image object to decode to - True if the decode succeeds, otherwise false - - - - - - - - - - - - - - - - - - - - - Encode a object into a byte array - - The source object to encode - true to enable lossless decoding - A byte array containing the source Bitmap object - - - - Capability to load TGAs to Bitmap - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Parsing Collada model files into data structures - - - - - Parses Collada document - - Load .dae model from this file - Load and decode images for uploading with model - A list of mesh prims that were parsed from the collada file - - - - Implements mesh upload communications with the simulator - - - - - Inlcude stub convex hull physics, required for uploading to Second Life - - - - - Use the same mesh used for geometry as the physical mesh upload - - - - - Callback for mesh upload operations - - null on failure, result from server on success - - - - Creates instance of the mesh uploader - - GridClient instance to communicate with the simulator - List of ModelPrimitive objects to upload as a linkset - Inventory name for newly uploaded object - Inventory description for newly upload object - - - - Performs model upload in one go, without first checking for the price - - - - - Performs model upload in one go, without first checking for the price - - Callback that will be invoke upon completion of the upload. Null is sent on request failure - - - - Ask server for details of cost and impact of the mesh upload - - Callback that will be invoke upon completion of the upload. Null is sent on request failure - - - - Performas actual mesh and image upload - - Uri recieved in the upload prepare stage - Callback that will be invoke upon completion of the upload. Null is sent on request failure - - - - Interface requirements for Messaging system - - - - - Abstract base for rendering plugins - - - - - Generates a basic mesh structure from a primitive - - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh - - - - Generates a basic mesh structure from a sculpted primitive and - texture - - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh - - - - Generates a series of faces, each face containing a mesh and - metadata - - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh - - - - Generates a series of faces for a sculpted prim, each face - containing a mesh and metadata - - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh - - - - Apply texture coordinate modifications from a - to a list of vertices - - Vertex list to modify texture coordinates for - Center-point of the face - Face texture parameters - Scale of the prim - - - - Binary reader, which is endian aware - - - - What is the format of the source file - - - - Construct a reader from a stream - - The stream to read from - - - - Construct a reader from a stream - - The stream to read from - What is the format of the file, assumes PC and similar architecture - - - - Read a 32 bit integer - - A 32 bit integer in the system's endianness - - - - Read a 16 bit integer - - A 16 bit integer in the system's endianness - - - - Read a 64 bit integer - - A 64 bit integer in the system's endianness - - - - Read an unsigned 32 bit integer - - A 32 bit unsigned integer in the system's endianness - - - - Read a single precision floating point value - - A single precision floating point value in the system's endianness - - - - Read a double precision floating point value - - A double precision floating point value in the system's endianness - - - - Read a UTF-8 string - - A standard system string - - - - Read a UTF-8 string - - length of string to read - A standard system string - - - - Load and handle Linden Lab binary meshes. - - - The exact definition of this file is a bit sketchy, especially concerning skin weights. - A good starting point is on the - second life wiki - - - - - Defines a polygon - - - - - Structure of a vertex, No surprises there, except for the Detail tex coord - - - The skinweights are a tad unconventional. The best explanation found is: - >Each weight actually contains two pieces of information. The number to the - >left of the decimal point is the index of the joint and also implicitly - >indexes to the following joint. The actual weight is to the right of the - >decimal point and interpolates between these two joints. The index is into - >an "expanded" list of joints, not just a linear array of the joints as - >defined in the skeleton file. In particular, any joint that has more than - >one child will be repeated in the list for each of its children. - - Maybe I'm dense, but that description seems to be a bit hard to build an - algorithm on. - - Esentially the weights are compressed into one floating point value. - 1. The whole number part is an index into an array of joints - 2. The fractional part is the weight that joint has - 3. If the fractional part is 0 (x.0000) then the vertex is 100% influenced by the specified joint - - - - - Provide a nice format for debugging - - Vertex definition as a string - - - - Describes deltas to apply to a vertex in order to morph a vertex - - - - - Provide a nice format for debugging - - MorphVertex definition as a string - - - - Describes a named mesh morph, essentially a named list of MorphVertices - - - - - Provide a nice format for debugging - - The name of the morph - - - - Don't really know what this does - - - - - Provide a nice format for debugging - - Human friendly format - - - - A reference mesh is one way to implement level of detail - - - Reference meshes are supplemental meshes to full meshes. For all practical - purposes almost all lod meshes are implemented as reference meshes, except for - 'avatar_eye_1.llm' which for some reason is implemented as a full mesh. - - - - - Load a mesh from a stream - - Filename and path of the file containing the reference mesh - - - - Level of Detail mesh - - - - - Construct a linden mesh with the given name - - the name of the mesh - - - - Construct a linden mesh with the given name - - the name of the mesh - The skeleton governing mesh deformation - - - - Load the mesh from a stream - - The filename and path of the file containing the mesh data - - - - Layout of one skinweight element - - - - List of skinweights, in the same order as the mesh vertices - - - - Decompress the skinweights - - the expanded joint list, used to index which bones should influece the vertex - - - - Load a reference mesh from a given stream - - The lod level of this reference mesh - the name and path of the file containing the mesh data - the loaded reference mesh - - - - Trim a string at the first occurence of NUL - - - The llm file uses null terminated strings (C/C++ style), this is where - the conversion is made. - - The string to trim - A standard .Net string - - - - load the 'avatar_skeleton.xml' - - - Partial class which extends the auto-generated 'LindenSkeleton.Xsd.cs'.eton.xsd - - - - - - Load a skeleton from a given file. - - - We use xml scema validation on top of the xml de-serializer, since the schema has - some stricter checks than the de-serializer provides. E.g. the vector attributes - are guaranteed to hold only 3 float values. This reduces the need for error checking - while working with the loaded skeleton. - - A valid recursive skeleton - - - - Load a skeleton from a given file. - - - We use xml scema validation on top of the xml de-serializer, since the schema has - some stricter checks than the de-serializer provides. E.g. the vector attributes - are guaranteed to hold only 3 float values. This reduces the need for error checking - while working with the loaded skeleton. - - The path to the skeleton definition file - A valid recursive skeleton - - - - Build and "expanded" list of joints - - - The algorithm is based on this description: - - >An "expanded" list of joints, not just a - >linear array of the joints as defined in the skeleton file. - >In particular, any joint that has more than one child will - >be repeated in the list for each of its children. - - The list should only take these joint names in consideration - An "expanded" joints list as a flat list of bone names - - - - Expand one joint - - The parent of the joint we are operating on - The joint we are supposed to expand - Joint list that we will extend upon - The expanded list should only contain these joints - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Contains all mesh faces that belong to a prim - - - - List of primitive faces - - - - Decodes mesh asset into FacetedMesh - - Mesh primitive - Asset retrieved from the asset server - Level of detail - Resulting decoded FacetedMesh - True if mesh asset decoding was successful - - - - Sent to the client to indicate a teleport request has completed - - - - The of the agent - - - - - - The simulators handle the agent teleported to - - - A Uri which contains a list of Capabilities the simulator supports - - - Indicates the level of access required - to access the simulator, or the content rating, or the simulators - map status - - - The IP Address of the simulator - - - The UDP Port the simulator will listen for UDP traffic on - - - Status flags indicating the state of the Agent upon arrival, Flying, etc. - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent to the client which indicates a teleport request has failed - and contains some information on why it failed - - - - - - - A string key of the reason the teleport failed e.g. CouldntTPCloser - Which could be used to look up a value in a dictionary or enum - - - The of the Agent - - - A string human readable message containing the reason - An example: Could not teleport closer to destination - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Contains a list of prim owner information for a specific parcel in a simulator - - - A Simulator will always return at least 1 entry - If agent does not have proper permission the OwnerID will be UUID.Zero - If agent does not have proper permission OR there are no primitives on parcel - the DataBlocksExtended map will not be sent from the simulator - - - - - Prim ownership information for a specified owner on a single parcel - - - - The of the prim owner, - UUID.Zero if agent has no permission to view prim owner information - - - The total number of prims - - - True if the OwnerID is a - - - True if the owner is online - This is no longer used by the LL Simulators - - - The date the most recent prim was rezzed - - - An Array of objects - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - The details of a single parcel in a region, also contains some regionwide globals - - - - Simulator-local ID of this parcel - - - Maximum corner of the axis-aligned bounding box for this - parcel - - - Minimum corner of the axis-aligned bounding box for this - parcel - - - Total parcel land area - - - - - - Key of authorized buyer - - - Bitmap describing land layout in 4x4m squares across the - entire region - - - - - - Date land was claimed - - - Appears to always be zero - - - Parcel Description - - - - - - - - - Total number of primitives owned by the parcel group on - this parcel - - - Whether the land is deeded to a group or not - - - - - - Maximum number of primitives this parcel supports - - - The Asset UUID of the Texture which when applied to a - primitive will display the media - - - A URL which points to any Quicktime supported media type - - - A byte, if 0x1 viewer should auto scale media to fit object - - - URL For Music Stream - - - Parcel Name - - - Autoreturn value in minutes for others' objects - - - - - - Total number of other primitives on this parcel - - - UUID of the owner of this parcel - - - Total number of primitives owned by the parcel owner on - this parcel - - - - - - How long is pass valid for - - - Price for a temporary pass - - - - - - Disallows people outside the parcel from being able to see in - - - - - - - - - - - - True if the region denies access to age unverified users - - - - - - This field is no longer used - - - The result of a request for parcel properties - - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it - - - - Number of primitives your avatar is currently - selecting and sitting on in this parcel - - - - - - - - A number which increments by 1, starting at 0 for each ParcelProperties request. - Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. - a Negative number indicates the action in has occurred. - - - - Maximum primitives across the entire simulator - - - Total primitives across the entire simulator - - - - - - Key of parcel snapshot - - - Parcel ownership status - - - Total number of primitives on this parcel - - - - - - - - - A description of the media - - - An Integer which represents the height of the media - - - An integer which represents the width of the media - - - A boolean, if true the viewer should loop the media - - - A string which contains the mime type of the media - - - true to obscure (hide) media url - - - true to obscure (hide) music url - - - true if avatars in this parcel should be invisible to people outside - - - true if avatars outside can hear any sounds avatars inside play - - - true if group members outside can hear any sounds avatars inside play - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - A message sent from the viewer to the simulator to updated a specific parcels settings - - - The of the agent authorized to purchase this - parcel of land or a NULL if the sale is authorized to anyone - - - true to enable auto scaling of the parcel media - - - The category of this parcel used when search is enabled to restrict - search results - - - A string containing the description to set - - - The of the which allows for additional - powers and restrictions. - - - The which specifies how avatars which teleport - to this parcel are handled - - - The LocalID of the parcel to update settings on - - - A string containing the description of the media which can be played - to visitors - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true if avatars in this parcel should be invisible to people outside - - - true if avatars outside can hear any sounds avatars inside play - - - true if group members outside can hear any sounds avatars inside play - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - Base class used for the RemoteParcelRequest message - - - - A message sent from the viewer to the simulator to request information - on a remote parcel - - - - Local sim position of the parcel we are looking up - - - Region handle of the parcel we are looking up - - - Region of the parcel we are looking up - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator to the viewer in response to a - which will contain parcel information - - - - The grid-wide unique parcel ID - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message containing a request for a remote parcel from a viewer, or a response - from the simulator to that request - - - - The request or response details block - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator to an agent which contains - the groups the agent is in - - - - The Agent receiving the message - - - Group Details specific to the agent - - - true of the agent accepts group notices - - - The agents tier contribution to the group - - - The Groups - - - The of the groups insignia - - - The name of the group - - - The aggregate permissions the agent has in the group for all roles the agent - is assigned - - - An optional block containing additional agent specific information - - - true of the agent allows this group to be - listed in their profile - - - An array containing information - for each the agent is a member of - - - An array containing information - for each the agent is a member of - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the viewer to the simulator which - specifies the language and permissions for others to detect - the language specified - - - - A string containng the default language - to use for the agent - - - true of others are allowed to - know the language setting - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - An EventQueue message sent from the simulator to an agent when the agent - leaves a group - - - - An object containing the Agents UUID, and the Groups UUID - - - The ID of the Agent leaving the group - - - The GroupID the Agent is leaving - - - - An Array containing the AgentID and GroupID - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Base class for Asset uploads/results via Capabilities - - - - The request state - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the viewer to the simulator to request a temporary upload capability - which allows an asset to be uploaded - - - - The Capability URL sent by the simulator to upload the baked texture to - - - - A message sent from the simulator that will inform the agent the upload is complete, - and the UUID of the uploaded asset - - - - The uploaded texture asset ID - - - - A message sent from the viewer to the simulator to request a temporary - capability URI which is used to upload an agents baked appearance textures - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator which indicates the minimum version required for - using voice chat - - - - Major Version Required - - - Minor version required - - - The name of the region sending the version requrements - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator to the viewer containing the - voice server URI - - - - The Parcel ID which the voice server URI applies - - - The name of the region - - - A uri containing the server/channel information - which the viewer can utilize to participate in voice conversations - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - - - - - - - - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent by the viewer to the simulator to request a temporary - capability for a script contained with in a Tasks inventory to be updated - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator to the viewer to indicate - a Tasks scripts status. - - - - The Asset ID of the script - - - True of the script is compiled/ran using the mono interpreter, false indicates it - uses the older less efficient lsl2 interprter - - - The Task containing the scripts - - - true of the script is in a running state - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message containing the request/response used for updating a gesture - contained with an agents inventory - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message request/response which is used to update a notecard contained within - a tasks inventory - - - - The of the Task containing the notecard asset to update - - - The notecard assets contained in the tasks inventory - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability - which is used to update an asset in an agents inventory - - - - - The Notecard AssetID to replace - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message containing the request/response used for updating a notecard - contained with an agents inventory - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator to the viewer which indicates - an error occurred while attempting to update a script in an agents or tasks - inventory - - - - true of the script was successfully compiled by the simulator - - - A string containing the error which occured while trying - to update the script - - - A new AssetID assigned to the script - - - - A message sent from the viewer to the simulator - requesting the update of an existing script contained - within a tasks inventory - - - - if true, set the script mode to running - - - The scripts InventoryItem ItemID to update - - - A lowercase string containing either "mono" or "lsl2" which - specifies the script is compiled and ran on the mono runtime, or the older - lsl runtime - - - The tasks which contains the script to update - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message containing either the request or response used in updating a script inside - a tasks inventory - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Response from the simulator to notify the viewer the upload is completed, and - the UUID of the script asset and its compiled status - - - - The uploaded texture asset ID - - - true of the script was compiled successfully - - - - A message sent from a viewer to the simulator requesting a temporary uploader capability - used to update a script contained in an agents inventory - - - - The existing asset if of the script in the agents inventory to replace - - - The language of the script - Defaults to lsl version 2, "mono" might be another possible option - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message containing either the request or response used in updating a script inside - an agents inventory - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Base class for Map Layers via Capabilities - - - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Sent by an agent to the capabilities server to request map layers - - - - - A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates - - - - - An object containing map location details - - - - The Asset ID of the regions tile overlay - - - The grid location of the southern border of the map tile - - - The grid location of the western border of the map tile - - - The grid location of the eastern border of the map tile - - - The grid location of the northern border of the map tile - - - An array containing LayerData items - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - New as of 1.23 RC1, no details yet. - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - A string containing the method used - - - - A request sent from an agent to the Simulator to begin a new conference. - Contains a list of Agents which will be included in the conference - - - - An array containing the of the agents invited to this conference - - - The conferences Session ID - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A moderation request sent from a conference moderator - Contains an agent and an optional action to take - - - - The Session ID - - - - - - A list containing Key/Value pairs, known valid values: - key: text value: true/false - allow/disallow specified agents ability to use text in session - key: voice value: true/false - allow/disallow specified agents ability to use voice in session - - "text" or "voice" - - - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the agent to the simulator which tells the - simulator we've accepted a conference invitation - - - - The conference SessionID - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Key of sender - - - Name of sender - - - Key of destination avatar - - - ID of originating estate - - - Key of originating region - - - Coordinates in originating region - - - Instant message type - - - Group IM session toggle - - - Key of IM session, for Group Messages, the groups UUID - - - Timestamp of the instant message - - - Instant message text - - - Whether this message is held for offline avatars - - - Context specific packed data - - - Is this invitation for voice group/conference chat - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Sent from the simulator to the viewer. - - When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including - a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate - this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" - - During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are - excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with - the string "ENTER" or "LEAVE" respectively. - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - An EventQueue message sent when the agent is forcibly removed from a chatterbox session - - - - - A string containing the reason the agent was removed - - - - - The ChatterBoxSession's SessionID - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Event Queue message describing physics engine attributes of a list of objects - Sim sends these when object is selected - - - - Array with the list of physics properties - - - - Serializes the message - - Serialized OSD - - - - Deserializes the message - - Incoming data to deserialize - - - - Deserializes the message - - Incoming data to deserialize - - - - Serializes the message - - Serialized OSD - - - - - Deserializes the message - - Incoming data to deserialize - - - - Serializes the message - - Serialized OSD - - - - Deserializes the message - - Incoming data to deserialize - - - - Serializes the message - - Serialized OSD - - - - Detects which class handles deserialization of this message - - An containing the data - Object capable of decoding this message - - - - A message sent from the viewer to the simulator which - specifies that the user has changed current URL - of the specific media on a prim face - - - - - New URL - - - - - Prim UUID where navigation occured - - - - - Face index - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Base class used for the ObjectMedia message - - - - Message used to retrive prim media data - - - - - Prim UUID - - - - - Requested operation, either GET or UPDATE - - - - - Serialize object - - Serialized object as OSDMap - - - - Deserialize the message - - An containing the data - - - - Message used to update prim media data - - - - - Prim UUID - - - - - Array of media entries indexed by face number - - - - - Media version string - - - - - Serialize object - - Serialized object as OSDMap - - - - Deserialize the message - - An containing the data - - - - Message used to update prim media data - - - - - Prim UUID - - - - - Array of media entries indexed by face number - - - - - Requested operation, either GET or UPDATE - - - - - Serialize object - - Serialized object as OSDMap - - - - Deserialize the message - - An containing the data - - - - Message for setting or getting per face MediaEntry - - - - The request or response details block - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Details about object resource usage - - - Object UUID - - - Object name - - - Indicates if object is group owned - - - Locatio of the object - - - Object owner - - - Resource usage, keys are resource names, values are resource usage for that specific resource - - - - Deserializes object from OSD - - An containing the data - - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data - - - Details about parcel resource usage - - - Parcel UUID - - - Parcel local ID - - - Parcel name - - - Indicates if parcel is group owned - - - Parcel owner - - - Array of containing per object resource usage - - - - Deserializes object from OSD - - An containing the data - - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data - - - Resource usage base class, both agent and parcel resource - usage contains summary information - - - Summary of available resources, keys are resource names, - values are resource usage for that specific resource - - - Summary resource usage, keys are resource names, - values are resource usage for that specific resource - - - - Serializes object - - serialized data - - - - Deserializes object from OSD - - An containing the data - - - Agent resource usage - - - Per attachment point object resource usage - - - - Deserializes object from OSD - - An containing the data - - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data - - - - Detects which class handles deserialization of this message - - An containing the data - Object capable of decoding this message - - - Request message for parcel resource usage - - - UUID of the parel to request resource usage info - - - - Serializes object - - serialized data - - - - Deserializes object from OSD - - An containing the data - - - Response message for parcel resource usage - - - URL where parcel resource usage details can be retrieved - - - URL where parcel resource usage summary can be retrieved - - - - Serializes object - - serialized data - - - - Deserializes object from OSD - - An containing the data - - - - Detects which class handles deserialization of this message - - An containing the data - Object capable of decoding this message - - - Parcel resource usage - - - Array of containing per percal resource usage - - - - Deserializes object from OSD - - An containing the data - - - - Reply to request for bunch if display names - - - - Current display name - - - Following UUIDs failed to return a valid display name - - - - Serializes the message - - OSD containting the messaage - - - - Message sent when requesting change of the display name - - - - Current display name - - - Desired new display name - - - - Serializes the message - - OSD containting the messaage - - - - Message recieved in response to request to change display name - - - - New display name - - - String message indicating the result of the operation - - - Numerical code of the result, 200 indicates success - - - - Serializes the message - - OSD containting the messaage - - - - Message recieved when someone nearby changes their display name - - - - Previous display name, empty string if default - - - New display name - - - - Serializes the message - - OSD containting the messaage - - - - Return a decoded capabilities message as a strongly typed object - - A string containing the name of the capabilities message key - An to decode - A strongly typed object containing the decoded information from the capabilities message, or null - if no existing Message object exists for the specified event - - - - Permissions for control of object media - - - - - Style of cotrols that shold be displayed to the user - - - - - Class representing media data for a single face - - - - Is display of the alternative image enabled - - - Should media auto loop - - - Shoule media be auto played - - - Auto scale media to prim face - - - Should viewer automatically zoom in on the face when clicked - - - Should viewer interpret first click as interaction with the media - or when false should the first click be treated as zoom in commadn - - - Style of controls viewer should display when - viewer media on this face - - - Starting URL for the media - - - Currently navigated URL - - - Media height in pixes - - - Media width in pixels - - - Who can controls the media - - - Who can interact with the media - - - Is URL whitelist enabled - - - Array of URLs that are whitelisted - - - - Serialize to OSD - - OSDMap with the serialized data - - - - Deserialize from OSD data - - Serialized OSD data - Deserialized object - - - - Particle system specific enumerators, flags and methods. - - - - - Current version of the media data for the prim - - - - - Array of media entries indexed by face number - - - - - Complete structure for the particle system - - - - - Particle source pattern - - - - None - - - Drop particles from source position with no force - - - "Explode" particles in all directions - - - Particles shoot across a 2D area - - - Particles shoot across a 3D Cone - - - Inverse of AngleCone (shoot particles everywhere except the 3D cone defined - - - - Particle Data Flags - - - - None - - - Interpolate color and alpha from start to end - - - Interpolate scale from start to end - - - Bounce particles off particle sources Z height - - - velocity of particles is dampened toward the simulators wind - - - Particles follow the source - - - Particles point towards the direction of source's velocity - - - Target of the particles - - - Particles are sent in a straight line - - - Particles emit a glow - - - used for point/grab/touch - - - continuous ribbon particle - - - particle data contains glow - - - particle data contains blend functions - - - - Particle Flags Enum - - - - None - - - Acceleration and velocity for particles are - relative to the object rotation - - - Particles use new 'correct' angle parameters - - - Particle Flags - There appears to be more data packed in to this area - for many particle systems. It doesn't appear to be flag values - and serialization breaks unless there is a flag for every - possible bit so it is left as an unsigned integer - - - pattern of particles - - - A representing the maximimum age (in seconds) particle will be displayed - Maximum value is 30 seconds - - - A representing the number of seconds, - from when the particle source comes into view, - or the particle system's creation, that the object will emits particles; - after this time period no more particles are emitted - - - A in radians that specifies where particles will not be created - - - A in radians that specifies where particles will be created - - - A representing the number of seconds between burts. - - - A representing the number of meters - around the center of the source where particles will be created. - - - A representing in seconds, the minimum speed between bursts of new particles - being emitted - - - A representing in seconds the maximum speed of new particles being emitted. - - - A representing the maximum number of particles emitted per burst - - - A which represents the velocity (speed) from the source which particles are emitted - - - A which represents the Acceleration from the source which particles are emitted - - - The Key of the texture displayed on the particle - - - The Key of the specified target object or avatar particles will follow - - - Flags of particle from - - - Max Age particle system will emit particles for - - - The the particle has at the beginning of its lifecycle - - - The the particle has at the ending of its lifecycle - - - A that represents the starting X size of the particle - Minimum value is 0, maximum value is 4 - - - A that represents the starting Y size of the particle - Minimum value is 0, maximum value is 4 - - - A that represents the ending X size of the particle - Minimum value is 0, maximum value is 4 - - - A that represents the ending Y size of the particle - Minimum value is 0, maximum value is 4 - - - A that represents the start glow value - Minimum value is 0, maximum value is 1 - - - A that represents the end glow value - Minimum value is 0, maximum value is 1 - - - OpenGL blend function to use at particle source - - - OpenGL blend function to use at particle destination - - - - Can this particle system be packed in a legacy compatible way - - True if the particle system doesn't use new particle system features - - - - Decodes a byte[] array into a ParticleSystem Object - - ParticleSystem object - Start position for BitPacker - - - - Generate byte[] array from particle data - - Byte array - - - - - - - Parameters used to construct a visual representation of a primitive - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Attachment point to an avatar - - - - - - - - - - - - - - - - Calculdates hash code for prim construction data - - The has - - - - Information on the flexible properties of a primitive - - - - - - - - - - - - - - - - - - - - - - - Default constructor - - - - - - - - - - - - - - - - - - - - - - - - Information on the light properties of a primitive - - - - - - - - - - - - - - - - - - - - Default constructor - - - - - - - - - - - - - - - - - - - - - - - - Information on the light properties of a primitive as texture map - - - - - - - - - - - Default constructor - - - - - - - - - - - - - - - - - - - - - - - - Information on the sculpt properties of a sculpted primitive - - - - - Render inside out (inverts the normals). - - - - - Render an X axis mirror of the sculpty. - - - - - Default constructor - - - - - - - - - - - - Extended properties to describe an object - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Default constructor - - - - - Set the properties that are set in an ObjectPropertiesFamily packet - - that has - been partially filled by an ObjectPropertiesFamily packet - - - - Describes physics attributes of the prim - - - - Primitive's local ID - - - Density (1000 for normal density) - - - Friction - - - Gravity multiplier (1 for normal gravity) - - - Type of physics representation of this primitive in the simulator - - - Restitution - - - - Creates PhysicsProperties from OSD - - OSDMap with incoming data - Deserialized PhysicsProperties object - - - - Serializes PhysicsProperties to OSD - - OSDMap with serialized PhysicsProperties data - - - - - - - - - - - - - - - - - - - - - Foliage type for this primitive. Only applicable if this - primitive is foliage - - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Identifies the owner if audio or a particle system is - active - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Objects physics engine propertis - - - Extra data about primitive - - - Indicates if prim is attached to an avatar - - - Number of clients referencing this prim - - - Uses basic heuristics to estimate the primitive shape - - - - Default constructor - - - - - Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters in to signed eight bit values - - Floating point parameter to pack - Signed eight bit value containing the packed parameter - - - - Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters from signed eight bit integers to floating point values - - Signed eight bit value to unpack - Unpacked floating point value - - - - Texture animation mode - - - - Disable texture animation - - - Enable texture animation - - - Loop when animating textures - - - Animate in reverse direction - - - Animate forward then reverse - - - Slide texture smoothly instead of frame-stepping - - - Rotate texture instead of using frames - - - Scale texture instead of using frames - - - - A single textured face. Don't instantiate this class yourself, use the - methods in TextureEntry - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - In the future this will specify whether a webpage is - attached to this face - - - - - - - - - - Contains the definition for individual faces - - - - - - - - - - - - Represents all of the texturable faces for an object - - Grid objects have infinite faces, with each face - using the properties of the default face unless set otherwise. So if - you have a TextureEntry with a default texture uuid of X, and face 18 - has a texture UUID of Y, every face would be textured with X except for - face 18 that uses Y. In practice however, primitives utilize a maximum - of nine faces - - - - - - - - - - Constructor that takes a default texture UUID - - Texture UUID to use as the default texture - - - - Constructor that takes a TextureEntryFace for the - default face - - Face to use as the default face - - - - Constructor that creates the TextureEntry class from a byte array - - Byte array containing the TextureEntry field - Starting position of the TextureEntry field in - the byte array - Length of the TextureEntry field, in bytes - - - - This will either create a new face if a custom face for the given - index is not defined, or return the custom face for that index if - it already exists - - The index number of the face to create or - retrieve - A TextureEntryFace containing all the properties for that - face - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Controls the texture animation of a particular prim - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The type of bump-mapping applied to a face - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The level of shininess applied to a face - - - - - - - - - - - - - - - - - The texture mapping style used for a face - - - - - - - - - - - - - - - - - Flags in the TextureEntry block that describe which properties are - set - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is used to login a specific user account(s). It may only be called after - Connector initialization has completed successfully - - Handle returned from successful Connector ‘create’ request - User's account name - User's account password - Values may be “AutoAnswer” or “VerifyAnswer” - "" - This is an integer that specifies how often - the daemon will send participant property events while in a channel. If this is not set - the default will be “on state change”, which means that the events will be sent when - the participant starts talking, stops talking, is muted, is unmuted. - The valid values are: - 0 – Never - 5 – 10 times per second - 10 – 5 times per second - 50 – 1 time per second - 100 – on participant state change (this is the default) - false - - - - - This is used to logout a user session. It should only be called with a valid AccountHandle. - - Handle returned from successful Connector ‘login’ request - - - - - This is used to get a list of audio devices that can be used for capture (input) of voice. - - - - - - This is used to get a list of audio devices that can be used for render (playback) of voice. - - - - - This command is used to select the render device. - - The name of the device as returned by the Aux.GetRenderDevices command. - - - - This command is used to select the capture device. - - The name of the device as returned by the Aux.GetCaptureDevices command. - - - - This command is used to start the audio capture process which will cause - AuxAudioProperty Events to be raised. These events can be used to display a - microphone VU meter for the currently selected capture device. This command - should not be issued if the user is on a call. - - (unused but required) - - - - - This command is used to stop the audio capture process. - - - - - - This command is used to set the mic volume while in the audio tuning process. - Once an acceptable mic level is attained, the application must issue a - connector set mic volume command to have that level be used while on voice - calls. - - the microphone volume (-100 to 100 inclusive) - - - - - This command is used to set the speaker volume while in the audio tuning - process. Once an acceptable speaker level is attained, the application must - issue a connector set speaker volume command to have that level be used while - on voice calls. - - the speaker volume (-100 to 100 inclusive) - - - - - This is used to initialize and stop the Connector as a whole. The Connector - Create call must be completed successfully before any other requests are made - (typically during application initialization). The shutdown should be called - when the application is shutting down to gracefully release resources - - A string value indicting the Application name - URL for the management server - LoggingSettings - - - - - - Shutdown Connector -- Should be called when the application is shutting down - to gracefully release resources - - Handle returned from successful Connector ‘create’ request - - - - Mute or unmute the microphone - - Handle returned from successful Connector ‘create’ request - true (mute) or false (unmute) - - - - Mute or unmute the speaker - - Handle returned from successful Connector ‘create’ request - true (mute) or false (unmute) - - - - Set microphone volume - - Handle returned from successful Connector ‘create’ request - The level of the audio, a number between -100 and 100 where - 0 represents ‘normal’ speaking volume - - - - Set local speaker volume - - Handle returned from successful Connector ‘create’ request - The level of the audio, a number between -100 and 100 where - 0 represents ‘normal’ speaking volume - - - - List of audio input devices - - - - - List of audio output devices - - - - - Start up the Voice service. - - - - - Handle miscellaneous request status - - - - ///If something goes wrong, we log it. - - - - Cleanup oject resources - - - - - Request voice cap when changing regions - - - - - Handle a change in session state - - - - - Close a voice session - - - - - - Locate a Session context from its handle - - Creates the session context if it does not exist. - - - - Handle completion of main voice cap request. - - - - - - - - Daemon has started so connect to it. - - - - - The daemon TCP connection is open. - - - - - Handle creation of the Connector. - - - - - Handle response to audio output device query - - - - - Handle response to audio input device query - - - - - Set audio test mode - - - - - Set voice channel for new parcel - - - - - - Request info from a parcel capability Uri. - - - - - - Receive parcel voice cap - - - - - - - - Tell Vivox where we are standing - - This has to be called when we move or turn. - - - - Start and stop updating out position. - - - - - Enable logging - - - The folder where any logs will be created - - - This will be prepended to beginning of each log file - - - The suffix or extension to be appended to each log file - - - - 0: NONE - No logging - 1: ERROR - Log errors only - 2: WARNING - Log errors and warnings - 3: INFO - Log errors, warnings and info - 4: DEBUG - Log errors, warnings, info and debug - - - - - Constructor for default logging settings - - - - Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter - - - - Event for most mundane request reposnses. - - - - Response to Connector.Create request - - - Response to Aux.GetCaptureDevices request - - - Response to Aux.GetRenderDevices request - - - Audio Properties Events are sent after audio capture is started. - These events are used to display a microphone VU meter - - - Response to Account.Login request - - - This event message is sent whenever the login state of the - particular Account has transitioned from one value to another - - - - Starts a thread that keeps the daemon running - - - - - - - Stops the daemon and the thread keeping it running - - - - - - - - - - - - - Create a Session - Sessions typically represent a connection to a media session with one or more - participants. This is used to generate an ‘outbound’ call to another user or - channel. The specifics depend on the media types involved. A session handle is - required to control the local user functions within the session (or remote - users if the current account has rights to do so). Currently creating a - session automatically connects to the audio media, there is no need to call - Session.Connect at this time, this is reserved for future use. - - Handle returned from successful Connector ‘create’ request - This is the URI of the terminating point of the session (ie who/what is being called) - This is the display name of the entity being called (user or channel) - Only needs to be supplied when the target URI is password protected - This indicates the format of the password as passed in. This can either be - “ClearText” or “SHA1UserName”. If this element does not exist, it is assumed to be “ClearText”. If it is - “SHA1UserName”, the password as passed in is the SHA1 hash of the password and username concatenated together, - then base64 encoded, with the final “=” character stripped off. - - - - - - - Used to accept a call - - SessionHandle such as received from SessionNewEvent - "default" - - - - - This command is used to start the audio render process, which will then play - the passed in file through the selected audio render device. This command - should not be issued if the user is on a call. - - The fully qualified path to the sound file. - True if the file is to be played continuously and false if it is should be played once. - - - - - This command is used to stop the audio render process. - - The fully qualified path to the sound file issued in the start render command. - - - - - This is used to ‘end’ an established session (i.e. hang-up or disconnect). - - Handle returned from successful Session ‘create’ request or a SessionNewEvent - - - - - Set the combined speaking and listening position in 3D space. - - Handle returned from successful Session ‘create’ request or a SessionNewEvent - Speaking position - Listening position - - - - - Set User Volume for a particular user. Does not affect how other users hear that user. - - Handle returned from successful Session ‘create’ request or a SessionNewEvent - - The level of the audio, a number between -100 and 100 where 0 represents ‘normal’ speaking volume - - - - Positional vector of the users position - - - Velocity vector of the position - - - At Orientation (X axis) of the position - - - Up Orientation (Y axis) of the position - - - Left Orientation (Z axis) of the position - - - - Extract the avatar UUID encoded in a SIP URI - - - - - - - Represents a single Voice Session to the Vivox service. - - - - - Close this session. - - - - - Look up an existing Participants in this session - - - - - - - - - - - - Delegate to wrap another delegate and its arguments - - - - - - - An instance of DelegateWrapper which calls InvokeWrappedDelegate, - which in turn calls the DynamicInvoke method of the wrapped - delegate - - - - - Callback used to call EndInvoke on the asynchronously - invoked DelegateWrapper - - - - - Executes the specified delegate with the specified arguments - asynchronously on a thread pool thread - - - - - - - Invokes the wrapped delegate synchronously - - - - - - - Calls EndInvoke on the wrapper and Close on the resulting WaitHandle - to prevent resource leaks - - - - - diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index a0782f8..83d3946 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.XML b/bin/OpenMetaverseTypes.XML deleted file mode 100644 index 3da5955..0000000 --- a/bin/OpenMetaverseTypes.XML +++ /dev/null @@ -1,2667 +0,0 @@ - - - - OpenMetaverseTypes - - - - - Same as Queue except Dequeue function blocks until there is an object to return. - Note: This class does not need to be synchronized - - - - - Create new BlockingQueue. - - The System.Collections.ICollection to copy elements from - - - - Create new BlockingQueue. - - The initial number of elements that the queue can contain - - - - Create new BlockingQueue. - - - - - BlockingQueue Destructor (Close queue, resume any waiting thread). - - - - - Remove all objects from the Queue. - - - - - Remove all objects from the Queue, resume all dequeue threads. - - - - - Removes and returns the object at the beginning of the Queue. - - Object in queue. - - - - Removes and returns the object at the beginning of the Queue. - - time to wait before returning - Object in queue. - - - - Removes and returns the object at the beginning of the Queue. - - time to wait before returning (in milliseconds) - Object in queue. - - - - Adds an object to the end of the Queue - - Object to put in queue - - - - Open Queue. - - - - - Gets flag indicating if queue has been closed. - - - - - Copy constructor - - Circular queue to copy - - - - An 8-bit color structure including an alpha channel - - - - Red - - - Green - - - Blue - - - Alpha - - - - - - - - - - - - - Builds a color from a byte array - - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - - - - Returns the raw bytes for this vector - - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted - A 16 byte array containing R, G, B, and A - - - - Copy constructor - - Color to copy - - - - IComparable.CompareTo implementation - - Sorting ends up like this: |--Grayscale--||--Color--|. - Alpha is only used when the colors are otherwise equivalent - - - - Builds a color from a byte array - - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted - - - - Writes the raw bytes for this color to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - - - - Serializes this color into four bytes in a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 4 bytes before the end of the array - True to invert the output (1.0 becomes 0 - instead of 255) - - - - Writes the raw bytes for this color to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - - - - Ensures that values are in range 0-1 - - - - - Create an RGB color from a hue, saturation, value combination - - Hue - Saturation - Value - An fully opaque RGB color (alpha is 1.0) - - - - Performs linear interpolation between two colors - - Color to start at - Color to end at - Amount to interpolate - The interpolated color - - - A Color4 with zero RGB values and fully opaque (alpha 1.0) - - - A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) - - - - Attribute class that allows extra attributes to be attached to ENUMs - - - - Text used when presenting ENUM to user - - - Default initializer - - - Text used when presenting ENUM to user - - - - The different types of grid assets - - - - Unknown asset type - - - Texture asset, stores in JPEG2000 J2C stream format - - - Sound asset - - - Calling card for another avatar - - - Link to a location in world - - - Collection of textures and parameters that can be worn by an avatar - - - Primitive that can contain textures, sounds, - scripts and more - - - Notecard asset - - - Holds a collection of inventory items. "Category" in the Linden viewer - - - Linden scripting language script - - - LSO bytecode for a script - - - Uncompressed TGA texture - - - Collection of textures and shape parameters that can be worn - - - Uncompressed sound - - - Uncompressed TGA non-square image, not to be used as a - texture - - - Compressed JPEG non-square image, not to be used as a - texture - - - Animation - - - Sequence of animations, sounds, chat, and pauses - - - Simstate file - - - Asset is a link to another inventory item - - - Asset is a link to another inventory folder - - - Marketplace Folder. Same as an Category but different display methods. - - - Linden mesh format - - - - The different types of folder. - - - - None folder type - - - Texture folder type - - - Sound folder type - - - Calling card folder type - - - Landmark folder type - - - Clothing folder type - - - Object folder type - - - Notecard folder type - - - The root folder type - - - LSLText folder - - - Bodyparts folder - - - Trash folder - - - Snapshot folder - - - Lost And Found folder - - - Animation folder - - - Gesture folder - - - Favorites folder - - - Ensemble beginning range - - - Ensemble ending range - - - Current outfit folder - - - Outfit folder - - - My outfits folder - - - Mesh folder - - - Marketplace direct delivery inbox ("Received Items") - - - Marketplace direct delivery outbox - - - Basic root folder - - - Marketplace listings folder - - - Marketplace stock folder - - - Hypergrid Suitcase folder - - - - Inventory Item Types, eg Script, Notecard, Folder, etc - - - - Unknown - - - Texture - - - Sound - - - Calling Card - - - Landmark - - - Notecard - - - - - - Folder - - - - - - an LSL Script - - - - - - - - - - - - - - - - - - - - - - Item Sale Status - - - - Not for sale - - - The original is for sale - - - Copies are for sale - - - The contents of the object are for sale - - - - Types of wearable assets - - - - Body shape - - - Skin textures and attributes - - - Hair - - - Eyes - - - Shirt - - - Pants - - - Shoes - - - Socks - - - Jacket - - - Gloves - - - Undershirt - - - Underpants - - - Skirt - - - Alpha mask to hide parts of the avatar - - - Tattoo - - - Physics - - - Invalid wearable asset - - - - Identifier code for primitive types - - - - None - - - A Primitive - - - A Avatar - - - Linden grass - - - Linden tree - - - A primitive that acts as the source for a particle stream - - - A Linden tree - - - - Primary parameters for primitives such as Physics Enabled or Phantom - - - - Deprecated - - - Whether physics are enabled for this object - - - - - - - - - - - - - - - - - - - - - Whether this object contains an active touch script - - - - - - Whether this object can receive payments - - - Whether this object is phantom (no collisions) - - - - - - - - - - - - - - - Deprecated - - - - - - - - - - - - Deprecated - - - - - - - - - - - - - - - Server flag, will not be sent to clients. Specifies that - the object is destroyed when it touches a simulator edge - - - Server flag, will not be sent to clients. Specifies that - the object will be returned to the owner's inventory when it - touches a simulator edge - - - Server flag, will not be sent to clients. - - - Server flag, will not be sent to client. Specifies that - the object is hovering/flying - - - - - - - - - - - - - - - - Sound flags for sounds attached to primitives - - - - - - - - - - - - - - - - - - - - - - - - - - Material type for a primitive - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Used in a helper function to roughly determine prim shape - - - - - Extra parameters for primitives, these flags are for features that have - been added after the original ObjectFlags that has all eight bits - reserved already - - - - Whether this object has flexible parameters - - - Whether this object has light parameters - - - Whether this object is a sculpted prim - - - Whether this object is a light image map - - - Whether this object is a mesh - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Attachment points for objects on avatar bodies - - - Both InventoryObject and InventoryAttachment types can be attached - - - - Right hand if object was not previously attached - - - Chest - - - Skull - - - Left shoulder - - - Right shoulder - - - Left hand - - - Right hand - - - Left foot - - - Right foot - - - Spine - - - Pelvis - - - Mouth - - - Chin - - - Left ear - - - Right ear - - - Left eyeball - - - Right eyeball - - - Nose - - - Right upper arm - - - Right forearm - - - Left upper arm - - - Left forearm - - - Right hip - - - Right upper leg - - - Right lower leg - - - Left hip - - - Left upper leg - - - Left lower leg - - - Stomach - - - Left pectoral - - - Right pectoral - - - HUD Center position 2 - - - HUD Top-right - - - HUD Top - - - HUD Top-left - - - HUD Center - - - HUD Bottom-left - - - HUD Bottom - - - HUD Bottom-right - - - Neck - - - Avatar Center - - - - Tree foliage types - - - - Pine1 tree - - - Oak tree - - - Tropical Bush1 - - - Palm1 tree - - - Dogwood tree - - - Tropical Bush2 - - - Palm2 tree - - - Cypress1 tree - - - Cypress2 tree - - - Pine2 tree - - - Plumeria - - - Winter pinetree1 - - - Winter Aspen tree - - - Winter pinetree2 - - - Eucalyptus tree - - - Fern - - - Eelgrass - - - Sea Sword - - - Kelp1 plant - - - Beach grass - - - Kelp2 plant - - - - Grass foliage types - - - - - - - - - - - - - - - - - - - - - - - Action associated with clicking on an object - - - - Touch object - - - Sit on object - - - Purchase object or contents - - - Pay the object - - - Open task inventory - - - Play parcel media - - - Open parcel media - - - - Type of physics representation used for this prim in the simulator - - - - Use prim physics form this object - - - No physics, prim doesn't collide - - - Use convex hull represantion of this prim - - - For thread safety - - - For thread safety - - - - Purges expired objects from the cache. Called automatically by the purge timer. - - - - - A thread-safe lockless queue that supports multiple readers and - multiple writers - - - - - Provides a node container for data in a singly linked list - - - - Pointer to the next node in list - - - The data contained by the node - - - - Constructor - - - - - Constructor - - - - Queue head - - - Queue tail - - - Queue item count - - - Gets the current number of items in the queue. Since this - is a lockless collection this value should be treated as a close - estimate - - - - Constructor - - - - - Enqueue an item - - Item to enqeue - - - - Try to dequeue an item - - Dequeued item if the dequeue was successful - True if an item was successfully deqeued, otherwise false - - - - Convert this matrix to euler rotations - - X euler angle - Y euler angle - Z euler angle - - - - Convert this matrix to a quaternion rotation - - A quaternion representation of this rotation matrix - - - - Construct a matrix from euler rotation values in radians - - X euler angle in radians - Y euler angle in radians - Z euler angle in radians - - - - Get a formatted string representation of the vector - - A string representation of the vector - - - A 4x4 matrix containing all zeroes - - - A 4x4 identity matrix - - - X value - - - Y value - - - Z value - - - W value - - - - Build a quaternion from normalized float values - - X value from -1.0 to 1.0 - Y value from -1.0 to 1.0 - Z value from -1.0 to 1.0 - - - - Constructor, builds a quaternion object from a byte array - - Byte array containing four four-byte floats - Offset in the byte array to start reading at - Whether the source data is normalized or - not. If this is true 12 bytes will be read, otherwise 16 bytes will - be read. - - - - Normalizes the quaternion - - - - - Builds a quaternion object from a byte array - - The source byte array - Offset in the byte array to start reading at - Whether the source data is normalized or - not. If this is true 12 bytes will be read, otherwise 16 bytes will - be read. - - - - Normalize this quaternion and serialize it to a byte array - - A 12 byte array containing normalized X, Y, and Z floating - point values in order using little endian byte ordering - - - - Writes the raw bytes for this quaternion to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 12 bytes before the end of the array - - - - Convert this quaternion to euler angles - - X euler angle - Y euler angle - Z euler angle - - - - Convert this quaternion to an angle around an axis - - Unit vector describing the axis - Angle around the axis, in radians - - - - Returns the conjugate (spatial inverse) of a quaternion - - - - - Build a quaternion from an axis and an angle of rotation around - that axis - - - - - Build a quaternion from an axis and an angle of rotation around - that axis - - Axis of rotation - Angle of rotation - - - - Creates a quaternion from a vector containing roll, pitch, and yaw - in radians - - Vector representation of the euler angles in - radians - Quaternion representation of the euler angles - - - - Creates a quaternion from roll, pitch, and yaw euler angles in - radians - - X angle in radians - Y angle in radians - Z angle in radians - Quaternion representation of the euler angles - - - - Conjugates and renormalizes a vector - - - - - Spherical linear interpolation between two quaternions - - - - - Get a string representation of the quaternion elements with up to three - decimal digits and separated by spaces only - - Raw string representation of the quaternion - - - A quaternion with a value of 0,0,0,1 - - - - Determines the appropriate events to set, leaves the locks, and sets the events. - - - - - A routine for lazily creating a event outside the lock (so if errors - happen they are outside the lock and that we don't do much work - while holding a spin lock). If all goes well, reenter the lock and - set 'waitEvent' - - - - - Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. - Before the wait 'numWaiters' is incremented and is restored before leaving this routine. - - - - - A hierarchical token bucket for bandwidth throttling. See - http://en.wikipedia.org/wiki/Token_bucket for more information - - - - Parent bucket to this bucket, or null if this is a root - bucket - - - Size of the bucket in bytes. If zero, the bucket has - infinite capacity - - - Rate that the bucket fills, in bytes per millisecond. If - zero, the bucket always remains full - - - Number of tokens currently in the bucket - - - Time of the last drip, in system ticks - - - - The parent bucket of this bucket, or null if this bucket has no - parent. The parent bucket will limit the aggregate bandwidth of all - of its children buckets - - - - - Maximum burst rate in bytes per second. This is the maximum number - of tokens that can accumulate in the bucket at any one time - - - - - The speed limit of this bucket in bytes per second. This is the - number of tokens that are added to the bucket per second - - Tokens are added to the bucket any time - is called, at the granularity of - the system tick interval (typically around 15-22ms) - - - - The number of bytes that can be sent at this moment. This is the - current number of tokens in the bucket - If this bucket has a parent bucket that does not have - enough tokens for a request, will - return false regardless of the content of this bucket - - - - - Default constructor - - Parent bucket if this is a child bucket, or - null if this is a root bucket - Maximum size of the bucket in bytes, or - zero if this bucket has no maximum capacity - Rate that the bucket fills, in bytes per - second. If zero, the bucket always remains full - - - - Remove a given number of tokens from the bucket - - Number of tokens to remove from the bucket - True if the requested number of tokens were removed from - the bucket, otherwise false - - - - Remove a given number of tokens from the bucket - - Number of tokens to remove from the bucket - True if tokens were added to the bucket - during this call, otherwise false - True if the requested number of tokens were removed from - the bucket, otherwise false - - - - Add tokens to the bucket over time. The number of tokens added each - call depends on the length of time that has passed since the last - call to Drip - - True if tokens were added to the bucket, otherwise false - - - - Operating system - - - - Unknown - - - Microsoft Windows - - - Microsoft Windows CE - - - Linux - - - Apple OSX - - - - Runtime platform - - - - .NET runtime - - - Mono runtime: http://www.mono-project.com/ - - - Used for converting degrees to radians - - - Used for converting radians to degrees - - - Provide a single instance of the CultureInfo class to - help parsing in situations where the grid assumes an en-us - culture - - - UNIX epoch in DateTime format - - - Provide a single instance of the MD5 class to avoid making - duplicate copies and handle thread safety - - - Provide a single instance of the SHA-1 class to avoid - making duplicate copies and handle thread safety - - - Provide a single instance of a random number generator - to avoid making duplicate copies and handle thread safety - - - - Clamp a given value between a range - - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper - - - - Clamp a given value between a range - - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper - - - - Clamp a given value between a range - - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper - - - - Round a floating-point value to the nearest integer - - Floating point number to round - Integer - - - - Test if a single precision float is a finite number - - - - - Test if a double precision float is a finite number - - - - - Get the distance between two floating-point values - - First value - Second value - The distance between the two values - - - - Compute the MD5 hash for a byte array - - Byte array to compute the hash for - MD5 hash of the input data - - - - Compute the SHA1 hash for a byte array - - Byte array to compute the hash for - SHA1 hash of the input data - - - - Calculate the SHA1 hash of a given string - - The string to hash - The SHA1 hash as a string - - - - Compute the SHA256 hash for a byte array - - Byte array to compute the hash for - SHA256 hash of the input data - - - - Calculate the SHA256 hash of a given string - - The string to hash - The SHA256 hash as a string - - - - Calculate the MD5 hash of a given string - - The password to hash - An MD5 hash in string format, with $1$ prepended - - - - Calculate the MD5 hash of a given string - - The string to hash - The MD5 hash as a string - - - - Generate a random double precision floating point value - - Random value of type double - - - - Get the current running platform - - Enumeration of the current platform we are running on - - - - Get the current running runtime - - Enumeration of the current runtime we are running on - - - - Convert the first two bytes starting in the byte array in - little endian ordering to a signed short integer - - An array two bytes or longer - A signed short integer, will be zero if a short can't be - read at the given position - - - - Convert the first two bytes starting at the given position in - little endian ordering to a signed short integer - - An array two bytes or longer - Position in the array to start reading - A signed short integer, will be zero if a short can't be - read at the given position - - - - Convert the first four bytes starting at the given position in - little endian ordering to a signed integer - - An array four bytes or longer - Position to start reading the int from - A signed integer, will be zero if an int can't be read - at the given position - - - - Convert the first four bytes of the given array in little endian - ordering to a signed integer - - An array four bytes or longer - A signed integer, will be zero if the array contains - less than four bytes - - - - Convert the first eight bytes of the given array in little endian - ordering to a signed long integer - - An array eight bytes or longer - A signed long integer, will be zero if the array contains - less than eight bytes - - - - Convert the first eight bytes starting at the given position in - little endian ordering to a signed long integer - - An array eight bytes or longer - Position to start reading the long from - A signed long integer, will be zero if a long can't be read - at the given position - - - - Convert the first two bytes starting at the given position in - little endian ordering to an unsigned short - - Byte array containing the ushort - Position to start reading the ushort from - An unsigned short, will be zero if a ushort can't be read - at the given position - - - - Convert two bytes in little endian ordering to an unsigned short - - Byte array containing the ushort - An unsigned short, will be zero if a ushort can't be - read - - - - Convert the first four bytes starting at the given position in - little endian ordering to an unsigned integer - - Byte array containing the uint - Position to start reading the uint from - An unsigned integer, will be zero if a uint can't be read - at the given position - - - - Convert the first four bytes of the given array in little endian - ordering to an unsigned integer - - An array four bytes or longer - An unsigned integer, will be zero if the array contains - less than four bytes - - - - Convert the first eight bytes of the given array in little endian - ordering to an unsigned 64-bit integer - - An array eight bytes or longer - An unsigned 64-bit integer, will be zero if the array - contains less than eight bytes - - - - Convert four bytes in little endian ordering to a floating point - value - - Byte array containing a little ending floating - point value - Starting position of the floating point value in - the byte array - Single precision value - - - - Convert an integer to a byte array in little endian format - - The integer to convert - A four byte little endian array - - - - Convert an integer to a byte array in big endian format - - The integer to convert - A four byte big endian array - - - - Convert a 64-bit integer to a byte array in little endian format - - The value to convert - An 8 byte little endian array - - - - Convert a 64-bit unsigned integer to a byte array in little endian - format - - The value to convert - An 8 byte little endian array - - - - Convert a floating point value to four bytes in little endian - ordering - - A floating point value - A four byte array containing the value in little endian - ordering - - - - Converts an unsigned integer to a hexadecimal string - - An unsigned integer to convert to a string - A hexadecimal string 10 characters long - 0x7fffffff - - - - Convert a variable length UTF8 byte array to a string - - The UTF8 encoded byte array to convert - The decoded string - - - - Converts a byte array to a string containing hexadecimal characters - - The byte array to convert to a string - The name of the field to prepend to each - line of the string - A string containing hexadecimal characters on multiple - lines. Each line is prepended with the field name - - - - Converts a byte array to a string containing hexadecimal characters - - The byte array to convert to a string - Number of bytes in the array to parse - A string to prepend to each line of the hex - dump - A string containing hexadecimal characters on multiple - lines. Each line is prepended with the field name - - - - Convert a string to a UTF8 encoded byte array - - The string to convert - A null-terminated UTF8 byte array - - - - Converts a string containing hexadecimal characters to a byte array - - String containing hexadecimal characters - If true, gracefully handles null, empty and - uneven strings as well as stripping unconvertable characters - The converted byte array - - - - Returns true is c is a hexadecimal digit (A-F, a-f, 0-9) - - Character to test - true if hex digit, false if not - - - - Converts 1 or 2 character string into equivalant byte value - - 1 or 2 character string - byte - - - - Convert a float value to a byte given a minimum and maximum range - - Value to convert to a byte - Minimum value range - Maximum value range - A single byte representing the original float value - - - - Convert a byte to a float value given a minimum and maximum range - - Byte array to get the byte from - Position in the byte array the desired byte is at - Minimum value range - Maximum value range - A float value inclusively between lower and upper - - - - Convert a byte to a float value given a minimum and maximum range - - Byte to convert to a float value - Minimum value range - Maximum value range - A float value inclusively between lower and upper - - - - Attempts to parse a floating point value from a string, using an - EN-US number format - - String to parse - Resulting floating point number - True if the parse was successful, otherwise false - - - - Attempts to parse a floating point value from a string, using an - EN-US number format - - String to parse - Resulting floating point number - True if the parse was successful, otherwise false - - - - Tries to parse an unsigned 32-bit integer from a hexadecimal string - - String to parse - Resulting integer - True if the parse was successful, otherwise false - - - - Returns text specified in EnumInfo attribute of the enumerator - To add the text use [EnumInfo(Text = "Some nice text here")] before declaration - of enum values - - Enum value - Text representation of the enum - - - - Takes an AssetType and returns the string representation - - The source - The string version of the AssetType - - - - Translate a string name of an AssetType into the proper Type - - A string containing the AssetType name - The AssetType which matches the string name, or AssetType.Unknown if no match was found - - - - Takes a FolderType and returns the string representation - - The source - The string version of the FolderType - - - - Translate a string name of an FolderType into the proper Type - - A string containing the FolderType name - The FolderType which matches the string name, or FolderType. None if no match was found - - - - Convert an InventoryType to a string - - The to convert - A string representation of the source - - - - Convert a string into a valid InventoryType - - A string representation of the InventoryType to convert - A InventoryType object which matched the type - - - - Convert a SaleType to a string - - The to convert - A string representation of the source - - - - Convert a string into a valid SaleType - - A string representation of the SaleType to convert - A SaleType object which matched the type - - - - Converts a string used in LLSD to AttachmentPoint type - - String representation of AttachmentPoint to convert - AttachmentPoint enum - - - - Copy a byte array - - Byte array to copy - A copy of the given byte array - - - - Packs to 32-bit unsigned integers in to a 64-bit unsigned integer - - The left-hand (or X) value - The right-hand (or Y) value - A 64-bit integer containing the two 32-bit input values - - - - Unpacks two 32-bit unsigned integers from a 64-bit unsigned integer - - The 64-bit input integer - The left-hand (or X) output value - The right-hand (or Y) output value - - - - Convert an IP address object to an unsigned 32-bit integer - - IP address to convert - 32-bit unsigned integer holding the IP address bits - - - - Gets a unix timestamp for the current time - - An unsigned integer representing a unix timestamp for now - - - - Convert a UNIX timestamp to a native DateTime object - - An unsigned integer representing a UNIX - timestamp - A DateTime object containing the same time specified in - the given timestamp - - - - Convert a UNIX timestamp to a native DateTime object - - A signed integer representing a UNIX - timestamp - A DateTime object containing the same time specified in - the given timestamp - - - - Convert a native DateTime object to a UNIX timestamp - - A DateTime object you want to convert to a - timestamp - An unsigned integer representing a UNIX timestamp - - - - Swap two values - - Type of the values to swap - First value - Second value - - - - Try to parse an enumeration value from a string - - Enumeration type - String value to parse - Enumeration value on success - True if the parsing succeeded, otherwise false - - - - Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa - - Byte to swap the words in - Byte value with the words swapped - - - - Attempts to convert a string representation of a hostname or IP - address to a - - Hostname to convert to an IPAddress - Converted IP address object, or null if the conversion - failed - - - - A 128-bit Universally Unique Identifier, used throughout the Second - Life networking protocol - - - - The System.Guid object this struct wraps around - - - - Constructor that takes a string UUID representation - - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") - - - - Constructor that takes a System.Guid object - - A Guid object that contains the unique identifier - to be represented by this UUID - - - - Constructor that takes a byte array containing a UUID - - Byte array containing a 16 byte UUID - Beginning offset in the array - - - - Constructor that takes an unsigned 64-bit unsigned integer to - convert to a UUID - - 64-bit unsigned integer to convert to a UUID - - - - Copy constructor - - UUID to copy - - - - IComparable.CompareTo implementation - - - - - Assigns this UUID from 16 bytes out of a byte array - - Byte array containing the UUID to assign this UUID to - Starting position of the UUID in the byte array - - - - Returns a copy of the raw bytes for this UUID - - A 16 byte array containing this UUID - - - - Writes the raw bytes for this UUID to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - - - - Calculate an LLCRC (cyclic redundancy check) for this UUID - - The CRC checksum for this UUID - - - - Create a 64-bit integer representation from the second half of this UUID - - An integer created from the last eight bytes of this UUID - - - - Generate a UUID from a string - - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") - - - - Generate a UUID from a string - - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - Will contain the parsed UUID if successful, - otherwise null - True if the string was successfully parse, otherwise false - UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) - - - - Combine two UUIDs together by taking the MD5 hash of a byte array - containing both UUIDs - - First UUID to combine - Second UUID to combine - The UUID product of the combination - - - - - - - - - - Return a hash code for this UUID, used by .NET for hash tables - - An integer composed of all the UUID bytes XORed together - - - - Comparison function - - An object to compare to this UUID - True if the object is a UUID and both UUIDs are equal - - - - Comparison function - - UUID to compare to - True if the UUIDs are equal, otherwise false - - - - Get a hyphenated string representation of this UUID - - A string representation of this UUID, lowercase and - with hyphens - 11f8aa9c-b071-4242-836b-13b7abe0d489 - - - - Equals operator - - First UUID for comparison - Second UUID for comparison - True if the UUIDs are byte for byte equal, otherwise false - - - - Not equals operator - - First UUID for comparison - Second UUID for comparison - True if the UUIDs are not equal, otherwise true - - - - XOR operator - - First UUID - Second UUID - A UUID that is a XOR combination of the two input UUIDs - - - - String typecasting operator - - A UUID in string form. Case insensitive, - hyphenated or non-hyphenated - A UUID built from the string representation - - - An UUID with a value of all zeroes - - - A cache of UUID.Zero as a string to optimize a common path - - - - A two-dimensional vector with floating-point values - - - - X value - - - Y value - - - - Test if this vector is equal to another vector, within a given - tolerance range - - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false - - - - Test if this vector is composed of all finite numbers - - - - - IComparable.CompareTo implementation - - - - - Builds a vector from a byte array - - Byte array containing two four-byte floats - Beginning position in the byte array - - - - Returns the raw bytes for this vector - - An eight-byte array containing X and Y - - - - Writes the raw bytes for this vector to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 8 bytes before the end of the array - - - - Parse a vector from a string - - A string representation of a 2D vector, enclosed - in arrow brackets and separated by commas - - - - Interpolates between two vectors using a cubic equation - - - - - Get a formatted string representation of the vector - - A string representation of the vector - - - - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only - - Raw string representation of the vector - - - A vector with a value of 0,0 - - - A vector with a value of 1,1 - - - A vector with a value of 1,0 - - - A vector with a value of 0,1 - - - - A three-dimensional vector with floating-point values - - - - X value - - - Y value - - - Z value - - - - Constructor, builds a vector from a byte array - - Byte array containing three four-byte floats - Beginning position in the byte array - - - - Test if this vector is equal to another vector, within a given - tolerance range - - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false - - - - IComparable.CompareTo implementation - - - - - Test if this vector is composed of all finite numbers - - - - - Builds a vector from a byte array - - Byte array containing a 12 byte vector - Beginning position in the byte array - - - - Returns the raw bytes for this vector - - A 12 byte array containing X, Y, and Z - - - - Writes the raw bytes for this vector to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 12 bytes before the end of the array - - - - Parse a vector from a string - - A string representation of a 3D vector, enclosed - in arrow brackets and separated by commas - - - - Calculate the rotation between two vectors - - Normalized directional vector (such as 1,0,0 for forward facing) - Normalized target vector - - - - Interpolates between two vectors using a cubic equation - - - - - Get a formatted string representation of the vector - - A string representation of the vector - - - - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only - - Raw string representation of the vector - - - - Cross product between two vectors - - - - - Explicit casting for Vector3d > Vector3 - - - - - - A vector with a value of 0,0,0 - - - A vector with a value of 1,1,1 - - - A unit vector facing forward (X axis), value 1,0,0 - - - A unit vector facing left (Y axis), value 0,1,0 - - - A unit vector facing up (Z axis), value 0,0,1 - - - - A three-dimensional vector with doubleing-point values - - - - X value - - - Y value - - - Z value - - - - Constructor, builds a vector from a byte array - - Byte array containing three eight-byte doubles - Beginning position in the byte array - - - - Test if this vector is equal to another vector, within a given - tolerance range - - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false - - - - IComparable.CompareTo implementation - - - - - Test if this vector is composed of all finite numbers - - - - - Builds a vector from a byte array - - Byte array containing a 24 byte vector - Beginning position in the byte array - - - - Returns the raw bytes for this vector - - A 24 byte array containing X, Y, and Z - - - - Writes the raw bytes for this vector to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 24 bytes before the end of the array - - - - Parse a vector from a string - - A string representation of a 3D vector, enclosed - in arrow brackets and separated by commas - - - - Interpolates between two vectors using a cubic equation - - - - - Get a formatted string representation of the vector - - A string representation of the vector - - - - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only - - Raw string representation of the vector - - - - Cross product between two vectors - - - - - Implicit casting for Vector3 > Vector3d - - - - - - A vector with a value of 0,0,0 - - - A vector with a value of 1,1,1 - - - A unit vector facing forward (X axis), value of 1,0,0 - - - A unit vector facing left (Y axis), value of 0,1,0 - - - A unit vector facing up (Z axis), value of 0,0,1 - - - X value - - - Y value - - - Z value - - - W value - - - - Constructor, builds a vector from a byte array - - Byte array containing four four-byte floats - Beginning position in the byte array - - - - Test if this vector is equal to another vector, within a given - tolerance range - - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false - - - - IComparable.CompareTo implementation - - - - - Test if this vector is composed of all finite numbers - - - - - Builds a vector from a byte array - - Byte array containing a 16 byte vector - Beginning position in the byte array - - - - Returns the raw bytes for this vector - - A 16 byte array containing X, Y, Z, and W - - - - Writes the raw bytes for this vector to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - - - - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only - - Raw string representation of the vector - - - A vector with a value of 0,0,0,0 - - - A vector with a value of 1,1,1,1 - - - A vector with a value of 1,0,0,0 - - - A vector with a value of 0,1,0,0 - - - A vector with a value of 0,0,1,0 - - - A vector with a value of 0,0,0,1 - - - diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index aa1d2e6..3bb48cf 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 4b7f79e2967e8e7ac7c70118b70a9b66cd16a2b1 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 15 Jul 2017 04:06:34 +0100 Subject: fixes and changes on TreePopulatorModule. Please read OpenSimDefaults.ini [Trees] section. Does need more work, and some hardcode settings may not be the optimal still" --- bin/OpenSimDefaults.ini | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index fcbc1c5..a7b9213 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1450,13 +1450,21 @@ [Trees] - ; Enable this to allow the tree module to manage your sim trees, including growing, reproducing and dying - ; default is false + ; enable the trees module. default true + enabled = true + + ; active_trees allows module to change its trees in time. + ; some will be deleted, others created and rest may grow + ; default is false. You can change it with console comand tree active true | false later active_trees = false - - ; Density of tree population - tree_density = 1000.0 - + ; the trees change execution time rate (in ms) + update_rate = 1000 + + ; allow the trees to grow. + ; DANGER + ; this option causes high network use on the order of + ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second + allowGrow = false [VectorRender] ; the font to use for rendering text (default: Arial) -- cgit v1.1 From 66a5b4d1205058cb66a7dc2d02f52a93175bcc57 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 21 Jul 2017 14:11:03 +0100 Subject: ubOde suport convex shapes on all normal prims and sculpts. Since code is experimental this is controled by options ConvexPrims and ConvexSculpts, on section Mesh, that can be set to false in case of problems --- bin/OpenSimDefaults.ini | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index a7b9213..a94311a 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -935,18 +935,35 @@ [Mesh] - ; enable / disable Collada mesh support + ; enable / disable mesh asset uploads + ; mesh asset must conform to standard mesh format, with OpenSim extensions ; default is true AllowMeshUpload = true - ; if you use Meshmerizer and want collisions for meshies, setting this to true - ; will cause OpenSim to attempt to decode meshies assets, extract the physics - ; mesh, and use it for collisions. - UseMeshiesPhysicsMesh = true - ; Minimum user level required to upload meshes ;LevelUpload = 0 + ; suport meshs on physics + ;UseMeshiesPhysicsMesh = true + + ;suport convex shape type on normal prims + ; (ubOde only) + ;ConvexPrims = true + + ;suport convex shape type on sculpts + ; (ubOde only) + ;ConvexSculpts = true + + ; mesh cache settings: + ; (ubOde only) + ; do cache (keep true) + ;MeshFileCache = true + ; cache folder name relative to bin/ or absolute path + ;MeshFileCachePath = MeshCache + ;MeshFileCacheDoExpire = true; + ;MeshFileCacheExpireHours = 48 + + [Textures] ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible @@ -968,7 +985,7 @@ [ODEPhysicsSettings] ; ## - ; ## Physics stats settings + ; ## Physics stats settings ( most ignored by ubOde ) ; ; If collect_stats is enabled, then extra stat information is collected which is accessible via the MonitorModule -- cgit v1.1 From f6f0b1c51387acc89b0cd3d854cc65f94afa3897 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 21 Jul 2017 14:41:13 +0100 Subject: fix a few EN typos --- bin/OpenSimDefaults.ini | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index a94311a..9fb74dc 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -943,14 +943,14 @@ ; Minimum user level required to upload meshes ;LevelUpload = 0 - ; suport meshs on physics + ; support meshs on physics ;UseMeshiesPhysicsMesh = true - ;suport convex shape type on normal prims + ;support convex shape type on normal prims ; (ubOde only) ;ConvexPrims = true - ;suport convex shape type on sculpts + ;support convex shape type on sculpts ; (ubOde only) ;ConvexSculpts = true @@ -1472,7 +1472,7 @@ ; active_trees allows module to change its trees in time. ; some will be deleted, others created and rest may grow - ; default is false. You can change it with console comand tree active true | false later + ; default is false. You can change it with console command tree active true | false later active_trees = false ; the trees change execution time rate (in ms) update_rate = 1000 @@ -2064,7 +2064,7 @@ ;XmlRpcServiceWriteKey = 1234 ; Disables HTTP Keep-Alive for XmlRpcGroupsServicesConnector HTTP Requests, - ; only set to false it if you absolute sure regions and groups server suport it. + ; only set to false it if you absolute sure regions and groups server support it. ; XmlRpcDisableKeepAlive = true ; Minimum user level required to create groups -- cgit v1.1 From 93582523a739262ae3e7b459703db90b0a4214e4 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 22 Jul 2017 01:44:29 +0100 Subject: ubOde: make option MinSizeToMeshmerize visible in OpenSimDefaults.ini --- bin/OpenSimDefaults.ini | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 9fb74dc..164eae6 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1158,12 +1158,14 @@ ; ## additional meshing options ; ## - ; Physical collision mesh proxies are normally created for complex prim shapes, - ; and collisions for simple boxes and spheres are computed algorithmically. - ; If you would rather have mesh proxies for simple prims, you can set this to - ; true. Note that this will increase memory usage and region startup time. - ; Default is false. - ;force_simple_prim_meshing = false + ; Physics needs to create internal meshs (or convert the object meshs or scultps) + ; for all prims except simple boxes and spheres. + + ; collisions of small objects againts larger ones can have a increased CPU load cost + ; so this are represented by a simple BOX + ; if all their scale dimensions are lower or equal to this option. Default is 0.1m + ; (ubOde only) + ; MinSizeToMeshmerize = 0.1 [BulletSim] -- cgit v1.1 From 324bda8ab96f4c6b17c221ea73842ca599270c00 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 27 Jul 2017 16:23:08 +0100 Subject: mantis 8218 make Meshmerizer UseMeshiesPhysicsMesh defualt to true, to match stated on ini files. --- bin/OpenSimDefaults.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 164eae6..3747fcf 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -943,7 +943,7 @@ ; Minimum user level required to upload meshes ;LevelUpload = 0 - ; support meshs on physics + ; support meshes on physics ;UseMeshiesPhysicsMesh = true ;support convex shape type on normal prims -- cgit v1.1 From 169a50286bfd113e29623ab6ed88ca66acb842bf Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 29 Jul 2017 00:08:40 +0100 Subject: upload ODE lib for linux. Plz keep previus version in case something goes wrong. Thanks jakdaniels for the compilation --- bin/lib32/libode.so | Bin 4401180 -> 4386269 bytes bin/lib64/libode-x86_64.so | Bin 5802413 -> 5813749 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/libode.so b/bin/lib32/libode.so index 47991ae..35cb027 100755 Binary files a/bin/lib32/libode.so and b/bin/lib32/libode.so differ diff --git a/bin/lib64/libode-x86_64.so b/bin/lib64/libode-x86_64.so index 17502c5..663ff5d 100755 Binary files a/bin/lib64/libode-x86_64.so and b/bin/lib64/libode-x86_64.so differ -- cgit v1.1 From e9b79719291567b92a9d5111b5939df20137469c Mon Sep 17 00:00:00 2001 From: Kevin Cozens Date: Sat, 5 Aug 2017 14:52:56 -0400 Subject: Remove profile from basic configuration --- bin/config-include/GridHypergrid.ini | 3 --- 1 file changed, 3 deletions(-) (limited to 'bin') diff --git a/bin/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini index 68f2eb1..709c462 100644 --- a/bin/config-include/GridHypergrid.ini +++ b/bin/config-include/GridHypergrid.ini @@ -36,9 +36,6 @@ SimulationServiceInConnector = true LibraryModule = true -[Profile] - Module = "BasicProfileModule" - [SimulationDataStore] LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" -- cgit v1.1 From 2afd158b1de8668fe9bf1db46b885fd954c61a24 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Wed, 9 Aug 2017 13:43:44 -0700 Subject: Update BulletSim with Bullet V2.86. Should be no functional changes. --- bin/lib32/BulletSim.dll | Bin 1338880 -> 1483776 bytes bin/lib32/libBulletSim.so | Bin 2312132 -> 2367998 bytes bin/lib64/BulletSim.dll | Bin 1547264 -> 1651712 bytes bin/lib64/libBulletSim.so | Bin 2475617 -> 2535591 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 6d006bf..71e1b16 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index ec29f58..b623929 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 82774a2..85834b0 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index 8b09275..d78fd58 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From 76c29cb106b54bcb8a4c6bdb6f37a80676b17892 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Mon, 14 Aug 2017 18:46:16 -0700 Subject: Update BulletSim with corrected collision computations. A fix for Mantis 8010. --- bin/lib32/BulletSim.dll | Bin 1483776 -> 1483776 bytes bin/lib32/libBulletSim.so | Bin 2367998 -> 2368603 bytes bin/lib64/BulletSim.dll | Bin 1651712 -> 1651712 bytes bin/lib64/libBulletSim.so | Bin 2535591 -> 2536668 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 71e1b16..5c3ccd0 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index b623929..97dd73c 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 85834b0..eea1020 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index d78fd58..3987835 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From bf84e46c59a91e48b39c8d78a2c244acae33829d Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 15 Aug 2017 16:01:56 +0100 Subject: update libode for MAC, thanks again Gavin Hird --- bin/lib32/libode.dylib | Bin 2632228 -> 2490468 bytes bin/lib64/libode.dylib | Bin 2632228 -> 2490468 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/libode.dylib b/bin/lib32/libode.dylib index fa3c070..49e205e 100755 Binary files a/bin/lib32/libode.dylib and b/bin/lib32/libode.dylib differ diff --git a/bin/lib64/libode.dylib b/bin/lib64/libode.dylib index fa3c070..49e205e 100755 Binary files a/bin/lib64/libode.dylib and b/bin/lib64/libode.dylib differ -- cgit v1.1 From c804835801b197421709042645f7fa52d611d974 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 17 Aug 2017 10:33:18 -0700 Subject: BulletSim: Update macOS version of BulletSim with Bullet 2.86 and collision fixes. Thanks Gavin Hird. --- bin/lib32/libBulletSim.dylib | Bin 1439996 -> 2144576 bytes bin/lib64/libBulletSim.dylib | Bin 0 -> 2144576 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100755 bin/lib64/libBulletSim.dylib (limited to 'bin') diff --git a/bin/lib32/libBulletSim.dylib b/bin/lib32/libBulletSim.dylib index b7a42e3..e729a2b 100755 Binary files a/bin/lib32/libBulletSim.dylib and b/bin/lib32/libBulletSim.dylib differ diff --git a/bin/lib64/libBulletSim.dylib b/bin/lib64/libBulletSim.dylib new file mode 100755 index 0000000..e729a2b Binary files /dev/null and b/bin/lib64/libBulletSim.dylib differ -- cgit v1.1 From 2df4c1bb91d4db886c2493f5245fd185c40f2b49 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 17 Aug 2017 17:43:58 -0700 Subject: Replaced libomv dlls with newly compiled ones to solve crashes with pCampBot. See https://github.com/openmetaversefoundation/libopenmetaverse/commit/e8250162cc3b36274c585db0f3ff56087c157c11 --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 28672 bytes bin/OpenMetaverse.StructuredData.dll | Bin 118784 -> 102400 bytes bin/OpenMetaverse.dll | Bin 2404352 -> 2195456 bytes bin/OpenMetaverseTypes.dll | Bin 118784 -> 110592 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index eab5fc7..5d792d7 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 999463d..a81400f 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 83d3946..ba8db16 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 3bb48cf..1d3590e 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 1fdd56f987c02f1f68bf86ffd6e4449f6420bae8 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Fri, 18 Aug 2017 12:44:29 -0700 Subject: BulletSim: Update macOS version of BulletSim with the actual Bullet 2.86. (the last commit was really an update to 2.82). Thanks Gavin Hird. --- bin/lib32/libBulletSim.dylib | Bin 2144576 -> 2234160 bytes bin/lib64/libBulletSim.dylib | Bin 2144576 -> 2234160 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/libBulletSim.dylib b/bin/lib32/libBulletSim.dylib index e729a2b..f8eeedc 100755 Binary files a/bin/lib32/libBulletSim.dylib and b/bin/lib32/libBulletSim.dylib differ diff --git a/bin/lib64/libBulletSim.dylib b/bin/lib64/libBulletSim.dylib index e729a2b..f8eeedc 100755 Binary files a/bin/lib64/libBulletSim.dylib and b/bin/lib64/libBulletSim.dylib differ -- cgit v1.1 From 8434def60352d4b9a894bf1463e5c03ca08dc6ef Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 21 Aug 2017 05:00:18 +0100 Subject: update ODE bins for windows to 0.13.3 ( old ode will now also have stati/dynamic friction, cant avoid it --- bin/lib32/ode.dll | Bin 541696 -> 542208 bytes bin/lib64/ode.dll | Bin 635904 -> 636416 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll index cb4d1a0..6d02b53 100755 Binary files a/bin/lib32/ode.dll and b/bin/lib32/ode.dll differ diff --git a/bin/lib64/ode.dll b/bin/lib64/ode.dll index 050ee46..b8e3414 100755 Binary files a/bin/lib64/ode.dll and b/bin/lib64/ode.dll differ -- cgit v1.1 From e4747b938b75a5529de40f63a02baa2f7a055ce5 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 28 Aug 2017 13:33:37 +0100 Subject: update httpserver --- bin/HttpServer_OpenSim.dll | Bin 120320 -> 120320 bytes bin/HttpServer_OpenSim.pdb | Bin 327168 -> 327168 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 300c25d..f6e3dae 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index 51a5b08..35b15cd 100644 Binary files a/bin/HttpServer_OpenSim.pdb and b/bin/HttpServer_OpenSim.pdb differ -- cgit v1.1 From 41e8b9f91ff73fd4d18aae1e467446563f94c33f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 30 Aug 2017 22:24:07 +0100 Subject: update Prebuild with WhiteCore version --- bin/Prebuild.exe | Bin 234496 -> 237568 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Prebuild.exe b/bin/Prebuild.exe index 05deb1f..e50006f 100755 Binary files a/bin/Prebuild.exe and b/bin/Prebuild.exe differ -- cgit v1.1 From b9fc629bdfd050a7ded26aefec5d3ed3d97ce916 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 31 Aug 2017 11:23:03 +0100 Subject: fix a whitecode bug, add missing files --- bin/Prebuild.exe | Bin 237568 -> 249856 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Prebuild.exe b/bin/Prebuild.exe index e50006f..f18b714 100755 Binary files a/bin/Prebuild.exe and b/bin/Prebuild.exe differ -- cgit v1.1 From a578df95894b31b381afdd457a91599900994e8b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 31 Aug 2017 11:29:00 +0100 Subject: CSharp targets name still wrong --- bin/Prebuild.exe | Bin 249856 -> 249856 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Prebuild.exe b/bin/Prebuild.exe index f18b714..2258d3d 100755 Binary files a/bin/Prebuild.exe and b/bin/Prebuild.exe differ -- cgit v1.1 From 3fe3471532db22eeb0d75c2b0ab56e6d2fc3eea8 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 31 Aug 2017 15:17:42 +0100 Subject: improve Prefer32bit configuration option --- bin/Prebuild.exe | Bin 249856 -> 249856 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Prebuild.exe b/bin/Prebuild.exe index 2258d3d..98da714 100755 Binary files a/bin/Prebuild.exe and b/bin/Prebuild.exe differ -- cgit v1.1 From 34da125a4da25d01c8695437d39fdbaac20084de Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 31 Aug 2017 15:25:14 +0100 Subject: fix our name is OpenSimulator not OpenSim --- bin/Prebuild.exe | Bin 249856 -> 249856 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Prebuild.exe b/bin/Prebuild.exe index 98da714..aeecacc 100755 Binary files a/bin/Prebuild.exe and b/bin/Prebuild.exe differ -- cgit v1.1 From 6c5cfbafbafb18bd1dc0fd0957cef75eefea8248 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 3 Sep 2017 17:14:59 -0700 Subject: BulletSim; Update BulletSim.dll's and so's for raycast. --- bin/lib32/BulletSim.dll | Bin 1483776 -> 1484800 bytes bin/lib32/libBulletSim.so | Bin 2368603 -> 2376133 bytes bin/lib64/BulletSim.dll | Bin 1651712 -> 1653760 bytes bin/lib64/libBulletSim.so | Bin 2536668 -> 2544706 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 5c3ccd0..c7138a4 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index 97dd73c..4fb7e3e 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index eea1020..58fe6b6 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index 3987835..2bf1159 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1 From e08b051ca6d359ad218c1b0238fd13d158358bb5 Mon Sep 17 00:00:00 2001 From: Kevin Cozens Date: Mon, 4 Sep 2017 13:30:16 -0400 Subject: Fixed typos in comments in osslEnable.ini --- bin/config-include/osslEnable.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 5987952..aa7c90b 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -217,10 +217,10 @@ Allow_osTeleportAgent = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osTeleportObject = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -; funtions ThreatLevel Severe with additional internal restrictions + ; ThreatLevel Severe with additional internal restrictions Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable) -; available funtions out of Threat level control (for reference only) +; available functions out of Threat level control (for reference only) ; Allow_osClearInertia = true ; Allow_osCheckODE = true ; Allow_osCollisionSound = true -- cgit v1.1 From e4dfa50654c6d72ab971e98d0dd733e6f3f9e5b2 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 17 Sep 2017 04:43:53 +0100 Subject: replace libomv saving a few op on vector * quaternion --- bin/OpenMetaverseTypes.dll | Bin 110592 -> 110592 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 1d3590e..9294198 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From cc915b4d05124281bc71fb6b5d05416dce6bbfcb Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Wed, 20 Sep 2017 21:02:00 -0700 Subject: BulletSim: update MacOS version of libBulletSim to latest version. See Mantis 8232. Thanks Gavin Hird. --- bin/lib32/libBulletSim.dylib | Bin 2234160 -> 2243876 bytes bin/lib64/libBulletSim.dylib | Bin 2234160 -> 2243876 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/libBulletSim.dylib b/bin/lib32/libBulletSim.dylib index f8eeedc..e4508e6 100755 Binary files a/bin/lib32/libBulletSim.dylib and b/bin/lib32/libBulletSim.dylib differ diff --git a/bin/lib64/libBulletSim.dylib b/bin/lib64/libBulletSim.dylib index f8eeedc..e4508e6 100755 Binary files a/bin/lib64/libBulletSim.dylib and b/bin/lib64/libBulletSim.dylib differ -- cgit v1.1 From 5cc41eee3412a5ad138bd410cc662efae3261c24 Mon Sep 17 00:00:00 2001 From: Kevin Cozens Date: Thu, 26 Oct 2017 13:40:59 -0400 Subject: Sorted the groups of Allow statements by alphabetical order. --- bin/config-include/osslEnable.ini | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index aa7c90b..4b0d3d2 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -77,7 +77,7 @@ Allow_osGetGender = true Allow_osGetHealth = true Allow_osGetHealRate = true - Allow_osGetNPCList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetNPCList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetRezzingObject = true Allow_osNpcGetOwner = ${XEngine|osslNPC} Allow_osParseJSON = true @@ -121,7 +121,7 @@ Allow_osLoadedCreationTime = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osMessageObject = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osRegexIsMatch = true - Allow_osGetAvatarHomeURI = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetAvatarHomeURI = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osNpcSetProfileAbout = ${XEngine|osslNPC} Allow_osNpcSetProfileImage = ${XEngine|osslNPC} Allow_osDie = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER @@ -221,28 +221,28 @@ Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable) ; available functions out of Threat level control (for reference only) -; Allow_osClearInertia = true ; Allow_osCheckODE = true +; Allow_osClearInertia = true ; Allow_osCollisionSound = true ; Allow_osDrawEllipse = true ; Allow_osDrawFilledEllipse = true ; Allow_osDrawFilledPolygon = true ; Allow_osDrawFilledRectangle = true -; Allow_osDrawResetTransform = true -; Allow_osDrawRotationTransform = true -; Allow_osDrawScaleTransform = true -; Allow_osDrawTranslationTransform = true ; Allow_osDrawImage = true ; Allow_osDrawLine = true ; Allow_osDrawPolygon = true ; Allow_osDrawRectangle = true +; Allow_osDrawResetTransform = true +; Allow_osDrawRotationTransform = true +; Allow_osDrawScaleTransform = true ; Allow_osDrawText = true +; Allow_osDrawTranslationTransform = true ; Allow_osGetCurrentSunHour = true -; Allow_osGetPhysicsEngineName = true ; Allow_osGetInertiaData = true ; Allow_osGetInventoryDesc = true ; Allow_osGetLinkNumber = true ; Allow_osGetMapTexture = true +; Allow_osGetPhysicsEngineName = true ; Allow_osGetRegionSize = true ; Allow_osGetSunParam = true ; Allow_osGetTerrainHeight = true @@ -253,12 +253,12 @@ ; Allow_osMax = true ; Allow_osMin = true ; Allow_osMovePen = true +; Allow_osSetFontName = true +; Allow_osSetFontSize = true ; Allow_osSetInertia = true ; Allow_osSetInertiaAsBox = true ; Allow_osSetInertiaAsSphere = true ; Allow_osSetInertiaAsCylinder = true -; Allow_osSetFontName = true -; Allow_osSetFontSize = true ; Allow_osSetPenCap = true ; Allow_osSetPenColor = true ; Allow_osSetPenSize = true -- cgit v1.1 From 70d693eff2553299839f23f840ff7c08363ada3e Mon Sep 17 00:00:00 2001 From: Kevin Cozens Date: Thu, 26 Oct 2017 13:42:54 -0400 Subject: Added missing Allow line for osGetSimulatorMemoryKB. --- bin/config-include/osslEnable.ini | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 4b0d3d2..aed43f0 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -138,6 +138,7 @@ Allow_osGetNumberOfAttachments = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetRegionStats = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetSimulatorMemory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetSimulatorMemoryKB = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osMessageAttachments = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetSpeed = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -- cgit v1.1 From 6a5b234262aaadb5adccdbe775a6057269e8036c Mon Sep 17 00:00:00 2001 From: Kevin Cozens Date: Thu, 26 Oct 2017 13:43:36 -0400 Subject: Fixed typo in a comment. --- bin/OpenSimDefaults.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 3747fcf..bb81c95 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -2047,7 +2047,7 @@ ;MessagingEnabled = true ; Experimental option to only message cached online users rather than all users - ; Should make large group with few online members messaging faster, as the expense of more calls to ROBUST presence service + ; Should make large group with few online members messaging faster, at the expense of more calls to ROBUST presence service ; (Flotsam groups only; in V2 this is always on) MessageOnlineUsersOnly = false -- cgit v1.1 From 8e8108c78c591be904e0ab9fee9642cc19e01073 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 12 Nov 2017 03:16:40 +0000 Subject: change opensim.ini.example mutes coments to express what our current code does --- bin/OpenSim.ini.example | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 05a43f4..658d79c 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -671,14 +671,16 @@ ;; For standalones, this is the storage dll. ; StorageProvider = OpenSim.Data.MySQL.dll - ;# {MuteListModule} {OfflineMessageModule:OfflineMessageModule} {} {} None - ;; Mute list handler (not yet implemented). MUST BE SET to allow offline - ;; messages to work + ; Mute list handler + ; the provided MuteListModule is just a Dummy + ; you will need a external module for proper suport. + ; if you keep both 2 following settings comment, viewers will use mutes in their caches + ; if you uncoment both (url is ignored) the mutes will be deleted at login. + + ;# {MuteListModule} {MuteListModule:MuteListModule} {} {} None ; MuteListModule = MuteListModule - ;# {MuteListURL} {OfflineMessageModule:OfflineMessageModule} {} {} http://yourserver/Mute.php - ;; URL of the web service that serves mute lists. Not currently used, but - ;; must be set to allow offline messaging to work. + ;# {MuteListURL} {MuteListModule:MuteListModule} {} {} http://yourserver/Mute.php ; MuteListURL = http://yourserver/Mute.php ;; Control whether group invites and notices are stored for offline users. -- cgit v1.1 From eaa239eb06e36c8fbcfc8c602a672a949b70a696 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 12 Nov 2017 03:26:10 +0000 Subject: add a warning in opensim.ini.example mute lists, about the fact viewers cache beening shared by all grids, and that can be confusing --- bin/OpenSim.ini.example | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 658d79c..ceded47 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -675,7 +675,9 @@ ; the provided MuteListModule is just a Dummy ; you will need a external module for proper suport. ; if you keep both 2 following settings comment, viewers will use mutes in their caches - ; if you uncoment both (url is ignored) the mutes will be deleted at login. + ; if you uncoment both (url is ignored) the mutes will be deleted at login on this instance regions + ; WARNING: viewers mutes cache seems to shared by all grids, including SL + ; this may cause some confusion. ;# {MuteListModule} {MuteListModule:MuteListModule} {} {} None ; MuteListModule = MuteListModule -- cgit v1.1 From 98f90f4eed231724f1105f19d9bc29cb23b3e5bf Mon Sep 17 00:00:00 2001 From: TomTheDragon Date: Sun, 5 Nov 2017 17:33:13 -0500 Subject: Changing map tile colors This change also allows setting the water color, as well as the 4 colors for textured map tiles. Signed-off-by: UbitUmarov --- bin/OpenSim.ini.example | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index ceded47..14a41b0 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -370,6 +370,21 @@ ;; Attempt to render meshes and sculpties on the map. ; RenderMeshes = false + ;# {MapColorWater} {} {Water color for textured and shaded maps} {"#1D475F"} + ; MapColorWater = "#3399FF" + + ;# {MapColor1} {} {Terrain color 1 for textured maps} {"#A58976"} + ; MapColor1 = "#A58976" + + ;# {MapColor2} {} {Terrain color 2 for textured maps} {"#455931"} + ; MapColor2 = "#455931" + + ;# {MapColor3} {} {Terrain color 3 for textured maps} {"#A29A8D"} + ; MapColor3 = "#A29A8D" + + ;# {MapColor4} {} {Terrain color 4 for textured maps} {"#C8C8C8"} + ; MapColor4 = "#C8C8C8" + [Permissions] ;# {permissionmodules} {} {Permission modules to use (may specify multiple modules, separated by comma} {} DefaultPermissionsModule -- cgit v1.1 From a95e28616842f70bb64bf701c2534d75490e539e Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 11 Dec 2017 23:36:42 +0000 Subject: increase sample rate of WaitGetScenePresence() --- bin/config-include/Standalone.ini | 4 ++++ bin/config-include/StandaloneHypergrid.ini | 4 ++++ 2 files changed, 8 insertions(+) (limited to 'bin') diff --git a/bin/config-include/Standalone.ini b/bin/config-include/Standalone.ini index db7cb36..4e683e2 100644 --- a/bin/config-include/Standalone.ini +++ b/bin/config-include/Standalone.ini @@ -22,6 +22,7 @@ InventoryAccessModule = "BasicInventoryAccessModule" MapImageService = "MapImageServiceModule" SearchModule = "BasicSearchModule" + MuteListService = "LocalMuteListServicesConnector" LibraryModule = true LLLoginServiceInConnector = true @@ -113,6 +114,9 @@ [MapImageService] LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" +[MuteListService] + LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService" + ;; This should always be the very last thing on this file [Includes] Include-Common = "config-include/StandaloneCommon.ini" diff --git a/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini index 84867a9..4f3994f 100644 --- a/bin/config-include/StandaloneHypergrid.ini +++ b/bin/config-include/StandaloneHypergrid.ini @@ -27,6 +27,7 @@ FriendsModule = "HGFriendsModule" UserManagementModule = "HGUserManagementModule" SearchModule = "BasicSearchModule" + MuteListService = "LocalMuteListServicesConnector" InventoryServiceInConnector = true AssetServiceInConnector = true @@ -190,6 +191,9 @@ UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" InGatekeeper = True +[MuteListService] + LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService" + ;; This should always be the very last thing on this file [Includes] Include-Common = "config-include/StandaloneCommon.ini" -- cgit v1.1 From 2811e5cef342aa6799a591ae9fa10ee386e53150 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 4 Jan 2018 21:21:38 +0000 Subject: update configuration files and examples for mutes --- bin/Robust.HG.ini.example | 5 +++++ bin/Robust.ini.example | 5 +++++ bin/config-include/Grid.ini | 3 ++- bin/config-include/GridCommon.ini.example | 3 +++ bin/config-include/GridHypergrid.ini | 3 ++- 5 files changed, 17 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 2cd1897..d96369a 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -102,6 +102,8 @@ ;; Uncomment if you want to have centralized estate data ; EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector" + MuteListConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MuteListServiceConnector" + ;; Additions for Hypergrid GatekeeperServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:GatekeeperServiceInConnector" @@ -807,3 +809,6 @@ LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes" ;; This directory must be writable by the user ROBUST runs as. It will be created automatically. BaseDirectory = "./bakes" + +[MuteListService] + LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 2ebcef7..683f182 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -93,6 +93,8 @@ ;; Uncomment if you want to have centralized estate data ; EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector" + MuteListConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MuteListServiceConnector" + ; * This is common for all services, it's the network setup for the entire ; * server instance, if none is specified above ; * @@ -561,3 +563,6 @@ LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes" ;; This directory must be writable by the user ROBUST runs as. It will be created automatically. BaseDirectory = "./bakes" + +[MuteListService] + LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService" diff --git a/bin/config-include/Grid.ini b/bin/config-include/Grid.ini index 988e681..977a8c5 100644 --- a/bin/config-include/Grid.ini +++ b/bin/config-include/Grid.ini @@ -25,7 +25,8 @@ LandServices = "RemoteLandServicesConnector" MapImageService = "MapImageServiceModule" SearchModule = "BasicSearchModule" - + MuteListService = "RemoteMuteListServicesConnector" + LandServiceInConnector = true NeighbourServiceInConnector = true SimulationServiceInConnector = true diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index 10a5b47..1de7406 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -244,3 +244,6 @@ ;; Capability assigned by the grid administrator for the simulator ;; SimulatorCapability = "00000000-0000-0000-0000-000000000000" + +[MuteListService] + MuteListServerURI = "${Const|BaseURL}:${Const|PrivatePort}" diff --git a/bin/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini index 709c462..9ef78c4 100644 --- a/bin/config-include/GridHypergrid.ini +++ b/bin/config-include/GridHypergrid.ini @@ -30,7 +30,8 @@ MapImageService = "MapImageServiceModule" UserManagementModule = "HGUserManagementModule" SearchModule = "BasicSearchModule" - + MuteListService = "RemoteMuteListServicesConnector" + LandServiceInConnector = true NeighbourServiceInConnector = true SimulationServiceInConnector = true -- cgit v1.1 From 7f49364d659d6b085d43bb642b64b0c1580d307b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 4 Jan 2018 22:52:29 +0000 Subject: remove some tabs added to config files --- bin/Robust.HG.ini.example | 4 ++-- bin/Robust.ini.example | 2 +- bin/config-include/Grid.ini | 2 +- bin/config-include/GridCommon.ini.example | 2 +- bin/config-include/GridHypergrid.ini | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index d96369a..fed9ea2 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -102,8 +102,8 @@ ;; Uncomment if you want to have centralized estate data ; EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector" - MuteListConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MuteListServiceConnector" - + MuteListConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MuteListServiceConnector" + ;; Additions for Hypergrid GatekeeperServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:GatekeeperServiceInConnector" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 683f182..ff00601 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -93,7 +93,7 @@ ;; Uncomment if you want to have centralized estate data ; EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector" - MuteListConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MuteListServiceConnector" + MuteListConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MuteListServiceConnector" ; * This is common for all services, it's the network setup for the entire ; * server instance, if none is specified above diff --git a/bin/config-include/Grid.ini b/bin/config-include/Grid.ini index 977a8c5..7330f6f 100644 --- a/bin/config-include/Grid.ini +++ b/bin/config-include/Grid.ini @@ -25,7 +25,7 @@ LandServices = "RemoteLandServicesConnector" MapImageService = "MapImageServiceModule" SearchModule = "BasicSearchModule" - MuteListService = "RemoteMuteListServicesConnector" + MuteListService = "RemoteMuteListServicesConnector" LandServiceInConnector = true NeighbourServiceInConnector = true diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index 1de7406..aee3d5f 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -246,4 +246,4 @@ ;; SimulatorCapability = "00000000-0000-0000-0000-000000000000" [MuteListService] - MuteListServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + MuteListServerURI = "${Const|BaseURL}:${Const|PrivatePort}" diff --git a/bin/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini index 9ef78c4..78bcd73 100644 --- a/bin/config-include/GridHypergrid.ini +++ b/bin/config-include/GridHypergrid.ini @@ -30,8 +30,8 @@ MapImageService = "MapImageServiceModule" UserManagementModule = "HGUserManagementModule" SearchModule = "BasicSearchModule" - MuteListService = "RemoteMuteListServicesConnector" - + MuteListService = "RemoteMuteListServicesConnector" + LandServiceInConnector = true NeighbourServiceInConnector = true SimulationServiceInConnector = true -- cgit v1.1 From 3c3b8fc7597dfb2816e401a0f8b6a1b26c57ab03 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 12 Jan 2018 03:07:51 +0000 Subject: testing update httpserver.dll to .net4.6 --- bin/HttpServer_OpenSim.dll | Bin 120320 -> 120320 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index f6e3dae..3896899 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ -- cgit v1.1 From 98f79cf7353dda79e235ed76058f8ea990c1f9e1 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 12 Jan 2018 03:12:01 +0000 Subject: testing update XMLRPC.dll to .net4.6, not this is not same source that previus one.. so we may have other issues --- bin/XMLRPC.dll | Bin 40960 -> 25600 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/XMLRPC.dll b/bin/XMLRPC.dll index 1559a73..8d13509 100755 Binary files a/bin/XMLRPC.dll and b/bin/XMLRPC.dll differ -- cgit v1.1 From a3e50ef8dc6212d089d04ea6511a303b2d6aa078 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 12 Jan 2018 03:15:48 +0000 Subject: testing update Warp3d.dll to .net4.6 --- bin/Warp3D.dll | Bin 68608 -> 68608 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Warp3D.dll b/bin/Warp3D.dll index 4c5519d..520e04c 100755 Binary files a/bin/Warp3D.dll and b/bin/Warp3D.dll differ -- cgit v1.1 From 17f2838757020aa9c842c45edd2d66175b52070f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 12 Jan 2018 03:32:55 +0000 Subject: testing update libomv dlls to .net4.6 --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 28672 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 102400 bytes bin/OpenMetaverse.dll | Bin 2195456 -> 2195456 bytes bin/OpenMetaverseTypes.dll | Bin 110592 -> 110592 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 5d792d7..243ab87 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index a81400f..e4f85d9 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index ba8db16..c487549 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 9294198..2bd7ded 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 271fab6ac2282727f2cfe66e0dbf4118bde8b27b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 12 Jan 2018 12:45:46 +0000 Subject: testing update libomv CSj2k dll to .net4.6, remove unused Axiom dll --- bin/Axiom.MathLib.dll | Bin 69632 -> 0 bytes bin/CSJ2K.dll | Bin 502784 -> 483328 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100755 bin/Axiom.MathLib.dll (limited to 'bin') diff --git a/bin/Axiom.MathLib.dll b/bin/Axiom.MathLib.dll deleted file mode 100755 index b00cf1d..0000000 Binary files a/bin/Axiom.MathLib.dll and /dev/null differ diff --git a/bin/CSJ2K.dll b/bin/CSJ2K.dll index 238291f..0ebc259 100755 Binary files a/bin/CSJ2K.dll and b/bin/CSJ2K.dll differ -- cgit v1.1 From 4345d225f12810e6f5c2532e1058cd6b7b5302fb Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 12 Jan 2018 19:19:26 +0000 Subject: remove unused dll - XMLRPC is used not this --- bin/CookComputing.XmlRpcV2.dll | Bin 110592 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 bin/CookComputing.XmlRpcV2.dll (limited to 'bin') diff --git a/bin/CookComputing.XmlRpcV2.dll b/bin/CookComputing.XmlRpcV2.dll deleted file mode 100755 index 4dd869c..0000000 Binary files a/bin/CookComputing.XmlRpcV2.dll and /dev/null differ -- cgit v1.1 From d91c7c5958a9e99fb8c4c2987fe80d97059a850d Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 13 Jan 2018 16:08:44 +0000 Subject: testing update Iconic.Zip.dll to .net4.6 --- bin/Ionic.Zip.dll | Bin 491520 -> 455168 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Ionic.Zip.dll b/bin/Ionic.Zip.dll index e37f1bd..ce50258 100755 Binary files a/bin/Ionic.Zip.dll and b/bin/Ionic.Zip.dll differ -- cgit v1.1 From eafad5a4cb3ac9fac886c349dc349b9fc899db5b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 13 Jan 2018 16:20:59 +0000 Subject: testing update Nini.dll to .net4.6 --- bin/Nini.dll | Bin 56320 -> 57856 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Nini.dll b/bin/Nini.dll index 2d16d95..aa4d431 100755 Binary files a/bin/Nini.dll and b/bin/Nini.dll differ -- cgit v1.1 From e0b695a776ccd8cacbfc461e862d5ac40bd1a4aa Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 13 Jan 2018 18:32:08 +0000 Subject: testing update log4net to version2.0.8 to .net4.6 ( this more likely to smoke --- bin/log4net.dll | Bin 270336 -> 266240 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/log4net.dll b/bin/log4net.dll index ffc57e1..2167221 100755 Binary files a/bin/log4net.dll and b/bin/log4net.dll differ -- cgit v1.1 From 4e8fa27411c62b3ee06e41b366c314c669711b03 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 13 Jan 2018 20:43:09 +0000 Subject: update again libomv that may depend on new log4net and XMLRPC --- bin/CSJ2K.dll | Bin 483328 -> 483328 bytes bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 102400 bytes bin/OpenMetaverseTypes.dll | Bin 110592 -> 106496 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/CSJ2K.dll b/bin/CSJ2K.dll index 0ebc259..8989eba 100755 Binary files a/bin/CSJ2K.dll and b/bin/CSJ2K.dll differ diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 243ab87..2870b01 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index e4f85d9..f18662c 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 2bd7ded..017480a 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 01448d751a27b32efd68cfba209a7853c3ca14fd Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 14 Jan 2018 03:25:59 +0000 Subject: update PrimMesh to lkalif 2013 version, .net4.6 and libomv again --- bin/CSJ2K.dll | Bin 483328 -> 483328 bytes bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 106496 bytes bin/OpenMetaverse.dll | Bin 2195456 -> 2195456 bytes bin/OpenMetaverseTypes.dll | Bin 106496 -> 106496 bytes bin/PrimMesher.dll | Bin 46592 -> 42496 bytes 6 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/CSJ2K.dll b/bin/CSJ2K.dll index 8989eba..85ec8d7 100755 Binary files a/bin/CSJ2K.dll and b/bin/CSJ2K.dll differ diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 2870b01..81482c0 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index f18662c..a0191a9 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index c487549..51cf086 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 017480a..274612b 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ diff --git a/bin/PrimMesher.dll b/bin/PrimMesher.dll index 87022b7..1a96082 100755 Binary files a/bin/PrimMesher.dll and b/bin/PrimMesher.dll differ -- cgit v1.1 From 7a09a10f587a7904dbbc4ac63e81043da9e64cbf Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 15 Jan 2018 15:12:21 +0000 Subject: update PrimMesher to a newer version from dahlia (thx dahlia), targeted .net4.6 --- bin/CSJ2K.dll | Bin 483328 -> 483328 bytes bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 106496 -> 106496 bytes bin/OpenMetaverse.dll | Bin 2195456 -> 2195456 bytes bin/OpenMetaverseTypes.dll | Bin 106496 -> 106496 bytes bin/PrimMesher.dll | Bin 42496 -> 43008 bytes 6 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/CSJ2K.dll b/bin/CSJ2K.dll index 85ec8d7..86dcbb4 100755 Binary files a/bin/CSJ2K.dll and b/bin/CSJ2K.dll differ diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 81482c0..653bbea 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index a0191a9..f038d2a 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 51cf086..4aa5dd9 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 274612b..79d36fc 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ diff --git a/bin/PrimMesher.dll b/bin/PrimMesher.dll index 1a96082..1f7b1b9 100755 Binary files a/bin/PrimMesher.dll and b/bin/PrimMesher.dll differ -- cgit v1.1 From 6f3e538c7910a568f9445fcfb8cde2df908c63a6 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 15 Jan 2018 18:13:56 +0000 Subject: replace Newtonsoft.Json and Zlib.net with target .net4.6 --- bin/Newtonsoft.Json.dll | Bin 498176 -> 59904 bytes bin/Newtonsoft.Json.xml | 8626 --------------------------- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes bin/OpenMetaverse.dll | Bin 2195456 -> 2195456 bytes bin/zlib.net.dll | Bin 65536 -> 65536 bytes 5 files changed, 8626 deletions(-) delete mode 100644 bin/Newtonsoft.Json.xml (limited to 'bin') diff --git a/bin/Newtonsoft.Json.dll b/bin/Newtonsoft.Json.dll index 5931de1..2f28437 100644 Binary files a/bin/Newtonsoft.Json.dll and b/bin/Newtonsoft.Json.dll differ diff --git a/bin/Newtonsoft.Json.xml b/bin/Newtonsoft.Json.xml deleted file mode 100644 index 2a75b44..0000000 --- a/bin/Newtonsoft.Json.xml +++ /dev/null @@ -1,8626 +0,0 @@ - - - - Newtonsoft.Json - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class with the specified . - - - - - Reads the next JSON token from the stream. - - true if the next token was read successfully; false if there are no more tokens to read. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Skips the children of the current token. - - - - - Sets the current token. - - The new token. - - - - Sets the current token and value. - - The new token. - The value. - - - - Sets the state based on current token type. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Changes the to Closed. - - - - - Gets the current reader state. - - The current reader state. - - - - Gets or sets a value indicating whether the underlying stream or - should be closed when the reader is closed. - - - true to close the underlying stream or when - the reader is closed; otherwise false. The default is true. - - - - - Gets or sets a value indicating whether multiple pieces of JSON content can - be read from a continuous stream without erroring. - - - true to support reading multiple pieces of JSON content; otherwise false. The default is false. - - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - Get or set how time zones are handling when reading JSON. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how custom date formatted strings are parsed when reading JSON. - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Gets the type of the current JSON token. - - - - - Gets the text value of the current JSON token. - - - - - Gets The Common Language Runtime (CLR) type for the current JSON token. - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the path of the current JSON token. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Specifies the state of the reader. - - - - - The Read method has not been called. - - - - - The end of the file has been reached successfully. - - - - - Reader is at a property. - - - - - Reader is at the start of an object. - - - - - Reader is in an object. - - - - - Reader is at the start of an array. - - - - - Reader is in an array. - - - - - The Close method has been called. - - - - - Reader has just read a value. - - - - - Reader is at the start of a constructor. - - - - - Reader in a constructor. - - - - - An error occurred that prevents the read operation from continuing. - - - - - The end of the file has been reached successfully. - - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The reader. - - - - Initializes a new instance of the class. - - The stream. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Initializes a new instance of the class. - - The reader. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - - A . This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Changes the to Closed. - - - - - Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. - - - true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. - - - - - Gets or sets a value indicating whether the root object will be read as a JSON array. - - - true if the root object will be read as a JSON array; otherwise, false. - - - - - Gets or sets the used when reading values from BSON. - - The used when reading values from BSON. - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Creates an instance of the JsonWriter class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the end of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the end of an array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end constructor. - - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - - - - Writes the end of the current Json object or array. - - - - - Writes the current token and its children. - - The to read the token from. - - - - Writes the current token. - - The to read the token from. - A flag indicating whether the current token's children should be written. - - - - Writes the specified end token. - - The end token to write. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON without changing the writer's state. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Sets the state of the JsonWriter, - - The JsonToken being written. - The value being written. - - - - Gets or sets a value indicating whether the underlying stream or - should be closed when the writer is closed. - - - true to close the underlying stream or when - the writer is closed; otherwise false. The default is true. - - - - - Gets the top. - - The top. - - - - Gets the state of the writer. - - - - - Gets the path of the writer. - - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling when writing JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written to JSON text. - - - - - Get or set how and values are formatting when writing JSON text. - - - - - Gets or sets the culture used when writing JSON. Defaults to . - - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The writer. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Writes the end. - - The token. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes the beginning of a Json array. - - - - - Writes the beginning of a Json object. - - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Closes this stream and the underlying stream. - - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value that represents a BSON object id. - - The Object ID value to write. - - - - Writes a BSON regex. - - The regex pattern. - The regex options. - - - - Gets or sets the used when writing values to BSON. - When set to no conversion will occur. - - The used when writing values to BSON. - - - - Represents a BSON Oid (object id). - - - - - Initializes a new instance of the class. - - The Oid value. - - - - Gets or sets the value of the Oid. - - The value of the Oid. - - - - Converts a binary value to and from a base 64 string value. - - - - - Converts an object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets the of the JSON produced by the JsonConverter. - - The of the JSON produced by the JsonConverter. - - - - Gets a value indicating whether this can read JSON. - - true if this can read JSON; otherwise, false. - - - - Gets a value indicating whether this can write JSON. - - true if this can write JSON; otherwise, false. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Create a custom object - - The object type to convert. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Creates an object which will then be populated by the serializer. - - Type of the object. - The created object. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Provides a base class for converting a to and from JSON. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a F# discriminated union type to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an Entity Framework EntityKey to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an ExpandoObject to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from its name string value. - - - - - Initializes a new instance of the class. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets or sets a value indicating whether the written enum text should be camel case. - - true if the written enum text will be camel case; otherwise, false. - - - - Gets or sets a value indicating whether integer values are allowed. - - true if integers are allowed; otherwise, false. - - - - Specifies how constructors are used when initializing objects during deserialization by the . - - - - - First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. - - - - - Json.NET will use a non-public default constructor before falling back to a paramatized constructor. - - - - - Converts a to and from a string (e.g. "1.2.3.4"). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Specifies float format handling options when writing special floating point numbers, e.g. , - and with . - - - - - Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". - - - - - Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. - Note that this will produce non-valid JSON. - - - - - Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. - - - - - Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Floating point numbers are parsed to . - - - - - Floating point numbers are parsed to . - - - - - Instructs the how to serialize the collection. - - - - - Instructs the how to serialize the object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets the id. - - The id. - - - - Gets or sets the title. - - The title. - - - - Gets or sets the description. - - The description. - - - - Gets the collection's items converter. - - The collection's items converter. - - - - The parameter list to use when constructing the JsonConverter described by ItemConverterType. - If null, the default constructor is used. - When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number, - order, and type of these parameters. - - - [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] - - - - - Gets or sets a value that indicates whether to preserve object references. - - - true to keep object reference; otherwise, false. The default is false. - - - - - Gets or sets a value that indicates whether to preserve collection's items references. - - - true to keep collection's items object references; otherwise, false. The default is false. - - - - - Gets or sets the reference loop handling used when serializing the collection's items. - - The reference loop handling. - - - - Gets or sets the type name handling used when serializing the collection's items. - - The type name handling. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - The exception thrown when an error occurs during Json serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Specifies how dates are formatted when writing JSON text. - - - - - Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". - - - - - Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". - - - - - Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. - - - - - Date formatted strings are not parsed to a date type and are read as strings. - - - - - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . - - - - - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . - - - - - Specifies how to treat the time value when converting between string and . - - - - - Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. - - - - - Treat as a UTC. If the object represents a local time, it is converted to a UTC. - - - - - Treat as a local time if a is being converted to a string. - If a string is being converted to , convert to a local time if a time zone is specified. - - - - - Time zone information should be preserved when converting. - - - - - Specifies formatting options for the . - - - - - No special formatting is applied. This is the default. - - - - - Causes child objects to be indented according to the and settings. - - - - - Instructs the to use the specified constructor when deserializing that object. - - - - - Instructs the to deserialize properties with no matching class member into the specified collection - and write values during serialization. - - - - - Initializes a new instance of the class. - - - - - Gets or sets a value that indicates whether to write extension data when serializing the object. - - - true to write extension data when serializing the object; otherwise, false. The default is true. - - - - - Gets or sets a value that indicates whether to read extension data when deserializing the object. - - - true to read extension data when deserializing the object; otherwise, false. The default is true. - - - - - Specifies the settings used when merging JSON. - - - - - Gets or sets the method used when merging JSON arrays. - - The method used when merging JSON arrays. - - - - Specifies how JSON arrays are merged together. - - - - Concatenate arrays. - - - Union arrays, skipping items that already exist. - - - Replace all array items. - - - Merge array items together, matched by index. - - - - Specifies metadata property handling options for the . - - - - - Read metadata properties located at the start of a JSON object. - - - - - Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. - - - - - Do not try to read metadata properties. - - - - - Represents a trace writer that writes to the application's instances. - - - - - Represents a trace writer. - - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of Info will exclude Verbose messages and include Info, - Warning and Error messages. - - The that will be used to filter the trace messages passed to the writer. - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of Info will exclude Verbose messages and include Info, - Warning and Error messages. - - - The that will be used to filter the trace messages passed to the writer. - - - - - Get and set values for a using dynamic methods. - - - - - Provides methods to get and set values. - - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Contract details for a used by the . - - - - - Contract details for a used by the . - - - - - Gets the underlying type for the contract. - - The underlying type for the contract. - - - - Gets or sets the type created during deserialization. - - The type created during deserialization. - - - - Gets or sets whether this type contract is serialized as a reference. - - Whether this type contract is serialized as a reference. - - - - Gets or sets the default for this contract. - - The converter. - - - - Gets or sets all methods called immediately after deserialization of the object. - - The methods called immediately after deserialization of the object. - - - - Gets or sets all methods called during deserialization of the object. - - The methods called during deserialization of the object. - - - - Gets or sets all methods called after serialization of the object graph. - - The methods called after serialization of the object graph. - - - - Gets or sets all methods called before serialization of the object. - - The methods called before serialization of the object. - - - - Gets or sets all method called when an error is thrown during the serialization of the object. - - The methods called when an error is thrown during the serialization of the object. - - - - Gets or sets the method called immediately after deserialization of the object. - - The method called immediately after deserialization of the object. - - - - Gets or sets the method called during deserialization of the object. - - The method called during deserialization of the object. - - - - Gets or sets the method called after serialization of the object graph. - - The method called after serialization of the object graph. - - - - Gets or sets the method called before serialization of the object. - - The method called before serialization of the object. - - - - Gets or sets the method called when an error is thrown during the serialization of the object. - - The method called when an error is thrown during the serialization of the object. - - - - Gets or sets the default creator method used to create the object. - - The default creator method used to create the object. - - - - Gets or sets a value indicating whether the default creator is non public. - - true if the default object creator is non-public; otherwise, false. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Gets or sets the default collection items . - - The converter. - - - - Gets or sets a value indicating whether the collection items preserve object references. - - true if collection items preserve object references; otherwise, false. - - - - Gets or sets the collection item reference loop handling. - - The reference loop handling. - - - - Gets or sets the collection item type name handling. - - The type name handling. - - - - Represents a trace writer that writes to memory. When the trace message limit is - reached then old trace messages will be removed as new messages are added. - - - - - Initializes a new instance of the class. - - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Returns an enumeration of the most recent trace messages. - - An enumeration of the most recent trace messages. - - - - Returns a of the most recent trace messages. - - - A of the most recent trace messages. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of Info will exclude Verbose messages and include Info, - Warning and Error messages. - - - The that will be used to filter the trace messages passed to the writer. - - - - - Provides an interface to enable a class to return line and position information. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Gets the current line position. - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Specifies how strings are escaped when writing JSON text. - - - - - Only control characters (e.g. newline) are escaped. - - - - - All non-ASCII and control characters (e.g. newline) are escaped. - - - - - HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. - - - - - Represents a raw JSON string. - - - - - Represents a value in JSON (string, integer, date, etc). - - - - - Represents an abstract JSON token. - - - - - Represents a collection of objects. - - The type of token - - - - Gets the with the specified key. - - - - - - Compares the values of two tokens, including the values of all descendant tokens. - - The first to compare. - The second to compare. - true if the tokens are equal; otherwise false. - - - - Adds the specified content immediately after this token. - - A content object that contains simple content or a collection of content objects to be added after this token. - - - - Adds the specified content immediately before this token. - - A content object that contains simple content or a collection of content objects to be added before this token. - - - - Returns a collection of the ancestor tokens of this token. - - A collection of the ancestor tokens of this token. - - - - Returns a collection of the sibling tokens after this token, in document order. - - A collection of the sibling tokens after this tokens, in document order. - - - - Returns a collection of the sibling tokens before this token, in document order. - - A collection of the sibling tokens before this token, in document order. - - - - Gets the with the specified key converted to the specified type. - - The type to convert the token to. - The token key. - The converted token value. - - - - Returns a collection of the child tokens of this token, in document order. - - An of containing the child tokens of this , in document order. - - - - Returns a collection of the child tokens of this token, in document order, filtered by the specified type. - - The type to filter the child tokens on. - A containing the child tokens of this , in document order. - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - A containing the child values of this , in document order. - - - - Removes this token from its parent. - - - - - Replaces this token with the specified token. - - The value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Returns the indented JSON for this token. - - - The indented JSON for this token. - - - - - Returns the JSON for this token using the given formatting and converters. - - Indicates how the output is formatted. - A collection of which will be used when writing the token. - The JSON for this token using the given formatting and converters. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Creates an for this token. - - An that can be used to read this token and its descendants. - - - - Creates a from an object. - - The object that will be used to create . - A with the value of the specified object - - - - Creates a from an object using the specified . - - The object that will be used to create . - The that will be used when reading the object. - A with the value of the specified object - - - - Creates the specified .NET type from the . - - The object type that the token will be deserialized to. - The new object created from the JSON value. - - - - Creates the specified .NET type from the . - - The object type that the token will be deserialized to. - The new object created from the JSON value. - - - - Creates the specified .NET type from the using the specified . - - The object type that the token will be deserialized to. - The that will be used when creating the object. - The new object created from the JSON value. - - - - Creates the specified .NET type from the using the specified . - - The object type that the token will be deserialized to. - The that will be used when creating the object. - The new object created from the JSON value. - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Selects a using a JPath expression. Selects the token that matches the object path. - - - A that contains a JPath expression. - - A , or null. - - - - Selects a using a JPath expression. Selects the token that matches the object path. - - - A that contains a JPath expression. - - A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. - A . - - - - Selects a collection of elements using a JPath expression. - - - A that contains a JPath expression. - - An that contains the selected elements. - - - - Selects a collection of elements using a JPath expression. - - - A that contains a JPath expression. - - A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. - An that contains the selected elements. - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Creates a new instance of the . All child tokens are recursively cloned. - - A new instance of the . - - - - Gets a comparer that can compare two tokens for value equality. - - A that can compare two nodes for value equality. - - - - Gets or sets the parent. - - The parent. - - - - Gets the root of this . - - The root of this . - - - - Gets the node type for this . - - The type. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Gets the next sibling token of this node. - - The that contains the next sibling token. - - - - Gets the previous sibling token of this node. - - The that contains the previous sibling token. - - - - Gets the path of the JSON token. - - - - - Gets the with the specified key. - - The with the specified key. - - - - Get the first child token of this token. - - A containing the first child token of the . - - - - Get the last child token of this token. - - A containing the last child token of the . - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Creates a comment with the given value. - - The value. - A comment with the given value. - - - - Creates a string with the given value. - - The value. - A string with the given value. - - - - Creates a null value. - - A null value. - - - - Creates a null value. - - A null value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Indicates whether the current object is equal to another object of the same type. - - - true if the current object is equal to the parameter; otherwise, false. - - An object to compare with this object. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - The parameter is null. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format. - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format provider. - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format. - The format provider. - - A that represents this instance. - - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. - - An object to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: - Value - Meaning - Less than zero - This instance is less than . - Zero - This instance is equal to . - Greater than zero - This instance is greater than . - - - is not the same type as this instance. - - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Gets the node type for this . - - The type. - - - - Gets or sets the underlying token value. - - The underlying token value. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class. - - The raw json. - - - - Creates an instance of with the content of the reader's current token. - - The reader. - An instance of with the content of the reader's current token. - - - - Indicating whether a property is required. - - - - - The property is not required. The default state. - - - - - The property must be defined in JSON but can be a null value. - - - - - The property must be defined in JSON and cannot be a null value. - - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Gets the object's properties. - - The object's properties. - - - - Gets or sets the property name resolver. - - The property name resolver. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Gets or sets the ISerializable object constructor. - - The ISerializable object constructor. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Get and set values for a using dynamic methods. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides data for the Error event. - - - - - Initializes a new instance of the class. - - The current object. - The error context. - - - - Gets the current object the error event is being raised against. - - The current object the error event is being raised against. - - - - Gets the error context. - - The error context. - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The name. - - - - When overridden in a derived class, returns whether resetting an object changes its value. - - - true if resetting the component changes its value; otherwise, false. - - The component to test for reset capability. - - - - - When overridden in a derived class, gets the current value of the property on a component. - - - The value of a property for a given component. - - The component with the property for which to retrieve the value. - - - - - When overridden in a derived class, resets the value for this property of the component to the default value. - - The component with the property value that is to be reset to the default value. - - - - - When overridden in a derived class, sets the value of the component to a different value. - - The component with the property value that is to be set. - The new value. - - - - - When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. - - - true if the property should be persisted; otherwise, false. - - The component with the property to be examined for persistence. - - - - - When overridden in a derived class, gets the type of the component this property is bound to. - - - A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. - - - - - When overridden in a derived class, gets a value indicating whether this property is read-only. - - - true if the property is read-only; otherwise, false. - - - - - When overridden in a derived class, gets the type of the property. - - - A that represents the type of the property. - - - - - Gets the hash code for the name of the member. - - - - The hash code for the name of the member. - - - - - Used to resolve references when serializing and deserializing JSON by the . - - - - - Resolves a reference to its object. - - The serialization context. - The reference to resolve. - The object that - - - - Gets the reference for the sepecified object. - - The serialization context. - The object to get a reference for. - The reference to the object. - - - - Determines whether the specified object is referenced. - - The serialization context. - The object to test for a reference. - - true if the specified object is referenced; otherwise, false. - - - - - Adds a reference to the specified object. - - The serialization context. - The reference. - The object to reference. - - - - Specifies reference handling options for the . - Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. - - - - - - - - Do not preserve references when serializing types. - - - - - Preserve references when serializing into a JSON object structure. - - - - - Preserve references when serializing into a JSON array structure. - - - - - Preserve references when serializing. - - - - - Instructs the how to serialize the collection. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a flag indicating whether the array can contain null items - - A flag indicating whether the array can contain null items. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets a value indicating whether null items are allowed in the collection. - - true if null items are allowed in the collection; otherwise, false. - - - - Specifies default value handling options for the . - - - - - - - - - Include members where the member value is the same as the member's default value when serializing objects. - Included members are written to JSON. Has no effect when deserializing. - - - - - Ignore members where the member value is the same as the member's default value when serializing objects - so that is is not written to JSON. - This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, - decimals and floating point numbers; and false for booleans). The default value ignored can be changed by - placing the on the property. - - - - - Members with a default value but no JSON will be set to their default value when deserializing. - - - - - Ignore members where the member value is the same as the member's default value when serializing objects - and sets members to their default value when deserializing. - - - - - Instructs the to use the specified when serializing the member or class. - - - - - Initializes a new instance of the class. - - Type of the converter. - - - - Initializes a new instance of the class. - - Type of the converter. - Parameter list to use when constructing the JsonConverter. Can be null. - - - - Gets the type of the converter. - - The type of the converter. - - - - The parameter list to use when constructing the JsonConverter described by ConverterType. - If null, the default constructor is used. - - - - - Instructs the how to serialize the object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified member serialization. - - The member serialization. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets the member serialization. - - The member serialization. - - - - Gets or sets a value that indicates whether the object's properties are required. - - - A value indicating whether the object's properties are required. - - - - - Specifies the settings on a object. - - - - - Initializes a new instance of the class. - - - - - Gets or sets how reference loops (e.g. a class referencing itself) is handled. - - Reference loop handling. - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - Missing member handling. - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how null values are handled during serialization and deserialization. - - Null value handling. - - - - Gets or sets how null default are handled during serialization and deserialization. - - The default value handling. - - - - Gets or sets a collection that will be used during serialization. - - The converters. - - - - Gets or sets how object references are preserved by the serializer. - - The preserve references handling. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - The type name handling. - - - - Gets or sets how metadata properties are used during deserialization. - - The metadata properties handling. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - The contract resolver. - - - - Gets or sets the used by the serializer when resolving references. - - The reference resolver. - - - - Gets or sets the used by the serializer when writing trace messages. - - The trace writer. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the error handler called during serialization and deserialization. - - The error handler called during serialization and deserialization. - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Get or set how and values are formatting when writing JSON text. - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling during serialization and deserialization. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written as JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Gets a value indicating whether there will be a check for additional content after deserializing an object. - - - true if there will be a check for additional content after deserializing an object; otherwise, false. - - - - - Represents a reader that provides validation. - - - - - Initializes a new instance of the class that - validates the content returned from the given . - - The to read from while validating. - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Sets an event handler for receiving schema validation errors. - - - - - Gets the text value of the current JSON token. - - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the path of the current JSON token. - - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - - Gets the type of the current JSON token. - - - - - - Gets the Common Language Runtime (CLR) type for the current JSON token. - - - - - - Gets or sets the schema. - - The schema. - - - - Gets the used to construct this . - - The specified in the constructor. - - - - Compares tokens to determine whether they are equal. - - - - - Determines whether the specified objects are equal. - - The first object of type to compare. - The second object of type to compare. - - true if the specified objects are equal; otherwise, false. - - - - - Returns a hash code for the specified object. - - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is null. - - - - Specifies the member serialization options for the . - - - - - All public members are serialized by default. Members can be excluded using or . - This is the default member serialization mode. - - - - - Only members must be marked with or are serialized. - This member serialization mode can also be set by marking the class with . - - - - - All public and private fields are serialized. Members can be excluded using or . - This member serialization mode can also be set by marking the class with - and setting IgnoreSerializableAttribute on to false. - - - - - Specifies how object creation is handled by the . - - - - - Reuse existing objects, create new objects when needed. - - - - - Only reuse existing objects. - - - - - Always create new objects. - - - - - Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Gets or sets the date time styles used when converting a date to and from JSON. - - The date time styles used when converting a date to and from JSON. - - - - Gets or sets the date time format used when converting a date to and from JSON. - - The date time format used when converting a date to and from JSON. - - - - Gets or sets the culture used when converting a date to and from JSON. - - The culture used when converting a date to and from JSON. - - - - Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Converts XML to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The calling serializer. - The value. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Checks if the attributeName is a namespace attribute. - - Attribute name to test. - The attribute name prefix if it has one, otherwise an empty string. - True if attribute name is for a namespace attribute, otherwise false. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. - - The name of the deserialize root element. - - - - Gets or sets a flag to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - true if the array attibute is written to the XML; otherwise, false. - - - - Gets or sets a value indicating whether to write the root JSON object. - - true if the JSON root object is omitted; otherwise, false. - - - - Represents a reader that provides fast, non-cached, forward-only access to JSON text data. - - - - - Initializes a new instance of the class with the specified . - - The TextReader containing the XML data to read. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Changes the state to closed. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Gets the current line position. - - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Instructs the to always serialize the member with the specified name. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified name. - - Name of the property. - - - - Gets or sets the converter used when serializing the property's collection items. - - The collection's items converter. - - - - The parameter list to use when constructing the JsonConverter described by ItemConverterType. - If null, the default constructor is used. - When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number, - order, and type of these parameters. - - - [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] - - - - - Gets or sets the null value handling used when serializing this property. - - The null value handling. - - - - Gets or sets the default value handling used when serializing this property. - - The default value handling. - - - - Gets or sets the reference loop handling used when serializing this property. - - The reference loop handling. - - - - Gets or sets the object creation handling used when deserializing this property. - - The object creation handling. - - - - Gets or sets the type name handling used when serializing this property. - - The type name handling. - - - - Gets or sets whether this property's value is serialized as a reference. - - Whether this property's value is serialized as a reference. - - - - Gets or sets the order of serialization and deserialization of a member. - - The numeric order of serialization or deserialization. - - - - Gets or sets a value indicating whether this property is required. - - - A value indicating whether this property is required. - - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets the the reference loop handling used when serializing the property's collection items. - - The collection's items reference loop handling. - - - - Gets or sets the the type name handling used when serializing the property's collection items. - - The collection's items type name handling. - - - - Gets or sets whether this property's collection items are serialized as a reference. - - Whether this property's collection items are serialized as a reference. - - - - Instructs the not to serialize the public field or public read/write property value. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Creates an instance of the JsonWriter class using the specified . - - The TextWriter to write to. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the specified end token. - - The end token to write. - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. - - - - - Gets or sets which character to use to quote attribute values. - - - - - Gets or sets which character to use for indenting when is set to Formatting.Indented. - - - - - Gets or sets a value indicating whether object names will be surrounded with quotes. - - - - - The exception thrown when an error occurs while reading Json text. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - The exception thrown when an error occurs while reading Json text. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Represents a collection of . - - - - - Provides methods for converting between common language runtime types and JSON types. - - - - - - - - Represents JavaScript's boolean value true as a string. This field is read-only. - - - - - Represents JavaScript's boolean value false as a string. This field is read-only. - - - - - Represents JavaScript's null as a string. This field is read-only. - - - - - Represents JavaScript's undefined as a string. This field is read-only. - - - - - Represents JavaScript's positive infinity as a string. This field is read-only. - - - - - Represents JavaScript's negative infinity as a string. This field is read-only. - - - - - Represents JavaScript's NaN as a string. This field is read-only. - - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation using the specified. - - The value to convert. - The format the date will be converted to. - The time zone handling when the date is converted to a string. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation using the specified. - - The value to convert. - The format the date will be converted to. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - The string escape handling. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Serializes the specified object to a JSON string. - - The object to serialize. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using formatting. - - The object to serialize. - Indicates how the output is formatted. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using formatting and a collection of . - - The object to serialize. - Indicates how the output is formatted. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using . - - The object to serialize. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a type, formatting and . - - The object to serialize. - The used to serialize the object. - If this is null, default serialization settings will be used. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using formatting and . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a type, formatting and . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - A JSON string representation of the object. - - - - - Asynchronously serializes the specified object to a JSON string. - Serialization will happen on a new thread. - - The object to serialize. - - A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. - - - - - Asynchronously serializes the specified object to a JSON string using formatting. - Serialization will happen on a new thread. - - The object to serialize. - Indicates how the output is formatted. - - A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. - - - - - Asynchronously serializes the specified object to a JSON string using formatting and a collection of . - Serialization will happen on a new thread. - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. - - - - - Deserializes the JSON to a .NET object. - - The JSON to deserialize. - The deserialized object from the JSON string. - - - - Deserializes the JSON to a .NET object using . - - The JSON to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type. - - The JSON to deserialize. - The of object being deserialized. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type. - - The type of the object to deserialize to. - The JSON to deserialize. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the given anonymous type. - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The JSON to deserialize. - The anonymous type object. - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON to the given anonymous type using . - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The JSON to deserialize. - The anonymous type object. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON to the specified .NET type using a collection of . - - The type of the object to deserialize to. - The JSON to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using . - - The type of the object to deserialize to. - The object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using a collection of . - - The JSON to deserialize. - The type of the object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using . - - The JSON to deserialize. - The type of the object to deserialize to. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Asynchronously deserializes the JSON to the specified .NET type. - Deserialization will happen on a new thread. - - The type of the object to deserialize to. - The JSON to deserialize. - - A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. - - - - - Asynchronously deserializes the JSON to the specified .NET type using . - Deserialization will happen on a new thread. - - The type of the object to deserialize to. - The JSON to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. - - - - - Asynchronously deserializes the JSON to the specified .NET type. - Deserialization will happen on a new thread. - - The JSON to deserialize. - - A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. - - - - - Asynchronously deserializes the JSON to the specified .NET type using . - Deserialization will happen on a new thread. - - The JSON to deserialize. - The type of the object to deserialize to. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. - - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - - - Populates the object with values from the JSON string using . - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - - - Asynchronously populates the object with values from the JSON string using . - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - A task that represents the asynchronous populate operation. - - - - - Serializes the XML node to a JSON string. - - The node to serialize. - A JSON string of the XmlNode. - - - - Serializes the XML node to a JSON string using formatting. - - The node to serialize. - Indicates how the output is formatted. - A JSON string of the XmlNode. - - - - Serializes the XML node to a JSON string using formatting and omits the root object if is true. - - The node to serialize. - Indicates how the output is formatted. - Omits writing the root object. - A JSON string of the XmlNode. - - - - Deserializes the XmlNode from a JSON string. - - The JSON string. - The deserialized XmlNode - - - - Deserializes the XmlNode from a JSON string nested in a root elment specified by . - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XmlNode - - - - Deserializes the XmlNode from a JSON string nested in a root elment specified by - and writes a .NET array attribute for collections. - - The JSON string. - The name of the root element to append when deserializing. - - A flag to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - The deserialized XmlNode - - - - Serializes the to a JSON string. - - The node to convert to JSON. - A JSON string of the XNode. - - - - Serializes the to a JSON string using formatting. - - The node to convert to JSON. - Indicates how the output is formatted. - A JSON string of the XNode. - - - - Serializes the to a JSON string using formatting and omits the root object if is true. - - The node to serialize. - Indicates how the output is formatted. - Omits writing the root object. - A JSON string of the XNode. - - - - Deserializes the from a JSON string. - - The JSON string. - The deserialized XNode - - - - Deserializes the from a JSON string nested in a root elment specified by . - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XNode - - - - Deserializes the from a JSON string nested in a root elment specified by - and writes a .NET array attribute for collections. - - The JSON string. - The name of the root element to append when deserializing. - - A flag to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - The deserialized XNode - - - - Gets or sets a function that creates default . - Default settings are automatically used by serialization methods on , - and and on . - To serialize without using any default settings create a with - . - - - - - The exception thrown when an error occurs during Json serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Serializes and deserializes objects into and from the JSON format. - The enables you to control how objects are encoded into JSON. - - - - - Initializes a new instance of the class. - - - - - Creates a new instance. - The will not use default settings. - - - A new instance. - The will not use default settings. - - - - - Creates a new instance using the specified . - The will not use default settings. - - The settings to be applied to the . - - A new instance using the specified . - The will not use default settings. - - - - - Creates a new instance. - The will use default settings. - - - A new instance. - The will use default settings. - - - - - Creates a new instance using the specified . - The will use default settings. - - The settings to be applied to the . - - A new instance using the specified . - The will use default settings. - - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Deserializes the Json structure contained by the specified . - - The that contains the JSON structure to deserialize. - The being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The type of the object to deserialize. - The instance of being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Serializes the specified and writes the Json structure - to a Stream using the specified . - - The used to write the Json structure. - The to serialize. - - - - Serializes the specified and writes the Json structure - to a Stream using the specified . - - The used to write the Json structure. - The to serialize. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - - - Serializes the specified and writes the Json structure - to a Stream using the specified . - - The used to write the Json structure. - The to serialize. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - - - Serializes the specified and writes the Json structure - to a Stream using the specified . - - The used to write the Json structure. - The to serialize. - - - - Occurs when the errors during serialization and deserialization. - - - - - Gets or sets the used by the serializer when resolving references. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets the used by the serializer when writing trace messages. - - The trace writer. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how object references are preserved by the serializer. - - - - - Get or set how reference loops (e.g. a class referencing itself) is handled. - - - - - Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - - - - Get or set how null values are handled during serialization and deserialization. - - - - - Get or set how null default are handled during serialization and deserialization. - - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets how metadata properties are used during deserialization. - - The metadata properties handling. - - - - Gets a collection that will be used during serialization. - - Collection that will be used during serialization. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling during serialization and deserialization. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written as JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Get or set how and values are formatting when writing JSON text. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. - - - true if there will be a check for additional JSON content after deserializing an object; otherwise, false. - - - - - Contains the LINQ to JSON extension methods. - - - - - Returns a collection of tokens that contains the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the ancestors of every node in the source collection. - - - - Returns a collection of tokens that contains the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the descendants of every node in the source collection. - - - - Returns a collection of child properties of every object in the source collection. - - An of that contains the source collection. - An of that contains the properties of every object in the source collection. - - - - Returns a collection of child values of every object in the source collection with the given key. - - An of that contains the source collection. - The token key. - An of that contains the values of every node in the source collection with the given key. - - - - Returns a collection of child values of every object in the source collection. - - An of that contains the source collection. - An of that contains the values of every node in the source collection. - - - - Returns a collection of converted child values of every object in the source collection with the given key. - - The type to convert the values to. - An of that contains the source collection. - The token key. - An that contains the converted values of every node in the source collection with the given key. - - - - Returns a collection of converted child values of every object in the source collection. - - The type to convert the values to. - An of that contains the source collection. - An that contains the converted values of every node in the source collection. - - - - Converts the value. - - The type to convert the value to. - A cast as a of . - A converted value. - - - - Converts the value. - - The source collection type. - The type to convert the value to. - A cast as a of . - A converted value. - - - - Returns a collection of child tokens of every array in the source collection. - - The source collection type. - An of that contains the source collection. - An of that contains the values of every node in the source collection. - - - - Returns a collection of converted child tokens of every array in the source collection. - - An of that contains the source collection. - The type to convert the values to. - The source collection type. - An that contains the converted values of every node in the source collection. - - - - Returns the input typed as . - - An of that contains the source collection. - The input typed as . - - - - Returns the input typed as . - - The source collection type. - An of that contains the source collection. - The input typed as . - - - - Represents a JSON constructor. - - - - - Represents a token that can contain other tokens. - - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - - A containing the child values of this , in document order. - - - - - Returns a collection of the descendant tokens for this token in document order. - - An containing the descendant tokens of the . - - - - Adds the specified content as children of this . - - The content to be added. - - - - Adds the specified content as the first children of this . - - The content to be added. - - - - Creates an that can be used to add tokens to the . - - An that is ready to have content written to it. - - - - Replaces the children nodes of this token with the specified content. - - The content. - - - - Removes the child nodes from this token. - - - - - Merge the specified content into this . - - The content to be merged. - - - - Merge the specified content into this using . - - The content to be merged. - The used to merge the content. - - - - Occurs when the list changes or an item in the list changes. - - - - - Occurs before an item is added to the collection. - - - - - Occurs when the items list of the collection has changed, or the collection is reset. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Get the first child token of this token. - - - A containing the first child token of the . - - - - - Get the last child token of this token. - - - A containing the last child token of the . - - - - - Gets the count of child JSON tokens. - - The count of child JSON tokens - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name. - - The constructor name. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets or sets the name of this constructor. - - The constructor name. - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Represents a collection of objects. - - The type of token - - - - An empty collection of objects. - - - - - Initializes a new instance of the struct. - - The enumerable. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Gets the with the specified key. - - - - - - Represents a JSON object. - - - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Gets an of this object's properties. - - An of this object's properties. - - - - Gets a the specified name. - - The property name. - A with the specified name or null. - - - - Gets an of this object's property values. - - An of this object's property values. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified property name. - - Name of the property. - The with the specified property name. - - - - Gets the with the specified property name. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - Name of the property. - One of the enumeration values that specifies how the strings will be compared. - The with the specified property name. - - - - Tries to get the with the specified property name. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - Name of the property. - The value. - One of the enumeration values that specifies how the strings will be compared. - true if a value was successfully retrieved; otherwise, false. - - - - Adds the specified property name. - - Name of the property. - The value. - - - - Removes the property with the specified name. - - Name of the property. - true if item was successfully removed; otherwise, false. - - - - Tries the get value. - - Name of the property. - The value. - true if a value was successfully retrieved; otherwise, false. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Returns the properties for this instance of a component. - - - A that represents the properties for this component instance. - - - - - Returns the properties for this instance of a component using the attribute array as a filter. - - An array of type that is used as a filter. - - A that represents the filtered properties for this component instance. - - - - - Returns a collection of custom attributes for this instance of a component. - - - An containing the attributes for this object. - - - - - Returns the class name of this instance of a component. - - - The class name of the object, or null if the class does not have a name. - - - - - Returns the name of this instance of a component. - - - The name of the object, or null if the object does not have a name. - - - - - Returns a type converter for this instance of a component. - - - A that is the converter for this object, or null if there is no for this object. - - - - - Returns the default event for this instance of a component. - - - An that represents the default event for this object, or null if this object does not have events. - - - - - Returns the default property for this instance of a component. - - - A that represents the default property for this object, or null if this object does not have properties. - - - - - Returns an editor of the specified type for this instance of a component. - - A that represents the editor for this object. - - An of the specified type that is the editor for this object, or null if the editor cannot be found. - - - - - Returns the events for this instance of a component using the specified attribute array as a filter. - - An array of type that is used as a filter. - - An that represents the filtered events for this component instance. - - - - - Returns the events for this instance of a component. - - - An that represents the events for this component instance. - - - - - Returns an object that contains the property described by the specified property descriptor. - - A that represents the property whose owner is to be found. - - An that represents the owner of the specified property. - - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Occurs when a property value changes. - - - - - Occurs when a property value is changing. - - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the with the specified property name. - - - - - - Represents a JSON array. - - - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Determines the index of a specific item in the . - - The object to locate in the . - - The index of if found in the list; otherwise, -1. - - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - The is read-only. - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - is not a valid index in the . - The is read-only. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Adds an item to the . - - The object to add to the . - The is read-only. - - - - Removes all items from the . - - The is read-only. - - - - Determines whether the contains a specific value. - - The object to locate in the . - - true if is found in the ; otherwise, false. - - - - - Copies to. - - The array. - Index of the array. - - - - Removes the first occurrence of a specific object from the . - - The object to remove from the . - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - The is read-only. - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the at the specified index. - - - - - - Gets a value indicating whether the is read-only. - - true if the is read-only; otherwise, false. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class. - - The token to read from. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Gets the path of the current JSON token. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Initializes a new instance of the class writing to the given . - - The container being written to. - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end. - - The token. - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Gets the token being writen. - - The token being writen. - - - - Represents a JSON property. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets the property name. - - The property name. - - - - Gets or sets the property value. - - The property value. - - - - Gets the node type for this . - - The type. - - - - Specifies the type of token. - - - - - No token type has been set. - - - - - A JSON object. - - - - - A JSON array. - - - - - A JSON constructor. - - - - - A JSON object property. - - - - - A comment. - - - - - An integer value. - - - - - A float value. - - - - - A string value. - - - - - A boolean value. - - - - - A null value. - - - - - An undefined value. - - - - - A date value. - - - - - A raw JSON value. - - - - - A collection of bytes value. - - - - - A Guid value. - - - - - A Uri value. - - - - - A TimeSpan value. - - - - - Contains the JSON schema extension methods. - - - - - Determines whether the is valid. - - The source to test. - The schema to test with. - - true if the specified is valid; otherwise, false. - - - - - Determines whether the is valid. - - The source to test. - The schema to test with. - When this method returns, contains any error messages generated while validating. - - true if the specified is valid; otherwise, false. - - - - - Validates the specified . - - The source to test. - The schema to test with. - - - - Validates the specified . - - The source to test. - The schema to test with. - The validation event handler. - - - - Returns detailed information about the schema exception. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Resolves from an id. - - - - - Initializes a new instance of the class. - - - - - Gets a for the specified reference. - - The id. - A for the specified reference. - - - - Gets or sets the loaded schemas. - - The loaded schemas. - - - - Specifies undefined schema Id handling options for the . - - - - - Do not infer a schema Id. - - - - - Use the .NET type name as the schema Id. - - - - - Use the assembly qualified .NET type name as the schema Id. - - - - - Returns detailed information related to the . - - - - - Gets the associated with the validation error. - - The JsonSchemaException associated with the validation error. - - - - Gets the path of the JSON location where the validation error occurred. - - The path of the JSON location where the validation error occurred. - - - - Gets the text description corresponding to the validation error. - - The text description. - - - - Represents the callback method that will handle JSON schema validation events and the . - - - - - Resolves member mappings for a type, camel casing property names. - - - - - Used by to resolves a for a given . - - - - - Used by to resolves a for a given . - - - - - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - If set to true the will use a cached shared with other resolvers of the same type. - Sharing the cache will significantly improve performance with multiple resolver instances because expensive reflection will only - happen once. This setting can cause unexpected behavior if different instances of the resolver are suppose to produce different - results. When set to false it is highly recommended to reuse instances with the . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Gets the serializable members for the type. - - The type to get serializable members for. - The serializable members for the type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates the constructor parameters. - - The constructor to create properties for. - The type's member properties. - Properties for the given . - - - - Creates a for the given . - - The matching member property. - The constructor parameter. - A created for the given . - - - - Resolves the default for the contract. - - Type of the object. - The contract's default . - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Determines which contract type is created for the given type. - - Type of the object. - A for the given type. - - - - Creates properties for the given . - - The type to create properties for. - /// The member serialization mode for the type. - Properties for the given . - - - - Creates the used by the serializer to get and set values from a member. - - The member. - The used by the serializer to get and set values from a member. - - - - Creates a for the given . - - The member's parent . - The member to create a for. - A created for the given . - - - - Resolves the name of the property. - - Name of the property. - Name of the property. - - - - Gets the resolved name of the property. - - Name of the property. - Name of the property. - - - - Gets a value indicating whether members are being get and set using dynamic code generation. - This value is determined by the runtime permissions available. - - - true if using dynamic code generation; otherwise, false. - - - - - Gets or sets the default members search flags. - - The default members search flags. - - - - Gets or sets a value indicating whether compiler generated members should be serialized. - - - true if serialized compiler generated members; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. - - - true if the interface will be ignored when serializing and deserializing types; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. - - - true if the attribute will be ignored when serializing and deserializing types; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Resolves the name of the property. - - Name of the property. - The property name camel cased. - - - - The default serialization binder used when resolving and loading classes from type names. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - The type of the object the formatter creates a new instance of. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - The type of the object the formatter creates a new instance of. - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - - - Provides information surrounding an error. - - - - - Gets the error. - - The error. - - - - Gets the original object that caused the error. - - The original object that caused the error. - - - - Gets the member that caused the error. - - The member that caused the error. - - - - Gets the path of the JSON location where the error occurred. - - The path of the JSON location where the error occurred. - - - - Gets or sets a value indicating whether this is handled. - - true if handled; otherwise, false. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Gets the of the collection items. - - The of the collection items. - - - - Gets a value indicating whether the collection type is a multidimensional array. - - true if the collection type is a multidimensional array; otherwise, false. - - - - Handles serialization callback events. - - The object that raised the callback event. - The streaming context. - - - - Handles serialization error callback events. - - The object that raised the callback event. - The streaming context. - The error context. - - - - Sets extension data for an object during deserialization. - - The object to set extension data on. - The extension data key. - The extension data value. - - - - Gets extension data for an object during serialization. - - The object to set extension data on. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Gets or sets the property name resolver. - - The property name resolver. - - - - Gets the of the dictionary keys. - - The of the dictionary keys. - - - - Gets the of the dictionary values. - - The of the dictionary values. - - - - Maps a JSON property to a .NET member or constructor parameter. - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets the type that declared this property. - - The type that declared this property. - - - - Gets or sets the order of serialization and deserialization of a member. - - The numeric order of serialization or deserialization. - - - - Gets or sets the name of the underlying member or parameter. - - The name of the underlying member or parameter. - - - - Gets the that will get and set the during serialization. - - The that will get and set the during serialization. - - - - Gets or sets the type of the property. - - The type of the property. - - - - Gets or sets the for the property. - If set this converter takes presidence over the contract converter for the property type. - - The converter. - - - - Gets or sets the member converter. - - The member converter. - - - - Gets or sets a value indicating whether this is ignored. - - true if ignored; otherwise, false. - - - - Gets or sets a value indicating whether this is readable. - - true if readable; otherwise, false. - - - - Gets or sets a value indicating whether this is writable. - - true if writable; otherwise, false. - - - - Gets or sets a value indicating whether this has a member attribute. - - true if has a member attribute; otherwise, false. - - - - Gets the default value. - - The default value. - - - - Gets or sets a value indicating whether this is required. - - A value indicating whether this is required. - - - - Gets or sets a value indicating whether this property preserves object references. - - - true if this instance is reference; otherwise, false. - - - - - Gets or sets the property null value handling. - - The null value handling. - - - - Gets or sets the property default value handling. - - The default value handling. - - - - Gets or sets the property reference loop handling. - - The reference loop handling. - - - - Gets or sets the property object creation handling. - - The object creation handling. - - - - Gets or sets or sets the type name handling. - - The type name handling. - - - - Gets or sets a predicate used to determine whether the property should be serialize. - - A predicate used to determine whether the property should be serialize. - - - - Gets or sets a predicate used to determine whether the property should be serialized. - - A predicate used to determine whether the property should be serialized. - - - - Gets or sets an action used to set whether the property has been deserialized. - - An action used to set whether the property has been deserialized. - - - - Gets or sets the converter used when serializing the property's collection items. - - The collection's items converter. - - - - Gets or sets whether this property's collection items are serialized as a reference. - - Whether this property's collection items are serialized as a reference. - - - - Gets or sets the the type name handling used when serializing the property's collection items. - - The collection's items type name handling. - - - - Gets or sets the the reference loop handling used when serializing the property's collection items. - - The collection's items reference loop handling. - - - - A collection of objects. - - - - - Initializes a new instance of the class. - - The type. - - - - When implemented in a derived class, extracts the key from the specified element. - - The element from which to extract the key. - The key for the specified element. - - - - Adds a object. - - The property to add to the collection. - - - - Gets the closest matching object. - First attempts to get an exact case match of propertyName and then - a case insensitive match. - - Name of the property. - A matching property if found. - - - - Gets a property by property name. - - The name of the property to get. - Type property name string comparison. - A matching property if found. - - - - Specifies missing member handling options for the . - - - - - Ignore a missing member and do not attempt to deserialize it. - - - - - Throw a when a missing member is encountered during deserialization. - - - - - Specifies null value handling options for the . - - - - - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Specifies reference loop handling options for the . - - - - - Throw a when a loop is encountered. - - - - - Ignore loop references and do not serialize. - - - - - Serialize loop references. - - - - - An in-memory representation of a JSON Schema. - - - - - Initializes a new instance of the class. - - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The object representing the JSON Schema. - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The to use when resolving schema references. - The object representing the JSON Schema. - - - - Load a from a string that contains schema JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Parses the specified json. - - The json. - The resolver. - A populated from the string that contains JSON. - - - - Writes this schema to a . - - A into which this method will write. - - - - Writes this schema to a using the specified . - - A into which this method will write. - The resolver used. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Gets or sets the id. - - - - - Gets or sets the title. - - - - - Gets or sets whether the object is required. - - - - - Gets or sets whether the object is read only. - - - - - Gets or sets whether the object is visible to users. - - - - - Gets or sets whether the object is transient. - - - - - Gets or sets the description of the object. - - - - - Gets or sets the types of values allowed by the object. - - The type. - - - - Gets or sets the pattern. - - The pattern. - - - - Gets or sets the minimum length. - - The minimum length. - - - - Gets or sets the maximum length. - - The maximum length. - - - - Gets or sets a number that the value should be divisble by. - - A number that the value should be divisble by. - - - - Gets or sets the minimum. - - The minimum. - - - - Gets or sets the maximum. - - The maximum. - - - - Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. - - A flag indicating whether the value can not equal the number defined by the "minimum" attribute. - - - - Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. - - A flag indicating whether the value can not equal the number defined by the "maximum" attribute. - - - - Gets or sets the minimum number of items. - - The minimum number of items. - - - - Gets or sets the maximum number of items. - - The maximum number of items. - - - - Gets or sets the of items. - - The of items. - - - - Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . - - - true if items are validated using their array position; otherwise, false. - - - - - Gets or sets the of additional items. - - The of additional items. - - - - Gets or sets a value indicating whether additional items are allowed. - - - true if additional items are allowed; otherwise, false. - - - - - Gets or sets whether the array items must be unique. - - - - - Gets or sets the of properties. - - The of properties. - - - - Gets or sets the of additional properties. - - The of additional properties. - - - - Gets or sets the pattern properties. - - The pattern properties. - - - - Gets or sets a value indicating whether additional properties are allowed. - - - true if additional properties are allowed; otherwise, false. - - - - - Gets or sets the required property if this property is present. - - The required property if this property is present. - - - - Gets or sets the a collection of valid enum values allowed. - - A collection of valid enum values allowed. - - - - Gets or sets disallowed types. - - The disallow types. - - - - Gets or sets the default value. - - The default value. - - - - Gets or sets the collection of that this schema extends. - - The collection of that this schema extends. - - - - Gets or sets the format. - - The format. - - - - Generates a from a specified . - - - - - Generate a from the specified type. - - The type to generate a from. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Gets or sets how undefined schemas are handled by the serializer. - - - - - Gets or sets the contract resolver. - - The contract resolver. - - - - The value types allowed by the . - - - - - No type specified. - - - - - String type. - - - - - Float type. - - - - - Integer type. - - - - - Boolean type. - - - - - Object type. - - - - - Array type. - - - - - Null type. - - - - - Any type. - - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Gets or sets the object member serialization. - - The member object serialization. - - - - Gets or sets a value that indicates whether the object's properties are required. - - - A value indicating whether the object's properties are required. - - - - - Gets the object's properties. - - The object's properties. - - - - Gets the constructor parameters required for any non-default constructor - - - - - Gets a collection of instances that define the parameters used with . - - - - - Gets or sets the override constructor used to create the object. - This is set when a constructor is marked up using the - JsonConstructor attribute. - - The override constructor. - - - - Gets or sets the parametrized constructor used to create the object. - - The parametrized constructor. - - - - Gets or sets the function used to create the object. When set this function will override . - This function is called with a collection of arguments which are defined by the collection. - - The function used to create the object. - - - - Gets or sets the extension data setter. - - - - - Gets or sets the extension data getter. - - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Lookup and create an instance of the JsonConverter type described by the argument. - - The JsonConverter type to create. - Optional arguments to pass to an initializing constructor of the JsonConverter. - If null, the default constructor is used. - - - - Create a factory function that can be used to create instances of a JsonConverter described by the - argument type. The returned function can then be used to either invoke the converter's default ctor, or any - parameterized constructors by way of an object array. - - - - - Get and set values for a using reflection. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - When applied to a method, specifies that the method is called when an error occurs serializing an object. - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic that returns a result - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic, but uses one of the arguments for - the result. - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic, but uses one of the arguments for - the result. - - - - - Returns a Restrictions object which includes our current restrictions merged - with a restriction limiting our type - - - - - Represents a method that constructs an object. - - The object type to create. - - - - Specifies type name handling options for the . - - - - - Do not include the .NET type name when serializing types. - - - - - Include the .NET type name when serializing into a JSON object structure. - - - - - Include the .NET type name when serializing into a JSON array structure. - - - - - Always include the .NET type name when serializing. - - - - - Include the .NET type name when the type of the object being serialized is not the same as its declared type. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert or cast the value to. - - The converted type. If conversion was unsuccessful, the initial value - is returned if assignable to the target type. - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - The enum type to get names and values for. - - - - - Specifies the type of Json token. - - - - - This is returned by the if a method has not been called. - - - - - An object start token. - - - - - An array start token. - - - - - A constructor start token. - - - - - An object property name. - - - - - A comment. - - - - - Raw JSON. - - - - - An integer. - - - - - A float. - - - - - A string. - - - - - A boolean. - - - - - A null token. - - - - - An undefined token. - - - - - An object end token. - - - - - An array end token. - - - - - A constructor end token. - - - - - A Date. - - - - - Byte data. - - - - - Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Adds the elements of the specified collection to the specified generic IList. - - The list to add to. - The collection of elements to add. - - - - Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. - - The type of the elements of source. - A sequence in which to locate a value. - The object to locate in the sequence - An equality comparer to compare values. - The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. - - - - Gets the type of the typed collection's items. - - The type. - The type of the typed collection's items. - - - - Gets the member's underlying type. - - The member. - The underlying type of the member. - - - - Determines whether the member is an indexed property. - - The member. - - true if the member is an indexed property; otherwise, false. - - - - - Determines whether the property is an indexed property. - - The property. - - true if the property is an indexed property; otherwise, false. - - - - - Gets the member's value on the object. - - The member. - The target object. - The member's value on the object. - - - - Sets the member's value on the target object. - - The member. - The target. - The value. - - - - Determines whether the specified MemberInfo can be read. - - The MemberInfo to determine whether can be read. - /// if set to true then allow the member to be gotten non-publicly. - - true if the specified MemberInfo can be read; otherwise, false. - - - - - Determines whether the specified MemberInfo can be set. - - The MemberInfo to determine whether can be set. - if set to true then allow the member to be set non-publicly. - if set to true then allow the member to be set if read-only. - - true if the specified MemberInfo can be set; otherwise, false. - - - - - Determines whether the string is all white space. Empty string will return false. - - The string to test whether it is all white space. - - true if the string is all white space; otherwise, false. - - - - - Nulls an empty string. - - The string. - Null if the string was null, otherwise the string unchanged. - - - - Specifies the state of the . - - - - - An exception has been thrown, which has left the in an invalid state. - You may call the method to put the in the Closed state. - Any other method calls results in an being thrown. - - - - - The method has been called. - - - - - An object is being written. - - - - - A array is being written. - - - - - A constructor is being written. - - - - - A property is being written. - - - - - A write method has not been called. - - - - diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 653bbea..79650a1 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 4aa5dd9..84e5546 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/zlib.net.dll b/bin/zlib.net.dll index 9d15654..1ce10af 100755 Binary files a/bin/zlib.net.dll and b/bin/zlib.net.dll differ -- cgit v1.1 From 49848b09e6e55d37269d1461159afccb2744b018 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 16 Jan 2018 00:44:51 +0000 Subject: replace ICSharpCode.SharpZipLib with target .net4.6 --- bin/CSJ2K.dll | Bin 483328 -> 483328 bytes bin/ICSharpCode.SharpZipLib.dll | Bin 200704 -> 192512 bytes bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 106496 -> 106496 bytes bin/OpenMetaverse.dll | Bin 2195456 -> 2195456 bytes bin/OpenMetaverseTypes.dll | Bin 106496 -> 106496 bytes 6 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/CSJ2K.dll b/bin/CSJ2K.dll index 86dcbb4..88347fc 100755 Binary files a/bin/CSJ2K.dll and b/bin/CSJ2K.dll differ diff --git a/bin/ICSharpCode.SharpZipLib.dll b/bin/ICSharpCode.SharpZipLib.dll index fe643eb..3b268b7 100644 Binary files a/bin/ICSharpCode.SharpZipLib.dll and b/bin/ICSharpCode.SharpZipLib.dll differ diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 79650a1..f047f58 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index f038d2a..62aecd4 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 84e5546..64f79c2 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 79d36fc..135b5b0 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 8f1a68633ef7b39dc5cc7ce996241144b08664c1 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 16 Jan 2018 01:44:16 +0000 Subject: update lsl2c tools and parsing files. This may fix some issues with precendence of unary operators in same case, hope not break on others :( --- bin/Tools.dll | Bin 153088 -> 162304 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Tools.dll b/bin/Tools.dll index 08dcf42..2c9079c 100755 Binary files a/bin/Tools.dll and b/bin/Tools.dll differ -- cgit v1.1 From 5579144c16429e13469974df96c8fdeede993d09 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 16 Jan 2018 23:37:16 +0000 Subject: update mono.Addins to version 1.3.7(.net4.6) --- bin/Mono.Addins.CecilReflector.dll | Bin 225280 -> 17920 bytes bin/Mono.Addins.Setup.dll | Bin 126464 -> 126464 bytes bin/Mono.Addins.Setup.xml | 1140 ------- bin/Mono.Addins.dll | Bin 232960 -> 233984 bytes bin/Mono.Addins.xml | 6120 ------------------------------------ bin/mautil.exe | Bin 7680 -> 7680 bytes 6 files changed, 7260 deletions(-) delete mode 100644 bin/Mono.Addins.Setup.xml delete mode 100644 bin/Mono.Addins.xml (limited to 'bin') diff --git a/bin/Mono.Addins.CecilReflector.dll b/bin/Mono.Addins.CecilReflector.dll index bbda91d..1d4165a 100755 Binary files a/bin/Mono.Addins.CecilReflector.dll and b/bin/Mono.Addins.CecilReflector.dll differ diff --git a/bin/Mono.Addins.Setup.dll b/bin/Mono.Addins.Setup.dll index 68c3121..62c71ae 100755 Binary files a/bin/Mono.Addins.Setup.dll and b/bin/Mono.Addins.Setup.dll differ diff --git a/bin/Mono.Addins.Setup.xml b/bin/Mono.Addins.Setup.xml deleted file mode 100644 index f5ce70a..0000000 --- a/bin/Mono.Addins.Setup.xml +++ /dev/null @@ -1,1140 +0,0 @@ - - - - Mono.Addins.Setup - - - - - An IAddinInstaller implementation which interacts with the user through the console - - - - - Initializes a new instance of the class. - - - - - Gets or sets whether the installer can ask questions to the user - - - - - Log level (0:normal, 1+:verbose); - - - - - An add-in package - - - - - Creates a package object for an add-in available in an on-line repository - - - An add-in reference - - - The package - - - - - Creates a package object for a local package file - - - Package file path - - - The package - - - - - Name of the package - - - - - Returns true if the package will be installed in the shared directory, - false if it will be installed in the user directory. - - - - - A reference to an add-in available in an on-line repository - - - - - Begins downloading a support file - - - Result of the asynchronous operation, to be used when calling EndDownloadSupportFile to - get the download result. - - - Name of the file. - - - Callback to be called when the download operation ends. - - - Custom state object provided by the caller. - - - This method can be used to get the contents of a support file of an add-in. - A support file is a file referenced in the custom properties of an add-in. - - - - - Gets the result of the asynchronous download of a file - - - The downloaded file. - - - The async result object returned by BeginDownloadSupportFile. - - - - - Add-in information - - - - - Url to the add-in package - - - - - The URL of the repository - - - - - Name of the repository - - - - - An installation exception - - - - - Initializes the exception - - - Error message - - - - - Initializes the exception - - - Error message - - - Inner exception - - - - - A command line add-in manager. - - - This class can be used to provide an add-in management command line tool to applications. - - - - - Creates a new instance - - - Add-in registry to manage. - - - - - Runs the command line tool. - - - Array that contains the command line arguments - - - Index of the arguments array that has the first argument for the management tool - - - 0 if it succeeds. != 0 otherwise - - - - - Runs the command line tool. - - - Command line arguments - - - 0 if it succeeds. != 0 otherwise - - - - - Adds a custom command to the add-in manager - - - Category under which the command has to be shown in the help text - - - Name of the command - - - Short name of the command (it's an alias of the normal name) - - - Formal description of the arguments that the command accepts. For example: "[addin-id|addin-file] [--xml] [--all] [--full] [--namespace <namespace>]" - - - Short description of the command - - - Long description of the command - - - Delegate to be invoked to run the command - - - - - Prints help about the add-in management tool, or about a specific command - - - Optional command name and arguments - - - - - Display name of the host application - - - - - Default add-in namespace of the application (optional). If set, only add-ins that belong to that namespace - will be shown in add-in lists. - - - - - Enables or disables verbose output - - - - - Sets or gets the verbose output level (0: normal output, 1:verbose, 2+:extra verbose) - - - - - A command handler - - - - - A collection of packages - - - - - Initializes a new instance of the class. - - - - - Copy constructor - - - Collection where to copy from - - - - - Adds a package - - - A package - - - - - Checks if a package is present in the collection - - - The package - - - True if the package is preent - - - - - Adds a list of packages to the collection - - - The list of packages to add - - - - - Gets a package - - - Package index - - - - - Basic add-in information - - - - - Compares the versions of two add-ins - - - Another add-in - - - Result of comparison - - - - - Full identifier of the add-in - - - - - Display name of the add-in - - - - - Namespace of the add-in - - - - - Version of the add-in - - - - - Version with which this add-in is compatible - - - - - Add-in author - - - - - Add-in copyright - - - - - Web page URL with more information about the add-in - - - - - Description of the add-in - - - - - Category of the add-in - - - - - Dependencies of the add-in - - - - - Optional dependencies of the add-in - - - - - Custom properties specified in the add-in header - - - - - A registry of on-line repositories - - - This class can be used to manage on-line repository subscriptions. - - - - - Subscribes to an on-line repository - - - Progress monitor where to show progress status and log - - - URL of the repository - - - A repository reference - - - The repository index is not downloaded by default. It can be downloaded - by calling UpdateRepository. - - - - - Subscribes to an on-line repository - - - Progress monitor where to show progress status and log - - - URL of the repository - - - When set to True, the repository index will be downloaded. - - - A repository reference - - - - - Removes an on-line repository subscription. - - - URL of the repository. - - - - - Enables or disables a repository - - - URL of the repository - - - 'true' if the repository has to be enabled. - - - Disabled repositories are ignored when calling UpdateAllRepositories. - - - - - Checks if a repository is already subscribed. - - - URL of the repository - - - True if the repository is already subscribed. - - - - - Gets a list of subscribed repositories - - - A list of repositories. - - - - - Updates the add-in index of all subscribed repositories. - - - Progress monitor where to show progress status and log - - - - - Updates the add-in index of the provided repository - - - Progress monitor where to show progress status and log - - - URL of the repository - - - - - Gets a list of available add-in updates. - - - A list of add-in references. - - - The list is generated by looking at the add-ins currently installed and checking if there is any - add-in with a newer version number in any of the subscribed repositories. This method uses cached - information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories - before using this method to ensure that the latest information is available. - - - - - Gets a list of available add-in updates. - - - Search flags - - - A list of add-in references. - - - The list is generated by looking at the add-ins currently installed and checking if there is any - add-in with a newer version number in any of the subscribed repositories. This method uses cached - information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories - before using this method to ensure that the latest information is available. - - - - - Gets a list of available add-in updates in a specific repository. - - - The repository URL - - - A list of add-in references. - - - The list is generated by looking at the add-ins currently installed and checking if there is any - add-in with a newer version number in the provided repository. This method uses cached - information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories - before using this method to ensure that the latest information is available. - - - - - Gets a list of available updates for an add-in. - - - Identifier of the add-in. - - - List of updates for the specified add-in. - - - The list is generated by checking if there is any - add-in with a newer version number in any of the subscribed repositories. This method uses cached - information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories - before using this method to ensure that the latest information is available. - - - - - Gets a list of available updates for an add-in. - - - Identifier of the add-in. - - - Search flags. - - - List of updates for the specified add-in. - - - The list is generated by checking if there is any - add-in with a newer version number in any of the subscribed repositories. This method uses cached - information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories - before using this method to ensure that the latest information is available. - - - - - Gets a list of available updates for an add-in in a specific repository - - - Identifier of the add-in. - - - Identifier of the add-in. - - - List of updates for the specified add-in. - - - The list is generated by checking if there is any - add-in with a newer version number in the provided repository. This method uses cached - information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories - before using this method to ensure that the latest information is available. - - - - - Gets a list of available updates for an add-in in a specific repository - - - Identifier of the add-in. - - - Identifier of the add-in. - - - Search flags. - - - List of updates for the specified add-in. - - - The list is generated by checking if there is any - add-in with a newer version number in the provided repository. This method uses cached - information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories - before using this method to ensure that the latest information is available. - - - - - Gets a list of all available add-ins - - - A list of add-ins - - - This method uses cached - information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories - before using this method to ensure that the latest information is available. - - - - - Gets a list of all available add-ins - - - The available addins. - - - Search flags. - - - This method uses cached - information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories - before using this method to ensure that the latest information is available. - - - - - Gets a list of all available add-ins in a repository - - - A repository URL - - - A list of add-ins - - - This method uses cached - information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories - before using this method to ensure that the latest information is available. - - - - - Gets a list of all available add-ins in a repository - - - A repository URL - - - Search flags. - - - A list of add-ins - - - This method uses cached - information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories - before using this method to ensure that the latest information is available. - - - - - Checks if an add-in is available to be installed - - - Identifier of the add-in - - - Version of the add-in (optional, it can be null) - - - A list of add-ins - - - List of references to add-ins available in on-line repositories. This method uses cached - information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories - before using this method to ensure that the latest information is available. - - - - - Checks if an add-in is available to be installed from a repository - - - A repository URL - - - Identifier of the add-in - - - Version of the add-in (optional, it can be null) - - - A list of add-ins - - - List of references to add-ins available in the repository. This method uses cached - information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories - before using this method to ensure that the latest information is available. - - - - - Repository search flags. - - - - - No special search options - - - - - Only the latest version of every add-in is included in the search - - - - - An on-line add-in repository - - - - - Path to the cached add-in repository file - - - - - Url of the repository - - - - - Do not use. Use Title instead. - - - - - Title of the repository - - - - - Last change timestamp - - - - - Gets a value indicating whether this is enabled. - - - true if enabled; otherwise, false. - - - - - Helper for making web requests with support for authenticated proxies. - - - - - Sets a custom request handler that can handle requests for authenticated proxy servers. - - The custom request handler. - - - - Gets the web response, using the request handler to handle proxy authentication - if necessary. - - The response. - Callback for creating the request. - Callback for preparing the request, e.g. writing the request stream. - Cancellation token. - - Keeps sending requests until a response code that doesn't require authentication happens or if the request - requires authentication and the user has stopped trying to enter them (i.e. they hit cancel when they are prompted). - - - - - Gets the web response, using the request handler to handle proxy authentication - if necessary. - - The response. - Callback for creating the request. - Callback for preparing the request, e.g. writing the request stream. - Cancellation token. - - Keeps sending requests until a response code that doesn't require authentication happens or if the request - requires authentication and the user has stopped trying to enter them (i.e. they hit cancel when they are prompted). - - - - - Determines whether an error code is likely to have been caused by internet reachability problems. - - - - - Provides tools for managing add-ins - - - This class can be used to manage the add-ins of an application. It allows installing and uninstalling - add-ins, taking into account add-in dependencies. It provides methods for installing add-ins from on-line - repositories and tools for generating those repositories. - - - - - Initializes a new instance - - - If the add-in manager is initialized (AddinManager.Initialize has been called), then this instance - will manage the add-in registry of the initialized engine. - - - - - Initializes a new instance - - - Add-in registry to manage - - - - - Resolves add-in dependencies. - - - Progress monitor where to show progress status - - - List of add-ins to check - - - Packages that need to be installed. - - - Packages that need to be uninstalled. - - - Add-in dependencies that could not be resolved. - - - True if all dependencies could be resolved. - - - This method can be used to get a list of all packages that have to be installed in order to install - an add-in or set of add-ins. The list of packages to install will include the package that provides the - add-in, and all packages that provide the add-in dependencies. In some cases, packages may need to - be installed (for example, when an installed add-in needs to be upgraded). - - - - - Resolves add-in dependencies. - - - Progress monitor where to show progress status - - - Packages that need to be installed. - - - Packages that need to be uninstalled. - - - Add-in dependencies that could not be resolved. - - - True if all dependencies could be resolved. - - - This method can be used to get a list of all packages that have to be installed in order to satisfy - the dependencies of a package or set of packages. The 'packages' argument must have the list of packages - to be resolved. When resolving dependencies, if there is any additional package that needs to be installed, - it will be added to the same 'packages' collection. In some cases, packages may need to - be installed (for example, when an installed add-in needs to be upgraded). Those packages will be added - to the 'toUninstall' collection. Packages that could not be resolved are added to the 'unresolved' - collection. - - - - - Installs add-in packages - - - Progress monitor where to show progress status - - - Paths to the packages to install - - - True if the installation succeeded - - - - - Installs add-in packages from on-line repositories - - - Progress monitor where to show progress status - - - References to the add-ins to be installed - - - True if the installation succeeded - - - - - Installs add-in packages - - - Progress monitor where to show progress status - - - Packages to install - - - True if the installation succeeded - - - - - Uninstalls an add-in. - - - Progress monitor where to show progress status - - - Full identifier of the add-in to uninstall. - - - - - Uninstalls a set of add-ins - - - Progress monitor where to show progress status - - - Full identifiers of the add-ins to uninstall. - - - - - Gets information about an add-in - - - The add-in - - - Add-in header data - - - - - Gets a list of add-ins which depend on an add-in - - - Full identifier of an add-in. - - - When set to True, dependencies will be gathered recursivelly - - - List of dependent add-ins. - - - This methods returns a list of add-ins which have the add-in identified by 'id' as a direct - (or indirect if recursive=True) dependency. - - - - - Packages an add-in - - - Progress monitor where to show progress status - - - Directory where to generate the package - - - Paths to the add-ins to be packaged. Paths can be either the main assembly of an add-in, or an add-in - manifest (.addin or .addin.xml). - - - This method can be used to create a package for an add-in, which can then be pushed to an on-line - repository. The package will include the main assembly or manifest of the add-in and any external - file declared in the add-in metadata. - - - - - Generates an on-line repository - - - Progress monitor where to show progress status - - - Path to the directory that contains the add-ins and that is going to be published - - - This method generates the index files required to publish a directory as an online repository - of add-ins. - - - - - Gets a reference to an extensible application - - - Name of the application - - - The Application object. Null if not found. - - - - - Gets a reference to an extensible application - - - Name of the application - - - Custom paths where to look for the application. - - - The Application object. Null if not found. - - - - - Gets a lis of all known extensible applications - - - A list of applications. - - - - - Gets a lis of all known extensible applications - - - Custom paths where to look for applications. - - - A list of applications. - - - - - The add-in registry being managed - - - - - Default add-in namespace of the application (optional). If set, only add-ins that belong to that namespace - will be shown in add-in lists. - - - - - Directory where to install add-ins. If not specified, the 'addins' subdirectory of the - registry location is used. - - - - - Returns a RepositoryRegistry which can be used to manage on-line repository references - - - - - A registered extensible application - - - - - Add-in registry of the application - - - - - Description of the application - - - - - Name of the application - - - - - Path to the add-in registry - - - - - Path to the directory that contains the main executable assembly of the application - - - - - Command to be used to execute the application in add-in development mode. - - - - - Path to the default add-ins directory for the aplpication - - - - - Path to the add-in cache for the application - - - - diff --git a/bin/Mono.Addins.dll b/bin/Mono.Addins.dll index 969909e..2f9f07e 100755 Binary files a/bin/Mono.Addins.dll and b/bin/Mono.Addins.dll differ diff --git a/bin/Mono.Addins.xml b/bin/Mono.Addins.xml deleted file mode 100644 index b9bdd4c..0000000 --- a/bin/Mono.Addins.xml +++ /dev/null @@ -1,6120 +0,0 @@ - - - - Mono.Addins - - - - - An add-in localizer. - - - Add-in localizers which want to provide support for localization of plural forms - can additionally implement . - - - - - Gets a localized message. - - - The localized message. - - - The message identifier. - - - - - A collection of extension nodes - - - - - Base class for add-in description collections. - - - - - Base class for add-in description collections. - - - - - Initializes a new instance of the class. - - - - - Add an object. - - - The object. - - - - - Adds a collection of objects. - - - The objects to add. - - - - - Insert an object. - - - Insertion index. - - - The object. - - - - - Removes an object. - - - Object to remove. - - - - - Checks if an object is present in the collection. - - - Objecect to check. - - - - - A collection of NodeElement objects - - - - - Gets the at the specified index - - - Index - - - - - Initializes a new instance of the class. - - - - - Gets the at the specified index. - - - The index. - - - - - Gets the with the specified identifier. - - - Identifier. - - - - - Declares an extension point. - - - - - Initializes a new instance - - - - - Initializes a new instance - - - Extension path that identifies the extension point - - - - - Initializes a new instance - - - Extension path that identifies the extension point - - - Type of the extension node to be created for extensions - - - - - Initializes a new instance - - - Extension path that identifies the extension point - - - Element name to be used when defining an extension in an XML manifest. - - - Type of the extension node to be created for extensions - - - - - Extension path that identifies the extension point - - - - - Long description of the extension point. - - - - - Type of the extension node to be created for extensions - - - - - Expected extension object type (when nodes are of type TypeExtensionNode) - - - - - Element name to be used when defining an extension in an XML manifest. The default name is "Type". - - - - - Display name of the extension point. - - - - - Type of the custom attribute to be used to specify metadata for the extension point - - - - - Addin URL attribute. - - - - - Initializes the attribute - - - Url of the add-in - - - - - Url of the add-in - - - - - Declares allowed children of an extension node type. - - - This attribute allows declaring the type of children that an extension node can have. - - - - - Initializes a new instance - - - Name of the allowed child extension node. - - - - - Initializes a new instance - - - Type of the allowed child extension node. - - - - - Initializes a new instance - - - Type of the allowed child extension node. - - - Name of the allowed child extension node. - - - - - Name of the allowed child extension node. - - - - - Type of the allowed child extension node. - - - - - Provides access to add-in and extension model management operations. - - - - - Initializes the add-in engine. - - - The add-in engine needs to be initialized before doing any add-in operation. - When initialized with this method, it will look for add-ins in the global add-in registry. - - - - - Initializes the add-in engine. - - - Location of the add-in registry. - - - The add-in engine needs to be initialized before doing any add-in operation. - Configuration information about the add-in registry will be stored in the - provided location. The add-in engine will look for add-ins in an 'addins' - subdirectory of the provided directory. - - When specifying a path, it is possible to use a special folder name as root. - For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced - by the location of the Environment.SpecialFolder.Personal folder. Any value - of the Environment.SpecialFolder enumeration can be used (always between square - brackets) - - - - - Initializes the add-in engine. - - - Location of the add-in registry. - - - Add-ins directory. If the path is relative, it is considered to be relative - to the configDir directory. - - - The add-in engine needs to be initialized before doing any add-in operation. - Configuration information about the add-in registry will be stored in the - provided location. The add-in engine will look for add-ins in the provided - 'addinsDir' directory. - - When specifying a path, it is possible to use a special folder name as root. - For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced - by the location of the Environment.SpecialFolder.Personal folder. Any value - of the Environment.SpecialFolder enumeration can be used (always between square - brackets) - - - - - Initializes the add-in engine. - - - Location of the add-in registry. - - - Add-ins directory. If the path is relative, it is considered to be relative - to the configDir directory. - - - Location of the add-in database. If the path is relative, it is considered to be relative - to the configDir directory. - - - The add-in engine needs to be initialized before doing any add-in operation. - Configuration information about the add-in registry will be stored in the - provided location. The add-in engine will look for add-ins in the provided - 'addinsDir' directory. Cached information about add-ins will be stored in - the 'databaseDir' directory. - - When specifying a path, it is possible to use a special folder name as root. - For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced - by the location of the Environment.SpecialFolder.Personal folder. Any value - of the Environment.SpecialFolder enumeration can be used (always between square - brackets) - - - - - Finalizes an add-in engine. - - - - - Sets the default localizer to be used for this add-in engine - - - The add-in localizer - - - - - Checks if the provided add-ins are installed, and requests the installation of those - which aren't. - - - Message to show to the user when new add-ins have to be installed. - - - List of IDs of the add-ins to be checked. - - - This method checks if the specified add-ins are installed. - If some of the add-ins are not installed, it will use - the installer assigned to the DefaultAddinInstaller property - to install them. If the installation fails, or if DefaultAddinInstaller - is not set, an exception will be thrown. - - - - - Checks if an add-in has been loaded. - - - Full identifier of the add-in. - - - True if the add-in is loaded. - - - - - Forces the loading of an add-in. - - - Status monitor to keep track of the loading process. - - - Full identifier of the add-in to load. - - - This method loads all assemblies that belong to an add-in in memory. - All add-ins on which the specified add-in depends will also be loaded. - Notice that in general add-ins don't need to be explicitely loaded using - this method, since the add-in engine will load them on demand. - - - - - Creates a new extension context. - - - The new extension context. - - - Extension contexts can be used to query the extension model using particular condition values. - - - - - Returns the extension node in a path - - - Location of the node. - - - The node, or null if not found. - - - - - Returns the extension node in a path - - - Location of the node. - - - The node, or null if not found. - - - - - Gets extension nodes registered in a path. - - - An extension path.> - - - All nodes registered in the provided path. - - - - - Gets extension nodes registered in a path. - - - An extension path. - - - Expected node type. - - - A list of nodes - - - This method returns all nodes registered under the provided path. - It will throw a InvalidOperationException if the type of one of - the registered nodes is not assignable to the provided type. - - - - - Gets extension nodes registered in a path. - - - An extension path. - - - A list of nodes - - - This method returns all nodes registered under the provided path. - It will throw a InvalidOperationException if the type of one of - the registered nodes is not assignable to the provided type. - - - - - Gets extension nodes for a type extension point - - - Type defining the extension point - - - A list of nodes - - - This method returns all extension nodes bound to the provided type. - - - - - Gets extension nodes for a type extension point - - - Type defining the extension point - - - Expected extension node type - - - A list of nodes - - - This method returns all nodes registered for the provided type. - It will throw a InvalidOperationException if the type of one of - the registered nodes is not assignable to the provided node type. - - - - - Gets extension nodes for a type extension point - - - Type defining the extension point - - - A list of nodes - - - This method returns all nodes registered for the provided type. - It will throw a InvalidOperationException if the type of one of - the registered nodes is not assignable to the specified node type argument. - - - - - Gets extension objects registered for a type extension point. - - - Type defining the extension point - - - A list of objects - - - - - Gets extension objects registered for a type extension point. - - - A list of objects - - - The type argument of this generic method is the type that defines - the extension point. - - - - - Gets extension objects registered for a type extension point. - - - Type defining the extension point - - - When set to True, it will return instances created in previous calls. - - - A list of extension objects. - - - - - Gets extension objects registered for a type extension point. - - - When set to True, it will return instances created in previous calls. - - - A list of extension objects. - - - The type argument of this generic method is the type that defines - the extension point. - - - - - Gets extension objects registered in a path - - - An extension path. - - - An array of objects registered in the path. - - - This method can only be used if all nodes in the provided extension path - are of type Mono.Addins.TypeExtensionNode. The returned array is composed - by all objects created by calling the TypeExtensionNode.CreateInstance() - method for each node. - - - - - Gets extension objects registered in a path. - - - An extension path. - - - When set to True, it will return instances created in previous calls. - - - An array of objects registered in the path. - - - This method can only be used if all nodes in the provided extension path - are of type Mono.Addins.TypeExtensionNode. The returned array is composed - by all objects created by calling the TypeExtensionNode.CreateInstance() - method for each node (or TypeExtensionNode.GetInstance() if - reuseCachedInstance is set to true) - - - - - Gets extension objects registered in a path. - - - An extension path. - - - Type of the return array elements. - - - An array of objects registered in the path. - - - This method can only be used if all nodes in the provided extension path - are of type Mono.Addins.TypeExtensionNode. The returned array is composed - by all objects created by calling the TypeExtensionNode.CreateInstance() - method for each node. - - An InvalidOperationException exception is thrown if one of the found - objects is not a subclass of the provided type. - - - - - Gets extension objects registered in a path. - - - An extension path. - - - An array of objects registered in the path. - - - This method can only be used if all nodes in the provided extension path - are of type Mono.Addins.TypeExtensionNode. The returned array is composed - by all objects created by calling the TypeExtensionNode.CreateInstance() - method for each node. - - An InvalidOperationException exception is thrown if one of the found - objects is not a subclass of the provided type. - - - - - Gets extension objects registered in a path. - - - An extension path. - - - Type of the return array elements. - - - When set to True, it will return instances created in previous calls. - - - An array of objects registered in the path. - - - This method can only be used if all nodes in the provided extension path - are of type Mono.Addins.TypeExtensionNode. The returned array is composed - by all objects created by calling the TypeExtensionNode.CreateInstance() - method for each node (or TypeExtensionNode.GetInstance() if - reuseCachedInstance is set to true). - - An InvalidOperationException exception is thrown if one of the found - objects is not a subclass of the provided type. - - - - - Gets extension objects registered in a path. - - - An extension path. - - - When set to True, it will return instances created in previous calls. - - - An array of objects registered in the path. - - - This method can only be used if all nodes in the provided extension path - are of type Mono.Addins.TypeExtensionNode. The returned array is composed - by all objects created by calling the TypeExtensionNode.CreateInstance() - method for each node (or TypeExtensionNode.GetInstance() if - reuseCachedInstance is set to true). - - An InvalidOperationException exception is thrown if one of the found - objects is not a subclass of the provided type. - - - - - Register a listener of extension node changes. - - - Path of the node. - - - A handler method. - - - Hosts can call this method to be subscribed to an extension change - event for a specific path. The event will be fired once for every - individual node change. The event arguments include the change type - (Add or Remove) and the extension node added or removed. - - NOTE: The handler will be called for all nodes existing in the path at the moment of registration. - - - - - Unregister a listener of extension node changes. - - - Path of the node. - - - A handler method. - - - This method unregisters a delegate from the node change event of a path. - - - - - Register a listener of extension node changes. - - - Type defining the extension point - - - A handler method. - - - Hosts can call this method to be subscribed to an extension change - event for a specific type extension point. The event will be fired once for every - individual node change. The event arguments include the change type - (Add or Remove) and the extension node added or removed. - - NOTE: The handler will be called for all nodes existing in the path at the moment of registration. - - - - - Unregister a listener of extension node changes. - - - Type defining the extension point - - - A handler method. - - - - - Gets whether the add-in engine has been initialized. - - - - - Gets the default add-in installer - - - The default installer is used by the CheckInstalled method to request - the installation of missing add-ins. - - - - - Gets the default localizer for this add-in engine - - - - - Gets the localizer for the add-in that is invoking this property - - - - - Gets a reference to the RuntimeAddin object for the add-in that is invoking this property - - - - - Gets the default add-in engine - - - - - Gets the add-in registry bound to the default add-in engine - - - - - Extension change event. - - - This event is fired when any extension point in the add-in system changes. - The event args object provides the path of the changed extension, although - it does not provide information about what changed. Hosts subscribing to - this event should get the new list of nodes using a query method such as - AddinManager.GetExtensionNodes() and then update whatever needs to be updated. - - - - - Add-in loading error event. - - - This event is fired when there is an error when loading the extension - of an add-in, or any other kind of error that may happen when querying extension points. - - - - - Add-in loaded event. - - - Fired after loading an add-in in memory. - - - - - Add-in unload event. - - - Fired when an add-in is unloaded from memory. It may happen an add-in is disabled or uninstalled. - - - - - An extension node definition. - - - - - Base class for add-in description definitions. - - - - - Gets the parent object. - - - The parent object. - - - - - Gets the parent add-in description. - - - The parent add-in description. - - - - - An extension node element. - - - A raw representation of an extension node. Contains the basic information - needed to create ExtensionNode instances. - - - - - Gets element attributes. - - - Name of the attribute - - - The value of the attribute - - - - - Name of the node element. - - - - - Gets all attributes defined in the element. - - - - - Gets child nodes of this node - - - - - Initializes a new instance of the class. - - - Node name. - - - - - Gets the type of the node. - - - The node type. - - - This method only works when the add-in description to which the node belongs has been - loaded from an add-in registry. - - - - - Gets the extension path under which this node is registered - - - The parent path. - - - For example, if the id of the node is 'ThisNode', and the node is a child of another node with id 'ParentNode', and - that parent node is defined in an extension with the path '/Core/MainExtension', then the parent path is 'Core/MainExtension/ParentNode'. - - - - - Gets the value of an attribute. - - - The value of the attribute, or an empty string if the attribute is not defined. - - - Name of the attribute. - - - - - Sets the value of an attribute. - - - Name of the attribute - - - The value. - - - - - Removes an attribute. - - - Name of the attribute to remove. - - - - - Gets or sets the name of the node. - - - The name of the node. - - - - - Gets or sets the identifier of the node. - - - The identifier. - - - - - Gets or sets the identifier of the node after which this node has to be inserted - - - The identifier of the reference node - - - - - Gets or sets the identifier of the node before which this node has to be inserted - - - The identifier of the reference node - - - - - Gets a value indicating whether this node is a condition. - - - true if this node is a condition; otherwise, false. - - - - - Gets the attributes of the node. - - - The attributes. - - - - - Gets the child nodes. - - - The child nodes. - - - - - An extension node type definition. - - - - - An extension node set definition. - - - Node sets allow grouping a set of extension node declarations and give an identifier to that group - (the node set). Once a node set is declared, it can be referenced from several extension points - which use the same extension node structure. Extension node sets also allow declaring recursive - extension nodes, that is, extension nodes with a tree structure. - - - - - Copies data from another node set - - - Node set from which to copy - - - - - Initializes a new instance of the class. - - - - - Gets all the allowed node types. - - - The allowed node types. - - - Gets all allowed node types, including those defined in included node sets. - This method only works for descriptions loaded from a registry. - - - - - Gets or sets the identifier of the node set. - - - The identifier. - - - - - Gets the node types allowed in this node set. - - - The node types. - - - - - Gets a list of other node sets included in this node set. - - - The node sets. - - - - - Initializes a new instance of the class. - - - - - Copies data from another node set - - - - - Type that implements the extension node. - - - The full name of the type. - - - - - Element name to be used when defining an extension in an XML manifest. The default name is "Type". - - - The name of the node. - - - - - Type of the object that the extension creates (only valid for TypeNodeExtension). - - - - - Name of the custom attribute that can be used to declare nodes of this type - - - - - Long description of the node type - - - - - Attributes supported by the extension node type. - - - - - An add-in description - - - This class represent an add-in manifest. It has properties for getting - all information, and methods for loading and saving files. - - - - - Adds an extension point. - - - The extension point. - - - Path that identifies the new extension point. - - - - - Saves the add-in description. - - - File name where to save this instance - - - Saves the add-in description to the specified file and sets the FileName property. - - - - - Saves the add-in description. - - - It is thrown if FileName is not set - - - The description is saved to the file specified in the FileName property. - - - - - Generates an XML representation of the add-in description - - - An XML manifest. - - - - - Load an add-in description from a file - - - The file. - - - - - Load an add-in description from a stream - - - The stream - - - The path to be used to resolve relative file paths. - - - - - Load an add-in description from a text reader - - - The text reader - - - The path to be used to resolve relative file paths. - - - - - Verify this instance. - - - This method checks all the definitions in the description and returns a list of errors. - If the returned list is empty, it means that the description is valid. - - - - - Gets or sets the path to the main addin file. - - - The addin file. - - - The add-in file can be either the main assembly of an add-in or an xml manifest. - - - - - Gets the addin identifier. - - - The addin identifier. - - - - - Gets or sets the local identifier. - - - The local identifier. - - - - - Gets or sets the namespace. - - - The namespace. - - - - - Gets or sets the display name of the add-in. - - - The name. - - - - - Gets or sets the version. - - - The version. - - - - - Gets or sets the version of the add-in with which this add-in is backwards compatible. - - - The compat version. - - - - - Gets or sets the author. - - - The author. - - - - - Gets or sets the Url where more information about the add-in can be found. - - - The URL. - - - - - Gets or sets the copyright. - - - The copyright. - - - - - Gets or sets the description of the add-in. - - - The description. - - - - - Gets or sets the category of the add-in. - - - The category. - - - - - Gets the base path for locating external files relative to the add-in. - - - The base path. - - - - - Gets or sets a value indicating whether this instance is an add-in root. - - - true if this instance is an add-in root; otherwise, false. - - - - - Gets or sets a value indicating whether this add-in is enabled by default. - - - true if enabled by default; otherwise, false. - - - - - Gets or sets the add-in flags. - - - The flags. - - - - - Gets a value indicating whether this add-in can be disabled. - - - true if this add-in can be disabled; otherwise, false. - - - - - Gets a value indicating whether this add-in can be uninstalled. - - - true if this instance can be uninstalled; otherwise, false. - - - - - Gets a value indicating whether this add-in is hidden. - - - true if this add-in is hidden; otherwise, false. - - - - - Gets all external files - - - All files. - - - External files are data files and assemblies explicitly referenced in the Runtime section of the add-in manifest. - - - - - Gets all paths to be ignored by the add-in scanner. - - - All paths to be ignored. - - - - - Gets the main module. - - - The main module. - - - - - Gets the optional modules. - - - The optional modules. - - - Optional modules can be used to declare extensions which will be registered only if some specified - add-in dependencies can be satisfied. Dependencies specified in optional modules are 'soft dependencies', - which means that they don't need to be satisfied in order to load the add-in. - - - - - Gets all modules (including the main module and all optional modules) - - - All modules. - - - - - Gets the extension node sets. - - - The extension node sets. - - - - - Gets the extension points. - - - The extension points. - - - - - Gets the condition types. - - - The condition types. - - - - - Gets or sets the add-in localizer. - - - The description of the add-in localizer for this add-in. - - - - - Custom properties specified in the add-in header - - - - - Gets or sets file where this description is stored - - - The file path. - - - - - Addin flags attribute. - - - - - Initializes the attribute - - - Add-in flags - - - - - Add-in flags - - - - - Delegate to be used in add-in engine events - - - - - Provides information about an add-in engine event. - - - - - Initializes a new instance of the class. - - - Add-in identifier. - - - - - Identifier of the add-in that generated the event. - - - - - Attribute of a NodeElement. - - - - - Name of the attribute. - - - - - Value of the attribute. - - - - - Allows finding assemblies in the file system - - - - - Locates an assembly - - - The full path to the assembly, or null if not found - - - Full name of the assembly - - - - - An add-in property. - - - - - Name of the property - - - - - Locale of the property. It is null if the property is not localized. - - - - - Value of the property. - - - - - A localizer factory. - - - - - Creates a localizer for an add-in. - - - The localizer. - - - The add-in for which to create the localizer. - - - Localizer parameters. - - - - - Definition of an add-in dependency. - - - - - Gets the display name of the dependency. - - - The name. - - - - - A collection of node sets. - - - - - Initializes a new instance of the class. - - - - - Gets the at the specified index. - - - The index. - - - - - Gets the with the specified id. - - - Identifier. - - - - - An add-in engine. - - - This class allows hosting several independent add-in engines in a single application domain. - In general, applications use the AddinManager class to query and manage extensions. This class is static, - so the API is easily accessible. However, some kind applications may need to use several isolated - add-in engines, and in this case the AddinManager class can't be used, because it is bound to a single - add-in engine. Those applications can instead create several instances of the AddinEngine class. Each - add-in engine can be independently initialized with different add-in registries and extension models. - - - - - An extension context. - - - Extension contexts can be used to query the extension tree - using particular condition values. Extension points which - declare the availability of a condition type can only be - queryed using an extension context which provides an - evaluator for that condition. - - - - - Registers a new condition in the extension context. - - - Identifier of the condition. - - - Condition evaluator. - - - The registered condition will be particular to this extension context. - Any event that might be fired as a result of changes in the condition will - only be fired in this context. - - - - - Registers a new condition in the extension context. - - - Identifier of the condition. - - - Type of the condition evaluator. Must be a subclass of Mono.Addins.ConditionType. - - - The registered condition will be particular to this extension context. Any event - that might be fired as a result of changes in the condition will only be fired in this context. - - - - - Returns the extension node in a path - - - Location of the node. - - - The node, or null if not found. - - - - - Returns the extension node in a path - - - Location of the node. - - - The node, or null if not found. - - - - - Gets extension nodes registered in a path. - - - An extension path.> - - - All nodes registered in the provided path. - - - - - Gets extension nodes registered in a path. - - - An extension path. - - - A list of nodes - - - This method returns all nodes registered under the provided path. - It will throw a InvalidOperationException if the type of one of - the registered nodes is not assignable to the provided type. - - - - - Gets extension nodes for a type extension point - - - Type defining the extension point - - - A list of nodes - - - This method returns all extension nodes bound to the provided type. - - - - - Gets extension nodes for a type extension point - - - Type defining the extension point - - - Expected extension node type - - - A list of nodes - - - This method returns all nodes registered for the provided type. - It will throw a InvalidOperationException if the type of one of - the registered nodes is not assignable to the provided node type. - - - - - Gets extension nodes for a type extension point - - - Type defining the extension point - - - A list of nodes - - - This method returns all nodes registered for the provided type. - It will throw a InvalidOperationException if the type of one of - the registered nodes is not assignable to the specified node type argument. - - - - - Gets extension nodes registered in a path. - - - An extension path. - - - Expected node type. - - - A list of nodes - - - This method returns all nodes registered under the provided path. - It will throw a InvalidOperationException if the type of one of - the registered nodes is not assignable to the provided type. - - - - - Gets extension objects registered for a type extension point. - - - Type defining the extension point - - - A list of objects - - - - - Gets extension objects registered for a type extension point. - - - A list of objects - - - The type argument of this generic method is the type that defines - the extension point. - - - - - Gets extension objects registered for a type extension point. - - - Type defining the extension point - - - When set to True, it will return instances created in previous calls. - - - A list of extension objects. - - - - - Gets extension objects registered for a type extension point. - - - When set to True, it will return instances created in previous calls. - - - A list of extension objects. - - - The type argument of this generic method is the type that defines - the extension point. - - - - - Gets extension objects registered in a path - - - An extension path. - - - An array of objects registered in the path. - - - This method can only be used if all nodes in the provided extension path - are of type Mono.Addins.TypeExtensionNode. The returned array is composed - by all objects created by calling the TypeExtensionNode.CreateInstance() - method for each node. - - - - - Gets extension objects registered in a path. - - - An extension path. - - - When set to True, it will return instances created in previous calls. - - - An array of objects registered in the path. - - - This method can only be used if all nodes in the provided extension path - are of type Mono.Addins.TypeExtensionNode. The returned array is composed - by all objects created by calling the TypeExtensionNode.CreateInstance() - method for each node (or TypeExtensionNode.GetInstance() if - reuseCachedInstance is set to true) - - - - - Gets extension objects registered in a path. - - - An extension path. - - - Type of the return array elements. - - - An array of objects registered in the path. - - - This method can only be used if all nodes in the provided extension path - are of type Mono.Addins.TypeExtensionNode. The returned array is composed - by all objects created by calling the TypeExtensionNode.CreateInstance() - method for each node. - - An InvalidOperationException exception is thrown if one of the found - objects is not a subclass of the provided type. - - - - - Gets extension objects registered in a path. - - - An extension path. - - - An array of objects registered in the path. - - - This method can only be used if all nodes in the provided extension path - are of type Mono.Addins.TypeExtensionNode. The returned array is composed - by all objects created by calling the TypeExtensionNode.CreateInstance() - method for each node. - - An InvalidOperationException exception is thrown if one of the found - objects is not a subclass of the provided type. - - - - - Gets extension objects registered in a path. - - - An extension path. - - - When set to True, it will return instances created in previous calls. - - - An array of objects registered in the path. - - - This method can only be used if all nodes in the provided extension path - are of type Mono.Addins.TypeExtensionNode. The returned array is composed - by all objects created by calling the TypeExtensionNode.CreateInstance() - method for each node (or TypeExtensionNode.GetInstance() if - reuseCachedInstance is set to true). - - An InvalidOperationException exception is thrown if one of the found - objects is not a subclass of the provided type. - - - - - Gets extension objects registered in a path. - - - An extension path. - - - Type of the return array elements. - - - When set to True, it will return instances created in previous calls. - - - An array of objects registered in the path. - - - This method can only be used if all nodes in the provided extension path - are of type Mono.Addins.TypeExtensionNode. The returned array is composed - by all objects created by calling the TypeExtensionNode.CreateInstance() - method for each node (or TypeExtensionNode.GetInstance() if - reuseCachedInstance is set to true). - - An InvalidOperationException exception is thrown if one of the found - objects is not a subclass of the provided type. - - - - - Register a listener of extension node changes. - - - Path of the node. - - - A handler method. - - - Hosts can call this method to be subscribed to an extension change - event for a specific path. The event will be fired once for every - individual node change. The event arguments include the change type - (Add or Remove) and the extension node added or removed. - - NOTE: The handler will be called for all nodes existing in the path at the moment of registration. - - - - - Unregister a listener of extension node changes. - - - Path of the node. - - - A handler method. - - - This method unregisters a delegate from the node change event of a path. - - - - - Register a listener of extension node changes. - - - Type defining the extension point - - - A handler method. - - - Hosts can call this method to be subscribed to an extension change - event for a specific type extension point. The event will be fired once for every - individual node change. The event arguments include the change type - (Add or Remove) and the extension node added or removed. - - NOTE: The handler will be called for all nodes existing in the path at the moment of registration. - - - - - Unregister a listener of extension node changes. - - - Type defining the extension point - - - A handler method. - - - - - Extension change event. - - - This event is fired when any extension point in the add-in system changes. - The event args object provides the path of the changed extension, although - it does not provide information about what changed. Hosts subscribing to - this event should get the new list of nodes using a query method such as - AddinManager.GetExtensionNodes() and then update whatever needs to be updated. - - - - - Initializes a new instance of the class. - - - - - Initializes the add-in engine - - - Location of the add-in registry. - - The add-in engine needs to be initialized before doing any add-in operation. - When initialized with this method, it will look for add-in in the add-in registry - located in the specified path. - - - - - Initializes the add-in engine. - - - Location of the add-in registry. - - - Add-ins directory. If the path is relative, it is considered to be relative - to the configDir directory. - - - The add-in engine needs to be initialized before doing any add-in operation. - Configuration information about the add-in registry will be stored in the - provided location. The add-in engine will look for add-ins in the provided - 'addinsDir' directory. - - When specifying a path, it is possible to use a special folder name as root. - For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced - by the location of the Environment.SpecialFolder.Personal folder. Any value - of the Environment.SpecialFolder enumeration can be used (always between square - brackets) - - - - - Initializes the add-in engine. - - - Location of the add-in registry. - - - Add-ins directory. If the path is relative, it is considered to be relative - to the configDir directory. - - - Location of the add-in database. If the path is relative, it is considered to be relative - to the configDir directory. - - - The add-in engine needs to be initialized before doing any add-in operation. - Configuration information about the add-in registry will be stored in the - provided location. The add-in engine will look for add-ins in the provided - 'addinsDir' directory. Cached information about add-ins will be stored in - the 'databaseDir' directory. - - When specifying a path, it is possible to use a special folder name as root. - For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced - by the location of the Environment.SpecialFolder.Personal folder. Any value - of the Environment.SpecialFolder enumeration can be used (always between square - brackets) - - - - - Finalizes the add-in engine. - - - - - Sets the default localizer to be used for this add-in engine - - - The add-in localizer - - - - - Checks if the provided add-ins are installed, and requests the installation of those - which aren't. - - - Message to show to the user when new add-ins have to be installed. - - - List of IDs of the add-ins to be checked. - - - This method checks if the specified add-ins are installed. - If some of the add-ins are not installed, it will use - the installer assigned to the DefaultAddinInstaller property - to install them. If the installation fails, or if DefaultAddinInstaller - is not set, an exception will be thrown. - - - - - Checks if an add-in has been loaded. - - - Full identifier of the add-in. - - - True if the add-in is loaded. - - - - - Forces the loading of an add-in. - - - Status monitor to keep track of the loading process. - - - Full identifier of the add-in to load. - - - This method loads all assemblies that belong to an add-in in memory. - All add-ins on which the specified add-in depends will also be loaded. - Notice that in general add-ins don't need to be explicitely loaded using - this method, since the add-in engine will load them on demand. - - - - - Creates a new extension context. - - - The new extension context. - - - Extension contexts can be used to query the extension model using particular condition values. - - - - - Raised when there is an error while loading an add-in - - - - - Raised when an add-in is loaded - - - - - Raised when an add-in is unloaded - - - - - Gets whether the add-in engine has been initialized. - - - - - Gets the default add-in installer - - - The default installer is used by the CheckInstalled method to request - the installation of missing add-ins. - - - - - Gets the default localizer for this add-in engine - - - - - Gets the localizer for the add-in that is invoking this property - - - - - Gets a reference to the RuntimeAddin object for the add-in that is invoking this property - - - - - Gets the add-in registry bound to this add-in engine - - - - - An assembly reflector - - - This interface can be implemented to provide a custom method for getting information about assemblies. - - - - - Called to initialize the assembly reflector - - - IAssemblyLocator instance which can be used to locate referenced assemblies. - - - - - Gets a list of custom attributes - - - The custom attributes. - - - An assembly, class or class member - - - Type of the attribute to be returned. It will always be one of the attribute types - defined in Mono.Addins. - - - 'true' if inherited attributes must be returned - - - - - Gets a list of custom attributes - - - The attributes. - - - An assembly, class or class member - - - Base type of the attribute to be returned - - - 'true' if inherited attributes must be returned - - - - - Loads an assembly. - - - The loaded assembly - - - Path of the assembly. - - - - - Loads the assembly specified in an assembly reference - - - The assembly - - - An assembly reference - - - - - Gets the names of all resources embedded in an assembly - - - The names of the resources - - - An assembly - - - - - Gets the data stream of a resource - - - The stream. - - - An assembly - - - The name of a resource - - - - - Gets all types defined in an assembly - - - The types - - - An assembly - - - - - Gets all assembly references of an assembly - - - A list of assembly references - - - An assembly - - - - - Looks for a type in an assembly - - - The type. - - - An assembly - - - Name of the type - - - - - Gets a custom attribute - - - The custom attribute. - - - An assembly, class or class member - - - Base type of the attribute to be returned. It will always be one of the attribute types - defined in Mono.Addins. - - - 'true' if inherited attributes must be returned - - - - - Gets the name of a type (not including namespace) - - - The type name. - - - A type - - - - - Gets the full name of a type (including namespace) - - - The full name of the type - - - A type - - - - - Gets the assembly qualified name of a type - - - The assembly qualified type name - - - A type - - - - - Gets a list of all base types (including interfaces) of a type - - - An enumeration of the full name of all base types of the type - - - A type - - - - - Checks if a type is assignable to another type - - - 'true' if the type is assignable - - - Expected base type. - - - A type. - - - - - Gets the fields of a type - - - The fields. - - - A type - - - - - Gets the name of a field. - - - The field name. - - - A field. - - - - - Gets the full name of the type of a field - - - The full type name - - - A field. - - - - - A custom attribute - - - - - Full name of the type of the custom attribute - - - - - Declares an extension point bound to a type - - - - - Initializes a new instance - - - - - Initializes a new instance - - - Path that identifies the extension point - - - - - Path that identifies the extension point - - - - - Description of the extension point. - - - - - Element name to be used when defining an extension in an XML manifest. The default name is "Type". - - - - - Display name of the extension point. - - - - - Type of the extension node to be created for extensions - - - - - Type of the custom attribute to be used to specify metadata for the extension point - - - - - Add-in flags - - - - - No flags - - - - - The add-in can't be uninstalled - - - - - The add-in can't be disabled - - - - - The add-in is not visible to end users - - - - - A collection of extensions - - - - - Initializes a new instance of the class. - - - - - Gets the at the specified index. - - - The index. - - - - - Base class for extension nodes which create extension objects - - - - - A node of the extension model. - - - An extension node is an element registered by an add-in in an extension point. - A host can get nodes registered in an extension point using methods such as - AddinManager.GetExtensionNodes(string), which returns a collection of ExtensionNode objects. - - ExtensionNode will normally be used as a base class of more complex extension point types. - The most common subclass is Mono.Addins.TypeExtensionNode, which allows registering a class - implemented in an add-in. - - - - - Returns the child objects of a node. - - - An array of child objects. - - - This method only works if all children of this node are of type Mono.Addins.TypeExtensionNode. - The returned array is composed by all objects created by calling the - TypeExtensionNode.GetInstance() method for each node. - - - - - Returns the child objects of a node. - - - True if the method can reuse instances created in previous calls. - - - An array of child objects. - - - This method only works if all children of this node are of type Mono.Addins.TypeExtensionNode. - The returned array is composed by all objects created by calling the TypeExtensionNode.CreateInstance() - method for each node (or TypeExtensionNode.GetInstance() if reuseCachedInstance is set to true). - - - - - Returns the child objects of a node (with type check). - - - Type of the return array elements. - - - An array of child objects. - - - This method only works if all children of this node are of type Mono.Addins.TypeExtensionNode. - The returned array is composed by all objects created by calling the - TypeExtensionNode.GetInstance(Type) method for each node. - - An InvalidOperationException exception is thrown if one of the found child objects is not a - subclass of the provided type. - - - - - Returns the child objects of a node (casting to the specified type) - - - An array of child objects. - - - This method only works if all children of this node are of type Mono.Addins.TypeExtensionNode. - The returned array is composed by all objects created by calling the - TypeExtensionNode.GetInstance() method for each node. - - - - - Returns the child objects of a node (with type check). - - - Type of the return array elements. - - - True if the method can reuse instances created in previous calls. - - - An array of child objects. - - - This method only works if all children of this node are of type Mono.Addins.TypeExtensionNode. - The returned array is composed by all objects created by calling the TypeExtensionNode.CreateInstance(Type) - method for each node (or TypeExtensionNode.GetInstance(Type) if reuseCachedInstance is set to true). - - An InvalidOperationException exception will be thrown if one of the found child objects is not a subclass - of the provided type. - - - - - Returns the child objects of a node (casting to the specified type). - - - True if the method can reuse instances created in previous calls. - - - An array of child objects. - - - This method only works if all children of this node are of type Mono.Addins.TypeExtensionNode. - The returned array is composed by all objects created by calling the TypeExtensionNode.CreateInstance() - method for each node (or TypeExtensionNode.GetInstance() if reuseCachedInstance is set to true). - - - - - Reads the extension node data - - - The element containing the extension data - - - This method can be overriden to provide a custom method for reading extension node data from an element. - The default implementation reads the attributes if the element and assigns the values to the fields - and properties of the extension node that have the corresponding [NodeAttribute] decoration. - - - - - Called when the add-in that defined this extension node is actually loaded in memory. - - - - - Called when the add-in that defined this extension node is being - unloaded from memory. - - - - - Called when the children list of this node has changed. It may be due to add-ins - being loaded/unloaded, or to conditions being changed. - - - - - Called when a child node is added - - - Added node. - - - - - Called when a child node is removed - - - Removed node. - - - - - Identifier of the node. - - - It is not mandatory to specify an 'id' for a node. When none is provided, - the add-in manager will automatically generate an unique id for the node. - The ExtensionNode.HasId property can be used to know if the 'id' has been - specified by the developer or not. - - - - - Location of this node in the extension tree. - - - The node path is composed by the path of the extension point where it is defined, - the identifiers of its parent nodes, and its own identifier. - - - - - Parent node of this node. - - - - - Extension context to which this node belongs - - - - - Specifies whether the extension node has as an Id or not. - - - It is not mandatory to specify an 'id' for a node. When none is provided, - the add-in manager will automatically generate an unique id for the node. - This property will return true if an 'id' was provided for the node, and - false if the id was assigned by the add-in manager. - - - - - The add-in that registered this extension node. - - - This property provides access to the resources and types of the add-in that created this extension node. - - - - - Notifies that a child node of this node has been added or removed. - - - The first time the event is subscribed, the handler will be called for each existing node. - - - - - Child nodes of this extension node. - - - - - Gets the extension object declared by this node - - - Expected object type. An exception will be thrown if the object is not an instance of the specified type. - - - The extension object - - - The extension object is cached and the same instance will be returned at every call. - - - - - Gets the extension object declared by this node - - - The extension object - - - The extension object is cached and the same instance will be returned at every call. - - - - - Creates a new extension object - - - Expected object type. An exception will be thrown if the object is not an instance of the specified type. - - - The extension object - - - - - Creates a new extension object - - - The extension object - - - - - Declares a dependency on an add-in or add-in host - - - - - Initializes the attribute - - - Identifier of the add-in - - - Version of the add-in - - - - - Identifier of the add-in - - - - - Version of the add-in - - - - - An extension node with custom metadata - - - This is the default type for extension nodes bound to a custom extension attribute. - - - - - An extension node with custom metadata provided by an attribute - - - This interface is implemented by ExtensionNode<T> to provide non-generic access to the attribute instance. - - - - - The custom attribute containing the extension metadata - - - - - The custom attribute containing the extension metadata - - - - - Defines an add-in property - - - - - Initializes a new instance of the class. - - - Name of the property - - - Value of the property - - - - - Initializes a new instance of the class. - - - Name of the property - - - Locale of the property. It can be null if the property is not bound to a locale. - - - Value of the property - - - - - Name of the property - - - - - Locale of the property. It can be null if the property is not bound to a locale. - - - - - Value of the property - - - - - Base class for custon extension attributes. - - - Custom extension attributes can be used to declare extensions with custom metadata. - All custom extension attributes must subclass CustomExtensionAttribute. - - - - - Identifier of the node - - - - - Identifier of the node before which this node has to be placed - - - - - Identifier of the node after which this node has to be placed - - - - - Path of the extension point being extended. - - - This property is optional and useful only when there are several extension points which allow - using this custom attribute to define extensions. - - - - - The extension node bound to this attribute - - - - - The add-in that registered this extension node. - - - This property provides access to the resources and types of the add-in that created this extension node. - - - - - A localizer that supports localization of plural forms. - - - This interface can be implemented by add-in localizers which want to provide - support plural forms. - - - - - Gets a localized message which may contain plural forms. - - - The localized message. - - - Message identifier to use when the specified count is 1. - - - Default message identifier to use when the specified count is not 1. - - - The count that determines which plural form to use. - - - - - Converts message identifiers to localized messages. - - - - - Gets a localized message - - - Message identifier - - - The localized message - - - - - Gets a formatted and localized message - - - Message identifier (can contain string format placeholders) - - - Arguments for the string format operation - - - The formatted and localized string - - - - - Gets a formatted and localized message - - - Message identifier (can contain string format placeholders) - - - Arguments for the string format operation - - - The formatted and localized string - - - - - Gets a localized plural form for a message identifier - - - Message identifier for the singular form - - - Default result message for the plural form - - - Value count. Determines wether to use singular or plural form. - - - The localized message - - - - - Gets a localized and formatted plural form for a message identifier - - - Message identifier for the singular form (can contain string format placeholders) - - - Default result message for the plural form (can contain string format placeholders) - - - Value count. Determines whether to use singular or plural form. - - - Arguments for the string format operation - - - The localized message - - - - - Gets a localized and formatted plural form for a message identifier - - - Message identifier for the singular form (can contain string format placeholders) - - - Default result message for the plural form (can contain string format placeholders) - - - Value count. Determines whether to use singular or plural form. - - - Arguments for the string format operation - - - The localized message - - - - - A collection of extension point definitions. - - - - - Initializes a new instance of the class. - - - - - Gets the at the specified index. - - - The index. - - - - - Gets the with the specified path. - - - Path. - - - - - Declares a Gettext-based localizer for an add-in - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - Name of the catalog which contains the strings. - - - - - Initializes a new instance of the class. - - - Name of the catalog which contains the strings. - - - Relative path to the location of the catalog. This path must be relative to the add-in location. - - - The location path must contain a directory structure like this: - - {language-id}/LC_MESSAGES/{Catalog}.mo - - For example, the catalog for spanish strings would be located at: - - locale/es/LC_MESSAGES/some-addin.mo - - - - - Name of the catalog which contains the strings. - - - - - Relative path to the location of the catalog. This path must be relative to the add-in location. - - - When not specified, the default value of this property is 'locale'. - The location path must contain a directory structure like this: - - {language-id}/LC_MESSAGES/{Catalog}.mo - - For example, the catalog for spanish strings would be located at: - - locale/es/LC_MESSAGES/some-addin.mo - - - - - Declares an author of the add-in - - - - - Initializes the attribute - - - Name of the author - - - - - Author name - - - - - A condition type definition. - - - - - Initializes a new instance of the class. - - - - - Copies data from another condition type definition - - - Condition from which to copy - - - - - Gets or sets the identifier of the condition type - - - The identifier. - - - - - Gets or sets the name of the type that implements the condition - - - The name of the type. - - - - - Gets or sets the description of the condition. - - - The description. - - - - - An extension point definition. - - - - - Initializes a new instance of the class. - - - - - Copies another extension point. - - - Extension point from which to copy. - - - - - Adds an extension node type. - - - The extension node type. - - - Name of the node - - - Name of the type that implements the extension node. - - - This method can be used to register a new allowed node type for the extension point. - - - - - Gets or sets the path that identifies the extension point. - - - The path. - - - - - Gets or sets the display name of the extension point. - - - The name. - - - - - Gets or sets the description of the extension point. - - - The description. - - - - - Gets a list of add-ins that extend this extension point. - - - This value is only available when the add-in description is loaded from an add-in registry. - - - - - A node set which specifies the node types allowed in this extension point. - - - The node set. - - - - - Gets the conditions available in this node set. - - - The conditions. - - - - - A condition evaluator. - - - Add-ins may use conditions to register nodes in an extension point which - are only visible under some contexts. For example, an add-in registering - a custom menu option to the main menu of a sample text editor might want - to make that option visible only for some kind of files. To allow add-ins - to do this kind of check, the host application needs to define a new condition. - - - - - Evaluates the condition. - - - Condition node information. - - - 'true' if the condition is satisfied. - - - - - Notifies that the condition has changed, and that it has to be re-evaluated. - - This method must be called when there is a change in the state that determines - the result of the evaluation. When this method is called, all node conditions - depending on it are reevaluated and the corresponding events for adding or - removing extension nodes are fired. - - - - - - A list of extension nodes. - - - - - Gets an enumerator which enumerates all nodes in the list - - - - - Copies all nodes to an array - - - The target array - - - Initial index where to copy to - - - - - Returns the node in the specified index. - - - The index. - - - - - Returns the node with the specified ID. - - - An id. - - - - - Number of nodes of the collection. - - - - - A list of extension nodes. - - - - - Gets an enumerator which enumerates all nodes in the list - - - - - Copies all nodes to an array - - - The target array - - - Initial index where to copy to - - - - - Returns the node in the specified index. - - - The index. - - - - - Returns the node with the specified ID. - - - An id. - - - - - Number of nodes of the collection. - - - - - Exception thrown when the add-in engine can't find a required add-in dependency - - - - - An extension node which specifies a type. - - - This class is a kind of Mono.Addins.ExtensionNode which can be used to register - types in an extension point. This is a very common case: a host application - defines an interface, and add-ins create classes that implement that interface. - The host will define an extension point which will use TypeExtensionNode as nodetext - type. Add-ins will register the classes they implement in that extension point. - - When the nodes of an extension point are of type TypeExtensionNode it is then - possible to use query methods such as AddinManager.GetExtensionObjects(string), - which will get all nodes in the provided extension path and will create an object - for each node. - - When declaring extension nodes in an add-in manifest, the class names can be - specified using the 'class' or 'type' attribute. If none of those attributes is - provided, the class name will be taken from the 'id' attribute. - - TypeExtensionNode is the default extension type used when no type is provided - in the definition of an extension point. - - - - - Reads the extension node data - - - The element containing the extension data - - - This method can be overriden to provide a custom method for reading extension node data from an element. - The default implementation reads the attributes if the element and assigns the values to the fields - and properties of the extension node that have the corresponding [NodeAttribute] decoration. - - - - - Creates a new extension object - - - The extension object - - - - - Type of the object that this node creates - - - - - Name of the type of the object that this node creates - - The name of the type. - - - - An extension node which specifies a type with custom extension metadata - - - This is the default type for type extension nodes bound to a custom extension attribute. - - - - - The custom attribute containing the extension metadata - - - - - Describes the purpose of an add-in or add-in root - - - - - Initializes a new instance of the class. - - - Description of the add-in - - - - - Initializes a new instance of the class. - - - Description of the add-in - - - Locale of the description (for example, 'en-US', or 'en') - - - - - Description of the add-in - - - - - Locale of the description (for example, 'en-US', or 'en') - - - - - Marks an assembly as being an add-in root. - - - An add-in root is an assemly which can be extended by add-ins. - - - - - Marks an assembly as being an add-in. - - - - - Initializes an add-in marker attribute - - - - - Initializes an add-in marker attribute - - - Identifier of the add-in - - - - - Initializes an add-in marker attribute - - - Identifier of the add-in - - - Version of the add-in - - - - - Identifier of the add-in. - - - - - Version of the add-in. - - - - - Version of the add-in with which this add-in is backwards compatible. - - - - - Namespace of the add-in - - - - - Category of the add-in - - - - - Url to a web page with more information about the add-in - - - - - When set to True, the add-in will be automatically enabled after installing. - It's True by default. - - - - - Add-in flags - - - - - Initializes a new instance - - - - - Initializes a new instance - - - Identifier of the add-in root - - - - - Initializes a new instance - - - Identifier of the add-in root - - - Version of the add-in root - - - - - An extension definition. - - - An Extension is a collection of nodes which have to be registered in an extension point. - The target extension point is specified in the .Path property. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - Path that identifies the extension point being extended - - - - - Gets the object extended by this extension - - - The extended object can be an or - an . - - - This method only works when the add-in description to which the extension belongs has been - loaded from an add-in registry. - - - - - Gets the node types allowed in this extension. - - - The allowed node types. - - - This method only works when the add-in description to which the extension belongs has been - loaded from an add-in registry. - - - - - Initializes a new instance of the class. - - - XML that describes the extension. - - - - - Gets or sets the path that identifies the extension point being extended. - - - The path. - - - - - Gets the extension nodes. - - - The extension nodes. - - - - - Delegate to be used in extension point subscriptions - - - - - Delegate to be used in extension point subscriptions - - - - - Arguments for extension events. - - - - - Creates a new instance. - - - Path of the extension node that has changed. - - - - - Checks if a path has changed. - - - An extension path. - - - 'true' if the path is affected by the extension change event. - - - Checks if the specified path or any of its children paths is affected by the extension change event. - - - - - Path of the extension node that has changed. - - - - - Arguments for extension node events. - - - - - Creates a new instance - - - Type of change. - - - Node that has been added or removed. - - - - - Path of the extension that changed. - - - - - Type of change. - - - - - Node that has been added or removed. - - - - - Extension object that has been added or removed. - - - - - Type of change in an extension change event. - - - - - An extension node has been added. - - - - - An extension node has been removed. - - - - - Sets the display name of an add-in - - - - - Initializes a new instance of the class. - - - Name of the add-in - - - - - Initializes a new instance of the class. - - - Name of the add-in - - - Locale of the name (for example, 'en-US', or 'en') - - - - - Name of the add-in - - - - - Locale of the name (for example, 'en-US', or 'en') - - - - - Type of the content of a string extension node attribute - - - - - Plain text - - - - - A class name - - - - - A resource name - - - - - A file name - - - - - An add-in file system extension. - - - File system extensions can override the behavior of the add-in scanner and provide custom rules for - locating and scanning assemblies. - - - - - Called when the add-in scan is about to start - - - - - Called when the add-in scan has finished - - - - - Checks if a directory exists - - - 'true' if the directory exists - - - Directory path - - - - - Checks if a file exists - - - 'true' if the file exists - - - Path to the file - - - - - Gets the files in a directory - - - The full path of the files in the directory - - - Directory path - - - - - Gets the subdirectories of a directory - - - The subdirectories. - - - The directory - - - - - Gets the last write time of a file - - - The last write time. - - - File path. - - - - - Opens a text file - - - The text file stream - - - File path. - - - - - Opens a file. - - - The file stream. - - - The file path. - - - - - Gets an assembly reflector for a file. - - - The reflector for the file. - - - An assembly locator - - - A file path - - - - - Gets a value indicating whether this needs to be isolated from the main execution process - - - true if requires isolation; otherwise, false. - - - - - Assigns an attribute value to an extension - - - This attribute can be used together with the [Extenion] attribute to specify - a value for an attribute of the extension. - - - - - Initializes a new instance of the class. - - - Name of the attribute - - - Value of the attribute - - - - - Initializes a new instance of the class. - - - Type of the extension for which the attribute value is being set - - - Name of the attribute - - - Value of the attribute - - - - - Initializes a new instance of the class. - - - Path of the extension for which the attribute value is being set - - - Name of the attribute - - - Value of the attribute - - - - - Name of the attribute - - - - - Value of the attribute - - - - - Path of the extension for which the attribute value is being set - - - - - Type of the extension for which the attribute value is being set - - - - - An add-in installation handler - - - - - Installs a set of add-ins - - - Registry where to install - - - Message to show to the user when new add-ins have to be installed. - - - List of IDs of the add-ins to be installed. - - - - - This attribute can be applied to an ExtensionNode subclass to specify the default name and description. - - - This information will be used when an extension point does not define a name or description for a node type. - - - - - Initializes the attribute - - - - - Initializes the attribute - - - Name of the node - - - - - Initializes the attribute - - - Name of the node - - - Description of the node - - - - - Default name of the extension node - - - - - Default description of the extension node type - - - - - Type of a custom attribute which can be used to specify metadata for this extension node type - - - - - A collection of dependency definitions. - - - - - Initializes a new instance of the class. - - - - - Adds a dependency to the collection - - - The dependency to add. - - - - - Remove the specified dependency. - - - Dependency to remove. - - - - - Gets the at the specified index. - - - The idnex. - - - - - Declares a type extension. - - - When applied to a class, specifies that the class is an extension - class to be registered in a matching extension point. - - - - - Initializes a new instance of the ExtensionAttribute class. - - - - - Initializes a new instance - - - Path of the extension point. - - The path is only required if there are several extension points defined for the same type. - - - - Initializes a new instance - - - Type defining the extension point being extended - - - This constructor can be used to explicitly specify the type that defines the extension point - to be extended. By default, Mono.Addins will try to find any extension point defined in any - of the base classes or interfaces. The type parameter can be used when there is more than one - base type providing an extension point. - - - - - Path of the extension point being extended - - - The path is only required if there are several extension points defined for the same type. - - - - - Name of the extension node - - - Extension points may require extensions to use a specific node name. - This is needed when an extension point may contain several different types of nodes. - - - - - Identifier of the extension node. - - - The ExtensionAttribute.InsertAfter and ExtensionAttribute.InsertBefore - properties can be used to specify the relative location of a node. The nodes - referenced in those properties must be defined either in the add-in host - being extended, or in any add-in on which this add-in depends. - - - - - Identifier of the extension node before which this node has to be added in the extension point. - - - The ExtensionAttribute.InsertAfter and ExtensionAttribute.InsertBefore - properties can be used to specify the relative location of a node. The nodes - referenced in those properties must be defined either in the add-in host - being extended, or in any add-in on which this add-in depends. - - - - - Identifier of the extension node after which this node has to be added in the extension point. - - - - - Type defining the extension point being extended - - - This property can be used to explicitly specify the type that defines the extension point - to be extended. By default, Mono.Addins will try to find any extension point defined in any - of the base classes or interfaces. This property can be used when there is more than one - base type providing an extension point. - - - - - Run-time representation of an add-in. - - - - - Returns a string that represents the current RuntimeAddin. - - - A string that represents the current RuntimeAddin. - - - - - Gets a resource string - - - Name of the resource - - - The value of the resource string, or null if the resource can't be found. - - - The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies. - - - - - Gets a resource string - - - Name of the resource - - - When set to true, an exception will be thrown if the resource is not found. - - - The value of the resource string - - - The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies. - - - - - Gets a resource string - - - Name of the resource - - - When set to true, an exception will be thrown if the resource is not found. - - - Culture of the resource - - - The value of the resource string - - - The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies. - - - - - Gets a resource object - - - Name of the resource - - - Value of the resource - - - The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies. - - - - - Gets a resource object - - - Name of the resource - - - When set to true, an exception will be thrown if the resource is not found. - - - Value of the resource - - - The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies. - - - - - Gets a resource object - - - Name of the resource - - - When set to true, an exception will be thrown if the resource is not found. - - - Culture of the resource - - - Value of the resource - - - The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies. - - - - - Gets a type defined in the add-in - - - Full name of the type - - - A type. - - - The type will be looked up in the assemblies that implement the add-in, - and recursivelly in all add-ins on which it depends. - - This method throws an InvalidOperationException if the type can't be found. - - - - - Gets a type defined in the add-in - - - Full name of the type - - - Indicates whether the method should throw an exception if the type can't be found. - - - A - - - The type will be looked up in the assemblies that implement the add-in, - and recursivelly in all add-ins on which it depends. - - If the type can't be found, this method throw a InvalidOperationException if - 'throwIfNotFound' is 'true', or 'null' otherwise. - - - - - Creates an instance of a type defined in the add-in - - - Name of the type. - - - A new instance of the type - - - The type will be looked up in the assemblies that implement the add-in, - and recursivelly in all add-ins on which it depends. - - This method throws an InvalidOperationException if the type can't be found. - - The specified type must have a default constructor. - - - - - Creates an instance of a type defined in the add-in - - - Name of the type. - - - Indicates whether the method should throw an exception if the type can't be found. - - - A new instance of the type - - - The type will be looked up in the assemblies that implement the add-in, - and recursivelly in all add-ins on which it depends. - - If the type can't be found, this method throw a InvalidOperationException if - 'throwIfNotFound' is 'true', or 'null' otherwise. - - The specified type must have a default constructor. - - - - - Gets the path of an add-in file - - - Relative path of the file - - - Full path of the file - - - This method can be used to get the full path of a data file deployed together with the add-in. - - - - - Gets the path of an add-in file - - - Components of the file path - - - Full path of the file - - - This method can be used to get the full path of a data file deployed together with the add-in. - - - - - Gets the content of a resource - - - Name of the resource - - - Content of the resource, or null if not found - - - The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies. - - - - - Gets the content of a resource - - - Name of the resource - - - When set to true, an exception will be thrown if the resource is not found. - - - Content of the resource. - - - The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies. - - - - - Identifier of the add-in. - - - - - Version of the add-in. - - - - - Path to a directory where add-ins can store private configuration or status data - - - - - Localizer which can be used to localize strings defined in this add-in - - - - - Declares an add-in assembly import - - - An add-in may be composed by several assemblies and data files. - Assemblies must be declared in the main assembly using this attribute, or in the XML manifest. - - It is important to properly declare all files used by an add-in. - For example, when a type from the add-in is required (e.g. an ICommand implementation), - only properly declared assemblies will be checked. - This information is also used by setup tools to know exactly what needs to be packaged when creating - an add-in package, or to know what needs to be deleted when removing an add-in. - - - - - Initializes a new instance - - - Path to the assembly. Must be relative to the assembly declaring this attribute. - - - - - Path to the assembly. Must be relative to the assembly declaring this attribute. - - - - - When set to true (the default), the included assembly will be scanned - looking for extension point declarations. - - - - - Delegate to be used in add-in error subscriptions - - - - - Provides information about an add-in loading error. - - - - - Initializes a new instance of the class. - - - Error message - - - Add-in identifier. - - - Exception that caused the error. - - - - - Exception that caused the error. - - - - - Error message - - - - - An add-in. - - - - - Checks version compatibility. - - - An add-in version. - - - True if the provided version is compatible with this add-in. - - - This method checks the CompatVersion property to know if the provided version is compatible with the version of this add-in. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Compares two add-in versions - - - -1 if v1 is greater than v2, 0 if v1 == v2, 1 if v1 less than v2 - - - A version - - - A version - - - - - Returns the identifier of an add-in - - - The full identifier. - - - Namespace of the add-in - - - Name of the add-in - - - Version of the add-in - - - - - Given a full add-in identifier, returns the namespace and name of the add-in (it removes the version number) - - - Add-in identifier. - - - - - Given a full add-in identifier, returns the version the add-in - - - The version. - - - - - Splits a full add-in identifier in name and version - - - Add-in identifier. - - - The resulting name - - - The resulting version - - - - - Full identifier of the add-in, including namespace and version. - - - - - Namespace of the add-in. - - - - - Identifier of the add-in (without namespace) - - - - - Version of the add-in - - - - - Display name of the add-in - - - - - Custom properties specified in the add-in header - - - - - Gets or sets the enabled status of the add-in. - - - This property can be used to enable or disable an add-in. - The enabled status of an add-in is stored in the add-in registry, - so when an add-in is disabled, it will be disabled for all applications - sharing the same registry. - When an add-in is enabled or disabled, the extension points currently loaded - in memory will be properly updated to include or exclude extensions from the add-in. - - - - - Returns 'true' if the add-in is installed in the user's personal folder - - - - - Path to the add-in file (it can be an assembly or a standalone XML manifest) - - - - - Description of the add-in - - - - - A collection of condition types - - - - - Initializes a new instance of the class. - - - - - Gets the at the specified index. - - - Index. - - - The condition. - - - - - A collection of module descriptions - - - - - Initializes a new instance of the class. - - - - - Gets the at the specified index. - - - The index. - - - - - A collection of node attributes - - - - - Initializes a new instance of the class. - - - - - Gets the at the specified index. - - - The index. - - - - - Definition of a dependency of an add-in on an assembly. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the full name of the assembly - - - The full name of the assembly. - - - - - Gets or sets the name of the package that provides the assembly. - - - The name of the package that provides the assembly. - - - - - Display name of the dependency - - - The name. - - - - - Declares an optional add-in module - - - - - Initializes the instance. - - - Relative path to the assembly that implements the optional module - - - - - Relative path to the assembly that implements the optional module - - - - - An add-in registry. - - - An add-in registry is a data structure used by the add-in engine to locate add-ins to load. - - A registry can be configured to look for add-ins in several directories. However, add-ins - copied to those directories won't be detected until an explicit add-in scan is requested. - The registry can be updated by an application by calling Registry.Update(), or by a user by - running the 'mautil' add-in setup tool. - - The registry has information about the location of every add-in and a timestamp of the last - check, so the Update method will only scan new or modified add-ins. An application can - add a call to Registry.Update() in the Main method to detect all new add-ins every time the - app is started. - - Every add-in added to the registry is parsed and validated, and if there is any error it - will be rejected. The registry is also in charge of scanning the add-in assemblies and look - for extensions and other information declared using custom attributes. That information is - merged with the manifest information (if there is one) to create a complete add-in - description ready to be used at run-time. - - Mono.Addins allows sharing an add-in registry among several applications. In this context, - all applications sharing the registry share the same extension point model, and it is - possible to implement add-ins which extend several hosts. - - - - - Initializes a new instance. - - - Location of the add-in registry. - - - Creates a new add-in registry located in the provided path. - The add-in registry will look for add-ins in an 'addins' - subdirectory of the provided registryPath. - - When specifying a path, it is possible to use a special folder name as root. - For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced - by the location of the Environment.SpecialFolder.Personal folder. Any value - of the Environment.SpecialFolder enumeration can be used (always between square - brackets) - - - - - Initializes a new instance. - - - Location of the add-in registry. - - - Location of the application. - - - Creates a new add-in registry located in the provided path. - The add-in registry will look for add-ins in an 'addins' - subdirectory of the provided registryPath. - - When specifying a path, it is possible to use a special folder name as root. - For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced - by the location of the Environment.SpecialFolder.Personal folder. Any value - of the Environment.SpecialFolder enumeration can be used (always between square - brackets) - - - - - Initializes a new instance of the class. - - - Location of the add-in registry. - - - Location of the application. - - - Add-ins directory. If the path is relative, it is considered to be relative - to the configDir directory. - - - Creates a new add-in registry located in the provided path. - Configuration information about the add-in registry will be stored in - 'registryPath'. The add-in registry will look for add-ins in the provided - 'addinsDir' directory. - - When specifying a path, it is possible to use a special folder name as root. - For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced - by the location of the Environment.SpecialFolder.Personal folder. Any value - of the Environment.SpecialFolder enumeration can be used (always between square - brackets) - - - - - Initializes a new instance of the class. - - - Location of the add-in registry. - - - Location of the application. - - - Add-ins directory. If the path is relative, it is considered to be relative - to the configDir directory. - - - Location of the add-in database. If the path is relative, it is considered to be relative - to the configDir directory. - - - Creates a new add-in registry located in the provided path. - Configuration information about the add-in registry will be stored in - 'registryPath'. The add-in registry will look for add-ins in the provided - 'addinsDir' directory. Cached information about add-ins will be stored in - the 'databaseDir' directory. - - When specifying a path, it is possible to use a special folder name as root. - For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced - by the location of the Environment.SpecialFolder.Personal folder. Any value - of the Environment.SpecialFolder enumeration can be used (always between square - brackets) - - - - - Gets the global registry. - - - The global registry - - - The global add-in registry is created in "~/.config/mono.addins", - and it is the default registry used when none is specified. - - - - - Disposes the add-in engine. - - - - - Returns an add-in from the registry. - - - Identifier of the add-in. - - - The add-in, or 'null' if not found. - - - The add-in identifier may optionally include a version number, for example: "TextEditor.Xml,1.2" - - - - - Returns an add-in from the registry. - - - Identifier of the add-in. - - - 'true' if the exact add-in version must be found. - - - The add-in, or 'null' if not found. - - - The add-in identifier may optionally include a version number, for example: "TextEditor.Xml,1.2". - In this case, if the exact version is not found and exactVersionMatch is 'false', it will - return one than is compatible with the required version. - - - - - Gets all add-ins or add-in roots registered in the registry. - - - The addins. - - - Flags. - - - - - Gets all add-ins registered in the registry. - - - Add-ins registered in the registry. - - - - - Gets all add-in roots registered in the registry. - - - Descriptions of all add-in roots. - - - - - Loads an add-in description - - - Progress tracker. - - - Name of the file to load - - - An add-in description - - - This method loads an add-in description from a file. The file can be an XML manifest or an - assembly that implements an add-in. - - - - - Reads an XML add-in manifest - - - Path to the XML file - - - An add-in description - - - - - Reads an XML add-in manifest - - - Reader that contains the XML - - - Base path to use to discover add-in files - - - An add-in description - - - - - Checks whether an add-in is enabled. - - - Identifier of the add-in. - - - 'true' if the add-in is enabled. - - - - - Enables an add-in. - - - Identifier of the add-in - - - If the enabled add-in depends on other add-ins which are disabled, - those will automatically be enabled too. - - - - - Disables an add-in. - - - Identifier of the add-in. - - - When an add-in is disabled, all extension points it defines will be ignored - by the add-in engine. Other add-ins which depend on the disabled add-in will - also automatically be disabled. - - - - - Registers a set of add-ins for uninstallation. - - - Identifier of the add-in - - - Files to be uninstalled - - - This method can be used to instruct the add-in manager to uninstall - an add-in the next time the registry is updated. This is useful - when an add-in manager can't delete an add-in because if it is - loaded. - - - - - Determines whether an add-in is registered for uninstallation - - - true if the add-in is registered for uninstallation - - - Identifier of the add-in - - - - - Internal use only - - - - - Resets the configuration files of the registry - - - - - Updates the add-in registry. - - - This method must be called after modifying, installing or uninstalling add-ins. - - When calling Update, every add-in added to the registry is parsed and validated, - and if there is any error it will be rejected. It will also cache add-in information - needed at run-time. - - If during the update operation the registry finds new add-ins or detects that some - add-ins have been deleted, the loaded extension points will be updated to include - or exclude extension nodes from those add-ins. - - - - - Updates the add-in registry. - - - Progress monitor to keep track of the update operation. - - - This method must be called after modifying, installing or uninstalling add-ins. - - When calling Update, every add-in added to the registry is parsed and validated, - and if there is any error it will be rejected. It will also cache add-in information - needed at run-time. - - If during the update operation the registry finds new add-ins or detects that some - add-ins have been deleted, the loaded extension points will be updated to include - or exclude extension nodes from those add-ins. - - - - - Regenerates the cached data of the add-in registry. - - - Progress monitor to keep track of the rebuild operation. - - - - - Registers an extension. Only AddinFileSystemExtension extensions are supported right now. - - - The extension to register - - - - - Unregisters an extension. - - - The extension to unregister - - - - - Location of the add-in registry. - - - - - Gets a value indicating whether there are pending add-ins to be uninstalled installed - - - - - Gets the default add-ins folder of the registry. - - - For every add-in registry there is an add-in folder where the registry will look for add-ins by default. - This folder is an "addins" subdirectory of the directory where the repository is located. In most cases, - this folder will only contain .addins files referencing other more convenient locations for add-ins. - - - - - Addin search flags. - - - - - Add-ins are included in the search - - - - - Add-in roots are included in the search - - - - - Both add-in and add-in roots are included in the search - - - - - Only the latest version of every add-in or add-in root is included in the search - - - - - An IProgressStatus class which writes output to the console. - - - - - Progress status listener. - - - - - Sets the description of the current operation. - - - A message - - - This method is called by the add-in engine to show a description of the operation being monitorized. - - - - - Sets the progress of the operation. - - - A number between 0 and 1. 0 means no progress, 1 means operation completed. - - - This method is called by the add-in engine to show the progress of the operation being monitorized. - - - - - Writes text to the log. - - - Message to write - - - - - Reports a warning. - - - Warning message - - - This method is called by the add-in engine to report a warning in the operation being monitorized. - - - - - Reports an error. - - - Error message - - - Exception that caused the error. It can be null. - - - This method is called by the add-in engine to report an error occurred while executing the operation being monitorized. - - - - - Cancels the operation being montorized. - - - - - Log level requested by the user: 0: no log, 1: normal log, >1 verbose log - - - - - Returns True when the user requested to cancel this operation - - - - - Initializes a new instance - - - Set to true to enabled verbose log - - - - - Initializes a new instance - - - Verbosity level. 0: not verbose, 1: normal, >1 extra verbose - - - - - Sets the description of the current operation. - - - A message - - - This method is called by the add-in engine to show a description of the operation being monitorized. - - - - - Sets the progress of the operation. - - - A number between 0 and 1. 0 means no progress, 1 means operation completed. - - - This method is called by the add-in engine to show the progress of the operation being monitorized. - - - - - Writes text to the log. - - - Message to write - - - - - Reports a warning. - - - Warning message - - - This method is called by the add-in engine to report a warning in the operation being monitorized. - - - - - Reports an error. - - - Error message - - - Exception that caused the error. It can be null. - - - This method is called by the add-in engine to report an error occurred while executing the operation being monitorized. - - - - - Cancels the operation being montorized. - - - - - Returns True when the user requested to cancel this operation - - - - - Log level requested by the user: 0: no log, 1: normal log, >1 verbose log - - - - - Definition of a dependency of an add-in on another add-in. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - Full identifier of the add-in (includes version) - - - - - Initializes a new instance of the class. - - - Identifier of the add-in. - - - Version of the add-in. - - - - - Gets the full addin identifier. - - - The full addin identifier. - - - Includes namespace and version number. For example: MonoDevelop.TextEditor,1.0 - - - - - Gets or sets the addin identifier. - - - The addin identifier. - - - - - Gets or sets the version. - - - The version. - - - - - Display name of the dependency. - - - The name. - - - - - Indicates that a field or property is bound to a node attribute - - - - - Initializes a new instance - - - - - Initializes a new instance - - - XML name of the attribute. - - - - - Initializes a new instance - - - XML name of the attribute. - - - Description of the attribute. - - - - - Initializes a new instance - - - XML name of the attribute. - - - Indicates whether the attribute is required or not. - - - - - Initializes a new instance - - - XML name of the attribute. - - - Indicates whether the attribute is required or not. - - - Description of the attribute. - - - - - Initializes a new instance - - - XML name of the attribute. - - - Type of the extension node attribute. - - - The type of the attribute is only required when applying this attribute at class level. - It is not required when it is applied to a field, since the attribute type will be the type of the field. - - - - - Initializes a new instance - - - XML name of the attribute. - - - Type of the extension node attribute. - - - Description of the attribute. - - - The type of the attribute is only required when applying this attribute at class level. - It is not required when it is applied to a field, since the attribute type will be the type of the field. - - - - - Initializes a new instance - - - XML name of the attribute. - - - Type of the extension node attribute. - - - Indicates whether the attribute is required or not. - - - The type of the attribute is only required when applying this attribute at class level. - It is not required when it is applied to a field, since the attribute type will be the type of the field. - - - - - Initializes a new instance - - - XML name of the attribute. - - - Type of the extension node attribute. - - - Indicates whether the attribute is required or not. - - - Description of the attribute. - - - The type of the attribute is only required when applying this attribute at class level. - It is not required when it is applied to a field, since the attribute type will be the type of the field. - - - - - XML name of the attribute. - - - If the name is not specified, the field name to which the [NodeAttribute] - is applied will be used as name. Providing a name is mandatory when applying - [NodeAttribute] at class level. - - - - - Indicates whether the attribute is required or not. - - - - - Type of the extension node attribute. - - - To be used only when applying [NodeAttribute] at class level. It is not required when it - is applied to a field, since the attribute type will be the type of the field. - - - - - Description of the attribute. - - - To be used in the extension point documentation. - - - - - When set to True, the value of the field or property is expected to be a string id which - will be localized by the add-in engine - - - - - Gets or sets the type of the content. - - - Allows specifying the type of the content of a string attribute. - This value is for documentation purposes only. - - - - - A collection of add-in properties - - - - - Gets the value of a property - - - The property value. - - - Name of the property. - - - If the property is localized, it will return the value for the current language if exists, or the - default value if it doesn't. - - - - - Gets the value of a property - - - The property value. - - - Name of the property. - - - Locale for which the value must be returned. - - - - - Sets the value of a property - - - Name of the property - - - New value. - - - - - Sets the value of a property for a specific locale - - - Name of the property. - - - New value. - - - Locale of the property to be set. - - - - - Removes a property. - - - Name of the property. - - - This method only removes properties which have no locale set. - - - - - Removes a property with a specified locale - - - Name of the property - - - Locale of the property - - - - - Declares an add-in file import - - - An add-in may be composed by several assemblies and data files. - Data files must be declared in the main assembly using this attribute, or in the XML manifest. - - It is important to properly declare all files used by an add-in. - This information is used by setup tools to know exactly what needs to be packaged when creating - an add-in package, or to know what needs to be deleted when removing an add-in. - - - - - Initializes a new instance - - - Path to the file. Must be relative to the assembly declaring this attribute. - - - - - Path to the file. Must be relative to the assembly declaring this attribute. - - - - - A collection of node set identifiers - - - - - Gets the collection enumerator. - - - The enumerator. - - - - - Add the specified node set identifier. - - - Node set identifier. - - - - - Remove a node set identifier - - - Node set identifier. - - - - - Clears the collection - - - - - Checks if the specified identifier is present in the collection - - - true if the node set identifier is present. - - - - - Returns the index of the specified node set identifier - - - The index. - - - A node set identifier. - - - - - Gets the node set identifier at the specified index. - - - An index. - - - - - Gets the item count. - - - The count. - - - - - A module definition. - - - Optional modules can be used to declare extensions which will be registered only if some - specified add-in dependencies can be satisfied. - - - - - Initializes a new instance of the class. - - - - - Checks if this module depends on the specified add-in. - - - true if there is a dependency. - - - Identifier of the add-in - - - - - Adds an extension node to the module. - - - The extension node. - - - Path that identifies the extension point. - - - Node name. - - - This method creates a new Extension object for the provided path if none exist. - - - - - Gets an extension instance. - - - The extension instance. - - - Path that identifies the extension point that the extension extends. - - - This method creates a new Extension object for the provided path if none exist. - - - - - Adds an add-in reference (there is a typo in the method name) - - - Identifier of the add-in. - - - Version of the add-in. - - - - - Gets the list of paths to be ignored by the add-in scanner. - - - - - Gets all external files - - - All files. - - - External files are data files and assemblies explicitly referenced in the Runtime section of the add-in manifest. - - - - - Gets the list of external assemblies used by this module. - - - - - Gets the list of external data files used by this module - - - - - Gets the dependencies of this module - - - - - Gets the extensions of this module - - - - - Addin category attribute. - - - - - Initializes the attribute - - - The category to which the add-in belongs - - - - - The category to which the add-in belongs - - - - - A collection of node types. - - - - - Initializes a new instance of the class. - - - - - Gets the at the specified index. - - - The index. - - - - - Gets the with the specified id. - - - Identifier. - - - - - Description of the attribute of a node type. - - - - - Initializes a new instance of the class. - - - - - Copies data from another node attribute. - - - The attribute from which to copy. - - - - - Gets or sets the name of the attribute. - - - The name. - - - - - Gets or sets a value indicating whether this is required. - - - true if required; otherwise, false. - - - - - Gets or sets a value indicating whether this is localizable. - - - true if localizable; otherwise, false. - - - - - Gets or sets the type of the attribute. - - - The type. - - - - - Gets or sets the description of the attribute. - - - The description. - - - - - Gets or sets the type of the content. - - - Allows specifying the type of the content of a string attribute. - The value of this property is only informative, and it doesn't - have any effect on how add-ins are packaged or loaded. - - - - diff --git a/bin/mautil.exe b/bin/mautil.exe index 534df19..b197250 100755 Binary files a/bin/mautil.exe and b/bin/mautil.exe differ -- cgit v1.1 From d1f6ffc2fda6c0a348962b66367c04197c7271b5 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 16 Jan 2018 23:47:01 +0000 Subject: make mono.Addins files show version 1.3.7 --- bin/Mono.Addins.CecilReflector.dll | Bin 17920 -> 17920 bytes bin/Mono.Addins.Setup.dll | Bin 126464 -> 126464 bytes bin/Mono.Addins.dll | Bin 233984 -> 233984 bytes bin/mautil.exe | Bin 7680 -> 7680 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Mono.Addins.CecilReflector.dll b/bin/Mono.Addins.CecilReflector.dll index 1d4165a..8fd9ad7 100755 Binary files a/bin/Mono.Addins.CecilReflector.dll and b/bin/Mono.Addins.CecilReflector.dll differ diff --git a/bin/Mono.Addins.Setup.dll b/bin/Mono.Addins.Setup.dll index 62c71ae..a2b3598 100755 Binary files a/bin/Mono.Addins.Setup.dll and b/bin/Mono.Addins.Setup.dll differ diff --git a/bin/Mono.Addins.dll b/bin/Mono.Addins.dll index 2f9f07e..84ee01e 100755 Binary files a/bin/Mono.Addins.dll and b/bin/Mono.Addins.dll differ diff --git a/bin/mautil.exe b/bin/mautil.exe index b197250..022ca5a 100755 Binary files a/bin/mautil.exe and b/bin/mautil.exe differ -- cgit v1.1 From 2c252032c731d6aac9855c508e687af550bcdb23 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 17 Jan 2018 00:14:55 +0000 Subject: test adding missing dep --- bin/Mono.Cecil.dll | Bin 0 -> 333312 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 bin/Mono.Cecil.dll (limited to 'bin') diff --git a/bin/Mono.Cecil.dll b/bin/Mono.Cecil.dll new file mode 100644 index 0000000..122b0ec Binary files /dev/null and b/bin/Mono.Cecil.dll differ -- cgit v1.1 From 6dec7869b8446bd70b858d54b120bc237685d566 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 17 Jan 2018 00:55:55 +0000 Subject: update LukeSkywalker.IPNetwork (.net4.6) --- bin/LukeSkywalker.IPNetwork.dll | Bin 18432 -> 18432 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/LukeSkywalker.IPNetwork.dll b/bin/LukeSkywalker.IPNetwork.dll index 25bcc2f..9144939 100755 Binary files a/bin/LukeSkywalker.IPNetwork.dll and b/bin/LukeSkywalker.IPNetwork.dll differ -- cgit v1.1 From be02aece36ca645c7f1be0279fb14eaffd2cb729 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 17 Jan 2018 03:02:03 +0000 Subject: update C5 (.net4.6) --- bin/C5.dll | Bin 276992 -> 266752 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/C5.dll b/bin/C5.dll index 42093e5..079224c 100755 Binary files a/bin/C5.dll and b/bin/C5.dll differ -- cgit v1.1 From 2c8251d450d18b4ff2397a382575bae16bd54188 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 17 Jan 2018 03:46:24 +0000 Subject: update DotNetOpenId (.net4.6) --- bin/DotNetOpenId.dll | Bin 281088 -> 283648 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/DotNetOpenId.dll b/bin/DotNetOpenId.dll index aa62790..96279dc 100755 Binary files a/bin/DotNetOpenId.dll and b/bin/DotNetOpenId.dll differ -- cgit v1.1 From 20f3c46b783c9becfedbc0a4b41e13cfd0e423ee Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 18 Jan 2018 01:18:10 +0000 Subject: NDesk.options .net4.6 --- bin/NDesk.Options.dll | Bin 22016 -> 20992 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/NDesk.Options.dll b/bin/NDesk.Options.dll index df45878..23912c2 100755 Binary files a/bin/NDesk.Options.dll and b/bin/NDesk.Options.dll differ -- cgit v1.1 From c34f07b6f3e4bd27412d248382ff6c6945330917 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 20 Jan 2018 01:28:00 +0000 Subject: silent ignore mutes on HG visitors, let viewers do it on cache only, proper HG suport is another story... and questionable --- bin/Robust.HG.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 82bed30..a327c6b 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -522,7 +522,7 @@ ; If you run this login server behind a proxy, set this to true ; HasProxy = false - + ; Defaults for the users, if none is specified in the useraccounts table entry (ServiceURLs) ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" -- cgit v1.1 From 3f7ffc12c4079764bcd905fe66abce2a232b1eb3 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 24 Jan 2018 03:10:11 +0000 Subject: reduce max keepalime time to 60s --- bin/HttpServer_OpenSim.dll | Bin 120320 -> 120320 bytes bin/HttpServer_OpenSim.pdb | Bin 327168 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bin/HttpServer_OpenSim.pdb (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 3896899..5da241e 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb deleted file mode 100644 index 35b15cd..0000000 Binary files a/bin/HttpServer_OpenSim.pdb and /dev/null differ -- cgit v1.1 From e7b834874e42c5de0f69c86ddac85d2bdd2e42a3 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 24 Jan 2018 04:12:27 +0000 Subject: another change to httpserver dll --- bin/HttpServer_OpenSim.dll | Bin 120320 -> 120320 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 5da241e..e07f8ae 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ -- cgit v1.1 From fc224b444a8339aae2802fb919c34cfd994595f1 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 24 Jan 2018 10:02:18 +0000 Subject: avoid some large unnecessary strings --- bin/OpenSim32.exe.config | 1 + bin/Robust32.exe.config | 3 --- bin/Robust32.vshost.exe.config | 3 --- 3 files changed, 1 insertion(+), 6 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim32.exe.config b/bin/OpenSim32.exe.config index 9224240..a3b2026 100644 --- a/bin/OpenSim32.exe.config +++ b/bin/OpenSim32.exe.config @@ -1,3 +1,4 @@ +
diff --git a/bin/Robust32.exe.config b/bin/Robust32.exe.config index ca3ee0e..a27f22a 100644 --- a/bin/Robust32.exe.config +++ b/bin/Robust32.exe.config @@ -3,9 +3,6 @@
- - - diff --git a/bin/Robust32.vshost.exe.config b/bin/Robust32.vshost.exe.config index ca3ee0e..a27f22a 100644 --- a/bin/Robust32.vshost.exe.config +++ b/bin/Robust32.vshost.exe.config @@ -3,9 +3,6 @@
- - - -- cgit v1.1 From 13b4ce81991736cf424f598233fc43a5103cc939 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 27 Jan 2018 04:32:03 +0000 Subject: add Cap_FetchLib2 note that this is still local to regions, not using grid as it possible should, but this needs more work, and issue with HG older grids/regions --- bin/OpenSimDefaults.ini | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 51f6c9c..6c32c9b 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -843,6 +843,7 @@ Cap_WebFetchInventoryDescendents = "" Cap_FetchInventoryDescendents2 = "localhost" Cap_FetchInventory2 = "localhost" + Cap_FetchLib2 = "localhost" ; Capability for searching for people Cap_AvatarPickerSearch = "localhost" -- cgit v1.1 From 4381f16e186cd63210b7bcc5e4d34ea708fa0ba9 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 30 Jan 2018 08:15:42 +0000 Subject: keepalive is default --- bin/HttpServer_OpenSim.dll | Bin 120320 -> 120320 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index e07f8ae..fc37603 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ -- cgit v1.1 From 35d1642889384978ce9fe0b9115292be6de2fb18 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 31 Jan 2018 14:54:27 +0000 Subject: disable the new Cap_FetchLib2 because viewers do not suport it for opensim. To decide when to use it, they use a hardcode LL owner ID on same code paths, while on others just compare owner to the agent. This makes suport for this cap impossible" --- bin/OpenSimDefaults.ini | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 6c32c9b..d96ab4f 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -843,7 +843,11 @@ Cap_WebFetchInventoryDescendents = "" Cap_FetchInventoryDescendents2 = "localhost" Cap_FetchInventory2 = "localhost" - Cap_FetchLib2 = "localhost" + + ; do uncomment Cap_FetchLib2 for now + ; Current viewers do not suport it for opensim. + ; in same requests they use a hard coded ll library owner id. + ;Cap_FetchLib2 = "localhost" ; Capability for searching for people Cap_AvatarPickerSearch = "localhost" -- cgit v1.1 From 3635943d39c337f75a3be48fdb4be2cae20e4bd4 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 31 Jan 2018 15:19:16 +0000 Subject: remove cap FetchLib2 suport code --- bin/OpenSimDefaults.ini | 5 ----- 1 file changed, 5 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index d96ab4f..51f6c9c 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -844,11 +844,6 @@ Cap_FetchInventoryDescendents2 = "localhost" Cap_FetchInventory2 = "localhost" - ; do uncomment Cap_FetchLib2 for now - ; Current viewers do not suport it for opensim. - ; in same requests they use a hard coded ll library owner id. - ;Cap_FetchLib2 = "localhost" - ; Capability for searching for people Cap_AvatarPickerSearch = "localhost" -- cgit v1.1 From c889eb64e55b973211fe2024ab627bec2f740e48 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 2 Feb 2018 03:50:43 +0000 Subject: let ossl have its own config section --- bin/config-include/osslEnable.ini | 172 +++++++++++++++++++------------------- 1 file changed, 86 insertions(+), 86 deletions(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index aed43f0..7535b47 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -9,7 +9,7 @@ ; mis-used so the permission to execute a function can be limited. Ability to ; execute a function is based on the owner of the prim holding the script. -[XEngine] +[OSSL] ; Allow the use of os* functions (some are dangerous) AllowOSFunctions = true @@ -46,7 +46,7 @@ ; "PARCEL_GROUP_MEMBER" -- enable for any member of the parcel group ; uuid -- enable for specified ID (may be avatar or group ID) ; from this we can also create macros that can be include in the list as - ; ${XEngine|macroname} see examples below + ; ${OSSL|macroname} see examples below ; parcel macros ; Allowing ossl functions for anyone owning a parcel can be dangerous especially if @@ -62,7 +62,7 @@ ; NPC macros ; These can be mis-used so limit use to those you can trust. - osslNPC = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + osslNPC = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER ; The OSSL function name is prepended with "Allow_" and it checks against ; the owners of the containing prim. There can also be entries beginning with @@ -72,18 +72,18 @@ ; ************************************************* ; ThreatLevel None - Allow_osGetAgents = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetAvatarList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetAgents = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetAvatarList = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetGender = true Allow_osGetHealth = true Allow_osGetHealRate = true - Allow_osGetNPCList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetNPCList = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetRezzingObject = true - Allow_osNpcGetOwner = ${XEngine|osslNPC} + Allow_osNpcGetOwner = ${OSSL|osslNPC} Allow_osParseJSON = true Allow_osParseJSONNew = true - Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osTeleportOwner = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetSunParam = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osTeleportOwner = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osWindActiveModelPluginName = true ; ThreatLevel Nuisance @@ -91,100 +91,100 @@ Allow_osSetRegionSunSettings = ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel VeryLow - Allow_osEjectFromGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceBreakAllLinks = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceBreakLink = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osEjectFromGroup = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceBreakAllLinks = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceBreakLink = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetWindParam = true - Allow_osInviteToGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osInviteToGroup = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osReplaceString = true - Allow_osSetDynamicTextureData = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureDataFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureDataBlend = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureDataBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureURL = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureURLBlend = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureURLBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetParcelMediaURL = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetParcelSIPAddress = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureData = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureDataFace = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureDataBlend = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureDataBlendFace = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureURL = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureURLBlend = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureURLBlendFace = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetParcelMediaURL = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetParcelSIPAddress = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetPrimFloatOnWater = true - Allow_osSetWindParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetWindParam = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osTerrainFlush = ESTATE_MANAGER,ESTATE_OWNER Allow_osUnixTimeToTimestamp = true ; ThreatLevel Low - Allow_osAvatarName2Key = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osAvatarName2Key = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osFormatString = true - Allow_osKey2Name = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osKey2Name = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osListenRegex = true - Allow_osLoadedCreationDate = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osLoadedCreationID = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osLoadedCreationTime = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osMessageObject = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osLoadedCreationDate = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osLoadedCreationID = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osLoadedCreationTime = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osMessageObject = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osRegexIsMatch = true - Allow_osGetAvatarHomeURI = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osNpcSetProfileAbout = ${XEngine|osslNPC} - Allow_osNpcSetProfileImage = ${XEngine|osslNPC} - Allow_osDie = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetAvatarHomeURI = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osNpcSetProfileAbout = ${OSSL|osslNPC} + Allow_osNpcSetProfileImage = ${OSSL|osslNPC} + Allow_osDie = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel Moderate - Allow_osDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetGridCustom = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetGridGatekeeperURI = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetGridHomeURI = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetGridLoginURI = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osDropAttachment = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osDropAttachmentAt = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetGridCustom = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetGridGatekeeperURI = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetGridHomeURI = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetGridLoginURI = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetGridName = true Allow_osGetGridNick = true - Allow_osGetNumberOfAttachments = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetRegionStats = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetSimulatorMemory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetSimulatorMemoryKB = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osMessageAttachments = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetSpeed = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetNumberOfAttachments = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetRegionStats = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetSimulatorMemory = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetSimulatorMemoryKB = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osMessageAttachments = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetSpeed = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel High - Allow_osCauseDamage = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osCauseHealing = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetHealth = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetHealRate = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceAttachToAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceAttachToAvatarFromInventory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceCreateLink = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetLinkPrimitiveParams = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osCauseDamage = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osCauseHealing = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetHealth = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetHealRate = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceAttachToAvatar = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceAttachToAvatarFromInventory = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceCreateLink = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceDropAttachment = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceDropAttachmentAt = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetLinkPrimitiveParams = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetPhysicsEngineType = true - Allow_osGetPrimitiveParams = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetRegionMapTexture = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetPrimitiveParams = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetRegionMapTexture = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetScriptEngineName = true Allow_osGetSimulatorVersion = true - Allow_osMakeNotecard = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osMakeNotecard = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osMatchString = true - Allow_osNpcCreate = ${XEngine|osslNPC} - Allow_osNpcGetPos = ${XEngine|osslNPC} - Allow_osNpcGetRot = ${XEngine|osslNPC} - Allow_osNpcLoadAppearance = ${XEngine|osslNPC} - Allow_osNpcMoveTo = ${XEngine|osslNPC} - Allow_osNpcMoveToTarget = ${XEngine|osslNPC} - Allow_osNpcPlayAnimation = ${XEngine|osslNPC} - Allow_osNpcRemove = ${XEngine|osslNPC} - Allow_osNpcSaveAppearance = ${XEngine|osslNPC} - Allow_osNpcSay = ${XEngine|osslNPC} - Allow_osNpcSetRot = ${XEngine|osslNPC} - Allow_osNpcShout = ${XEngine|osslNPC} - Allow_osNpcSit = ${XEngine|osslNPC} - Allow_osNpcStand = ${XEngine|osslNPC} - Allow_osNpcStopAnimation = ${XEngine|osslNPC} - Allow_osNpcStopMoveToTarget = ${XEngine|osslNPC} - Allow_osNpcTouch = ${XEngine|osslNPC} - Allow_osNpcWhisper = ${XEngine|osslNPC} - Allow_osOwnerSaveAppearance = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osNpcCreate = ${OSSL|osslNPC} + Allow_osNpcGetPos = ${OSSL|osslNPC} + Allow_osNpcGetRot = ${OSSL|osslNPC} + Allow_osNpcLoadAppearance = ${OSSL|osslNPC} + Allow_osNpcMoveTo = ${OSSL|osslNPC} + Allow_osNpcMoveToTarget = ${OSSL|osslNPC} + Allow_osNpcPlayAnimation = ${OSSL|osslNPC} + Allow_osNpcRemove = ${OSSL|osslNPC} + Allow_osNpcSaveAppearance = ${OSSL|osslNPC} + Allow_osNpcSay = ${OSSL|osslNPC} + Allow_osNpcSetRot = ${OSSL|osslNPC} + Allow_osNpcShout = ${OSSL|osslNPC} + Allow_osNpcSit = ${OSSL|osslNPC} + Allow_osNpcStand = ${OSSL|osslNPC} + Allow_osNpcStopAnimation = ${OSSL|osslNPC} + Allow_osNpcStopMoveToTarget = ${OSSL|osslNPC} + Allow_osNpcTouch = ${OSSL|osslNPC} + Allow_osNpcWhisper = ${OSSL|osslNPC} + Allow_osOwnerSaveAppearance = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetContentType = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetContentType = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetPrimitiveParams = false - Allow_osSetProjectionParams = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetProjectionParams = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetStateEvents = false ; deprecated Allow_osSetTerrainHeight = ESTATE_MANAGER,ESTATE_OWNER @@ -203,20 +203,20 @@ Allow_osForceDetachFromAvatar = false Allow_osForceOtherSit = false ; The notecard functions can cause a lot of load on the region if over used - Allow_osGetNotecard = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetNotecardLine = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetNumberOfNotecardLines = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetNotecard = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetNotecardLine = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetNumberOfNotecardLines = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRot = false - Allow_osSetParcelDetails = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetParcelDetails = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel Severe Allow_osConsoleCommand = false Allow_osGrantScriptPermissions = false - Allow_osKickAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osKickAvatar = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osRevokeScriptPermissions = false - Allow_osTeleportAgent = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osTeleportObject = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osTeleportAgent = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osTeleportObject = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel Severe with additional internal restrictions Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable) -- cgit v1.1 From 20ca517887b6384811bdb63743beabee9c1c3e59 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 2 Feb 2018 13:04:45 +0000 Subject: update opensim.ini.example with XMRengine information --- bin/OpenSim.ini.example | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 3021dfa..5c9dab2 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -261,9 +261,13 @@ ; edit the line ulimit -s 262144, and change this last value ;# {DefaultScriptEngine} {} {Default script engine} {XEngine} XEngine - ;; Default script engine to use. Currently, we only have XEngine + ;; Default script engine to use (Xengine if all commented) ; DefaultScriptEngine = "XEngine" - + ;; ***DANGER***DANGER*** + ;; experimental engine + ;; see section [XMREngine} below + ; DefaultScriptEngine = "XMREngine" + ;# {HttpProxy} {} {Proxy URL for llHTTPRequest and dynamic texture loading} {} http://proxy.com:8080 ;; Http proxy setting for llHTTPRequest and dynamic texture loading, if ;; required @@ -915,6 +919,21 @@ ;; Money Unit fee to create groups. Default is 0. ; PriceGroupCreate = 0 +[XMREngine] + ;; experimental engine + ;; implements microthreading, so fixing problems like llSleep or long events handlers + ;; but those will suffer from timeslicing, so will be slower. + ;; compiles LSL directly to IL, so only suports LSL scripting ( no C# etc) + ;; shares the Xengine APIs like LSL, OSSL, etc. + ;; DANGER, do not use with HG, don't leave regions running alone with it. + ;; TPs or crossings to/from Xengine will recompile scripts losing state. + ;; attachment scripts may misbehave, cars will stop on crossings, etc. + Enabled = false + UThreadModel = sys + ScriptStackSize = 256 + ScriptHeapSize = 256 + UseSourceHashCode = true + MinTimerInterval = 0.1 [XEngine] ;# {Enabled} {} {Enable the XEngine scripting engine?} {true false} true -- cgit v1.1 From 617d76697d1f5d6f7c44badbbb6af169495ae7eb Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 3 Feb 2018 21:18:32 +0000 Subject: make XMR script cache location option visible --- bin/OpenSim.ini.example | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 5c9dab2..40bbb26 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -923,7 +923,7 @@ ;; experimental engine ;; implements microthreading, so fixing problems like llSleep or long events handlers ;; but those will suffer from timeslicing, so will be slower. - ;; compiles LSL directly to IL, so only suports LSL scripting ( no C# etc) + ;; compiles LSL directly to IL, so only suports LSL scripting (no C# etc) ;; shares the Xengine APIs like LSL, OSSL, etc. ;; DANGER, do not use with HG, don't leave regions running alone with it. ;; TPs or crossings to/from Xengine will recompile scripts losing state. @@ -933,7 +933,8 @@ ScriptStackSize = 256 ScriptHeapSize = 256 UseSourceHashCode = true - MinTimerInterval = 0.1 + MinTimerInterval = 0.1 + ;ScriptBasePath="ScriptData" [XEngine] ;# {Enabled} {} {Enable the XEngine scripting engine?} {true false} true -- cgit v1.1 From a7e2978db9e358a95bb4fa2af029dfc5de7b9de1 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 4 Feb 2018 02:51:40 +0000 Subject: fix log4net for .net4.6 --- bin/log4net.dll | Bin 266240 -> 266240 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/log4net.dll b/bin/log4net.dll index 2167221..7740fbd 100755 Binary files a/bin/log4net.dll and b/bin/log4net.dll differ -- cgit v1.1 From cddb848c13f39c5e715a745c75214dba8d87b5d7 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 7 Feb 2018 18:38:37 +0000 Subject: add a warning about XMR only suoprting one region per instance at this point, it was never made to suport more --- bin/OpenSim.ini.example | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 40bbb26..fc29304 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -921,6 +921,7 @@ [XMREngine] ;; experimental engine + ;; ONLY SUPORTS ONE REGION PER INSTANCE at this point ;; implements microthreading, so fixing problems like llSleep or long events handlers ;; but those will suffer from timeslicing, so will be slower. ;; compiles LSL directly to IL, so only suports LSL scripting (no C# etc) -- cgit v1.1 From 2129d941acbc5f83aca4dc4c30a62d3226888136 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 23 Feb 2018 14:52:34 +0000 Subject: rename XMREngine as Yengine (still not all done), big mess source formating changes, move state files to proper folder, fix a source file locking on errors, more changes for cross platform including from Mike,... yes yes i know a messy commit --- bin/OpenSim.ini.example | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index fc29304..57dd6fd 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -265,8 +265,8 @@ ; DefaultScriptEngine = "XEngine" ;; ***DANGER***DANGER*** ;; experimental engine - ;; see section [XMREngine} below - ; DefaultScriptEngine = "XMREngine" + ;; see section [YEngine} below + ; DefaultScriptEngine = "YEngine" ;# {HttpProxy} {} {Proxy URL for llHTTPRequest and dynamic texture loading} {} http://proxy.com:8080 ;; Http proxy setting for llHTTPRequest and dynamic texture loading, if @@ -922,20 +922,19 @@ [XMREngine] ;; experimental engine ;; ONLY SUPORTS ONE REGION PER INSTANCE at this point - ;; implements microthreading, so fixing problems like llSleep or long events handlers + ;; implements non preemptive microthreading, so fixing problems like llSleep or long events handlers ;; but those will suffer from timeslicing, so will be slower. ;; compiles LSL directly to IL, so only suports LSL scripting (no C# etc) ;; shares the Xengine APIs like LSL, OSSL, etc. ;; DANGER, do not use with HG, don't leave regions running alone with it. - ;; TPs or crossings to/from Xengine will recompile scripts losing state. + ;; TPs or crossings to/from Xengine will full recompile scripts losing state. ;; attachment scripts may misbehave, cars will stop on crossings, etc. Enabled = false - UThreadModel = sys ScriptStackSize = 256 ScriptHeapSize = 256 UseSourceHashCode = true MinTimerInterval = 0.1 - ;ScriptBasePath="ScriptData" + ;ScriptBasePath="ScriptEngines" [XEngine] ;# {Enabled} {} {Enable the XEngine scripting engine?} {true false} true -- cgit v1.1 From 2f94fa4dc761543a429beb948d0ccd6c30621275 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 23 Feb 2018 17:59:30 +0000 Subject: Yengine fix its section name on opensim.ini.example --- bin/OpenSim.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 57dd6fd..e593c9d 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -919,7 +919,7 @@ ;; Money Unit fee to create groups. Default is 0. ; PriceGroupCreate = 0 -[XMREngine] +[YEngine] ;; experimental engine ;; ONLY SUPORTS ONE REGION PER INSTANCE at this point ;; implements non preemptive microthreading, so fixing problems like llSleep or long events handlers -- cgit v1.1 From c5ce9b7be81414ea078477fe89e886bab3777edc Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 5 Mar 2018 20:37:58 +0000 Subject: make the setting economymodule visible on Economy section of OpenSimDefaults.ini and OpenSim.ini.example. This setting must be changed to allow other modules and disable our simple one. (ours does look for it at Startup section for legacy reasons) --- bin/OpenSim.ini.example | 4 ++++ bin/OpenSimDefaults.ini | 48 ++++++++++++++++++++++++++++-------------------- 2 files changed, 32 insertions(+), 20 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 14a41b0..21f9841 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -864,6 +864,10 @@ ;DATA_SRV_MISearch = "http://metaverseink.com/cgi-bin/register.py" [Economy] + ; the economy module in use + ; To use other modules you need to override this setting + ; economymodule = BetaGridLikeMoneyModule + ;# {SellEnabled} {} {Enable selling for 0?} {true false} true ; The default economy module only implements just enough to allow free actions (transfer of objects, etc). ; There is no intention to implement anything further in core OpenSimulator. diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index bb81c95..d76565a 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1709,40 +1709,48 @@ ; data service ;DATA_SRV_MISearch = "http://metaverseink.com/cgi-bin/register.py" - + [Economy] + ; the economy module in use + ; default is the provided BetaGridLikeMoneyModule + ; - This module is for demonstration only - + ; The default economy module only implements just enough to allow free actions (transfer of objects, etc). + ; There is no intention to implement anything further in core OpenSimulator. + ; This functionality has to be provided by third party modules. + ; To use other modules you need to override this setting on OpenSim.ini Economy (or startup) section + ; economymodule = BetaGridLikeMoneyModule + ; These economy values get used in the BetaGridLikeMoneyModule. - This module is for demonstration only - ; The default economy module only implements just enough to allow free actions (transfer of objects, etc). ; There is no intention to implement anything further in core OpenSimulator. ; This functionality has to be provided by third party modules. ;; Enables selling things for $0. Default is true. - SellEnabled = true + ; SellEnabled = true ;; Money Unit fee to upload textures, animations etc. Default is 0. - PriceUpload = 0 + ;PriceUpload = 0 ;; Money Unit fee to create groups. Default is 0. - PriceGroupCreate = 0 + ;PriceGroupCreate = 0 ; We don't really know what the rest of these values do. These get sent to the client ; These taken from Agni at a Public Telehub. Change at your own risk. - ObjectCount = 0 - PriceEnergyUnit = 100 - PriceObjectClaim = 10 - PricePublicObjectDecay = 4 - PricePublicObjectDelete = 4 - PriceParcelClaim = 1 - PriceParcelClaimFactor = 1 - - PriceRentLight = 5 - TeleportMinPrice = 2 - TeleportPriceExponent = 2 - EnergyEfficiency = 1 - PriceObjectRent = 1 - PriceObjectScaleFactor = 10 - PriceParcelRent = 1 - + ;ObjectCount = 0 + ;PriceEnergyUnit = 0 + ;PriceObjectClaim = 0 + ;PricePublicObjectDecay = 0 + ;PricePublicObjectDelete = 0 + ;PriceParcelClaim = 0 + ;PriceParcelClaimFactor = 1 + + ;PriceRentLight = 0 + ;TeleportMinPrice = 0 + ;TeleportPriceExponent = 2 + ;EnergyEfficiency = 1 + ;PriceObjectRent = 0 + ;PriceObjectScaleFactor = 10 + ;PriceParcelRent = 0 [XEngine] ; Enable this engine in this OpenSim instance -- cgit v1.1 From d5434216754fb9af18359d103f520f94fb7589fb Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 5 Mar 2018 20:37:58 +0000 Subject: make the setting economymodule visible on Economy section of OpenSimDefaults.ini and OpenSim.ini.example. This setting must be changed to allow other modules and disable our simple one. (ours does also look for it at Startup section for legacy reasons) --- bin/OpenSim.ini.example | 4 ++++ bin/OpenSimDefaults.ini | 48 ++++++++++++++++++++++++++++-------------------- 2 files changed, 32 insertions(+), 20 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 14a41b0..21f9841 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -864,6 +864,10 @@ ;DATA_SRV_MISearch = "http://metaverseink.com/cgi-bin/register.py" [Economy] + ; the economy module in use + ; To use other modules you need to override this setting + ; economymodule = BetaGridLikeMoneyModule + ;# {SellEnabled} {} {Enable selling for 0?} {true false} true ; The default economy module only implements just enough to allow free actions (transfer of objects, etc). ; There is no intention to implement anything further in core OpenSimulator. diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index bb81c95..d76565a 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1709,40 +1709,48 @@ ; data service ;DATA_SRV_MISearch = "http://metaverseink.com/cgi-bin/register.py" - + [Economy] + ; the economy module in use + ; default is the provided BetaGridLikeMoneyModule + ; - This module is for demonstration only - + ; The default economy module only implements just enough to allow free actions (transfer of objects, etc). + ; There is no intention to implement anything further in core OpenSimulator. + ; This functionality has to be provided by third party modules. + ; To use other modules you need to override this setting on OpenSim.ini Economy (or startup) section + ; economymodule = BetaGridLikeMoneyModule + ; These economy values get used in the BetaGridLikeMoneyModule. - This module is for demonstration only - ; The default economy module only implements just enough to allow free actions (transfer of objects, etc). ; There is no intention to implement anything further in core OpenSimulator. ; This functionality has to be provided by third party modules. ;; Enables selling things for $0. Default is true. - SellEnabled = true + ; SellEnabled = true ;; Money Unit fee to upload textures, animations etc. Default is 0. - PriceUpload = 0 + ;PriceUpload = 0 ;; Money Unit fee to create groups. Default is 0. - PriceGroupCreate = 0 + ;PriceGroupCreate = 0 ; We don't really know what the rest of these values do. These get sent to the client ; These taken from Agni at a Public Telehub. Change at your own risk. - ObjectCount = 0 - PriceEnergyUnit = 100 - PriceObjectClaim = 10 - PricePublicObjectDecay = 4 - PricePublicObjectDelete = 4 - PriceParcelClaim = 1 - PriceParcelClaimFactor = 1 - - PriceRentLight = 5 - TeleportMinPrice = 2 - TeleportPriceExponent = 2 - EnergyEfficiency = 1 - PriceObjectRent = 1 - PriceObjectScaleFactor = 10 - PriceParcelRent = 1 - + ;ObjectCount = 0 + ;PriceEnergyUnit = 0 + ;PriceObjectClaim = 0 + ;PricePublicObjectDecay = 0 + ;PricePublicObjectDelete = 0 + ;PriceParcelClaim = 0 + ;PriceParcelClaimFactor = 1 + + ;PriceRentLight = 0 + ;TeleportMinPrice = 0 + ;TeleportPriceExponent = 2 + ;EnergyEfficiency = 1 + ;PriceObjectRent = 0 + ;PriceObjectScaleFactor = 10 + ;PriceParcelRent = 0 [XEngine] ; Enable this engine in this OpenSim instance -- cgit v1.1 From 6b24ff0bc91076d7dd20e89eaedd43d89680807e Mon Sep 17 00:00:00 2001 From: Kevin Cozens Date: Mon, 19 Mar 2018 12:30:03 -0400 Subject: Removed trailing whitespace --- bin/OpenSim.ini.example | 122 +++++++-------- bin/OpenSimDefaults.ini | 188 ++++++++++++------------ bin/Robust.HG.ini.example | 86 +++++------ bin/Robust.Tests.ini | 22 +-- bin/Robust.ini.example | 46 +++--- bin/config-include/Grid.ini | 2 +- bin/config-include/GridCommon.ini.example | 16 +- bin/config-include/HyperSimianGrid.ini | 10 +- bin/config-include/SimianGrid.ini | 8 +- bin/config-include/Standalone.ini | 8 +- bin/config-include/StandaloneCommon.ini.example | 24 +-- bin/config-include/StandaloneHypergrid.ini | 12 +- bin/config-include/osslEnable.ini | 32 ++-- bin/pCampBot.ini.example | 4 +- 14 files changed, 290 insertions(+), 290 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 21f9841..c610b3f 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1,6 +1,6 @@ ;; This is the main configuration file for OpenSimulator. ;; If it's named OpenSim.ini then it will be loaded by OpenSimulator. -;; If it's named OpenSim.ini.example then you will need to copy it to +;; If it's named OpenSim.ini.example then you will need to copy it to ;; OpenSim.ini first (if that file does not already exist) ;; ;; Once you have copied OpenSim.ini.example to OpenSim.ini you will at least @@ -10,19 +10,19 @@ ;; StandaloneCommon.ini or GridCommon.ini which you can copy and modify from the ;; available .example files. ;; -;; The settings in this file are in the form " = ". For example, +;; The settings in this file are in the form " = ". For example, ;; save_crashes = false in the [Startup] section below. ;; -;; All settings are initially commented out and the default value used, as -;; found in OpenSimDefaults.ini. To change a setting, first uncomment it by +;; All settings are initially commented out and the default value used, as +;; found in OpenSimDefaults.ini. To change a setting, first uncomment it by ;; deleting the initial semicolon (;) and then change the value. This will ;; override the value in OpenSimDefaults.ini -;; +;; ;; If you want to find out what configuration OpenSimulator has finished with ;; once all the configuration files are loaded then type "config show" on the ;; region console command line. ;; -;; +;; ;; NOTES FOR DEVELOPERS REGARDING THE FORMAT OF THIS FILE ;; ;; All leading white space is ignored, but preserved. @@ -41,7 +41,7 @@ ;; satisfied. ;; ;; ; denotes a commented out option. -;; Any options added to OpenSim.ini.example should be initially commented +;; Any options added to OpenSim.ini.example should be initially commented ;; out. @@ -54,10 +54,10 @@ ;# {BaseHostname} {} {BaseHostname} {"example.com" "127.0.0.1"} "127.0.0.1" BaseHostname = "127.0.0.1" - + ;# {BaseURL} {} {BaseURL} {"http://${Const|BaseHostname}} "http://${Const|BaseHostname}" BaseURL = http://${Const|BaseHostname} - + ;# {PublicPort} {} {PublicPort} {8002 9000} "8002" PublicPort = "8002" @@ -111,14 +111,14 @@ ; PIDFile = "/tmp/OpenSim.exe.pid" ;# {RegistryLocation} {} {Addins Registry Location} {} - ; Set path to directory for addin registry if you want addins outside of bin. - ; Information about the registered repositories and installed plugins will + ; Set path to directory for addin registry if you want addins outside of bin. + ; Information about the registered repositories and installed plugins will ; be stored here. The OpenSim.exe process must have R/W access to the location. ; RegistryLocation = "." ;# {ConfigDirectory} {} {Set path to directory for modular ini files} {} ; Used by region module addins. You can set this to outside bin, so that addin - ; configurations will survive updates. The OpenSim.exe process must have R/W access + ; configurations will survive updates. The OpenSim.exe process must have R/W access ; to the location. ; ConfigDirectory = "." @@ -128,7 +128,7 @@ ;; Default is "filesystem" ; region_info_source = "filesystem" ; region_info_source = "web" - + ;# {regionload_regionsdir} {region_info_source} {Location of file?} {} Regions ;; Determines where the region XML files are stored if you are loading ;; these from the filesystem. @@ -149,14 +149,14 @@ ; allow_regionless = false ;# {NonPhysicalPrimMin} {} {Minimum size of nonphysical prims?} {} 0.001 - ;; Minimum size for non-physical prims. Affects resizing of existing - ;; prims. This can be overridden in the region config file (as + ;; Minimum size for non-physical prims. Affects resizing of existing + ;; prims. This can be overridden in the region config file (as ;; NonPhysicalPrimMin!). ; NonPhysicalPrimMin = 0.001 ;# {NonPhysicalPrimMax} {} {Maximum size of nonphysical prims?} {} 256 ;; Maximum size for non-physical prims. Affects resizing of existing - ;; prims. This can be overridden in the region config file (as + ;; prims. This can be overridden in the region config file (as ;; NonPhysicalPrimMax!). ; NonPhysicalPrimMax = 256 @@ -186,7 +186,7 @@ ;; Allow scripts to keep running when they cross region boundaries, rather ;; than being restarted. State is reloaded on the destination region. ;; This only applies when crossing to a region running in a different - ;; simulator. + ;; simulator. ;; For crossings where the regions are on the same simulator the script is ;; always kept running. ; AllowScriptCrossing = true @@ -243,14 +243,14 @@ ; meshing = ZeroMesher ;; select ubODEMeshmerizer only with ubOde physics engine ; meshing = ubODEMeshmerizer - + ;; Choose one of the physics engines below ;# {physics} {} {Select physics engine} {OpenDynamicsEngine BulletSim basicphysics POS} BulletSim ;; BulletSim is the default physics engine. It provides the best performance and most functionality. ;; BulletSim supports varregions. - ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. + ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. ;; It continues to provide a workable physics implementation. It does not currently support varregions. - ;; basicphysics effectively does not model physics at all, making all objects phantom. + ;; basicphysics effectively does not model physics at all, making all objects phantom. ;; Default is BulletSim ; physics = OpenDynamicsEngine ; physics = BulletSim @@ -262,7 +262,7 @@ ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions ; edit the line ulimit -s 262144, and change this last value - + ;# {DefaultScriptEngine} {} {Default script engine} {XEngine} XEngine ;; Default script engine to use. Currently, we only have XEngine ; DefaultScriptEngine = "XEngine" @@ -325,16 +325,16 @@ [Map] ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true - ;; Map tile options. + ;; Map tile options. ;; If true, then maptiles are generated using the MapImageModule below. ;; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden - ;; in individual region config file(s). If you do not want to upload map tiles at all, then you will need + ;; in individual region config file(s). If you do not want to upload map tiles at all, then you will need ;; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/ ; GenerateMaptiles = true ;# {MapImageModule} {} {The map image module to use} {MapImageModule Warp3DImageModule} MapImageModule ;; The module to use in order to generate map images. - ;; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can + ;; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can ;; generate better images. ;MapImageModule = "MapImageModule" @@ -421,7 +421,7 @@ ;; This is definitely not SL! ;; Provides a simple control for land owners to give build rights to ;; specific avatars in publicly accessible parcels that disallow object - ;; creation in general. + ;; creation in general. ;; Owners specific avatars by adding them to the Access List of the parcel ;; without having to use the Groups feature ; simple_build_permissions = false @@ -442,12 +442,12 @@ ; ** Standalone Estate Settings ** - ; The following parameters will only be used on a standalone system to + ; The following parameters will only be used on a standalone system to ; create an estate owner that does not already exist ;# {DefaultEstateOwnerUUID} {} {Default estate owner UUID?} {} 00000000-0000-0000-0000-000000000000 - ;; If DefaultEstateOwnerUUID is left at UUID.Zero (as below) then a random - ;; UUID will be assigned. This is normally what you want + ;; If DefaultEstateOwnerUUID is left at UUID.Zero (as below) then a random + ;; UUID will be assigned. This is normally what you want ; DefaultEstateOwnerUUID = 00000000-0000-0000-0000-000000000000 ;# {DefaultEstateOwnerEMail} {} {Default estate owner email?} {} @@ -516,11 +516,11 @@ ; You can whitelist individual endpoints by IP or FQDN, e.g. ; ; OutboundDisallowForUserScriptsExcept = 192.168.1.3:8003 - ; + ; ; You can specify multiple addresses by separating them with a bar. For example, ; ; OutboundDisallowForUserScriptsExcept = 192.168.1.3:8003|myinternalserver:8000 - ; + ; ; If an address if given without a port number then port 80 is assumed ; ; You can also specify a network range in CIDR notation to whitelist, e.g. @@ -537,7 +537,7 @@ ;# {HttpBodyMaxLenMAX} {} {Maximum bytes allowed for HTTP_BODY_MAXLENGTH} {} 16384 ;; By default, llHTTPRequest limits the response body to 2048 bytes. ;; This limit can be extended using HTTP_BODY_MAXLENGTH to a maximum - ;; of HttpBodyMaxLenMAX bytes. + ;; of HttpBodyMaxLenMAX bytes. ;; Please be aware that the limit can be set to insanely high values, ;; effectively removing any limitation. This will expose your sim to a ;; known attack. It is not recommended to set this limit higher than @@ -549,7 +549,7 @@ ;; Hostname to use in llRequestURL/llRequestSecureURL ;; if not defined - llRequestURL/llRequestSecureURL are disabled ExternalHostNameForLSL = ${Const|BaseHostname} - + ;# {shard} {} {Name to use for X-Secondlife-Shard header? (press enter if unsure)} {} OpenSim ;; What is reported as the "X-Secondlife-Shard" ;; Defaults to the user server url if not set @@ -561,7 +561,7 @@ ;; What is reported as the "User-Agent" when using llHTTPRequest ;; Defaults to not sent if not set here. See the notes section in the wiki ;; at http://wiki.secondlife.com/wiki/LlHTTPRequest for comments on adding - ;; " (Mozilla Compatible)" to the text where there are problems with a + ;; " (Mozilla Compatible)" to the text where there are problems with a ;; web server ; user_agent = "OpenSim LSL (Mozilla Compatible)" @@ -578,9 +578,9 @@ [XMLRPC] ;# {XmlRpcRouterModule} {} {Module used to route incoming llRemoteData calls} {XmlRpcRouterModule XmlRpcGridRouterModule} XmlRpcRouterModule - ;; If enabled and set to XmlRpcRouterModule, this will post an event, - ;; "xmlrpc_uri(string)" to the script concurrently with the first - ;; remote_data event. This will contain the fully qualified URI an + ;; If enabled and set to XmlRpcRouterModule, this will post an event, + ;; "xmlrpc_uri(string)" to the script concurrently with the first + ;; remote_data event. This will contain the fully qualified URI an ;; external site needs to use to send XMLRPC requests to that script ;; ;; If enabled and set to XmlRpcGridRouterModule, newly created channels @@ -593,7 +593,7 @@ ;# {XmlRpcHubURI} {XmlRpcRouterModule} {URI for external service used to register xmlrpc channels created in the simulator. This depends on XmlRpcRouterModule being set to XmlRpcGridRouterModule} {} http://example.com ;; If XmlRpcRouterModule is set to XmlRpcGridRouterModule, the simulator ;; will use this address to register xmlrpc channels on the external - ;; service + ;; service ; XmlRpcHubURI = http://example.com @@ -693,7 +693,7 @@ ; if you uncoment both (url is ignored) the mutes will be deleted at login on this instance regions ; WARNING: viewers mutes cache seems to shared by all grids, including SL ; this may cause some confusion. - + ;# {MuteListModule} {MuteListModule:MuteListModule} {} {} None ; MuteListModule = MuteListModule @@ -714,7 +714,7 @@ [ODEPhysicsSettings] ;# {mesh_sculpted_prim} {[Startup]physics:OpenDynamicsEngine} {Mesh sculpties so they collide as they look?} {true false} true ;; Do we want to mesh sculpted prim to collide like they look? - ;; If you are seeing sculpt texture decode problems + ;; If you are seeing sculpt texture decode problems ;; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception") ;; then you might want to try setting this to false. ; mesh_sculpted_prim = true @@ -867,7 +867,7 @@ ; the economy module in use ; To use other modules you need to override this setting ; economymodule = BetaGridLikeMoneyModule - + ;# {SellEnabled} {} {Enable selling for 0?} {true false} true ; The default economy module only implements just enough to allow free actions (transfer of objects, etc). ; There is no intention to implement anything further in core OpenSimulator. @@ -901,7 +901,7 @@ ;; llSetTimerEvent minimum value. Default 0.5s, 0.05s whould be more resonable ; MinTimerInterval = 0.5 - + ;# {Priority} {Enabled:true} {Priority for script engine threads?} {Lowest BelowNormal Normal AboveNormal Highest} BelowNormal ;; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", ;; "Highest") @@ -916,7 +916,7 @@ ; ThreadStackSize = 262144 ;; Set this to true to load each script into a separate - ;; AppDomain. + ;; AppDomain. ;; ;; Setting this to false will load all script assemblies into the ;; current AppDomain, which will significantly improve script loading times. @@ -929,15 +929,15 @@ ;; this should only be a issue if regions stay alive for a long time with lots of scripts added or edited. ; AppDomainLoading = false - ;; Controls whether scripts are stopped by aborting their threads externally (abort) or by co-operative checks from the compiled script (co-op) + ;; Controls whether scripts are stopped by aborting their threads externally (abort) or by co-operative checks from the compiled script (co-op) ;; co-op will be more stable but this option is currently experimental. ;; If moving from co-op to abort, existing script DLLs will need to be recompiled. - ;; This currently can only be done manually, either by setting DeleteScriptsOnStartup = true for one run + ;; This currently can only be done manually, either by setting DeleteScriptsOnStartup = true for one run ;; or by deleting the script DLL* files in bin/ScriptEngines// ;; One can move from co-op back to abort without recompilation, but reverting back to co-op again will need script recompile ;; Current valid values are "abort" and "co-op" ; ScriptStopStrategy = co-op - + ;# {DeleteScriptsOnStartup} {} {Delete previously compiled script DLLs on startup?} {true false} true ;; Controls whether previously compiled scripts DLLs are deleted on sim restart. If you set this to false @@ -952,7 +952,7 @@ ;; But this costs a lot of time, so region load will take a lot longer. ;; it is more usefull if there are no previously compiled scripts DLLs (as with DeleteScriptsOnStartup = true) ;CompactMemOnLoad = false - + ;; Compile debug info (line numbers) into the script assemblies ; CompileWithDebugInformation = true @@ -1060,7 +1060,7 @@ ;; or... use Groups Module V2, which works for standalones and robust grids ; Module = "Groups Module V2" - ;# {StorageProvider} {Module:Groups Module V2} {The DLL that provides the storage for V2} {OpenSim.Data.MySQL.dll} + ;# {StorageProvider} {Module:Groups Module V2} {The DLL that provides the storage for V2} {OpenSim.Data.MySQL.dll} ; StorageProvider = OpenSim.Data.MySQL.dll ;# {ServicesConnectorModule} {Module:GroupsModule Module:Groups Module V2} {Service connector to use for groups} {XmlRpcGroupsServicesConnector SimianGroupsServicesConnector "Groups Local Service Connector" "Groups Remote Service Connector" "Groups HG Service Connector"} XmlRpcGroupsServicesConnector @@ -1078,7 +1078,7 @@ ; LocalService = local ;# {SecretKey} {ServicesConnectorModule:Groups Remote Service Connector} {Secret key between sim and remote group service} {} "" - ;; Used for V2 in Remote only. + ;; Used for V2 in Remote only. ; SecretKey = "" ;# {GroupsServerURI} {Module:GroupsModule (ServicesConnectorModule:Groups Remote Service Connector or (ServicesConnectorModule:Groups HG Service Connector and LocalService:remote))} {Groups Server URI} {} @@ -1089,11 +1089,11 @@ ;; Leave it commented for standalones, V2 ; GroupsServerURI = "" - ;# {HomeURI} {ServicesConnectorModule:Groups HG Service Connector} {What's the home address of this world?} {} + ;# {HomeURI} {ServicesConnectorModule:Groups HG Service Connector} {What's the home address of this world?} {} ;; Used for V2 in HG only. For example ;; http://mygridserver.com:9000 or http://mygridserver.com:8002 ;; If you have this set under [Startup], no need to set it here, leave it commented - ; HomeURI = "" + ; HomeURI = "" ;# {MessagingEnabled} {Module:GroupsModule Module:Groups Module V2} {Is groups messaging enabled?} {true false} true ; MessagingEnabled = true @@ -1134,7 +1134,7 @@ ; TEST OPTION KEEP AS FALSE ; if true, don't send object updates if outside view range - ; ObjectsCullingByDistance = false + ; ObjectsCullingByDistance = false [MediaOnAPrim] ;# {Enabled} {} {Enable Media-on-a-Prim (MOAP)} {true false} true @@ -1145,24 +1145,24 @@ [NPC] ;# {Enabled} {} {Enable Non Player Character (NPC) facilities} {true false} false ; Enabled = false - + ;; several options to control NPCs creation - + ;# {AllowNotOwned} {} {allow NPCs to be created not Owned} {true false} true ;; allow NPCs to be created not Owned {true false} default: true ; AllowNotOwned = true - + ;# {AllowSenseAsAvatar} {} {allow NPCs to set to be sensed as Avatars} {true false} true ;; allow NPCs to set to be sensed as Avatars {true false} default: true ; AllowSenseAsAvatar = true - + ;# {AllowCloneOtherAvatars} {} {allow NPCs to created cloning any avatar in region} {true false} true ;; allow NPCs to created cloning any avatar in region {true false} default: true ; AllowCloneOtherAvatars = true - + ;# {NoNPCGroup} {} {if true NPCs will have no group title, if false display "- NPC -"} {true false} true ;; if true NPCs will have no group title, if false display "- NPC -" for easy identification {true false} default: true - ; NoNPCGroup = true + ; NoNPCGroup = true [Terrain] @@ -1172,13 +1172,13 @@ [LandManagement] ;; set this to false to not display parcel ban lines ;ShowParcelBansLines = true - + [UserProfiles] ;# {ProfileServiceURL} {} {Set url to UserProfilesService} {} ;; Set the value of the url to your UserProfilesService ;; If un-set / "" the module is disabled ;; ProfileServiceURL = ${Const|BaseURL}:${Const|PublicPort} - + ;# {AllowUserProfileWebURLs} {} {allow user profiles web urls} {true false} true ;; set this to false to prevent your users to be sent to unknown ;; web sites by other users on their profiles @@ -1203,11 +1203,11 @@ ;# {Include-Architecture} {} {Choose one of the following architectures} {config-include/Standalone.ini config-include/StandaloneHypergrid.ini config-include/Grid.ini config-include/GridHypergrid.ini config-include/SimianGrid.ini config-include/HyperSimianGrid.ini} config-include/Standalone.ini ;; Uncomment one of the following includes as required. For instance, to create a standalone OpenSim, ;; uncomment Include-Architecture = "config-include/Standalone.ini" - ;; + ;; ;; Then you will need to copy and edit the corresponding *Common.example file in config-include/ ;; that the referenced .ini file goes on to include. ;; - ;; For instance, if you chose "config-include/Standalone.ini" then you will need to copy + ;; For instance, if you chose "config-include/Standalone.ini" then you will need to copy ;; "config-include/StandaloneCommon.ini.example" to "config-include/StandaloneCommon.ini" before ;; editing it to set the database and backend services that OpenSim will use. ;; diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index d76565a..bda3cce 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -4,7 +4,7 @@ [Startup] ; Console prompt ; Certain special characters can be used to customize the prompt - ; Currently, these are + ; Currently, these are ; \R - substitute region name ; \\ - substtitue \ ConsolePrompt = "Region (\R) " @@ -61,7 +61,7 @@ ; UnsafeQueueUserWorkItem has been benchmarked with better ; performance on .NET/Windows ; - ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security + ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security ; privileges. However, as calling code is trusted anyway this is safe (if you set ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons). async_call_method = SmartThreadPool @@ -75,13 +75,13 @@ JobEngineEnabled = true ; Plugin Registry Location - ; Set path to directory for plugin registry. Information about the + ; Set path to directory for plugin registry. Information about the ; registered repositories and installed plugins will be stored here. ; The OpenSim.exe process must have R/W access to the location. RegistryLocation = "." ; Used by region module addins. You can set this to outside bin, so that addin - ; configurations will survive updates. The OpenSim.exe process must have R/W access + ; configurations will survive updates. The OpenSim.exe process must have R/W access ; to the location. ConfigDirectory = "." @@ -123,12 +123,12 @@ ;; the offset in question is added to the SitTarget to find the sitting avatar position. ;; acording to its size, etc. ; LegacySitOffsets = true; - + ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos ; Increasing this number will increase memory usage. MaxPrimUndos = 20 - ; Minimum size for non-physical prims.This can be overridden in the region config file (as + ; Minimum size for non-physical prims.This can be overridden in the region config file (as ; NonPhysicalPrimMin!). ; NonPhysicalPrimMin = 0.001 @@ -137,7 +137,7 @@ ; Minimum size where a prim can be physical. This can be overridden in the region config file. ; PhysicalPrimMin = 0.01 - + ; Maximum size of physical prims. Affects resizing of existing prims. This can be overridden in the region config file. PhysicalPrimMax = 64 @@ -153,7 +153,7 @@ LinksetPrims = 0 ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region. - ; This only applies when crossing to a region running in a different simulator. + ; This only applies when crossing to a region running in a different simulator. ; For crossings where the regions are on the same simulator the script is always kept running. AllowScriptCrossing = true @@ -168,14 +168,14 @@ ; limit the maximum view range ( no effect still (does limit MaxRegionsViewDistance) ) MaxDrawDistance = 512 - + ; the maximum distance to tell a viewer to connect to a neighbour region, so it can be seen ; (it is limited by MaxDrawDistance above) ; less than 256 shows imediate neighbours; 512 also second imediate neighbours etc ; more than 512m can cause viewers problems specially in case of dense regions. ; curretly this distance is from current region borders. MaxRegionsViewDistance = 255 - + ; If you have only one region in an instance, or to avoid the many bugs ; that you can trigger in modules by restarting a region, set this to ; true to make the entire instance exit instead of restarting the region. @@ -193,7 +193,7 @@ ; The scale factor it 55 * FrameTime, corresponding to 5 with default configuration ; You can choose to show the true physics FPS to viewers by setting Normalized55FPS to false. ; Normalized55FPS = true - + ; Main Frame time ; This defines the rate of several simulation events. ; Default value should meet most needs. @@ -212,15 +212,15 @@ ; FrameTimeCritPercent = 40; ; Send scheduled updates to objects in the scene - ; This must be a whole number + ; This must be a whole number UpdateObjectsEveryNFrames = 1; ; Send position/velocity, etc. updates to agents in the scene - ; This must be a whole number + ; This must be a whole number UpdateAgentsEveryNFrames = 1; ; Apply pending forces from physics calculations to an entity. - ; This must be a whole number + ; This must be a whole number UpdateEntityMovementEveryNFrames = 1; ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap. @@ -237,7 +237,7 @@ ; Send terrain updates to viewers ; This must be a whole number - UpdateTerrainEveryNFrames = 50; + UpdateTerrainEveryNFrames = 50; ; Persitently store any objects which meet the PRIM STORAGE criteria ; This must be a whole number @@ -283,23 +283,23 @@ meshing = Meshmerizer ;meshing = ZeroMesher - + ; Path to decoded sculpty maps ; Defaults to "j2kDecodeCache ;DecodedSculptMapPath = "j2kDecodeCache" - + ; if you use Meshmerizer and want sculpt map collisions, setting this to ; to true will store decoded sculpt maps in a special folder in your bin ; folder, which can reduce startup times by reducing asset requests. Some ; versions of mono dont work well when reading the cache files, so set this ; to false if you have compatibility problems. ;CacheSculptMaps = true - + ;; BulletSim is the default physics engine. It provides the best performance and most functionality. ;; BulletSim supports varregions. - ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. + ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. ;; It continues to provide a workable physics implementation. It does not currently support varregions. - ;; basicphysics effectively does not model physics at all, making all objects phantom. + ;; basicphysics effectively does not model physics at all, making all objects phantom. ;; Default is BulletSim physics = BulletSim ;physics = modified_BulletX @@ -324,14 +324,14 @@ ; For example, servers inside your firewall. ; Separate patterns with a ';' ; HttpProxyExceptions = ".mydomain.com;localhost" - + ; ## ; ## EMAIL MODULE ; ## ;; The email module requires some configuration. It needs an SMTP ;; server to send mail through. ;emailmodule = DefaultEmailModule - + ; ## ; ## ANIMATIONS ; ## @@ -343,11 +343,11 @@ ; PreJump is an additional animation state, but it probably ; won't look right until the physics engine supports it ; (i.e delays takeoff for a moment) - + ; # ; # statistics - ; # - + ; # + ; Simulator statistics are output to the console periodically at debug level INFO. ; Setting this to zero disables this output. ; LogShowStatsSeconds = 3600 @@ -401,21 +401,21 @@ ; routing and land at the landmark coordinates when set to true ; default is false ; TelehubAllowLandmark = false - - + + [Map] - ; Map tile options. + ; Map tile options. ; If true, then maptiles are generated using the MapImageModule below. ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden - ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need + ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/ ;GenerateMaptiles = true ;WorldMapModule = "WorldMap" ; The module to use in order to generate map images. - ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can - ; generate better images. + ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can + ; generate better images. ;MapImageModule = "MapImageModule" ; World map blacklist timeout in seconds @@ -458,14 +458,14 @@ ; Default is true serverside_object_permissions = true - + ; This allows some control over permissions ; please note that this still doesn't duplicate SL, and is not intended to - + ; This allows grid users with a UserLevel of 200 or more to assume god - ; powers in the regions in this simulator. + ; powers in the regions in this simulator. allow_grid_gods = false - + ; Allow region owners to assume god powers in their regions ;region_owner_is_god = true @@ -501,7 +501,7 @@ ; allowed_script_editors = all ; Provides a simple control for land owners to give build rights to specific avatars - ; in publicly accessible parcels that disallow object creation in general. + ; in publicly accessible parcels that disallow object creation in general. ; Owners specific avatars by adding them to the Access List of the parcel ; without having to use the Groups feature ; Disabled by default @@ -542,12 +542,12 @@ ;; Set the value of the url to your UserProfilesService ;; If un-set / "" the module is disabled ;; If the ProfileURL is not set, then very BASIC - ;; profile support will be configured. If the ProfileURL is set to a - ;; valid URL, then full profile support will be configured. The URL + ;; profile support will be configured. If the ProfileURL is set to a + ;; valid URL, then full profile support will be configured. The URL ;; points to your grid's Robust user profiles service - ;; + ;; ; ProfileURL = http://127.0.0.1:9000 - + ;; set this to false to prevent your users to be sent to unknown ;; web sites by other users on their profiles ; AllowUserProfileWebURLs = true @@ -579,7 +579,7 @@ http_listener_sslport = 9001 ; Use this port for SSL connections http_listener_ssl_cert = "" ; Currently unused, but will be used for OSHttpServer - ; HTTPS for "Out of band" management applications such as the remote + ; HTTPS for "Out of band" management applications such as the remote ; admin module ; ; Create https_listener = "True" will create a listener on the port @@ -596,11 +596,11 @@ ; Maximum bytes allowed for HTTP_BODY_MAXLENGTH. ; By default, llHTTPRequest limits the response body to 2048 bytes. ; This limit can be extended using HTTP_BODY_MAXLENGTH to a maximum - ; of HttpBodyMaxLenMAX bytes. + ; of HttpBodyMaxLenMAX bytes. ; HttpBodyMaxLenMAX=16384 ; Hostname to use in llRequestURL/llRequestSecureURL - ; if not defined - llRequestURL/llRequestSecureURL are disabled + ; if not defined - llRequestURL/llRequestSecureURL are disabled ; ExternalHostNameForLSL=127.0.0.1 ; Disallow the following address ranges for user scripting calls (e.g. llHttpRequest()) @@ -622,7 +622,7 @@ ; You can also disable the blacklist entirely with an empty entry ; ; OutboundDisallowForUserScripts = "" - + ; What is reported as the "X-Secondlife-Shard" ; Defaults to the user server url if not set ; The old default is "OpenSim", set here for compatibility @@ -643,7 +643,7 @@ ; Viewer-based access control. |-separated list of allowed viewers. ; AllowedClients = "" - ; Viewer-based access control. |-separated list of denied viewers. + ; Viewer-based access control. |-separated list of denied viewers. ; No restrictions by default. ; DeniedClients = "" @@ -681,7 +681,7 @@ ;client_throttle_max_bps = 187500 ; Minimum bytes per second to send to any single client as a result of - ; adaptive throttling. Viewer preferences set to a lower number will + ; adaptive throttling. Viewer preferences set to a lower number will ; override the settin. The example given here ensures that adaptive ; throttling will never decrease per client bandwidth below 256 kbps. ; @@ -758,7 +758,7 @@ [ClientStack.LindenCaps] - ;; Long list of capabilities taken from + ;; Long list of capabilities taken from ;; http://wiki.secondlife.com/wiki/Current_Sim_Capabilities ;; Not all are supported by OpenSim. The ones supported are ;; set to localhost. These defaults can be overwritten @@ -833,7 +833,7 @@ ; Capability for searching for people Cap_AvatarPickerSearch = "localhost" - + [Chat] ; Controls whether the chat module is enabled. Default is true. enabled = true; @@ -848,8 +848,8 @@ shout_distance = 100 [EntityTransfer] - ; The maximum distance in regions that an agent is allowed to teleport - ; along the x or y axis. This is set to 65535 because current viewers + ; The maximum distance in regions that an agent is allowed to teleport + ; along the x or y axis. This is set to 65535 because current viewers ; can't handle teleports that are greater than this distance ; Setting to 0 will allow teleports of any distance ; @@ -859,7 +859,7 @@ AllowAvatarCrossing = true ; This disables border transfers for objects. When true, objects can be placed outside - ; the region's border without being transferred to another simulator. + ; the region's border without being transferred to another simulator. DisableObjectTransfer = false ; Minimum user level required for HyperGrid teleports @@ -899,7 +899,7 @@ [Appearance] ; Persist avatar baked textures - ; Persisting baked textures can speed up login and region border + ; Persisting baked textures can speed up login and region border ; crossings especially with large numbers of users, though it ; will store potentially large numbers of textures in your asset ; database @@ -913,11 +913,11 @@ DelayBeforeAppearanceSend = 2 ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds. - ; This may help with some situations where avatars are persistently grey, though it will not help + ; This may help with some situations where avatars are persistently grey, though it will not help ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others). ResendAppearanceUpdates = false - ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar + ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar ; on every login ReuseTextures = false @@ -949,11 +949,11 @@ ;support convex shape type on normal prims ; (ubOde only) ;ConvexPrims = true - + ;support convex shape type on sculpts ; (ubOde only) ;ConvexSculpts = true - + ; mesh cache settings: ; (ubOde only) ; do cache (keep true) @@ -962,7 +962,7 @@ ;MeshFileCachePath = MeshCache ;MeshFileCacheDoExpire = true; ;MeshFileCacheExpireHours = 48 - + [Textures] @@ -984,7 +984,7 @@ [ODEPhysicsSettings] - ; ## + ; ## ; ## Physics stats settings ( most ignored by ubOde ) ; @@ -1017,7 +1017,7 @@ ; Max value is 255, min value is 0 avatar_terminal_velocity = 54 - ; World Step size. + ; World Step size. ; with legacy ODE this value needs to be close to 0.02s ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load ; you will need to test acording to you needs @@ -1034,7 +1034,7 @@ world_hashSpace_level_high = 12 meters_in_small_space = 29.9 - + ; ## ; ## Contact properties. (the stuff that happens when things come in contact with each other) @@ -1107,8 +1107,8 @@ minimum_ground_flight_offset = 3.0 ; Plant avatar. This reduces the effect of physical contacts with the avatar. - ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive. - ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active + ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive. + ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active ; will lock the avatar in place av_planted = false @@ -1160,7 +1160,7 @@ ; Physics needs to create internal meshs (or convert the object meshs or scultps) ; for all prims except simple boxes and spheres. - + ; collisions of small objects againts larger ones can have a increased CPU load cost ; so this are represented by a simple BOX ; if all their scale dimensions are lower or equal to this option. Default is 0.1m @@ -1249,7 +1249,7 @@ PhysicsLoggingEnabled = False PhysicsLoggingDir = "." VehicleLoggingEnabled = False - + [RemoteAdmin] enabled = false @@ -1311,7 +1311,7 @@ ;copy_folders = false ; path to default appearance XML file that specifies the look of the default avatars - ;default_appearance = default_appearance.xml + ;default_appearance = default_appearance.xml ; RestPlugins are not currently operational. @@ -1471,17 +1471,17 @@ [Trees] ; enable the trees module. default true enabled = true - + ; active_trees allows module to change its trees in time. ; some will be deleted, others created and rest may grow ; default is false. You can change it with console command tree active true | false later active_trees = false ; the trees change execution time rate (in ms) - update_rate = 1000 + update_rate = 1000 ; allow the trees to grow. ; DANGER - ; this option causes high network use on the order of + ; this option causes high network use on the order of ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second allowGrow = false @@ -1511,7 +1511,7 @@ ; Maximum number of llListen events we allow per script ; Set this to 0 to have no limit imposed. max_listens_per_script = 64 - + ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL()) max_external_urls_per_simulator = 100 @@ -1709,7 +1709,7 @@ ; data service ;DATA_SRV_MISearch = "http://metaverseink.com/cgi-bin/register.py" - + [Economy] ; the economy module in use ; default is the provided BetaGridLikeMoneyModule @@ -1729,10 +1729,10 @@ ; SellEnabled = true ;; Money Unit fee to upload textures, animations etc. Default is 0. - ;PriceUpload = 0 + ;PriceUpload = 0 ;; Money Unit fee to create groups. Default is 0. - ;PriceGroupCreate = 0 + ;PriceGroupCreate = 0 ; We don't really know what the rest of these values do. These get sent to the client ; These taken from Agni at a Public Telehub. Change at your own risk. @@ -1796,8 +1796,8 @@ ; But this costs a lot of time, so region load will take a lot longer. ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true) ; CompactMemOnLoad = false - - ; Controls whether scripts are stopped by aborting their threads externally (abort) + + ; Controls whether scripts are stopped by aborting their threads externally (abort) ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op). ; co-op will be more stable as aborting threads can cause instability. ; abort was the default option in OpenSimulator 0.8 and before. @@ -1823,7 +1823,7 @@ ; Allow the use of os* functions (some are dangerous) AllowOSFunctions = false - + ; Allow the user of LightShare functions AllowLightShareFunctions = false @@ -1842,7 +1842,7 @@ ; Comma separated list of UUIDS allows the function for that list of UUIDS ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb - + ; Comma separated list of owner classes that allow the function for a particular class of owners. Choices are ; - PARCEL_GROUP_MEMBER: allow if objectgroup is the same group as the parcel ; - PARCEL_OWNER: allow if the objectowner is parcelowner @@ -1900,7 +1900,7 @@ ; prims ; DisableUndergroundMovement = true - ;; Path to script assemblies + ;; Path to script assemblies ; ScriptEnginesPath = "ScriptEngines" @@ -2037,7 +2037,7 @@ ;Module = GroupsModule ; Enable Group Notices - ;NoticesEnabled = true + ;NoticesEnabled = true ; This makes the Group module very chatty on the console. DebugEnabled = false @@ -2052,7 +2052,7 @@ ; Specify which messaging module to use for groups messaging and if it's enabled ;MessagingModule = GroupsMessagingModule - ;MessagingEnabled = true + ;MessagingEnabled = true ; Experimental option to only message cached online users rather than all users ; Should make large group with few online members messaging faster, at the expense of more calls to ROBUST presence service @@ -2060,7 +2060,7 @@ MessageOnlineUsersOnly = false ; Service connectors to the Groups Service. Select one depending on whether you're using a Flotsam XmlRpc backend or a SimianGrid backend - + ; SimianGrid Service for Groups ;ServicesConnectorModule = SimianGroupsServicesConnector ;GroupsServerURI = http://mygridserver.com:82/Grid/ @@ -2070,8 +2070,8 @@ ;GroupsServerURI = http://yourxmlrpcserver.com/xmlrpc.php ; XmlRpc Security settings. These must match those set on your backend groups service if the service is using these keys - ;XmlRpcServiceReadKey = 1234 - ;XmlRpcServiceWriteKey = 1234 + ;XmlRpcServiceReadKey = 1234 + ;XmlRpcServiceWriteKey = 1234 ; Disables HTTP Keep-Alive for XmlRpcGroupsServicesConnector HTTP Requests, ; only set to false it if you absolute sure regions and groups server support it. @@ -2099,7 +2099,7 @@ ReprioritizationInterval = 2000.0 RootReprioritizationDistance = 10.0 ChildReprioritizationDistance = 20.0 - + ; TEST OPTION KEEP AS FALSE ; if true, don't send object updates if outside view range ObjectsCullingByDistance = false @@ -2112,7 +2112,7 @@ ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region ; n > 1 will reduce UDP traffic but may lead to laggier movement observed in other avatars, though values up to 4 may not generate a noticeable effect. ChildTerseUpdatePeriod = 0 - + ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance RootPositionUpdateTolerance = 0.05 @@ -2139,7 +2139,7 @@ ; enabled=false [Statistics] - ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames + ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames ; to include in the averaging calculations NumberOfFrames=10 @@ -2152,18 +2152,18 @@ ;; Enable Non Player Character (NPC) facilities Enabled = false ;; several options to control NPCs creation - + ;; allow NPCs to be created not Owned {true false} default: true ; AllowNotOwned = true - + ;; allow NPCs to set to be sensed as Avatars {true false} default: true ; AllowSenseAsAvatar = true - + ;; allow NPCs to created cloning any avatar in region {true false} default: true ; AllowCloneOtherAvatars = true - + ;; if true NPCs will have no group title, if false display "- NPC -" for easy identification {true false} default: true - ; NoNPCGroup = true + ; NoNPCGroup = true [Terrain] ; Values can be "pinhead-island" or "flat" @@ -2184,11 +2184,11 @@ ; whole region. LimitParcelLayerUpdateDistance = true ParcelLayerViewDistance = 128 - + ; set this to false to not display parcel ban lines ShowParcelBansLines = true -;; +;; ;; If you are using a simian grid frontend you can enable ;; this module to upload tile images for the mapping fn ;; @@ -2199,8 +2199,8 @@ ;; -;; JsonStore module provides structured store for scripts -;; +;; JsonStore module provides structured store for scripts +;; [JsonStore] Enabled = False diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index fed9ea2..2df07b7 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -3,30 +3,30 @@ ; * ; * Configurations for enabling HG1.5 -; * +; * ; * HG1.5 handlers are: OpenSim.Server.Handlers.dll:GatekeeperService ; * OpenSim.Server.Handlers.dll:UserAgentService -; * Additional OpenSim.Server.Handlers.dll:AssetServiceConnector and -; * OpenSim.Server.Handlers.dll:XInventoryInConnector +; * Additional OpenSim.Server.Handlers.dll:AssetServiceConnector and +; * OpenSim.Server.Handlers.dll:XInventoryInConnector ; * are started in port 8002, outside the firewall ; * ; ** ; * ; * The Const section allows us to define some basic information that we -; * will use throughout our configuration. We will provide examples for +; * will use throughout our configuration. We will provide examples for ; * setting the base url of the Robust server and the public and private ports ; * it uses. Changing the values of the constants will set the operating ; * parameters thoughout the configuration. Other constants that may prove -; * to be useful may be added to the followin section. They may be +; * to be useful may be added to the followin section. They may be ; * referenced anywhere in the configuration by using ${Const|Name}. One ; * such use is providing a base path for setting locations that Robust ; * uses to write data. -; * +; * [Const] ; The URL of the Robust server BaseURL = "http://127.0.0.1" - + ; The public port of the Robust server PublicPort = "8002" @@ -52,12 +52,12 @@ ; Set path to directory for plugin registry. Information ; about the registered repositories and installed plugins ; will be stored here - ; The Robust.exe process must have R/W access to the location + ; The Robust.exe process must have R/W access to the location RegistryLocation = "." ; Modular configurations ; Set path to directory for modular ini files... - ; The Robust.exe process must have R/W access to the location + ; The Robust.exe process must have R/W access to the location ConfigDirectory = "robust-include" ; Console commands can be saved to a file, so the command history persists after a restart. (default is true) @@ -153,7 +153,7 @@ ;; This is useful in cases where you want to protect most of the services, ;; but unprotect individual services. Username and Password can also be ;; overriden if you want to use different credentials for the different services. - ;; Hypergrid services are not affected by this; they are publicly available + ;; Hypergrid services are not affected by this; they are publicly available ;; by design. ;; By default, scripts are not allowed to call private services via llHttpRequest() @@ -231,27 +231,27 @@ ;; Choose an asset service (Only one option should be enabled) LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService" ;LocalServiceModule = "OpenSim.Services.FSAssetService.dll:FSAssetConnector" - + ;; FSAsset Directories. Base directory, where final asset files are stored and Spool directory for temp files ;; These directories must be on the same physical filesystem ;BaseDirectory = "./fsassets/data" ;SpoolDirectory = "./fsassets/tmp" - + ;; Original service can be checked if FSAssets can not find an asset ;FallbackService = "OpenSim.Services.AssetService.dll:AssetService"; - + ;; How many days since last updating the access time before its updated again by FSAssets when accessing an asset ;; Reduces DB calls if asset is requested often. Default value 0 will always update access time ;DaysBetweenAccessTimeUpdates = 30 - + ;; Should FSAssets print read/write stats to the robust console, default is true ;ShowConsoleStats = true - + ;; FSAssets Custom Database Config (Leave blank to use grids default database configuration) ;StorageProvider = "" ;ConnectionString = "" ;Realm = "fsassets" - + ;; The following are common to both the default asset service and FSAsset service ;; Common asset service options @@ -289,7 +289,7 @@ [GridService] LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" - ; Realm = "regions" + ; Realm = "regions" ; AllowDuplicateNames = "" ;; Perform distance check for the creation of a linked region @@ -300,25 +300,25 @@ ;; Directory for map tile images of linked regions ; MapTileDirectory = "./maptiles" - + ;; Next, we can specify properties of regions, including default and fallback regions ;; The syntax is: Region_ = "" ;; or: Region_ = "" ;; where can be DefaultRegion, DefaultHGRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut, Reservation, NoMove, Authenticate - ;; + ;; ;; DefaultRegion If a local login cannot be placed in the required region (e.g. home region does not exist, avatar is not allowed entry, etc.) ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified ;; an explicit region. - ;; + ;; ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online ;; region will be used. - ;; - ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the + ;; + ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the ;; order specified. This only applies to local logins at this time, not Hypergrid connections. - ;; + ;; ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins. - ;; + ;; ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid. ;; ;; Example specification: @@ -367,14 +367,14 @@ ;; The following parameters are for STUN = Simple Traversal of UDP through NATs ;; See http://wiki.freeswitch.org/wiki/NAT_Traversal ;; stun.freeswitch.org is not guaranteed to be running so use it in - ;; production at your own risk + ;; production at your own risk ; EchoServer = 127.0.0.1 ; EchoPort = 50505 ; AttemptSTUN = false ; * This is the new style authentication service. Currently, only MySQL -; * is implemented. +; * is implemented. ; * [AuthenticationService] ; for the server connector @@ -418,7 +418,7 @@ AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" - ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 + ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 ;; to show a default "Ruth" avatar rather than a cloud for a newly created user. ;; Default is false CreateDefaultAvatarEntries = true @@ -514,7 +514,7 @@ ; If you run this login server behind a proxy, set this to true ; HasProxy = false - + ; Defaults for the users, if none is specified in the useraccounts table entry (ServiceURLs) ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" @@ -532,8 +532,8 @@ ;; However, they do rely on the server to tell them whether it's Daylight Saving Time or not. ;; Hence, calculating DST based on a different timezone can result in a misleading viewer display and inconsistencies between grids. ;; By default, this setting uses various timezone names to calculate DST with regards to the viewer's standard PST. - ;; Options are - ;; "none" no DST + ;; Options are + ;; "none" no DST ;; "local" use the server's only timezone to calculate DST. This is previous OpenSimulator behaviour. ;; "America/Los_Angeles;Pacific Standard Time" use these timezone names to look up Daylight savings. ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows @@ -554,7 +554,7 @@ ;; ;; The amount of time that a specific endpoint is blocked. Default 2 minutes. ;DOSForgiveClientAfterMS = 120000 - ;; + ;; ;; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0. @@ -634,10 +634,10 @@ ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented ; ExternalName = "${Const|BaseURL}:${Const|PublicPort}" - ; Does this grid allow incoming links to any region in it? + ; Does this grid allow incoming links to any region in it? ; If false, HG TPs happen only to the Default regions specified in [GridService] section AllowTeleportsToAnyRegion = true - + ; If you run this gatekeeper server behind a proxy, set this to true ; HasProxy = false @@ -699,10 +699,10 @@ ; * The interface that local users get when they are in other grids. ; * This restricts the inventory operations while in other grids. -; * Still not completely safe, especially if users perform inventory operations +; * Still not completely safe, especially if users perform inventory operations ; * while in those grids. The more the user accesses his/her inventory, the more ; * those simulators will know about the user's inventory. -; * +; * [HGInventoryService] ; For the InventoryServiceInConnector LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" @@ -715,7 +715,7 @@ UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" - ; HGInventoryService is a public-facing inventory service that allows users to + ; HGInventoryService is a public-facing inventory service that allows users to ; interact with their suitcase folder when on a foreign grid. This reuses the general inventory service connector. ; Hence, if the user has set up authentication in [Network] to protect their private services ; make sure it is not set here. @@ -728,15 +728,15 @@ ; * The interface that local users get when they are in other grids. ; * This restricts the access that the rest of the world has to ; * the assets of this world. -; * +; * [HGAssetService] ;; Use the second option if you have FSAsset service enabled LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGAssetService" ;LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFSAssetService" - + UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" - ; HGAssetService is a public-facing service that allows users to + ; HGAssetService is a public-facing service that allows users to ; read and create assets when on another grid. This reuses the general asset service connector. ; Hence, if the user has set up authentication in [Network] to protect their private services ; make sure it is overriden for this public service. @@ -748,11 +748,11 @@ ;; The asset types that this grid can export to / import from other grids. ;; Comma separated. ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: - ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, - ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh + ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, + ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh ;; ;; Leave blank or commented if you don't want to apply any restrictions. - ;; A more strict, but still reasonable, policy may be to disallow the exchange + ;; A more strict, but still reasonable, policy may be to disallow the exchange ;; of scripts, like so: ; DisallowExport ="LSLText" ; DisallowImport ="LSLBytecode" @@ -810,5 +810,5 @@ ;; This directory must be writable by the user ROBUST runs as. It will be created automatically. BaseDirectory = "./bakes" -[MuteListService] +[MuteListService] LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService" diff --git a/bin/Robust.Tests.ini b/bin/Robust.Tests.ini index c25e39b..bf72633 100644 --- a/bin/Robust.Tests.ini +++ b/bin/Robust.Tests.ini @@ -3,7 +3,7 @@ ; The URL of the Robust server BaseURL = "http://127.0.0.1" - + ; The public port of the Robust server PublicPort = "8888" @@ -30,14 +30,14 @@ ; Set path to directory for plugin registry. Information ; about the registered repositories and installed plugins ; will be stored here - ; The Robust.exe process must have R/W access to the location + ; The Robust.exe process must have R/W access to the location RegistryLocation = "." ; Modular configurations ; Set path to directory for modular ini files... - ; The Robust.exe process must have R/W access to the location + ; The Robust.exe process must have R/W access to the location ConfigDirectory = "." - + console = "rest" ; Console commands can be saved to a file, so the command history persists after a restart. (default is true) @@ -49,7 +49,7 @@ ; How many lines of command history should we keep? (default is 100) ConsoleHistoryFileLines = 100 - + [ServiceList] GridServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridServiceConnector" PresenceServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:PresenceServiceConnector" @@ -92,7 +92,7 @@ ;; This is useful in cases where you want to protect most of the services, ;; but unprotect individual services. Username and Password can also be ;; overriden if you want to use different credentials for the different services. - + ;; By default, scripts are not allowed to call private services via llHttpRequest() ;; Such calls are detected by the X-SecondLife-Shared HTTP header ;; If you allow such calls you must be sure that they are restricted to very trusted scripters @@ -181,7 +181,7 @@ ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online ;; region will be used. ;; - ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the + ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the ;; order specified. This only applies to local logins at this time, not Hypergrid connections. ;; ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins. @@ -200,7 +200,7 @@ ; * This is the new style authentication service. Currently, only MySQL -; * is implemented. +; * is implemented. ; * [AuthenticationService] ; for the server connector @@ -240,7 +240,7 @@ ;AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" ;GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" - ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 + ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 ;; to show a default "Ruth" avatar rather than a cloud for a newly created user. ;; Default is false CreateDefaultAvatarEntries = true @@ -360,7 +360,7 @@ ;; Hence, calculating DST based on a different timezone can result in a misleading viewer display and inconsistencies between grids. ;; By default, this setting uses various timezone names to calculate DST with regards to the viewer's standard PST. ;; Options are - ;; "none" no DST + ;; "none" no DST ;; "local" use the server's only timezone to calculate DST. This is previous OpenSimulator behaviour. ;; "America/Los_Angeles;Pacific Standard Time" use these timezone names to look up Daylight savings. ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows @@ -381,7 +381,7 @@ ;; ;; The amount of time that a specific endpoint is blocked. Default 2 minutes. ;DOSForgiveClientAfterMS = 120000 - ;; + ;; ;; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0. diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index ff00601..d3a4372 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -4,20 +4,20 @@ ; ** ; * ; * The Const section allows us to define some basic information that we -; * will use throughout our configuration. We will provide examples for +; * will use throughout our configuration. We will provide examples for ; * setting the base url of the Robust server and the public and private ports ; * it uses. Changing the values of the constants will set the operating ; * parameters thoughout the configuration. Other constants that may prove -; * to be useful may be added to the followin section. They may be +; * to be useful may be added to the followin section. They may be ; * referenced anywhere in the configuration by using ${Const|Name}. One ; * such use is providing a base path for setting locations that Robust ; * uses to write data. -; * +; * [Const] ; The URL of the Robust server BaseURL = "http://127.0.0.1" - + ; The public port of the Robust server PublicPort = "8002" @@ -44,14 +44,14 @@ ; Set path to directory for plugin registry. Information ; about the registered repositories and installed plugins ; will be stored here - ; The Robust.exe process must have R/W access to the location + ; The Robust.exe process must have R/W access to the location RegistryLocation = "." ; Modular configurations ; Set path to directory for modular ini files... - ; The Robust.exe process must have R/W access to the location + ; The Robust.exe process must have R/W access to the location ConfigDirectory = "robust-include" - + ; Console commands can be saved to a file, so the command history persists after a restart. (default is true) ConsoleHistoryFileEnabled = true @@ -61,7 +61,7 @@ ; How many lines of command history should we keep? (default is 100) ConsoleHistoryFileLines = 100 - + [ServiceList] AssetServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AssetServiceConnector" InventoryInConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XInventoryInConnector" @@ -132,7 +132,7 @@ ;; This is useful in cases where you want to protect most of the services, ;; but unprotect individual services. Username and Password can also be ;; overriden if you want to use different credentials for the different services. - + ;; By default, scripts are not allowed to call private services via llHttpRequest() ;; Such calls are detected by the X-SecondLife-Shared HTTP header ;; If you allow such calls you must be sure that they are restricted to very trusted scripters @@ -193,29 +193,29 @@ ;; Choose an asset service (Only one option should be enabled) LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService" ;LocalServiceModule = "OpenSim.Services.FSAssetService.dll:FSAssetConnector" - + ;; FSAsset Directories. Base directory, where final asset files are stored and Spool directory for temp files ;; These directories must be on the same physical filesystem ;BaseDirectory = "./fsassets/data" ;SpoolDirectory = "./fsassets/tmp" - + ;; Original service can be checked if FSAssets can not find an asset ;FallbackService = "OpenSim.Services.AssetService.dll:AssetService"; - + ;; How many days since last updating the access time before its updated again by FSAssets when accessing an asset ;; Reduces DB calls if asset is requested often. Default value 0 will always update access time ;DaysBetweenAccessTimeUpdates = 30 - + ;; Should FSAssets print read/write stats to the robust console, default is true ;ShowConsoleStats = true - + ;; FSAssets Custom Database Config (Leave blank to use grids default database configuration) ;StorageProvider = "" ;ConnectionString = "" ;Realm = "fsassets" - + ;; The following are common to both the default asset service and FSAsset service - + ;; Common asset service options DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" AssetLoaderArgs = "./assets/AssetSets.xml" @@ -267,7 +267,7 @@ ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online ;; region will be used. ;; - ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the + ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the ;; order specified. This only applies to local logins at this time, not Hypergrid connections. ;; ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins. @@ -314,14 +314,14 @@ ;; The following parameters are for STUN = Simple Traversal of UDP through NATs ;; See http://wiki.freeswitch.org/wiki/NAT_Traversal ;; stun.freeswitch.org is not guaranteed to be running so use it in - ;; production at your own risk + ;; production at your own risk ; EchoServer = 127.0.0.1 ; EchoPort = 50505 ; AttemptSTUN = false ; * This is the new style authentication service. Currently, only MySQL -; * is implemented. +; * is implemented. ; * [AuthenticationService] ; for the server connector @@ -365,7 +365,7 @@ AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" - ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 + ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 ;; to show a default "Ruth" avatar rather than a cloud for a newly created user. ;; Default is false CreateDefaultAvatarEntries = true @@ -460,7 +460,7 @@ ;; Hence, calculating DST based on a different timezone can result in a misleading viewer display and inconsistencies between grids. ;; By default, this setting uses various timezone names to calculate DST with regards to the viewer's standard PST. ;; Options are - ;; "none" no DST + ;; "none" no DST ;; "local" use the server's only timezone to calculate DST. This is previous OpenSimulator behaviour. ;; "America/Los_Angeles;Pacific Standard Time" use these timezone names to look up Daylight savings. ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows @@ -481,7 +481,7 @@ ;; ;; The amount of time that a specific endpoint is blocked. Default 2 minutes. ;DOSForgiveClientAfterMS = 120000 - ;; + ;; ;; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0. @@ -564,5 +564,5 @@ ;; This directory must be writable by the user ROBUST runs as. It will be created automatically. BaseDirectory = "./bakes" -[MuteListService] +[MuteListService] LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService" diff --git a/bin/config-include/Grid.ini b/bin/config-include/Grid.ini index 7330f6f..ab8f25d 100644 --- a/bin/config-include/Grid.ini +++ b/bin/config-include/Grid.ini @@ -47,7 +47,7 @@ ; Because LocalGridServicesConnector starts this service, in grid mode we need to suppress ; the inappropriate console commands that it registers. SuppressConsoleCommands = true - + [LibraryService] LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" LibraryName = "OpenSim Library" diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index aee3d5f..e93ce3c 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -105,7 +105,7 @@ ; === HG ONLY === ;; Change this to the address of your Gatekeeper service - ;; (usually bundled with the rest of the services in one + ;; (usually bundled with the rest of the services in one ;; Robust server in port ${Const|PublicPort}, but not always) Gatekeeper="${Const|BaseURL}:${Const|PublicPort}" @@ -122,7 +122,7 @@ [Messaging] ; === HG ONLY === ;; Change this to the address of your Gatekeeper service - ;; (usually bundled with the rest of the services in one + ;; (usually bundled with the rest of the services in one ;; Robust server in port ${Const|PublicPort}, but not always) Gatekeeper = "${Const|BaseURL}:${Const|PublicPort}" @@ -171,7 +171,7 @@ [HGInventoryAccessModule] ; ; === HG ONLY === - ; Change this to your server + ; Change this to your server ; accessible from other grids ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" @@ -187,7 +187,7 @@ ;; Warning: advanced and unusual. Default is false. ;; Enables configurations where grids share user services, including inventory, - ;; while separating regions' assets from users' assets. Asset transfer between + ;; while separating regions' assets from users' assets. Asset transfer between ;; the users' asset server and the regions' asset server is done in HG-like manner. ; CheckSeparateAssets = false ; RegionHGAssetServerURI = ${Const|BaseURL}:${Const|PublicPort} @@ -196,7 +196,7 @@ [HGAssetService] ; ; === HG ONLY === - ; Change this to your server + ; Change this to your server ; accessible from other grids ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" @@ -204,11 +204,11 @@ ;; The asset types that this grid can export to / import from other grids. ;; Comma separated. ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: - ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, - ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh + ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, + ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh ;; ;; Leave blank or commented if you don't want to apply any restrictions. - ;; A more strict, but still reasonable, policy may be to disallow the exchange + ;; A more strict, but still reasonable, policy may be to disallow the exchange ;; of scripts, like so: ; DisallowExport ="LSLText" ; DisallowImport ="LSLBytecode" diff --git a/bin/config-include/HyperSimianGrid.ini b/bin/config-include/HyperSimianGrid.ini index 018c65e..24f9813 100644 --- a/bin/config-include/HyperSimianGrid.ini +++ b/bin/config-include/HyperSimianGrid.ini @@ -5,7 +5,7 @@ ;; ;; -;; In GridCommon.ini, these are the URLs you would use if SimianGrid is +;; In GridCommon.ini, these are the URLs you would use if SimianGrid is ;; installed at http://www.mygrid.com/Grid/ ;; ; AssetServerURI = "http://www.mygrid.com/Grid/?id=" @@ -28,17 +28,17 @@ AssetServices = "HGAssetBroker" InventoryServices = "HGInventoryBroker" AvatarServices = "SimianAvatarServiceConnector" - + NeighbourServices = "NeighbourServicesOutConnector" SimulationServices = "RemoteSimulationConnectorModule" EntityTransferModule = "HGEntityTransferModule" InventoryAccessModule = "HGInventoryAccessModule" - + LandServiceInConnector = true NeighbourServiceInConnector = true SimulationServiceInConnector = true LibraryModule = false - + AssetCaching = "FlotsamAssetCache" [SimulationDataStore] @@ -87,7 +87,7 @@ [HGInventoryAccessModule] ; ; === HG ONLY === - ; Change this to your profile server + ; Change this to your profile server ; accessible from other grids ; ProfileServerURI = "http://mygridserver.com:8002/user" diff --git a/bin/config-include/SimianGrid.ini b/bin/config-include/SimianGrid.ini index b3db08a..fdf7ca2 100644 --- a/bin/config-include/SimianGrid.ini +++ b/bin/config-include/SimianGrid.ini @@ -5,7 +5,7 @@ ;; ;; -;; In GridCommon.ini, these are the URLs you would use if SimianGrid is +;; In GridCommon.ini, these are the URLs you would use if SimianGrid is ;; installed at http://www.mygrid.com/Grid/ ;; ; AssetServerURI = "http://www.mygrid.com/Grid/?id=" @@ -28,17 +28,17 @@ AssetServices = "SimianAssetServiceConnector" InventoryServices = "SimianInventoryServiceConnector" AvatarServices = "SimianAvatarServiceConnector" - + NeighbourServices = "NeighbourServicesOutConnector" SimulationServices = "RemoteSimulationConnectorModule" EntityTransferModule = "BasicEntityTransferModule" InventoryAccessModule = "BasicInventoryAccessModule" - + LandServiceInConnector = true NeighbourServiceInConnector = true SimulationServiceInConnector = true LibraryModule = false - + AssetCaching = "FlotsamAssetCache" [SimulationDataStore] diff --git a/bin/config-include/Standalone.ini b/bin/config-include/Standalone.ini index 4e683e2..127b073 100644 --- a/bin/config-include/Standalone.ini +++ b/bin/config-include/Standalone.ini @@ -104,8 +104,8 @@ ;; However, they do rely on the server to tell them whether it's Daylight Saving Time or not. ;; Hence, calculating DST based on a different timezone can result in a misleading viewer display and inconsistencies between grids. ;; By default, this setting uses various timezone names to calculate DST with regards to the viewer's standard PST. - ;; Options are - ;; "none" no DST + ;; Options are + ;; "none" no DST ;; "local" use the server's only timezone to calculate DST. This is previous OpenSimulator behaviour. ;; "America/Los_Angeles;Pacific Standard Time" use these timezone names to look up Daylight savings. ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows @@ -114,9 +114,9 @@ [MapImageService] LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" -[MuteListService] +[MuteListService] LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService" - + ;; This should always be the very last thing on this file [Includes] Include-Common = "config-include/StandaloneCommon.ini" diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index d0b152c..8931557 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -85,20 +85,20 @@ ;; Next, we can specify properties of regions, including default and fallback regions ;; The syntax is: Region_ = "" ;; where can be DefaultRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut - ;; + ;; ;; DefaultRegion If a local login cannot be placed in the required region (e.g. home region does not exist, avatar is not allowed entry, etc.) ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified ;; an explicit region. - ;; + ;; ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online ;; region will be used. - ;; - ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the + ;; + ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the ;; order specified. This only applies to local logins at this time, not Hypergrid connections. - ;; + ;; ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins. - ;; + ;; ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid. ;; ;; For example: @@ -121,7 +121,7 @@ ;; If you have Gatekeeper set under [Hypergrid], no need to set it here, leave it commented ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" - SRV_HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_HomeURI = "${Const|BaseURL}:${Const|PublicPort}" SRV_InventoryServerURI = "${Const|BaseURL}:${Const|PublicPort}" SRV_AssetServerURI = "${Const|BaseURL}:${Const|PublicPort}" SRV_ProfileServerURI = "${Const|BaseURL}:${Const|PublicPort}" @@ -163,7 +163,7 @@ ; ; ; ; The amount of time that a specific endpoint is blocked. Default 2 minutes. ; DOSForgiveClientAfterMS = 120000 - ; ; + ; ; ; ; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0. [FreeswitchService] @@ -197,7 +197,7 @@ ;; The following parameters are for STUN = Simple Traversal of UDP through NATs ;; See http://wiki.freeswitch.org/wiki/NAT_Traversal ;; stun.freeswitch.org is not guaranteed to be running so use it in - ;; production at your own risk + ;; production at your own risk ; EchoServer = 127.0.0.1 ; EchoPort = 50505 ; AttemptSTUN = false @@ -341,11 +341,11 @@ ;; The asset types that this grid can export to / import from other grids. ;; Comma separated. ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: - ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, - ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh + ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, + ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh ;; ;; Leave blank or commented if you don't want to apply any restrictions. - ;; A more strict, but still reasonable, policy may be to disallow the exchange + ;; A more strict, but still reasonable, policy may be to disallow the exchange ;; of scripts, like so: ; DisallowExport ="LSLText" ; DisallowImport ="LSLBytecode" diff --git a/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini index 4f3994f..e305972 100644 --- a/bin/config-include/StandaloneHypergrid.ini +++ b/bin/config-include/StandaloneHypergrid.ini @@ -27,8 +27,8 @@ FriendsModule = "HGFriendsModule" UserManagementModule = "HGUserManagementModule" SearchModule = "BasicSearchModule" - MuteListService = "LocalMuteListServicesConnector" - + MuteListService = "LocalMuteListServicesConnector" + InventoryServiceInConnector = true AssetServiceInConnector = true HypergridServiceInConnector = true @@ -80,7 +80,7 @@ ; Needed to display non-default map tile images for remote regions AssetService = "OpenSim.Services.AssetService.dll:AssetService" - + HypergridLinker = true AllowHypergridMapSearch = true @@ -124,7 +124,7 @@ GridService = "OpenSim.Services.GridService.dll:GridService" AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" - + ; This inventory service will be used to initialize the user's inventory HGInventoryServicePlugin = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" HGInventoryServiceConstructorArg = "HGInventoryService" @@ -191,9 +191,9 @@ UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" InGatekeeper = True -[MuteListService] +[MuteListService] LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService" - + ;; This should always be the very last thing on this file [Includes] Include-Common = "config-include/StandaloneCommon.ini" diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index aed43f0..ed90649 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -1,6 +1,6 @@ ; Enable OSSL functions. ; Including this file in a region's set of INI files, causes the OpenSimulator -; specific functions to be enabled. +; specific functions to be enabled. ; See http://opensimulator.org/wiki/OSSL for a description of OSSL functions and ; refer to http://opensimulator.org/wiki/OSSL_Implemented for a list of functions. @@ -45,9 +45,9 @@ ; "PARCEL_OWNER" -- enable for parcel owner ; "PARCEL_GROUP_MEMBER" -- enable for any member of the parcel group ; uuid -- enable for specified ID (may be avatar or group ID) - ; from this we can also create macros that can be include in the list as + ; from this we can also create macros that can be include in the list as ; ${XEngine|macroname} see examples below - + ; parcel macros ; Allowing ossl functions for anyone owning a parcel can be dangerous especially if ; a region is selling or otherwise giving away parcel ownership. By default, parcel @@ -68,10 +68,10 @@ ; the owners of the containing prim. There can also be entries beginning with ; 'Creators_". The 'Creators_" parameters can only be a list of UUIDs and it is ; checked against the creator of the script itself. - + ; ************************************************* - - ; ThreatLevel None + + ; ThreatLevel None Allow_osGetAgents = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetAvatarList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetGender = true @@ -85,11 +85,11 @@ Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osTeleportOwner = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osWindActiveModelPluginName = true - + ; ThreatLevel Nuisance Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRegionSunSettings = ESTATE_MANAGER,ESTATE_OWNER - + ; ThreatLevel VeryLow Allow_osEjectFromGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceBreakAllLinks = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER @@ -110,7 +110,7 @@ Allow_osSetWindParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osTerrainFlush = ESTATE_MANAGER,ESTATE_OWNER Allow_osUnixTimeToTimestamp = true - + ; ThreatLevel Low Allow_osAvatarName2Key = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osFormatString = true @@ -125,7 +125,7 @@ Allow_osNpcSetProfileAbout = ${XEngine|osslNPC} Allow_osNpcSetProfileImage = ${XEngine|osslNPC} Allow_osDie = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - + ; ThreatLevel Moderate Allow_osDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER @@ -141,7 +141,7 @@ Allow_osGetSimulatorMemoryKB = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osMessageAttachments = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetSpeed = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - + ; ThreatLevel High Allow_osCauseDamage = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osCauseHealing = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER @@ -190,7 +190,7 @@ Allow_osSetTerrainHeight = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetTerrainTexture = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetTerrainTextureHeight = ESTATE_MANAGER,ESTATE_OWNER - + ; ThreatLevel VeryHigh Allow_osAgentSaveAppearance = ESTATE_MANAGER,ESTATE_OWNER ; Warning: The next function allows scripts to force animations on avatars without the user giving permission. @@ -209,7 +209,7 @@ Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRot = false Allow_osSetParcelDetails = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - + ; ThreatLevel Severe Allow_osConsoleCommand = false Allow_osGrantScriptPermissions = false @@ -217,10 +217,10 @@ Allow_osRevokeScriptPermissions = false Allow_osTeleportAgent = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osTeleportObject = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - + ; ThreatLevel Severe with additional internal restrictions Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable) - + ; available functions out of Threat level control (for reference only) ; Allow_osCheckODE = true ; Allow_osClearInertia = true @@ -231,7 +231,7 @@ ; Allow_osDrawFilledRectangle = true ; Allow_osDrawImage = true ; Allow_osDrawLine = true -; Allow_osDrawPolygon = true +; Allow_osDrawPolygon = true ; Allow_osDrawRectangle = true ; Allow_osDrawResetTransform = true ; Allow_osDrawRotationTransform = true diff --git a/bin/pCampBot.ini.example b/bin/pCampBot.ini.example index 2952bb0..138e4ec 100644 --- a/bin/pCampBot.ini.example +++ b/bin/pCampBot.ini.example @@ -7,13 +7,13 @@ [Bot] ; Control whether bots should regularly send agent updates - ; Not doing this will reduce CPU requirements for pCampbot but greatly + ; Not doing this will reduce CPU requirements for pCampbot but greatly ; reduce the realism compared to viewers which are constantly sending AgentUpdates UDP packets. ; Defaults to true. SendAgentUpdates = true ; Control whether bots will requests textures when receiving object information - ; Not doing this will reduce CPU requirements for pCampbot but greatly + ; Not doing this will reduce CPU requirements for pCampbot but greatly ; reduce the realism compared to viewers which requests such texture data if not already cached. ; Defaults to true. RequestObjectTextures = true -- cgit v1.1 From 122d3a37682cb8c5c7234982ff9be3db08016bfe Mon Sep 17 00:00:00 2001 From: Kevin Cozens Date: Mon, 19 Mar 2018 15:34:48 -0400 Subject: Removed trailing semi-colons from option settings --- bin/OpenSimDefaults.ini | 94 ++++++++++++++++++++++++------------------------- 1 file changed, 47 insertions(+), 47 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index bda3cce..3ba32da 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -108,7 +108,7 @@ ; Determines the page from which regions xml is retrieved if you are loading these from the web ; The XML here has the same format as it does on the filesystem (including the tag), ; except that everything is also enclosed in a tag. - ; regionload_webserver_url = "http://example.com/regions.xml"; + ; regionload_webserver_url = "http://example.com/regions.xml" ;; Allow the simulator to start up if there are no region configuration available ;; from the selected region_info_source. @@ -122,7 +122,7 @@ ;; keep it true if you have many old objects with sits set by scripts. ;; the offset in question is added to the SitTarget to find the sitting avatar position. ;; acording to its size, etc. - ; LegacySitOffsets = true; + ; LegacySitOffsets = true ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos ; Increasing this number will increase memory usage. @@ -137,7 +137,7 @@ ; Minimum size where a prim can be physical. This can be overridden in the region config file. ; PhysicalPrimMin = 0.01 - + ; Maximum size of physical prims. Affects resizing of existing prims. This can be overridden in the region config file. PhysicalPrimMax = 64 @@ -208,44 +208,44 @@ ; Less than 60% of FPS is amber by default, less then 40% is red. ; These values are advisory. Viewers may choose to not use them but it is ; encouraged that they do. - ; FrameTimeWarnPercent = 60; - ; FrameTimeCritPercent = 40; + ; FrameTimeWarnPercent = 60 + ; FrameTimeCritPercent = 40 ; Send scheduled updates to objects in the scene ; This must be a whole number - UpdateObjectsEveryNFrames = 1; + UpdateObjectsEveryNFrames = 1 ; Send position/velocity, etc. updates to agents in the scene ; This must be a whole number - UpdateAgentsEveryNFrames = 1; + UpdateAgentsEveryNFrames = 1 ; Apply pending forces from physics calculations to an entity. ; This must be a whole number - UpdateEntityMovementEveryNFrames = 1; + UpdateEntityMovementEveryNFrames = 1 ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap. ; This must be a whole number - UpdateCoarseLocationsEveryNFrames = 50; + UpdateCoarseLocationsEveryNFrames = 50 ; Physics simulation execution or syncronization, acording to engine. Should be 1 ; This must be a whole number - UpdatePhysicsEveryNFrames = 1; + UpdatePhysicsEveryNFrames = 1 ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1. ; This must be a whole number - UpdateEventsEveryNFrames = 1; + UpdateEventsEveryNFrames = 1 ; Send terrain updates to viewers ; This must be a whole number - UpdateTerrainEveryNFrames = 50; + UpdateTerrainEveryNFrames = 50 ; Persitently store any objects which meet the PRIM STORAGE criteria ; This must be a whole number - UpdateStorageEveryNFrames = 200; + UpdateStorageEveryNFrames = 200 ; Clean up temp on rez objects. ; This must be a whole number - UpdateTempCleaningEveryNSeconds = 180; + UpdateTempCleaningEveryNSeconds = 180 ; ## ; ## PRIM STORAGE @@ -283,18 +283,18 @@ meshing = Meshmerizer ;meshing = ZeroMesher - + ; Path to decoded sculpty maps ; Defaults to "j2kDecodeCache ;DecodedSculptMapPath = "j2kDecodeCache" - + ; if you use Meshmerizer and want sculpt map collisions, setting this to ; to true will store decoded sculpt maps in a special folder in your bin ; folder, which can reduce startup times by reducing asset requests. Some ; versions of mono dont work well when reading the cache files, so set this ; to false if you have compatibility problems. ;CacheSculptMaps = true - + ;; BulletSim is the default physics engine. It provides the best performance and most functionality. ;; BulletSim supports varregions. ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. @@ -324,14 +324,14 @@ ; For example, servers inside your firewall. ; Separate patterns with a ';' ; HttpProxyExceptions = ".mydomain.com;localhost" - + ; ## ; ## EMAIL MODULE ; ## ;; The email module requires some configuration. It needs an SMTP ;; server to send mail through. ;emailmodule = DefaultEmailModule - + ; ## ; ## ANIMATIONS ; ## @@ -343,11 +343,11 @@ ; PreJump is an additional animation state, but it probably ; won't look right until the physics engine supports it ; (i.e delays takeoff for a moment) - + ; # ; # statistics ; # - + ; Simulator statistics are output to the console periodically at debug level INFO. ; Setting this to zero disables this output. ; LogShowStatsSeconds = 3600 @@ -402,7 +402,7 @@ ; default is false ; TelehubAllowLandmark = false - + [Map] ; Map tile options. ; If true, then maptiles are generated using the MapImageModule below. @@ -441,7 +441,7 @@ TexturePrimSize = 48 ; Attempt to render meshes and sculpties on the map - RenderMeshes = false; + RenderMeshes = false [Permissions] ; ## @@ -458,14 +458,14 @@ ; Default is true serverside_object_permissions = true - + ; This allows some control over permissions ; please note that this still doesn't duplicate SL, and is not intended to - + ; This allows grid users with a UserLevel of 200 or more to assume god - ; powers in the regions in this simulator. + ; powers in the regions in this simulator. allow_grid_gods = false - + ; Allow region owners to assume god powers in their regions ;region_owner_is_god = true @@ -833,10 +833,10 @@ ; Capability for searching for people Cap_AvatarPickerSearch = "localhost" - + [Chat] ; Controls whether the chat module is enabled. Default is true. - enabled = true; + enabled = true ; Distance in meters that whispers should travel. Default is 10m whisper_distance = 10 @@ -931,7 +931,7 @@ ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit ; or when multiple avatars with medium level attachments login/change outfit simultaneously. ; If 0 then no throttling is performed. - ThrottlePer100PrimsRezzed = 0; + ThrottlePer100PrimsRezzed = 0 [Mesh] @@ -949,20 +949,20 @@ ;support convex shape type on normal prims ; (ubOde only) ;ConvexPrims = true - + ;support convex shape type on sculpts ; (ubOde only) ;ConvexSculpts = true - + ; mesh cache settings: ; (ubOde only) ; do cache (keep true) ;MeshFileCache = true ; cache folder name relative to bin/ or absolute path ;MeshFileCachePath = MeshCache - ;MeshFileCacheDoExpire = true; + ;MeshFileCacheDoExpire = true ;MeshFileCacheExpireHours = 48 - + [Textures] @@ -1074,7 +1074,7 @@ ; See http://en.wikipedia.org/wiki/PID_controller av_pid_derivative = 2200.0 - av_pid_proportional = 900.0; + av_pid_proportional = 900.0 ;girth of the avatar. Adds radius to the height also av_capsule_radius = 0.37 @@ -1160,7 +1160,7 @@ ; Physics needs to create internal meshs (or convert the object meshs or scultps) ; for all prims except simple boxes and spheres. - + ; collisions of small objects againts larger ones can have a increased CPU load cost ; so this are represented by a simple BOX ; if all their scale dimensions are lower or equal to this option. Default is 0.1m @@ -1249,7 +1249,7 @@ PhysicsLoggingEnabled = False PhysicsLoggingDir = "." VehicleLoggingEnabled = False - + [RemoteAdmin] enabled = false @@ -1471,7 +1471,7 @@ [Trees] ; enable the trees module. default true enabled = true - + ; active_trees allows module to change its trees in time. ; some will be deleted, others created and rest may grow ; default is false. You can change it with console command tree active true | false later @@ -1709,7 +1709,7 @@ ; data service ;DATA_SRV_MISearch = "http://metaverseink.com/cgi-bin/register.py" - + [Economy] ; the economy module in use ; default is the provided BetaGridLikeMoneyModule @@ -1796,7 +1796,7 @@ ; But this costs a lot of time, so region load will take a lot longer. ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true) ; CompactMemOnLoad = false - + ; Controls whether scripts are stopped by aborting their threads externally (abort) ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op). ; co-op will be more stable as aborting threads can cause instability. @@ -1823,7 +1823,7 @@ ; Allow the use of os* functions (some are dangerous) AllowOSFunctions = false - + ; Allow the user of LightShare functions AllowLightShareFunctions = false @@ -1842,7 +1842,7 @@ ; Comma separated list of UUIDS allows the function for that list of UUIDS ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb - + ; Comma separated list of owner classes that allow the function for a particular class of owners. Choices are ; - PARCEL_GROUP_MEMBER: allow if objectgroup is the same group as the parcel ; - PARCEL_OWNER: allow if the objectowner is parcelowner @@ -1870,7 +1870,7 @@ ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested ; before aborting the thread (such as when an object containing scripts is taken into inventory). - WaitForEventCompletionOnScriptStop = 1000; + WaitForEventCompletionOnScriptStop = 1000 ; Sets the multiplier for the scripting delays ScriptDelayFactor = 1.0 @@ -2082,8 +2082,8 @@ [PacketPool] - ;RecyclePackets = true; - ;RecycleDataBlocks = true; + ;RecyclePackets = true + ;RecycleDataBlocks = true ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets. ; This reduces data churn @@ -2112,7 +2112,7 @@ ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region ; n > 1 will reduce UDP traffic but may lead to laggier movement observed in other avatars, though values up to 4 may not generate a noticeable effect. ChildTerseUpdatePeriod = 0 - + ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance RootPositionUpdateTolerance = 0.05 @@ -2145,7 +2145,7 @@ [MediaOnAPrim] ; Enable media on a prim facilities - Enabled = true; + Enabled = true [NPC] -- cgit v1.1 From 0a1d96b95eb09f1d87a0f9d2e14e9e8c3fade61c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 20 Mar 2018 09:54:49 +0000 Subject: mantis 8257: fix the default realm (ie table name) of AuthenticationService --- bin/Robust.HG.ini.example | 6 +++--- bin/Robust.ini.example | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 2df07b7..34c4375 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -379,7 +379,7 @@ [AuthenticationService] ; for the server connector LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" - ; Realm = "useraccounts" + ; Realm = "auth" ;; Allow the service to process HTTP getauthinfo calls. ;; Default is false. @@ -402,13 +402,13 @@ ; * This is the new style user service. ; * "Realm" is the table that is used for user lookup. -; * It defaults to "useraccounts", which uses the new style. +; * It defaults to "UserAccounts", which uses the new style. ; * Realm = "users" will use the legacy tables as an authentication source ; * [UserAccountService] ; for the server connector LocalServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService" - ; Realm = "useraccounts" + ; Realm = "UserAccounts" ; These are for creating new accounts by the service AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index d3a4372..e5d3d1a 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -326,7 +326,7 @@ [AuthenticationService] ; for the server connector LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" - ; Realm = "useraccounts" + ; Realm = "auth" ;; Allow the service to process HTTP getauthinfo calls. ;; Default is false. @@ -355,7 +355,7 @@ [UserAccountService] ; for the server connector LocalServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService" - ; Realm = "useraccounts" + ; Realm = "UserAccounts" ; These are for creating new accounts by the service AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" -- cgit v1.1 From 6accf854a770b0043d1d93b21cacbf2a8918fb12 Mon Sep 17 00:00:00 2001 From: Kevin Cozens Date: Wed, 4 Apr 2018 16:43:15 -0400 Subject: Added references to new math related OSSL functions --- bin/config-include/osslEnable.ini | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 1da5e9d..7127a1a 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -222,6 +222,7 @@ Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable) ; available functions out of Threat level control (for reference only) +; Allow_osAngleBetween = true ; Allow_osCheckODE = true ; Allow_osClearInertia = true ; Allow_osCollisionSound = true @@ -254,6 +255,7 @@ ; Allow_osMax = true ; Allow_osMin = true ; Allow_osMovePen = true +; Allow_osRound = true ; Allow_osSetFontName = true ; Allow_osSetFontSize = true ; Allow_osSetInertia = true @@ -263,4 +265,6 @@ ; Allow_osSetPenCap = true ; Allow_osSetPenColor = true ; Allow_osSetPenSize = true +; Allow_osVecDistSquare = true +; Allow_osVecMagSquare = true ; Allow_osVolumeDetect = true -- cgit v1.1 From 81431e90de32b3031c6cac039a8d5360e53a10dc Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 9 Apr 2018 00:23:23 +0100 Subject: update osslEnable.ini with the new functions --- bin/config-include/osslEnable.ini | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 7127a1a..b776035 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -221,7 +221,9 @@ ; ThreatLevel Severe with additional internal restrictions Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable) + ; available functions out of Threat level control (for reference only) +; Allow_osAdjustSoundVolume = true ; Allow_osAngleBetween = true ; Allow_osCheckODE = true ; Allow_osClearInertia = true @@ -252,9 +254,15 @@ ; Allow_osIsNpc = true ; Allow_osIsUUID = true ; Allow_osList2Double = true +; Allow_osLoopSound = true +; Allow_osLoopSoundMaster = true +; Allow_osLoopSoundSlave = true ; Allow_osMax = true ; Allow_osMin = true ; Allow_osMovePen = true +; Allow_osPlaySound = true +; Allow_osPlaySoundSlave = true +; Allow_osPreloadSound = true ; Allow_osRound = true ; Allow_osSetFontName = true ; Allow_osSetFontSize = true @@ -265,6 +273,9 @@ ; Allow_osSetPenCap = true ; Allow_osSetPenColor = true ; Allow_osSetPenSize = true +; Allow_osSetSoundRadius = true +; Allow_osStopSound = true +; Allow_osTriggerSound = true ; Allow_osVecDistSquare = true ; Allow_osVecMagSquare = true ; Allow_osVolumeDetect = true -- cgit v1.1 From 5d0a1656bf8d31ef3bbfaf6c0fc1de55d11bc597 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 10 Apr 2018 03:58:54 +0100 Subject: mantis 8305: add osTriggerSoundLimited(..) --- bin/config-include/osslEnable.ini | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index b776035..71b39b0 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -276,6 +276,7 @@ ; Allow_osSetSoundRadius = true ; Allow_osStopSound = true ; Allow_osTriggerSound = true +; Allow_osTriggerSoundLimited = true ; Allow_osVecDistSquare = true ; Allow_osVecMagSquare = true ; Allow_osVolumeDetect = true -- cgit v1.1 From f29358744d892f81edb7825cf97f6bbad90e1c4e Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 20 Apr 2018 09:23:30 +0100 Subject: fix http keep alive header --- bin/HttpServer_OpenSim.dll | Bin 120320 -> 120320 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index fc37603..4d6819e 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ -- cgit v1.1 From dffa6289666382166dd038e250cad94d24b88c6c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 6 May 2018 17:32:03 +0100 Subject: break nap a bit more, add options ExportMapAddScale, ExportMapAddRegionName and (warp3d) AverageTextureColorOnMapTile --- bin/Warp3D.dll | Bin 68608 -> 69120 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Warp3D.dll b/bin/Warp3D.dll index 520e04c..4000aeb 100755 Binary files a/bin/Warp3D.dll and b/bin/Warp3D.dll differ -- cgit v1.1 From ea5d40f7f2451dd024a55e6289df70b092825e9a Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 7 May 2018 03:56:53 +0100 Subject: breaking map (warp3d) --- bin/Warp3D.dll | Bin 69120 -> 69120 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Warp3D.dll b/bin/Warp3D.dll index 4000aeb..21662e2 100755 Binary files a/bin/Warp3D.dll and b/bin/Warp3D.dll differ -- cgit v1.1 From 4837a8a8fab0d8ed69c94236f6a52a754c9480ba Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 7 May 2018 17:29:19 +0100 Subject: breaking map (warp3d); remove warp3d viewport code not realy used and confusing my last neuron --- bin/Warp3D.dll | Bin 69120 -> 69632 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Warp3D.dll b/bin/Warp3D.dll index 21662e2..2f9a13b 100755 Binary files a/bin/Warp3D.dll and b/bin/Warp3D.dll differ -- cgit v1.1 From f7475d4a983e7744518932297a4292fcea9d0130 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 8 May 2018 07:01:38 +0100 Subject: breaking map (warp3d)... --- bin/Warp3D.dll | Bin 69632 -> 69632 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Warp3D.dll b/bin/Warp3D.dll index 2f9a13b..d80037c 100755 Binary files a/bin/Warp3D.dll and b/bin/Warp3D.dll differ -- cgit v1.1 From 06d6c4abda0700d96bdfbd6aa990b3b4bd04537b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 15 May 2018 23:56:12 +0100 Subject: breaking map a bit more... --- bin/Warp3D.dll | Bin 69632 -> 73728 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Warp3D.dll b/bin/Warp3D.dll index d80037c..f781022 100755 Binary files a/bin/Warp3D.dll and b/bin/Warp3D.dll differ -- cgit v1.1 From 631308a1d14fd510454e0e9a84c965c9a5159a02 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 18 May 2018 05:31:45 +0100 Subject: map... --- bin/Warp3D.dll | Bin 73728 -> 74240 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Warp3D.dll b/bin/Warp3D.dll index f781022..176a837 100755 Binary files a/bin/Warp3D.dll and b/bin/Warp3D.dll differ -- cgit v1.1 From d5117b6cf79ad1ec8e7dc62412d27f9a7d4a15e0 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 26 May 2018 19:32:37 +0100 Subject: update warp3d.dll --- bin/Warp3D.dll | Bin 74240 -> 74240 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Warp3D.dll b/bin/Warp3D.dll index 176a837..29cd0bf 100755 Binary files a/bin/Warp3D.dll and b/bin/Warp3D.dll differ -- cgit v1.1 From e0b2ee80f9a0325405124a189d2d36a5e9478efc Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 26 May 2018 23:03:27 +0100 Subject: fix a bug on warp3d.dll --- bin/Warp3D.dll | Bin 74240 -> 74240 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Warp3D.dll b/bin/Warp3D.dll index 29cd0bf..7d662d9 100755 Binary files a/bin/Warp3D.dll and b/bin/Warp3D.dll differ -- cgit v1.1 From 3b2786d27eff06d5a15d50af896888b3dfe04df9 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 28 May 2018 15:21:51 +0100 Subject: change MaxRegionsViewDistance description a bit --- bin/OpenSimDefaults.ini | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index f960b94..7dcacd2 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -164,17 +164,20 @@ TrustBinaries = false ; the default view range. Viewers override this ( no major effect still ) - DefaultDrawDistance = 255.0 + ;DefaultDrawDistance = 255.0 ; limit the maximum view range ( no effect still (does limit MaxRegionsViewDistance) ) - MaxDrawDistance = 512 + ;MaxDrawDistance = 512 ; the maximum distance to tell a viewer to connect to a neighbour region, so it can be seen ; (it is limited by MaxDrawDistance above) - ; less than 256 shows imediate neighbours; 512 also second imediate neighbours etc - ; more than 512m can cause viewers problems specially in case of dense regions. + ; less than 256 shows imediate neighbours; 256 to 511 also second imediate neighbours etc + ; more than 511m can cause viewers problems specially in case of dense regions. ; curretly this distance is from current region borders. - MaxRegionsViewDistance = 255 + ; Warning: if relevant regions have diferent setting you may notice strange + ; effects due to that assimetry + ; ***** + ;MaxRegionsViewDistance = 255 ; If you have only one region in an instance, or to avoid the many bugs ; that you can trigger in modules by restarting a region, set this to -- cgit v1.1 From a48d65fd77f778d51dbfaca7a64e83d56e27fede Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 9 Jun 2018 20:35:35 +0100 Subject: Yengine apply a fix to CheckRunLockInvariants by mrieker --- bin/OpenSimDefaults.ini | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 7dcacd2..13c2c5e 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -171,11 +171,11 @@ ; the maximum distance to tell a viewer to connect to a neighbour region, so it can be seen ; (it is limited by MaxDrawDistance above) - ; less than 256 shows imediate neighbours; 256 to 511 also second imediate neighbours etc + ; less than 256 shows immediate neighbours; 256 to 511 also second imediate neighbours etc ; more than 511m can cause viewers problems specially in case of dense regions. ; curretly this distance is from current region borders. - ; Warning: if relevant regions have diferent setting you may notice strange - ; effects due to that assimetry + ; Warning: if relevant regions have different setting you may notice strange + ; effects due to that asymmetry ; ***** ;MaxRegionsViewDistance = 255 -- cgit v1.1 From 6da07ded04d03d157438946fa88448eecaf4e5d6 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 5 Jul 2018 22:34:08 +0100 Subject: let OpenSim.ini.example be closer to functional standalone ini --- bin/OpenSim.ini.example | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index d9671f4..526d61d 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -982,7 +982,7 @@ ;; at this time some mono versions seem to have problems with the true option ;; so default is now false until a fix is found, to simply life of less technical skilled users. ;; this should only be a issue if regions stay alive for a long time with lots of scripts added or edited. - ; AppDomainLoading = false + AppDomainLoading = false ;; Controls whether scripts are stopped by aborting their threads externally (abort) or by co-operative checks from the compiled script (co-op) ;; co-op will be more stable but this option is currently experimental. @@ -1266,7 +1266,7 @@ ;; "config-include/StandaloneCommon.ini.example" to "config-include/StandaloneCommon.ini" before ;; editing it to set the database and backend services that OpenSim will use. ;; - ; Include-Architecture = "config-include/Standalone.ini" + Include-Architecture = "config-include/Standalone.ini" ; Include-Architecture = "config-include/StandaloneHypergrid.ini" ; Include-Architecture = "config-include/Grid.ini" ; Include-Architecture = "config-include/GridHypergrid.ini" -- cgit v1.1 From e52bc6b575873275fc0bcef7bc68ad104ccbb94b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 11 Jul 2018 12:09:59 +0100 Subject: Mantis 8308: update libopenjpeg-dotnet-2-1.5.0-dotnet-1.dylib adding missing 64bit support. Built with the macOS 10.13 SDK on Xcode 9.4.1. Thanks Gavin Hird for providing us this. --- bin/OpenMetaverse.dll.config | 1 + bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1.dylib | Bin 130560 -> 307576 bytes 2 files changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/OpenMetaverse.dll.config b/bin/OpenMetaverse.dll.config index 6b7b999..73514c3 100644 --- a/bin/OpenMetaverse.dll.config +++ b/bin/OpenMetaverse.dll.config @@ -1,5 +1,6 @@ + diff --git a/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1.dylib b/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1.dylib index 91f7264..cb4aea1 100644 Binary files a/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1.dylib and b/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1.dylib differ -- cgit v1.1 From 519d320e3cea8f404e9f6a3effbc13af9941e3c6 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 14 Jul 2018 01:10:59 +0100 Subject: update ini.example files --- bin/OpenSim.ini.example | 4 ++++ bin/OpenSimDefaults.ini | 3 +++ bin/Robust.ini.example | 3 +++ 3 files changed, 10 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 526d61d..2b241f5 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -87,6 +87,10 @@ ;; How many lines of command history should we keep? (default is 100) ; ConsoleHistoryFileLines = 100 + ;# {ConsoleHistoryTimeStamp} {} {Time stamp commands in history file} {} false + ;; Time stamp commands in history file (default false) + ; ConsoleHistoryTimeStamp = false + ;# {save_crashes} {} {Save crashes to disk?} {true false} false ;; Set this to true if you want to log crashes to disk ;; this can be useful when submitting bug reports. diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 13c2c5e..f939769 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -22,6 +22,9 @@ ; How many lines of command history should we keep? (default is 100) ConsoleHistoryFileLines = 100 + ; Time stamp commands in history file (default false) + ; ConsoleHistoryTimeStamp = false + ; Set this to true if you want to log crashes to disk ; this can be useful when submitting bug reports. ; However, this will only log crashes within OpenSimulator that cause the entire program to exit diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 38e6f17..3222a94 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -62,6 +62,9 @@ ; How many lines of command history should we keep? (default is 100) ConsoleHistoryFileLines = 100 + ; Time stamp commands in history file (default false) + ; ConsoleHistoryTimeStamp = false + ; peers SSL certificate validation options ; you can allow selfsigned certificates or no official CA with next option set to true NoVerifyCertChain = true -- cgit v1.1 From d7a919507871077666cfb3bac247935e2f76345a Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 14 Jul 2018 02:12:51 +0100 Subject: missed one --- bin/Robust.HG.ini.example | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 3335120..0f9bb4b 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -70,6 +70,9 @@ ; How many lines of command history should we keep? (default is 100) ConsoleHistoryFileLines = 100 + ; Time stamp commands in history file (default false) + ; ConsoleHistoryTimeStamp = false + ; peers SSL certificate validation options ; you can allow selfsigned certificates or no official CA with next option set to true NoVerifyCertChain = true -- cgit v1.1 From 1b5c6c48f9a94953a1fbbd88550657df7fd73f33 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 21 Jul 2018 18:36:29 +0100 Subject: make BanLineSafeHeight option visible in OpenSimDefaults.ini --- bin/OpenSimDefaults.ini | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index f939769..834a770 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -2207,6 +2207,10 @@ ; set this to false to not display parcel ban lines ShowParcelBansLines = true + + ; Parcel Bans max height above ground. Default 100m + ; range 20m to 5000m + ; BanLineSafeHeight = 100 ;; ;; If you are using a simian grid frontend you can enable -- cgit v1.1 From d3d915ce3c7318adf796c6673cdf2912db00c0b0 Mon Sep 17 00:00:00 2001 From: fly-man- Date: Fri, 24 Aug 2018 22:06:09 +0200 Subject: Patching in the Smoke for Mantis 8242 Signed-off-by: UbitUmarov --- bin/assets/TexturesAssetSet/TexturesAssetSet.xml | 8 ++++++++ .../b4ba225c-373f-446d-9f7e-6cb7b5cf9b3d.jp2 | Bin 0 -> 9864 bytes 2 files changed, 8 insertions(+) create mode 100644 bin/assets/TexturesAssetSet/b4ba225c-373f-446d-9f7e-6cb7b5cf9b3d.jp2 (limited to 'bin') diff --git a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml index f7e4367..8478d1e 100644 --- a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml +++ b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml @@ -763,5 +763,13 @@
+ + +
+ + + + +
diff --git a/bin/assets/TexturesAssetSet/b4ba225c-373f-446d-9f7e-6cb7b5cf9b3d.jp2 b/bin/assets/TexturesAssetSet/b4ba225c-373f-446d-9f7e-6cb7b5cf9b3d.jp2 new file mode 100644 index 0000000..278c169 Binary files /dev/null and b/bin/assets/TexturesAssetSet/b4ba225c-373f-446d-9f7e-6cb7b5cf9b3d.jp2 differ -- cgit v1.1 From 10e4d01375454a8937188a657978229a0264282f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 26 Aug 2018 01:01:17 +0100 Subject: remove a comment --- bin/assets/TexturesAssetSet/TexturesAssetSet.xml | 1 - 1 file changed, 1 deletion(-) (limited to 'bin') diff --git a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml index 8478d1e..3ae87b8 100644 --- a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml +++ b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml @@ -764,7 +764,6 @@
-
-- cgit v1.1 From 14f55ab36ea69a26660aa19fbce28b16fd413083 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 26 Aug 2018 01:33:49 +0100 Subject: fix smoke asset filename --- bin/assets/TexturesAssetSet/TexturesAssetSet.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml index 3ae87b8..0abbdac 100644 --- a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml +++ b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml @@ -768,7 +768,7 @@ - +
-- cgit v1.1 From d9028ac07f1327c993675bf9d9a390c6762810ef Mon Sep 17 00:00:00 2001 From: Fly Man Date: Mon, 27 Aug 2018 11:12:52 +0200 Subject: Adjusted Smoke texture Signed-off-by: UbitUmarov --- .../b4ba225c-373f-446d-9f7e-6cb7b5cf9b3d.jp2 | Bin 9864 -> 12638 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/assets/TexturesAssetSet/b4ba225c-373f-446d-9f7e-6cb7b5cf9b3d.jp2 b/bin/assets/TexturesAssetSet/b4ba225c-373f-446d-9f7e-6cb7b5cf9b3d.jp2 index 278c169..0481193 100644 Binary files a/bin/assets/TexturesAssetSet/b4ba225c-373f-446d-9f7e-6cb7b5cf9b3d.jp2 and b/bin/assets/TexturesAssetSet/b4ba225c-373f-446d-9f7e-6cb7b5cf9b3d.jp2 differ -- cgit v1.1 From e075b349cef1a420143091cf132bcade2c986793 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 27 Aug 2018 15:12:24 +0100 Subject: new try on smoke texture --- bin/assets/TexturesAssetSet/TexturesAssetSet.xml | 2 +- .../b4ba225c-373f-446d-9f7e-6cb7b5cf9b3d.j2c | Bin 0 -> 10313 bytes .../b4ba225c-373f-446d-9f7e-6cb7b5cf9b3d.jp2 | Bin 12638 -> 0 bytes 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 bin/assets/TexturesAssetSet/b4ba225c-373f-446d-9f7e-6cb7b5cf9b3d.j2c delete mode 100644 bin/assets/TexturesAssetSet/b4ba225c-373f-446d-9f7e-6cb7b5cf9b3d.jp2 (limited to 'bin') diff --git a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml index 0abbdac..6994822 100644 --- a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml +++ b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml @@ -768,7 +768,7 @@ - +
diff --git a/bin/assets/TexturesAssetSet/b4ba225c-373f-446d-9f7e-6cb7b5cf9b3d.j2c b/bin/assets/TexturesAssetSet/b4ba225c-373f-446d-9f7e-6cb7b5cf9b3d.j2c new file mode 100644 index 0000000..0e5279f Binary files /dev/null and b/bin/assets/TexturesAssetSet/b4ba225c-373f-446d-9f7e-6cb7b5cf9b3d.j2c differ diff --git a/bin/assets/TexturesAssetSet/b4ba225c-373f-446d-9f7e-6cb7b5cf9b3d.jp2 b/bin/assets/TexturesAssetSet/b4ba225c-373f-446d-9f7e-6cb7b5cf9b3d.jp2 deleted file mode 100644 index 0481193..0000000 Binary files a/bin/assets/TexturesAssetSet/b4ba225c-373f-446d-9f7e-6cb7b5cf9b3d.jp2 and /dev/null differ -- cgit v1.1 From 7120ffbc0898ea935627a62e7eae912aad3028cc Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 28 Aug 2018 21:51:59 +0100 Subject: add the Smoke texture to Opensim Library --- bin/inventory/TexturesLibrary/TexturesLibraryItems.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'bin') diff --git a/bin/inventory/TexturesLibrary/TexturesLibraryItems.xml b/bin/inventory/TexturesLibrary/TexturesLibraryItems.xml index adab5d8..b146c21 100644 --- a/bin/inventory/TexturesLibrary/TexturesLibraryItems.xml +++ b/bin/inventory/TexturesLibrary/TexturesLibraryItems.xml @@ -464,6 +464,16 @@
+
+ + + + + + + +
+
-- cgit v1.1 From 9647a1e6c56f375635cb550806dbcf5b9ca9738c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 30 Aug 2018 14:51:07 +0100 Subject: minor changes to last patch --- bin/config-include/osslEnable.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 71b39b0..4726502 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -182,6 +182,7 @@ Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER + Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetContentType = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetPrimitiveParams = false Allow_osSetProjectionParams = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER @@ -206,7 +207,6 @@ Allow_osGetNotecard = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetNotecardLine = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetNumberOfNotecardLines = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRot = false Allow_osSetParcelDetails = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -- cgit v1.1 From a5d6a394ef8838230aeeb4f1721bd40ee0b302a5 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 17 Sep 2018 15:12:02 +0100 Subject: mantis 8372: replace XMLRPC.dll with utf8 fix --- bin/XMLRPC.dll | Bin 25600 -> 25600 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/XMLRPC.dll b/bin/XMLRPC.dll index 8d13509..5d4923c 100755 Binary files a/bin/XMLRPC.dll and b/bin/XMLRPC.dll differ -- cgit v1.1 From 6d9de17d77d20e078b0e7c7546ac3ec047d334e8 Mon Sep 17 00:00:00 2001 From: Bill Blight Date: Fri, 28 Sep 2018 01:45:33 -0700 Subject: **CONFIRMED**AGAIN** , Add new function, osSetOwnerSpeed(float speed), threat level moderate Signed-off-by: UbitUmarov --- bin/config-include/osslEnable.ini | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 4726502..8524a55 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -141,6 +141,7 @@ Allow_osGetSimulatorMemoryKB = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osMessageAttachments = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetSpeed = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetOwnerSpeed = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel High Allow_osCauseDamage = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -- cgit v1.1 From 5751add5379140634c6d873d324b444a8fd15504 Mon Sep 17 00:00:00 2001 From: Mandarinka Tasty Date: Sat, 4 Aug 2018 07:35:49 +0200 Subject: Implementation-and-design-of-ClientOnParcelGodMark Signed-off-by: UbitUmarov --- bin/OpenSimDefaults.ini | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 834a770..e821c1a 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -2212,6 +2212,12 @@ ; range 20m to 5000m ; BanLineSafeHeight = 100 + ; setting the parcel to admin content, It works as setting the land to Linden content in SL. + ; To use it, activate god mode in the viewer, select the parcel and go to: Admin -> Parcel -> Set to Linden Content ( CTRL+ALT+SHIFT+C) + ; DefaultAdministratorParcelName = "Admin Parcel" + ; DefaultAdministratorGroupUUID = "00000000-0000-0000-0000-000000000000" + ; DefaultAdministratorOwnerUUID = "00000000-0000-0000-0000-000000000000" + ;; ;; If you are using a simian grid frontend you can enable ;; this module to upload tile images for the mapping fn -- cgit v1.1 From 1bcdcc2419b9b4f9c64db740f71bacfb8cd02127 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 3 Oct 2018 21:17:23 +0100 Subject: mantis 8384: try to fix bullet heimap managed memory sharing with unmanaged lib --- bin/OpenSim32.pdb | Bin 11776 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bin/OpenSim32.pdb (limited to 'bin') diff --git a/bin/OpenSim32.pdb b/bin/OpenSim32.pdb deleted file mode 100644 index 86d3058..0000000 Binary files a/bin/OpenSim32.pdb and /dev/null differ -- cgit v1.1 From 6569f12d4005551bac44069246f7ecdc59e8fe1a Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 19 Oct 2018 03:43:01 +0100 Subject: add initial test support for cap LSLSyntax. This does not seem to work for Opensimulator on viewers, In particular with FireStorm seems impossible to replace its own definitions, viwers do note revert to defaults on tp to a region that does not suport this cap, etc. So possible just a dead end. Disabled by default --- bin/ScriptSyntaxe.xml | 17920 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 17920 insertions(+) create mode 100644 bin/ScriptSyntaxe.xml (limited to 'bin') diff --git a/bin/ScriptSyntaxe.xml b/bin/ScriptSyntaxe.xml new file mode 100644 index 0000000..cc9b500 --- /dev/null +++ b/bin/ScriptSyntaxe.xml @@ -0,0 +1,17920 @@ +46f4b671-a05b-4aa6-852d-1edc6db46ca5 + + + <-- controls --> + controls + + do + + tooltip + do / while loop\ndo {\n...\n} while (<condition>); + + else + + tooltip + if / else block\nif (<condition>) {\n...\n[} else [if (<condition>) {\n...]]\n} + + for + + tooltip + for loop\nfor (<initializer>; <condition>; <post-iteration-statement>)\n{ ...\n} + + if + + tooltip + if / else block\nif (<condition>) {\n...\n[} else [if (<condition>) {\n...]]\n} + + jump + + tooltip + jump statement\njump <label> + + return + + tooltip + Leave current event or function.\nreturn [<variable>];\nOptionally pass back a variable's value, from a function. + + state + + tooltip + state <target>\nIf the target state is not the same as the current one, change to the target state. + + while + + tooltip + while loop\nwhile (<condition>) {\n,,,\n} + + + <-- types --> + types + + float + + tooltip + 32 bit floating point value.\nThe range is 1.175494351E-38 to 3.402823466E+38. + + integer + + tooltip + 32 bit integer value.\n−2,147,483,648 and +2,147,483,647 (that is 0x80000000 to 0x7FFFFFFF in hex). + + key + + tooltip + A 128 bit unique identifier (UUID) + + list + + tooltip + A collection of other data types. e.g. [0, 1, 2, 3, 4] or ["Yes", "No", "Perhaps"]. + + rotation + + tooltip + The rotation is a mathematical object called a quaternion (x, y, z, w) + + string + + tooltip + Text data.\nThe editor accepts UTF-8 encoded text. + + vector + + tooltip + A vector is a data type that contains a set of three float values.\nVectors are used to represent colors (RGB), positions, and directions/velocities. + + + <-- constants --> + constants + + ACTIVE + + type + integer + value + 0x2 + tooltip + Objects in world that are running a script or currently physically moving. + + AGENT + + type + integer + value + 0x1 + tooltip + Objects in world that are agents. + + AGENT_ALWAYS_RUN + + type + integer + value + 0x1000 + tooltip + + + AGENT_ATTACHMENTS + + type + integer + value + 0x2 + tooltip + The agent has attachments. + + AGENT_AUTOPILOT + + type + integer + value + 0x2000 + tooltip + + + AGENT_AWAY + + type + integer + value + 0x40 + tooltip + + + AGENT_BUSY + + type + integer + value + 0x800 + tooltip + + + AGENT_BY_LEGACY_NAME + + type + integer + value + 0x1 + tooltip + + + AGENT_BY_USERNAME + + type + integer + value + 0x10 + tooltip + + + AGENT_CROUCHING + + type + integer + value + 0x400 + tooltip + + + AGENT_FLYING + + type + integer + value + 0x1 + tooltip + The agent is flying. + + AGENT_IN_AIR + + type + integer + value + 0x100 + tooltip + + + AGENT_LIST_PARCEL + + type + integer + value + 1 + tooltip + Agents on the same parcel where the script is running. + + AGENT_LIST_PARCEL_OWNER + + type + integer + value + 2 + tooltip + Agents on any parcel in the region where the parcel owner is the same as the owner of the parcel under the scripted object. + + AGENT_LIST_REGION + + type + integer + value + 4 + tooltip + All agents in the region. + + AGENT_LIST_EXCLUDENPC + + type + integer + value + 0x4000000 + tooltip + Exclude NPCs in the region. + + AGENT_MALE + + type + integer + value + 0x40000000 + tooltip + + + AGENT_MOUSELOOK + + type + integer + value + 0x8 + tooltip + + + AGENT_ON_OBJECT + + type + integer + value + 0x20 + tooltip + + + AGENT_SCRIPTED + + type + integer + value + 0x4 + tooltip + The agent has scripted attachments. + + AGENT_SITTING + + type + integer + value + 0x10 + tooltip + + + AGENT_TYPING + + type + integer + value + 0x200 + tooltip + + + AGENT_WALKING + + type + integer + value + 0x80 + tooltip + + + ALL_SIDES + + type + integer + value + -1 + tooltip + + + ANIM_ON + + type + integer + value + 0x1 + tooltip + Texture animation is on. + + ATTACH_AVATAR_CENTER + + type + integer + value + 40 + tooltip + Attach to the avatar's geometric centre. + + ATTACH_BACK + + type + integer + value + 9 + tooltip + Attach to the avatar's back. + + ATTACH_BELLY + + type + integer + value + 28 + tooltip + Attach to the avatar's belly. + + ATTACH_CHEST + + type + integer + value + 1 + tooltip + Attach to the avatar's chest. + + ATTACH_CHIN + + type + integer + value + 12 + tooltip + Attach to the avatar's chin. + + ATTACH_HEAD + + type + integer + value + 2 + tooltip + Attach to the avatar's head. + + ATTACH_HUD_BOTTOM + + type + integer + value + 37 + tooltip + + + ATTACH_HUD_BOTTOM_LEFT + + type + integer + value + 36 + tooltip + + + ATTACH_HUD_BOTTOM_RIGHT + + type + integer + value + 38 + tooltip + + + ATTACH_HUD_CENTER_1 + + type + integer + value + 35 + tooltip + + + ATTACH_HUD_CENTER_2 + + type + integer + value + 31 + tooltip + + + ATTACH_HUD_TOP_CENTER + + type + integer + value + 33 + tooltip + + + ATTACH_HUD_TOP_LEFT + + type + integer + value + 34 + tooltip + + + ATTACH_HUD_TOP_RIGHT + + type + integer + value + 32 + tooltip + + + ATTACH_LEAR + + type + integer + value + 13 + tooltip + Attach to the avatar's left ear. + + ATTACH_LEFT_PEC + + type + integer + value + 29 + tooltip + Attach to the avatar's left pectoral. + + ATTACH_LEYE + + type + integer + value + 15 + tooltip + Attach to the avatar's left eye. + + ATTACH_LFOOT + + type + integer + value + 7 + tooltip + Attach to the avatar's left foot. + + ATTACH_LHAND + + type + integer + value + 5 + tooltip + Attach to the avatar's left hand. + + ATTACH_LHIP + + type + integer + value + 25 + tooltip + Attach to the avatar's left hip. + + ATTACH_LLARM + + type + integer + value + 21 + tooltip + Attach to the avatar's left lower arm. + + ATTACH_LLLEG + + type + integer + value + 27 + tooltip + Attach to the avatar's lower left leg. + + ATTACH_LPEC + + deprecated + true + type + integer + value + 30 + tooltip + Attach to the avatar's right pectoral. (Deprecated, use ATTACH_RIGHT_PEC) + + ATTACH_LSHOULDER + + type + integer + value + 3 + tooltip + Attach to the avatar's left shoulder. + + ATTACH_LUARM + + type + integer + value + 20 + tooltip + Attach to the avatar's left upper arm. + + ATTACH_LULEG + + type + integer + value + 26 + tooltip + Attach to the avatar's lower upper leg. + + ATTACH_MOUTH + + type + integer + value + 11 + tooltip + Attach to the avatar's mouth. + + ATTACH_NECK + + type + integer + value + 39 + tooltip + Attach to the avatar's neck. + + ATTACH_NOSE + + type + integer + value + 17 + tooltip + Attach to the avatar's nose. + + ATTACH_PELVIS + + type + integer + value + 10 + tooltip + Attach to the avatar's pelvis. + + ATTACH_REAR + + type + integer + value + 14 + tooltip + Attach to the avatar's right ear. + + ATTACH_REYE + + type + integer + value + 16 + tooltip + Attach to the avatar's right eye. + + ATTACH_RFOOT + + type + integer + value + 8 + tooltip + Attach to the avatar's right foot. + + ATTACH_RHAND + + type + integer + value + 6 + tooltip + Attach to the avatar's right hand. + + ATTACH_RHIP + + type + integer + value + 22 + tooltip + Attach to the avatar's right hip. + + ATTACH_RIGHT_PEC + + type + integer + value + 30 + tooltip + Attach to the avatar's right pectoral. + + ATTACH_RLARM + + type + integer + value + 19 + tooltip + Attach to the avatar's right lower arm. + + ATTACH_RLLEG + + type + integer + value + 24 + tooltip + Attach to the avatar's right lower leg. + + ATTACH_RPEC + + deprecated + true + type + integer + value + 29 + tooltip + Attach to the avatar's left pectoral. (deprecated, use ATTACH_LEFT_PEC) + + ATTACH_RSHOULDER + + type + integer + value + 4 + tooltip + Attach to the avatar's right shoulder. + + ATTACH_RUARM + + type + integer + value + 18 + tooltip + Attach to the avatar's right upper arm. + + ATTACH_RULEG + + type + integer + value + 23 + tooltip + Attach to the avatar's right upper leg. + + ATTACH_LHAND_RING1 + + type + integer + value + 41 + tooltip + Attach to the avatar's left ring finger. + + ATTACH_RHAND_RING1 + + type + integer + value + 42 + tooltip + Attach to the avatar's right ring finger. + + ATTACH_TAIL_BASE + + type + integer + value + 43 + tooltip + Attach to the avatar's tail base. + + ATTACH_TAIL_TIP + + type + integer + value + 44 + tooltip + Attach to the avatar's tail tip. + + ATTACH_LWING + + type + integer + value + 45 + tooltip + Attach to the avatar's left wing. + + ATTACH_RWING + + type + integer + value + 46 + tooltip + Attach to the avatar's right wing. + + ATTACH_FACE_JAW + + type + integer + value + 47 + tooltip + Attach to the avatar's jaw. + + ATTACH_FACE_LEAR + + type + integer + value + 48 + tooltip + Attach to the avatar's left ear (extended). + + ATTACH_FACE_REAR + + type + integer + value + 49 + tooltip + Attach to the avatar's right ear (extended). + + ATTACH_FACE_LEYE + + type + integer + value + 50 + tooltip + Attach to the avatar's left eye (extended). + + ATTACH_FACE_REYE + + type + integer + value + 51 + tooltip + Attach to the avatar's right eye (extended). + + ATTACH_FACE_TONGUE + + type + integer + value + 52 + tooltip + Attach to the avatar's tongue. + + ATTACH_GROIN + + type + integer + value + 53 + tooltip + Attach to the avatar's groin. + + ATTACH_HIND_LFOOT + + type + integer + value + 54 + tooltip + Attach to the avatar's left hind foot. + + ATTACH_HIND_RFOOT + + type + integer + value + 55 + tooltip + Attach to the avatar's right hind foot. + + CAMERA_ACTIVE + + type + integer + value + 12 + tooltip + + + CAMERA_BEHINDNESS_ANGLE + + type + integer + value + 8 + tooltip + + + CAMERA_BEHINDNESS_LAG + + type + integer + value + 9 + tooltip + + + CAMERA_DISTANCE + + type + integer + value + 7 + tooltip + + + CAMERA_FOCUS + + type + integer + value + 17 + tooltip + + + CAMERA_FOCUS_X + + type + integer + value + 18 + tooltip + + + CAMERA_FOCUS_Y + + type + integer + value + 19 + tooltip + + + CAMERA_FOCUS_Z + + type + integer + value + 19 + tooltip + + + CAMERA_FOCUS_LAG + + type + integer + value + 6 + tooltip + + + CAMERA_FOCUS_LOCKED + + type + integer + value + 22 + tooltip + + + CAMERA_FOCUS_OFFSET + + type + integer + value + 1 + tooltip + + + CAMERA_FOCUS_OFFSET_X + + type + integer + value + 2 + tooltip + + + CAMERA_FOCUS_OFFSET_Y + + type + integer + value + 3 + tooltip + + + CAMERA_FOCUS_OFFSET_Z + + type + integer + value + 4 + tooltip + + + CAMERA_FOCUS_THRESHOLD + + type + integer + value + 11 + tooltip + + + CAMERA_PITCH + + type + integer + value + 0 + tooltip + + + CAMERA_POSITION + + type + integer + value + 13 + tooltip + + + CAMERA_POSITION_X + + type + integer + value + 14 + tooltip + + + CAMERA_POSITION_Y + + type + integer + value + 15 + tooltip + + + CAMERA_POSITION_Z + + type + integer + value + 16 + tooltip + + + CAMERA_POSITION_LAG + + type + integer + value + 5 + tooltip + + + CAMERA_POSITION_LOCKED + + type + integer + value + 21 + tooltip + + + CAMERA_POSITION_THRESHOLD + + type + integer + value + 10 + tooltip + + + CHANGED_ALLOWED_DROP + + type + integer + value + 0x40 + tooltip + The object inventory has changed because an item was added through the llAllowInventoryDrop interface. + + CHANGED_ANIMATION + + type + integer + value + 0x4000 + tooltip + The set of animations playing on the avatar to whom this object is attached has been changed. + + CHANGED_COLOR + + type + integer + value + 0x2 + tooltip + The object color has changed. + + CHANGED_INVENTORY + + type + integer + value + 0x1 + tooltip + The object inventory has changed. + + CHANGED_LINK + + type + integer + value + 0x20 + tooltip + The object has linked or its links were broken. + + CHANGED_MEDIA + + type + integer + value + 0x800 + tooltip + + + CHANGED_OWNER + + type + integer + value + 0x80 + tooltip + + + CHANGED_REGION + + type + integer + value + 0x100 + tooltip + + + CHANGED_REGION_START + + type + integer + value + 0x400 + tooltip + Parameter of changed event handler used to indicate the region has been restarted same as CHANGED_REGION_RESTART. + + CHANGED_REGION_RESTART + + type + integer + value + 0x400 + tooltip + Parameter of changed event handler used to indicate the region has been restarted same as CHANGED_REGION_START. + + CHANGED_SCALE + + type + integer + value + 0x8 + tooltip + The object scale (size) has changed. + + CHANGED_SHAPE + + type + integer + value + 0x4 + tooltip + The object base shape has changed, e.g., a box to a cylinder. + + CHANGED_TELEPORT + + type + integer + value + 0x200 + tooltip + + + CHANGED_TEXTURE + + type + integer + value + 0x10 + tooltip + The texture offset, scale rotation, or simply the object texture has changed. + + CLICK_ACTION_BUY + + type + integer + value + 2 + tooltip + When the prim is clicked, the buy dialog is opened. + + CLICK_ACTION_NONE + + type + integer + value + 0 + tooltip + Performs the default action: when the prim is clicked, touch events are triggered. + + CLICK_ACTION_OPEN + + type + integer + value + 4 + tooltip + When the prim is clicked, the object inventory dialog is opened. + + CLICK_ACTION_OPEN_MEDIA + + type + integer + value + 6 + tooltip + When the prim is touched, the web media dialog is opened. + + CLICK_ACTION_PAY + + type + integer + value + 3 + tooltip + When the prim is clicked, the pay dialog is opened. + + CLICK_ACTION_PLAY + + type + integer + value + 5 + tooltip + When the prim is clicked, html-on-a-prim is enabled? + + CLICK_ACTION_SIT + + type + integer + value + 1 + tooltip + When the prim is clicked, the avatar sits upon it. + + CLICK_ACTION_TOUCH + + type + integer + value + 0 + tooltip + When the prim is clicked, touch events are triggered. + + CONTENT_TYPE_ATOM + + type + integer + value + 4 + tooltip + "application/atom+xml" + + CONTENT_TYPE_FORM + + type + integer + value + 7 + tooltip + "application/x-www-form-urlencoded" + + CONTENT_TYPE_HTML + + type + integer + value + 1 + tooltip + "text/html", only valid for embedded browsers on content owned by the person viewing. Falls back to "text/plain" otherwise. + + CONTENT_TYPE_JSON + + type + integer + value + 5 + tooltip + "application/json" + + CONTENT_TYPE_LLSD + + type + integer + value + 6 + tooltip + "application/llsd+xml" + + CONTENT_TYPE_RSS + + type + integer + value + 8 + tooltip + "application/rss+xml" + + CONTENT_TYPE_TEXT + + type + integer + value + 0 + tooltip + "text/plain" + + CONTENT_TYPE_XHTML + + type + integer + value + 3 + tooltip + "application/xhtml+xml" + + CONTENT_TYPE_XML + + type + integer + value + 2 + tooltip + "application/xml" + + CONTROL_BACK + + type + integer + value + 0x2 + tooltip + Test for the avatar move back control. + + CONTROL_DOWN + + type + integer + value + 0x20 + tooltip + Test for the avatar move down control. + + CONTROL_FWD + + type + integer + value + 0x1 + tooltip + Test for the avatar move forward control. + + CONTROL_LBUTTON + + type + integer + value + 0x10000000 + tooltip + Test for the avatar left button control. + + CONTROL_LEFT + + type + integer + value + 0x4 + tooltip + Test for the avatar move left control. + + CONTROL_ML_LBUTTON + + type + integer + value + 0x40000000 + tooltip + Test for the avatar left button control while in mouse look. + + CONTROL_RIGHT + + type + integer + value + 0x8 + tooltip + Test for the avatar move right control. + + CONTROL_ROT_LEFT + + type + integer + value + 0x100 + tooltip + Test for the avatar rotate left control. + + CONTROL_ROT_RIGHT + + type + integer + value + 0x200 + tooltip + Test for the avatar rotate right control. + + CONTROL_UP + + type + integer + value + 0x10 + tooltip + Test for the avatar move up control. + + DATA_BORN + + type + integer + value + 3 + tooltip + The date the agent was born, returned in ISO 8601 format of YYYY-MM-DD. + + DATA_NAME + + type + integer + value + 2 + tooltip + The name of the agent. + + DATA_ONLINE + + type + integer + value + 1 + tooltip + TRUE for online, FALSE for offline. + + DATA_PAYINFO + + type + integer + value + 8 + tooltip + + + DATA_SIM_POS + + type + integer + value + 5 + tooltip + + + DATA_SIM_RATING + + type + integer + value + 7 + tooltip + + + DATA_SIM_STATUS + + type + integer + value + 6 + tooltip + + + DEBUG_CHANNEL + + type + integer + value + 2147483647 + tooltip + DEBUG_CHANNEL is an integer constant that, when passed to llSay, llWhisper, or llShout as a channel parameter, will print text to the Script Warning/Error Window. + + DEG_TO_RAD + + type + float + value + 0.017453293 + tooltip + 0.017453293 - Number of radians per degree. + You can use this to convert degrees to radians by multiplying the degrees by this number. + + DENSITY + + type + integer + value + 1 + tooltip + Used with llSetPhysicsMaterial to enable the density value. Must be between 1.0 and 22587.0 (in Kg/m^3 -- see if you can figure out what 22587 represents) + + EOF + + type + string + value + \\n\\n\\n + tooltip + Indicates the last line of a notecard was read. + + ERR_GENERIC + + type + integer + value + -1 + tooltip + + + ERR_MALFORMED_PARAMS + + type + integer + value + -3 + tooltip + + + ERR_PARCEL_PERMISSIONS + + type + integer + value + -2 + tooltip + + + ERR_RUNTIME_PERMISSIONS + + type + integer + value + -4 + tooltip + + + ERR_THROTTLED + + type + integer + value + -5 + tooltip + + + ESTATE_ACCESS_ALLOWED_AGENT_ADD + + type + integer + value + 4 + tooltip + Add the agent to this estate's Allowed Residents list. + + ESTATE_ACCESS_ALLOWED_AGENT_REMOVE + + type + integer + value + 8 + tooltip + Remove the agent from this estate's Allowed Residents list. + + ESTATE_ACCESS_ALLOWED_GROUP_ADD + + type + integer + value + 16 + tooltip + Add the group to this estate's Allowed groups list. + + ESTATE_ACCESS_ALLOWED_GROUP_REMOVE + + type + integer + value + 32 + tooltip + Remove the group from this estate's Allowed groups list. + + ESTATE_ACCESS_BANNED_AGENT_ADD + + type + integer + value + 64 + tooltip + Add the agent to this estate's Banned residents list. + + ESTATE_ACCESS_BANNED_AGENT_REMOVE + + type + integer + value + 128 + tooltip + Remove the agent from this estate's Banned residents list. + + FALSE + + type + integer + value + 0 + tooltip + An integer constant for boolean comparisons. Has the value '0'. + + FRICTION + + type + integer + value + 2 + tooltip + Used with llSetPhysicsMaterial to enable the friction value. Must be between 0.0 and 255.0 + + GRAVITY_MULTIPLIER + + type + integer + value + 8 + tooltip + Used with llSetPhysicsMaterial to enable the gravity multiplier value. Must be between -1.0 and +28.0 + + HORIZONTAL + + type + integer + value + 1 + tooltip + + + HTTP_BODY_MAXLENGTH + + type + integer + value + 2 + tooltip + + + HTTP_BODY_TRUNCATED + + type + integer + value + 0 + tooltip + + + HTTP_CUSTOM_HEADER + + type + integer + value + 5 + tooltip + Add an extra custom HTTP header to the request. The first string is the name of the parameter to change, e.g. "Pragma", and the second string is the value, e.g. "no-cache". Up to 8 custom headers may be configured per request. Note that certain headers, such as the default headers, are blocked for security reasons. + + HTTP_METHOD + + type + integer + value + 0 + tooltip + + + HTTP_MIMETYPE + + type + integer + value + 1 + tooltip + + + HTTP_PRAGMA_NO_CACHE + + type + integer + value + 6 + tooltip + Allows enabling/disbling of the "Pragma: no-cache" header.\nUsage: [HTTP_PRAGMA_NO_CACHE, integer SendHeader]. When SendHeader is TRUE, the "Pragma: no-cache" header is sent by the script. This matches the default behavior. When SendHeader is FALSE, no "Pragma" header is sent by the script. + + HTTP_VERBOSE_THROTTLE + + type + integer + value + 4 + tooltip + + + HTTP_VERIFY_CERT + + type + integer + value + 3 + tooltip + + + INVENTORY_ALL + + type + integer + value + -1 + tooltip + + + INVENTORY_ANIMATION + + type + integer + value + 20 + tooltip + + + INVENTORY_BODYPART + + type + integer + value + 13 + tooltip + + + INVENTORY_CLOTHING + + type + integer + value + 5 + tooltip + + + INVENTORY_GESTURE + + type + integer + value + 21 + tooltip + + + INVENTORY_LANDMARK + + type + integer + value + 3 + tooltip + + + INVENTORY_NONE + + type + integer + value + -1 + tooltip + + + INVENTORY_NOTECARD + + type + integer + value + 7 + tooltip + + + INVENTORY_OBJECT + + type + integer + value + 6 + tooltip + + + INVENTORY_SCRIPT + + type + integer + value + 10 + tooltip + + + INVENTORY_SOUND + + type + integer + value + 1 + tooltip + + + INVENTORY_TEXTURE + + type + integer + value + 0 + tooltip + + + JSON_APPEND + + type + integer + value + -1 + tooltip + + + JSON_ARRAY + + type + string + value + U+FDD2 + tooltip + + + JSON_DELETE + + type + string + value + U+FDD8 + tooltip + + + JSON_FALSE + + type + string + value + U+FDD7 + tooltip + + + JSON_INVALID + + type + string + value + U+FDD0 + tooltip + + + JSON_NULL + + type + string + value + U+FDD5 + tooltip + + + JSON_NUMBER + + type + string + value + U+FDD3 + tooltip + + + JSON_OBJECT + + type + string + value + U+FDD1 + tooltip + + + JSON_STRING + + type + string + value + U+FDD4 + tooltip + + + JSON_TRUE + + type + string + value + U+FDD6 + tooltip + + + KFM_CMD_PAUSE + + type + integer + value + 2 + tooltip + For use with KFM_COMMAND. + + KFM_CMD_PLAY + + type + integer + value + 0 + tooltip + For use with KFM_COMMAND. + + KFM_CMD_STOP + + type + integer + value + 1 + tooltip + For use with KFM_COMMAND. + + KFM_COMMAND + + type + integer + value + 0 + tooltip + + + KFM_DATA + + type + integer + value + 2 + tooltip + + + KFM_FORWARD + + type + integer + value + 0 + tooltip + For use with KFM_MODE. + + KFM_LOOP + + type + integer + value + 1 + tooltip + For use with KFM_MODE. + + KFM_MODE + + type + integer + value + 1 + tooltip + + + KFM_PING_PONG + + type + integer + value + 2 + tooltip + For use with KFM_MODE. + + KFM_REVERSE + + type + integer + value + 3 + tooltip + For use with KFM_MODE. + + KFM_ROTATION + + type + integer + value + 1 + tooltip + For use with KFM_DATA. + + KFM_TRANSLATION + + type + integer + value + 2 + tooltip + For use with KFM_DATA. + + LAND_LARGE_BRUSH + + type + integer + value + 3 + tooltip + Use a large brush size.\nNOTE: This value is incorrect, a large brush should be 2. + + LAND_LEVEL + + type + integer + value + 0 + tooltip + Action to level the land. + + LAND_LOWER + + type + integer + value + 2 + tooltip + Action to lower the land. + + LAND_MEDIUM_BRUSH + + type + integer + value + 2 + tooltip + Use a medium brush size.\nNOTE: This value is incorrect, a medium brush should be 1. + + LAND_NOISE + + type + integer + value + 4 + tooltip + + + LAND_RAISE + + type + integer + value + 1 + tooltip + Action to raise the land. + + LAND_REVERT + + type + integer + value + 5 + tooltip + + + LAND_SMALL_BRUSH + + type + integer + value + 1 + tooltip + Use a small brush size.\nNOTE: This value is incorrect, a small brush should be 0. + + LAND_SMOOTH + + type + integer + value + 3 + tooltip + + + LINK_ALL_CHILDREN + + type + integer + value + -3 + tooltip + This targets every object except the root in the linked set. + + LINK_ALL_OTHERS + + type + integer + value + -2 + tooltip + This targets every object in the linked set except the object with the script. + + LINK_ROOT + + type + integer + value + 1 + tooltip + This targets the root of the linked set. + + LINK_SET + + type + integer + value + -1 + tooltip + This targets every object in the linked set. + + LINK_THIS + + type + integer + value + -4 + tooltip + The link number of the prim containing the script. + + LIST_STAT_GEOMETRIC_MEAN + + type + integer + value + 9 + tooltip + Returns the geometric mean of a list of numbers + + LIST_STAT_HARMONIC_MEAN + + type + integer + value + 100 + tooltip + Returns the harmonic mean of a list of numbers + + LIST_STAT_MAX + + type + integer + value + 2 + tooltip + + + LIST_STAT_MEAN + + type + integer + value + 3 + tooltip + + + LIST_STAT_MEDIAN + + type + integer + value + 4 + tooltip + + + LIST_STAT_MIN + + type + integer + value + 1 + tooltip + + + LIST_STAT_NUM_COUNT + + type + integer + value + 8 + tooltip + + + LIST_STAT_RANGE + + type + integer + value + 0 + tooltip + + + LIST_STAT_STD_DEV + + type + integer + value + 5 + tooltip + + + LIST_STAT_SUM + + type + integer + value + 6 + tooltip + + + LIST_STAT_SUM_SQUARES + + type + integer + value + 7 + tooltip + + + LOOP + + type + integer + value + 0x2 + tooltip + Loop the texture animation. + + MASK_BASE + + type + integer + value + 0 + tooltip + + + MASK_EVERYONE + + type + integer + value + 3 + tooltip + + + MASK_GROUP + + type + integer + value + 2 + tooltip + + + MASK_NEXT + + type + integer + value + 4 + tooltip + + + MASK_OWNER + + type + integer + value + 1 + tooltip + + + NPC + + type + integer + value + 0x20 + tooltip + + + NULL_KEY + + type + string + value + 00000000-0000-0000-0000-000000000000 + tooltip + + + OBJECT_ATTACHED_POINT + + type + integer + value + 19 + tooltip + Gets the attachment point to which the object is attached.\nReturns 0 if the object is not an attachment (or is an avatar, etc). + + OBJECT_BODY_SHAPE_TYPE + + type + integer + value + 26 + tooltip + This is a flag used with llGetObjectDetails to get the body type of the avatar, based on shape data.\nIf no data is available, -1.0 is returned.\nThis is normally between 0 and 1.0, with 0.5 and larger considered 'male' + + OBJECT_CLICK_ACTION + + type + integer + value + 28 + tooltip + This is a flag used with llGetObjectDetails to get the click action.\nThe default is 0 + + OBJECT_CREATOR + + type + integer + value + 8 + tooltip + Gets the object's creator key. If id is an avatar, a NULL_KEY is returned. + + OBJECT_DESC + + type + integer + value + 2 + tooltip + Gets the object's description. If id is an avatar, an empty string is returned. + + OBJECT_GROUP + + type + integer + value + 7 + tooltip + Gets the prims's group key. If id is an avatar, a NULL_KEY is returned. + + OBJECT_HOVER_HEIGHT + + type + integer + value + 25 + tooltip + This is a flag used with llGetObjectDetails to get hover height of the avatar\nIf no data is available, 0.0 is returned. + + OBJECT_LAST_OWNER_ID + + type + integer + value + 27 + tooltip + Gets the object's last owner ID. + + OBJECT_NAME + + type + integer + value + 1 + tooltip + Gets the object's name. + + OBJECT_OMEGA + + type + integer + value + 29 + tooltip + Gets an object's angular velocity. + + OBJECT_OWNER + + type + integer + value + 6 + tooltip + Gets an object's owner's key. If id is group owned, a NULL_KEY is returned. + + OBJECT_PRIM_COUNT + + type + integer + value + 30 + tooltip + Gets the prim count of the object. The script and target object must be owned by the same owner + + OBJECT_PHANTOM + + type + integer + value + 22 + tooltip + Returns boolean, detailing if phantom is enabled or disabled on the object.\nIf id is an avatar or attachment, 0 is returned. + + OBJECT_PHYSICS + + type + integer + value + 21 + tooltip + Returns boolean, detailing if physics is enabled or disabled on the object.\nIf id is an avatar or attachment, 0 is returned. + + OBJECT_PHYSICS_COST + + type + integer + value + 16 + tooltip + + + OBJECT_POS + + type + integer + value + 3 + tooltip + Gets the object's position in region coordinates. + + OBJECT_PRIM_EQUIVALENCE + + type + integer + value + 13 + tooltip + + + OBJECT_RENDER_WEIGHT + + type + integer + value + 24 + tooltip + This is a flag used with llGetObjectDetails to get the Avatar_Rendering_Cost of an avatar, based on values reported by nearby viewers.\nIf no data is available, -1 is returned.\nThe maximum render weight stored by the simulator is 500000. When called against an object, 0 is returned. + + OBJECT_RETURN_PARCEL + + type + integer + value + 1 + tooltip + + + OBJECT_RETURN_PARCEL_OWNER + + type + integer + value + 2 + tooltip + + + OBJECT_RETURN_REGION + + type + integer + value + 4 + tooltip + + + OBJECT_REZZER_KEY + + type + integer + value + 32 + tooltip + + + OBJECT_ROOT + + type + integer + value + 18 + tooltip + Gets the id of the root prim of the object requested.\nIf id is an avatar, return the id of the root prim of the linkset the avatar is sitting on (or the avatar's own id if the avatar is not sitting on an object within the region). + + OBJECT_ROT + + type + integer + value + 4 + tooltip + Gets the object's rotation. + + OBJECT_RUNNING_SCRIPT_COUNT + + type + integer + value + 9 + tooltip + + + OBJECT_SCRIPT_MEMORY + + type + integer + value + 11 + tooltip + + + OBJECT_SCRIPT_TIME + + type + integer + value + 12 + tooltip + + + OBJECT_SERVER_COST + + type + integer + value + 14 + tooltip + + + OBJECT_STREAMING_COST + + type + integer + value + 15 + tooltip + + + OBJECT_TEMP_ON_REZ + + type + integer + value + 23 + tooltip + Returns boolean, detailing if temporary is enabled or disabled on the object. + + OBJECT_TOTAL_INVENTORY_COUNT + + type + integer + value + 31 + tooltip + Gets the total inventory count of the object. The script and target object must be owned by the same owner + + OBJECT_TOTAL_SCRIPT_COUNT + + type + integer + value + 10 + tooltip + + + OBJECT_UNKNOWN_DETAIL + + type + integer + value + -1 + tooltip + + + OBJECT_VELOCITY + + type + integer + value + 5 + tooltip + Gets the object's velocity. + + OS_ATTACH_MSG_ALL + + type + integer + value + -65535 + tooltip + Send the message to attachments on every point. + + OS_ATTACH_MSG_INVERT_POINTS + + type + integer + value + 1 + tooltip + Invert how the attachment points list should be treated. + + OS_ATTACH_MSG_OBJECT_CREATOR + + type + integer + value + 2 + tooltip + Send only to those have the same CreatorID with host object CreatorID. + + OS_LISTEN_REGEX_NAME + + type + integer + value + 0x1 + tooltip + Process name parameter as regex + + OS_LISTEN_REGEX_MESSAGE + + type + integer + value + 0x2 + tooltip + Process message parameter as regex + + OS_ATTACH_MSG_SCRIPT_CREATOR + + type + integer + value + 4 + tooltip + Send only to those have the same CreatorID with sender script CreatorID. + + OS_NPC + + type + integer + value + 0x20 + tooltip + Same as NPC + + OS_NPC_FLY + + type + integer + value + 0 + tooltip + + + OS_NPC_NO_FLY + + type + integer + value + 1 + tooltip + + + OS_NPC_LAND_AT_TARGET + + type + integer + value + 2 + tooltip + + + OS_NPC_SIT_NOW + + type + integer + value + 0 + tooltip + + + OS_NPC_CREATOR_OWNED + + type + integer + value + 0x1 + tooltip + + + OS_NPC_NOT_OWNED + + type + integer + value + 0x2 + tooltip + + + OS_NPC_SENSE_AS_AGENT + + type + integer + value + 0x4 + tooltip + + + OS_NPC_OBJECT_GROUP + + type + integer + value + 0x8 + tooltip + + + OS_NPC_RUNNING + + type + integer + value + 4 + tooltip + + + OSTPOBJ_NONE + + type + integer + value + 0x0 + tooltip + osTeleportObject flag + + OSTPOBJ_STOPATTARRGET + + type + integer + value + 0x1 + tooltip + osTeleportObject flag: object is stopped at destination + + OSTPOBJ_STOPONFAIL + + type + integer + value + 0x2 + tooltip + osTeleportObject flag: object stops at start point if tp fails + + OSTPOBJ_SETROT + + type + integer + value + 0x2 + tooltip + osTeleportObject flag: the rotation is the final object rotation, otherwise is a added rotation + + PARCEL_COUNT_GROUP + + type + integer + value + 2 + tooltip + + + PARCEL_COUNT_OTHER + + type + integer + value + 3 + tooltip + + + PARCEL_COUNT_OWNER + + type + integer + value + 1 + tooltip + + + PARCEL_COUNT_SELECTED + + type + integer + value + 4 + tooltip + + + PARCEL_COUNT_TEMP + + type + integer + value + 5 + tooltip + + + PARCEL_COUNT_TOTAL + + type + integer + value + 0 + tooltip + + + PARCEL_DETAILS_AREA + + type + integer + value + 4 + tooltip + The parcel's area, in square meters. (5 chars.). + + PARCEL_DETAILS_CLAIMDATE + + type + integer + value + 10 + tooltip + Set parcel claim date. + + PARCEL_DETAILS_DESC + + type + integer + value + 1 + tooltip + The description of the parcel. (127 chars). + + PARCEL_DETAILS_GROUP + + type + integer + value + 3 + tooltip + The parcel group's key. (36 chars.). + + PARCEL_DETAILS_ID + + type + integer + value + 5 + tooltip + The parcel's key. (36 chars.). + + PARCEL_DETAILS_NAME + + type + integer + value + 0 + tooltip + The name of the parcel. (63 chars.). + + PARCEL_DETAILS_OWNER + + type + integer + value + 2 + tooltip + The parcel owner's key. (36 chars.). + + PARCEL_DETAILS_SEE_AVATARS + + type + integer + value + 6 + tooltip + The parcel's avatar visibility setting. (1 char.). + + PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY + + type + integer + value + 0x08000000 + tooltip + + + PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS + + type + integer + value + 0x4000000 + tooltip + + + PARCEL_FLAG_ALLOW_CREATE_OBJECTS + + type + integer + value + 0x40 + tooltip + + + PARCEL_FLAG_ALLOW_DAMAGE + + type + integer + value + 0x20 + tooltip + + + PARCEL_FLAG_ALLOW_FLY + + type + integer + value + 0x1 + tooltip + + + PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY + + type + integer + value + 0x10000000 + tooltip + + + PARCEL_FLAG_ALLOW_GROUP_SCRIPTS + + type + integer + value + 0x2000000 + tooltip + + + PARCEL_FLAG_ALLOW_LANDMARK + + type + integer + value + 0x8 + tooltip + + + PARCEL_FLAG_ALLOW_SCRIPTS + + type + integer + value + 0x2 + tooltip + + + PARCEL_FLAG_ALLOW_TERRAFORM + + type + integer + value + 0x10 + tooltip + + + PARCEL_FLAG_LOCAL_SOUND_ONLY + + type + integer + value + 0x8000 + tooltip + + + PARCEL_FLAG_RESTRICT_PUSHOBJECT + + type + integer + value + 0x200000 + tooltip + + + PARCEL_FLAG_USE_ACCESS_GROUP + + type + integer + value + 0x100 + tooltip + + + PARCEL_FLAG_USE_ACCESS_LIST + + type + integer + value + 0x200 + tooltip + + + PARCEL_FLAG_USE_BAN_LIST + + type + integer + value + 0x400 + tooltip + + + PARCEL_FLAG_USE_LAND_PASS_LIST + + type + integer + value + 0x800 + tooltip + + + PARCEL_MEDIA_COMMAND_AGENT + + type + integer + value + 7 + tooltip + + + PARCEL_MEDIA_COMMAND_AUTO_ALIGN + + type + integer + value + 9 + tooltip + + + PARCEL_MEDIA_COMMAND_DESC + + type + integer + value + 12 + tooltip + Use this to get or set the parcel media description. + + PARCEL_MEDIA_COMMAND_LOOP + + type + integer + value + 3 + tooltip + + + PARCEL_MEDIA_COMMAND_LOOP_SET + + type + integer + value + 13 + tooltip + Used to get or set the parcel's media looping variable. + + PARCEL_MEDIA_COMMAND_PAUSE + + type + integer + value + 1 + tooltip + + + PARCEL_MEDIA_COMMAND_PLAY + + type + integer + value + 2 + tooltip + + + PARCEL_MEDIA_COMMAND_SIZE + + type + integer + value + 11 + tooltip + Use this to get or set the parcel media pixel resolution. + + PARCEL_MEDIA_COMMAND_STOP + + type + integer + value + 0 + tooltip + + + PARCEL_MEDIA_COMMAND_TEXTURE + + type + integer + value + 4 + tooltip + + + PARCEL_MEDIA_COMMAND_TIME + + type + integer + value + 6 + tooltip + + + PARCEL_MEDIA_COMMAND_TYPE + + type + integer + value + 10 + tooltip + Use this to get or set the parcel media MIME type (e.g. "text/html"). + + PARCEL_MEDIA_COMMAND_UNLOAD + + type + integer + value + 8 + tooltip + + + PARCEL_MEDIA_COMMAND_URL + + type + integer + value + 5 + tooltip + + + PASS_ALWAYS + + type + integer + value + 1 + tooltip + Always pass the event. + + PASS_NEVER + + type + integer + value + 2 + tooltip + Always pass the event. + + PASS_IF_NOT_HANDLED + + type + integer + value + 0 + tooltip + Pass the event if there is no script handling the event in the prim. + + PASSIVE + + type + integer + value + 0x4 + tooltip + Static in-world objects. + + PATROL_PAUSE_AT_WAYPOINTS + + type + integer + value + 0 + tooltip + + + PAY_DEFAULT + + type + integer + value + -2 + tooltip + + + PAY_HIDE + + type + integer + value + -1 + tooltip + + + PAYMENT_INFO_ON_FILE + + type + integer + value + 1 + tooltip + + + PAYMENT_INFO_USED + + type + integer + value + 2 + tooltip + + + PERM_ALL + + type + integer + value + 0x7FFFFFFF + tooltip + + + PERM_COPY + + type + integer + value + 0x8000 + tooltip + + + PERM_MODIFY + + type + integer + value + 0x4000 + tooltip + + + PERM_MOVE + + type + integer + value + 0x80000 + tooltip + + + PERM_TRANSFER + + type + integer + value + 0x2000 + tooltip + + + PERMISSION_ATTACH + + type + integer + value + 0x20 + tooltip + If this permission is enabled, the object can successfully call llAttachToAvatar to attach to the given avatar. + + PERMISSION_CHANGE_LINKS + + type + integer + value + 0x80 + tooltip + If this permission is enabled, the object can successfully call llCreateLink, llBreakLink, and llBreakAllLinks to change links to other objects. + + PERMISSION_CHANGE_PERMISSIONS + + type + integer + value + 0x200 + tooltip + (not yet implemented) + + PERMISSION_CONTROL_CAMERA + + type + integer + value + 0x800 + tooltip + + + PERMISSION_DEBIT + + type + integer + value + 0x2 + tooltip + If this permission is enabled, the object can successfully call llGiveMoney or llTransferLindenDollars to debit the owners account. + + PERMISSION_OVERRIDE_ANIMATIONS + + type + integer + value + 0x8000 + tooltip + Permission to override default animations. + + PERMISSION_RELEASE_OWNERSHIP + + type + integer + value + 0x40 + tooltip + (not yet implemented) + + PERMISSION_REMAP_CONTROLS + + type + integer + value + 0x8 + tooltip + (not yet implemented) + + PERMISSION_RETURN_OBJECTS + + type + integer + value + 65536 + tooltip + + + PERMISSION_SILENT_ESTATE_MANAGEMENT + + type + integer + value + 0x4000 + tooltip + A script with this permission does not notify the object owner when it modifies estate access rules via llManageEstateAccess. + + PERMISSION_TAKE_CONTROLS + + type + integer + value + 0x4 + tooltip + If this permission enabled, the object can successfully call the llTakeControls libray call. + + PERMISSION_TELEPORT + + type + integer + value + 0x1000 + tooltip + + + PERMISSION_TRACK_CAMERA + + type + integer + value + 0x400 + tooltip + + + PERMISSION_TRIGGER_ANIMATION + + type + integer + value + 0x10 + tooltip + If this permission is enabled, the object can successfully call llStartAnimation for the avatar that owns this. + + PI + + type + float + value + 3.14159265 + tooltip + 3.14159265 - The number of radians in a semi-circle. + + PI_BY_TWO + + type + float + value + 1.57079633 + tooltip + 1.57079633 - The number of radians in a quarter circle. + + PING_PONG + + type + integer + value + 0x8 + tooltip + Play animation going forwards, then backwards. + + PRIM_ALPHA_MODE + + type + integer + value + 38 + tooltip + Prim parameter for materials using integer face, integer alpha_mode, integer alpha_cutoff.\nDefines how the alpha channel of the diffuse texture should be rendered.\nValid options for alpha_mode are PRIM_ALPHA_MODE_BLEND, _NONE, _MASK, and _EMISSIVE.\nalpha_cutoff is used only for PRIM_ALPHA_MODE_MASK. + + PRIM_ALPHA_MODE_NONE + + type + integer + value + 0 + tooltip + Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be ignored. + + PRIM_ALPHA_MODE_BLEND + + type + integer + value + 1 + tooltip + Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be rendered as alpha-blended. + + PRIM_ALPHA_MODE_MASK + + type + integer + value + 2 + tooltip + Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be rendered as fully opaque for alpha values above alpha_cutoff and fully transparent otherwise. + + PRIM_ALPHA_MODE_EMISSIVE + + type + integer + value + 3 + tooltip + Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be rendered as an emissivity mask. + + PRIM_BUMP_BARK + + type + integer + value + 4 + tooltip + + + PRIM_BUMP_BLOBS + + type + integer + value + 12 + tooltip + + + PRIM_BUMP_BRICKS + + type + integer + value + 5 + tooltip + + + PRIM_BUMP_BRIGHT + + type + integer + value + 1 + tooltip + + + PRIM_BUMP_CHECKER + + type + integer + value + 6 + tooltip + + + PRIM_BUMP_CONCRETE + + type + integer + value + 7 + tooltip + + + PRIM_BUMP_DARK + + type + integer + value + 2 + tooltip + + + PRIM_BUMP_DISKS + + type + integer + value + 10 + tooltip + + + PRIM_BUMP_GRAVEL + + type + integer + value + 11 + tooltip + + + PRIM_BUMP_LARGETILE + + type + integer + value + 14 + tooltip + + + PRIM_BUMP_NONE + + type + integer + value + 0 + tooltip + + + PRIM_BUMP_SHINY + + type + integer + value + 19 + tooltip + + + PRIM_BUMP_SIDING + + type + integer + value + 13 + tooltip + + + PRIM_BUMP_STONE + + type + integer + value + 9 + tooltip + + + PRIM_BUMP_STUCCO + + type + integer + value + 15 + tooltip + + + PRIM_BUMP_SUCTION + + type + integer + value + 16 + tooltip + + + PRIM_BUMP_TILE + + type + integer + value + 8 + tooltip + + + PRIM_BUMP_WEAVE + + type + integer + value + 17 + tooltip + + + PRIM_BUMP_WOOD + + type + integer + value + 3 + tooltip + + + PRIM_CAST_SHADOWS + + deprecated + true + type + integer + value + 24 + tooltip + + + PRIM_COLOR + + type + integer + value + 18 + tooltip + + + PRIM_DESC + + type + integer + value + 28 + tooltip + + + PRIM_FLEXIBLE + + type + integer + value + 21 + tooltip + + + PRIM_FULLBRIGHT + + type + integer + value + 20 + tooltip + + + PRIM_GLOW + + type + integer + value + 25 + tooltip + PRIM_GLOW is used to get or set the glow status of the face. + + PRIM_HOLE_CIRCLE + + type + integer + value + 0x10 + tooltip + + + PRIM_HOLE_DEFAULT + + type + integer + value + 0x00 + tooltip + + + PRIM_HOLE_SQUARE + + type + integer + value + 0x20 + tooltip + + + PRIM_HOLE_TRIANGLE + + type + integer + value + 0x30 + tooltip + + + PRIM_LINK_TARGET + + type + integer + value + 34 + tooltip + + + PRIM_MATERIAL + + type + integer + value + 2 + tooltip + + + PRIM_MATERIAL_FLESH + + type + integer + value + 4 + tooltip + + + PRIM_MATERIAL_GLASS + + type + integer + value + 2 + tooltip + + + PRIM_MATERIAL_LIGHT + + type + integer + value + 7 + tooltip + + + PRIM_MATERIAL_METAL + + type + integer + value + 1 + tooltip + + + PRIM_MATERIAL_PLASTIC + + type + integer + value + 5 + tooltip + + + PRIM_MATERIAL_RUBBER + + type + integer + value + 6 + tooltip + + + PRIM_MATERIAL_STONE + + type + integer + value + 0 + tooltip + + + PRIM_MATERIAL_WOOD + + type + integer + value + 3 + tooltip + + + PRIM_MEDIA_ALT_IMAGE_ENABLE + + type + integer + value + 0 + tooltip + Boolean. Gets/Sets the default image state (the image that the user sees before a piece of media is active) for the chosen face. The default image is specified by Second Life's server for that media type. + + PRIM_MEDIA_AUTO_LOOP + + type + integer + value + 4 + tooltip + Boolean. Gets/Sets whether auto-looping is enabled. + + PRIM_MEDIA_AUTO_PLAY + + type + integer + value + 5 + tooltip + Boolean. Gets/Sets whether the media auto-plays when a Resident can view it. + + PRIM_MEDIA_AUTO_SCALE + + type + integer + value + 6 + tooltip + Boolean. Gets/Sets whether auto-scaling is enabled. Auto-scaling forces the media to the full size of the texture. + + PRIM_MEDIA_AUTO_ZOOM + + type + integer + value + 7 + tooltip + Boolean. Gets/Sets whether clicking the media triggers auto-zoom and auto-focus on the media. + + PRIM_MEDIA_CONTROLS + + type + integer + value + 1 + tooltip + Integer. Gets/Sets the style of controls. Can be either PRIM_MEDIA_CONTROLS_STANDARD or PRIM_MEDIA_CONTROLS_MINI. + + PRIM_MEDIA_CONTROLS_MINI + + type + integer + value + 1 + tooltip + Mini web navigation controls; does not include an address bar. + + PRIM_MEDIA_CONTROLS_STANDARD + + type + integer + value + 0 + tooltip + Standard web navigation controls. + + PRIM_MEDIA_CURRENT_URL + + type + integer + value + 2 + tooltip + String. Gets/Sets the current url displayed on the chosen face. Changing this URL causes navigation. 1024 characters Maximum. + + PRIM_MEDIA_FIRST_CLICK_INTERACT + + type + integer + value + 8 + tooltip + Boolean. Gets/Sets whether the first click interaction is enabled. + + PRIM_MEDIA_HEIGHT_PIXELS + + type + integer + value + 10 + tooltip + Integer. Gets/Sets the height of the media in pixels. + + PRIM_MEDIA_HOME_URL + + type + integer + value + 3 + tooltip + String. Gets/Sets the home URL for the chosen face. 1024 characters maximum. + + PRIM_MEDIA_MAX_HEIGHT_PIXELS + + type + integer + value + 2048 + tooltip + + + PRIM_MEDIA_MAX_URL_LENGTH + + type + integer + value + 1024 + tooltip + + + PRIM_MEDIA_MAX_WHITELIST_COUNT + + type + integer + value + 64 + tooltip + + + PRIM_MEDIA_MAX_WHITELIST_SIZE + + type + integer + value + 1024 + tooltip + + + PRIM_MEDIA_MAX_WIDTH_PIXELS + + type + integer + value + 2048 + tooltip + + + PRIM_MEDIA_PARAM_MAX + + type + integer + value + 14 + tooltip + + + PRIM_MEDIA_PERM_ANYONE + + type + integer + value + 4 + tooltip + + + PRIM_MEDIA_PERM_GROUP + + type + integer + value + 2 + tooltip + + + PRIM_MEDIA_PERM_NONE + + type + integer + value + 0 + tooltip + + + PRIM_MEDIA_PERM_OWNER + + type + integer + value + 1 + tooltip + + + PRIM_MEDIA_PERMS_CONTROL + + type + integer + value + 14 + tooltip + Integer. Gets/Sets the permissions mask that control who can see the media control bar above the object:: PRIM_MEDIA_PERM_ANYONE, PRIM_MEDIA_PERM_GROUP, PRIM_MEDIA_PERM_NONE, PRIM_MEDIA_PERM_OWNER + + PRIM_MEDIA_PERMS_INTERACT + + type + integer + value + 13 + tooltip + Integer. Gets/Sets the permissions mask that control who can interact with the object: PRIM_MEDIA_PERM_ANYONE, PRIM_MEDIA_PERM_GROUP, PRIM_MEDIA_PERM_NONE, PRIM_MEDIA_PERM_OWNER + + PRIM_MEDIA_WHITELIST + + type + integer + value + 12 + tooltip + String. Gets/Sets the white-list as a string of escaped, comma-separated URLs. This string can hold up to 64 URLs or 1024 characters, whichever comes first. + + PRIM_MEDIA_WHITELIST_ENABLE + + type + integer + value + 11 + tooltip + Boolean. Gets/Sets whether navigation is restricted to URLs in PRIM_MEDIA_WHITELIST. + + PRIM_MEDIA_WIDTH_PIXELS + + type + integer + value + 9 + tooltip + Integer. Gets/Sets the width of the media in pixels. + + PRIM_NAME + + type + integer + value + 27 + tooltip + + + PRIM_NORMAL + + type + integer + value + 37 + tooltip + Prim parameter for materials using integer face, string texture, vector repeats, vector offsets, float rotation_in_radians + + PRIM_OMEGA + + type + integer + value + 32 + tooltip + + + PRIM_PHANTOM + + type + integer + value + 5 + tooltip + + + PRIM_PHYSICS + + type + integer + value + 3 + tooltip + + + PRIM_PHYSICS_SHAPE_CONVEX + + type + integer + value + 2 + tooltip + Use the convex hull of the prim shape for physics (this is the default for mesh objects). + + PRIM_PHYSICS_SHAPE_NONE + + type + integer + value + 1 + tooltip + Ignore this prim in the physics shape. NB: This cannot be applied to the root prim. + + PRIM_PHYSICS_SHAPE_PRIM + + type + integer + value + 0 + tooltip + Use the normal prim shape for physics (this is the default for all non-mesh objects). + + PRIM_PHYSICS_SHAPE_TYPE + + type + integer + value + 30 + tooltip + Allows you to set the physics shape type of a prim via lsl. Permitted values are: + PRIM_PHYSICS_SHAPE_NONE, PRIM_PHYSICS_SHAPE_PRIM, PRIM_PHYSICS_SHAPE_CONVEX + + PRIM_POINT_LIGHT + + type + integer + value + 23 + tooltip + + + PRIM_POS_LOCAL + + type + integer + value + 33 + tooltip + + + PRIM_POSITION + + type + integer + value + 6 + tooltip + + + PRIM_ROT_LOCAL + + type + integer + value + 29 + tooltip + + + PRIM_ROTATION + + type + integer + value + 8 + tooltip + + + PRIM_SCULPT_FLAG_INVERT + + type + integer + value + 64 + tooltip + Render inside out (inverts the normals). + + PRIM_SCULPT_FLAG_MIRROR + + type + integer + value + 128 + tooltip + Render an X axis mirror of the sculpty. + + PRIM_SCULPT_TYPE_CYLINDER + + type + integer + value + 4 + tooltip + + + PRIM_SCULPT_TYPE_MASK + + type + integer + value + 7 + tooltip + + + PRIM_SCULPT_TYPE_PLANE + + type + integer + value + 3 + tooltip + + + PRIM_SCULPT_TYPE_SPHERE + + type + integer + value + 1 + tooltip + + + PRIM_SCULPT_TYPE_TORUS + + type + integer + value + 2 + tooltip + + + PRIM_SHINY_HIGH + + type + integer + value + 3 + tooltip + + + PRIM_SHINY_LOW + + type + integer + value + 1 + tooltip + + + PRIM_SHINY_MEDIUM + + type + integer + value + 2 + tooltip + + + PRIM_SHINY_NONE + + type + integer + value + 0 + tooltip + + + PRIM_SIZE + + type + integer + value + 7 + tooltip + + + PRIM_SLICE + + type + integer + value + 35 + tooltip + + + PRIM_SPECULAR + + type + integer + value + 36 + tooltip + Prim parameter for materials using integer face, string texture, vector repeats, vector offsets, float rotation_in_radians, vector color, integer glossy, integer environment + + PRIM_TEMP_ON_REZ + + type + integer + value + 4 + tooltip + + + PRIM_TEXGEN + + type + integer + value + 22 + tooltip + + + PRIM_TEXGEN_DEFAULT + + type + integer + value + 0 + tooltip + + + PRIM_TEXGEN_PLANAR + + type + integer + value + 1 + tooltip + + + PRIM_TEXT + + type + integer + value + 26 + tooltip + + + PRIM_TEXTURE + + type + integer + value + 17 + tooltip + + + PRIM_TYPE + + type + integer + value + 9 + tooltip + + + PRIM_TYPE_BOX + + type + integer + value + 0 + tooltip + + + PRIM_TYPE_CYLINDER + + type + integer + value + 1 + tooltip + + + PRIM_TYPE_PRISM + + type + integer + value + 2 + tooltip + + + PRIM_TYPE_RING + + type + integer + value + 6 + tooltip + + + PRIM_TYPE_SCULPT + + type + integer + value + 7 + tooltip + + + PRIM_TYPE_SPHERE + + type + integer + value + 3 + tooltip + + + PRIM_TYPE_TORUS + + type + integer + value + 4 + tooltip + + + PRIM_TYPE_TUBE + + type + integer + value + 5 + tooltip + + + PROFILE_NONE + + type + integer + value + 0 + tooltip + Disables profiling + + PROFILE_SCRIPT_MEMORY + + type + integer + value + 1 + tooltip + Enables memory profiling + + PSYS_PART_BF_DEST_COLOR + + type + integer + value + 2 + tooltip + + + PSYS_PART_BF_ONE + + type + integer + value + 0 + tooltip + + + PSYS_PART_BF_ONE_MINUS_DEST_COLOR + + type + integer + value + 4 + tooltip + + + PSYS_PART_BF_ONE_MINUS_SOURCE_COLOR + + type + integer + value + 5 + tooltip + + + PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA + + type + integer + value + 9 + tooltip + + + PSYS_PART_BF_SOURCE_ALPHA + + type + integer + value + 7 + tooltip + + + PSYS_PART_BF_SOURCE_COLOR + + type + integer + value + 3 + tooltip + + + PSYS_PART_BF_ZERO + + type + integer + value + 1 + tooltip + + + PSYS_PART_BLEND_FUNC_DEST + + type + integer + value + 25 + tooltip + + + PSYS_PART_BLEND_FUNC_SOURCE + + type + integer + value + 24 + tooltip + + + PSYS_PART_BOUNCE_MASK + + type + integer + value + 0x4 + tooltip + Particles bounce off of a plane at the objects Z height. + + PSYS_PART_EMISSIVE_MASK + + type + integer + value + 0x100 + tooltip + The particle glows. + + PSYS_PART_END_ALPHA + + type + integer + value + 4 + tooltip + A float which determines the ending alpha of the object. + + PSYS_PART_END_COLOR + + type + integer + value + 3 + tooltip + A vector <r, g, b> which determines the ending color of the object. + + PSYS_PART_END_GLOW + + type + integer + value + 27 + tooltip + + + PSYS_PART_END_SCALE + + type + integer + value + 6 + tooltip + A vector <sx, sy, z>, which is the ending size of the particle billboard in meters (z is ignored). + + PSYS_PART_FLAGS + + type + integer + value + 0 + tooltip + Each particle that is emitted by the particle system is simulated based on the following flags. To use multiple flags, bitwise or (|) them together. + + PSYS_PART_FOLLOW_SRC_MASK + + type + integer + value + 0x10 + tooltip + The particle position is relative to the source objects position. + + PSYS_PART_FOLLOW_VELOCITY_MASK + + type + integer + value + 0x20 + tooltip + The particle orientation is rotated so the vertical axis faces towards the particle velocity. + + PSYS_PART_INTERP_COLOR_MASK + + type + integer + value + 0x1 + tooltip + Interpolate both the color and alpha from the start value to the end value. + + PSYS_PART_INTERP_SCALE_MASK + + type + integer + value + 0x2 + tooltip + Interpolate the particle scale from the start value to the end value. + + PSYS_PART_MAX_AGE + + type + integer + value + 7 + tooltip + Age in seconds of a particle at which it dies. + + PSYS_PART_RIBBON_MASK + + type + integer + value + 0x400 + tooltip + + + PSYS_PART_START_ALPHA + + type + integer + value + 2 + tooltip + A float which determines the starting alpha of the object. + + PSYS_PART_START_COLOR + + type + integer + value + 1 + tooltip + A vector <r.r, g.g, b.b> which determines the starting color of the object. + + PSYS_PART_START_GLOW + + type + integer + value + 26 + tooltip + + + PSYS_PART_START_SCALE + + type + integer + value + 5 + tooltip + A vector <sx, sy, z>, which is the starting size of the particle billboard in meters (z is ignored). + + PSYS_PART_TARGET_LINEAR_MASK + + type + integer + value + 0x80 + tooltip + + + PSYS_PART_TARGET_POS_MASK + + type + integer + value + 0x40 + tooltip + The particle heads towards the location of the target object as defined by PSYS_SRC_TARGET_KEY. + + PSYS_PART_WIND_MASK + + type + integer + value + 0x8 + tooltip + Particles have their velocity damped towards the wind velocity. + + PSYS_SRC_ACCEL + + type + integer + value + 8 + tooltip + A vector <x, y, z> which is the acceleration to apply on particles. + + PSYS_SRC_ANGLE_BEGIN + + type + integer + value + 22 + tooltip + Area in radians specifying where particles will NOT be created (for ANGLE patterns) + + PSYS_SRC_ANGLE_END + + type + integer + value + 23 + tooltip + Area in radians filled with particles (for ANGLE patterns) (if lower than PSYS_SRC_ANGLE_BEGIN, acts as PSYS_SRC_ANGLE_BEGIN itself, and PSYS_SRC_ANGLE_BEGIN acts as PSYS_SRC_ANGLE_END). + + PSYS_SRC_BURST_PART_COUNT + + type + integer + value + 15 + tooltip + How many particles to release in a burst. + + PSYS_SRC_BURST_RADIUS + + type + integer + value + 16 + tooltip + What distance from the center of the object to create the particles. + + PSYS_SRC_BURST_RATE + + type + integer + value + 13 + tooltip + How often to release a particle burst (float seconds). + + PSYS_SRC_BURST_SPEED_MAX + + type + integer + value + 18 + tooltip + Maximum speed that a particle should be moving. + + PSYS_SRC_BURST_SPEED_MIN + + type + integer + value + 17 + tooltip + Minimum speed that a particle should be moving. + + PSYS_SRC_INNERANGLE + + type + integer + value + 10 + tooltip + Specifies the inner angle of the arc created by the PSYS_SRC_PATTERN_ANGLE or PSYS_SRC_PATTERN_ANGLE_CONE source pattern. + The area specified will NOT have particles in it. + + PSYS_SRC_MAX_AGE + + type + integer + value + 19 + tooltip + How long this particle system should last, 0.0 means forever. + + PSYS_SRC_OMEGA + + type + integer + value + 21 + tooltip + Sets the angular velocity to rotate the axis that SRC_PATTERN_ANGLE and SRC_PATTERN_ANGLE_CONE use. + + PSYS_SRC_OUTERANGLE + + type + integer + value + 11 + tooltip + Specifies the outer angle of the arc created by the PSYS_SRC_PATTERN_ANGLE or PSYS_SRC_PATTERN_ANGLE_CONE source pattern. + The area between the outer and inner angle will be filled with particles. + + PSYS_SRC_PATTERN + + type + integer + value + 9 + tooltip + The pattern which is used to generate particles. + Use one of the following values: PSYS_SRC_PATTERN Values. + + PSYS_SRC_PATTERN_ANGLE + + type + integer + value + 0x04 + tooltip + Shoot particles across a 2 dimensional area defined by the arc created from PSYS_SRC_OUTERANGLE. There will be an open area defined by PSYS_SRC_INNERANGLE within the larger arc. + + PSYS_SRC_PATTERN_ANGLE_CONE + + type + integer + value + 0x08 + tooltip + Shoot particles out in a 3 dimensional cone with an outer arc of PSYS_SRC_OUTERANGLE and an inner open area defined by PSYS_SRC_INNERANGLE. + + PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY + + type + integer + value + 0x10 + tooltip + + + PSYS_SRC_PATTERN_DROP + + type + integer + value + 0x01 + tooltip + Drop particles at the source position. + + PSYS_SRC_PATTERN_EXPLODE + + type + integer + value + 0x02 + tooltip + Shoot particles out in all directions, using the burst parameters. + + PSYS_SRC_TARGET_KEY + + type + integer + value + 20 + tooltip + The key of a target object to move towards if PSYS_PART_TARGET_POS_MASK is enabled. + + PSYS_SRC_TEXTURE + + type + integer + value + 12 + tooltip + An asset name for the texture to use for the particles. + + PUBLIC_CHANNEL + + type + integer + value + 0 + tooltip + PUBLIC_CHANNEL is an integer constant that, when passed to llSay, llWhisper, or llShout as a channel parameter, will print text to the publicly heard chat channel. + + RAD_TO_DEG + + type + float + value + 57.2957795 + tooltip + 57.2957795 - Number of degrees per radian. You can use this number to convert radians to degrees by multiplying the radians by this number. + + RC_DATA_FLAGS + + type + integer + value + 2 + tooltip + + + RC_DETECT_PHANTOM + + type + integer + value + 1 + tooltip + + + RC_GET_LINK_NUM + + type + integer + value + 4 + tooltip + + + RC_GET_NORMAL + + type + integer + value + 1 + tooltip + + + RC_GET_ROOT_KEY + + type + integer + value + 2 + tooltip + + + RC_MAX_HITS + + type + integer + value + 3 + tooltip + + + RC_REJECT_AGENTS + + type + integer + value + 1 + tooltip + + + RC_REJECT_LAND + + type + integer + value + 8 + tooltip + + + RC_REJECT_NONPHYSICAL + + type + integer + value + 4 + tooltip + + + RC_REJECT_PHYSICAL + + type + integer + value + 2 + tooltip + + + RC_REJECT_TYPES + + type + integer + value + 0 + tooltip + + + RCERR_CAST_TIME_EXCEEDED + + type + integer + value + -3 + tooltip + + + RCERR_SIM_PERF_LOW + + type + integer + value + -2 + tooltip + + + RCERR_UNKNOWN + + type + integer + value + -1 + tooltip + + + REGION_FLAG_ALLOW_DAMAGE + + type + integer + value + 0x1 + tooltip + + + REGION_FLAG_ALLOW_DIRECT_TELEPORT + + type + integer + value + 0x100000 + tooltip + + + REGION_FLAG_BLOCK_FLY + + type + integer + value + 0x80000 + tooltip + + + REGION_FLAG_BLOCK_FLYOVER + + type + integer + value + 0x8000000 + tooltip + + + REGION_FLAG_BLOCK_TERRAFORM + + type + integer + value + 0x40 + tooltip + + + REGION_FLAG_DISABLE_COLLISIONS + + type + integer + value + 0x1000 + tooltip + + + REGION_FLAG_DISABLE_PHYSICS + + type + integer + value + 0x4000 + tooltip + + + REGION_FLAG_FIXED_SUN + + type + integer + value + 0x10 + tooltip + + + REGION_FLAG_RESTRICT_PUSHOBJECT + + type + integer + value + 0x400000 + tooltip + + + REGION_FLAG_SANDBOX + + type + integer + value + 0x100 + tooltip + + + REMOTE_DATA_CHANNEL + + type + integer + value + 1 + tooltip + + + REMOTE_DATA_REPLY + + type + integer + value + 3 + tooltip + + + REMOTE_DATA_REQUEST + + type + integer + value + 2 + tooltip + + + REQUIRE_LINE_OF_SIGHT + + type + integer + value + 2 + tooltip + Define whether the character needs a line-of-sight to give chase. + + RESTITUTION + + type + integer + value + 4 + tooltip + Used with llSetPhysicsMaterial to enable the density value. Must be between 0.0 and 1.0 + + REVERSE + + type + integer + value + 0x4 + tooltip + Play animation in reverse direction. + + ROTATE + + type + integer + value + 0x20 + tooltip + Animate texture rotation. + + SCALE + + type + integer + value + 0x40 + tooltip + Animate the texture scale. + + SCRIPTED + + type + integer + value + 0x8 + tooltip + Scripted in-world objects. + + SMOOTH + + type + integer + value + 0x10 + tooltip + Slide in the X direction, instead of playing separate frames. + + SQRT2 + + type + float + value + 1.41421356 + tooltip + 1.41421356 - The square root of 2. + + STATUS_BLOCK_GRAB + + type + integer + value + 0x40 + tooltip + Controls whether the object can be grabbed.\nA grab is the default action when in third person, and is available as the hand tool in build mode. This is useful for physical objects that you don't want other people to be able to trivially disturb. The default is FALSE + + STATS_TIME_DILATION + + type + integer + value + 0 + tooltip + osGetRegionStats Time Dilation + + STATS_SIM_FPS + + type + integer + value + 1 + tooltip + osGetRegionStats Sim FPS + + STATS_PHYSICS_FPS + + type + integer + value + 2 + tooltip + osGetRegionStats Physics FPS + + STATS_AGENT_UPDATES + + type + integer + value + 3 + tooltip + osGetRegionStats Agent Updates/Sec + + STATS_ROOT_AGENTS + + type + integer + value + 4 + tooltip + osGetRegionStats Main Agents + + STATS_CHILD_AGENTS + + type + integer + value + 5 + tooltip + osGetRegionStats Child Agents + + STATS_TOTAL_PRIMS + + type + integer + value + 6 + tooltip + osGetRegionStats Objects + + STATS_ACTIVE_PRIMS + + type + integer + value + 7 + tooltip + osGetRegionStats Active Objects + + STATS_FRAME_MS + + type + integer + value + 8 + tooltip + osGetRegionStats Total Frame Time + + STATS_NET_MS + + type + integer + value + 9 + tooltip + osGetRegionStats Net Time + + STATS_PHYSICS_MS + + type + integer + value + 10 + tooltip + osGetRegionStats Physics Time + + STATS_IMAGE_MS + + type + integer + value + 11 + tooltip + osGetRegionStats Image Time + + STATS_OTHER_MS + + type + integer + value + 12 + tooltip + osGetRegionStats Other Time + + STATS_IN_PACKETS_PER_SECOND + + type + integer + value + 13 + tooltip + osGetRegionStats Packets in + + STATS_OUT_PACKETS_PER_SECOND + + type + integer + value + 14 + tooltip + osGetRegionStats Packets out + + STATS_UNACKED_BYTES + + type + integer + value + 15 + tooltip + osGetRegionStats Total Unacked Bytes + + STATS_AGENT_MS + + type + integer + value + 16 + tooltip + osGetRegionStats Agent Time + + STATS_PENDING_DOWNLOADS + + type + integer + value + 17 + tooltip + osGetRegionStats Pending Downloads + + STATS_PENDING_UPLOADS + + type + integer + value + 18 + tooltip + osGetRegionStats Pending Uploads + + STATS_ACTIVE_SCRIPTS + + type + integer + value + 19 + tooltip + osGetRegionStats Active Scripts + + STATS_SCRIPT_LPS + + type + integer + value + 20 + tooltip + osGetRegionStats Script Line Per Second + + STATUS_BLOCK_GRAB_OBJECT + + type + integer + value + 0x400 + tooltip + Prevent click-and-drag movement on all prims in the object. + + STATUS_BOUNDS_ERROR + + type + integer + value + 1002 + tooltip + Argument(s) passed to function had a bounds error. + + STATUS_CAST_SHADOWS + + type + integer + value + 0x200 + tooltip + + + STATUS_DIE_AT_EDGE + + type + integer + value + 0x80 + tooltip + Controls whether the object is returned to the owners inventory if it wanders off the edge of the world.\nIt is useful to set this status TRUE for things like bullets or rockets. The default is TRUE + + STATUS_INTERNAL_ERROR + + type + integer + value + 1999 + tooltip + An internal error occurred. + + STATUS_MALFORMED_PARAMS + + type + integer + value + 1000 + tooltip + Function was called with malformed parameters. + + STATUS_NOT_FOUND + + type + integer + value + 1003 + tooltip + Object or other item was not found. + + STATUS_NOT_SUPPORTED + + type + integer + value + 1004 + tooltip + Feature not supported. + + STATUS_OK + + type + integer + value + 0 + tooltip + Result of function call was a success. + + STATUS_PHANTOM + + type + integer + value + 0x10 + tooltip + Controls/indicates whether the object collides or not.\nSetting the value to TRUE makes the object non-colliding with all objects. It is a good idea to use this for most objects that move or rotate, but are non-physical. It is also useful for simulating volumetric lighting. The default is FALSE. + + STATUS_PHYSICS + + type + integer + value + 0x1 + tooltip + Controls/indicates whether the object moves physically.\nThis controls the same flag that the UI check-box for Physical controls. The default is FALSE. + + STATUS_RETURN_AT_EDGE + + type + integer + value + 0x100 + tooltip + + + STATUS_ROTATE_X + + type + integer + value + 0x2 + tooltip + + + STATUS_ROTATE_Y + + type + integer + value + 0x4 + tooltip + + + STATUS_ROTATE_Z + + type + integer + value + 0x8 + tooltip + Controls/indicates whether the object can physically rotate around + the specific axis or not. This flag has no meaning + for non-physical objects. Set the value to FALSE + if you want to disable rotation around that axis. The + default is TRUE for a physical object. + A useful example to think about when visualizing + the effect is a sit-and-spin device. They spin around the + Z axis (up) but not around the X or Y axis. + + STATUS_SANDBOX + + type + integer + value + 0x20 + tooltip + Controls/indicates whether the object can cross region boundaries + and move more than 20 meters from its creation + point. The default if FALSE. + + STATUS_TYPE_MISMATCH + + type + integer + value + 1001 + tooltip + Argument(s) passed to function had a type mismatch. + + STATUS_WHITELIST_FAILED + + type + integer + value + 2001 + tooltip + Whitelist Failed. + + STRING_TRIM + + type + integer + value + 0x03 + tooltip + + + STRING_TRIM_HEAD + + type + integer + value + 0x01 + tooltip + + + STRING_TRIM_TAIL + + type + integer + value + 0x02 + tooltip + + + TEXTURE_BLANK + + type + string + value + 5748decc-f629-461c-9a36-a35a221fe21f + tooltip + + + TEXTURE_DEFAULT + + type + string + value + 89556747-24cb-43ed-920b-47caed15465f + tooltip + + + TEXTURE_MEDIA + + type + string + value + 8b5fec65-8d8d-9dc5-cda8-8fdf2716e361 + tooltip + + + TEXTURE_PLYWOOD + + type + string + value + 89556747-24cb-43ed-920b-47caed15465f + tooltip + + + TEXTURE_TRANSPARENT + + type + string + value + 8dcd4a48-2d37-4909-9f78-f7a9eb4ef903 + tooltip + + + TOUCH_INVALID_FACE + + type + integer + value + 0xFFFFFFFF + tooltip + + + TOUCH_INVALID_TEXCOORD + + type + vector + value + <-1.0, -1.0, 0.0> + tooltip + + + TOUCH_INVALID_VECTOR + + type + vector + value + <0.0, 0.0, 0.0> + tooltip + + + TRUE + + type + integer + value + 1 + tooltip + An integer constant for boolean comparisons. Has the value '1'. + + TWO_PI + + type + float + value + 6.28318530 + tooltip + 6.28318530 - The radians of a circle. + + TYPE_FLOAT + + type + integer + value + 2 + tooltip + The list entry is a float. + + TYPE_INTEGER + + type + integer + value + 1 + tooltip + The list entry is an integer. + + TYPE_INVALID + + type + integer + value + 0 + tooltip + The list entry is invalid. + + TYPE_KEY + + type + integer + value + 4 + tooltip + The list entry is a key. + + TYPE_ROTATION + + type + integer + value + 6 + tooltip + The list entry is a rotation. + + TYPE_STRING + + type + integer + value + 3 + tooltip + The list entry is a string. + + TYPE_VECTOR + + type + integer + value + 5 + tooltip + The list entry is a vector. + + URL_REQUEST_DENIED + + type + string + value + URL_REQUEST_DENIED + tooltip + + + URL_REQUEST_GRANTED + + type + string + value + URL_REQUEST_GRANTED + tooltip + + + VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY + + type + integer + value + 32 + tooltip + A slider between minimum (0.0) and maximum (1.0) deflection of angular orientation. That is, its a simple scalar for modulating the strength of angular deflection such that the vehicles preferred axis of motion points toward its real velocity. + + VEHICLE_ANGULAR_DEFLECTION_TIMESCALE + + type + integer + value + 33 + tooltip + The time-scale for exponential success of linear deflection deflection. Its another way to specify the strength of the vehicles tendency to reorient itself so that its preferred axis of motion agrees with its true velocity. + + VEHICLE_ANGULAR_FRICTION_TIMESCALE + + type + integer + value + 17 + tooltip + A vector of timescales for exponential decay of the vehicles angular velocity about its preferred axes of motion (at, left, up). + Range = [0.07, inf) seconds for each element of the vector. + + VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE + + type + integer + value + 35 + tooltip + The timescale for exponential decay of the angular motors magnitude. + + VEHICLE_ANGULAR_MOTOR_DIRECTION + + type + integer + value + 19 + tooltip + The direction and magnitude (in preferred frame) of the vehicles angular motor.The vehicle will accelerate (or decelerate if necessary) to match its velocity to its motor. + + VEHICLE_ANGULAR_MOTOR_TIMESCALE + + type + integer + value + 34 + tooltip + The timescale for exponential approach to full angular motor velocity. + + VEHICLE_BANKING_EFFICIENCY + + type + integer + value + 38 + tooltip + A slider between anti (-1.0), none (0.0), and maxmum (1.0) banking strength. + + VEHICLE_BANKING_MIX + + type + integer + value + 39 + tooltip + A slider between static (0.0) and dynamic (1.0) banking. "Static" means the banking scales only with the angle of roll, whereas "dynamic" is a term that also scales with the vehicles linear speed. + + VEHICLE_BANKING_TIMESCALE + + type + integer + value + 40 + tooltip + The timescale for banking to exponentially approach its maximum effect. This is another way to scale the strength of the banking effect, however it affects the term that is proportional to the difference between what the banking behavior is trying to do, and what the vehicle is actually doing. + + VEHICLE_BUOYANCY + + type + integer + value + 27 + tooltip + A slider between minimum (0.0) and maximum anti-gravity (1.0). + + VEHICLE_FLAG_CAMERA_DECOUPLED + + type + integer + value + 0x200 + tooltip + + + VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT + + type + integer + value + 0x10 + tooltip + Hover at global height. + + VEHICLE_FLAG_HOVER_TERRAIN_ONLY + + type + integer + value + 0x8 + tooltip + Ignore water height when hovering. + + VEHICLE_FLAG_HOVER_UP_ONLY + + type + integer + value + 0x20 + tooltip + Hover does not push down. Use this flag for hovering vehicles that should be able to jump above their hover height. + + VEHICLE_FLAG_HOVER_WATER_ONLY + + type + integer + value + 0x4 + tooltip + Ignore terrain height when hovering. + + VEHICLE_FLAG_LIMIT_MOTOR_UP + + type + integer + value + 0x40 + tooltip + Prevents ground vehicles from motoring into the sky. + + VEHICLE_FLAG_LIMIT_ROLL_ONLY + + type + integer + value + 0x2 + tooltip + For vehicles with vertical attractor that want to be able to climb/dive, for instance, aeroplanes that want to use the banking feature. + + VEHICLE_FLAG_MOUSELOOK_BANK + + type + integer + value + 0x100 + tooltip + + + VEHICLE_FLAG_MOUSELOOK_STEER + + type + integer + value + 0x80 + tooltip + + + VEHICLE_FLAG_NO_DEFLECTION_UP + + type + integer + value + 0x1 + tooltip + This flag prevents linear deflection parallel to world z-axis. This is useful for preventing ground vehicles with large linear deflection, like bumper cars, from climbing their linear deflection into the sky. + + VEHICLE_FLAG_NO_FLY_UP + + deprecated + true + type + integer + value + 0x1 + tooltip + Old, changed to VEHICLE_FLAG_NO_DEFLECTION_UP + + VEHICLE_HOVER_EFFICIENCY + + type + integer + value + 25 + tooltip + A slider between minimum (0.0 = bouncy) and maximum (1.0 = fast as possible) damped motion of the hover behavior. + + VEHICLE_HOVER_HEIGHT + + type + integer + value + 24 + tooltip + The height (above the terrain or water, or global) at which the vehicle will try to hover. + + VEHICLE_HOVER_TIMESCALE + + type + integer + value + 26 + tooltip + Period of time (in seconds) for the vehicle to achieve its hover height. + + VEHICLE_LINEAR_DEFLECTION_EFFICIENCY + + type + integer + value + 28 + tooltip + A slider between minimum (0.0) and maximum (1.0) deflection of linear velocity. That is, its a simple scalar for modulating the strength of linear deflection. + + VEHICLE_LINEAR_DEFLECTION_TIMESCALE + + type + integer + value + 29 + tooltip + The timescale for exponential success of linear deflection deflection. It is another way to specify how much time it takes for the vehicles linear velocity to be redirected to its preferred axis of motion. + + VEHICLE_LINEAR_FRICTION_TIMESCALE + + type + integer + value + 16 + tooltip + A vector of timescales for exponential decay of the vehicles linear velocity along its preferred axes of motion (at, left, up). + Range = [0.07, inf) seconds for each element of the vector. + + VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE + + type + integer + value + 31 + tooltip + The timescale for exponential decay of the linear motors magnitude. + + VEHICLE_LINEAR_MOTOR_DIRECTION + + type + integer + value + 18 + tooltip + The direction and magnitude (in preferred frame) of the vehicles linear motor. The vehicle will accelerate (or decelerate if necessary) to match its velocity to its motor. + Range of magnitude = [0, 30] meters/second. + + VEHICLE_LINEAR_MOTOR_OFFSET + + type + integer + value + 20 + tooltip + + + VEHICLE_LINEAR_MOTOR_TIMESCALE + + type + integer + value + 30 + tooltip + The timescale for exponential approach to full linear motor velocity. + + VEHICLE_REFERENCE_FRAME + + type + integer + value + 44 + tooltip + A rotation of the vehicles preferred axes of motion and orientation (at, left, up) with respect to the vehicles local frame (x, y, z). + + VEHICLE_TYPE_AIRPLANE + + type + integer + value + 4 + tooltip + Uses linear deflection for lift, no hover, and banking to turn.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_AIRPLANE + + VEHICLE_TYPE_BALLOON + + type + integer + value + 5 + tooltip + Hover, and friction, but no deflection.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_BALLOON + + VEHICLE_TYPE_BOAT + + type + integer + value + 3 + tooltip + Hovers over water with lots of friction and some anglar deflection.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_BOAT + + VEHICLE_TYPE_CAR + + type + integer + value + 2 + tooltip + Another vehicle that bounces along the ground but needs the motors to be driven from external controls or timer events.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_CAR + + VEHICLE_TYPE_NONE + + type + integer + value + 0 + tooltip + + + VEHICLE_TYPE_SLED + + type + integer + value + 1 + tooltip + Simple vehicle that bumps along the ground, and likes to move along its local x-axis.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_SLED + + VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY + + type + integer + value + 36 + tooltip + A slider between minimum (0.0 = wobbly) and maximum (1.0 = firm as possible) stability of the vehicle to keep itself upright. + + VEHICLE_VERTICAL_ATTRACTION_TIMESCALE + + type + integer + value + 37 + tooltip + The period of wobble, or timescale for exponential approach, of the vehicle to rotate such that its preferred "up" axis is oriented along the worlds "up" axis. + + VERTICAL + + type + integer + value + 0 + tooltip + + + ZERO_ROTATION + + type + rotation + value + <0.0, 0.0, 0.0, 1.0> + tooltip + + + ZERO_VECTOR + + type + vector + value + <0.0, 0.0, 0.0> + tooltip + + + default + + tooltip + All scripts must have a default state, which is the first state entered when the script starts.\nIf another state is defined before the default state, the compiler will report a syntax error. + + + events + + at_rot_target + + arguments + + + TargetNumber + + type + integer + tooltip + + + + + TargetRotation + + type + rotation + tooltip + + + + + CurrentRotation + + type + rotation + tooltip + + + + + tooltip + This event is triggered when a script comes within a defined angle of a target rotation. The range and rotation, are set by a call to llRotTarget. + + at_target + + arguments + + + TargetNumber + + type + integer + tooltip + + + + + TargetPosition + + type + vector + tooltip + + + + + CurrentPosition + + type + vector + tooltip + + + + + tooltip + This event is triggered when the scripted object comes within a defined range of the target position, defined by the llTarget function call. + + attach + + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + This event is triggered whenever an object is attached or detached from an avatar. If it is attached, the key of the avatar it is attached to is passed in, otherwise NULL_KEY is. + + changed + + arguments + + + Changed + + type + integer + tooltip + + + + + tooltip + Triggered when various events change the object. The change argument will be a bit-field of CHANGED_* constants. + + collision + + arguments + + + NumberOfCollisions + + type + integer + tooltip + + + + + tooltip + This event is raised while another object, or avatar, is colliding with the object the script is attached to. + The number of detected objects is passed to the script. Information on those objects may be gathered via the llDetected* functions. + + collision_end + + arguments + + + NumberOfCollisions + + type + integer + tooltip + + + + + tooltip + This event is raised when another object, or avatar, stops colliding with the object the script is attached to. + The number of detected objects is passed to the script. Information on those objects may be gathered via the llDetected* library functions. + + collision_start + + arguments + + + NumberOfCollisions + + type + integer + tooltip + + + + + tooltip + This event is raised when another object, or avatar, starts colliding with the object the script is attached to. + The number of detected objects is passed to the script. Information on those objects may be gathered via the llDetected* library functions. + + control + + arguments + + + AvatarID + + type + key + tooltip + + + + + Levels + + type + integer + tooltip + + + + + Edges + + type + integer + tooltip + + + + + tooltip + Once a script has the ability to grab control inputs from the avatar, this event will be used to pass the commands into the script. + The levels and edges are bit-fields of control constants. + + dataserver + + arguments + + + RequestID + + type + key + tooltip + + + + + Data + + type + string + tooltip + + + + + tooltip + This event is triggered when the requested data is returned to the script. + Data may be requested by the llRequestAgentData, llRequestInventoryData, and llGetNotecardLine function calls, for example. + + email + + arguments + + + Time + + type + string + tooltip + + + + + Address + + type + string + tooltip + + + + + Subject + + type + string + tooltip + + + + + Body + + type + string + tooltip + + + + + NumberRemaining + + type + integer + tooltip + + + + + tooltip + This event is triggered when an email sent to this script arrives. + The number remaining tells how many more emails are known to be still pending. + + experience_permissions + + arguments + + + agent_id + + type + key + tooltip + ID of the agent approving permission for the Experience. + + + + + experience_permissions_denied + + arguments + + + agent_id + + type + key + tooltip + ID of the agent denying permission for the Experience. + + + + Reason + + type + integer + tooltip + One of the XP_ERROR_... constants describing the reason why the Experience permissions were denied for the agent. + + + + tooltip + Describes why the Experience permissions were denied for the agent. + + http_request + + arguments + + + HTTPRequestID + + type + key + tooltip + + + + + HTTPMethod + + type + string + tooltip + + + + + Body + + type + string + tooltip + + + + + tooltip + Triggered when task receives an HTTP request. + + http_response + + arguments + + + HTTPRequestID + + type + key + tooltip + + + + + Status + + type + integer + tooltip + + + + + Metadata + + type + list + tooltip + + + + + Body + + type + string + tooltip + + + + + tooltip + This event handler is invoked when an HTTP response is received for a pending llHTTPRequest request or if a pending request fails or times out. + + land_collision + + arguments + + + Position + + type + vector + tooltip + + + + + tooltip + This event is raised when the object the script is attached to is colliding with the ground. + + land_collision_end + + arguments + + + Position + + type + vector + tooltip + + + + + tooltip + This event is raised when the object the script is attached to stops colliding with the ground. + + land_collision_start + + arguments + + + Position + + type + vector + tooltip + + + + + tooltip + This event is raised when the object the script is attached to begins to collide with the ground. + + link_message + + arguments + + + SendersLink + + type + integer + tooltip + + + + + Value + + type + integer + tooltip + + + + + Text + + type + string + tooltip + + + + + ID + + type + key + tooltip + + + + + tooltip + Triggered when object receives a link message via llMessageLinked function call. + + listen + + arguments + + + Channel + + type + integer + tooltip + + + + + Name + + type + string + tooltip + + + + + ID + + type + key + tooltip + + + + + Text + + type + string + tooltip + + + + + tooltip + This event is raised whenever a chat message matching the constraints set in the llListen command is received. The name and ID of the speaker, as well as the message, are passed in as parameters. + Channel 0 is the public chat channel that all avatars see as chat text. Channels 1 through 2,147,483,648 are private channels that are not sent to avatars but other scripts can listen on those channels. + + money + + arguments + + + Payer + + type + key + tooltip + + + + + Amount + + type + integer + tooltip + + + + + tooltip + This event is triggered when a resident has given an amount of Linden dollars to the object. + + moving_end + + arguments + + tooltip + Triggered whenever an object with this script stops moving. + + moving_start + + arguments + + tooltip + Triggered whenever an object with this script starts moving. + + no_sensor + + arguments + + tooltip + This event is raised when sensors are active, via the llSensor function call, but are not sensing anything. + + not_at_rot_target + + arguments + + tooltip + When a target is set via the llRotTarget function call, but the script is outside the specified angle this event is raised. + + not_at_target + + arguments + + tooltip + When a target is set via the llTarget library call, but the script is outside the specified range this event is raised. + + object_rez + + arguments + + + RezzedObjectsID + + type + key + tooltip + + + + + tooltip + Triggered when an object rezzes another object from its inventory via the llRezObject, or similar, functions. The id is the globally unique key for the object rezzed. + + on_rez + + arguments + + + StartParameter + + type + integer + tooltip + + + + + tooltip + Triggered whenever an object is rezzed from inventory or by another object. The start parameter is passed in from the llRezObject call, or zero if from inventory. + + path_update + + arguments + + + Type + + type + integer + tooltip + + + + + Reserved + + type + list + tooltip + + + + + tooltip + This event is called to inform the script of changes within the object's path-finding status. + + remote_data + + arguments + + + EventType + + type + integer + tooltip + + + + + ChannelID + + type + key + tooltip + + + + + MessageID + + type + key + tooltip + + + + + Sender + + type + string + tooltip + + + + + Data + + type + integer + tooltip + + + + + Data + + type + string + tooltip + + + + + tooltip + Triggered by various XML-RPC calls with event_type specifying the type of data. + + run_time_permissions + + arguments + + + PermissionFlags + + type + integer + tooltip + + + + + tooltip + Scripts need permission from either the owner or the avatar they wish to act on before they may perform certain functions, such as debiting money from their owners account, triggering an animation on an avatar, or capturing control inputs. The llRequestPermissions library function is used to request these permissions and the various permissions integer constants can be supplied. + The integer returned to this event handler contains the current set of permissions flags, so if permissions equal 0 then no permissions are set. + + sensor + + arguments + + + NumberDetected + + type + integer + tooltip + + + + + tooltip + This event is raised whenever objects matching the constraints of the llSensor command are detected. + The number of detected objects is passed to the script in the parameter. Information on those objects may be gathered via the llDetected* functions. + + state_entry + + arguments + + tooltip + The state_entry event occurs whenever a new state is entered, including at program start, and is always the first event handled. + + state_exit + + arguments + + tooltip + The state_exit event occurs whenever the state command is used to transition to another state. It is handled before the new states state_entry event. + + timer + + arguments + + tooltip + This event is raised at regular intervals set by the llSetTimerEvent library function. + + touch + + arguments + + + NumberOfTouches + + type + integer + tooltip + + + + + tooltip + This event is raised while a user is touching the object the script is attached to. + The number of touching objects is passed to the script in the parameter. + Information on those objects may be gathered via the llDetected* library functions. + + touch_end + + arguments + + + NumberOfTouches + + type + integer + tooltip + + + + + tooltip + This event is raised when a user stops touching the object the script is attached to. The number of touches is passed to the script in the parameter. + Information on those objects may be gathered via the llDetected* library functions. + + touch_start + + arguments + + + NumberOfTouches + + type + integer + tooltip + + + + + tooltip + This event is raised when a user first touches the object the script is attached to. The number of touches is passed to the script in the parameter. + Information on those objects may be gathered via the llDetected() library functions. + + transaction_result + + arguments + + + RequestID + + type + key + tooltip + + + + + Success + + type + integer + tooltip + + + + + Message + + type + string + tooltip + + + + + tooltip + Triggered by llTransferMoney() function. + + + <-- functions --> + functions + + llAbs + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Value + + type + integer + tooltip + An integer value. + + + + tooltip + Returns the absolute (positive) version of Value. + + llAcos + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Value + + type + float + tooltip + A floating-point value. + + + + tooltip + Returns the arc-cosine of Value, in radians. + + llAddToLandBanList + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ID + + type + key + tooltip + Agent UUID to add to ban-list. + + + + Hours + + type + float + tooltip + Period, in hours, to ban the avatar for. + + + + tooltip + Add avatar ID to the parcel ban list for the specified number of Hours.\nA value of 0 for Hours will add the agent indefinitely.\nThe smallest value that Hours will accept is 0.01; anything smaller will be seen as 0.\nWhen values that small are used, it seems the function bans in approximately 30 second increments (Probably 36 second increments, as 0.01 of an hour is 36 seconds).\nResidents teleporting to a parcel where they are banned will be redirected to a neighbouring parcel. + + llAddToLandPassList + + energy + 10.0 + sleep + 0.1 + return + void + arguments + + + ID + + type + key + tooltip + Agent UUID to add to pass-list. + + + + Hours + + type + float + tooltip + Period, in hours, to allow the avatar for. + + + + tooltip + Add avatar ID to the land pass list, for a duration of Hours. + + llAdjustSoundVolume + + energy + 10.0 + sleep + 0.1 + return + void + arguments + + + Volume + + type + float + tooltip + The volume to set. + + + + tooltip + Adjusts the volume (0.0 - 1.0) of the currently playing attached sound.\nThis function has no effect on sounds started with llTriggerSound. + + llAllowInventoryDrop + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Flag + + type + integer + tooltip + Boolean, If TRUE allows anyone to drop inventory on prim, FALSE revokes. + + + + tooltip + If Flag == TRUE, users without object modify permissions can still drop inventory items into the object. + + llAngleBetween + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Rot1 + + type + rotation + tooltip + First rotation. + + + + Rot2 + + type + rotation + tooltip + Second rotation. + + + + tooltip + Returns the angle, in radians, between rotations Rot1 and Rot2. + + llApplyImpulse + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Force + + type + vector + tooltip + Amount of impulse force to apply. + + + + Local + + type + integer + tooltip + Boolean, if TRUE, force is treated as a local directional vector instead of region directional vector. + + + + tooltip + Applies impulse to the object.\nIf Local == TRUE, apply the Force in local coordinates; otherwise, apply the Force in global coordinates.\nThis function only works on physical objects. + + llApplyRotationalImpulse + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Force + + type + vector + tooltip + Amount of impulse force to apply. + + + + Local + + type + integer + tooltip + Boolean, if TRUE, uses local axis, if FALSE, uses region axis. + + + + tooltip + Applies rotational impulse to the object.\nIf Local == TRUE, apply the Force in local coordinates; otherwise, apply the Force in global coordinates.\nThis function only works on physical objects. + + llAsin + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Value + + type + float + tooltip + A floating-point value. + + + + tooltip + Returns the arc-sine, in radians, of Value. + + llAtan2 + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + y + + type + float + tooltip + A floating-point value. + + + + x + + type + float + tooltip + A floating-point value. + + + + tooltip + Returns the arc-tangent2 of y, x. + + llAttachToAvatar + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + AttachmentPoint + + type + integer + tooltip + + + + + tooltip + Attach to avatar at point AttachmentPoint.\nRequires the PERMISSION_ATTACH runtime permission. + + llAttachToAvatarTemp + + energy + 0 + sleep + 0 + return + void + arguments + + + AttachPoint + + type + integer + tooltip + Valid attachment point or ATTACH_* constant. + + + + tooltip + Follows the same convention as llAttachToAvatar, with the exception that the object will not create new inventory for the user, and will disappear on detach or disconnect. + + llAvatarOnLinkSitTarget + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. + + + + tooltip + If an avatar is sitting on the link's sit target, return the avatar's key, NULL_KEY otherwise.\nReturns a key that is the UUID of the user seated on the specified link's prim. + + llAvatarOnSitTarget + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + tooltip + If an avatar is seated on the sit target, returns the avatar's key, otherwise NULL_KEY.\nThis only will detect avatars sitting on sit targets defined with llSitTarget. + + llAxes2Rot + + energy + 10.0 + sleep + 0.0 + return + rotation + arguments + + + Forward + + type + vector + tooltip + Forward/Back part of rotation. + + + + Left + + type + vector + tooltip + Left/Right part of rotation. + + + + Up + + type + vector + tooltip + Up/Down part of rotation. + + + + tooltip + Returns the rotation represented by coordinate axes Forward, Left, and Up. + + llAxisAngle2Rot + + energy + 10.0 + sleep + 0.0 + return + rotation + arguments + + + Axis + + type + vector + tooltip + Axis. + + + + Angle + + type + float + tooltip + Angle in radians. + + + + tooltip + Returns the rotation that is a generated Angle about Axis. + + llBase64ToInteger + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Returns an integer that is the Text, Base64 decoded as a big endian integer.\nReturns zero if Text is longer then 8 characters. If Text contains fewer then 6 characters, the return value is unpredictable. + + llBase64ToString + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Converts a Base64 string to a conventional string.\nIf the conversion creates any unprintable characters, they are converted to question marks. + + llBreakAllLinks + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + De-links all prims in the link set (requires permission PERMISSION_CHANGE_LINKS be set). + + llBreakLink + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + + + + + tooltip + De-links the prim with the given link number (requires permission PERMISSION_CHANGE_LINKS be set). + + llCastRay + + energy + 0.0 + sleep + 0.0 + return + list + arguments + + + Start + + type + vector + tooltip + + + + + End + + type + vector + tooltip + + + + + Options + + type + list + tooltip + + + + + tooltip + Casts a ray into the physics world from 'start' to 'end' and returns data according to details in Options.\nReports collision data for intersections with objects.\nReturn value: [UUID_1, {link_number_1}, hit_position_1, {hit_normal_1}, UUID_2, {link_number_2}, hit_position_2, {hit_normal_2}, ... , status_code] where {} indicates optional data. + + llCeil + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Value + + type + float + tooltip + + + + + tooltip + Returns smallest integer value >= Value. + + llClearCameraParams + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + Resets all camera parameters to default values and turns off scripted camera control. + + llClearLinkMedia + + energy + 0.0 + sleep + 0.0 + return + integer + arguments + + + Link + + type + integer + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Clears (deletes) the media and all parameters from the given Face on the linked prim.\nReturns an integer that is a STATUS_* flag, which details the success/failure of the operation. + + llClearPrimMedia + + energy + 10.0 + sleep + 0.1 + return + integer + arguments + + + Face + + type + integer + tooltip + Number of side to clear. + + + + tooltip + Clears (deletes) the media and all parameters from the given Face.\nReturns an integer that is a STATUS_* flag which details the success/failure of the operation. + + llCloseRemoteDataChannel + + energy + 10.0 + sleep + 1.0 + return + void + arguments + + + ChannelID + + type + key + tooltip + + + + + tooltip + Closes the specified XML-RPC channel. + + llCloud + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Returns the cloud density at the object's position + Offset. + + llCollisionFilter + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ObjectName + + type + string + tooltip + + + + + ObjectID + + type + key + tooltip + + + + + Accept + + type + integer + tooltip + If TRUE, only accept collisions with ObjectName name AND ObjectID (either is optional), otherwise with objects not ObjectName AND ObjectID. + + + + tooltip + Specify an empty string or NULL_KEY for Accept, to not filter on the corresponding parameter. + + llCollisionSound + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ImpactSound + + type + string + tooltip + + + + + ImpactVolume + + type + float + tooltip + + + + + tooltip + Suppress default collision sounds, replace default impact sounds with ImpactSound.\nThe ImpactSound must be in the object inventory.\nSupply an empty string to suppress collision sounds. + + llCollisionSprite + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ImpactSprite + + type + string + tooltip + + + + + tooltip + Suppress default collision sprites, replace default impact sprite with ImpactSprite; found in the object inventory (empty string to just suppress). + + llCos + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Theta + + type + float + tooltip + + + + + tooltip + Returns the cosine of Theta (Theta in radians). + + llCreateLink + + energy + 10.0 + sleep + 1.0 + return + void + arguments + + + TargetPrim + + type + key + tooltip + Object UUID that is in the same region. + + + + Parent + + type + integer + tooltip + If FALSE, then TargetPrim becomes the root. If TRUE, then the script's object becomes the root. + + + + tooltip + Attempt to link the object the script is in, to target (requires permission PERMISSION_CHANGE_LINKS be set).\nRequires permission PERMISSION_CHANGE_LINKS be set. + + llCSV2List + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Create a list from a string of comma separated values specified in Text. + + llDeleteSubList + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + Source + + type + list + tooltip + + + + + Start + + type + integer + tooltip + + + + + End + + type + integer + tooltip + + + + + tooltip + Removes the slice from start to end and returns the remainder of the list.\nRemove a slice from the list and return the remainder, start and end are inclusive.\nUsing negative numbers for start and/or end causes the index to count backwards from the length of the list, so 0, -1 would delete the entire list.\nIf Start is larger than End the list deleted is the exclusion of the entries; so 6, 4 would delete the entire list except for the 5th. list entry. + + llDeleteSubString + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Source + + type + string + tooltip + + + + + Start + + type + integer + tooltip + + + + + End + + type + integer + tooltip + + + + + tooltip + Removes the indicated sub-string and returns the result.\nStart and End are inclusive.\nUsing negative numbers for Start and/or End causes the index to count backwards from the length of the string, so 0, -1 would delete the entire string.\nIf Start is larger than End, the sub-string is the exclusion of the entries; so 6, 4 would delete the entire string except for the 5th. character. + + llDetachFromAvatar + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + Remove the object containing the script from the avatar. + + llDetectedGrab + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the grab offset of a user touching the object.\nReturns <0.0, 0.0, 0.0> if Number is not a valid object. + + llDetectedGroup + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns TRUE if detected object or agent Number has the same user group active as this object.\nIt will return FALSE if the object or agent is in the group, but the group is not active. + + llDetectedKey + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the key of detected object or avatar number.\nReturns NULL_KEY if Number is not a valid index. + + llDetectedLinkNumber + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the link position of the triggered event for touches and collisions only.\n0 for a non-linked object, 1 for the root of a linked object, 2 for the first child, etc. + + llDetectedName + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the name of detected object or avatar number.\nReturns the name of detected object number.\nReturns empty string if Number is not a valid index. + + llDetectedOwner + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the key of detected object's owner.\nReturns invalid key if Number is not a valid index. + + llDetectedPos + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the position of detected object or avatar number.\nReturns <0.0, 0.0, 0.0> if Number is not a valid index. + + llDetectedRot + + energy + 10.0 + sleep + 0.0 + return + rotation + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the rotation of detected object or avatar number.\nReturns <0.0, 0.0, 0.0, 1.0> if Number is not a valid offset. + + llDetectedTouchBinormal + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Index + + type + integer + tooltip + Index of detection information + + + + tooltip + Returns the surface bi-normal for a triggered touch event.\nReturns a vector that is the surface bi-normal (tangent to the surface) where the touch event was triggered. + + llDetectedTouchFace + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Index + + type + integer + tooltip + Index of detection information + + + + tooltip + Returns the index of the face where the avatar clicked in a triggered touch event. + + llDetectedTouchNormal + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Index + + type + integer + tooltip + Index of detection information + + + + tooltip + Returns the surface normal for a triggered touch event.\nReturns a vector that is the surface normal (perpendicular to the surface) where the touch event was triggered. + + llDetectedTouchPos + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Index + + type + integer + tooltip + Index of detected information + + + + tooltip + Returns the position, in region coordinates, where the object was touched in a triggered touch event.\nUnless it is a HUD, in which case it returns the position relative to the attach point. + + llDetectedTouchST + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Index + + type + integer + tooltip + Index of detection information + + + + tooltip + Returns a vector that is the surface coordinates where the prim was touched.\nThe X and Y vector positions contain the horizontal (S) and vertical (T) face coordinates respectively.\nEach component is in the interval [0.0, 1.0].\nTOUCH_INVALID_TEXCOORD is returned if the surface coordinates cannot be determined (e.g. when the viewer does not support this function). + + llDetectedTouchUV + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Index + + type + integer + tooltip + Index of detection information + + + + tooltip + Returns a vector that is the texture coordinates for where the prim was touched.\nThe X and Y vector positions contain the U and V face coordinates respectively.\nTOUCH_INVALID_TEXCOORD is returned if the touch UV coordinates cannot be determined (e.g. when the viewer does not support this function). + + llDetectedType + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the type (AGENT, ACTIVE, PASSIVE, SCRIPTED) of detected object.\nReturns 0 if number is not a valid index.\nNote that number is a bit-field, so comparisons need to be a bitwise checked. e.g.:\ninteger iType = llDetectedType(0);\n{\n // ...do stuff with the agent\n} + + llDetectedVel + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the velocity of the detected object Number.\nReturns<0.0, 0.0, 0.0> if Number is not a valid offset. + + llDialog + + energy + 10.0 + sleep + 0.1 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + Text + + type + string + tooltip + + + + + Buttons + + type + list + tooltip + + + + + Channel + + type + integer + tooltip + + + + + tooltip + Shows a dialog box on the avatar's screen with the message.\n + Up to 12 strings in the list form buttons.\n + If a button is clicked, the name is chatted on Channel.\nOpens a "notify box" in the given avatars screen displaying the message.\n + Up to twelve buttons can be specified in a list of strings. When the user clicks a button, the name of the button is said on the specified channel.\n + Channels work just like llSay(), so channel 0 can be heard by everyone.\n + The chat originates at the object's position, not the avatar's position, even though it is said as the avatar (uses avatar's UUID and Name etc.).\n + Examples:\n + llDialog(who, "Are you a boy or a girl?", [ "Boy", "Girl" ], -4913);\n + llDialog(who, "This shows only an OK button.", [], -192);\n + llDialog(who, "This chats so you can 'hear' it.", ["Hooray"], 0); + + llDie + + energy + 0.0 + sleep + 0.0 + return + void + arguments + + tooltip + Delete the object which holds the script. + + llDumpList2String + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Source + + type + list + tooltip + + + + + Separator + + type + string + tooltip + + + + + tooltip + Returns the list as a single string, using Separator between the entries.\nWrite the list out as a single string, using Separator between values. + + llEdgeOfWorld + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Position + + type + vector + tooltip + + + + + Direction + + type + vector + tooltip + + + + + tooltip + Checks to see whether the border hit by Direction from Position is the edge of the world (has no neighboring region).\nReturns TRUE if the line along Direction from Position hits the edge of the world in the current simulator, returns FALSE if that edge crosses into another simulator. + + llEjectFromLand + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Ejects AvatarID from land that you own.\nEjects AvatarID from land that the object owner (group or resident) owns. + + llEmail + + energy + 10.0 + sleep + 20.0 + return + void + arguments + + + Address + + type + string + tooltip + + + + + Subject + + type + string + tooltip + + + + + Text + + type + string + tooltip + + + + + tooltip + Sends email to Address with Subject and Message.\nSends an email to Address with Subject and Message. + + llEscapeURL + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + URL + + type + string + tooltip + + + + + tooltip + Returns an escaped/encoded version of url, replacing spaces with %20 etc.\nReturns the string that is the URL-escaped version of URL (replacing spaces with %20, etc.).\n + This function returns the UTF-8 encoded escape codes for selected characters. + + llEuler2Rot + + energy + 10.0 + sleep + 0.0 + return + rotation + arguments + + + Vector + + type + vector + tooltip + + + + + tooltip + Returns the rotation representation of the Euler angles.\nReturns the rotation represented by the Euler Angle. + + llFabs + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Value + + type + float + tooltip + + + + + tooltip + Returns the positive version of Value.\nReturns the absolute value of Value. + + llFloor + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Value + + type + float + tooltip + + + + + tooltip + Returns largest integer value <= Value. + + llForceMouselook + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Enable + + type + integer + tooltip + Boolean, if TRUE when an avatar sits on the prim, the avatar will be forced into mouse-look mode.\nFALSE is the default setting and will undo a previously set TRUE or do nothing. + + + + tooltip + If Enable is TRUE any avatar that sits on this object is forced into mouse-look mode.\nAfter calling this function with Enable set to TRUE, any agent sitting down on the prim will be forced into mouse-look.\nJust like llSitTarget, this changes a permanent property of the prim (not the object) and needs to be reset by calling this function with Enable set to FALSE in order to disable it. + + llFrand + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Magnitude + + type + float + tooltip + + + + + tooltip + Returns a pseudo random number in the range [0, Magnitude] or [Magnitude, 0].\nReturns a pseudo-random number between [0, Magnitude]. + + llGenerateKey + + energy + 0 + sleep + 0 + return + key + arguments + + tooltip + Generates a key (SHA-1 hash) using UUID generation to create a unique key.\nAs the UUID produced is versioned, it should never return a value of NULL_KEY.\nThe specific UUID version is an implementation detail that has changed in the past and may change again in the future. Do not depend upon the UUID that is returned to be version 5 SHA-1 hash. + + llGetAccel + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the acceleration of the object relative to the region's axes.\nGets the acceleration of the object. + + llGetAgentInfo + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Returns an integer bit-field containing the agent information about id.\n + Returns AGENT_FLYING, AGENT_ATTACHMENTS, AGENT_SCRIPTED, AGENT_SITTING, AGENT_ON_OBJECT, AGENT_MOUSELOOK, AGENT_AWAY, AGENT_BUSY, AGENT_TYPING, AGENT_CROUCHING, AGENT_ALWAYS_RUN, AGENT_WALKING and/or AGENT_IN_AIR.\nReturns information about the given agent ID as a bit-field of agent info constants. + + llGetAgentLanguage + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Returns the language code of the preferred interface language of the avatar.\nReturns a string that is the language code of the preferred interface language of the resident. + + llGetAgentList + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + Scope + + type + integer + tooltip + The scope (region, parcel, parcel same owner) to return agents for. + + + + Options + + type + list + tooltip + List of options to apply. Current unused. + + + + tooltip + Requests a list of agents currently in the region, limited by the scope parameter.\nReturns a list [key UUID-0, key UUID-1, ..., key UUID-n] or [string error_msg] - returns avatar keys for all agents in the region limited to the area(s) specified by scope + + llGetAgentSize + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + If the avatar is in the same region, returns the size of the bounding box of the requested avatar by id, otherwise returns ZERO_VECTOR.\nIf the agent is in the same region as the object, returns the size of the avatar. + + llGetAlpha + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Face + + type + integer + tooltip + + + + + tooltip + Returns the alpha value of Face.\nReturns the 'alpha' of the given face. If face is ALL_SIDES the value returned is the mean average of all faces. + + llGetAndResetTime + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns the script time in seconds and then resets the script timer to zero.\nGets the time in seconds since starting and resets the time to zero. + + llGetAnimation + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Returns the name of the currently playing locomotion animation for the avatar id.\nReturns the currently playing animation for the specified avatar ID. + + llGetAnimationList + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Returns a list of keys of playing animations for an avatar.\nReturns a list of keys of all playing animations for the specified avatar ID. + + llGetAnimationOverride + + energy + 0 + sleep + 0 + return + string + arguments + + + AnimationState + + type + string + tooltip + + + + + tooltip + Returns a string that is the name of the animation that is used for the specified animation state\nTo use this function the script must obtain either the PERMISSION_OVERRIDE_ANIMATIONS or PERMISSION_TRIGGER_ANIMATION permission (automatically granted to attached objects). + + llGetAttached + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns the object's attachment point, or 0 if not attached. + + llGetAttachedList + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + ID + + type + key + tooltip + Avatar to get attachments + + + + tooltip + Returns a list of keys of all visible (not HUD) attachments on the avatar identified by the ID argument + + llGetBoundingBox + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + ID + + type + key + tooltip + + + + + tooltip + Returns the bounding box around the object (including any linked prims) relative to its root prim, as a list in the format [ (vector) min_corner, (vector) max_corner ]. + + llGetCameraPos + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the current camera position for the agent the task has permissions for.\nReturns the position of the camera, of the user that granted the script PERMISSION_TRACK_CAMERA. If no user has granted the permission, it returns ZERO_VECTOR. + + llGetCameraRot + + energy + 10.0 + sleep + 0.0 + return + rotation + arguments + + tooltip + Returns the current camera orientation for the agent the task has permissions for. If no user has granted the PERMISSION_TRACK_CAMERA permission, returns ZERO_ROTATION. + + llGetCenterOfMass + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the prim's centre of mass (unless called from the root prim, where it returns the object's centre of mass). + + llGetColor + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Face + + type + integer + tooltip + + + + + tooltip + Returns the color on Face.\nReturns the color of Face as a vector of red, green, and blue values between 0 and 1. If face is ALL_SIDES the color returned is the mean average of each channel. + + llGetCreator + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + tooltip + Returns a key for the creator of the prim.\nReturns the key of the object's original creator. Similar to llGetOwner. + + llGetDate + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + tooltip + Returns the current date in the UTC time zone in the format YYYY-MM-DD.\nReturns the current UTC date as YYYY-MM-DD. + + llGetDisplayName + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + AvatarID + + type + key + tooltip + Avatar UUID that is in the same region, or is otherwise known to the region. + + + + tooltip + Returns the display name of an avatar, if the avatar is connected to the current region, or if the name has been cached. Otherwise, returns an empty string. Use llRequestDisplayName if the avatar may be absent from the region. + + llGetEnergy + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns how much energy is in the object as a percentage of maximum. + + llGetEnv + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + DataRequest + + type + string + tooltip + The type of data to request. Any other string will cause an empty string to be returned. + + + + tooltip + Returns a string with the requested data about the region. + + llGetForce + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the force (if the script is physical).\nReturns the current force if the script is physical. + + llGetFreeMemory + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns the number of free bytes of memory the script can use.\nReturns the available free space for the current script. This is inaccurate with LSO. + + llGetFreeURLs + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns the number of available URLs for the current script.\nReturns an integer that is the number of available URLs. + + llGetGeometricCenter + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the vector that is the geometric center of the object relative to the root prim. + + llGetGMTclock + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns the time in seconds since midnight GMT.\nGets the time in seconds since midnight in GMT/UTC. + + llGetHTTPHeader + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + HTTPRequestID + + type + key + tooltip + A valid HTTP request key + + + + Header + + type + string + tooltip + Header value name + + + + tooltip + Returns the value for header for request_id.\nReturns a string that is the value of the Header for HTTPRequestID. + + llGetInventoryCreator + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + InventoryItem + + type + string + tooltip + + + + + tooltip + Returns a key for the creator of the inventory item.\nThis function returns the UUID of the creator of item. If item is not found in inventory, the object says "No item named 'name'". + + llGetInventoryKey + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + InventoryItem + + type + string + tooltip + + + + + tooltip + Returns the key that is the UUID of the inventory named.\nReturns the key of the inventory named. + + llGetInventoryName + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + InventoryType + + type + integer + tooltip + Inventory item type + + + + Index + + type + integer + tooltip + Index number of inventory item. + + + + tooltip + Returns the name of the inventory item of a given type, specified by index number.\nUse the inventory constants INVENTORY_* to specify the type. + + llGetInventoryNumber + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + InventoryType + + type + integer + tooltip + Inventory item type + + + + tooltip + Returns the quantity of items of a given type (INVENTORY_* flag) in the prim's inventory.\nUse the inventory constants INVENTORY_* to specify the type. + + llGetInventoryPermMask + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + InventoryItem + + type + string + tooltip + Inventory item name. + + + + BitMask + + type + integer + tooltip + MASK_BASE, MASK_OWNER, MASK_GROUP, MASK_EVERYONE or MASK_NEXT + + + + tooltip + Returns the requested permission mask for the inventory item.\nReturns the requested permission mask for the inventory item defined by InventoryItem. If item is not in the object's inventory, llGetInventoryPermMask returns FALSE and causes the object to say "No item named '<item>'", where "<item>" is item. + + llGetInventoryType + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + InventoryItem + + type + string + tooltip + + + + + tooltip + Returns the type of the named inventory item.\nLike all inventory functions, llGetInventoryType is case-sensitive. + + llGetKey + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + tooltip + Returns the key of the prim the script is attached to.\nGet the key for the object which has this script. + + llGetLandOwnerAt + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + Position + + type + vector + tooltip + + + + + tooltip + Returns the key of the land owner, returns NULL_KEY if public.\nReturns the key of the land owner at Position, or NULL_KEY if public. + + llGetLinkKey + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + LinkNumber + + type + integer + tooltip + + + + + tooltip + Returns the key of the linked prim LinkNumber.\nReturns the key of LinkNumber in the link set. + + llGetLinkMedia + + energy + 0.0 + sleep + 0.0 + return + list + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag + + + + Face + + type + integer + tooltip + The prim's side number + + + + Parameters + + type + list + tooltip + A list of PRIM_* property constants to return values of. + + + + tooltip + Get the media parameters for a particular face on linked prim, given the desired list of parameter names. Returns a list of values in the order requested. Returns an empty list if no media exists on the face. + + llGetLinkName + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + LinkNumber + + type + integer + tooltip + + + + + tooltip + Returns the name of LinkNumber in a link set.\nReturns the name of LinkNumber the link set. + + llGetLinkNumber + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns the link number of the prim containing the script (0 means not linked, 1 the prim is the root, 2 the prim is the first child, etc.).\nReturns the link number of the prim containing the script. 0 means no link, 1 the root, 2 for first child, etc. + + llGetLinkNumberOfSides + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. + + + + tooltip + Returns the number of sides of the specified linked prim.\nReturns an integer that is the number of faces (or sides) of the prim link. + + llGetLinkPrimitiveParams + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. + + + + Parameters + + type + list + tooltip + PRIM_* flags. + + + + tooltip + Returns the list of primitive attributes requested in the Parameters list for LinkNumber.\nPRIM_* flags can be broken into three categories, face flags, prim flags, and object flags.\n* Supplying a prim or object flag will return that flags attributes.\n* Face flags require the user to also supply a face index parameter. + + llGetListEntryType + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + ListVariable + + type + list + tooltip + + + + + Index + + type + integer + tooltip + + + + + tooltip + Returns the type of the index entry in the list (TYPE_INTEGER, TYPE_FLOAT, TYPE_STRING, TYPE_KEY, TYPE_VECTOR, TYPE_ROTATION, or TYPE_INVALID if index is off list).\nReturns the type of the variable at Index in ListVariable. + + llGetListLength + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + ListVariable + + type + list + tooltip + + + + + tooltip + Returns the number of elements in the list.\nReturns the number of elements in ListVariable. + + llGetLocalPos + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the position relative to the root.\nReturns the local position of a child object relative to the root. + + llGetLocalRot + + energy + 10.0 + sleep + 0.0 + return + rotation + arguments + + tooltip + Returns the rotation local to the root.\nReturns the local rotation of a child object relative to the root. + + llGetMass + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns the mass of object that the script is attached to.\nReturns the scripted object's mass. When called from a script in a link-set, the parent will return the sum of the link-set weights, while a child will return just its own mass. When called from a script inside an attachment, this function will return the mass of the avatar it's attached to, not its own. + + llGetMassMKS + + energy + 0.0 + sleep + 0.0 + return + float + arguments + + tooltip + Acts as llGetMass(), except that the units of the value returned are Kg. + + llGetMaxScaleFactor + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns a float that is the largest scaling factor that can be used with llScaleByFactor to resize the object. This maximum is determined by the Linkability Rules and prim scale limits. + + llGetMemoryLimit + + energy + 0.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Get the maximum memory a script can use, in bytes. + + llGetMinScaleFactor + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns a float that is the smallest scaling factor that can be used with llScaleByFactor to resize the object. This minimum is determined by the prim scale limits. + + llGetNextEmail + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Address + + type + string + tooltip + + + + + Subject + + type + string + tooltip + + + + + tooltip + Fetch the next queued email with that matches the given address and/or subject, via the email event.\nIf the parameters are blank, they are not used for filtering. + + llGetNotecardLine + + energy + 10.0 + sleep + 0.1 + return + key + arguments + + + NotecardName + + type + string + tooltip + + + + + LineNumber + + type + integer + tooltip + + + + + tooltip + Returns LineNumber from NotecardName via the dataserver event. The line index starts at zero.\nIf the requested line is passed the end of the note-card the dataserver event will return the constant EOF string.\nThe key returned by this function is a unique identifier which will be supplied to the dataserver event in the requested parameter. + + llGetNumberOfNotecardLines + + energy + 10.0 + sleep + 0.1 + return + key + arguments + + + NotecardName + + type + string + tooltip + + + + + tooltip + Returns the number of lines contained within a notecard via the dataserver event.\nThe key returned by this function is a query ID for identifying the dataserver reply. + + llGetNumberOfPrims + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns the number of prims in a link set the script is attached to.\nReturns the number of prims in (and avatars seated on) the object the script is in. + + llGetNumberOfSides + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns the number of faces (or sides) of the prim.\nReturns the number of sides of the prim which has the script. + + llGetObjectDesc + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + tooltip + Returns the description of the prim the script is attached to.\nReturns the description of the scripted object/prim. You can set the description using llSetObjectDesc. + + llGetObjectDetails + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + ID + + type + key + tooltip + Prim or avatar UUID that is in the same region. + + + + Parameters + + type + list + tooltip + List of OBJECT_* flags. + + + + tooltip + Returns a list of object details specified in the Parameters list for the object or avatar in the region with key ID.\nParameters are specified by the OBJECT_* constants. + + llGetObjectMass + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + ID + + type + key + tooltip + + + + + tooltip + Returns the mass of the avatar or object in the region.\nGets the mass of the object or avatar corresponding to ID. + + llGetObjectName + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + tooltip + Returns the name of the prim which the script is attached to.\nReturns the name of the prim (not object) which contains the script. + + llGetObjectPermMask + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Category + + type + integer + tooltip + Category is one of MASK_BASE, MASK_OWNER, MASK_GROUP, MASK_EVERYONE, or MASK_NEXT + + + + tooltip + Returns the permission mask of the requested category for the object. + + llGetObjectPrimCount + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + ObjectID + + type + key + tooltip + + + + + tooltip + Returns the total number of prims for an object in the region.\nReturns the prim count for any object id in the same region. + + llGetOmega + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the rotation velocity in radians per second.\nReturns a vector that is the rotation velocity of the object in radians per second. + + llGetOwner + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + tooltip + Returns the object owner's UUID.\nReturns the key for the owner of the object. + + llGetOwnerKey + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + ObjectID + + type + key + tooltip + + + + + tooltip + Returns the owner of ObjectID.\nReturns the key for the owner of object ObjectID. + + llGetParcelDetails + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + Position + + type + vector + tooltip + Location within the region. + + + + ParcelDetails + + type + list + tooltip + List of details requested for the specified parcel location. + + + + tooltip + Returns a list of parcel details specified in the ParcelDetails list for the parcel at Position.\nParameters is one or more of: PARCEL_DETAILS_NAME, _DESC, _OWNER, _GROUP, _AREA, _ID, _SEE_AVATARS.\nReturns a list that is the parcel details specified in ParcelDetails (in the same order) for the parcel at Position. + + llGetParcelFlags + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Position + + type + vector + tooltip + + + + + tooltip + Returns a mask of the parcel flags (PARCEL_FLAG_*) for the parcel that includes the point Position.\nReturns a bit-field specifying the parcel flags (PARCEL_FLAG_*) for the parcel at Position. + + llGetParcelMaxPrims + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Position + + type + vector + tooltip + Region coordinates (z is ignored) of parcel. + + + + SimWide + + type + integer + tooltip + Boolean. If FALSE then the return is the maximum prims supported by the parcel. If TRUE then it is the combined number of prims on all parcels in the region owned by the specified parcel's owner. + + + + tooltip + Returns the maximum number of prims allowed on the parcel at Position for a given scope.\nThe scope may be set to an individual parcel or the combined resources of all parcels with the same ownership in the region. + + llGetParcelMusicURL + + energy + 0.0 + sleep + 0.0 + return + string + arguments + + tooltip + Gets the streaming audio URL for the parcel object is on.\nThe object owner, avatar or group, must also be the land owner. + + llGetParcelPrimCount + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Position + + type + vector + tooltip + Region coordinates of parcel to query. + + + + Category + + type + integer + tooltip + A PARCEL_COUNT_* flag. + + + + SimWide + + type + integer + tooltip + Boolean. If FALSE then the return is the maximum prims supported by the parcel. If TRUE then it is the combined number of prims on all parcels in the region owned by the specified parcel's owner. + + + + tooltip + Returns the number of prims on the parcel at Position of the given category.\nCategories: PARCEL_COUNT_TOTAL, _OWNER, _GROUP, _OTHER, _SELECTED, _TEMP.\nReturns the number of prims used on the parcel at Position which are in Category.\nIf SimWide is TRUE, it returns the total number of objects for all parcels with matching ownership in the category specified.\nIf SimWide is FALSE, it returns the number of objects on this specific parcel in the category specified + + llGetParcelPrimOwners + + energy + 10.0 + sleep + 2.0 + return + list + arguments + + + Position + + type + vector + tooltip + + + + + tooltip + Returns a list of up to 100 residents who own objects on the parcel at Position, with per-owner land impact totals.\nRequires owner-like permissions for the parcel, and for the script owner to be present in the region.\nThe list is formatted as [ key agentKey1, integer agentLI1, key agentKey2, integer agentLI2, ... ], sorted by agent key.\nThe integers are the combined land impacts of the objects owned by the corresponding agents. + + llGetPermissions + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns an integer bitmask of the permissions that have been granted to the script. Individual permissions can be determined using a bit-wise "and" operation against the PERMISSION_* constants + + llGetPermissionsKey + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + tooltip + Returns the key of the avatar that last granted or declined permissions to the script.\nReturns NULL_KEY if permissions were never granted or declined. + + llGetPhysicsMaterial + + energy + 0.0 + sleep + 0.0 + return + list + arguments + + tooltip + Returns a list of the form [float gravity_multiplier, float restitution, float friction, float density]. + + llGetPos + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the position of the task in region coordinates.\nReturns the vector position of the task in region coordinates. + + llGetPrimitiveParams + + energy + 10.0 + sleep + 0.2 + return + list + arguments + + + Parameters + + type + list + tooltip + PRIM_* flags and face parameters + + + + tooltip + Returns the primitive parameters specified in the parameters list.\nReturns primitive parameters specified in the Parameters list. + + llGetPrimMediaParams + + energy + 10.0 + sleep + 0.1 + return + list + arguments + + + Face + + type + integer + tooltip + face number + + + + Parameters + + type + list + tooltip + One or more PRIM_MEDIA_* flags + + + + tooltip + Returns the media parameters for a particular face on an object, given the desired list of parameter names, in the order requested. Returns an empty list if no media exists on the face. + + llGetRegionAgentCount + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns the number of avatars in the region.\nReturns an integer that is the number of avatars in the region. + + llGetRegionCorner + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns a vector, in meters, that is the global location of the south-west corner of the region which the object is in.\nReturns the Region-Corner of the simulator containing the task. The region-corner is a vector (values in meters) representing distance from the first region. + + llGetRegionFlags + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns the region flags (REGION_FLAG_*) for the region the object is in.\nReturns a bit-field specifying the region flags (REGION_FLAG_*) for the region the object is in. + + llGetRegionFPS + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns the mean region frames per second. + + llGetRegionName + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + tooltip + Returns the current region name. + + llGetRegionTimeDilation + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns the current time dilation as a float between 0.0 (full dilation) and 1.0 (no dilation).\nReturns the current time dilation as a float between 0.0 and 1.0. + + llGetRootPosition + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the position (in region coordinates) of the root prim of the object which the script is attached to.\nThis is used to allow a child prim to determine where the root is. + + llGetRootRotation + + energy + 10.0 + sleep + 0.0 + return + rotation + arguments + + tooltip + Returns the rotation (relative to the region) of the root prim of the object which the script is attached to.\nGets the global rotation of the root object of the object script is attached to. + + llGetRot + + energy + 10.0 + sleep + 0.0 + return + rotation + arguments + + tooltip + Returns the rotation relative to the region's axes.\nReturns the rotation. + + llGetScale + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the scale of the prim.\nReturns a vector that is the scale (dimensions) of the prim. + + llGetScriptName + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + tooltip + Returns the name of the script that this function is used in.\nReturns the name of this script. + + llGetScriptState + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + ScriptName + + type + string + tooltip + + + + + tooltip + Returns TRUE if the script named is running.\nReturns TRUE if ScriptName is running. + + llGetSimStats + + energy + 0 + sleep + 0 + return + float + arguments + + + StatType + + type + integer + tooltip + Statistic type. Currently only SIM_STAT_PCT_CHARS_STEPPED is supported. + + + + tooltip + Returns a float that is the requested statistic. + + llGetSimulatorHostname + + energy + 10.0 + sleep + 10.0 + return + string + arguments + + tooltip + Returns the host-name of the machine which the script is running on.\nFor example, "sim225.agni.lindenlab.com". + + llGetSPMaxMemory + + energy + 0.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns the maximum used memory for the current script. Only valid after using PROFILE_SCRIPT_MEMORY. Non-mono scripts always use 16k.\nReturns the integer of the most bytes used while llScriptProfiler was last active. + + llGetStartParameter + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns an integer that is the script rez parameter.\nIf the object was rezzed by an agent, this function returns 0. + + llGetStatus + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + StatusFlag + + type + integer + tooltip + A STATUS_* flag + + + + tooltip + Returns boolean value of the specified status (e.g. STATUS_PHANTOM) of the object the script is attached to. + + llGetSubString + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + String + + type + string + tooltip + + + + + Start + + type + integer + tooltip + + + + + End + + type + integer + tooltip + + + + + tooltip + Returns a sub-string from String, in a range specified by the Start and End indicies (inclusive).\nUsing negative numbers for Start and/or End causes the index to count backwards from the length of the string, so 0, -1 would capture the entire string.\nIf Start is greater than End, the sub string is the exclusion of the entries. + + llGetSunDirection + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns a normalized vector of the direction of the sun in the region.\nReturns the sun's direction on the simulator. + + llGetTexture + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Face + + type + integer + tooltip + + + + + tooltip + Returns a string that is the texture on face (the inventory name if it is a texture in the prim's inventory, otherwise the key).\nReturns the texture of a face, if it is found in object inventory, its key otherwise. + + llGetTextureOffset + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Face + + type + integer + tooltip + + + + + tooltip + Returns the texture offset of face in the x and y components of a vector. + + llGetTextureRot + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Face + + type + integer + tooltip + + + + + tooltip + Returns the texture rotation of side. + + llGetTextureScale + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Face + + type + integer + tooltip + + + + + tooltip + Returns the texture scale of side in the x and y components of a vector.\nReturns the texture scale of a side in the x and y components of a vector. + + llGetTime + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns the time in seconds since the last region reset, script reset, or call to either llResetTime or llGetAndResetTime. + + llGetTimeOfDay + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns the time in seconds since Second Life midnight or since region up-time, whichever is smaller.\nThe Second Life day cycle is 4 hours. + + llGetTimestamp + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + tooltip + Returns a time-stamp (UTC time zone) in the format: YYYY-MM-DDThh:mm:ss.ff..fZ. + + llGetTorque + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the torque (if the script is physical).\nReturns a vector that is the torque (if the script is physical). + + llGetUnixTime + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns the number of seconds elapsed since 00:00 hours, Jan 1, 1970 UTC from the system clock. + + llGetUsedMemory + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns the current used memory for the current script. Non-mono scripts always use 16K.\nReturns the integer of the number of bytes of memory currently in use by the script. Non-mono scripts always use 16K. + + llGetUsername + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Returns the username of an avatar, if the avatar is connected to the current region, or if the name has been cached. Otherwise, returns an empty string. Use llRequestUsername if the avatar may be absent from the region. + + llGetVel + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the velocity of the object.\nReturns a vector that is the velocity of the object. + + llGetWallclock + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns the time in seconds since midnight California Pacific time (PST/PDT).\nReturns the time in seconds since simulator's time-zone midnight (Pacific Time). + + llGiveInventory + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + TargetID + + type + key + tooltip + + + + + InventoryItem + + type + string + tooltip + + + + + tooltip + Give InventoryItem to destination represented by TargetID, as permitted by the permissions system.\nTargetID may be any agent or an object in the same region. + + llGiveInventoryList + + energy + 10.0 + sleep + 3.0 + return + void + arguments + + + TargetID + + type + key + tooltip + + + + + FolderName + + type + string + tooltip + + + + + InventoryItems + + type + list + tooltip + + + + + tooltip + Give InventoryItems to destination (represented by TargetID) as a new folder of items, as permitted by the permissions system.\nTargetID may be any agent or an object in the same region. If TargetID is an object, the items are passed directly to the object inventory (no folder is created). + + llGiveMoney + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + AvatarID + + type + key + tooltip + + + + + Amount + + type + integer + tooltip + + + + + tooltip + Transfers Amount of L$ from script owner to AvatarID.\nThis call will silently fail if PERMISSION_DEBIT has not been granted. + + llGodLikeRezObject + + god-mode + true + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + InventoryItemID + + type + key + tooltip + + + + + Position + + type + vector + tooltip + + + + + tooltip + Rez directly off of a UUID if owner has god-bit set. + + llGround + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Returns the ground height at the object position + offset.\nReturns the ground height at the object's position + Offset. + + llGroundContour + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Returns the ground contour direction below the object position + Offset.\nReturns the ground contour at the object's position + Offset. + + llGroundNormal + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Returns the ground normal below the object position + offset.\nReturns the ground contour at the object's position + Offset. + + llGroundRepel + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Height + + type + float + tooltip + Distance above the ground. + + + + Water + + type + integer + tooltip + Boolean, if TRUE then hover above water too. + + + + Tau + + type + float + tooltip + Seconds to critically damp in. + + + + tooltip + Critically damps to height if within height * 0.5 of level (either above ground level or above the higher of land and water if water == TRUE).\nCritically damps to fHeight if within fHeight * 0.5 of ground or water level.\n + The height is above ground level if iWater is FALSE or above the higher of land and water if iWater is TRUE.\n + Do not use with vehicles. Only works in physics-enabled objects. + + llGroundSlope + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Returns the ground slope below the object position + Offset.\nReturns the ground slope at the object position + Offset. + + llHTTPRequest + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + URL + + type + string + tooltip + A valid HTTP/HTTPS URL. + + + + Parameters + + type + list + tooltip + Configuration parameters, specified as HTTP_* flag-value pairs. + + + + Body + + type + string + tooltip + Contents of the request. + + + + tooltip + Sends an HTTP request to the specified URL with the Body of the request and Parameters.\nReturns a key that is a handle identifying the HTTP request made. + + llHTTPResponse + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + HTTPRequestID + + type + key + tooltip + A valid HTTP request key. + + + + Status + + type + integer + tooltip + HTTP Status (200, 400, 404, etc.). + + + + Body + + type + string + tooltip + Contents of the response. + + + + tooltip + Responds to an incoming HTTP request which was triggerd by an http_request event within the script. HTTPRequestID specifies the request to respond to (this ID is supplied in the http_request event handler). Status and Body specify the status code and message to respond with. + + llInsertString + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + TargetVariable + + type + string + tooltip + + + + + Position + + type + integer + tooltip + + + + + SourceVariable + + type + string + tooltip + + + + + tooltip + Inserts SourceVariable into TargetVariable at Position, and returns the result.\nInserts SourceVariable into TargetVariable at Position and returns the result. Note this does not alter TargetVariable. + + llInstantMessage + + energy + 10.0 + sleep + 2.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + Text + + type + string + tooltip + + + + + tooltip + IMs Text to the user identified.\nSend Text to the user as an instant message. + + llIntegerToBase64 + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Value + + type + integer + tooltip + + + + + tooltip + Returns a string that is a Base64 big endian encode of Value.\nEncodes the Value as an 8-character Base64 string. + + llJson2List + + energy + 0.0 + sleep + 0.0 + return + list + arguments + + + JSON + + type + string + tooltip + + + + + tooltip + Converts the top level of the JSON string to a list. + + llJsonGetValue + + energy + 0.0 + sleep + 0.0 + return + string + arguments + + + JSON + + type + string + tooltip + + + + + Specifiers + + type + list + tooltip + + + + + tooltip + Gets the value indicated by Specifiers from the JSON string. + + llJsonSetValue + + energy + 0.0 + sleep + 0.0 + return + string + arguments + + + JSON + + type + string + tooltip + + + + + Specifiers + + type + list + tooltip + + + + + Value + + type + string + tooltip + + + + + tooltip + Returns a new JSON string that is the JSON given with the Value indicated by Specifiers set to Value. + + llJsonValueType + + energy + 0.0 + sleep + 0.0 + return + string + arguments + + + JSON + + type + string + tooltip + + + + + Specifiers + + type + list + tooltip + + + + + tooltip + Returns the type constant (JSON_*) for the value in JSON indicated by Specifiers. + + llKey2Name + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + ID + + type + key + tooltip + Avatar or rezzed prim UUID. + + + + tooltip + Returns the name of the prim or avatar specified by ID. The ID must be a valid rezzed prim or avatar key in the current simulator, otherwise an empty string is returned.\nFor avatars, the returned name is the legacy name + + llLinkParticleSystem + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag + + + + Rules + + type + list + tooltip + Particle system rules list in the format [ rule1, data1, rule2, data2 . . . ruleN, dataN ] + + + + tooltip + Creates a particle system in prim LinkNumber based on Rules. An empty list removes a particle system from object.\nList format is [ rule-1, data-1, rule-2, data-2 ... rule-n, data-n ].\nThis is identical to llParticleSystem except that it applies to a specified linked prim and not just the prim the script is in. + + llLinkSitTarget + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag of the prim. + + + + Offset + + type + vector + tooltip + Position for the sit target, relative to the prim's position. + + + + Rotation + + type + rotation + tooltip + Rotation (relative to the prim's rotation) for the avatar. + + + + tooltip + Set the sit location for the linked prim(s). If Offset == <0,0,0> clear it.\nSet the sit location for the linked prim(s). The sit location is relative to the prim's position and rotation. + + llList2CSV + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + ListVariable + + type + list + tooltip + + + + + tooltip + Creates a string of comma separated values from the list.\nCreate a string of comma separated values from the specified list. + + llList2Float + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + ListVariable + + type + list + tooltip + + + + + Index + + type + integer + tooltip + + + + + tooltip + Copies the float at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to a float, then zero is returned. + + llList2Integer + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + ListVariable + + type + list + tooltip + + + + + Index + + type + integer + tooltip + + + + + tooltip + Copies the integer at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to an integer, then zero is returned. + + llList2Json + + energy + 0 + sleep + 0 + return + string + arguments + + + JsonType + + type + string + tooltip + Type is JSON_ARRAY or JSON_OBJECT. + + + + Values + + type + list + tooltip + List of values to convert. + + + + tooltip + Converts either a strided list of key:value pairs to a JSON_OBJECT, or a list of values to a JSON_ARRAY. + + llList2Key + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + ListVariable + + type + list + tooltip + + + + + Index + + type + integer + tooltip + + + + + tooltip + Copies the key at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to a key, then null string is returned. + + llList2List + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + ListVariable + + type + list + tooltip + + + + + Start + + type + integer + tooltip + + + + + End + + type + integer + tooltip + + + + + tooltip + Returns a subset of entries from ListVariable, in a range specified by the Start and End indicies (inclusive).\nUsing negative numbers for Start and/or End causes the index to count backwards from the length of the string, so 0, -1 would capture the entire string.\nIf Start is greater than End, the sub string is the exclusion of the entries. + + llList2ListStrided + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + ListVariable + + type + list + tooltip + + + + + Start + + type + integer + tooltip + + + + + End + + type + integer + tooltip + + + + + Stride + + type + integer + tooltip + + + + + tooltip + Copies the strided slice of the list from Start to End.\nReturns a copy of the strided slice of the specified list from Start to End. + + llList2Rot + + energy + 10.0 + sleep + 0.0 + return + rotation + arguments + + + ListVariable + + type + list + tooltip + + + + + Index + + type + integer + tooltip + + + + + tooltip + Copies the rotation at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to rotation, thenZERO_ROTATION is returned. + + llList2String + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + ListVariable + + type + list + tooltip + + + + + Index + + type + integer + tooltip + + + + + tooltip + Copies the string at Index in the list.\nReturns the value at Index in the specified list as a string. If Index describes a location not in the list then null string is returned. + + llList2Vector + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + ListVariable + + type + list + tooltip + + + + + Index + + type + integer + tooltip + + + + + tooltip + Copies the vector at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to a vector, then ZERO_VECTOR is returned. + + llListen + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Channel + + type + integer + tooltip + + + + + SpeakersName + + type + string + tooltip + + + + + SpeakersID + + type + key + tooltip + + + + + Text + + type + string + tooltip + + + + + tooltip + Creates a listen callback for Text on Channel from SpeakersName and SpeakersID (SpeakersName, SpeakersID, and/or Text can be empty) and returns an identifier that can be used to deactivate or remove the listen.\nNon-empty values for SpeakersName, SpeakersID, and Text will filter the results accordingly, while empty strings and NULL_KEY will not filter the results, for string and key parameters respectively.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. + + llListenControl + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ChannelHandle + + type + integer + tooltip + + + + + Active + + type + integer + tooltip + + + + + tooltip + Makes a listen event callback active or inactive. Pass in the value returned from llListen to the iChannelHandle parameter to specify which listener you are controlling.\nUse boolean values to specify Active + + llListenRemove + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ChannelHandle + + type + integer + tooltip + + + + + tooltip + Removes a listen event callback. Pass in the value returned from llListen to the iChannelHandle parameter to specify which listener to remove. + + llListFindList + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + ListVariable + + type + list + tooltip + + + + + Find + + type + list + tooltip + + + + + tooltip + Returns the index of the first instance of Find in ListVariable. Returns -1 if not found.\nReturns the position of the first instance of the Find list in the ListVariable. Returns -1 if not found. + + llListInsertList + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + Target + + type + list + tooltip + + + + + ListVariable + + type + list + tooltip + + + + + Position + + type + integer + tooltip + + + + + tooltip + Returns a list that contains all the elements from Target but with the elements from ListVariable inserted at Position start.\nReturns a new list, created by inserting ListVariable into the Target list at Position. Note this does not alter the Target. + + llListRandomize + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + ListVariable + + type + list + tooltip + + + + + Stride + + type + integer + tooltip + + + + + tooltip + Returns a version of the input ListVariable which has been randomized by blocks of size Stride.\nIf the remainder from the length of the list, divided by the stride is non-zero, this function does not randomize the list. + + llListReplaceList + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + Target + + type + list + tooltip + + + + + ListVariable + + type + list + tooltip + + + + + Start + + type + integer + tooltip + + + + + End + + type + integer + tooltip + + + + + tooltip + Returns a list that is Target with Start through End removed and ListVariable inserted at Start.\nReturns a list replacing the slice of the Target list from Start to End with the specified ListVariable. Start and End are inclusive, so 0, 1 would replace the first two entries and 0, 0 would replace only the first list entry. + + llListSort + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + ListVariable + + type + list + tooltip + List to sort. + + + + Stride + + type + integer + tooltip + Stride length. + + + + Ascending + + type + integer + tooltip + Boolean. TRUE = result in ascending order, FALSE = result in descending order. + + + + tooltip + Returns the specified list, sorted into blocks of stride in ascending order (if Ascending is TRUE, otherwise descending). Note that sort only works if the first entry of each block is the same datatype. + + llListStatistics + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Operation + + type + integer + tooltip + One of LIST_STAT_* values + + + + ListVariable + + type + list + tooltip + Variable to analyze. + + + + tooltip + Performs a statistical aggregate function, specified by a LIST_STAT_* constant, on ListVariables.\nThis function allows a script to perform a statistical operation as defined by operation on a list composed of integers and floats. + + llLoadURL + + energy + 10.0 + sleep + 0.1 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + Text + + type + string + tooltip + + + + + URL + + type + string + tooltip + + + + + tooltip + Shows dialog to avatar AvatarID offering to load web page at URL. If user clicks yes, launches their web browser.\nllLoadURL displays a dialogue box to the user, offering to load the specified web page using the default web browser. + + llLog + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Value + + type + float + tooltip + + + + + tooltip + Returns the natural logarithm of Value. Returns zero if Value <= 0.\nReturns the base e (natural) logarithm of the specified Value. + + llLog10 + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Value + + type + float + tooltip + + + + + tooltip + Returns the base 10 logarithm of Value. Returns zero if Value <= 0.\nReturns the base 10 (common) logarithm of the specified Value. + + llLookAt + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Target + + type + vector + tooltip + + + + + Strength + + type + float + tooltip + + + + + Damping + + type + float + tooltip + + + + + tooltip + Cause object name to point its forward axis towards Target, at a force controlled by Strength and Damping.\nGood Strength values are around half the mass of the object and good Damping values are less than 1/10th of the Strength.\nAsymmetrical shapes require smaller Damping. A Strength of 0.0 cancels the look at. + + llLoopSound + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + tooltip + Plays specified Sound, looping indefinitely, at Volume (0.0 - 1.0).\nOnly one sound may be attached to an object at a time.\nA second call to llLoopSound with the same key will not restart the sound, but the new volume will be used. This allows control over the volume of already playing sounds.\nSetting the volume to 0 is not the same as calling llStopSound; a sound with 0 volume will continue to loop.\nTo restart the sound from the beginning, call llStopSound before calling llLoopSound again. + + llLoopSoundMaster + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + tooltip + Plays attached Sound, looping at volume (0.0 - 1.0), and declares it a sync master.\nBehaviour is identical to llLoopSound, with the addition of marking the source as a "Sync Master", causing "Slave" sounds to sync to it. If there are multiple masters within a viewers interest area, the most audible one (a function of both distance and volume) will win out as the master.\nThe use of multiple masters within a small area is unlikely to produce the desired effect. + + llLoopSoundSlave + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + tooltip + Plays attached sound looping at volume (0.0 - 1.0), synced to most audible sync master.\nBehaviour is identical to llLoopSound, unless there is a "Sync Master" present.\nIf a Sync Master is already playing the Slave sound will begin playing from the same point the master is in its loop synchronizing the loop points of both sounds.\nIf a Sync Master is started when the Slave is already playing, the Slave will skip to the correct position to sync with the Master. + + llManageEstateAccess + + energy + 0.0 + sleep + 0.0 + return + integer + arguments + + + Action + + type + integer + tooltip + One of the ESTATE_ACCESS_ALLOWED_* actions. + + + + AvatarID + + type + key + tooltip + UUID of the avatar or group to act upon. + + + + tooltip + Adds or removes agents from the estate's agent access or ban lists, or groups to the estate's group access list. Action is one of the ESTATE_ACCESS_ALLOWED_* operations to perform.\nReturns an integer representing a boolean, TRUE if the call was successful; FALSE if throttled, invalid action, invalid or null id or object owner is not allowed to manage the estate.\nThe object owner is notified of any changes, unless PERMISSION_SILENT_ESTATE_MANAGEMENT has been granted to the script. + + llMapDestination + + energy + 10.0 + sleep + 1.0 + return + void + arguments + + + RegionName + + type + string + tooltip + + + + + Position + + type + vector + tooltip + + + + + Direction + + type + vector + tooltip + + + + + tooltip + Opens world map for avatar who touched is is wearing the script, centred on RegionName with Position highlighted. Only works for scripts attached to avatar, or during touch events.\nDirection currently has no effect. + + llMD5String + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Text + + type + string + tooltip + + + + + Nonce + + type + integer + tooltip + + + + + tooltip + Returns a string of 32 hex characters that is an RSA Data Security Inc., MD5 Message-Digest Algorithm of Text with Nonce used as the salt.\nReturns a 32-character hex string. (128-bit in binary.) + + llMessageLinked + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + + + + + Number + + type + integer + tooltip + + + + + Text + + type + string + tooltip + + + + + ID + + type + key + tooltip + + + + + tooltip + Sends Number, Text, and ID to members of the link set identified by LinkNumber.\nLinkNumber is either a linked number (available through llGetLinkNumber) or a LINK_* constant. + + llMinEventDelay + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Delay + + type + float + tooltip + + + + + tooltip + Set the minimum time between events being handled. + + llModifyLand + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Action + + type + integer + tooltip + LAND_LEVEL, LAND_RAISE, LAND_LOWER, LAND_SMOOTH, LAND_NOISE or LAND_REVERT + + + + Area + + type + integer + tooltip + 0, 1, 2 (2m x 2m, 4m x 4m, or 8m x 8m) + + + + tooltip + Modify land with action (LAND_LEVEL, LAND_RAISE, LAND_LOWER, LAND_SMOOTH, LAND_NOISE, LAND_REVERT) on size (0, 1, 2, corresponding to 2m x 2m, 4m x 4m, 8m x 8m). + + llModPow + + energy + 10.0 + sleep + 1.0 + return + integer + arguments + + + Value + + type + integer + tooltip + + + + + Power + + type + integer + tooltip + + + + + Modulus + + type + integer + tooltip + + + + + tooltip + Returns a Value raised to the Power, mod Modulus. ((a**b)%c) b is capped at 0xFFFF (16 bits).\nReturns (Value ^ Power) % Modulus. (Value raised to the Power, Modulus). Value is capped at 0xFFFF (16 bits). + + llMoveToTarget + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Target + + type + vector + tooltip + + + + + Tau + + type + float + tooltip + + + + + tooltip + Critically damp to Target in Tau seconds (if the script is physical).\nCritically damp to position target in tau-seconds if the script is physical. Good tau-values are greater than 0.2. A tau of 0.0 stops the critical damping. + + llOffsetTexture + + energy + 10.0 + sleep + 0.2 + return + void + arguments + + + OffsetS + + type + float + tooltip + + + + + OffsetT + + type + float + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Sets the texture S and T offsets for the chosen Face.\nIf Face is ALL_SIDES this function sets the texture offsets for all faces. + + llOpenRemoteDataChannel + + deprecated + true + energy + 10.0 + sleep + 1.0 + return + void + arguments + + tooltip + Requests a channel to listen for XML-RPC calls. (Deprecated: XML-RPC should not be used. Use http-in instead.)\nWill trigger a remote_data event with type = REMOTE_DATA_CHANNEL and a channel ID (key) once it is available.\nThis channel ID must be referenced in the XML-RPC call to the script (from the internet) -- so the key must somehow get to the external XML-RPC client. + + llOverMyLand + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + ID + + type + key + tooltip + + + + + tooltip + Returns TRUE if id ID over land owned by the script owner, otherwise FALSE.\nReturns TRUE if key ID is over land owned by the object owner, FALSE otherwise. + + llOwnerSay + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Text + + type + string + tooltip + + + + + tooltip + says Text to owner only (if owner is in region).\nSays Text to the owner of the object running the script, if the owner has been within the object's simulator since logging into Second Life, regardless of where they may be in-world. + + llParcelMediaCommandList + + energy + 10.0 + sleep + 2.0 + return + void + arguments + + + CommandList + + type + list + tooltip + A list of PARCEL_MEDIA_COMMAND_* flags and their parameters + + + + tooltip + Controls the playback of multimedia resources on a parcel or for an agent, via one or more PARCEL_MEDIA_COMMAND_* arguments specified in CommandList. + + llParcelMediaQuery + + energy + 10.0 + sleep + 2.0 + return + list + arguments + + + QueryList + + type + list + tooltip + + + + + tooltip + Queries the media properties of the parcel containing the script, via one or more PARCEL_MEDIA_COMMAND_* arguments specified in CommandList.\nThis function will only work if the script is contained within an object owned by the land-owner (or if the land is owned by a group, only if the object has been deeded to the group). + + llParseString2List + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + Text + + type + string + tooltip + + + + + Separators + + type + list + tooltip + + + + + Spacers + + type + list + tooltip + + + + + tooltip + Converts Text into a list, discarding Separators, keeping Spacers (Separators and Spacers must be lists of strings, maximum of 8 each).\nSeparators and Spacers are lists of strings with a maximum of 8 entries each. + + llParseStringKeepNulls + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + Text + + type + string + tooltip + + + + + Separators + + type + list + tooltip + + + + + Spacers + + type + list + tooltip + + + + + tooltip + Breaks Text into a list, discarding separators, keeping spacers, keeping any null values generated. (separators and spacers must be lists of strings, maximum of 8 each).\nllParseStringKeepNulls works almost exactly like llParseString2List, except that if a null is found it will add a null-string instead of discarding it like llParseString2List does. + + llParticleSystem + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Parameters + + type + list + tooltip + + + + + tooltip + Creates a particle system in the prim the script is attached to, based on Parameters. An empty list removes a particle system from object.\nList format is [ rule-1, data-1, rule-2, data-2 ... rule-n, data-n ]. + + llPassCollisions + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Pass + + type + integer + tooltip + Boolean, if TRUE, collisions are passed from children on to parents. + + + + tooltip + Configures how collision events are passed to scripts in the linkset.\nIf Pass == TRUE, collisions involving collision-handling scripted child prims are also passed on to the root prim. If Pass == FALSE (default behavior), such collisions will only trigger events in the affected child prim. + + llPassTouches + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Pass + + type + integer + tooltip + Boolean, if TRUE, touches are passed from children on to parents. + + + + tooltip + Configures how touch events are passed to scripts in the linkset.\nIf Pass == TRUE, touches involving touch-handling scripted child prims are also passed on to the root prim. If Pass == FALSE (default behavior), such touches will only trigger events in the affected child prim. + + llPlaySound + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + tooltip + Plays Sound once, at Volume (0.0 - 1.0) and attached to the object.\nOnly one sound may be attached to an object at a time, and attaching a new sound or calling llStopSound will stop the previously attached sound.\nA second call to llPlaySound with the same sound will not restart the sound, but the new volume will be used, which allows control over the volume of already playing sounds.\nTo restart the sound from the beginning, call llStopSound before calling llPlaySound again. + + llPlaySoundSlave + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + tooltip + Plays attached Sound once, at Volume (0.0 - 1.0), synced to next loop of most audible sync master.\nBehaviour is identical to llPlaySound, unless there is a "Sync Master" present. If a Sync Master is already playing, the Slave sound will not be played until the Master hits its loop point and returns to the beginning.\nllPlaySoundSlave will play the sound exactly once; if it is desired to have the sound play every time the Master loops, either use llLoopSoundSlave with extra silence padded on the end of the sound or ensure that llPlaySoundSlave is called at least once per loop of the Master. + + llPow + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Value + + type + float + tooltip + + + + + Exponent + + type + float + tooltip + + + + + tooltip + Returns the Value raised to the power Exponent, or returns 0 and triggers Math Error for imaginary results.\nReturns the Value raised to the Exponent. + + llPreloadSound + + energy + 10.0 + sleep + 1.0 + return + void + arguments + + + Sound + + type + string + tooltip + + + + + tooltip + Causes nearby viewers to preload the Sound from the object's inventory.\nThis is intended to prevent delays in starting new sounds when called upon. + + llPushObject + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ObjectID + + type + key + tooltip + + + + + Impulse + + type + vector + tooltip + + + + + AngularImpulse + + type + vector + tooltip + + + + + Local + + type + integer + tooltip + + + + + tooltip + Applies Impulse and AngularImpulse to ObjectID.\nApplies the supplied impulse and angular impulse to the object specified. + + llRefreshPrimURL + + energy + 10.0 + sleep + 20.0 + return + void + arguments + + tooltip + Reloads the web page shown on the sides of the object. + + llRegionSay + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Channel + + type + integer + tooltip + Any integer value except zero. + + + + Text + + type + string + tooltip + Message to be transmitted. + + + + tooltip + Broadcasts Text to entire region on Channel (except for channel 0). + + llRegionSayTo + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + TargetID + + type + key + tooltip + Avatar or object to say to. + + + + Channel + + type + integer + tooltip + Output channel, any integer value. + + + + Text + + type + string + tooltip + Message to be transmitted. + + + + tooltip + Says Text, on Channel, to avatar or object indicated by TargetID (if within region).\nIf TargetID is an avatar and Channel is nonzero, Text can be heard by any attachment on the avatar. + + llReleaseCamera + + deprecated + true + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Return camera to agent.\nDeprecated: Use llClearCameraParams instead. + + llReleaseControls + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + Stop taking inputs.\nStop taking inputs from the avatar. + + llReleaseURL + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + URL + + type + string + tooltip + URL to release. + + + + tooltip + Releases the specified URL, which was previously obtained using llRequestURL. Once released, the URL will no longer be usable. + + llRemoteDataReply + + deprecated + true + energy + 10.0 + sleep + 3.0 + return + void + arguments + + + ChannelID + + type + key + tooltip + + + + + MessageID + + type + key + tooltip + + + + + sData + + type + string + tooltip + String data to send + + + + iData + + type + integer + tooltip + Integer data to send + + + + tooltip + Send an XML-RPC reply to MessageID on ChannelID with payload of string sData and integer iData. Deprecated: Use HTTP functions/events instead.\nThe size of sData is limited to 254 characters. + + llRemoteLoadScriptPin + + energy + 10.0 + sleep + 3.0 + return + void + arguments + + + ObjectID + + type + key + tooltip + Target prim to attempt copying into. + + + + ScriptName + + type + string + tooltip + Name of the script in current inventory to copy. + + + + PIN + + type + integer + tooltip + Integer set on target prim as a Personal Information Number code. + + + + Running + + type + integer + tooltip + If the script should be set running in the target prim. + + + + StartParameter + + type + integer + tooltip + Integer. Parameter passed to the script if set to be running. + + + + tooltip + If the owner of the object containing this script can modify the object identified by the specified object key, and if the PIN matches the PIN previously set using llSetRemoteScriptAccessPin (on the target prim), then the script will be copied into target. Running is a boolean specifying whether the script should be enabled once copied into the target object. + + llRemoveFromLandBanList + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Remove avatar from the land ban list.\nRemove specified avatar from the land parcel ban list. + + llRemoveFromLandPassList + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Remove avatar from the land pass list.\nRemove specified avatar from the land parcel pass list. + + llRemoveInventory + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + InventoryItem + + type + string + tooltip + + + + + tooltip + Remove the named inventory item.\nRemove the named inventory item from the object inventory. + + llRemoveVehicleFlags + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Vehiclelags + + type + integer + tooltip + + + + + tooltip + Removes the enabled bits in 'flags'.\nSets the vehicle flags to FALSE. Valid parameters can be found in the vehicle flags constants section. + + llRequestAgentData + + energy + 10.0 + sleep + 0.1 + return + key + arguments + + + AvatarID + + type + key + tooltip + + + + + Data + + type + integer + tooltip + + + + + tooltip + Requests data about AvatarID. When data is available the dataserver event will be raised.\nThis function requests data about an avatar. If and when the information is collected, the dataserver event is triggered with the key returned from this function passed in the requested parameter. See the agent data constants (DATA_*) for details about valid values of data and what each will return in the dataserver event. + + llRequestDisplayName + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + AvatarID + + type + key + tooltip + Avatar UUID + + + + tooltip + Requests the display name of the agent. When the display name is available the dataserver event will be raised.\nThe avatar identified does not need to be in the same region or online at the time of the request.\nReturns a key that is used to identify the dataserver event when it is raised. + + llRequestInventoryData + + energy + 10.0 + sleep + 1.0 + return + key + arguments + + + InventoryItem + + type + string + tooltip + + + + + tooltip + Requests data for the named InventoryItem.\nWhen data is available, the dataserver event will be raised with the key returned from this function in the requested parameter.\nThe only request currently implemented is to request data from landmarks, where the data returned is in the form "<float, float, float>" which can be cast to a vector. This position is in region local coordinates. + + llRequestPermissions + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + PermissionMask + + type + integer + tooltip + + + + + tooltip + Ask AvatarID to allow the script to perform certain actions, specified in the PermissionMask bitmask. PermissionMask should be one or more PERMISSION_* constants. Multiple permissions can be requested simultaneously by ORing the constants together. Many of the permissions requests can only go to object owner.\nThis call will not stop script execution. If the avatar grants the requested permissions, the run_time_permissions event will be called. + + llRequestSecureURL + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + tooltip + Requests one HTTPS:// (SSL) URL for use by this object. The http_request event is triggered with results.\nReturns a key that is the handle used for identifying the request in the http_request event. + + llRequestSimulatorData + + energy + 10.0 + sleep + 1.0 + return + key + arguments + + + RegionName + + type + string + tooltip + + + + + Data + + type + integer + tooltip + + + + + tooltip + Requests the specified Data about RegionName. When the specified data is available, the dataserver event is raised.\nData should use one of the DATA_SIM_* constants.\nReturns a dataserver query ID and triggers the dataserver event when data is found. + + llRequestURL + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + tooltip + Requests one HTTP:// URL for use by this script. The http_request event is triggered with the result of the request.\nReturns a key that is the handle used for identifying the result in the http_request event. + + llRequestUsername + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Requests single-word user-name of an avatar. When data is available the dataserver event will be raised.\nRequests the user-name of the identified agent. When the user-name is available the dataserver event is raised.\nThe agent identified does not need to be in the same region or online at the time of the request.\nReturns a key that is used to identify the dataserver event when it is raised. + + llResetAnimationOverride + + energy + 0 + sleep + 0 + return + void + arguments + + + AnimationState + + type + string + tooltip + + + + + tooltip + Resets the animation of the specified animation state to the default value.\nIf animation state equals "ALL", then all animation states are reset. + + llResetLandBanList + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + Removes all residents from the land ban list. + + llResetLandPassList + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + Removes all residents from the land access/pass list. + + llResetOtherScript + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ScriptName + + type + string + tooltip + + + + + tooltip + Resets the named script. + + llResetScript + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + Resets the script. + + llResetTime + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + Sets the time to zero.\nSets the internal timer to zero. + + llReturnObjectsByID + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + ObjectIDs + + type + list + tooltip + List of object UUIDs to be returned. + + + + tooltip + Return objects using their UUIDs.\nRequires the PERMISSION_RETURN_OBJECTS permission and that the script owner owns the parcel the returned objects are in, or is an estate manager or region owner. + + llReturnObjectsByOwner + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + ID + + type + key + tooltip + Object owner's UUID. + + + + Scope + + type + integer + tooltip + + + + + tooltip + Return objects based upon their owner and a scope of parcel, parcel owner, or region.\nRequires the PERMISSION_RETURN_OBJECTS permission and that the script owner owns the parcel the returned objects are in, or is an estate manager or region owner. + + llRezAtRoot + + energy + 200.0 + sleep + 0.1 + return + void + arguments + + + InventoryItem + + type + string + tooltip + + + + + Position + + type + vector + tooltip + + + + + Velocity + + type + vector + tooltip + + + + + Rotation + + type + rotation + tooltip + + + + + StartParameter + + type + integer + tooltip + + + + + tooltip + Instantiate owner's InventoryItem at Position with Velocity, Rotation and with StartParameter. The last selected root object's location will be set to Position.\nCreates object's inventory item at the given Position, with Velocity, Rotation, and StartParameter. + + llRezObject + + energy + 200 + sleep + 0.1 + return + void + arguments + + + InventoryItem + + type + string + tooltip + + + + + Position + + type + vector + tooltip + + + + + Velocity + + type + vector + tooltip + + + + + Rotation + + type + rotation + tooltip + + + + + StartParameter + + type + integer + tooltip + + + + + tooltip + Instantiate owners InventoryItem at Position with Velocity, Rotation and with start StartParameter.\nCreates object's inventory item at Position with Velocity and Rotation supplied. The StartParameter value will be available to the newly created object in the on_rez event or through the llGetStartParameter function.\nThe Velocity parameter is ignored if the rezzed object is not physical. + + llRot2Angle + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Returns the rotation angle represented by Rotation.\nReturns the angle represented by the Rotation. + + llRot2Axis + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Returns the rotation axis represented by Rotation.\nReturns the axis represented by the Rotation. + + llRot2Euler + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Returns the Euler representation (roll, pitch, yaw) of Rotation.\nReturns the Euler Angle representation of the Rotation. + + llRot2Fwd + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Returns the forward vector defined by Rotation.\nReturns the forward axis represented by the Rotation. + + llRot2Left + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Returns the left vector defined by Rotation.\nReturns the left axis represented by the Rotation. + + llRot2Up + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Returns the up vector defined by Rotation.\nReturns the up axis represented by the Rotation. + + llRotateTexture + + energy + 10.0 + sleep + 0.2 + return + void + arguments + + + Radians + + type + float + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Sets the texture rotation for the specified Face to angle Radians.\nIf Face is ALL_SIDES, rotates the texture of all sides. + + llRotBetween + + energy + 10.0 + sleep + 0.0 + return + rotation + arguments + + + Vector1 + + type + vector + tooltip + + + + + Vector2 + + type + vector + tooltip + + + + + tooltip + Returns the rotation to rotate Vector1 to Vector2.\nReturns the rotation needed to rotate Vector1 to Vector2. + + llRotLookAt + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Rotation + + type + rotation + tooltip + + + + + Strength + + type + float + tooltip + + + + + Damping + + type + float + tooltip + + + + + tooltip + Cause object to rotate to Rotation, with a force function defined by Strength and Damping parameters. Good strength values are around half the mass of the object and good damping values are less than 1/10th of the strength.\nAsymmetrical shapes require smaller damping.\nA strength of 0.0 cancels the look at. + + llRotTarget + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Rotation + + type + rotation + tooltip + + + + + LeeWay + + type + float + tooltip + + + + + tooltip + Set rotations with error of LeeWay radians as a rotational target, and return an ID for the rotational target.\nThe returned number is a handle that can be used in at_rot_target and llRotTargetRemove. + + llRotTargetRemove + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Handle + + type + integer + tooltip + + + + + tooltip + Removes rotational target number.\nRemove rotational target indicated by the handle. + + llRound + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Value + + type + float + tooltip + + + + + tooltip + Returns Value rounded to the nearest integer.\nReturns the Value rounded to the nearest integer. + + llSameGroup + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + ID + + type + key + tooltip + + + + + tooltip + Returns TRUE if avatar ID is in the same region and has the same active group, otherwise FALSE.\nReturns TRUE if the object or agent identified is in the same simulator and has the same active group as this object. Otherwise, returns FALSE. + + llSay + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Channel + + type + integer + tooltip + Channel to use to say text on. + + + + Text + + type + string + tooltip + Text to say. + + + + tooltip + Says Text on Channel.\nThis chat method has a range of 20m radius.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. + + llScaleByFactor + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + ScalingFactor + + type + float + tooltip + The multiplier to be used with the prim sizes and their local positions. + + + + tooltip + Attempts to resize the entire object by ScalingFactor, maintaining the size-position ratios of the prims.\n\nResizing is subject to prim scale limits and linkability limits. This function can not resize the object if the linkset is physical, a pathfinding character, in a keyframed motion, or if resizing would cause the parcel to overflow.\nReturns a boolean (an integer) TRUE if it succeeds, FALSE if it fails. + + llScaleTexture + + energy + 10.0 + sleep + 0.2 + return + void + arguments + + + Horizontal + + type + float + tooltip + + + + + Vertical + + type + float + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Sets the diffuse texture Horizontal and Vertical repeats on Face of the prim the script is attached to.\nIf Face == ALL_SIDES, all sides are set in one call.\nNegative values for horizontal and vertical will flip the texture. + + llScriptDanger + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Position + + type + vector + tooltip + + + + + tooltip + Returns TRUE if Position is over public land, sandbox land, land that doesn't allow everyone to edit and build, or land that doesn't allow outside scripts.\nReturns true if the position is over public land, land that doesn't allow everyone to edit and build, or land that doesn't allow outside scripts. + + llScriptProfiler + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + State + + type + integer + tooltip + PROFILE_NONE or PROFILE_SCRIPT_MEMORY flags to control the state. + + + + tooltip + Enables or disables script profiling options. Currently only supports PROFILE_SCRIPT_MEMORY (Mono only) and PROFILE_NONE.\nMay significantly reduce script performance. + + llSendRemoteData + + deprecated + true + energy + 10.0 + sleep + 3.0 + return + key + arguments + + + ChannelID + + type + key + tooltip + + + + + Destination + + type + string + tooltip + + + + + Value + + type + integer + tooltip + + + + + Text + + type + string + tooltip + + + + + tooltip + Deprecated: use HTTP functions and events instead.\nSends an XML-RPC request to Destination through ChannelID with payload of ChannelID (in a string), integer Value and string Text.\nReturns a key that is the message_id for the resulting remote_data events. + + llSensor + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Name + + type + string + tooltip + Object or avatar name. + + + + ID + + type + key + tooltip + Object or avatar UUID. + + + + Type + + type + integer + tooltip + Bit-field mask of AGENT, AGENT_BY_LEGACY_NAME, AGENT_BY_USERNAME, ACTIVE, PASSIVE, and/or SCRIPTED + + + + Range + + type + float + tooltip + Distance to scan. 0.0 - 96.0m. + + + + Arc + + type + float + tooltip + Angle, in radians, from the local x-axis of the prim to scan. + + + + tooltip + Performs a single scan for Name and ID with Type (AGENT, ACTIVE, PASSIVE, and/or SCRIPTED) within Range meters and Arc radians of forward vector.\nSpecifying a blank Name, 0 Type, or NULL_KEY ID will prevent filtering results based on that parameter. A range of 0.0 does not perform a scan.\nResults are returned in the sensor and no_sensor events. + + llSensorRemove + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + removes sensor.\nRemoves the sensor set by llSensorRepeat. + + llSensorRepeat + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Name + + type + string + tooltip + Object or avatar name. + + + + ID + + type + key + tooltip + Object or avatar UUID. + + + + Type + + type + integer + tooltip + Bit-field mask of AGENT, AGENT_BY_LEGACY_NAME, AGENT_BY_USERNAME, ACTIVE, PASSIVE, and/or SCRIPTED + + + + Range + + type + float + tooltip + Distance to scan. 0.0 - 96.0m. + + + + Arc + + type + float + tooltip + Angle, in radians, from the local x-axis of the prim to scan. + + + + Rate + + type + float + tooltip + Period, in seconds, between scans. + + + + tooltip + Initiates a periodic scan every Rate seconds, for Name and ID with Type (AGENT, ACTIVE, PASSIVE, and/or SCRIPTED) within Range meters and Arc radians of forward vector.\nSpecifying a blank Name, 0 Type, or NULL_KEY ID will prevent filtering results based on that parameter. A range of 0.0 does not perform a scan.\nResults are returned in the sensor and no_sensor events. + + llSetAlpha + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Opacity + + type + float + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Sets the alpha (opacity) of Face.\nSets the alpha (opacity) value for Face. If Face is ALL_SIDES, sets the alpha for all faces. The alpha value is interpreted as an opacity percentage (1.0 is fully opaque, and 0.2 is mostly transparent). This function will clamp alpha values less than 0.1 to 0.1 and greater than 1.0 to 1. + + llSetAngularVelocity + + energy + 0.0 + sleep + 0.0 + return + void + arguments + + + AngVel + + type + vector + tooltip + The angular velocity to set the object to. + + + + Local + + type + integer + tooltip + If TRUE, the AngVel is treated as a local directional vector instead of a regional directional vector. + + + + tooltip + Sets an object's angular velocity to AngVel, in local coordinates if Local == TRUE (if the script is physical).\nHas no effect on non-physical objects. + + llSetAnimationOverride + + energy + 0 + sleep + 0 + return + void + arguments + + + AnimationState + + type + string + tooltip + + + + + AnimationName + + type + string + tooltip + + + + + tooltip + Sets the animation (in object inventory) that will play for the given animation state.\nTo use this function the script must obtain the PERMISSION_OVERRIDE_ANIMATIONS permission. + + llSetBuoyancy + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Buoyancy + + type + float + tooltip + + + + + tooltip + Set the tasks buoyancy (0 is none, < 1.0 sinks, 1.0 floats, > 1.0 rises).\nSet the object buoyancy. A value of 0 is none, less than 1.0 sinks, 1.0 floats, and greater than 1.0 rises. + + llSetCameraAtOffset + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Sets the camera used in this object, at offset, if an avatar sits on it.\nSets the offset that an avatar's camera will be moved to if the avatar sits on the object. + + llSetCameraEyeOffset + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Sets the camera eye offset used in this object if an avatar sits on it. + + llSetCameraParams + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Parameters + + type + list + tooltip + + + + + tooltip + Sets multiple camera parameters at once. List format is [ rule-1, data-1, rule-2, data-2 . . . rule-n, data-n ]. + + llSetClickAction + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Action + + type + integer + tooltip + A CLICK_ACTION_* flag + + + + tooltip + Sets the action performed when a prim is clicked upon. + + llSetColor + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Color + + type + vector + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Sets the color, for the face.\nSets the color of the side specified. If Face is ALL_SIDES, sets the color on all faces. + + llSetContentType + + energy + 0.0 + sleep + 0.0 + return + void + arguments + + + HTTPRequestID + + type + key + tooltip + A valid http_request() key + + + + ContentType + + type + integer + tooltip + Media type to use with any following llHTTPResponse(HTTPRequestID, ...) + + + + tooltip + Set the media type of an LSL HTTP server response to ContentType.\nHTTPRequestID must be a valid http_request ID. ContentType must be one of the CONTENT_TYPE_* constants. + + llSetDamage + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Damage + + type + float + tooltip + + + + + tooltip + Sets the amount of damage that will be done to an avatar that this task hits. Task will be killed.\nSets the amount of damage that will be done to an avatar that this object hits. This object will be destroyed on damaging an avatar, and no collision event is triggered. + + llSetForce + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Force + + type + vector + tooltip + Directional force. + + + + Local + + type + integer + tooltip + Boolean, if TRUE uses local axis, if FALSE uses region axis. + + + + tooltip + Sets Force on object, in object-local coordinates if Local == TRUE (otherwise, the region reference frame is used).\nOnly works on physical objects. + + llSetForceAndTorque + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Force + + type + vector + tooltip + Directional force. + + + + Torque + + type + vector + tooltip + Torque force. + + + + Local + + type + integer + tooltip + Boolean, if TRUE uses local axis, if FALSE uses region axis. + + + + tooltip + Sets the Force and Torque of object, in object-local coordinates if Local == TRUE (otherwise, the region reference frame is used).\nOnly works on physical objects. + + llSetHoverHeight + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Height + + type + float + tooltip + Distance above the ground. + + + + Water + + type + integer + tooltip + Boolean, if TRUE then hover above water too. + + + + Tau + + type + float + tooltip + Seconds to critically damp in. + + + + tooltip + Critically damps a physical object to a Height (either above ground level or above the higher of land and water if water == TRUE).\nDo not use with vehicles. Use llStopHover to stop hovering. + + llSetInventoryPermMask + + god-mode + true + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + InventoryItem + + type + string + tooltip + An item in the prim's inventory + + + + PermissionFlag + + type + integer + tooltip + MASK_* flag + + + + PermissionMask + + type + integer + tooltip + Permission bit-field (PERM_* flags) + + + + tooltip + Sets the given permission mask to the new value on the inventory item. + + llSetKeyframedMotion + + energy + 0.0 + sleep + 0.0 + return + void + arguments + + + Keyframes + + type + list + tooltip + Strided keyframe list of the form: position, orientation, time. Each keyframe is interpreted relative to the previous transform of the object. + + + + Options + + type + list + tooltip + + + + + tooltip + Requests that a non-physical object be key-framed according to key-frame list.\nSpecify a list of times, positions, and orientations to be followed by an object. The object will be smoothly moved between key-frames by the simulator. Collisions with other non-physical or key-framed objects will be ignored (no script events will fire and collision processing will not occur). Collisions with physical objects will be computed and reported, but the key-framed object will be unaffected by those collisions.\nKeyframes is a strided list containing positional, rotational, and time data for each step in the motion. Options is a list containing optional arguments and parameters (specified by KFM_* constants). + + llSetLinkAlpha + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + + + + + Opacity + + type + float + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + If a prim exists in the link chain at LinkNumber, set Face to Opacity.\nSets the Face, on the linked prim specified, to the Opacity. + + llSetLinkCamera + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + Prim link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag + + + + EyeOffset + + type + vector + tooltip + Offset, relative to the object's centre and expressed in local coordinates, that the camera looks from. + + + + LookOffset + + type + vector + tooltip + Offset, relative to the object's centre and expressed in local coordinates, that the camera looks toward. + + + + tooltip + Sets the camera eye offset, and the offset that camera is looking at, for avatars that sit on the linked prim. + + llSetLinkColor + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. + + + + Color + + type + vector + tooltip + Color in RGB <R.R, G.G, B.B> + + + + Face + + type + integer + tooltip + Side number or ALL_SIDES. + + + + tooltip + If a task exists in the link chain at LinkNumber, set the Face to color.\nSets the color of the linked child's side, specified by LinkNumber. + + llSetLinkMedia + + energy + 0.0 + sleep + 0.0 + return + integer + arguments + + + Link + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims). + + + + Face + + type + integer + tooltip + Face number. + + + + Parameters + + type + list + tooltip + A set of name/value pairs (in no particular order) + + + + tooltip + Set the media parameters for a particular face on linked prim, specified by Link. Returns an integer that is a STATUS_* flag which details the success/failure of the operation(s).\nMediaParameters is a set of name/value pairs in no particular order. Parameters not specified are unchanged, or if new media is added then set to the default specified. + + llSetLinkPrimitiveParams + + energy + 10.0 + sleep + 0.2 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag + + + + Parameters + + type + list + tooltip + + + + + tooltip + Set primitive parameters for LinkNumber based on Parameters.\nSets the parameters (or properties) of any linked prim in one step. + + llSetLinkPrimitiveParamsFast + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag + + + + Parameters + + type + list + tooltip + + + + + tooltip + Set primitive parameters for LinkNumber based on Parameters, without a delay.\nSet parameters for link number, from the list of Parameters, with no built-in script sleep. This function is identical to llSetLinkPrimitiveParams, except without the delay. + + llSetLinkTexture + + energy + 10.0 + sleep + 0.2 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + + + + + Texture + + type + string + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Sets the Texture of Face on a linked prim, specified by LinkNumber. Texture may be a UUID or name of a texture in prim inventory. + + llSetLinkTextureAnim + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag to effect + + + + Mode + + type + integer + tooltip + Bitmask of animation options. + + + + Face + + type + integer + tooltip + Specifies which object face to animate or ALL_SIDES. + + + + SizeX + + type + integer + tooltip + Horizontal frames (ignored for ROTATE and SCALE). + + + + SizeY + + type + integer + tooltip + Vertical frames (ignored for ROTATE and SCALE). + + + + Start + + type + float + tooltip + Start position/frame number (or radians for ROTATE). + + + + Length + + type + float + tooltip + Specifies the animation duration, in frames (or radians for ROTATE). + + + + Rate + + type + float + tooltip + Specifies the animation playback rate, in frames per second (must be greater than zero). + + + + tooltip + Animates a texture on the prim specified by LinkNumber, by setting the texture scale and offset.\nMode is a bitmask of animation options.\nFace specifies which object face to animate.\nSizeX and SizeY specify the number of horizontal and vertical frames.Start specifes the animation start point.\nLength specifies the animation duration.\nRate specifies the animation playback rate. + + llSetLocalRot + + energy + 10.0 + sleep + 0.2 + return + void + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Sets the rotation of a child prim relative to the root prim. + + llSetMemoryLimit + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Limit + + type + integer + tooltip + The amount to reserve, which must be less than the allowed maximum (currently 64KB) and not already have been exceeded. + + + + tooltip + Requests Limit bytes to be reserved for this script.\nReturns TRUE or FALSE indicating whether the limit was set successfully.\nThis function has no effect if the script is running in the LSO VM. + + llSetObjectDesc + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Description + + type + string + tooltip + + + + + tooltip + Sets the description of the prim to Description.\nThe description field is limited to 127 characters. + + llSetObjectName + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Name + + type + string + tooltip + + + + + tooltip + Sets the prim's name to Name. + + llSetObjectPermMask + + god-mode + true + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + PermissionFlag + + type + integer + tooltip + MASK_* flag + + + + PermissionMask + + type + integer + tooltip + Permission bit-field (PERM_* flags) + + + + tooltip + Sets the specified PermissionFlag permission to the value specified by PermissionMask on the object the script is attached to. + + llSetParcelMusicURL + + energy + 10.0 + sleep + 2.0 + return + void + arguments + + + URL + + type + string + tooltip + + + + + tooltip + Sets the streaming audio URL for the parcel the object is on.\nThe object must be owned by the owner of the parcel; if the parcel is group owned the object must be owned by that group. + + llSetPayPrice + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Price + + type + integer + tooltip + The default price shown in the textu input field. + + + + QuickButtons + + type + list + tooltip + Specifies the 4 payment values shown in the payment dialog's buttons (or PAY_HIDE). + + + + tooltip + Sets the default amount when someone chooses to pay this object.\nPrice is the default price shown in the textu input field. QuickButtons specifies the 4 payment values shown in the payment dialog's buttons.\nInput field and buttons may be hidden with PAY_HIDE constant, and may be set to their default values using PAY_DEFAULT. + + llSetPhysicsMaterial + + energy + 0.0 + sleep + 0.0 + return + void + arguments + + + MaterialBits + + type + integer + tooltip + A bitmask specifying which of the parameters in the other arguments should be applied to the object. + + + + GravityMultiplier + + type + float + tooltip + + + + + Restitution + + type + float + tooltip + + + + + Friction + + type + float + tooltip + + + + + Density + + type + float + tooltip + + + + + tooltip + Sets the selected parameters of the object's physics behavior.\nMaterialBits is a bitmask specifying which of the parameters in the other arguments should be applied to the object. GravityMultiplier, Restitution, Friction, and Density are the possible parameters to manipulate. + + llSetPos + + energy + 10.0 + sleep + 0.2 + return + void + arguments + + + Position + + type + vector + tooltip + Region coordinates to move to (within 10m). + + + + tooltip + If the object is not physical, this function sets the position of the prim.\nIf the script is in a child prim, Position is treated as root relative and the link-set is adjusted.\nIf the prim is the root prim, the entire object is moved (up to 10m) to Position in region coordinates. + + llSetPrimitiveParams + + energy + 10.0 + sleep + 0.2 + return + void + arguments + + + Parameters + + type + list + tooltip + A list of changes. + + + + tooltip + This function changes the many properties (or "parameters") of a prim in one operation. Parameters is a list of changes. + + llSetPrimMediaParams + + energy + 10.0 + sleep + 1.0 + return + integer + arguments + + + Face + + type + integer + tooltip + Face number + + + + MediaParameters + + type + list + tooltip + A set of name/value pairs (in no particular order) + + + + tooltip + Sets the MediaParameters for a particular Face on the prim. Returns an integer that is a STATUS_* flag which details the success/failure of the operation(s).\nMediaParameters is a set of name/value pairs in no particular order. Parameters not specified are unchanged, or if new media is added then set to the default specified. + + llSetPrimURL + + deprecated + true + energy + 10.0 + sleep + 20.0 + return + void + arguments + + + URL + + type + string + tooltip + + + + + tooltip + Deprecated: Use llSetPrimMediaParams instead. + + llSetRegionPos + + energy + 0.0 + sleep + 0.0 + return + integer + arguments + + + Position + + type + vector + tooltip + Vector. The location to move to, in region coordinates. + + + + tooltip + Attempts to move the object so that the root prim is within 0.1m of Position.\nReturns an integer boolean, TRUE if the object is successfully placed within 0.1 m of Position, FALSE otherwise.\nPosition may be any location within the region or up to 10m across a region border.\nIf the position is below ground, it will be set to the ground level at that x,y location. + + llSetRemoteScriptAccessPin + + energy + 10.0 + sleep + 0.2 + return + void + arguments + + + PIN + + type + integer + tooltip + + + + + tooltip + If PIN is set to a non-zero number, the task will accept remote script loads via llRemoteLoadScriptPin() if it passes in the correct PIN. Othersise, llRemoteLoadScriptPin() is ignored. + + llSetRot + + energy + 10.0 + sleep + 0.2 + return + void + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + If the object is not physical, this function sets the rotation of the prim.\nIf the script is in a child prim, Rotation is treated as root relative and the link-set is adjusted.\nIf the prim is the root prim, the entire object is rotated to Rotation in the global reference frame. + + llSetScale + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Scale + + type + vector + tooltip + + + + + tooltip + Sets the prim's scale (size) to Scale. + + llSetScriptState + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ScriptName + + type + string + tooltip + + + + + Running + + type + integer + tooltip + + + + + tooltip + Enable or disable the script Running state of Script in the prim. + + llSetSitText + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Displays Text rather than 'Sit' in the viewer's context menu. + + llSetSoundQueueing + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + QueueEnable + + type + integer + tooltip + Boolean, sound queuing: TRUE enables, FALSE disables (default). + + + + tooltip + Sets whether successive calls to llPlaySound, llLoopSound, etc., (attached sounds) interrupt the currently playing sound.\nThe default for objects is FALSE. Setting this value to TRUE will make the sound wait until the current playing sound reaches its end. The queue is one level deep. + + llSetSoundRadius + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Radius + + type + float + tooltip + Maximum distance that sounds can be heard. + + + + tooltip + Limits radius for audibility of scripted sounds (both attached and triggered) to distance Radius. + + llSetStatus + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Status + + type + integer + tooltip + + + + + Value + + type + integer + tooltip + + + + + tooltip + Sets object status specified in Status bitmask (e.g. STATUS_PHYSICS|STATUS_PHANTOM) to boolean Value.\nFor a full list of STATUS_* constants, see wiki documentation. + + llSetText + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Text + + type + string + tooltip + + + + + Color + + type + vector + tooltip + + + + + Opacity + + type + float + tooltip + + + + + tooltip + Causes Text to float above the prim, using the specified Color and Opacity. + + llSetTexture + + energy + 10.0 + sleep + 0.2 + return + void + arguments + + + Texture + + type + string + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Applies Texture to Face of prim.\nTexture may be a UUID or name of a texture in prim inventory.\nIf Face is ALL_SIDES, set the texture on all faces. + + llSetTextureAnim + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Mode + + type + integer + tooltip + Mask of Mode flags. + + + + Face + + type + integer + tooltip + Face number or ALL_SIDES. + + + + SizeX + + type + integer + tooltip + Horizontal frames (ignored for ROTATE and SCALE). + + + + SizeY + + type + integer + tooltip + Vertical frames (ignored for ROTATE and SCALE). + + + + Start + + type + float + tooltip + Start position/frame number (or radians for ROTATE). + + + + Length + + type + float + tooltip + number of frames to display (or radians for ROTATE). + + + + Rate + + type + float + tooltip + Frames per second (must not greater than zero). + + + + tooltip + Animates a texture by setting the texture scale and offset.\nMode is a bitmask of animation options.\nFace specifies which object face to animate.\nSizeX and SizeY specify the number of horizontal and vertical frames.Start specifes the animation start point.\nLength specifies the animation duration.\nRate specifies the animation playback rate. + + llSetTimerEvent + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Rate + + type + float + tooltip + + + + + tooltip + Causes the timer event to be triggered every Rate seconds.\n Passing in 0.0 stops further timer events. + + llSetTorque + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Torque + + type + vector + tooltip + Torque force. + + + + Local + + type + integer + tooltip + Boolean, if TRUE uses local axis, if FALSE uses region axis. + + + + tooltip + Sets the Torque acting on the script's object, in object-local coordinates if Local == TRUE (otherwise, the region reference frame is used).\nOnly works on physical objects. + + llSetTouchText + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Displays Text in the viewer context menu that acts on a touch. + + llSetVehicleFlags + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Flags + + type + integer + tooltip + + + + + tooltip + Enables the vehicle flags specified in the Flags bitmask.\nValid parameters can be found in the wiki documentation. + + llSetVehicleFloatParam + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ParameterName + + type + integer + tooltip + + + + + ParameterValue + + type + float + tooltip + + + + + tooltip + Sets a vehicle float parameter.\nValid parameters can be found in the wiki documentation. + + llSetVehicleRotationParam + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ParameterName + + type + integer + tooltip + + + + + ParameterValue + + type + rotation + tooltip + + + + + tooltip + Sets a vehicle rotation parameter.\nValid parameters can be found in the wiki documentation. + + llSetVehicleType + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Type + + type + integer + tooltip + + + + + tooltip + Activates the vehicle action on the object with vehicle preset Type.\nValid Types and an explanation of their characteristics can be found in wiki documentation. + + llSetVehicleVectorParam + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ParameterName + + type + integer + tooltip + + + + + ParameterValue + + type + vector + tooltip + + + + + tooltip + Sets a vehicle vector parameter.\nValid parameters can be found in the wiki documentation. + + llSetVelocity + + energy + 0.0 + sleep + 0.0 + return + void + arguments + + + Velocity + + type + vector + tooltip + The velocity to apply. + + + + Local + + type + integer + tooltip + If TRUE, the Velocity is treated as a local directional vector instead of a regional directional vector. + + + + tooltip + If the object is physics-enabled, sets the object's linear velocity to Velocity.\nIf Local==TRUE, Velocity is treated as a local directional vector; otherwise, Velocity is treated as a global directional vector. + + llSHA1String + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Returns a string of 40 hex characters that is the SHA1 security Hash of Text. + + llShout + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Channel + + type + integer + tooltip + + + + + Text + + type + string + tooltip + + + + + tooltip + Shouts Text on Channel.\nThis chat method has a range of 100m radius.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. + + llSin + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Theta + + type + float + tooltip + + + + + tooltip + Returns the sine of Theta (Theta in radians). + + llSitTarget + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Offset + + type + vector + tooltip + + + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Set the sit location for this object. If offset == ZERO_VECTOR, clears the sit target. + + llSleep + + energy + 0 + sleep + 0.0 + return + void + arguments + + + Time + + type + float + tooltip + + + + + tooltip + Put script to sleep for Time seconds. + + llSound + + deprecated + true + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + Queue + + type + integer + tooltip + + + + + Loop + + type + integer + tooltip + + + + + tooltip + Deprecated: Use llPlaySound instead.\nPlays Sound at Volume and specifies whether the sound should loop and/or be enqueued. + + llSoundPreload + + deprecated + true + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Sound + + type + string + tooltip + + + + + tooltip + Deprecated: Use llPreloadSound instead.\nPreloads a sound on viewers within range. + + llSqrt + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Value + + type + float + tooltip + + + + + tooltip + Returns the square root of Value.\nTriggers a math runtime error for imaginary results (if Value < 0.0). + + llStartAnimation + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Animation + + type + string + tooltip + + + + + tooltip + This function plays the specified animation from playing on the avatar who received the script's most recent permissions request.\nAnimation may be an animation in task inventory or a built-in animation.\nRequires PERMISSION_TRIGGER_ANIMATION. + + llStopAnimation + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Animation + + type + string + tooltip + + + + + tooltip + This function stops the specified animation on the avatar who received the script's most recent permissions request.\nAnimation may be an animation in task inventory, a built-in animation, or the uuid of an animation.\nRequires PERMISSION_TRIGGER_ANIMATION. + + llStopHover + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + Stop hovering to a height (due to llSetHoverHeight()). + + llStopLookAt + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + Stop causing object to point at a target (due to llLookAt() or llRotLookAt()). + + llStopMoveToTarget + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + Stops critically damped motion (due to llMoveToTarget()). + + llStopSound + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + Stops playback of the currently attached sound. + + llStringLength + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Returns an integer that is the number of characters in Text (not counting the null). + + llStringToBase64 + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Returns the string Base64 representation of the input string. + + llStringTrim + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Text + + type + string + tooltip + String to trim + + + + TrimType + + type + integer + tooltip + STRING_TRIM_HEAD, STRING_TRIM_TAIL, or STRING_TRIM. + + + + tooltip + Outputs a string, eliminating white-space from the start and/or end of the input string Text.\nValid options for TrimType:\nSTRING_TRIM_HEAD: trim all leading spaces in Text\nSTRING_TRIM_TAIL: trim all trailing spaces in Text\nSTRING_TRIM: trim all leading and trailing spaces in Text. + + llSubStringIndex + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Text + + type + string + tooltip + + + + + Sequence + + type + string + tooltip + + + + + tooltip + Returns an integer that is the index in Text where string pattern Sequence first appears. Returns -1 if not found. + + llTakeCamera + + deprecated + true + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Deprecated: Use llSetCameraParams instead. + + llTakeControls + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Controls + + type + integer + tooltip + Bit-field of CONTROL_* flags. + + + + Accept + + type + integer + tooltip + Boolean, determines whether control events are generated. + + + + PassOn + + type + integer + tooltip + Boolean, determines whether controls are disabled. + + + + tooltip + Take controls from the agent the script has permissions for.\nIf (Accept == (Controls & input)), send input to the script. PassOn determines whether Controls also perform their normal functions.\nRequires the PERMISSION_TAKE_CONTROLS permission to run. + + llTan + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Theta + + type + float + tooltip + + + + + tooltip + Returns the tangent of Theta (Theta in radians). + + llTarget + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Position + + type + vector + tooltip + + + + + Range + + type + float + tooltip + + + + + tooltip + This function is to have the script know when it has reached a position.\nIt registers a Position with a Range that triggers at_target and not_at_target events continuously until unregistered. + + llTargetOmega + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Axis + + type + vector + tooltip + + + + + SpinRate + + type + float + tooltip + + + + + Gain + + type + float + tooltip + + + + + tooltip + Attempt to spin at SpinRate with strength Gain on Axis.\nA spin rate of 0.0 cancels the spin. This function always works in object-local coordinates. + + llTargetRemove + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Target + + type + integer + tooltip + + + + + tooltip + Removes positional target Handle registered with llTarget. + + llTeleportAgent + + energy + 0 + sleep + 0 + return + void + arguments + + + AvatarID + + type + key + tooltip + UUID of avatar. + + + + LandmarkName + + type + string + tooltip + Name of landmark (in object contents), or empty string, to use. + + + + Position + + type + vector + tooltip + If no landmark was provided, the position within the current region to teleport the avatar to. + + + + LookAtPoint + + type + vector + tooltip + The position within the target region that the avatar should be turned to face upon arrival. + + + + tooltip + Requests a teleport of avatar to a landmark stored in the object's inventory. If no landmark is provided (an empty string), the avatar is teleported to the location position in the current region. In either case, the avatar is turned to face the position given by look_at in local coordinates.\nRequires the PERMISSION_TELEPORT permission. This function can only teleport the owner of the object. + + llTeleportAgentGlobalCoords + + energy + 0 + sleep + 0 + return + void + arguments + + + AvatarID + + type + key + tooltip + UUID of avatar. + + + + GlobalPosition + + type + vector + tooltip + Global coordinates of the destination region. Can be retrieved by using llRequestSimulatorData(region_name, DATA_SIM_POS). + + + + RegionPosition + + type + vector + tooltip + The position within the target region to teleport the avatar to, if no landmark was provided. + + + + LookAtPoint + + type + vector + tooltip + The position within the target region that the avatar should be turned to face upon arrival. + + + + tooltip + Teleports an agent to the RegionPosition local coordinates within a region which is specified by the GlobalPosition global coordinates. The agent lands facing the position defined by LookAtPoint local coordinates.\nRequires the PERMISSION_TELEPORT permission. This function can only teleport the owner of the object. + + llTeleportAgentHome + + energy + 100.0 + sleep + 5.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Teleport agent over the owner's land to agent's home location. + + llTextBox + + energy + 10.0 + sleep + 1.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + Text + + type + string + tooltip + + + + + Channel + + type + integer + tooltip + + + + + tooltip + Opens a dialog for the specified avatar with message Text, which contains a text box for input. Any text that is entered is said on the specified Channel (as if by the avatar) when the "OK" button is clicked. + + llToLower + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Returns a string that is Text with all lower-case characters. + + llToUpper + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Returns a string that is Text with all upper-case characters. + + llTransferLindenDollars + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + AvatarID + + type + key + tooltip + + + + + Amount + + type + integer + tooltip + + + + + tooltip + Transfer Amount of linden dollars (L$) from script owner to AvatarID. Returns a key to a corresponding transaction_result event for the success of the transfer.\nAttempts to send the amount of money to the specified avatar, and trigger a transaction_result event identified by the returned key. + + llTriggerSound + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + tooltip + Plays Sound at Volume (0.0 - 1.0), centered at but not attached to object.\nThere is no limit to the number of triggered sounds which can be generated by an object, and calling llTriggerSound does not affect the attached sounds created by llPlaySound and llLoopSound. This is very useful for things like collision noises, explosions, etc. There is no way to stop or alter the volume of a sound triggered by this function. + + llTriggerSoundLimited + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + TNE + + type + vector + tooltip + + + + + BSW + + type + vector + tooltip + + + + + tooltip + Plays Sound at Volume (0.0 - 1.0), centered at but not attached to object, limited to axis-aligned bounding box defined by vectors top-north-east (TNE) and bottom-south-west (BSW).\nThere is no limit to the number of triggered sounds which can be generated by an object, and calling llTriggerSound does not affect the attached sounds created by llPlaySound and llLoopSound. This is very useful for things like collision noises, explosions, etc. There is no way to stop or alter the volume of a sound triggered by this function. + + llUnescapeURL + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + URL + + type + string + tooltip + + + + + tooltip + Returns the string that is the URL unescaped, replacing "%20" with spaces, etc., version of URL.\nThis function can output raw UTF-8 strings. + + llUnSit + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + If agent identified by AvatarID is sitting on the object the script is attached to or is over land owned by the objects owner, the agent is forced to stand up. + + llVecDist + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Location1 + + type + vector + tooltip + + + + + Location2 + + type + vector + tooltip + + + + + tooltip + Returns the distance between Location1 and Location2. + + llVecMag + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Vector + + type + vector + tooltip + + + + + tooltip + Returns the magnitude of the vector. + + llVecNorm + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Vector + + type + vector + tooltip + + + + + tooltip + Returns normalized vector. + + llVolumeDetect + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + DetectEnabled + + type + integer + tooltip + TRUE enables, FALSE disables. + + + + tooltip + If DetectEnabled = TRUE, object becomes phantom but triggers collision_start and collision_end events when other objects start and stop interpenetrating.\nIf another object (including avatars) interpenetrates it, it will get a collision_start event.\nWhen an object stops interpenetrating, a collision_end event is generated. While the other is inter-penetrating, collision events are NOT generated. + + llWater + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Returns the water height below the object position + Offset. + + llWhisper + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Channel + + type + integer + tooltip + + + + + Text + + type + string + tooltip + + + + + tooltip + Whispers Text on Channel.\nThis chat method has a range of 10m radius.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. + + llWind + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Returns the wind velocity at the object position + Offset. + + llXorBase64 + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Text1 + + type + string + tooltip + + + + + Text2 + + type + string + tooltip + + + + + tooltip + Performs an exclusive OR on two Base64 strings and returns a Base64 string. Text2 repeats if it is shorter than Text1. + + llXorBase64Strings + + deprecated + true + energy + 10.0 + sleep + 0.3 + return + string + arguments + + + Text1 + + type + string + tooltip + + + + + Text2 + + type + string + tooltip + + + + + tooltip + Deprecated: Please use llXorBase64 instead.\nIncorrectly performs an exclusive OR on two Base64 strings and returns a Base64 string. Text2 repeats if it is shorter than Text1.\nRetained for backwards compatibility. + + llXorBase64StringsCorrect + + deprecated + true + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Text1 + + type + string + tooltip + + + + + Text2 + + type + string + tooltip + + + + + tooltip + Deprecated: Please use llXorBase64 instead.\nCorrectly (unless nulls are present) performs an exclusive OR on two Base64 strings and returns a Base64 string.\nText2 repeats if it is shorter than Text1. + + llGetMinScaleFactor + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns the smallest multiplicative uniform scale factor that can be successfully applied (via llScaleByFactor()) to the object without violating prim size or linkability rules. + + llGetMaxScaleFactor + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns the largest multiplicative uniform scale factor that can be successfully applied (via llScaleByFactor()) to the object without violating prim size or linkability rules. + + osAgentSaveAppearance + + energy + + sleep + + return + key + arguments + + + AvatarID + + type + key + tooltip + + + + + notecard + + type + string + tooltip + + + + + tooltip + Creates a notecard with the specified avatar's current appearance inside the object + + + llsd-lsl-syntax-version + 2 + + -- cgit v1.1 From 190e7433cc75b5913849c8c53bd3e49febb3714b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 19 Oct 2018 04:03:52 +0100 Subject: fix typos --- bin/ScriptSyntax.xml | 17920 ++++++++++++++++++++++++++++++++++++++++++++++++ bin/ScriptSyntaxe.xml | 17920 ------------------------------------------------ 2 files changed, 17920 insertions(+), 17920 deletions(-) create mode 100644 bin/ScriptSyntax.xml delete mode 100644 bin/ScriptSyntaxe.xml (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml new file mode 100644 index 0000000..00c819d --- /dev/null +++ b/bin/ScriptSyntax.xml @@ -0,0 +1,17920 @@ +46f4b671-a05b-4aa6-852d-1edc6db46ca5 + + + <-- controls --> + controls + + do + + tooltip + do / while loop\ndo {\n...\n} while (<condition>); + + else + + tooltip + if / else block\nif (<condition>) {\n...\n[} else [if (<condition>) {\n...]]\n} + + for + + tooltip + for loop\nfor (<initializer>; <condition>; <post-iteration-statement>)\n{ ...\n} + + if + + tooltip + if / else block\nif (<condition>) {\n...\n[} else [if (<condition>) {\n...]]\n} + + jump + + tooltip + jump statement\njump <label> + + return + + tooltip + Leave current event or function.\nreturn [<variable>];\nOptionally pass back a variable's value, from a function. + + state + + tooltip + state <target>\nIf the target state is not the same as the current one, change to the target state. + + while + + tooltip + while loop\nwhile (<condition>) {\n,,,\n} + + + <-- types --> + types + + float + + tooltip + 32 bit floating point value.\nThe range is 1.175494351E-38 to 3.402823466E+38. + + integer + + tooltip + 32 bit integer value.\n−2,147,483,648 and +2,147,483,647 (that is 0x80000000 to 0x7FFFFFFF in hex). + + key + + tooltip + A 128 bit unique identifier (UUID) + + list + + tooltip + A collection of other data types. e.g. [0, 1, 2, 3, 4] or ["Yes", "No", "Perhaps"]. + + rotation + + tooltip + The rotation is a mathematical object called a quaternion (x, y, z, w) + + string + + tooltip + Text data.\nThe editor accepts UTF-8 encoded text. + + vector + + tooltip + A vector is a data type that contains a set of three float values.\nVectors are used to represent colors (RGB), positions, and directions/velocities. + + + <-- constants --> + constants + + ACTIVE + + type + integer + value + 0x2 + tooltip + Objects in world that are running a script or currently physically moving. + + AGENT + + type + integer + value + 0x1 + tooltip + Objects in world that are agents. + + AGENT_ALWAYS_RUN + + type + integer + value + 0x1000 + tooltip + + + AGENT_ATTACHMENTS + + type + integer + value + 0x2 + tooltip + The agent has attachments. + + AGENT_AUTOPILOT + + type + integer + value + 0x2000 + tooltip + + + AGENT_AWAY + + type + integer + value + 0x40 + tooltip + + + AGENT_BUSY + + type + integer + value + 0x800 + tooltip + + + AGENT_BY_LEGACY_NAME + + type + integer + value + 0x1 + tooltip + + + AGENT_BY_USERNAME + + type + integer + value + 0x10 + tooltip + + + AGENT_CROUCHING + + type + integer + value + 0x400 + tooltip + + + AGENT_FLYING + + type + integer + value + 0x1 + tooltip + The agent is flying. + + AGENT_IN_AIR + + type + integer + value + 0x100 + tooltip + + + AGENT_LIST_PARCEL + + type + integer + value + 1 + tooltip + Agents on the same parcel where the script is running. + + AGENT_LIST_PARCEL_OWNER + + type + integer + value + 2 + tooltip + Agents on any parcel in the region where the parcel owner is the same as the owner of the parcel under the scripted object. + + AGENT_LIST_REGION + + type + integer + value + 4 + tooltip + All agents in the region. + + AGENT_LIST_EXCLUDENPC + + type + integer + value + 0x4000000 + tooltip + Exclude NPCs in the region. + + AGENT_MALE + + type + integer + value + 0x40000000 + tooltip + + + AGENT_MOUSELOOK + + type + integer + value + 0x8 + tooltip + + + AGENT_ON_OBJECT + + type + integer + value + 0x20 + tooltip + + + AGENT_SCRIPTED + + type + integer + value + 0x4 + tooltip + The agent has scripted attachments. + + AGENT_SITTING + + type + integer + value + 0x10 + tooltip + + + AGENT_TYPING + + type + integer + value + 0x200 + tooltip + + + AGENT_WALKING + + type + integer + value + 0x80 + tooltip + + + ALL_SIDES + + type + integer + value + -1 + tooltip + + + ANIM_ON + + type + integer + value + 0x1 + tooltip + Texture animation is on. + + ATTACH_AVATAR_CENTER + + type + integer + value + 40 + tooltip + Attach to the avatar's geometric centre. + + ATTACH_BACK + + type + integer + value + 9 + tooltip + Attach to the avatar's back. + + ATTACH_BELLY + + type + integer + value + 28 + tooltip + Attach to the avatar's belly. + + ATTACH_CHEST + + type + integer + value + 1 + tooltip + Attach to the avatar's chest. + + ATTACH_CHIN + + type + integer + value + 12 + tooltip + Attach to the avatar's chin. + + ATTACH_HEAD + + type + integer + value + 2 + tooltip + Attach to the avatar's head. + + ATTACH_HUD_BOTTOM + + type + integer + value + 37 + tooltip + + + ATTACH_HUD_BOTTOM_LEFT + + type + integer + value + 36 + tooltip + + + ATTACH_HUD_BOTTOM_RIGHT + + type + integer + value + 38 + tooltip + + + ATTACH_HUD_CENTER_1 + + type + integer + value + 35 + tooltip + + + ATTACH_HUD_CENTER_2 + + type + integer + value + 31 + tooltip + + + ATTACH_HUD_TOP_CENTER + + type + integer + value + 33 + tooltip + + + ATTACH_HUD_TOP_LEFT + + type + integer + value + 34 + tooltip + + + ATTACH_HUD_TOP_RIGHT + + type + integer + value + 32 + tooltip + + + ATTACH_LEAR + + type + integer + value + 13 + tooltip + Attach to the avatar's left ear. + + ATTACH_LEFT_PEC + + type + integer + value + 29 + tooltip + Attach to the avatar's left pectoral. + + ATTACH_LEYE + + type + integer + value + 15 + tooltip + Attach to the avatar's left eye. + + ATTACH_LFOOT + + type + integer + value + 7 + tooltip + Attach to the avatar's left foot. + + ATTACH_LHAND + + type + integer + value + 5 + tooltip + Attach to the avatar's left hand. + + ATTACH_LHIP + + type + integer + value + 25 + tooltip + Attach to the avatar's left hip. + + ATTACH_LLARM + + type + integer + value + 21 + tooltip + Attach to the avatar's left lower arm. + + ATTACH_LLLEG + + type + integer + value + 27 + tooltip + Attach to the avatar's lower left leg. + + ATTACH_LPEC + + deprecated + true + type + integer + value + 30 + tooltip + Attach to the avatar's right pectoral. (Deprecated, use ATTACH_RIGHT_PEC) + + ATTACH_LSHOULDER + + type + integer + value + 3 + tooltip + Attach to the avatar's left shoulder. + + ATTACH_LUARM + + type + integer + value + 20 + tooltip + Attach to the avatar's left upper arm. + + ATTACH_LULEG + + type + integer + value + 26 + tooltip + Attach to the avatar's lower upper leg. + + ATTACH_MOUTH + + type + integer + value + 11 + tooltip + Attach to the avatar's mouth. + + ATTACH_NECK + + type + integer + value + 39 + tooltip + Attach to the avatar's neck. + + ATTACH_NOSE + + type + integer + value + 17 + tooltip + Attach to the avatar's nose. + + ATTACH_PELVIS + + type + integer + value + 10 + tooltip + Attach to the avatar's pelvis. + + ATTACH_REAR + + type + integer + value + 14 + tooltip + Attach to the avatar's right ear. + + ATTACH_REYE + + type + integer + value + 16 + tooltip + Attach to the avatar's right eye. + + ATTACH_RFOOT + + type + integer + value + 8 + tooltip + Attach to the avatar's right foot. + + ATTACH_RHAND + + type + integer + value + 6 + tooltip + Attach to the avatar's right hand. + + ATTACH_RHIP + + type + integer + value + 22 + tooltip + Attach to the avatar's right hip. + + ATTACH_RIGHT_PEC + + type + integer + value + 30 + tooltip + Attach to the avatar's right pectoral. + + ATTACH_RLARM + + type + integer + value + 19 + tooltip + Attach to the avatar's right lower arm. + + ATTACH_RLLEG + + type + integer + value + 24 + tooltip + Attach to the avatar's right lower leg. + + ATTACH_RPEC + + deprecated + true + type + integer + value + 29 + tooltip + Attach to the avatar's left pectoral. (deprecated, use ATTACH_LEFT_PEC) + + ATTACH_RSHOULDER + + type + integer + value + 4 + tooltip + Attach to the avatar's right shoulder. + + ATTACH_RUARM + + type + integer + value + 18 + tooltip + Attach to the avatar's right upper arm. + + ATTACH_RULEG + + type + integer + value + 23 + tooltip + Attach to the avatar's right upper leg. + + ATTACH_LHAND_RING1 + + type + integer + value + 41 + tooltip + Attach to the avatar's left ring finger. + + ATTACH_RHAND_RING1 + + type + integer + value + 42 + tooltip + Attach to the avatar's right ring finger. + + ATTACH_TAIL_BASE + + type + integer + value + 43 + tooltip + Attach to the avatar's tail base. + + ATTACH_TAIL_TIP + + type + integer + value + 44 + tooltip + Attach to the avatar's tail tip. + + ATTACH_LWING + + type + integer + value + 45 + tooltip + Attach to the avatar's left wing. + + ATTACH_RWING + + type + integer + value + 46 + tooltip + Attach to the avatar's right wing. + + ATTACH_FACE_JAW + + type + integer + value + 47 + tooltip + Attach to the avatar's jaw. + + ATTACH_FACE_LEAR + + type + integer + value + 48 + tooltip + Attach to the avatar's left ear (extended). + + ATTACH_FACE_REAR + + type + integer + value + 49 + tooltip + Attach to the avatar's right ear (extended). + + ATTACH_FACE_LEYE + + type + integer + value + 50 + tooltip + Attach to the avatar's left eye (extended). + + ATTACH_FACE_REYE + + type + integer + value + 51 + tooltip + Attach to the avatar's right eye (extended). + + ATTACH_FACE_TONGUE + + type + integer + value + 52 + tooltip + Attach to the avatar's tongue. + + ATTACH_GROIN + + type + integer + value + 53 + tooltip + Attach to the avatar's groin. + + ATTACH_HIND_LFOOT + + type + integer + value + 54 + tooltip + Attach to the avatar's left hind foot. + + ATTACH_HIND_RFOOT + + type + integer + value + 55 + tooltip + Attach to the avatar's right hind foot. + + CAMERA_ACTIVE + + type + integer + value + 12 + tooltip + + + CAMERA_BEHINDNESS_ANGLE + + type + integer + value + 8 + tooltip + + + CAMERA_BEHINDNESS_LAG + + type + integer + value + 9 + tooltip + + + CAMERA_DISTANCE + + type + integer + value + 7 + tooltip + + + CAMERA_FOCUS + + type + integer + value + 17 + tooltip + + + CAMERA_FOCUS_X + + type + integer + value + 18 + tooltip + + + CAMERA_FOCUS_Y + + type + integer + value + 19 + tooltip + + + CAMERA_FOCUS_Z + + type + integer + value + 19 + tooltip + + + CAMERA_FOCUS_LAG + + type + integer + value + 6 + tooltip + + + CAMERA_FOCUS_LOCKED + + type + integer + value + 22 + tooltip + + + CAMERA_FOCUS_OFFSET + + type + integer + value + 1 + tooltip + + + CAMERA_FOCUS_OFFSET_X + + type + integer + value + 2 + tooltip + + + CAMERA_FOCUS_OFFSET_Y + + type + integer + value + 3 + tooltip + + + CAMERA_FOCUS_OFFSET_Z + + type + integer + value + 4 + tooltip + + + CAMERA_FOCUS_THRESHOLD + + type + integer + value + 11 + tooltip + + + CAMERA_PITCH + + type + integer + value + 0 + tooltip + + + CAMERA_POSITION + + type + integer + value + 13 + tooltip + + + CAMERA_POSITION_X + + type + integer + value + 14 + tooltip + + + CAMERA_POSITION_Y + + type + integer + value + 15 + tooltip + + + CAMERA_POSITION_Z + + type + integer + value + 16 + tooltip + + + CAMERA_POSITION_LAG + + type + integer + value + 5 + tooltip + + + CAMERA_POSITION_LOCKED + + type + integer + value + 21 + tooltip + + + CAMERA_POSITION_THRESHOLD + + type + integer + value + 10 + tooltip + + + CHANGED_ALLOWED_DROP + + type + integer + value + 0x40 + tooltip + The object inventory has changed because an item was added through the llAllowInventoryDrop interface. + + CHANGED_ANIMATION + + type + integer + value + 0x4000 + tooltip + The set of animations playing on the avatar to whom this object is attached has been changed. + + CHANGED_COLOR + + type + integer + value + 0x2 + tooltip + The object color has changed. + + CHANGED_INVENTORY + + type + integer + value + 0x1 + tooltip + The object inventory has changed. + + CHANGED_LINK + + type + integer + value + 0x20 + tooltip + The object has linked or its links were broken. + + CHANGED_MEDIA + + type + integer + value + 0x800 + tooltip + + + CHANGED_OWNER + + type + integer + value + 0x80 + tooltip + + + CHANGED_REGION + + type + integer + value + 0x100 + tooltip + + + CHANGED_REGION_START + + type + integer + value + 0x400 + tooltip + Parameter of changed event handler used to indicate the region has been restarted same as CHANGED_REGION_RESTART. + + CHANGED_REGION_RESTART + + type + integer + value + 0x400 + tooltip + Parameter of changed event handler used to indicate the region has been restarted same as CHANGED_REGION_START. + + CHANGED_SCALE + + type + integer + value + 0x8 + tooltip + The object scale (size) has changed. + + CHANGED_SHAPE + + type + integer + value + 0x4 + tooltip + The object base shape has changed, e.g., a box to a cylinder. + + CHANGED_TELEPORT + + type + integer + value + 0x200 + tooltip + + + CHANGED_TEXTURE + + type + integer + value + 0x10 + tooltip + The texture offset, scale rotation, or simply the object texture has changed. + + CLICK_ACTION_BUY + + type + integer + value + 2 + tooltip + When the prim is clicked, the buy dialog is opened. + + CLICK_ACTION_NONE + + type + integer + value + 0 + tooltip + Performs the default action: when the prim is clicked, touch events are triggered. + + CLICK_ACTION_OPEN + + type + integer + value + 4 + tooltip + When the prim is clicked, the object inventory dialog is opened. + + CLICK_ACTION_OPEN_MEDIA + + type + integer + value + 6 + tooltip + When the prim is touched, the web media dialog is opened. + + CLICK_ACTION_PAY + + type + integer + value + 3 + tooltip + When the prim is clicked, the pay dialog is opened. + + CLICK_ACTION_PLAY + + type + integer + value + 5 + tooltip + When the prim is clicked, html-on-a-prim is enabled? + + CLICK_ACTION_SIT + + type + integer + value + 1 + tooltip + When the prim is clicked, the avatar sits upon it. + + CLICK_ACTION_TOUCH + + type + integer + value + 0 + tooltip + When the prim is clicked, touch events are triggered. + + CONTENT_TYPE_ATOM + + type + integer + value + 4 + tooltip + "application/atom+xml" + + CONTENT_TYPE_FORM + + type + integer + value + 7 + tooltip + "application/x-www-form-urlencoded" + + CONTENT_TYPE_HTML + + type + integer + value + 1 + tooltip + "text/html", only valid for embedded browsers on content owned by the person viewing. Falls back to "text/plain" otherwise. + + CONTENT_TYPE_JSON + + type + integer + value + 5 + tooltip + "application/json" + + CONTENT_TYPE_LLSD + + type + integer + value + 6 + tooltip + "application/llsd+xml" + + CONTENT_TYPE_RSS + + type + integer + value + 8 + tooltip + "application/rss+xml" + + CONTENT_TYPE_TEXT + + type + integer + value + 0 + tooltip + "text/plain" + + CONTENT_TYPE_XHTML + + type + integer + value + 3 + tooltip + "application/xhtml+xml" + + CONTENT_TYPE_XML + + type + integer + value + 2 + tooltip + "application/xml" + + CONTROL_BACK + + type + integer + value + 0x2 + tooltip + Test for the avatar move back control. + + CONTROL_DOWN + + type + integer + value + 0x20 + tooltip + Test for the avatar move down control. + + CONTROL_FWD + + type + integer + value + 0x1 + tooltip + Test for the avatar move forward control. + + CONTROL_LBUTTON + + type + integer + value + 0x10000000 + tooltip + Test for the avatar left button control. + + CONTROL_LEFT + + type + integer + value + 0x4 + tooltip + Test for the avatar move left control. + + CONTROL_ML_LBUTTON + + type + integer + value + 0x40000000 + tooltip + Test for the avatar left button control while in mouse look. + + CONTROL_RIGHT + + type + integer + value + 0x8 + tooltip + Test for the avatar move right control. + + CONTROL_ROT_LEFT + + type + integer + value + 0x100 + tooltip + Test for the avatar rotate left control. + + CONTROL_ROT_RIGHT + + type + integer + value + 0x200 + tooltip + Test for the avatar rotate right control. + + CONTROL_UP + + type + integer + value + 0x10 + tooltip + Test for the avatar move up control. + + DATA_BORN + + type + integer + value + 3 + tooltip + The date the agent was born, returned in ISO 8601 format of YYYY-MM-DD. + + DATA_NAME + + type + integer + value + 2 + tooltip + The name of the agent. + + DATA_ONLINE + + type + integer + value + 1 + tooltip + TRUE for online, FALSE for offline. + + DATA_PAYINFO + + type + integer + value + 8 + tooltip + + + DATA_SIM_POS + + type + integer + value + 5 + tooltip + + + DATA_SIM_RATING + + type + integer + value + 7 + tooltip + + + DATA_SIM_STATUS + + type + integer + value + 6 + tooltip + + + DEBUG_CHANNEL + + type + integer + value + 2147483647 + tooltip + DEBUG_CHANNEL is an integer constant that, when passed to llSay, llWhisper, or llShout as a channel parameter, will print text to the Script Warning/Error Window. + + DEG_TO_RAD + + type + float + value + 0.017453293 + tooltip + 0.017453293 - Number of radians per degree. + You can use this to convert degrees to radians by multiplying the degrees by this number. + + DENSITY + + type + integer + value + 1 + tooltip + Used with llSetPhysicsMaterial to enable the density value. Must be between 1.0 and 22587.0 (in Kg/m^3 -- see if you can figure out what 22587 represents) + + EOF + + type + string + value + \\n\\n\\n + tooltip + Indicates the last line of a notecard was read. + + ERR_GENERIC + + type + integer + value + -1 + tooltip + + + ERR_MALFORMED_PARAMS + + type + integer + value + -3 + tooltip + + + ERR_PARCEL_PERMISSIONS + + type + integer + value + -2 + tooltip + + + ERR_RUNTIME_PERMISSIONS + + type + integer + value + -4 + tooltip + + + ERR_THROTTLED + + type + integer + value + -5 + tooltip + + + ESTATE_ACCESS_ALLOWED_AGENT_ADD + + type + integer + value + 4 + tooltip + Add the agent to this estate's Allowed Residents list. + + ESTATE_ACCESS_ALLOWED_AGENT_REMOVE + + type + integer + value + 8 + tooltip + Remove the agent from this estate's Allowed Residents list. + + ESTATE_ACCESS_ALLOWED_GROUP_ADD + + type + integer + value + 16 + tooltip + Add the group to this estate's Allowed groups list. + + ESTATE_ACCESS_ALLOWED_GROUP_REMOVE + + type + integer + value + 32 + tooltip + Remove the group from this estate's Allowed groups list. + + ESTATE_ACCESS_BANNED_AGENT_ADD + + type + integer + value + 64 + tooltip + Add the agent to this estate's Banned residents list. + + ESTATE_ACCESS_BANNED_AGENT_REMOVE + + type + integer + value + 128 + tooltip + Remove the agent from this estate's Banned residents list. + + FALSE + + type + integer + value + 0 + tooltip + An integer constant for boolean comparisons. Has the value '0'. + + FRICTION + + type + integer + value + 2 + tooltip + Used with llSetPhysicsMaterial to enable the friction value. Must be between 0.0 and 255.0 + + GRAVITY_MULTIPLIER + + type + integer + value + 8 + tooltip + Used with llSetPhysicsMaterial to enable the gravity multiplier value. Must be between -1.0 and +28.0 + + HORIZONTAL + + type + integer + value + 1 + tooltip + + + HTTP_BODY_MAXLENGTH + + type + integer + value + 2 + tooltip + + + HTTP_BODY_TRUNCATED + + type + integer + value + 0 + tooltip + + + HTTP_CUSTOM_HEADER + + type + integer + value + 5 + tooltip + Add an extra custom HTTP header to the request. The first string is the name of the parameter to change, e.g. "Pragma", and the second string is the value, e.g. "no-cache". Up to 8 custom headers may be configured per request. Note that certain headers, such as the default headers, are blocked for security reasons. + + HTTP_METHOD + + type + integer + value + 0 + tooltip + + + HTTP_MIMETYPE + + type + integer + value + 1 + tooltip + + + HTTP_PRAGMA_NO_CACHE + + type + integer + value + 6 + tooltip + Allows enabling/disbling of the "Pragma: no-cache" header.\nUsage: [HTTP_PRAGMA_NO_CACHE, integer SendHeader]. When SendHeader is TRUE, the "Pragma: no-cache" header is sent by the script. This matches the default behavior. When SendHeader is FALSE, no "Pragma" header is sent by the script. + + HTTP_VERBOSE_THROTTLE + + type + integer + value + 4 + tooltip + + + HTTP_VERIFY_CERT + + type + integer + value + 3 + tooltip + + + INVENTORY_ALL + + type + integer + value + -1 + tooltip + + + INVENTORY_ANIMATION + + type + integer + value + 20 + tooltip + + + INVENTORY_BODYPART + + type + integer + value + 13 + tooltip + + + INVENTORY_CLOTHING + + type + integer + value + 5 + tooltip + + + INVENTORY_GESTURE + + type + integer + value + 21 + tooltip + + + INVENTORY_LANDMARK + + type + integer + value + 3 + tooltip + + + INVENTORY_NONE + + type + integer + value + -1 + tooltip + + + INVENTORY_NOTECARD + + type + integer + value + 7 + tooltip + + + INVENTORY_OBJECT + + type + integer + value + 6 + tooltip + + + INVENTORY_SCRIPT + + type + integer + value + 10 + tooltip + + + INVENTORY_SOUND + + type + integer + value + 1 + tooltip + + + INVENTORY_TEXTURE + + type + integer + value + 0 + tooltip + + + JSON_APPEND + + type + integer + value + -1 + tooltip + + + JSON_ARRAY + + type + string + value + U+FDD2 + tooltip + + + JSON_DELETE + + type + string + value + U+FDD8 + tooltip + + + JSON_FALSE + + type + string + value + U+FDD7 + tooltip + + + JSON_INVALID + + type + string + value + U+FDD0 + tooltip + + + JSON_NULL + + type + string + value + U+FDD5 + tooltip + + + JSON_NUMBER + + type + string + value + U+FDD3 + tooltip + + + JSON_OBJECT + + type + string + value + U+FDD1 + tooltip + + + JSON_STRING + + type + string + value + U+FDD4 + tooltip + + + JSON_TRUE + + type + string + value + U+FDD6 + tooltip + + + KFM_CMD_PAUSE + + type + integer + value + 2 + tooltip + For use with KFM_COMMAND. + + KFM_CMD_PLAY + + type + integer + value + 0 + tooltip + For use with KFM_COMMAND. + + KFM_CMD_STOP + + type + integer + value + 1 + tooltip + For use with KFM_COMMAND. + + KFM_COMMAND + + type + integer + value + 0 + tooltip + + + KFM_DATA + + type + integer + value + 2 + tooltip + + + KFM_FORWARD + + type + integer + value + 0 + tooltip + For use with KFM_MODE. + + KFM_LOOP + + type + integer + value + 1 + tooltip + For use with KFM_MODE. + + KFM_MODE + + type + integer + value + 1 + tooltip + + + KFM_PING_PONG + + type + integer + value + 2 + tooltip + For use with KFM_MODE. + + KFM_REVERSE + + type + integer + value + 3 + tooltip + For use with KFM_MODE. + + KFM_ROTATION + + type + integer + value + 1 + tooltip + For use with KFM_DATA. + + KFM_TRANSLATION + + type + integer + value + 2 + tooltip + For use with KFM_DATA. + + LAND_LARGE_BRUSH + + type + integer + value + 3 + tooltip + Use a large brush size.\nNOTE: This value is incorrect, a large brush should be 2. + + LAND_LEVEL + + type + integer + value + 0 + tooltip + Action to level the land. + + LAND_LOWER + + type + integer + value + 2 + tooltip + Action to lower the land. + + LAND_MEDIUM_BRUSH + + type + integer + value + 2 + tooltip + Use a medium brush size.\nNOTE: This value is incorrect, a medium brush should be 1. + + LAND_NOISE + + type + integer + value + 4 + tooltip + + + LAND_RAISE + + type + integer + value + 1 + tooltip + Action to raise the land. + + LAND_REVERT + + type + integer + value + 5 + tooltip + + + LAND_SMALL_BRUSH + + type + integer + value + 1 + tooltip + Use a small brush size.\nNOTE: This value is incorrect, a small brush should be 0. + + LAND_SMOOTH + + type + integer + value + 3 + tooltip + + + LINK_ALL_CHILDREN + + type + integer + value + -3 + tooltip + This targets every object except the root in the linked set. + + LINK_ALL_OTHERS + + type + integer + value + -2 + tooltip + This targets every object in the linked set except the object with the script. + + LINK_ROOT + + type + integer + value + 1 + tooltip + This targets the root of the linked set. + + LINK_SET + + type + integer + value + -1 + tooltip + This targets every object in the linked set. + + LINK_THIS + + type + integer + value + -4 + tooltip + The link number of the prim containing the script. + + LIST_STAT_GEOMETRIC_MEAN + + type + integer + value + 9 + tooltip + Returns the geometric mean of a list of numbers + + LIST_STAT_HARMONIC_MEAN + + type + integer + value + 100 + tooltip + Returns the harmonic mean of a list of numbers + + LIST_STAT_MAX + + type + integer + value + 2 + tooltip + + + LIST_STAT_MEAN + + type + integer + value + 3 + tooltip + + + LIST_STAT_MEDIAN + + type + integer + value + 4 + tooltip + + + LIST_STAT_MIN + + type + integer + value + 1 + tooltip + + + LIST_STAT_NUM_COUNT + + type + integer + value + 8 + tooltip + + + LIST_STAT_RANGE + + type + integer + value + 0 + tooltip + + + LIST_STAT_STD_DEV + + type + integer + value + 5 + tooltip + + + LIST_STAT_SUM + + type + integer + value + 6 + tooltip + + + LIST_STAT_SUM_SQUARES + + type + integer + value + 7 + tooltip + + + LOOP + + type + integer + value + 0x2 + tooltip + Loop the texture animation. + + MASK_BASE + + type + integer + value + 0 + tooltip + + + MASK_EVERYONE + + type + integer + value + 3 + tooltip + + + MASK_GROUP + + type + integer + value + 2 + tooltip + + + MASK_NEXT + + type + integer + value + 4 + tooltip + + + MASK_OWNER + + type + integer + value + 1 + tooltip + + + NPC + + type + integer + value + 0x20 + tooltip + + + NULL_KEY + + type + string + value + 00000000-0000-0000-0000-000000000000 + tooltip + + + OBJECT_ATTACHED_POINT + + type + integer + value + 19 + tooltip + Gets the attachment point to which the object is attached.\nReturns 0 if the object is not an attachment (or is an avatar, etc). + + OBJECT_BODY_SHAPE_TYPE + + type + integer + value + 26 + tooltip + This is a flag used with llGetObjectDetails to get the body type of the avatar, based on shape data.\nIf no data is available, -1.0 is returned.\nThis is normally between 0 and 1.0, with 0.5 and larger considered 'male' + + OBJECT_CLICK_ACTION + + type + integer + value + 28 + tooltip + This is a flag used with llGetObjectDetails to get the click action.\nThe default is 0 + + OBJECT_CREATOR + + type + integer + value + 8 + tooltip + Gets the object's creator key. If id is an avatar, a NULL_KEY is returned. + + OBJECT_DESC + + type + integer + value + 2 + tooltip + Gets the object's description. If id is an avatar, an empty string is returned. + + OBJECT_GROUP + + type + integer + value + 7 + tooltip + Gets the prims's group key. If id is an avatar, a NULL_KEY is returned. + + OBJECT_HOVER_HEIGHT + + type + integer + value + 25 + tooltip + This is a flag used with llGetObjectDetails to get hover height of the avatar\nIf no data is available, 0.0 is returned. + + OBJECT_LAST_OWNER_ID + + type + integer + value + 27 + tooltip + Gets the object's last owner ID. + + OBJECT_NAME + + type + integer + value + 1 + tooltip + Gets the object's name. + + OBJECT_OMEGA + + type + integer + value + 29 + tooltip + Gets an object's angular velocity. + + OBJECT_OWNER + + type + integer + value + 6 + tooltip + Gets an object's owner's key. If id is group owned, a NULL_KEY is returned. + + OBJECT_PRIM_COUNT + + type + integer + value + 30 + tooltip + Gets the prim count of the object. The script and target object must be owned by the same owner + + OBJECT_PHANTOM + + type + integer + value + 22 + tooltip + Returns boolean, detailing if phantom is enabled or disabled on the object.\nIf id is an avatar or attachment, 0 is returned. + + OBJECT_PHYSICS + + type + integer + value + 21 + tooltip + Returns boolean, detailing if physics is enabled or disabled on the object.\nIf id is an avatar or attachment, 0 is returned. + + OBJECT_PHYSICS_COST + + type + integer + value + 16 + tooltip + + + OBJECT_POS + + type + integer + value + 3 + tooltip + Gets the object's position in region coordinates. + + OBJECT_PRIM_EQUIVALENCE + + type + integer + value + 13 + tooltip + + + OBJECT_RENDER_WEIGHT + + type + integer + value + 24 + tooltip + This is a flag used with llGetObjectDetails to get the Avatar_Rendering_Cost of an avatar, based on values reported by nearby viewers.\nIf no data is available, -1 is returned.\nThe maximum render weight stored by the simulator is 500000. When called against an object, 0 is returned. + + OBJECT_RETURN_PARCEL + + type + integer + value + 1 + tooltip + + + OBJECT_RETURN_PARCEL_OWNER + + type + integer + value + 2 + tooltip + + + OBJECT_RETURN_REGION + + type + integer + value + 4 + tooltip + + + OBJECT_REZZER_KEY + + type + integer + value + 32 + tooltip + + + OBJECT_ROOT + + type + integer + value + 18 + tooltip + Gets the id of the root prim of the object requested.\nIf id is an avatar, return the id of the root prim of the linkset the avatar is sitting on (or the avatar's own id if the avatar is not sitting on an object within the region). + + OBJECT_ROT + + type + integer + value + 4 + tooltip + Gets the object's rotation. + + OBJECT_RUNNING_SCRIPT_COUNT + + type + integer + value + 9 + tooltip + + + OBJECT_SCRIPT_MEMORY + + type + integer + value + 11 + tooltip + + + OBJECT_SCRIPT_TIME + + type + integer + value + 12 + tooltip + + + OBJECT_SERVER_COST + + type + integer + value + 14 + tooltip + + + OBJECT_STREAMING_COST + + type + integer + value + 15 + tooltip + + + OBJECT_TEMP_ON_REZ + + type + integer + value + 23 + tooltip + Returns boolean, detailing if temporary is enabled or disabled on the object. + + OBJECT_TOTAL_INVENTORY_COUNT + + type + integer + value + 31 + tooltip + Gets the total inventory count of the object. The script and target object must be owned by the same owner + + OBJECT_TOTAL_SCRIPT_COUNT + + type + integer + value + 10 + tooltip + + + OBJECT_UNKNOWN_DETAIL + + type + integer + value + -1 + tooltip + + + OBJECT_VELOCITY + + type + integer + value + 5 + tooltip + Gets the object's velocity. + + OS_ATTACH_MSG_ALL + + type + integer + value + -65535 + tooltip + Send the message to attachments on every point. + + OS_ATTACH_MSG_INVERT_POINTS + + type + integer + value + 1 + tooltip + Invert how the attachment points list should be treated. + + OS_ATTACH_MSG_OBJECT_CREATOR + + type + integer + value + 2 + tooltip + Send only to those have the same CreatorID with host object CreatorID. + + OS_LISTEN_REGEX_NAME + + type + integer + value + 0x1 + tooltip + Process name parameter as regex + + OS_LISTEN_REGEX_MESSAGE + + type + integer + value + 0x2 + tooltip + Process message parameter as regex + + OS_ATTACH_MSG_SCRIPT_CREATOR + + type + integer + value + 4 + tooltip + Send only to those have the same CreatorID with sender script CreatorID. + + OS_NPC + + type + integer + value + 0x20 + tooltip + Same as NPC + + OS_NPC_FLY + + type + integer + value + 0 + tooltip + + + OS_NPC_NO_FLY + + type + integer + value + 1 + tooltip + + + OS_NPC_LAND_AT_TARGET + + type + integer + value + 2 + tooltip + + + OS_NPC_SIT_NOW + + type + integer + value + 0 + tooltip + + + OS_NPC_CREATOR_OWNED + + type + integer + value + 0x1 + tooltip + + + OS_NPC_NOT_OWNED + + type + integer + value + 0x2 + tooltip + + + OS_NPC_SENSE_AS_AGENT + + type + integer + value + 0x4 + tooltip + + + OS_NPC_OBJECT_GROUP + + type + integer + value + 0x8 + tooltip + + + OS_NPC_RUNNING + + type + integer + value + 4 + tooltip + + + OSTPOBJ_NONE + + type + integer + value + 0x0 + tooltip + osTeleportObject flag + + OSTPOBJ_STOPATTARRGET + + type + integer + value + 0x1 + tooltip + osTeleportObject flag: object is stopped at destination + + OSTPOBJ_STOPONFAIL + + type + integer + value + 0x2 + tooltip + osTeleportObject flag: object stops at start point if tp fails + + OSTPOBJ_SETROT + + type + integer + value + 0x2 + tooltip + osTeleportObject flag: the rotation is the final object rotation, otherwise is a added rotation + + PARCEL_COUNT_GROUP + + type + integer + value + 2 + tooltip + + + PARCEL_COUNT_OTHER + + type + integer + value + 3 + tooltip + + + PARCEL_COUNT_OWNER + + type + integer + value + 1 + tooltip + + + PARCEL_COUNT_SELECTED + + type + integer + value + 4 + tooltip + + + PARCEL_COUNT_TEMP + + type + integer + value + 5 + tooltip + + + PARCEL_COUNT_TOTAL + + type + integer + value + 0 + tooltip + + + PARCEL_DETAILS_AREA + + type + integer + value + 4 + tooltip + The parcel's area, in square meters. (5 chars.). + + PARCEL_DETAILS_CLAIMDATE + + type + integer + value + 10 + tooltip + Set parcel claim date. + + PARCEL_DETAILS_DESC + + type + integer + value + 1 + tooltip + The description of the parcel. (127 chars). + + PARCEL_DETAILS_GROUP + + type + integer + value + 3 + tooltip + The parcel group's key. (36 chars.). + + PARCEL_DETAILS_ID + + type + integer + value + 5 + tooltip + The parcel's key. (36 chars.). + + PARCEL_DETAILS_NAME + + type + integer + value + 0 + tooltip + The name of the parcel. (63 chars.). + + PARCEL_DETAILS_OWNER + + type + integer + value + 2 + tooltip + The parcel owner's key. (36 chars.). + + PARCEL_DETAILS_SEE_AVATARS + + type + integer + value + 6 + tooltip + The parcel's avatar visibility setting. (1 char.). + + PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY + + type + integer + value + 0x08000000 + tooltip + + + PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS + + type + integer + value + 0x4000000 + tooltip + + + PARCEL_FLAG_ALLOW_CREATE_OBJECTS + + type + integer + value + 0x40 + tooltip + + + PARCEL_FLAG_ALLOW_DAMAGE + + type + integer + value + 0x20 + tooltip + + + PARCEL_FLAG_ALLOW_FLY + + type + integer + value + 0x1 + tooltip + + + PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY + + type + integer + value + 0x10000000 + tooltip + + + PARCEL_FLAG_ALLOW_GROUP_SCRIPTS + + type + integer + value + 0x2000000 + tooltip + + + PARCEL_FLAG_ALLOW_LANDMARK + + type + integer + value + 0x8 + tooltip + + + PARCEL_FLAG_ALLOW_SCRIPTS + + type + integer + value + 0x2 + tooltip + + + PARCEL_FLAG_ALLOW_TERRAFORM + + type + integer + value + 0x10 + tooltip + + + PARCEL_FLAG_LOCAL_SOUND_ONLY + + type + integer + value + 0x8000 + tooltip + + + PARCEL_FLAG_RESTRICT_PUSHOBJECT + + type + integer + value + 0x200000 + tooltip + + + PARCEL_FLAG_USE_ACCESS_GROUP + + type + integer + value + 0x100 + tooltip + + + PARCEL_FLAG_USE_ACCESS_LIST + + type + integer + value + 0x200 + tooltip + + + PARCEL_FLAG_USE_BAN_LIST + + type + integer + value + 0x400 + tooltip + + + PARCEL_FLAG_USE_LAND_PASS_LIST + + type + integer + value + 0x800 + tooltip + + + PARCEL_MEDIA_COMMAND_AGENT + + type + integer + value + 7 + tooltip + + + PARCEL_MEDIA_COMMAND_AUTO_ALIGN + + type + integer + value + 9 + tooltip + + + PARCEL_MEDIA_COMMAND_DESC + + type + integer + value + 12 + tooltip + Use this to get or set the parcel media description. + + PARCEL_MEDIA_COMMAND_LOOP + + type + integer + value + 3 + tooltip + + + PARCEL_MEDIA_COMMAND_LOOP_SET + + type + integer + value + 13 + tooltip + Used to get or set the parcel's media looping variable. + + PARCEL_MEDIA_COMMAND_PAUSE + + type + integer + value + 1 + tooltip + + + PARCEL_MEDIA_COMMAND_PLAY + + type + integer + value + 2 + tooltip + + + PARCEL_MEDIA_COMMAND_SIZE + + type + integer + value + 11 + tooltip + Use this to get or set the parcel media pixel resolution. + + PARCEL_MEDIA_COMMAND_STOP + + type + integer + value + 0 + tooltip + + + PARCEL_MEDIA_COMMAND_TEXTURE + + type + integer + value + 4 + tooltip + + + PARCEL_MEDIA_COMMAND_TIME + + type + integer + value + 6 + tooltip + + + PARCEL_MEDIA_COMMAND_TYPE + + type + integer + value + 10 + tooltip + Use this to get or set the parcel media MIME type (e.g. "text/html"). + + PARCEL_MEDIA_COMMAND_UNLOAD + + type + integer + value + 8 + tooltip + + + PARCEL_MEDIA_COMMAND_URL + + type + integer + value + 5 + tooltip + + + PASS_ALWAYS + + type + integer + value + 1 + tooltip + Always pass the event. + + PASS_NEVER + + type + integer + value + 2 + tooltip + Always pass the event. + + PASS_IF_NOT_HANDLED + + type + integer + value + 0 + tooltip + Pass the event if there is no script handling the event in the prim. + + PASSIVE + + type + integer + value + 0x4 + tooltip + Static in-world objects. + + PATROL_PAUSE_AT_WAYPOINTS + + type + integer + value + 0 + tooltip + + + PAY_DEFAULT + + type + integer + value + -2 + tooltip + + + PAY_HIDE + + type + integer + value + -1 + tooltip + + + PAYMENT_INFO_ON_FILE + + type + integer + value + 1 + tooltip + + + PAYMENT_INFO_USED + + type + integer + value + 2 + tooltip + + + PERM_ALL + + type + integer + value + 0x7FFFFFFF + tooltip + + + PERM_COPY + + type + integer + value + 0x8000 + tooltip + + + PERM_MODIFY + + type + integer + value + 0x4000 + tooltip + + + PERM_MOVE + + type + integer + value + 0x80000 + tooltip + + + PERM_TRANSFER + + type + integer + value + 0x2000 + tooltip + + + PERMISSION_ATTACH + + type + integer + value + 0x20 + tooltip + If this permission is enabled, the object can successfully call llAttachToAvatar to attach to the given avatar. + + PERMISSION_CHANGE_LINKS + + type + integer + value + 0x80 + tooltip + If this permission is enabled, the object can successfully call llCreateLink, llBreakLink, and llBreakAllLinks to change links to other objects. + + PERMISSION_CHANGE_PERMISSIONS + + type + integer + value + 0x200 + tooltip + (not yet implemented) + + PERMISSION_CONTROL_CAMERA + + type + integer + value + 0x800 + tooltip + + + PERMISSION_DEBIT + + type + integer + value + 0x2 + tooltip + If this permission is enabled, the object can successfully call llGiveMoney or llTransferLindenDollars to debit the owners account. + + PERMISSION_OVERRIDE_ANIMATIONS + + type + integer + value + 0x8000 + tooltip + Permission to override default animations. + + PERMISSION_RELEASE_OWNERSHIP + + type + integer + value + 0x40 + tooltip + (not yet implemented) + + PERMISSION_REMAP_CONTROLS + + type + integer + value + 0x8 + tooltip + (not yet implemented) + + PERMISSION_RETURN_OBJECTS + + type + integer + value + 65536 + tooltip + + + PERMISSION_SILENT_ESTATE_MANAGEMENT + + type + integer + value + 0x4000 + tooltip + A script with this permission does not notify the object owner when it modifies estate access rules via llManageEstateAccess. + + PERMISSION_TAKE_CONTROLS + + type + integer + value + 0x4 + tooltip + If this permission enabled, the object can successfully call the llTakeControls libray call. + + PERMISSION_TELEPORT + + type + integer + value + 0x1000 + tooltip + + + PERMISSION_TRACK_CAMERA + + type + integer + value + 0x400 + tooltip + + + PERMISSION_TRIGGER_ANIMATION + + type + integer + value + 0x10 + tooltip + If this permission is enabled, the object can successfully call llStartAnimation for the avatar that owns this. + + PI + + type + float + value + 3.14159265 + tooltip + 3.14159265 - The number of radians in a semi-circle. + + PI_BY_TWO + + type + float + value + 1.57079633 + tooltip + 1.57079633 - The number of radians in a quarter circle. + + PING_PONG + + type + integer + value + 0x8 + tooltip + Play animation going forwards, then backwards. + + PRIM_ALPHA_MODE + + type + integer + value + 38 + tooltip + Prim parameter for materials using integer face, integer alpha_mode, integer alpha_cutoff.\nDefines how the alpha channel of the diffuse texture should be rendered.\nValid options for alpha_mode are PRIM_ALPHA_MODE_BLEND, _NONE, _MASK, and _EMISSIVE.\nalpha_cutoff is used only for PRIM_ALPHA_MODE_MASK. + + PRIM_ALPHA_MODE_NONE + + type + integer + value + 0 + tooltip + Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be ignored. + + PRIM_ALPHA_MODE_BLEND + + type + integer + value + 1 + tooltip + Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be rendered as alpha-blended. + + PRIM_ALPHA_MODE_MASK + + type + integer + value + 2 + tooltip + Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be rendered as fully opaque for alpha values above alpha_cutoff and fully transparent otherwise. + + PRIM_ALPHA_MODE_EMISSIVE + + type + integer + value + 3 + tooltip + Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be rendered as an emissivity mask. + + PRIM_BUMP_BARK + + type + integer + value + 4 + tooltip + + + PRIM_BUMP_BLOBS + + type + integer + value + 12 + tooltip + + + PRIM_BUMP_BRICKS + + type + integer + value + 5 + tooltip + + + PRIM_BUMP_BRIGHT + + type + integer + value + 1 + tooltip + + + PRIM_BUMP_CHECKER + + type + integer + value + 6 + tooltip + + + PRIM_BUMP_CONCRETE + + type + integer + value + 7 + tooltip + + + PRIM_BUMP_DARK + + type + integer + value + 2 + tooltip + + + PRIM_BUMP_DISKS + + type + integer + value + 10 + tooltip + + + PRIM_BUMP_GRAVEL + + type + integer + value + 11 + tooltip + + + PRIM_BUMP_LARGETILE + + type + integer + value + 14 + tooltip + + + PRIM_BUMP_NONE + + type + integer + value + 0 + tooltip + + + PRIM_BUMP_SHINY + + type + integer + value + 19 + tooltip + + + PRIM_BUMP_SIDING + + type + integer + value + 13 + tooltip + + + PRIM_BUMP_STONE + + type + integer + value + 9 + tooltip + + + PRIM_BUMP_STUCCO + + type + integer + value + 15 + tooltip + + + PRIM_BUMP_SUCTION + + type + integer + value + 16 + tooltip + + + PRIM_BUMP_TILE + + type + integer + value + 8 + tooltip + + + PRIM_BUMP_WEAVE + + type + integer + value + 17 + tooltip + + + PRIM_BUMP_WOOD + + type + integer + value + 3 + tooltip + + + PRIM_CAST_SHADOWS + + deprecated + true + type + integer + value + 24 + tooltip + + + PRIM_COLOR + + type + integer + value + 18 + tooltip + + + PRIM_DESC + + type + integer + value + 28 + tooltip + + + PRIM_FLEXIBLE + + type + integer + value + 21 + tooltip + + + PRIM_FULLBRIGHT + + type + integer + value + 20 + tooltip + + + PRIM_GLOW + + type + integer + value + 25 + tooltip + PRIM_GLOW is used to get or set the glow status of the face. + + PRIM_HOLE_CIRCLE + + type + integer + value + 0x10 + tooltip + + + PRIM_HOLE_DEFAULT + + type + integer + value + 0x00 + tooltip + + + PRIM_HOLE_SQUARE + + type + integer + value + 0x20 + tooltip + + + PRIM_HOLE_TRIANGLE + + type + integer + value + 0x30 + tooltip + + + PRIM_LINK_TARGET + + type + integer + value + 34 + tooltip + + + PRIM_MATERIAL + + type + integer + value + 2 + tooltip + + + PRIM_MATERIAL_FLESH + + type + integer + value + 4 + tooltip + + + PRIM_MATERIAL_GLASS + + type + integer + value + 2 + tooltip + + + PRIM_MATERIAL_LIGHT + + type + integer + value + 7 + tooltip + + + PRIM_MATERIAL_METAL + + type + integer + value + 1 + tooltip + + + PRIM_MATERIAL_PLASTIC + + type + integer + value + 5 + tooltip + + + PRIM_MATERIAL_RUBBER + + type + integer + value + 6 + tooltip + + + PRIM_MATERIAL_STONE + + type + integer + value + 0 + tooltip + + + PRIM_MATERIAL_WOOD + + type + integer + value + 3 + tooltip + + + PRIM_MEDIA_ALT_IMAGE_ENABLE + + type + integer + value + 0 + tooltip + Boolean. Gets/Sets the default image state (the image that the user sees before a piece of media is active) for the chosen face. The default image is specified by Second Life's server for that media type. + + PRIM_MEDIA_AUTO_LOOP + + type + integer + value + 4 + tooltip + Boolean. Gets/Sets whether auto-looping is enabled. + + PRIM_MEDIA_AUTO_PLAY + + type + integer + value + 5 + tooltip + Boolean. Gets/Sets whether the media auto-plays when a Resident can view it. + + PRIM_MEDIA_AUTO_SCALE + + type + integer + value + 6 + tooltip + Boolean. Gets/Sets whether auto-scaling is enabled. Auto-scaling forces the media to the full size of the texture. + + PRIM_MEDIA_AUTO_ZOOM + + type + integer + value + 7 + tooltip + Boolean. Gets/Sets whether clicking the media triggers auto-zoom and auto-focus on the media. + + PRIM_MEDIA_CONTROLS + + type + integer + value + 1 + tooltip + Integer. Gets/Sets the style of controls. Can be either PRIM_MEDIA_CONTROLS_STANDARD or PRIM_MEDIA_CONTROLS_MINI. + + PRIM_MEDIA_CONTROLS_MINI + + type + integer + value + 1 + tooltip + Mini web navigation controls; does not include an address bar. + + PRIM_MEDIA_CONTROLS_STANDARD + + type + integer + value + 0 + tooltip + Standard web navigation controls. + + PRIM_MEDIA_CURRENT_URL + + type + integer + value + 2 + tooltip + String. Gets/Sets the current url displayed on the chosen face. Changing this URL causes navigation. 1024 characters Maximum. + + PRIM_MEDIA_FIRST_CLICK_INTERACT + + type + integer + value + 8 + tooltip + Boolean. Gets/Sets whether the first click interaction is enabled. + + PRIM_MEDIA_HEIGHT_PIXELS + + type + integer + value + 10 + tooltip + Integer. Gets/Sets the height of the media in pixels. + + PRIM_MEDIA_HOME_URL + + type + integer + value + 3 + tooltip + String. Gets/Sets the home URL for the chosen face. 1024 characters maximum. + + PRIM_MEDIA_MAX_HEIGHT_PIXELS + + type + integer + value + 2048 + tooltip + + + PRIM_MEDIA_MAX_URL_LENGTH + + type + integer + value + 1024 + tooltip + + + PRIM_MEDIA_MAX_WHITELIST_COUNT + + type + integer + value + 64 + tooltip + + + PRIM_MEDIA_MAX_WHITELIST_SIZE + + type + integer + value + 1024 + tooltip + + + PRIM_MEDIA_MAX_WIDTH_PIXELS + + type + integer + value + 2048 + tooltip + + + PRIM_MEDIA_PARAM_MAX + + type + integer + value + 14 + tooltip + + + PRIM_MEDIA_PERM_ANYONE + + type + integer + value + 4 + tooltip + + + PRIM_MEDIA_PERM_GROUP + + type + integer + value + 2 + tooltip + + + PRIM_MEDIA_PERM_NONE + + type + integer + value + 0 + tooltip + + + PRIM_MEDIA_PERM_OWNER + + type + integer + value + 1 + tooltip + + + PRIM_MEDIA_PERMS_CONTROL + + type + integer + value + 14 + tooltip + Integer. Gets/Sets the permissions mask that control who can see the media control bar above the object:: PRIM_MEDIA_PERM_ANYONE, PRIM_MEDIA_PERM_GROUP, PRIM_MEDIA_PERM_NONE, PRIM_MEDIA_PERM_OWNER + + PRIM_MEDIA_PERMS_INTERACT + + type + integer + value + 13 + tooltip + Integer. Gets/Sets the permissions mask that control who can interact with the object: PRIM_MEDIA_PERM_ANYONE, PRIM_MEDIA_PERM_GROUP, PRIM_MEDIA_PERM_NONE, PRIM_MEDIA_PERM_OWNER + + PRIM_MEDIA_WHITELIST + + type + integer + value + 12 + tooltip + String. Gets/Sets the white-list as a string of escaped, comma-separated URLs. This string can hold up to 64 URLs or 1024 characters, whichever comes first. + + PRIM_MEDIA_WHITELIST_ENABLE + + type + integer + value + 11 + tooltip + Boolean. Gets/Sets whether navigation is restricted to URLs in PRIM_MEDIA_WHITELIST. + + PRIM_MEDIA_WIDTH_PIXELS + + type + integer + value + 9 + tooltip + Integer. Gets/Sets the width of the media in pixels. + + PRIM_NAME + + type + integer + value + 27 + tooltip + + + PRIM_NORMAL + + type + integer + value + 37 + tooltip + Prim parameter for materials using integer face, string texture, vector repeats, vector offsets, float rotation_in_radians + + PRIM_OMEGA + + type + integer + value + 32 + tooltip + + + PRIM_PHANTOM + + type + integer + value + 5 + tooltip + + + PRIM_PHYSICS + + type + integer + value + 3 + tooltip + + + PRIM_PHYSICS_SHAPE_CONVEX + + type + integer + value + 2 + tooltip + Use the convex hull of the prim shape for physics (this is the default for mesh objects). + + PRIM_PHYSICS_SHAPE_NONE + + type + integer + value + 1 + tooltip + Ignore this prim in the physics shape. NB: This cannot be applied to the root prim. + + PRIM_PHYSICS_SHAPE_PRIM + + type + integer + value + 0 + tooltip + Use the normal prim shape for physics (this is the default for all non-mesh objects). + + PRIM_PHYSICS_SHAPE_TYPE + + type + integer + value + 30 + tooltip + Allows you to set the physics shape type of a prim via lsl. Permitted values are: + PRIM_PHYSICS_SHAPE_NONE, PRIM_PHYSICS_SHAPE_PRIM, PRIM_PHYSICS_SHAPE_CONVEX + + PRIM_POINT_LIGHT + + type + integer + value + 23 + tooltip + + + PRIM_POS_LOCAL + + type + integer + value + 33 + tooltip + + + PRIM_POSITION + + type + integer + value + 6 + tooltip + + + PRIM_ROT_LOCAL + + type + integer + value + 29 + tooltip + + + PRIM_ROTATION + + type + integer + value + 8 + tooltip + + + PRIM_SCULPT_FLAG_INVERT + + type + integer + value + 64 + tooltip + Render inside out (inverts the normals). + + PRIM_SCULPT_FLAG_MIRROR + + type + integer + value + 128 + tooltip + Render an X axis mirror of the sculpty. + + PRIM_SCULPT_TYPE_CYLINDER + + type + integer + value + 4 + tooltip + + + PRIM_SCULPT_TYPE_MASK + + type + integer + value + 7 + tooltip + + + PRIM_SCULPT_TYPE_PLANE + + type + integer + value + 3 + tooltip + + + PRIM_SCULPT_TYPE_SPHERE + + type + integer + value + 1 + tooltip + + + PRIM_SCULPT_TYPE_TORUS + + type + integer + value + 2 + tooltip + + + PRIM_SHINY_HIGH + + type + integer + value + 3 + tooltip + + + PRIM_SHINY_LOW + + type + integer + value + 1 + tooltip + + + PRIM_SHINY_MEDIUM + + type + integer + value + 2 + tooltip + + + PRIM_SHINY_NONE + + type + integer + value + 0 + tooltip + + + PRIM_SIZE + + type + integer + value + 7 + tooltip + + + PRIM_SLICE + + type + integer + value + 35 + tooltip + + + PRIM_SPECULAR + + type + integer + value + 36 + tooltip + Prim parameter for materials using integer face, string texture, vector repeats, vector offsets, float rotation_in_radians, vector color, integer glossy, integer environment + + PRIM_TEMP_ON_REZ + + type + integer + value + 4 + tooltip + + + PRIM_TEXGEN + + type + integer + value + 22 + tooltip + + + PRIM_TEXGEN_DEFAULT + + type + integer + value + 0 + tooltip + + + PRIM_TEXGEN_PLANAR + + type + integer + value + 1 + tooltip + + + PRIM_TEXT + + type + integer + value + 26 + tooltip + + + PRIM_TEXTURE + + type + integer + value + 17 + tooltip + + + PRIM_TYPE + + type + integer + value + 9 + tooltip + + + PRIM_TYPE_BOX + + type + integer + value + 0 + tooltip + + + PRIM_TYPE_CYLINDER + + type + integer + value + 1 + tooltip + + + PRIM_TYPE_PRISM + + type + integer + value + 2 + tooltip + + + PRIM_TYPE_RING + + type + integer + value + 6 + tooltip + + + PRIM_TYPE_SCULPT + + type + integer + value + 7 + tooltip + + + PRIM_TYPE_SPHERE + + type + integer + value + 3 + tooltip + + + PRIM_TYPE_TORUS + + type + integer + value + 4 + tooltip + + + PRIM_TYPE_TUBE + + type + integer + value + 5 + tooltip + + + PROFILE_NONE + + type + integer + value + 0 + tooltip + Disables profiling + + PROFILE_SCRIPT_MEMORY + + type + integer + value + 1 + tooltip + Enables memory profiling + + PSYS_PART_BF_DEST_COLOR + + type + integer + value + 2 + tooltip + + + PSYS_PART_BF_ONE + + type + integer + value + 0 + tooltip + + + PSYS_PART_BF_ONE_MINUS_DEST_COLOR + + type + integer + value + 4 + tooltip + + + PSYS_PART_BF_ONE_MINUS_SOURCE_COLOR + + type + integer + value + 5 + tooltip + + + PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA + + type + integer + value + 9 + tooltip + + + PSYS_PART_BF_SOURCE_ALPHA + + type + integer + value + 7 + tooltip + + + PSYS_PART_BF_SOURCE_COLOR + + type + integer + value + 3 + tooltip + + + PSYS_PART_BF_ZERO + + type + integer + value + 1 + tooltip + + + PSYS_PART_BLEND_FUNC_DEST + + type + integer + value + 25 + tooltip + + + PSYS_PART_BLEND_FUNC_SOURCE + + type + integer + value + 24 + tooltip + + + PSYS_PART_BOUNCE_MASK + + type + integer + value + 0x4 + tooltip + Particles bounce off of a plane at the objects Z height. + + PSYS_PART_EMISSIVE_MASK + + type + integer + value + 0x100 + tooltip + The particle glows. + + PSYS_PART_END_ALPHA + + type + integer + value + 4 + tooltip + A float which determines the ending alpha of the object. + + PSYS_PART_END_COLOR + + type + integer + value + 3 + tooltip + A vector <r, g, b> which determines the ending color of the object. + + PSYS_PART_END_GLOW + + type + integer + value + 27 + tooltip + + + PSYS_PART_END_SCALE + + type + integer + value + 6 + tooltip + A vector <sx, sy, z>, which is the ending size of the particle billboard in meters (z is ignored). + + PSYS_PART_FLAGS + + type + integer + value + 0 + tooltip + Each particle that is emitted by the particle system is simulated based on the following flags. To use multiple flags, bitwise or (|) them together. + + PSYS_PART_FOLLOW_SRC_MASK + + type + integer + value + 0x10 + tooltip + The particle position is relative to the source objects position. + + PSYS_PART_FOLLOW_VELOCITY_MASK + + type + integer + value + 0x20 + tooltip + The particle orientation is rotated so the vertical axis faces towards the particle velocity. + + PSYS_PART_INTERP_COLOR_MASK + + type + integer + value + 0x1 + tooltip + Interpolate both the color and alpha from the start value to the end value. + + PSYS_PART_INTERP_SCALE_MASK + + type + integer + value + 0x2 + tooltip + Interpolate the particle scale from the start value to the end value. + + PSYS_PART_MAX_AGE + + type + integer + value + 7 + tooltip + Age in seconds of a particle at which it dies. + + PSYS_PART_RIBBON_MASK + + type + integer + value + 0x400 + tooltip + + + PSYS_PART_START_ALPHA + + type + integer + value + 2 + tooltip + A float which determines the starting alpha of the object. + + PSYS_PART_START_COLOR + + type + integer + value + 1 + tooltip + A vector <r.r, g.g, b.b> which determines the starting color of the object. + + PSYS_PART_START_GLOW + + type + integer + value + 26 + tooltip + + + PSYS_PART_START_SCALE + + type + integer + value + 5 + tooltip + A vector <sx, sy, z>, which is the starting size of the particle billboard in meters (z is ignored). + + PSYS_PART_TARGET_LINEAR_MASK + + type + integer + value + 0x80 + tooltip + + + PSYS_PART_TARGET_POS_MASK + + type + integer + value + 0x40 + tooltip + The particle heads towards the location of the target object as defined by PSYS_SRC_TARGET_KEY. + + PSYS_PART_WIND_MASK + + type + integer + value + 0x8 + tooltip + Particles have their velocity damped towards the wind velocity. + + PSYS_SRC_ACCEL + + type + integer + value + 8 + tooltip + A vector <x, y, z> which is the acceleration to apply on particles. + + PSYS_SRC_ANGLE_BEGIN + + type + integer + value + 22 + tooltip + Area in radians specifying where particles will NOT be created (for ANGLE patterns) + + PSYS_SRC_ANGLE_END + + type + integer + value + 23 + tooltip + Area in radians filled with particles (for ANGLE patterns) (if lower than PSYS_SRC_ANGLE_BEGIN, acts as PSYS_SRC_ANGLE_BEGIN itself, and PSYS_SRC_ANGLE_BEGIN acts as PSYS_SRC_ANGLE_END). + + PSYS_SRC_BURST_PART_COUNT + + type + integer + value + 15 + tooltip + How many particles to release in a burst. + + PSYS_SRC_BURST_RADIUS + + type + integer + value + 16 + tooltip + What distance from the center of the object to create the particles. + + PSYS_SRC_BURST_RATE + + type + integer + value + 13 + tooltip + How often to release a particle burst (float seconds). + + PSYS_SRC_BURST_SPEED_MAX + + type + integer + value + 18 + tooltip + Maximum speed that a particle should be moving. + + PSYS_SRC_BURST_SPEED_MIN + + type + integer + value + 17 + tooltip + Minimum speed that a particle should be moving. + + PSYS_SRC_INNERANGLE + + type + integer + value + 10 + tooltip + Specifies the inner angle of the arc created by the PSYS_SRC_PATTERN_ANGLE or PSYS_SRC_PATTERN_ANGLE_CONE source pattern. + The area specified will NOT have particles in it. + + PSYS_SRC_MAX_AGE + + type + integer + value + 19 + tooltip + How long this particle system should last, 0.0 means forever. + + PSYS_SRC_OMEGA + + type + integer + value + 21 + tooltip + Sets the angular velocity to rotate the axis that SRC_PATTERN_ANGLE and SRC_PATTERN_ANGLE_CONE use. + + PSYS_SRC_OUTERANGLE + + type + integer + value + 11 + tooltip + Specifies the outer angle of the arc created by the PSYS_SRC_PATTERN_ANGLE or PSYS_SRC_PATTERN_ANGLE_CONE source pattern. + The area between the outer and inner angle will be filled with particles. + + PSYS_SRC_PATTERN + + type + integer + value + 9 + tooltip + The pattern which is used to generate particles. + Use one of the following values: PSYS_SRC_PATTERN Values. + + PSYS_SRC_PATTERN_ANGLE + + type + integer + value + 0x04 + tooltip + Shoot particles across a 2 dimensional area defined by the arc created from PSYS_SRC_OUTERANGLE. There will be an open area defined by PSYS_SRC_INNERANGLE within the larger arc. + + PSYS_SRC_PATTERN_ANGLE_CONE + + type + integer + value + 0x08 + tooltip + Shoot particles out in a 3 dimensional cone with an outer arc of PSYS_SRC_OUTERANGLE and an inner open area defined by PSYS_SRC_INNERANGLE. + + PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY + + type + integer + value + 0x10 + tooltip + + + PSYS_SRC_PATTERN_DROP + + type + integer + value + 0x01 + tooltip + Drop particles at the source position. + + PSYS_SRC_PATTERN_EXPLODE + + type + integer + value + 0x02 + tooltip + Shoot particles out in all directions, using the burst parameters. + + PSYS_SRC_TARGET_KEY + + type + integer + value + 20 + tooltip + The key of a target object to move towards if PSYS_PART_TARGET_POS_MASK is enabled. + + PSYS_SRC_TEXTURE + + type + integer + value + 12 + tooltip + An asset name for the texture to use for the particles. + + PUBLIC_CHANNEL + + type + integer + value + 0 + tooltip + PUBLIC_CHANNEL is an integer constant that, when passed to llSay, llWhisper, or llShout as a channel parameter, will print text to the publicly heard chat channel. + + RAD_TO_DEG + + type + float + value + 57.2957795 + tooltip + 57.2957795 - Number of degrees per radian. You can use this number to convert radians to degrees by multiplying the radians by this number. + + RC_DATA_FLAGS + + type + integer + value + 2 + tooltip + + + RC_DETECT_PHANTOM + + type + integer + value + 1 + tooltip + + + RC_GET_LINK_NUM + + type + integer + value + 4 + tooltip + + + RC_GET_NORMAL + + type + integer + value + 1 + tooltip + + + RC_GET_ROOT_KEY + + type + integer + value + 2 + tooltip + + + RC_MAX_HITS + + type + integer + value + 3 + tooltip + + + RC_REJECT_AGENTS + + type + integer + value + 1 + tooltip + + + RC_REJECT_LAND + + type + integer + value + 8 + tooltip + + + RC_REJECT_NONPHYSICAL + + type + integer + value + 4 + tooltip + + + RC_REJECT_PHYSICAL + + type + integer + value + 2 + tooltip + + + RC_REJECT_TYPES + + type + integer + value + 0 + tooltip + + + RCERR_CAST_TIME_EXCEEDED + + type + integer + value + -3 + tooltip + + + RCERR_SIM_PERF_LOW + + type + integer + value + -2 + tooltip + + + RCERR_UNKNOWN + + type + integer + value + -1 + tooltip + + + REGION_FLAG_ALLOW_DAMAGE + + type + integer + value + 0x1 + tooltip + + + REGION_FLAG_ALLOW_DIRECT_TELEPORT + + type + integer + value + 0x100000 + tooltip + + + REGION_FLAG_BLOCK_FLY + + type + integer + value + 0x80000 + tooltip + + + REGION_FLAG_BLOCK_FLYOVER + + type + integer + value + 0x8000000 + tooltip + + + REGION_FLAG_BLOCK_TERRAFORM + + type + integer + value + 0x40 + tooltip + + + REGION_FLAG_DISABLE_COLLISIONS + + type + integer + value + 0x1000 + tooltip + + + REGION_FLAG_DISABLE_PHYSICS + + type + integer + value + 0x4000 + tooltip + + + REGION_FLAG_FIXED_SUN + + type + integer + value + 0x10 + tooltip + + + REGION_FLAG_RESTRICT_PUSHOBJECT + + type + integer + value + 0x400000 + tooltip + + + REGION_FLAG_SANDBOX + + type + integer + value + 0x100 + tooltip + + + REMOTE_DATA_CHANNEL + + type + integer + value + 1 + tooltip + + + REMOTE_DATA_REPLY + + type + integer + value + 3 + tooltip + + + REMOTE_DATA_REQUEST + + type + integer + value + 2 + tooltip + + + REQUIRE_LINE_OF_SIGHT + + type + integer + value + 2 + tooltip + Define whether the character needs a line-of-sight to give chase. + + RESTITUTION + + type + integer + value + 4 + tooltip + Used with llSetPhysicsMaterial to enable the density value. Must be between 0.0 and 1.0 + + REVERSE + + type + integer + value + 0x4 + tooltip + Play animation in reverse direction. + + ROTATE + + type + integer + value + 0x20 + tooltip + Animate texture rotation. + + SCALE + + type + integer + value + 0x40 + tooltip + Animate the texture scale. + + SCRIPTED + + type + integer + value + 0x8 + tooltip + Scripted in-world objects. + + SMOOTH + + type + integer + value + 0x10 + tooltip + Slide in the X direction, instead of playing separate frames. + + SQRT2 + + type + float + value + 1.41421356 + tooltip + 1.41421356 - The square root of 2. + + STATUS_BLOCK_GRAB + + type + integer + value + 0x40 + tooltip + Controls whether the object can be grabbed.\nA grab is the default action when in third person, and is available as the hand tool in build mode. This is useful for physical objects that you don't want other people to be able to trivially disturb. The default is FALSE + + STATS_TIME_DILATION + + type + integer + value + 0 + tooltip + osGetRegionStats Time Dilation + + STATS_SIM_FPS + + type + integer + value + 1 + tooltip + osGetRegionStats Sim FPS + + STATS_PHYSICS_FPS + + type + integer + value + 2 + tooltip + osGetRegionStats Physics FPS + + STATS_AGENT_UPDATES + + type + integer + value + 3 + tooltip + osGetRegionStats Agent Updates/Sec + + STATS_ROOT_AGENTS + + type + integer + value + 4 + tooltip + osGetRegionStats Main Agents + + STATS_CHILD_AGENTS + + type + integer + value + 5 + tooltip + osGetRegionStats Child Agents + + STATS_TOTAL_PRIMS + + type + integer + value + 6 + tooltip + osGetRegionStats Objects + + STATS_ACTIVE_PRIMS + + type + integer + value + 7 + tooltip + osGetRegionStats Active Objects + + STATS_FRAME_MS + + type + integer + value + 8 + tooltip + osGetRegionStats Total Frame Time + + STATS_NET_MS + + type + integer + value + 9 + tooltip + osGetRegionStats Net Time + + STATS_PHYSICS_MS + + type + integer + value + 10 + tooltip + osGetRegionStats Physics Time + + STATS_IMAGE_MS + + type + integer + value + 11 + tooltip + osGetRegionStats Image Time + + STATS_OTHER_MS + + type + integer + value + 12 + tooltip + osGetRegionStats Other Time + + STATS_IN_PACKETS_PER_SECOND + + type + integer + value + 13 + tooltip + osGetRegionStats Packets in + + STATS_OUT_PACKETS_PER_SECOND + + type + integer + value + 14 + tooltip + osGetRegionStats Packets out + + STATS_UNACKED_BYTES + + type + integer + value + 15 + tooltip + osGetRegionStats Total Unacked Bytes + + STATS_AGENT_MS + + type + integer + value + 16 + tooltip + osGetRegionStats Agent Time + + STATS_PENDING_DOWNLOADS + + type + integer + value + 17 + tooltip + osGetRegionStats Pending Downloads + + STATS_PENDING_UPLOADS + + type + integer + value + 18 + tooltip + osGetRegionStats Pending Uploads + + STATS_ACTIVE_SCRIPTS + + type + integer + value + 19 + tooltip + osGetRegionStats Active Scripts + + STATS_SCRIPT_LPS + + type + integer + value + 20 + tooltip + osGetRegionStats Script Line Per Second + + STATUS_BLOCK_GRAB_OBJECT + + type + integer + value + 0x400 + tooltip + Prevent click-and-drag movement on all prims in the object. + + STATUS_BOUNDS_ERROR + + type + integer + value + 1002 + tooltip + Argument(s) passed to function had a bounds error. + + STATUS_CAST_SHADOWS + + type + integer + value + 0x200 + tooltip + + + STATUS_DIE_AT_EDGE + + type + integer + value + 0x80 + tooltip + Controls whether the object is returned to the owners inventory if it wanders off the edge of the world.\nIt is useful to set this status TRUE for things like bullets or rockets. The default is TRUE + + STATUS_INTERNAL_ERROR + + type + integer + value + 1999 + tooltip + An internal error occurred. + + STATUS_MALFORMED_PARAMS + + type + integer + value + 1000 + tooltip + Function was called with malformed parameters. + + STATUS_NOT_FOUND + + type + integer + value + 1003 + tooltip + Object or other item was not found. + + STATUS_NOT_SUPPORTED + + type + integer + value + 1004 + tooltip + Feature not supported. + + STATUS_OK + + type + integer + value + 0 + tooltip + Result of function call was a success. + + STATUS_PHANTOM + + type + integer + value + 0x10 + tooltip + Controls/indicates whether the object collides or not.\nSetting the value to TRUE makes the object non-colliding with all objects. It is a good idea to use this for most objects that move or rotate, but are non-physical. It is also useful for simulating volumetric lighting. The default is FALSE. + + STATUS_PHYSICS + + type + integer + value + 0x1 + tooltip + Controls/indicates whether the object moves physically.\nThis controls the same flag that the UI check-box for Physical controls. The default is FALSE. + + STATUS_RETURN_AT_EDGE + + type + integer + value + 0x100 + tooltip + + + STATUS_ROTATE_X + + type + integer + value + 0x2 + tooltip + + + STATUS_ROTATE_Y + + type + integer + value + 0x4 + tooltip + + + STATUS_ROTATE_Z + + type + integer + value + 0x8 + tooltip + Controls/indicates whether the object can physically rotate around + the specific axis or not. This flag has no meaning + for non-physical objects. Set the value to FALSE + if you want to disable rotation around that axis. The + default is TRUE for a physical object. + A useful example to think about when visualizing + the effect is a sit-and-spin device. They spin around the + Z axis (up) but not around the X or Y axis. + + STATUS_SANDBOX + + type + integer + value + 0x20 + tooltip + Controls/indicates whether the object can cross region boundaries + and move more than 20 meters from its creation + point. The default if FALSE. + + STATUS_TYPE_MISMATCH + + type + integer + value + 1001 + tooltip + Argument(s) passed to function had a type mismatch. + + STATUS_WHITELIST_FAILED + + type + integer + value + 2001 + tooltip + Whitelist Failed. + + STRING_TRIM + + type + integer + value + 0x03 + tooltip + + + STRING_TRIM_HEAD + + type + integer + value + 0x01 + tooltip + + + STRING_TRIM_TAIL + + type + integer + value + 0x02 + tooltip + + + TEXTURE_BLANK + + type + string + value + 5748decc-f629-461c-9a36-a35a221fe21f + tooltip + + + TEXTURE_DEFAULT + + type + string + value + 89556747-24cb-43ed-920b-47caed15465f + tooltip + + + TEXTURE_MEDIA + + type + string + value + 8b5fec65-8d8d-9dc5-cda8-8fdf2716e361 + tooltip + + + TEXTURE_PLYWOOD + + type + string + value + 89556747-24cb-43ed-920b-47caed15465f + tooltip + + + TEXTURE_TRANSPARENT + + type + string + value + 8dcd4a48-2d37-4909-9f78-f7a9eb4ef903 + tooltip + + + TOUCH_INVALID_FACE + + type + integer + value + 0xFFFFFFFF + tooltip + + + TOUCH_INVALID_TEXCOORD + + type + vector + value + <-1.0, -1.0, 0.0> + tooltip + + + TOUCH_INVALID_VECTOR + + type + vector + value + <0.0, 0.0, 0.0> + tooltip + + + TRUE + + type + integer + value + 1 + tooltip + An integer constant for boolean comparisons. Has the value '1'. + + TWO_PI + + type + float + value + 6.28318530 + tooltip + 6.28318530 - The radians of a circle. + + TYPE_FLOAT + + type + integer + value + 2 + tooltip + The list entry is a float. + + TYPE_INTEGER + + type + integer + value + 1 + tooltip + The list entry is an integer. + + TYPE_INVALID + + type + integer + value + 0 + tooltip + The list entry is invalid. + + TYPE_KEY + + type + integer + value + 4 + tooltip + The list entry is a key. + + TYPE_ROTATION + + type + integer + value + 6 + tooltip + The list entry is a rotation. + + TYPE_STRING + + type + integer + value + 3 + tooltip + The list entry is a string. + + TYPE_VECTOR + + type + integer + value + 5 + tooltip + The list entry is a vector. + + URL_REQUEST_DENIED + + type + string + value + URL_REQUEST_DENIED + tooltip + + + URL_REQUEST_GRANTED + + type + string + value + URL_REQUEST_GRANTED + tooltip + + + VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY + + type + integer + value + 32 + tooltip + A slider between minimum (0.0) and maximum (1.0) deflection of angular orientation. That is, its a simple scalar for modulating the strength of angular deflection such that the vehicles preferred axis of motion points toward its real velocity. + + VEHICLE_ANGULAR_DEFLECTION_TIMESCALE + + type + integer + value + 33 + tooltip + The time-scale for exponential success of linear deflection deflection. Its another way to specify the strength of the vehicles tendency to reorient itself so that its preferred axis of motion agrees with its true velocity. + + VEHICLE_ANGULAR_FRICTION_TIMESCALE + + type + integer + value + 17 + tooltip + A vector of timescales for exponential decay of the vehicles angular velocity about its preferred axes of motion (at, left, up). + Range = [0.07, inf) seconds for each element of the vector. + + VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE + + type + integer + value + 35 + tooltip + The timescale for exponential decay of the angular motors magnitude. + + VEHICLE_ANGULAR_MOTOR_DIRECTION + + type + integer + value + 19 + tooltip + The direction and magnitude (in preferred frame) of the vehicles angular motor.The vehicle will accelerate (or decelerate if necessary) to match its velocity to its motor. + + VEHICLE_ANGULAR_MOTOR_TIMESCALE + + type + integer + value + 34 + tooltip + The timescale for exponential approach to full angular motor velocity. + + VEHICLE_BANKING_EFFICIENCY + + type + integer + value + 38 + tooltip + A slider between anti (-1.0), none (0.0), and maxmum (1.0) banking strength. + + VEHICLE_BANKING_MIX + + type + integer + value + 39 + tooltip + A slider between static (0.0) and dynamic (1.0) banking. "Static" means the banking scales only with the angle of roll, whereas "dynamic" is a term that also scales with the vehicles linear speed. + + VEHICLE_BANKING_TIMESCALE + + type + integer + value + 40 + tooltip + The timescale for banking to exponentially approach its maximum effect. This is another way to scale the strength of the banking effect, however it affects the term that is proportional to the difference between what the banking behavior is trying to do, and what the vehicle is actually doing. + + VEHICLE_BUOYANCY + + type + integer + value + 27 + tooltip + A slider between minimum (0.0) and maximum anti-gravity (1.0). + + VEHICLE_FLAG_CAMERA_DECOUPLED + + type + integer + value + 0x200 + tooltip + + + VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT + + type + integer + value + 0x10 + tooltip + Hover at global height. + + VEHICLE_FLAG_HOVER_TERRAIN_ONLY + + type + integer + value + 0x8 + tooltip + Ignore water height when hovering. + + VEHICLE_FLAG_HOVER_UP_ONLY + + type + integer + value + 0x20 + tooltip + Hover does not push down. Use this flag for hovering vehicles that should be able to jump above their hover height. + + VEHICLE_FLAG_HOVER_WATER_ONLY + + type + integer + value + 0x4 + tooltip + Ignore terrain height when hovering. + + VEHICLE_FLAG_LIMIT_MOTOR_UP + + type + integer + value + 0x40 + tooltip + Prevents ground vehicles from motoring into the sky. + + VEHICLE_FLAG_LIMIT_ROLL_ONLY + + type + integer + value + 0x2 + tooltip + For vehicles with vertical attractor that want to be able to climb/dive, for instance, aeroplanes that want to use the banking feature. + + VEHICLE_FLAG_MOUSELOOK_BANK + + type + integer + value + 0x100 + tooltip + + + VEHICLE_FLAG_MOUSELOOK_STEER + + type + integer + value + 0x80 + tooltip + + + VEHICLE_FLAG_NO_DEFLECTION_UP + + type + integer + value + 0x1 + tooltip + This flag prevents linear deflection parallel to world z-axis. This is useful for preventing ground vehicles with large linear deflection, like bumper cars, from climbing their linear deflection into the sky. + + VEHICLE_FLAG_NO_FLY_UP + + deprecated + true + type + integer + value + 0x1 + tooltip + Old, changed to VEHICLE_FLAG_NO_DEFLECTION_UP + + VEHICLE_HOVER_EFFICIENCY + + type + integer + value + 25 + tooltip + A slider between minimum (0.0 = bouncy) and maximum (1.0 = fast as possible) damped motion of the hover behavior. + + VEHICLE_HOVER_HEIGHT + + type + integer + value + 24 + tooltip + The height (above the terrain or water, or global) at which the vehicle will try to hover. + + VEHICLE_HOVER_TIMESCALE + + type + integer + value + 26 + tooltip + Period of time (in seconds) for the vehicle to achieve its hover height. + + VEHICLE_LINEAR_DEFLECTION_EFFICIENCY + + type + integer + value + 28 + tooltip + A slider between minimum (0.0) and maximum (1.0) deflection of linear velocity. That is, its a simple scalar for modulating the strength of linear deflection. + + VEHICLE_LINEAR_DEFLECTION_TIMESCALE + + type + integer + value + 29 + tooltip + The timescale for exponential success of linear deflection deflection. It is another way to specify how much time it takes for the vehicles linear velocity to be redirected to its preferred axis of motion. + + VEHICLE_LINEAR_FRICTION_TIMESCALE + + type + integer + value + 16 + tooltip + A vector of timescales for exponential decay of the vehicles linear velocity along its preferred axes of motion (at, left, up). + Range = [0.07, inf) seconds for each element of the vector. + + VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE + + type + integer + value + 31 + tooltip + The timescale for exponential decay of the linear motors magnitude. + + VEHICLE_LINEAR_MOTOR_DIRECTION + + type + integer + value + 18 + tooltip + The direction and magnitude (in preferred frame) of the vehicles linear motor. The vehicle will accelerate (or decelerate if necessary) to match its velocity to its motor. + Range of magnitude = [0, 30] meters/second. + + VEHICLE_LINEAR_MOTOR_OFFSET + + type + integer + value + 20 + tooltip + + + VEHICLE_LINEAR_MOTOR_TIMESCALE + + type + integer + value + 30 + tooltip + The timescale for exponential approach to full linear motor velocity. + + VEHICLE_REFERENCE_FRAME + + type + integer + value + 44 + tooltip + A rotation of the vehicles preferred axes of motion and orientation (at, left, up) with respect to the vehicles local frame (x, y, z). + + VEHICLE_TYPE_AIRPLANE + + type + integer + value + 4 + tooltip + Uses linear deflection for lift, no hover, and banking to turn.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_AIRPLANE + + VEHICLE_TYPE_BALLOON + + type + integer + value + 5 + tooltip + Hover, and friction, but no deflection.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_BALLOON + + VEHICLE_TYPE_BOAT + + type + integer + value + 3 + tooltip + Hovers over water with lots of friction and some anglar deflection.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_BOAT + + VEHICLE_TYPE_CAR + + type + integer + value + 2 + tooltip + Another vehicle that bounces along the ground but needs the motors to be driven from external controls or timer events.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_CAR + + VEHICLE_TYPE_NONE + + type + integer + value + 0 + tooltip + + + VEHICLE_TYPE_SLED + + type + integer + value + 1 + tooltip + Simple vehicle that bumps along the ground, and likes to move along its local x-axis.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_SLED + + VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY + + type + integer + value + 36 + tooltip + A slider between minimum (0.0 = wobbly) and maximum (1.0 = firm as possible) stability of the vehicle to keep itself upright. + + VEHICLE_VERTICAL_ATTRACTION_TIMESCALE + + type + integer + value + 37 + tooltip + The period of wobble, or timescale for exponential approach, of the vehicle to rotate such that its preferred "up" axis is oriented along the worlds "up" axis. + + VERTICAL + + type + integer + value + 0 + tooltip + + + ZERO_ROTATION + + type + rotation + value + <0.0, 0.0, 0.0, 1.0> + tooltip + + + ZERO_VECTOR + + type + vector + value + <0.0, 0.0, 0.0> + tooltip + + + default + + tooltip + All scripts must have a default state, which is the first state entered when the script starts.\nIf another state is defined before the default state, the compiler will report a syntax error. + + + events + + at_rot_target + + arguments + + + TargetNumber + + type + integer + tooltip + + + + + TargetRotation + + type + rotation + tooltip + + + + + CurrentRotation + + type + rotation + tooltip + + + + + tooltip + This event is triggered when a script comes within a defined angle of a target rotation. The range and rotation, are set by a call to llRotTarget. + + at_target + + arguments + + + TargetNumber + + type + integer + tooltip + + + + + TargetPosition + + type + vector + tooltip + + + + + CurrentPosition + + type + vector + tooltip + + + + + tooltip + This event is triggered when the scripted object comes within a defined range of the target position, defined by the llTarget function call. + + attach + + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + This event is triggered whenever an object is attached or detached from an avatar. If it is attached, the key of the avatar it is attached to is passed in, otherwise NULL_KEY is. + + changed + + arguments + + + Changed + + type + integer + tooltip + + + + + tooltip + Triggered when various events change the object. The change argument will be a bit-field of CHANGED_* constants. + + collision + + arguments + + + NumberOfCollisions + + type + integer + tooltip + + + + + tooltip + This event is raised while another object, or avatar, is colliding with the object the script is attached to. + The number of detected objects is passed to the script. Information on those objects may be gathered via the llDetected* functions. + + collision_end + + arguments + + + NumberOfCollisions + + type + integer + tooltip + + + + + tooltip + This event is raised when another object, or avatar, stops colliding with the object the script is attached to. + The number of detected objects is passed to the script. Information on those objects may be gathered via the llDetected* library functions. + + collision_start + + arguments + + + NumberOfCollisions + + type + integer + tooltip + + + + + tooltip + This event is raised when another object, or avatar, starts colliding with the object the script is attached to. + The number of detected objects is passed to the script. Information on those objects may be gathered via the llDetected* library functions. + + control + + arguments + + + AvatarID + + type + key + tooltip + + + + + Levels + + type + integer + tooltip + + + + + Edges + + type + integer + tooltip + + + + + tooltip + Once a script has the ability to grab control inputs from the avatar, this event will be used to pass the commands into the script. + The levels and edges are bit-fields of control constants. + + dataserver + + arguments + + + RequestID + + type + key + tooltip + + + + + Data + + type + string + tooltip + + + + + tooltip + This event is triggered when the requested data is returned to the script. + Data may be requested by the llRequestAgentData, llRequestInventoryData, and llGetNotecardLine function calls, for example. + + email + + arguments + + + Time + + type + string + tooltip + + + + + Address + + type + string + tooltip + + + + + Subject + + type + string + tooltip + + + + + Body + + type + string + tooltip + + + + + NumberRemaining + + type + integer + tooltip + + + + + tooltip + This event is triggered when an email sent to this script arrives. + The number remaining tells how many more emails are known to be still pending. + + experience_permissions + + arguments + + + agent_id + + type + key + tooltip + ID of the agent approving permission for the Experience. + + + + + experience_permissions_denied + + arguments + + + agent_id + + type + key + tooltip + ID of the agent denying permission for the Experience. + + + + Reason + + type + integer + tooltip + One of the XP_ERROR_... constants describing the reason why the Experience permissions were denied for the agent. + + + + tooltip + Describes why the Experience permissions were denied for the agent. + + http_request + + arguments + + + HTTPRequestID + + type + key + tooltip + + + + + HTTPMethod + + type + string + tooltip + + + + + Body + + type + string + tooltip + + + + + tooltip + Triggered when task receives an HTTP request. + + http_response + + arguments + + + HTTPRequestID + + type + key + tooltip + + + + + Status + + type + integer + tooltip + + + + + Metadata + + type + list + tooltip + + + + + Body + + type + string + tooltip + + + + + tooltip + This event handler is invoked when an HTTP response is received for a pending llHTTPRequest request or if a pending request fails or times out. + + land_collision + + arguments + + + Position + + type + vector + tooltip + + + + + tooltip + This event is raised when the object the script is attached to is colliding with the ground. + + land_collision_end + + arguments + + + Position + + type + vector + tooltip + + + + + tooltip + This event is raised when the object the script is attached to stops colliding with the ground. + + land_collision_start + + arguments + + + Position + + type + vector + tooltip + + + + + tooltip + This event is raised when the object the script is attached to begins to collide with the ground. + + link_message + + arguments + + + SendersLink + + type + integer + tooltip + + + + + Value + + type + integer + tooltip + + + + + Text + + type + string + tooltip + + + + + ID + + type + key + tooltip + + + + + tooltip + Triggered when object receives a link message via llMessageLinked function call. + + listen + + arguments + + + Channel + + type + integer + tooltip + + + + + Name + + type + string + tooltip + + + + + ID + + type + key + tooltip + + + + + Text + + type + string + tooltip + + + + + tooltip + This event is raised whenever a chat message matching the constraints set in the llListen command is received. The name and ID of the speaker, as well as the message, are passed in as parameters. + Channel 0 is the public chat channel that all avatars see as chat text. Channels 1 through 2,147,483,648 are private channels that are not sent to avatars but other scripts can listen on those channels. + + money + + arguments + + + Payer + + type + key + tooltip + + + + + Amount + + type + integer + tooltip + + + + + tooltip + This event is triggered when a resident has given an amount of Linden dollars to the object. + + moving_end + + arguments + + tooltip + Triggered whenever an object with this script stops moving. + + moving_start + + arguments + + tooltip + Triggered whenever an object with this script starts moving. + + no_sensor + + arguments + + tooltip + This event is raised when sensors are active, via the llSensor function call, but are not sensing anything. + + not_at_rot_target + + arguments + + tooltip + When a target is set via the llRotTarget function call, but the script is outside the specified angle this event is raised. + + not_at_target + + arguments + + tooltip + When a target is set via the llTarget library call, but the script is outside the specified range this event is raised. + + object_rez + + arguments + + + RezzedObjectsID + + type + key + tooltip + + + + + tooltip + Triggered when an object rezzes another object from its inventory via the llRezObject, or similar, functions. The id is the globally unique key for the object rezzed. + + on_rez + + arguments + + + StartParameter + + type + integer + tooltip + + + + + tooltip + Triggered whenever an object is rezzed from inventory or by another object. The start parameter is passed in from the llRezObject call, or zero if from inventory. + + path_update + + arguments + + + Type + + type + integer + tooltip + + + + + Reserved + + type + list + tooltip + + + + + tooltip + This event is called to inform the script of changes within the object's path-finding status. + + remote_data + + arguments + + + EventType + + type + integer + tooltip + + + + + ChannelID + + type + key + tooltip + + + + + MessageID + + type + key + tooltip + + + + + Sender + + type + string + tooltip + + + + + Data + + type + integer + tooltip + + + + + Data + + type + string + tooltip + + + + + tooltip + Triggered by various XML-RPC calls with event_type specifying the type of data. + + run_time_permissions + + arguments + + + PermissionFlags + + type + integer + tooltip + + + + + tooltip + Scripts need permission from either the owner or the avatar they wish to act on before they may perform certain functions, such as debiting money from their owners account, triggering an animation on an avatar, or capturing control inputs. The llRequestPermissions library function is used to request these permissions and the various permissions integer constants can be supplied. + The integer returned to this event handler contains the current set of permissions flags, so if permissions equal 0 then no permissions are set. + + sensor + + arguments + + + NumberDetected + + type + integer + tooltip + + + + + tooltip + This event is raised whenever objects matching the constraints of the llSensor command are detected. + The number of detected objects is passed to the script in the parameter. Information on those objects may be gathered via the llDetected* functions. + + state_entry + + arguments + + tooltip + The state_entry event occurs whenever a new state is entered, including at program start, and is always the first event handled. + + state_exit + + arguments + + tooltip + The state_exit event occurs whenever the state command is used to transition to another state. It is handled before the new states state_entry event. + + timer + + arguments + + tooltip + This event is raised at regular intervals set by the llSetTimerEvent library function. + + touch + + arguments + + + NumberOfTouches + + type + integer + tooltip + + + + + tooltip + This event is raised while a user is touching the object the script is attached to. + The number of touching objects is passed to the script in the parameter. + Information on those objects may be gathered via the llDetected* library functions. + + touch_end + + arguments + + + NumberOfTouches + + type + integer + tooltip + + + + + tooltip + This event is raised when a user stops touching the object the script is attached to. The number of touches is passed to the script in the parameter. + Information on those objects may be gathered via the llDetected* library functions. + + touch_start + + arguments + + + NumberOfTouches + + type + integer + tooltip + + + + + tooltip + This event is raised when a user first touches the object the script is attached to. The number of touches is passed to the script in the parameter. + Information on those objects may be gathered via the llDetected() library functions. + + transaction_result + + arguments + + + RequestID + + type + key + tooltip + + + + + Success + + type + integer + tooltip + + + + + Message + + type + string + tooltip + + + + + tooltip + Triggered by llTransferMoney() function. + + + <-- functions --> + functions + + llAbs + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Value + + type + integer + tooltip + An integer value. + + + + tooltip + Returns the absolute (positive) version of Value. + + llAcos + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Value + + type + float + tooltip + A floating-point value. + + + + tooltip + Returns the arc-cosine of Value, in radians. + + llAddToLandBanList + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ID + + type + key + tooltip + Agent UUID to add to ban-list. + + + + Hours + + type + float + tooltip + Period, in hours, to ban the avatar for. + + + + tooltip + Add avatar ID to the parcel ban list for the specified number of Hours.\nA value of 0 for Hours will add the agent indefinitely.\nThe smallest value that Hours will accept is 0.01; anything smaller will be seen as 0.\nWhen values that small are used, it seems the function bans in approximately 30 second increments (Probably 36 second increments, as 0.01 of an hour is 36 seconds).\nResidents teleporting to a parcel where they are banned will be redirected to a neighbouring parcel. + + llAddToLandPassList + + energy + 10.0 + sleep + 0.1 + return + void + arguments + + + ID + + type + key + tooltip + Agent UUID to add to pass-list. + + + + Hours + + type + float + tooltip + Period, in hours, to allow the avatar for. + + + + tooltip + Add avatar ID to the land pass list, for a duration of Hours. + + llAdjustSoundVolume + + energy + 10.0 + sleep + 0.1 + return + void + arguments + + + Volume + + type + float + tooltip + The volume to set. + + + + tooltip + Adjusts the volume (0.0 - 1.0) of the currently playing attached sound.\nThis function has no effect on sounds started with llTriggerSound. + + llAllowInventoryDrop + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Flag + + type + integer + tooltip + Boolean, If TRUE allows anyone to drop inventory on prim, FALSE revokes. + + + + tooltip + If Flag == TRUE, users without object modify permissions can still drop inventory items into the object. + + llAngleBetween + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Rot1 + + type + rotation + tooltip + First rotation. + + + + Rot2 + + type + rotation + tooltip + Second rotation. + + + + tooltip + Returns the angle, in radians, between rotations Rot1 and Rot2. + + llApplyImpulse + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Force + + type + vector + tooltip + Amount of impulse force to apply. + + + + Local + + type + integer + tooltip + Boolean, if TRUE, force is treated as a local directional vector instead of region directional vector. + + + + tooltip + Applies impulse to the object.\nIf Local == TRUE, apply the Force in local coordinates; otherwise, apply the Force in global coordinates.\nThis function only works on physical objects. + + llApplyRotationalImpulse + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Force + + type + vector + tooltip + Amount of impulse force to apply. + + + + Local + + type + integer + tooltip + Boolean, if TRUE, uses local axis, if FALSE, uses region axis. + + + + tooltip + Applies rotational impulse to the object.\nIf Local == TRUE, apply the Force in local coordinates; otherwise, apply the Force in global coordinates.\nThis function only works on physical objects. + + llAsin + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Value + + type + float + tooltip + A floating-point value. + + + + tooltip + Returns the arc-sine, in radians, of Value. + + llAtan2 + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + y + + type + float + tooltip + A floating-point value. + + + + x + + type + float + tooltip + A floating-point value. + + + + tooltip + Returns the arc-tangent2 of y, x. + + llAttachToAvatar + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + AttachmentPoint + + type + integer + tooltip + + + + + tooltip + Attach to avatar at point AttachmentPoint.\nRequires the PERMISSION_ATTACH runtime permission. + + llAttachToAvatarTemp + + energy + 0 + sleep + 0 + return + void + arguments + + + AttachPoint + + type + integer + tooltip + Valid attachment point or ATTACH_* constant. + + + + tooltip + Follows the same convention as llAttachToAvatar, with the exception that the object will not create new inventory for the user, and will disappear on detach or disconnect. + + llAvatarOnLinkSitTarget + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. + + + + tooltip + If an avatar is sitting on the link's sit target, return the avatar's key, NULL_KEY otherwise.\nReturns a key that is the UUID of the user seated on the specified link's prim. + + llAvatarOnSitTarget + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + tooltip + If an avatar is seated on the sit target, returns the avatar's key, otherwise NULL_KEY.\nThis only will detect avatars sitting on sit targets defined with llSitTarget. + + llAxes2Rot + + energy + 10.0 + sleep + 0.0 + return + rotation + arguments + + + Forward + + type + vector + tooltip + Forward/Back part of rotation. + + + + Left + + type + vector + tooltip + Left/Right part of rotation. + + + + Up + + type + vector + tooltip + Up/Down part of rotation. + + + + tooltip + Returns the rotation represented by coordinate axes Forward, Left, and Up. + + llAxisAngle2Rot + + energy + 10.0 + sleep + 0.0 + return + rotation + arguments + + + Axis + + type + vector + tooltip + Axis. + + + + Angle + + type + float + tooltip + Angle in radians. + + + + tooltip + Returns the rotation that is a generated Angle about Axis. + + llBase64ToInteger + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Returns an integer that is the Text, Base64 decoded as a big endian integer.\nReturns zero if Text is longer then 8 characters. If Text contains fewer then 6 characters, the return value is unpredictable. + + llBase64ToString + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Converts a Base64 string to a conventional string.\nIf the conversion creates any unprintable characters, they are converted to question marks. + + llBreakAllLinks + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + De-links all prims in the link set (requires permission PERMISSION_CHANGE_LINKS be set). + + llBreakLink + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + + + + + tooltip + De-links the prim with the given link number (requires permission PERMISSION_CHANGE_LINKS be set). + + llCastRay + + energy + 0.0 + sleep + 0.0 + return + list + arguments + + + Start + + type + vector + tooltip + + + + + End + + type + vector + tooltip + + + + + Options + + type + list + tooltip + + + + + tooltip + Casts a ray into the physics world from 'start' to 'end' and returns data according to details in Options.\nReports collision data for intersections with objects.\nReturn value: [UUID_1, {link_number_1}, hit_position_1, {hit_normal_1}, UUID_2, {link_number_2}, hit_position_2, {hit_normal_2}, ... , status_code] where {} indicates optional data. + + llCeil + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Value + + type + float + tooltip + + + + + tooltip + Returns smallest integer value >= Value. + + llClearCameraParams + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + Resets all camera parameters to default values and turns off scripted camera control. + + llClearLinkMedia + + energy + 0.0 + sleep + 0.0 + return + integer + arguments + + + Link + + type + integer + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Clears (deletes) the media and all parameters from the given Face on the linked prim.\nReturns an integer that is a STATUS_* flag, which details the success/failure of the operation. + + llClearPrimMedia + + energy + 10.0 + sleep + 0.1 + return + integer + arguments + + + Face + + type + integer + tooltip + Number of side to clear. + + + + tooltip + Clears (deletes) the media and all parameters from the given Face.\nReturns an integer that is a STATUS_* flag which details the success/failure of the operation. + + llCloseRemoteDataChannel + + energy + 10.0 + sleep + 1.0 + return + void + arguments + + + ChannelID + + type + key + tooltip + + + + + tooltip + Closes the specified XML-RPC channel. + + llCloud + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Returns the cloud density at the object's position + Offset. + + llCollisionFilter + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ObjectName + + type + string + tooltip + + + + + ObjectID + + type + key + tooltip + + + + + Accept + + type + integer + tooltip + If TRUE, only accept collisions with ObjectName name AND ObjectID (either is optional), otherwise with objects not ObjectName AND ObjectID. + + + + tooltip + Specify an empty string or NULL_KEY for Accept, to not filter on the corresponding parameter. + + llCollisionSound + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ImpactSound + + type + string + tooltip + + + + + ImpactVolume + + type + float + tooltip + + + + + tooltip + Suppress default collision sounds, replace default impact sounds with ImpactSound.\nThe ImpactSound must be in the object inventory.\nSupply an empty string to suppress collision sounds. + + llCollisionSprite + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ImpactSprite + + type + string + tooltip + + + + + tooltip + Suppress default collision sprites, replace default impact sprite with ImpactSprite; found in the object inventory (empty string to just suppress). + + llCos + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Theta + + type + float + tooltip + + + + + tooltip + Returns the cosine of Theta (Theta in radians). + + llCreateLink + + energy + 10.0 + sleep + 1.0 + return + void + arguments + + + TargetPrim + + type + key + tooltip + Object UUID that is in the same region. + + + + Parent + + type + integer + tooltip + If FALSE, then TargetPrim becomes the root. If TRUE, then the script's object becomes the root. + + + + tooltip + Attempt to link the object the script is in, to target (requires permission PERMISSION_CHANGE_LINKS be set).\nRequires permission PERMISSION_CHANGE_LINKS be set. + + llCSV2List + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Create a list from a string of comma separated values specified in Text. + + llDeleteSubList + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + Source + + type + list + tooltip + + + + + Start + + type + integer + tooltip + + + + + End + + type + integer + tooltip + + + + + tooltip + Removes the slice from start to end and returns the remainder of the list.\nRemove a slice from the list and return the remainder, start and end are inclusive.\nUsing negative numbers for start and/or end causes the index to count backwards from the length of the list, so 0, -1 would delete the entire list.\nIf Start is larger than End the list deleted is the exclusion of the entries; so 6, 4 would delete the entire list except for the 5th. list entry. + + llDeleteSubString + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Source + + type + string + tooltip + + + + + Start + + type + integer + tooltip + + + + + End + + type + integer + tooltip + + + + + tooltip + Removes the indicated sub-string and returns the result.\nStart and End are inclusive.\nUsing negative numbers for Start and/or End causes the index to count backwards from the length of the string, so 0, -1 would delete the entire string.\nIf Start is larger than End, the sub-string is the exclusion of the entries; so 6, 4 would delete the entire string except for the 5th. character. + + llDetachFromAvatar + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + Remove the object containing the script from the avatar. + + llDetectedGrab + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the grab offset of a user touching the object.\nReturns <0.0, 0.0, 0.0> if Number is not a valid object. + + llDetectedGroup + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns TRUE if detected object or agent Number has the same user group active as this object.\nIt will return FALSE if the object or agent is in the group, but the group is not active. + + llDetectedKey + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the key of detected object or avatar number.\nReturns NULL_KEY if Number is not a valid index. + + llDetectedLinkNumber + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the link position of the triggered event for touches and collisions only.\n0 for a non-linked object, 1 for the root of a linked object, 2 for the first child, etc. + + llDetectedName + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the name of detected object or avatar number.\nReturns the name of detected object number.\nReturns empty string if Number is not a valid index. + + llDetectedOwner + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the key of detected object's owner.\nReturns invalid key if Number is not a valid index. + + llDetectedPos + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the position of detected object or avatar number.\nReturns <0.0, 0.0, 0.0> if Number is not a valid index. + + llDetectedRot + + energy + 10.0 + sleep + 0.0 + return + rotation + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the rotation of detected object or avatar number.\nReturns <0.0, 0.0, 0.0, 1.0> if Number is not a valid offset. + + llDetectedTouchBinormal + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Index + + type + integer + tooltip + Index of detection information + + + + tooltip + Returns the surface bi-normal for a triggered touch event.\nReturns a vector that is the surface bi-normal (tangent to the surface) where the touch event was triggered. + + llDetectedTouchFace + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Index + + type + integer + tooltip + Index of detection information + + + + tooltip + Returns the index of the face where the avatar clicked in a triggered touch event. + + llDetectedTouchNormal + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Index + + type + integer + tooltip + Index of detection information + + + + tooltip + Returns the surface normal for a triggered touch event.\nReturns a vector that is the surface normal (perpendicular to the surface) where the touch event was triggered. + + llDetectedTouchPos + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Index + + type + integer + tooltip + Index of detected information + + + + tooltip + Returns the position, in region coordinates, where the object was touched in a triggered touch event.\nUnless it is a HUD, in which case it returns the position relative to the attach point. + + llDetectedTouchST + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Index + + type + integer + tooltip + Index of detection information + + + + tooltip + Returns a vector that is the surface coordinates where the prim was touched.\nThe X and Y vector positions contain the horizontal (S) and vertical (T) face coordinates respectively.\nEach component is in the interval [0.0, 1.0].\nTOUCH_INVALID_TEXCOORD is returned if the surface coordinates cannot be determined (e.g. when the viewer does not support this function). + + llDetectedTouchUV + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Index + + type + integer + tooltip + Index of detection information + + + + tooltip + Returns a vector that is the texture coordinates for where the prim was touched.\nThe X and Y vector positions contain the U and V face coordinates respectively.\nTOUCH_INVALID_TEXCOORD is returned if the touch UV coordinates cannot be determined (e.g. when the viewer does not support this function). + + llDetectedType + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the type (AGENT, ACTIVE, PASSIVE, SCRIPTED) of detected object.\nReturns 0 if number is not a valid index.\nNote that number is a bit-field, so comparisons need to be a bitwise checked. e.g.:\ninteger iType = llDetectedType(0);\n{\n // ...do stuff with the agent\n} + + llDetectedVel + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the velocity of the detected object Number.\nReturns<0.0, 0.0, 0.0> if Number is not a valid offset. + + llDialog + + energy + 10.0 + sleep + 0.1 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + Text + + type + string + tooltip + + + + + Buttons + + type + list + tooltip + + + + + Channel + + type + integer + tooltip + + + + + tooltip + Shows a dialog box on the avatar's screen with the message.\n + Up to 12 strings in the list form buttons.\n + If a button is clicked, the name is chatted on Channel.\nOpens a "notify box" in the given avatars screen displaying the message.\n + Up to twelve buttons can be specified in a list of strings. When the user clicks a button, the name of the button is said on the specified channel.\n + Channels work just like llSay(), so channel 0 can be heard by everyone.\n + The chat originates at the object's position, not the avatar's position, even though it is said as the avatar (uses avatar's UUID and Name etc.).\n + Examples:\n + llDialog(who, "Are you a boy or a girl?", [ "Boy", "Girl" ], -4913);\n + llDialog(who, "This shows only an OK button.", [], -192);\n + llDialog(who, "This chats so you can 'hear' it.", ["Hooray"], 0); + + llDie + + energy + 0.0 + sleep + 0.0 + return + void + arguments + + tooltip + Delete the object which holds the script. + + llDumpList2String + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Source + + type + list + tooltip + + + + + Separator + + type + string + tooltip + + + + + tooltip + Returns the list as a single string, using Separator between the entries.\nWrite the list out as a single string, using Separator between values. + + llEdgeOfWorld + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Position + + type + vector + tooltip + + + + + Direction + + type + vector + tooltip + + + + + tooltip + Checks to see whether the border hit by Direction from Position is the edge of the world (has no neighboring region).\nReturns TRUE if the line along Direction from Position hits the edge of the world in the current simulator, returns FALSE if that edge crosses into another simulator. + + llEjectFromLand + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Ejects AvatarID from land that you own.\nEjects AvatarID from land that the object owner (group or resident) owns. + + llEmail + + energy + 10.0 + sleep + 20.0 + return + void + arguments + + + Address + + type + string + tooltip + + + + + Subject + + type + string + tooltip + + + + + Text + + type + string + tooltip + + + + + tooltip + Sends email to Address with Subject and Message.\nSends an email to Address with Subject and Message. + + llEscapeURL + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + URL + + type + string + tooltip + + + + + tooltip + Returns an escaped/encoded version of url, replacing spaces with %20 etc.\nReturns the string that is the URL-escaped version of URL (replacing spaces with %20, etc.).\n + This function returns the UTF-8 encoded escape codes for selected characters. + + llEuler2Rot + + energy + 10.0 + sleep + 0.0 + return + rotation + arguments + + + Vector + + type + vector + tooltip + + + + + tooltip + Returns the rotation representation of the Euler angles.\nReturns the rotation represented by the Euler Angle. + + llFabs + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Value + + type + float + tooltip + + + + + tooltip + Returns the positive version of Value.\nReturns the absolute value of Value. + + llFloor + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Value + + type + float + tooltip + + + + + tooltip + Returns largest integer value <= Value. + + llForceMouselook + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Enable + + type + integer + tooltip + Boolean, if TRUE when an avatar sits on the prim, the avatar will be forced into mouse-look mode.\nFALSE is the default setting and will undo a previously set TRUE or do nothing. + + + + tooltip + If Enable is TRUE any avatar that sits on this object is forced into mouse-look mode.\nAfter calling this function with Enable set to TRUE, any agent sitting down on the prim will be forced into mouse-look.\nJust like llSitTarget, this changes a permanent property of the prim (not the object) and needs to be reset by calling this function with Enable set to FALSE in order to disable it. + + llFrand + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Magnitude + + type + float + tooltip + + + + + tooltip + Returns a pseudo random number in the range [0, Magnitude] or [Magnitude, 0].\nReturns a pseudo-random number between [0, Magnitude]. + + llGenerateKey + + energy + 0 + sleep + 0 + return + key + arguments + + tooltip + Generates a key (SHA-1 hash) using UUID generation to create a unique key.\nAs the UUID produced is versioned, it should never return a value of NULL_KEY.\nThe specific UUID version is an implementation detail that has changed in the past and may change again in the future. Do not depend upon the UUID that is returned to be version 5 SHA-1 hash. + + llGetAccel + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the acceleration of the object relative to the region's axes.\nGets the acceleration of the object. + + llGetAgentInfo + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Returns an integer bit-field containing the agent information about id.\n + Returns AGENT_FLYING, AGENT_ATTACHMENTS, AGENT_SCRIPTED, AGENT_SITTING, AGENT_ON_OBJECT, AGENT_MOUSELOOK, AGENT_AWAY, AGENT_BUSY, AGENT_TYPING, AGENT_CROUCHING, AGENT_ALWAYS_RUN, AGENT_WALKING and/or AGENT_IN_AIR.\nReturns information about the given agent ID as a bit-field of agent info constants. + + llGetAgentLanguage + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Returns the language code of the preferred interface language of the avatar.\nReturns a string that is the language code of the preferred interface language of the resident. + + llGetAgentList + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + Scope + + type + integer + tooltip + The scope (region, parcel, parcel same owner) to return agents for. + + + + Options + + type + list + tooltip + List of options to apply. Current unused. + + + + tooltip + Requests a list of agents currently in the region, limited by the scope parameter.\nReturns a list [key UUID-0, key UUID-1, ..., key UUID-n] or [string error_msg] - returns avatar keys for all agents in the region limited to the area(s) specified by scope + + llGetAgentSize + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + If the avatar is in the same region, returns the size of the bounding box of the requested avatar by id, otherwise returns ZERO_VECTOR.\nIf the agent is in the same region as the object, returns the size of the avatar. + + llGetAlpha + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Face + + type + integer + tooltip + + + + + tooltip + Returns the alpha value of Face.\nReturns the 'alpha' of the given face. If face is ALL_SIDES the value returned is the mean average of all faces. + + llGetAndResetTime + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns the script time in seconds and then resets the script timer to zero.\nGets the time in seconds since starting and resets the time to zero. + + llGetAnimation + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Returns the name of the currently playing locomotion animation for the avatar id.\nReturns the currently playing animation for the specified avatar ID. + + llGetAnimationList + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Returns a list of keys of playing animations for an avatar.\nReturns a list of keys of all playing animations for the specified avatar ID. + + llGetAnimationOverride + + energy + 0 + sleep + 0 + return + string + arguments + + + AnimationState + + type + string + tooltip + + + + + tooltip + Returns a string that is the name of the animation that is used for the specified animation state\nTo use this function the script must obtain either the PERMISSION_OVERRIDE_ANIMATIONS or PERMISSION_TRIGGER_ANIMATION permission (automatically granted to attached objects). + + llGetAttached + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns the object's attachment point, or 0 if not attached. + + llGetAttachedList + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + ID + + type + key + tooltip + Avatar to get attachments + + + + tooltip + Returns a list of keys of all visible (not HUD) attachments on the avatar identified by the ID argument + + llGetBoundingBox + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + ID + + type + key + tooltip + + + + + tooltip + Returns the bounding box around the object (including any linked prims) relative to its root prim, as a list in the format [ (vector) min_corner, (vector) max_corner ]. + + llGetCameraPos + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the current camera position for the agent the task has permissions for.\nReturns the position of the camera, of the user that granted the script PERMISSION_TRACK_CAMERA. If no user has granted the permission, it returns ZERO_VECTOR. + + llGetCameraRot + + energy + 10.0 + sleep + 0.0 + return + rotation + arguments + + tooltip + Returns the current camera orientation for the agent the task has permissions for. If no user has granted the PERMISSION_TRACK_CAMERA permission, returns ZERO_ROTATION. + + llGetCenterOfMass + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the prim's centre of mass (unless called from the root prim, where it returns the object's centre of mass). + + llGetColor + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Face + + type + integer + tooltip + + + + + tooltip + Returns the color on Face.\nReturns the color of Face as a vector of red, green, and blue values between 0 and 1. If face is ALL_SIDES the color returned is the mean average of each channel. + + llGetCreator + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + tooltip + Returns a key for the creator of the prim.\nReturns the key of the object's original creator. Similar to llGetOwner. + + llGetDate + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + tooltip + Returns the current date in the UTC time zone in the format YYYY-MM-DD.\nReturns the current UTC date as YYYY-MM-DD. + + llGetDisplayName + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + AvatarID + + type + key + tooltip + Avatar UUID that is in the same region, or is otherwise known to the region. + + + + tooltip + Returns the display name of an avatar, if the avatar is connected to the current region, or if the name has been cached. Otherwise, returns an empty string. Use llRequestDisplayName if the avatar may be absent from the region. + + llGetEnergy + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns how much energy is in the object as a percentage of maximum. + + llGetEnv + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + DataRequest + + type + string + tooltip + The type of data to request. Any other string will cause an empty string to be returned. + + + + tooltip + Returns a string with the requested data about the region. + + llGetForce + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the force (if the script is physical).\nReturns the current force if the script is physical. + + llGetFreeMemory + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns the number of free bytes of memory the script can use.\nReturns the available free space for the current script. This is inaccurate with LSO. + + llGetFreeURLs + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns the number of available URLs for the current script.\nReturns an integer that is the number of available URLs. + + llGetGeometricCenter + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the vector that is the geometric center of the object relative to the root prim. + + llGetGMTclock + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns the time in seconds since midnight GMT.\nGets the time in seconds since midnight in GMT/UTC. + + llGetHTTPHeader + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + HTTPRequestID + + type + key + tooltip + A valid HTTP request key + + + + Header + + type + string + tooltip + Header value name + + + + tooltip + Returns the value for header for request_id.\nReturns a string that is the value of the Header for HTTPRequestID. + + llGetInventoryCreator + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + InventoryItem + + type + string + tooltip + + + + + tooltip + Returns a key for the creator of the inventory item.\nThis function returns the UUID of the creator of item. If item is not found in inventory, the object says "No item named 'name'". + + llGetInventoryKey + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + InventoryItem + + type + string + tooltip + + + + + tooltip + Returns the key that is the UUID of the inventory named.\nReturns the key of the inventory named. + + llGetInventoryName + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + InventoryType + + type + integer + tooltip + Inventory item type + + + + Index + + type + integer + tooltip + Index number of inventory item. + + + + tooltip + Returns the name of the inventory item of a given type, specified by index number.\nUse the inventory constants INVENTORY_* to specify the type. + + llGetInventoryNumber + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + InventoryType + + type + integer + tooltip + Inventory item type + + + + tooltip + Returns the quantity of items of a given type (INVENTORY_* flag) in the prim's inventory.\nUse the inventory constants INVENTORY_* to specify the type. + + llGetInventoryPermMask + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + InventoryItem + + type + string + tooltip + Inventory item name. + + + + BitMask + + type + integer + tooltip + MASK_BASE, MASK_OWNER, MASK_GROUP, MASK_EVERYONE or MASK_NEXT + + + + tooltip + Returns the requested permission mask for the inventory item.\nReturns the requested permission mask for the inventory item defined by InventoryItem. If item is not in the object's inventory, llGetInventoryPermMask returns FALSE and causes the object to say "No item named '<item>'", where "<item>" is item. + + llGetInventoryType + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + InventoryItem + + type + string + tooltip + + + + + tooltip + Returns the type of the named inventory item.\nLike all inventory functions, llGetInventoryType is case-sensitive. + + llGetKey + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + tooltip + Returns the key of the prim the script is attached to.\nGet the key for the object which has this script. + + llGetLandOwnerAt + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + Position + + type + vector + tooltip + + + + + tooltip + Returns the key of the land owner, returns NULL_KEY if public.\nReturns the key of the land owner at Position, or NULL_KEY if public. + + llGetLinkKey + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + LinkNumber + + type + integer + tooltip + + + + + tooltip + Returns the key of the linked prim LinkNumber.\nReturns the key of LinkNumber in the link set. + + llGetLinkMedia + + energy + 0.0 + sleep + 0.0 + return + list + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag + + + + Face + + type + integer + tooltip + The prim's side number + + + + Parameters + + type + list + tooltip + A list of PRIM_* property constants to return values of. + + + + tooltip + Get the media parameters for a particular face on linked prim, given the desired list of parameter names. Returns a list of values in the order requested. Returns an empty list if no media exists on the face. + + llGetLinkName + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + LinkNumber + + type + integer + tooltip + + + + + tooltip + Returns the name of LinkNumber in a link set.\nReturns the name of LinkNumber the link set. + + llGetLinkNumber + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns the link number of the prim containing the script (0 means not linked, 1 the prim is the root, 2 the prim is the first child, etc.).\nReturns the link number of the prim containing the script. 0 means no link, 1 the root, 2 for first child, etc. + + llGetLinkNumberOfSides + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. + + + + tooltip + Returns the number of sides of the specified linked prim.\nReturns an integer that is the number of faces (or sides) of the prim link. + + llGetLinkPrimitiveParams + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. + + + + Parameters + + type + list + tooltip + PRIM_* flags. + + + + tooltip + Returns the list of primitive attributes requested in the Parameters list for LinkNumber.\nPRIM_* flags can be broken into three categories, face flags, prim flags, and object flags.\n* Supplying a prim or object flag will return that flags attributes.\n* Face flags require the user to also supply a face index parameter. + + llGetListEntryType + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + ListVariable + + type + list + tooltip + + + + + Index + + type + integer + tooltip + + + + + tooltip + Returns the type of the index entry in the list (TYPE_INTEGER, TYPE_FLOAT, TYPE_STRING, TYPE_KEY, TYPE_VECTOR, TYPE_ROTATION, or TYPE_INVALID if index is off list).\nReturns the type of the variable at Index in ListVariable. + + llGetListLength + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + ListVariable + + type + list + tooltip + + + + + tooltip + Returns the number of elements in the list.\nReturns the number of elements in ListVariable. + + llGetLocalPos + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the position relative to the root.\nReturns the local position of a child object relative to the root. + + llGetLocalRot + + energy + 10.0 + sleep + 0.0 + return + rotation + arguments + + tooltip + Returns the rotation local to the root.\nReturns the local rotation of a child object relative to the root. + + llGetMass + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns the mass of object that the script is attached to.\nReturns the scripted object's mass. When called from a script in a link-set, the parent will return the sum of the link-set weights, while a child will return just its own mass. When called from a script inside an attachment, this function will return the mass of the avatar it's attached to, not its own. + + llGetMassMKS + + energy + 0.0 + sleep + 0.0 + return + float + arguments + + tooltip + Acts as llGetMass(), except that the units of the value returned are Kg. + + llGetMaxScaleFactor + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns a float that is the largest scaling factor that can be used with llScaleByFactor to resize the object. This maximum is determined by the Linkability Rules and prim scale limits. + + llGetMemoryLimit + + energy + 0.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Get the maximum memory a script can use, in bytes. + + llGetMinScaleFactor + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns a float that is the smallest scaling factor that can be used with llScaleByFactor to resize the object. This minimum is determined by the prim scale limits. + + llGetNextEmail + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Address + + type + string + tooltip + + + + + Subject + + type + string + tooltip + + + + + tooltip + Fetch the next queued email with that matches the given address and/or subject, via the email event.\nIf the parameters are blank, they are not used for filtering. + + llGetNotecardLine + + energy + 10.0 + sleep + 0.1 + return + key + arguments + + + NotecardName + + type + string + tooltip + + + + + LineNumber + + type + integer + tooltip + + + + + tooltip + Returns LineNumber from NotecardName via the dataserver event. The line index starts at zero.\nIf the requested line is passed the end of the note-card the dataserver event will return the constant EOF string.\nThe key returned by this function is a unique identifier which will be supplied to the dataserver event in the requested parameter. + + llGetNumberOfNotecardLines + + energy + 10.0 + sleep + 0.1 + return + key + arguments + + + NotecardName + + type + string + tooltip + + + + + tooltip + Returns the number of lines contained within a notecard via the dataserver event.\nThe key returned by this function is a query ID for identifying the dataserver reply. + + llGetNumberOfPrims + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns the number of prims in a link set the script is attached to.\nReturns the number of prims in (and avatars seated on) the object the script is in. + + llGetNumberOfSides + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns the number of faces (or sides) of the prim.\nReturns the number of sides of the prim which has the script. + + llGetObjectDesc + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + tooltip + Returns the description of the prim the script is attached to.\nReturns the description of the scripted object/prim. You can set the description using llSetObjectDesc. + + llGetObjectDetails + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + ID + + type + key + tooltip + Prim or avatar UUID that is in the same region. + + + + Parameters + + type + list + tooltip + List of OBJECT_* flags. + + + + tooltip + Returns a list of object details specified in the Parameters list for the object or avatar in the region with key ID.\nParameters are specified by the OBJECT_* constants. + + llGetObjectMass + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + ID + + type + key + tooltip + + + + + tooltip + Returns the mass of the avatar or object in the region.\nGets the mass of the object or avatar corresponding to ID. + + llGetObjectName + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + tooltip + Returns the name of the prim which the script is attached to.\nReturns the name of the prim (not object) which contains the script. + + llGetObjectPermMask + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Category + + type + integer + tooltip + Category is one of MASK_BASE, MASK_OWNER, MASK_GROUP, MASK_EVERYONE, or MASK_NEXT + + + + tooltip + Returns the permission mask of the requested category for the object. + + llGetObjectPrimCount + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + ObjectID + + type + key + tooltip + + + + + tooltip + Returns the total number of prims for an object in the region.\nReturns the prim count for any object id in the same region. + + llGetOmega + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the rotation velocity in radians per second.\nReturns a vector that is the rotation velocity of the object in radians per second. + + llGetOwner + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + tooltip + Returns the object owner's UUID.\nReturns the key for the owner of the object. + + llGetOwnerKey + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + ObjectID + + type + key + tooltip + + + + + tooltip + Returns the owner of ObjectID.\nReturns the key for the owner of object ObjectID. + + llGetParcelDetails + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + Position + + type + vector + tooltip + Location within the region. + + + + ParcelDetails + + type + list + tooltip + List of details requested for the specified parcel location. + + + + tooltip + Returns a list of parcel details specified in the ParcelDetails list for the parcel at Position.\nParameters is one or more of: PARCEL_DETAILS_NAME, _DESC, _OWNER, _GROUP, _AREA, _ID, _SEE_AVATARS.\nReturns a list that is the parcel details specified in ParcelDetails (in the same order) for the parcel at Position. + + llGetParcelFlags + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Position + + type + vector + tooltip + + + + + tooltip + Returns a mask of the parcel flags (PARCEL_FLAG_*) for the parcel that includes the point Position.\nReturns a bit-field specifying the parcel flags (PARCEL_FLAG_*) for the parcel at Position. + + llGetParcelMaxPrims + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Position + + type + vector + tooltip + Region coordinates (z is ignored) of parcel. + + + + SimWide + + type + integer + tooltip + Boolean. If FALSE then the return is the maximum prims supported by the parcel. If TRUE then it is the combined number of prims on all parcels in the region owned by the specified parcel's owner. + + + + tooltip + Returns the maximum number of prims allowed on the parcel at Position for a given scope.\nThe scope may be set to an individual parcel or the combined resources of all parcels with the same ownership in the region. + + llGetParcelMusicURL + + energy + 0.0 + sleep + 0.0 + return + string + arguments + + tooltip + Gets the streaming audio URL for the parcel object is on.\nThe object owner, avatar or group, must also be the land owner. + + llGetParcelPrimCount + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Position + + type + vector + tooltip + Region coordinates of parcel to query. + + + + Category + + type + integer + tooltip + A PARCEL_COUNT_* flag. + + + + SimWide + + type + integer + tooltip + Boolean. If FALSE then the return is the maximum prims supported by the parcel. If TRUE then it is the combined number of prims on all parcels in the region owned by the specified parcel's owner. + + + + tooltip + Returns the number of prims on the parcel at Position of the given category.\nCategories: PARCEL_COUNT_TOTAL, _OWNER, _GROUP, _OTHER, _SELECTED, _TEMP.\nReturns the number of prims used on the parcel at Position which are in Category.\nIf SimWide is TRUE, it returns the total number of objects for all parcels with matching ownership in the category specified.\nIf SimWide is FALSE, it returns the number of objects on this specific parcel in the category specified + + llGetParcelPrimOwners + + energy + 10.0 + sleep + 2.0 + return + list + arguments + + + Position + + type + vector + tooltip + + + + + tooltip + Returns a list of up to 100 residents who own objects on the parcel at Position, with per-owner land impact totals.\nRequires owner-like permissions for the parcel, and for the script owner to be present in the region.\nThe list is formatted as [ key agentKey1, integer agentLI1, key agentKey2, integer agentLI2, ... ], sorted by agent key.\nThe integers are the combined land impacts of the objects owned by the corresponding agents. + + llGetPermissions + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns an integer bitmask of the permissions that have been granted to the script. Individual permissions can be determined using a bit-wise "and" operation against the PERMISSION_* constants + + llGetPermissionsKey + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + tooltip + Returns the key of the avatar that last granted or declined permissions to the script.\nReturns NULL_KEY if permissions were never granted or declined. + + llGetPhysicsMaterial + + energy + 0.0 + sleep + 0.0 + return + list + arguments + + tooltip + Returns a list of the form [float gravity_multiplier, float restitution, float friction, float density]. + + llGetPos + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the position of the task in region coordinates.\nReturns the vector position of the task in region coordinates. + + llGetPrimitiveParams + + energy + 10.0 + sleep + 0.2 + return + list + arguments + + + Parameters + + type + list + tooltip + PRIM_* flags and face parameters + + + + tooltip + Returns the primitive parameters specified in the parameters list.\nReturns primitive parameters specified in the Parameters list. + + llGetPrimMediaParams + + energy + 10.0 + sleep + 0.1 + return + list + arguments + + + Face + + type + integer + tooltip + face number + + + + Parameters + + type + list + tooltip + One or more PRIM_MEDIA_* flags + + + + tooltip + Returns the media parameters for a particular face on an object, given the desired list of parameter names, in the order requested. Returns an empty list if no media exists on the face. + + llGetRegionAgentCount + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns the number of avatars in the region.\nReturns an integer that is the number of avatars in the region. + + llGetRegionCorner + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns a vector, in meters, that is the global location of the south-west corner of the region which the object is in.\nReturns the Region-Corner of the simulator containing the task. The region-corner is a vector (values in meters) representing distance from the first region. + + llGetRegionFlags + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns the region flags (REGION_FLAG_*) for the region the object is in.\nReturns a bit-field specifying the region flags (REGION_FLAG_*) for the region the object is in. + + llGetRegionFPS + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns the mean region frames per second. + + llGetRegionName + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + tooltip + Returns the current region name. + + llGetRegionTimeDilation + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns the current time dilation as a float between 0.0 (full dilation) and 1.0 (no dilation).\nReturns the current time dilation as a float between 0.0 and 1.0. + + llGetRootPosition + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the position (in region coordinates) of the root prim of the object which the script is attached to.\nThis is used to allow a child prim to determine where the root is. + + llGetRootRotation + + energy + 10.0 + sleep + 0.0 + return + rotation + arguments + + tooltip + Returns the rotation (relative to the region) of the root prim of the object which the script is attached to.\nGets the global rotation of the root object of the object script is attached to. + + llGetRot + + energy + 10.0 + sleep + 0.0 + return + rotation + arguments + + tooltip + Returns the rotation relative to the region's axes.\nReturns the rotation. + + llGetScale + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the scale of the prim.\nReturns a vector that is the scale (dimensions) of the prim. + + llGetScriptName + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + tooltip + Returns the name of the script that this function is used in.\nReturns the name of this script. + + llGetScriptState + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + ScriptName + + type + string + tooltip + + + + + tooltip + Returns TRUE if the script named is running.\nReturns TRUE if ScriptName is running. + + llGetSimStats + + energy + 0 + sleep + 0 + return + float + arguments + + + StatType + + type + integer + tooltip + Statistic type. Currently only SIM_STAT_PCT_CHARS_STEPPED is supported. + + + + tooltip + Returns a float that is the requested statistic. + + llGetSimulatorHostname + + energy + 10.0 + sleep + 10.0 + return + string + arguments + + tooltip + Returns the host-name of the machine which the script is running on.\nFor example, "sim225.agni.lindenlab.com". + + llGetSPMaxMemory + + energy + 0.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns the maximum used memory for the current script. Only valid after using PROFILE_SCRIPT_MEMORY. Non-mono scripts always use 16k.\nReturns the integer of the most bytes used while llScriptProfiler was last active. + + llGetStartParameter + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns an integer that is the script rez parameter.\nIf the object was rezzed by an agent, this function returns 0. + + llGetStatus + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + StatusFlag + + type + integer + tooltip + A STATUS_* flag + + + + tooltip + Returns boolean value of the specified status (e.g. STATUS_PHANTOM) of the object the script is attached to. + + llGetSubString + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + String + + type + string + tooltip + + + + + Start + + type + integer + tooltip + + + + + End + + type + integer + tooltip + + + + + tooltip + Returns a sub-string from String, in a range specified by the Start and End indicies (inclusive).\nUsing negative numbers for Start and/or End causes the index to count backwards from the length of the string, so 0, -1 would capture the entire string.\nIf Start is greater than End, the sub string is the exclusion of the entries. + + llGetSunDirection + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns a normalized vector of the direction of the sun in the region.\nReturns the sun's direction on the simulator. + + llGetTexture + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Face + + type + integer + tooltip + + + + + tooltip + Returns a string that is the texture on face (the inventory name if it is a texture in the prim's inventory, otherwise the key).\nReturns the texture of a face, if it is found in object inventory, its key otherwise. + + llGetTextureOffset + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Face + + type + integer + tooltip + + + + + tooltip + Returns the texture offset of face in the x and y components of a vector. + + llGetTextureRot + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Face + + type + integer + tooltip + + + + + tooltip + Returns the texture rotation of side. + + llGetTextureScale + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Face + + type + integer + tooltip + + + + + tooltip + Returns the texture scale of side in the x and y components of a vector.\nReturns the texture scale of a side in the x and y components of a vector. + + llGetTime + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns the time in seconds since the last region reset, script reset, or call to either llResetTime or llGetAndResetTime. + + llGetTimeOfDay + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns the time in seconds since Second Life midnight or since region up-time, whichever is smaller.\nThe Second Life day cycle is 4 hours. + + llGetTimestamp + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + tooltip + Returns a time-stamp (UTC time zone) in the format: YYYY-MM-DDThh:mm:ss.ff..fZ. + + llGetTorque + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the torque (if the script is physical).\nReturns a vector that is the torque (if the script is physical). + + llGetUnixTime + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns the number of seconds elapsed since 00:00 hours, Jan 1, 1970 UTC from the system clock. + + llGetUsedMemory + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + tooltip + Returns the current used memory for the current script. Non-mono scripts always use 16K.\nReturns the integer of the number of bytes of memory currently in use by the script. Non-mono scripts always use 16K. + + llGetUsername + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Returns the username of an avatar, if the avatar is connected to the current region, or if the name has been cached. Otherwise, returns an empty string. Use llRequestUsername if the avatar may be absent from the region. + + llGetVel + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + tooltip + Returns the velocity of the object.\nReturns a vector that is the velocity of the object. + + llGetWallclock + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns the time in seconds since midnight California Pacific time (PST/PDT).\nReturns the time in seconds since simulator's time-zone midnight (Pacific Time). + + llGiveInventory + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + TargetID + + type + key + tooltip + + + + + InventoryItem + + type + string + tooltip + + + + + tooltip + Give InventoryItem to destination represented by TargetID, as permitted by the permissions system.\nTargetID may be any agent or an object in the same region. + + llGiveInventoryList + + energy + 10.0 + sleep + 3.0 + return + void + arguments + + + TargetID + + type + key + tooltip + + + + + FolderName + + type + string + tooltip + + + + + InventoryItems + + type + list + tooltip + + + + + tooltip + Give InventoryItems to destination (represented by TargetID) as a new folder of items, as permitted by the permissions system.\nTargetID may be any agent or an object in the same region. If TargetID is an object, the items are passed directly to the object inventory (no folder is created). + + llGiveMoney + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + AvatarID + + type + key + tooltip + + + + + Amount + + type + integer + tooltip + + + + + tooltip + Transfers Amount of L$ from script owner to AvatarID.\nThis call will silently fail if PERMISSION_DEBIT has not been granted. + + llGodLikeRezObject + + god-mode + true + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + InventoryItemID + + type + key + tooltip + + + + + Position + + type + vector + tooltip + + + + + tooltip + Rez directly off of a UUID if owner has god-bit set. + + llGround + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Returns the ground height at the object position + offset.\nReturns the ground height at the object's position + Offset. + + llGroundContour + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Returns the ground contour direction below the object position + Offset.\nReturns the ground contour at the object's position + Offset. + + llGroundNormal + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Returns the ground normal below the object position + offset.\nReturns the ground contour at the object's position + Offset. + + llGroundRepel + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Height + + type + float + tooltip + Distance above the ground. + + + + Water + + type + integer + tooltip + Boolean, if TRUE then hover above water too. + + + + Tau + + type + float + tooltip + Seconds to critically damp in. + + + + tooltip + Critically damps to height if within height * 0.5 of level (either above ground level or above the higher of land and water if water == TRUE).\nCritically damps to fHeight if within fHeight * 0.5 of ground or water level.\n + The height is above ground level if iWater is FALSE or above the higher of land and water if iWater is TRUE.\n + Do not use with vehicles. Only works in physics-enabled objects. + + llGroundSlope + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Returns the ground slope below the object position + Offset.\nReturns the ground slope at the object position + Offset. + + llHTTPRequest + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + URL + + type + string + tooltip + A valid HTTP/HTTPS URL. + + + + Parameters + + type + list + tooltip + Configuration parameters, specified as HTTP_* flag-value pairs. + + + + Body + + type + string + tooltip + Contents of the request. + + + + tooltip + Sends an HTTP request to the specified URL with the Body of the request and Parameters.\nReturns a key that is a handle identifying the HTTP request made. + + llHTTPResponse + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + HTTPRequestID + + type + key + tooltip + A valid HTTP request key. + + + + Status + + type + integer + tooltip + HTTP Status (200, 400, 404, etc.). + + + + Body + + type + string + tooltip + Contents of the response. + + + + tooltip + Responds to an incoming HTTP request which was triggerd by an http_request event within the script. HTTPRequestID specifies the request to respond to (this ID is supplied in the http_request event handler). Status and Body specify the status code and message to respond with. + + llInsertString + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + TargetVariable + + type + string + tooltip + + + + + Position + + type + integer + tooltip + + + + + SourceVariable + + type + string + tooltip + + + + + tooltip + Inserts SourceVariable into TargetVariable at Position, and returns the result.\nInserts SourceVariable into TargetVariable at Position and returns the result. Note this does not alter TargetVariable. + + llInstantMessage + + energy + 10.0 + sleep + 2.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + Text + + type + string + tooltip + + + + + tooltip + IMs Text to the user identified.\nSend Text to the user as an instant message. + + llIntegerToBase64 + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Value + + type + integer + tooltip + + + + + tooltip + Returns a string that is a Base64 big endian encode of Value.\nEncodes the Value as an 8-character Base64 string. + + llJson2List + + energy + 0.0 + sleep + 0.0 + return + list + arguments + + + JSON + + type + string + tooltip + + + + + tooltip + Converts the top level of the JSON string to a list. + + llJsonGetValue + + energy + 0.0 + sleep + 0.0 + return + string + arguments + + + JSON + + type + string + tooltip + + + + + Specifiers + + type + list + tooltip + + + + + tooltip + Gets the value indicated by Specifiers from the JSON string. + + llJsonSetValue + + energy + 0.0 + sleep + 0.0 + return + string + arguments + + + JSON + + type + string + tooltip + + + + + Specifiers + + type + list + tooltip + + + + + Value + + type + string + tooltip + + + + + tooltip + Returns a new JSON string that is the JSON given with the Value indicated by Specifiers set to Value. + + llJsonValueType + + energy + 0.0 + sleep + 0.0 + return + string + arguments + + + JSON + + type + string + tooltip + + + + + Specifiers + + type + list + tooltip + + + + + tooltip + Returns the type constant (JSON_*) for the value in JSON indicated by Specifiers. + + llKey2Name + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + ID + + type + key + tooltip + Avatar or rezzed prim UUID. + + + + tooltip + Returns the name of the prim or avatar specified by ID. The ID must be a valid rezzed prim or avatar key in the current simulator, otherwise an empty string is returned.\nFor avatars, the returned name is the legacy name + + llLinkParticleSystem + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag + + + + Rules + + type + list + tooltip + Particle system rules list in the format [ rule1, data1, rule2, data2 . . . ruleN, dataN ] + + + + tooltip + Creates a particle system in prim LinkNumber based on Rules. An empty list removes a particle system from object.\nList format is [ rule-1, data-1, rule-2, data-2 ... rule-n, data-n ].\nThis is identical to llParticleSystem except that it applies to a specified linked prim and not just the prim the script is in. + + llLinkSitTarget + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag of the prim. + + + + Offset + + type + vector + tooltip + Position for the sit target, relative to the prim's position. + + + + Rotation + + type + rotation + tooltip + Rotation (relative to the prim's rotation) for the avatar. + + + + tooltip + Set the sit location for the linked prim(s). If Offset == <0,0,0> clear it.\nSet the sit location for the linked prim(s). The sit location is relative to the prim's position and rotation. + + llList2CSV + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + ListVariable + + type + list + tooltip + + + + + tooltip + Creates a string of comma separated values from the list.\nCreate a string of comma separated values from the specified list. + + llList2Float + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + ListVariable + + type + list + tooltip + + + + + Index + + type + integer + tooltip + + + + + tooltip + Copies the float at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to a float, then zero is returned. + + llList2Integer + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + ListVariable + + type + list + tooltip + + + + + Index + + type + integer + tooltip + + + + + tooltip + Copies the integer at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to an integer, then zero is returned. + + llList2Json + + energy + 0 + sleep + 0 + return + string + arguments + + + JsonType + + type + string + tooltip + Type is JSON_ARRAY or JSON_OBJECT. + + + + Values + + type + list + tooltip + List of values to convert. + + + + tooltip + Converts either a strided list of key:value pairs to a JSON_OBJECT, or a list of values to a JSON_ARRAY. + + llList2Key + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + ListVariable + + type + list + tooltip + + + + + Index + + type + integer + tooltip + + + + + tooltip + Copies the key at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to a key, then null string is returned. + + llList2List + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + ListVariable + + type + list + tooltip + + + + + Start + + type + integer + tooltip + + + + + End + + type + integer + tooltip + + + + + tooltip + Returns a subset of entries from ListVariable, in a range specified by the Start and End indicies (inclusive).\nUsing negative numbers for Start and/or End causes the index to count backwards from the length of the string, so 0, -1 would capture the entire string.\nIf Start is greater than End, the sub string is the exclusion of the entries. + + llList2ListStrided + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + ListVariable + + type + list + tooltip + + + + + Start + + type + integer + tooltip + + + + + End + + type + integer + tooltip + + + + + Stride + + type + integer + tooltip + + + + + tooltip + Copies the strided slice of the list from Start to End.\nReturns a copy of the strided slice of the specified list from Start to End. + + llList2Rot + + energy + 10.0 + sleep + 0.0 + return + rotation + arguments + + + ListVariable + + type + list + tooltip + + + + + Index + + type + integer + tooltip + + + + + tooltip + Copies the rotation at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to rotation, thenZERO_ROTATION is returned. + + llList2String + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + ListVariable + + type + list + tooltip + + + + + Index + + type + integer + tooltip + + + + + tooltip + Copies the string at Index in the list.\nReturns the value at Index in the specified list as a string. If Index describes a location not in the list then null string is returned. + + llList2Vector + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + ListVariable + + type + list + tooltip + + + + + Index + + type + integer + tooltip + + + + + tooltip + Copies the vector at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to a vector, then ZERO_VECTOR is returned. + + llListen + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Channel + + type + integer + tooltip + + + + + SpeakersName + + type + string + tooltip + + + + + SpeakersID + + type + key + tooltip + + + + + Text + + type + string + tooltip + + + + + tooltip + Creates a listen callback for Text on Channel from SpeakersName and SpeakersID (SpeakersName, SpeakersID, and/or Text can be empty) and returns an identifier that can be used to deactivate or remove the listen.\nNon-empty values for SpeakersName, SpeakersID, and Text will filter the results accordingly, while empty strings and NULL_KEY will not filter the results, for string and key parameters respectively.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. + + llListenControl + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ChannelHandle + + type + integer + tooltip + + + + + Active + + type + integer + tooltip + + + + + tooltip + Makes a listen event callback active or inactive. Pass in the value returned from llListen to the iChannelHandle parameter to specify which listener you are controlling.\nUse boolean values to specify Active + + llListenRemove + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ChannelHandle + + type + integer + tooltip + + + + + tooltip + Removes a listen event callback. Pass in the value returned from llListen to the iChannelHandle parameter to specify which listener to remove. + + llListFindList + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + ListVariable + + type + list + tooltip + + + + + Find + + type + list + tooltip + + + + + tooltip + Returns the index of the first instance of Find in ListVariable. Returns -1 if not found.\nReturns the position of the first instance of the Find list in the ListVariable. Returns -1 if not found. + + llListInsertList + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + Target + + type + list + tooltip + + + + + ListVariable + + type + list + tooltip + + + + + Position + + type + integer + tooltip + + + + + tooltip + Returns a list that contains all the elements from Target but with the elements from ListVariable inserted at Position start.\nReturns a new list, created by inserting ListVariable into the Target list at Position. Note this does not alter the Target. + + llListRandomize + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + ListVariable + + type + list + tooltip + + + + + Stride + + type + integer + tooltip + + + + + tooltip + Returns a version of the input ListVariable which has been randomized by blocks of size Stride.\nIf the remainder from the length of the list, divided by the stride is non-zero, this function does not randomize the list. + + llListReplaceList + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + Target + + type + list + tooltip + + + + + ListVariable + + type + list + tooltip + + + + + Start + + type + integer + tooltip + + + + + End + + type + integer + tooltip + + + + + tooltip + Returns a list that is Target with Start through End removed and ListVariable inserted at Start.\nReturns a list replacing the slice of the Target list from Start to End with the specified ListVariable. Start and End are inclusive, so 0, 1 would replace the first two entries and 0, 0 would replace only the first list entry. + + llListSort + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + ListVariable + + type + list + tooltip + List to sort. + + + + Stride + + type + integer + tooltip + Stride length. + + + + Ascending + + type + integer + tooltip + Boolean. TRUE = result in ascending order, FALSE = result in descending order. + + + + tooltip + Returns the specified list, sorted into blocks of stride in ascending order (if Ascending is TRUE, otherwise descending). Note that sort only works if the first entry of each block is the same datatype. + + llListStatistics + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Operation + + type + integer + tooltip + One of LIST_STAT_* values + + + + ListVariable + + type + list + tooltip + Variable to analyze. + + + + tooltip + Performs a statistical aggregate function, specified by a LIST_STAT_* constant, on ListVariables.\nThis function allows a script to perform a statistical operation as defined by operation on a list composed of integers and floats. + + llLoadURL + + energy + 10.0 + sleep + 0.1 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + Text + + type + string + tooltip + + + + + URL + + type + string + tooltip + + + + + tooltip + Shows dialog to avatar AvatarID offering to load web page at URL. If user clicks yes, launches their web browser.\nllLoadURL displays a dialogue box to the user, offering to load the specified web page using the default web browser. + + llLog + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Value + + type + float + tooltip + + + + + tooltip + Returns the natural logarithm of Value. Returns zero if Value <= 0.\nReturns the base e (natural) logarithm of the specified Value. + + llLog10 + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Value + + type + float + tooltip + + + + + tooltip + Returns the base 10 logarithm of Value. Returns zero if Value <= 0.\nReturns the base 10 (common) logarithm of the specified Value. + + llLookAt + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Target + + type + vector + tooltip + + + + + Strength + + type + float + tooltip + + + + + Damping + + type + float + tooltip + + + + + tooltip + Cause object name to point its forward axis towards Target, at a force controlled by Strength and Damping.\nGood Strength values are around half the mass of the object and good Damping values are less than 1/10th of the Strength.\nAsymmetrical shapes require smaller Damping. A Strength of 0.0 cancels the look at. + + llLoopSound + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + tooltip + Plays specified Sound, looping indefinitely, at Volume (0.0 - 1.0).\nOnly one sound may be attached to an object at a time.\nA second call to llLoopSound with the same key will not restart the sound, but the new volume will be used. This allows control over the volume of already playing sounds.\nSetting the volume to 0 is not the same as calling llStopSound; a sound with 0 volume will continue to loop.\nTo restart the sound from the beginning, call llStopSound before calling llLoopSound again. + + llLoopSoundMaster + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + tooltip + Plays attached Sound, looping at volume (0.0 - 1.0), and declares it a sync master.\nBehaviour is identical to llLoopSound, with the addition of marking the source as a "Sync Master", causing "Slave" sounds to sync to it. If there are multiple masters within a viewers interest area, the most audible one (a function of both distance and volume) will win out as the master.\nThe use of multiple masters within a small area is unlikely to produce the desired effect. + + llLoopSoundSlave + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + tooltip + Plays attached sound looping at volume (0.0 - 1.0), synced to most audible sync master.\nBehaviour is identical to llLoopSound, unless there is a "Sync Master" present.\nIf a Sync Master is already playing the Slave sound will begin playing from the same point the master is in its loop synchronizing the loop points of both sounds.\nIf a Sync Master is started when the Slave is already playing, the Slave will skip to the correct position to sync with the Master. + + llManageEstateAccess + + energy + 0.0 + sleep + 0.0 + return + integer + arguments + + + Action + + type + integer + tooltip + One of the ESTATE_ACCESS_ALLOWED_* actions. + + + + AvatarID + + type + key + tooltip + UUID of the avatar or group to act upon. + + + + tooltip + Adds or removes agents from the estate's agent access or ban lists, or groups to the estate's group access list. Action is one of the ESTATE_ACCESS_ALLOWED_* operations to perform.\nReturns an integer representing a boolean, TRUE if the call was successful; FALSE if throttled, invalid action, invalid or null id or object owner is not allowed to manage the estate.\nThe object owner is notified of any changes, unless PERMISSION_SILENT_ESTATE_MANAGEMENT has been granted to the script. + + llMapDestination + + energy + 10.0 + sleep + 1.0 + return + void + arguments + + + RegionName + + type + string + tooltip + + + + + Position + + type + vector + tooltip + + + + + Direction + + type + vector + tooltip + + + + + tooltip + Opens world map for avatar who touched is is wearing the script, centred on RegionName with Position highlighted. Only works for scripts attached to avatar, or during touch events.\nDirection currently has no effect. + + llMD5String + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Text + + type + string + tooltip + + + + + Nonce + + type + integer + tooltip + + + + + tooltip + Returns a string of 32 hex characters that is an RSA Data Security Inc., MD5 Message-Digest Algorithm of Text with Nonce used as the salt.\nReturns a 32-character hex string. (128-bit in binary.) + + llMessageLinked + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + + + + + Number + + type + integer + tooltip + + + + + Text + + type + string + tooltip + + + + + ID + + type + key + tooltip + + + + + tooltip + Sends Number, Text, and ID to members of the link set identified by LinkNumber.\nLinkNumber is either a linked number (available through llGetLinkNumber) or a LINK_* constant. + + llMinEventDelay + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Delay + + type + float + tooltip + + + + + tooltip + Set the minimum time between events being handled. + + llModifyLand + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Action + + type + integer + tooltip + LAND_LEVEL, LAND_RAISE, LAND_LOWER, LAND_SMOOTH, LAND_NOISE or LAND_REVERT + + + + Area + + type + integer + tooltip + 0, 1, 2 (2m x 2m, 4m x 4m, or 8m x 8m) + + + + tooltip + Modify land with action (LAND_LEVEL, LAND_RAISE, LAND_LOWER, LAND_SMOOTH, LAND_NOISE, LAND_REVERT) on size (0, 1, 2, corresponding to 2m x 2m, 4m x 4m, 8m x 8m). + + llModPow + + energy + 10.0 + sleep + 1.0 + return + integer + arguments + + + Value + + type + integer + tooltip + + + + + Power + + type + integer + tooltip + + + + + Modulus + + type + integer + tooltip + + + + + tooltip + Returns a Value raised to the Power, mod Modulus. ((a**b)%c) b is capped at 0xFFFF (16 bits).\nReturns (Value ^ Power) % Modulus. (Value raised to the Power, Modulus). Value is capped at 0xFFFF (16 bits). + + llMoveToTarget + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Target + + type + vector + tooltip + + + + + Tau + + type + float + tooltip + + + + + tooltip + Critically damp to Target in Tau seconds (if the script is physical).\nCritically damp to position target in tau-seconds if the script is physical. Good tau-values are greater than 0.2. A tau of 0.0 stops the critical damping. + + llOffsetTexture + + energy + 10.0 + sleep + 0.2 + return + void + arguments + + + OffsetS + + type + float + tooltip + + + + + OffsetT + + type + float + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Sets the texture S and T offsets for the chosen Face.\nIf Face is ALL_SIDES this function sets the texture offsets for all faces. + + llOpenRemoteDataChannel + + deprecated + true + energy + 10.0 + sleep + 1.0 + return + void + arguments + + tooltip + Requests a channel to listen for XML-RPC calls. (Deprecated: XML-RPC should not be used. Use http-in instead.)\nWill trigger a remote_data event with type = REMOTE_DATA_CHANNEL and a channel ID (key) once it is available.\nThis channel ID must be referenced in the XML-RPC call to the script (from the internet) -- so the key must somehow get to the external XML-RPC client. + + llOverMyLand + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + ID + + type + key + tooltip + + + + + tooltip + Returns TRUE if id ID over land owned by the script owner, otherwise FALSE.\nReturns TRUE if key ID is over land owned by the object owner, FALSE otherwise. + + llOwnerSay + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Text + + type + string + tooltip + + + + + tooltip + says Text to owner only (if owner is in region).\nSays Text to the owner of the object running the script, if the owner has been within the object's simulator since logging into Second Life, regardless of where they may be in-world. + + llParcelMediaCommandList + + energy + 10.0 + sleep + 2.0 + return + void + arguments + + + CommandList + + type + list + tooltip + A list of PARCEL_MEDIA_COMMAND_* flags and their parameters + + + + tooltip + Controls the playback of multimedia resources on a parcel or for an agent, via one or more PARCEL_MEDIA_COMMAND_* arguments specified in CommandList. + + llParcelMediaQuery + + energy + 10.0 + sleep + 2.0 + return + list + arguments + + + QueryList + + type + list + tooltip + + + + + tooltip + Queries the media properties of the parcel containing the script, via one or more PARCEL_MEDIA_COMMAND_* arguments specified in CommandList.\nThis function will only work if the script is contained within an object owned by the land-owner (or if the land is owned by a group, only if the object has been deeded to the group). + + llParseString2List + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + Text + + type + string + tooltip + + + + + Separators + + type + list + tooltip + + + + + Spacers + + type + list + tooltip + + + + + tooltip + Converts Text into a list, discarding Separators, keeping Spacers (Separators and Spacers must be lists of strings, maximum of 8 each).\nSeparators and Spacers are lists of strings with a maximum of 8 entries each. + + llParseStringKeepNulls + + energy + 10.0 + sleep + 0.0 + return + list + arguments + + + Text + + type + string + tooltip + + + + + Separators + + type + list + tooltip + + + + + Spacers + + type + list + tooltip + + + + + tooltip + Breaks Text into a list, discarding separators, keeping spacers, keeping any null values generated. (separators and spacers must be lists of strings, maximum of 8 each).\nllParseStringKeepNulls works almost exactly like llParseString2List, except that if a null is found it will add a null-string instead of discarding it like llParseString2List does. + + llParticleSystem + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Parameters + + type + list + tooltip + + + + + tooltip + Creates a particle system in the prim the script is attached to, based on Parameters. An empty list removes a particle system from object.\nList format is [ rule-1, data-1, rule-2, data-2 ... rule-n, data-n ]. + + llPassCollisions + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Pass + + type + integer + tooltip + Boolean, if TRUE, collisions are passed from children on to parents. + + + + tooltip + Configures how collision events are passed to scripts in the linkset.\nIf Pass == TRUE, collisions involving collision-handling scripted child prims are also passed on to the root prim. If Pass == FALSE (default behavior), such collisions will only trigger events in the affected child prim. + + llPassTouches + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Pass + + type + integer + tooltip + Boolean, if TRUE, touches are passed from children on to parents. + + + + tooltip + Configures how touch events are passed to scripts in the linkset.\nIf Pass == TRUE, touches involving touch-handling scripted child prims are also passed on to the root prim. If Pass == FALSE (default behavior), such touches will only trigger events in the affected child prim. + + llPlaySound + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + tooltip + Plays Sound once, at Volume (0.0 - 1.0) and attached to the object.\nOnly one sound may be attached to an object at a time, and attaching a new sound or calling llStopSound will stop the previously attached sound.\nA second call to llPlaySound with the same sound will not restart the sound, but the new volume will be used, which allows control over the volume of already playing sounds.\nTo restart the sound from the beginning, call llStopSound before calling llPlaySound again. + + llPlaySoundSlave + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + tooltip + Plays attached Sound once, at Volume (0.0 - 1.0), synced to next loop of most audible sync master.\nBehaviour is identical to llPlaySound, unless there is a "Sync Master" present. If a Sync Master is already playing, the Slave sound will not be played until the Master hits its loop point and returns to the beginning.\nllPlaySoundSlave will play the sound exactly once; if it is desired to have the sound play every time the Master loops, either use llLoopSoundSlave with extra silence padded on the end of the sound or ensure that llPlaySoundSlave is called at least once per loop of the Master. + + llPow + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Value + + type + float + tooltip + + + + + Exponent + + type + float + tooltip + + + + + tooltip + Returns the Value raised to the power Exponent, or returns 0 and triggers Math Error for imaginary results.\nReturns the Value raised to the Exponent. + + llPreloadSound + + energy + 10.0 + sleep + 1.0 + return + void + arguments + + + Sound + + type + string + tooltip + + + + + tooltip + Causes nearby viewers to preload the Sound from the object's inventory.\nThis is intended to prevent delays in starting new sounds when called upon. + + llPushObject + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ObjectID + + type + key + tooltip + + + + + Impulse + + type + vector + tooltip + + + + + AngularImpulse + + type + vector + tooltip + + + + + Local + + type + integer + tooltip + + + + + tooltip + Applies Impulse and AngularImpulse to ObjectID.\nApplies the supplied impulse and angular impulse to the object specified. + + llRefreshPrimURL + + energy + 10.0 + sleep + 20.0 + return + void + arguments + + tooltip + Reloads the web page shown on the sides of the object. + + llRegionSay + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Channel + + type + integer + tooltip + Any integer value except zero. + + + + Text + + type + string + tooltip + Message to be transmitted. + + + + tooltip + Broadcasts Text to entire region on Channel (except for channel 0). + + llRegionSayTo + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + TargetID + + type + key + tooltip + Avatar or object to say to. + + + + Channel + + type + integer + tooltip + Output channel, any integer value. + + + + Text + + type + string + tooltip + Message to be transmitted. + + + + tooltip + Says Text, on Channel, to avatar or object indicated by TargetID (if within region).\nIf TargetID is an avatar and Channel is nonzero, Text can be heard by any attachment on the avatar. + + llReleaseCamera + + deprecated + true + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Return camera to agent.\nDeprecated: Use llClearCameraParams instead. + + llReleaseControls + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + Stop taking inputs.\nStop taking inputs from the avatar. + + llReleaseURL + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + URL + + type + string + tooltip + URL to release. + + + + tooltip + Releases the specified URL, which was previously obtained using llRequestURL. Once released, the URL will no longer be usable. + + llRemoteDataReply + + deprecated + true + energy + 10.0 + sleep + 3.0 + return + void + arguments + + + ChannelID + + type + key + tooltip + + + + + MessageID + + type + key + tooltip + + + + + sData + + type + string + tooltip + String data to send + + + + iData + + type + integer + tooltip + Integer data to send + + + + tooltip + Send an XML-RPC reply to MessageID on ChannelID with payload of string sData and integer iData. Deprecated: Use HTTP functions/events instead.\nThe size of sData is limited to 254 characters. + + llRemoteLoadScriptPin + + energy + 10.0 + sleep + 3.0 + return + void + arguments + + + ObjectID + + type + key + tooltip + Target prim to attempt copying into. + + + + ScriptName + + type + string + tooltip + Name of the script in current inventory to copy. + + + + PIN + + type + integer + tooltip + Integer set on target prim as a Personal Information Number code. + + + + Running + + type + integer + tooltip + If the script should be set running in the target prim. + + + + StartParameter + + type + integer + tooltip + Integer. Parameter passed to the script if set to be running. + + + + tooltip + If the owner of the object containing this script can modify the object identified by the specified object key, and if the PIN matches the PIN previously set using llSetRemoteScriptAccessPin (on the target prim), then the script will be copied into target. Running is a boolean specifying whether the script should be enabled once copied into the target object. + + llRemoveFromLandBanList + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Remove avatar from the land ban list.\nRemove specified avatar from the land parcel ban list. + + llRemoveFromLandPassList + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Remove avatar from the land pass list.\nRemove specified avatar from the land parcel pass list. + + llRemoveInventory + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + InventoryItem + + type + string + tooltip + + + + + tooltip + Remove the named inventory item.\nRemove the named inventory item from the object inventory. + + llRemoveVehicleFlags + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Vehiclelags + + type + integer + tooltip + + + + + tooltip + Removes the enabled bits in 'flags'.\nSets the vehicle flags to FALSE. Valid parameters can be found in the vehicle flags constants section. + + llRequestAgentData + + energy + 10.0 + sleep + 0.1 + return + key + arguments + + + AvatarID + + type + key + tooltip + + + + + Data + + type + integer + tooltip + + + + + tooltip + Requests data about AvatarID. When data is available the dataserver event will be raised.\nThis function requests data about an avatar. If and when the information is collected, the dataserver event is triggered with the key returned from this function passed in the requested parameter. See the agent data constants (DATA_*) for details about valid values of data and what each will return in the dataserver event. + + llRequestDisplayName + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + AvatarID + + type + key + tooltip + Avatar UUID + + + + tooltip + Requests the display name of the agent. When the display name is available the dataserver event will be raised.\nThe avatar identified does not need to be in the same region or online at the time of the request.\nReturns a key that is used to identify the dataserver event when it is raised. + + llRequestInventoryData + + energy + 10.0 + sleep + 1.0 + return + key + arguments + + + InventoryItem + + type + string + tooltip + + + + + tooltip + Requests data for the named InventoryItem.\nWhen data is available, the dataserver event will be raised with the key returned from this function in the requested parameter.\nThe only request currently implemented is to request data from landmarks, where the data returned is in the form "<float, float, float>" which can be cast to a vector. This position is in region local coordinates. + + llRequestPermissions + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + PermissionMask + + type + integer + tooltip + + + + + tooltip + Ask AvatarID to allow the script to perform certain actions, specified in the PermissionMask bitmask. PermissionMask should be one or more PERMISSION_* constants. Multiple permissions can be requested simultaneously by ORing the constants together. Many of the permissions requests can only go to object owner.\nThis call will not stop script execution. If the avatar grants the requested permissions, the run_time_permissions event will be called. + + llRequestSecureURL + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + tooltip + Requests one HTTPS:// (SSL) URL for use by this object. The http_request event is triggered with results.\nReturns a key that is the handle used for identifying the request in the http_request event. + + llRequestSimulatorData + + energy + 10.0 + sleep + 1.0 + return + key + arguments + + + RegionName + + type + string + tooltip + + + + + Data + + type + integer + tooltip + + + + + tooltip + Requests the specified Data about RegionName. When the specified data is available, the dataserver event is raised.\nData should use one of the DATA_SIM_* constants.\nReturns a dataserver query ID and triggers the dataserver event when data is found. + + llRequestURL + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + tooltip + Requests one HTTP:// URL for use by this script. The http_request event is triggered with the result of the request.\nReturns a key that is the handle used for identifying the result in the http_request event. + + llRequestUsername + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Requests single-word user-name of an avatar. When data is available the dataserver event will be raised.\nRequests the user-name of the identified agent. When the user-name is available the dataserver event is raised.\nThe agent identified does not need to be in the same region or online at the time of the request.\nReturns a key that is used to identify the dataserver event when it is raised. + + llResetAnimationOverride + + energy + 0 + sleep + 0 + return + void + arguments + + + AnimationState + + type + string + tooltip + + + + + tooltip + Resets the animation of the specified animation state to the default value.\nIf animation state equals "ALL", then all animation states are reset. + + llResetLandBanList + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + Removes all residents from the land ban list. + + llResetLandPassList + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + Removes all residents from the land access/pass list. + + llResetOtherScript + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ScriptName + + type + string + tooltip + + + + + tooltip + Resets the named script. + + llResetScript + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + Resets the script. + + llResetTime + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + Sets the time to zero.\nSets the internal timer to zero. + + llReturnObjectsByID + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + ObjectIDs + + type + list + tooltip + List of object UUIDs to be returned. + + + + tooltip + Return objects using their UUIDs.\nRequires the PERMISSION_RETURN_OBJECTS permission and that the script owner owns the parcel the returned objects are in, or is an estate manager or region owner. + + llReturnObjectsByOwner + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + ID + + type + key + tooltip + Object owner's UUID. + + + + Scope + + type + integer + tooltip + + + + + tooltip + Return objects based upon their owner and a scope of parcel, parcel owner, or region.\nRequires the PERMISSION_RETURN_OBJECTS permission and that the script owner owns the parcel the returned objects are in, or is an estate manager or region owner. + + llRezAtRoot + + energy + 200.0 + sleep + 0.1 + return + void + arguments + + + InventoryItem + + type + string + tooltip + + + + + Position + + type + vector + tooltip + + + + + Velocity + + type + vector + tooltip + + + + + Rotation + + type + rotation + tooltip + + + + + StartParameter + + type + integer + tooltip + + + + + tooltip + Instantiate owner's InventoryItem at Position with Velocity, Rotation and with StartParameter. The last selected root object's location will be set to Position.\nCreates object's inventory item at the given Position, with Velocity, Rotation, and StartParameter. + + llRezObject + + energy + 200 + sleep + 0.1 + return + void + arguments + + + InventoryItem + + type + string + tooltip + + + + + Position + + type + vector + tooltip + + + + + Velocity + + type + vector + tooltip + + + + + Rotation + + type + rotation + tooltip + + + + + StartParameter + + type + integer + tooltip + + + + + tooltip + Instantiate owners InventoryItem at Position with Velocity, Rotation and with start StartParameter.\nCreates object's inventory item at Position with Velocity and Rotation supplied. The StartParameter value will be available to the newly created object in the on_rez event or through the llGetStartParameter function.\nThe Velocity parameter is ignored if the rezzed object is not physical. + + llRot2Angle + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Returns the rotation angle represented by Rotation.\nReturns the angle represented by the Rotation. + + llRot2Axis + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Returns the rotation axis represented by Rotation.\nReturns the axis represented by the Rotation. + + llRot2Euler + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Returns the Euler representation (roll, pitch, yaw) of Rotation.\nReturns the Euler Angle representation of the Rotation. + + llRot2Fwd + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Returns the forward vector defined by Rotation.\nReturns the forward axis represented by the Rotation. + + llRot2Left + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Returns the left vector defined by Rotation.\nReturns the left axis represented by the Rotation. + + llRot2Up + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Returns the up vector defined by Rotation.\nReturns the up axis represented by the Rotation. + + llRotateTexture + + energy + 10.0 + sleep + 0.2 + return + void + arguments + + + Radians + + type + float + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Sets the texture rotation for the specified Face to angle Radians.\nIf Face is ALL_SIDES, rotates the texture of all sides. + + llRotBetween + + energy + 10.0 + sleep + 0.0 + return + rotation + arguments + + + Vector1 + + type + vector + tooltip + + + + + Vector2 + + type + vector + tooltip + + + + + tooltip + Returns the rotation to rotate Vector1 to Vector2.\nReturns the rotation needed to rotate Vector1 to Vector2. + + llRotLookAt + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Rotation + + type + rotation + tooltip + + + + + Strength + + type + float + tooltip + + + + + Damping + + type + float + tooltip + + + + + tooltip + Cause object to rotate to Rotation, with a force function defined by Strength and Damping parameters. Good strength values are around half the mass of the object and good damping values are less than 1/10th of the strength.\nAsymmetrical shapes require smaller damping.\nA strength of 0.0 cancels the look at. + + llRotTarget + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Rotation + + type + rotation + tooltip + + + + + LeeWay + + type + float + tooltip + + + + + tooltip + Set rotations with error of LeeWay radians as a rotational target, and return an ID for the rotational target.\nThe returned number is a handle that can be used in at_rot_target and llRotTargetRemove. + + llRotTargetRemove + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Handle + + type + integer + tooltip + + + + + tooltip + Removes rotational target number.\nRemove rotational target indicated by the handle. + + llRound + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Value + + type + float + tooltip + + + + + tooltip + Returns Value rounded to the nearest integer.\nReturns the Value rounded to the nearest integer. + + llSameGroup + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + ID + + type + key + tooltip + + + + + tooltip + Returns TRUE if avatar ID is in the same region and has the same active group, otherwise FALSE.\nReturns TRUE if the object or agent identified is in the same simulator and has the same active group as this object. Otherwise, returns FALSE. + + llSay + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Channel + + type + integer + tooltip + Channel to use to say text on. + + + + Text + + type + string + tooltip + Text to say. + + + + tooltip + Says Text on Channel.\nThis chat method has a range of 20m radius.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. + + llScaleByFactor + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + ScalingFactor + + type + float + tooltip + The multiplier to be used with the prim sizes and their local positions. + + + + tooltip + Attempts to resize the entire object by ScalingFactor, maintaining the size-position ratios of the prims.\n\nResizing is subject to prim scale limits and linkability limits. This function can not resize the object if the linkset is physical, a pathfinding character, in a keyframed motion, or if resizing would cause the parcel to overflow.\nReturns a boolean (an integer) TRUE if it succeeds, FALSE if it fails. + + llScaleTexture + + energy + 10.0 + sleep + 0.2 + return + void + arguments + + + Horizontal + + type + float + tooltip + + + + + Vertical + + type + float + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Sets the diffuse texture Horizontal and Vertical repeats on Face of the prim the script is attached to.\nIf Face == ALL_SIDES, all sides are set in one call.\nNegative values for horizontal and vertical will flip the texture. + + llScriptDanger + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Position + + type + vector + tooltip + + + + + tooltip + Returns TRUE if Position is over public land, sandbox land, land that doesn't allow everyone to edit and build, or land that doesn't allow outside scripts.\nReturns true if the position is over public land, land that doesn't allow everyone to edit and build, or land that doesn't allow outside scripts. + + llScriptProfiler + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + State + + type + integer + tooltip + PROFILE_NONE or PROFILE_SCRIPT_MEMORY flags to control the state. + + + + tooltip + Enables or disables script profiling options. Currently only supports PROFILE_SCRIPT_MEMORY (Mono only) and PROFILE_NONE.\nMay significantly reduce script performance. + + llSendRemoteData + + deprecated + true + energy + 10.0 + sleep + 3.0 + return + key + arguments + + + ChannelID + + type + key + tooltip + + + + + Destination + + type + string + tooltip + + + + + Value + + type + integer + tooltip + + + + + Text + + type + string + tooltip + + + + + tooltip + Deprecated: use HTTP functions and events instead.\nSends an XML-RPC request to Destination through ChannelID with payload of ChannelID (in a string), integer Value and string Text.\nReturns a key that is the message_id for the resulting remote_data events. + + llSensor + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Name + + type + string + tooltip + Object or avatar name. + + + + ID + + type + key + tooltip + Object or avatar UUID. + + + + Type + + type + integer + tooltip + Bit-field mask of AGENT, AGENT_BY_LEGACY_NAME, AGENT_BY_USERNAME, ACTIVE, PASSIVE, and/or SCRIPTED + + + + Range + + type + float + tooltip + Distance to scan. 0.0 - 96.0m. + + + + Arc + + type + float + tooltip + Angle, in radians, from the local x-axis of the prim to scan. + + + + tooltip + Performs a single scan for Name and ID with Type (AGENT, ACTIVE, PASSIVE, and/or SCRIPTED) within Range meters and Arc radians of forward vector.\nSpecifying a blank Name, 0 Type, or NULL_KEY ID will prevent filtering results based on that parameter. A range of 0.0 does not perform a scan.\nResults are returned in the sensor and no_sensor events. + + llSensorRemove + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + removes sensor.\nRemoves the sensor set by llSensorRepeat. + + llSensorRepeat + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Name + + type + string + tooltip + Object or avatar name. + + + + ID + + type + key + tooltip + Object or avatar UUID. + + + + Type + + type + integer + tooltip + Bit-field mask of AGENT, AGENT_BY_LEGACY_NAME, AGENT_BY_USERNAME, ACTIVE, PASSIVE, and/or SCRIPTED + + + + Range + + type + float + tooltip + Distance to scan. 0.0 - 96.0m. + + + + Arc + + type + float + tooltip + Angle, in radians, from the local x-axis of the prim to scan. + + + + Rate + + type + float + tooltip + Period, in seconds, between scans. + + + + tooltip + Initiates a periodic scan every Rate seconds, for Name and ID with Type (AGENT, ACTIVE, PASSIVE, and/or SCRIPTED) within Range meters and Arc radians of forward vector.\nSpecifying a blank Name, 0 Type, or NULL_KEY ID will prevent filtering results based on that parameter. A range of 0.0 does not perform a scan.\nResults are returned in the sensor and no_sensor events. + + llSetAlpha + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Opacity + + type + float + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Sets the alpha (opacity) of Face.\nSets the alpha (opacity) value for Face. If Face is ALL_SIDES, sets the alpha for all faces. The alpha value is interpreted as an opacity percentage (1.0 is fully opaque, and 0.2 is mostly transparent). This function will clamp alpha values less than 0.1 to 0.1 and greater than 1.0 to 1. + + llSetAngularVelocity + + energy + 0.0 + sleep + 0.0 + return + void + arguments + + + AngVel + + type + vector + tooltip + The angular velocity to set the object to. + + + + Local + + type + integer + tooltip + If TRUE, the AngVel is treated as a local directional vector instead of a regional directional vector. + + + + tooltip + Sets an object's angular velocity to AngVel, in local coordinates if Local == TRUE (if the script is physical).\nHas no effect on non-physical objects. + + llSetAnimationOverride + + energy + 0 + sleep + 0 + return + void + arguments + + + AnimationState + + type + string + tooltip + + + + + AnimationName + + type + string + tooltip + + + + + tooltip + Sets the animation (in object inventory) that will play for the given animation state.\nTo use this function the script must obtain the PERMISSION_OVERRIDE_ANIMATIONS permission. + + llSetBuoyancy + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Buoyancy + + type + float + tooltip + + + + + tooltip + Set the tasks buoyancy (0 is none, < 1.0 sinks, 1.0 floats, > 1.0 rises).\nSet the object buoyancy. A value of 0 is none, less than 1.0 sinks, 1.0 floats, and greater than 1.0 rises. + + llSetCameraAtOffset + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Sets the camera used in this object, at offset, if an avatar sits on it.\nSets the offset that an avatar's camera will be moved to if the avatar sits on the object. + + llSetCameraEyeOffset + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Sets the camera eye offset used in this object if an avatar sits on it. + + llSetCameraParams + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Parameters + + type + list + tooltip + + + + + tooltip + Sets multiple camera parameters at once. List format is [ rule-1, data-1, rule-2, data-2 . . . rule-n, data-n ]. + + llSetClickAction + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Action + + type + integer + tooltip + A CLICK_ACTION_* flag + + + + tooltip + Sets the action performed when a prim is clicked upon. + + llSetColor + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Color + + type + vector + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Sets the color, for the face.\nSets the color of the side specified. If Face is ALL_SIDES, sets the color on all faces. + + llSetContentType + + energy + 0.0 + sleep + 0.0 + return + void + arguments + + + HTTPRequestID + + type + key + tooltip + A valid http_request() key + + + + ContentType + + type + integer + tooltip + Media type to use with any following llHTTPResponse(HTTPRequestID, ...) + + + + tooltip + Set the media type of an LSL HTTP server response to ContentType.\nHTTPRequestID must be a valid http_request ID. ContentType must be one of the CONTENT_TYPE_* constants. + + llSetDamage + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Damage + + type + float + tooltip + + + + + tooltip + Sets the amount of damage that will be done to an avatar that this task hits. Task will be killed.\nSets the amount of damage that will be done to an avatar that this object hits. This object will be destroyed on damaging an avatar, and no collision event is triggered. + + llSetForce + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Force + + type + vector + tooltip + Directional force. + + + + Local + + type + integer + tooltip + Boolean, if TRUE uses local axis, if FALSE uses region axis. + + + + tooltip + Sets Force on object, in object-local coordinates if Local == TRUE (otherwise, the region reference frame is used).\nOnly works on physical objects. + + llSetForceAndTorque + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Force + + type + vector + tooltip + Directional force. + + + + Torque + + type + vector + tooltip + Torque force. + + + + Local + + type + integer + tooltip + Boolean, if TRUE uses local axis, if FALSE uses region axis. + + + + tooltip + Sets the Force and Torque of object, in object-local coordinates if Local == TRUE (otherwise, the region reference frame is used).\nOnly works on physical objects. + + llSetHoverHeight + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Height + + type + float + tooltip + Distance above the ground. + + + + Water + + type + integer + tooltip + Boolean, if TRUE then hover above water too. + + + + Tau + + type + float + tooltip + Seconds to critically damp in. + + + + tooltip + Critically damps a physical object to a Height (either above ground level or above the higher of land and water if water == TRUE).\nDo not use with vehicles. Use llStopHover to stop hovering. + + llSetInventoryPermMask + + god-mode + true + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + InventoryItem + + type + string + tooltip + An item in the prim's inventory + + + + PermissionFlag + + type + integer + tooltip + MASK_* flag + + + + PermissionMask + + type + integer + tooltip + Permission bit-field (PERM_* flags) + + + + tooltip + Sets the given permission mask to the new value on the inventory item. + + llSetKeyframedMotion + + energy + 0.0 + sleep + 0.0 + return + void + arguments + + + Keyframes + + type + list + tooltip + Strided keyframe list of the form: position, orientation, time. Each keyframe is interpreted relative to the previous transform of the object. + + + + Options + + type + list + tooltip + + + + + tooltip + Requests that a non-physical object be key-framed according to key-frame list.\nSpecify a list of times, positions, and orientations to be followed by an object. The object will be smoothly moved between key-frames by the simulator. Collisions with other non-physical or key-framed objects will be ignored (no script events will fire and collision processing will not occur). Collisions with physical objects will be computed and reported, but the key-framed object will be unaffected by those collisions.\nKeyframes is a strided list containing positional, rotational, and time data for each step in the motion. Options is a list containing optional arguments and parameters (specified by KFM_* constants). + + llSetLinkAlpha + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + + + + + Opacity + + type + float + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + If a prim exists in the link chain at LinkNumber, set Face to Opacity.\nSets the Face, on the linked prim specified, to the Opacity. + + llSetLinkCamera + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + Prim link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag + + + + EyeOffset + + type + vector + tooltip + Offset, relative to the object's centre and expressed in local coordinates, that the camera looks from. + + + + LookOffset + + type + vector + tooltip + Offset, relative to the object's centre and expressed in local coordinates, that the camera looks toward. + + + + tooltip + Sets the camera eye offset, and the offset that camera is looking at, for avatars that sit on the linked prim. + + llSetLinkColor + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. + + + + Color + + type + vector + tooltip + Color in RGB <R.R, G.G, B.B> + + + + Face + + type + integer + tooltip + Side number or ALL_SIDES. + + + + tooltip + If a task exists in the link chain at LinkNumber, set the Face to color.\nSets the color of the linked child's side, specified by LinkNumber. + + llSetLinkMedia + + energy + 0.0 + sleep + 0.0 + return + integer + arguments + + + Link + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims). + + + + Face + + type + integer + tooltip + Face number. + + + + Parameters + + type + list + tooltip + A set of name/value pairs (in no particular order) + + + + tooltip + Set the media parameters for a particular face on linked prim, specified by Link. Returns an integer that is a STATUS_* flag which details the success/failure of the operation(s).\nMediaParameters is a set of name/value pairs in no particular order. Parameters not specified are unchanged, or if new media is added then set to the default specified. + + llSetLinkPrimitiveParams + + energy + 10.0 + sleep + 0.2 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag + + + + Parameters + + type + list + tooltip + + + + + tooltip + Set primitive parameters for LinkNumber based on Parameters.\nSets the parameters (or properties) of any linked prim in one step. + + llSetLinkPrimitiveParamsFast + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag + + + + Parameters + + type + list + tooltip + + + + + tooltip + Set primitive parameters for LinkNumber based on Parameters, without a delay.\nSet parameters for link number, from the list of Parameters, with no built-in script sleep. This function is identical to llSetLinkPrimitiveParams, except without the delay. + + llSetLinkTexture + + energy + 10.0 + sleep + 0.2 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + + + + + Texture + + type + string + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Sets the Texture of Face on a linked prim, specified by LinkNumber. Texture may be a UUID or name of a texture in prim inventory. + + llSetLinkTextureAnim + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag to effect + + + + Mode + + type + integer + tooltip + Bitmask of animation options. + + + + Face + + type + integer + tooltip + Specifies which object face to animate or ALL_SIDES. + + + + SizeX + + type + integer + tooltip + Horizontal frames (ignored for ROTATE and SCALE). + + + + SizeY + + type + integer + tooltip + Vertical frames (ignored for ROTATE and SCALE). + + + + Start + + type + float + tooltip + Start position/frame number (or radians for ROTATE). + + + + Length + + type + float + tooltip + Specifies the animation duration, in frames (or radians for ROTATE). + + + + Rate + + type + float + tooltip + Specifies the animation playback rate, in frames per second (must be greater than zero). + + + + tooltip + Animates a texture on the prim specified by LinkNumber, by setting the texture scale and offset.\nMode is a bitmask of animation options.\nFace specifies which object face to animate.\nSizeX and SizeY specify the number of horizontal and vertical frames.Start specifes the animation start point.\nLength specifies the animation duration.\nRate specifies the animation playback rate. + + llSetLocalRot + + energy + 10.0 + sleep + 0.2 + return + void + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Sets the rotation of a child prim relative to the root prim. + + llSetMemoryLimit + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Limit + + type + integer + tooltip + The amount to reserve, which must be less than the allowed maximum (currently 64KB) and not already have been exceeded. + + + + tooltip + Requests Limit bytes to be reserved for this script.\nReturns TRUE or FALSE indicating whether the limit was set successfully.\nThis function has no effect if the script is running in the LSO VM. + + llSetObjectDesc + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Description + + type + string + tooltip + + + + + tooltip + Sets the description of the prim to Description.\nThe description field is limited to 127 characters. + + llSetObjectName + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Name + + type + string + tooltip + + + + + tooltip + Sets the prim's name to Name. + + llSetObjectPermMask + + god-mode + true + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + PermissionFlag + + type + integer + tooltip + MASK_* flag + + + + PermissionMask + + type + integer + tooltip + Permission bit-field (PERM_* flags) + + + + tooltip + Sets the specified PermissionFlag permission to the value specified by PermissionMask on the object the script is attached to. + + llSetParcelMusicURL + + energy + 10.0 + sleep + 2.0 + return + void + arguments + + + URL + + type + string + tooltip + + + + + tooltip + Sets the streaming audio URL for the parcel the object is on.\nThe object must be owned by the owner of the parcel; if the parcel is group owned the object must be owned by that group. + + llSetPayPrice + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Price + + type + integer + tooltip + The default price shown in the textu input field. + + + + QuickButtons + + type + list + tooltip + Specifies the 4 payment values shown in the payment dialog's buttons (or PAY_HIDE). + + + + tooltip + Sets the default amount when someone chooses to pay this object.\nPrice is the default price shown in the textu input field. QuickButtons specifies the 4 payment values shown in the payment dialog's buttons.\nInput field and buttons may be hidden with PAY_HIDE constant, and may be set to their default values using PAY_DEFAULT. + + llSetPhysicsMaterial + + energy + 0.0 + sleep + 0.0 + return + void + arguments + + + MaterialBits + + type + integer + tooltip + A bitmask specifying which of the parameters in the other arguments should be applied to the object. + + + + GravityMultiplier + + type + float + tooltip + + + + + Restitution + + type + float + tooltip + + + + + Friction + + type + float + tooltip + + + + + Density + + type + float + tooltip + + + + + tooltip + Sets the selected parameters of the object's physics behavior.\nMaterialBits is a bitmask specifying which of the parameters in the other arguments should be applied to the object. GravityMultiplier, Restitution, Friction, and Density are the possible parameters to manipulate. + + llSetPos + + energy + 10.0 + sleep + 0.2 + return + void + arguments + + + Position + + type + vector + tooltip + Region coordinates to move to (within 10m). + + + + tooltip + If the object is not physical, this function sets the position of the prim.\nIf the script is in a child prim, Position is treated as root relative and the link-set is adjusted.\nIf the prim is the root prim, the entire object is moved (up to 10m) to Position in region coordinates. + + llSetPrimitiveParams + + energy + 10.0 + sleep + 0.2 + return + void + arguments + + + Parameters + + type + list + tooltip + A list of changes. + + + + tooltip + This function changes the many properties (or "parameters") of a prim in one operation. Parameters is a list of changes. + + llSetPrimMediaParams + + energy + 10.0 + sleep + 1.0 + return + integer + arguments + + + Face + + type + integer + tooltip + Face number + + + + MediaParameters + + type + list + tooltip + A set of name/value pairs (in no particular order) + + + + tooltip + Sets the MediaParameters for a particular Face on the prim. Returns an integer that is a STATUS_* flag which details the success/failure of the operation(s).\nMediaParameters is a set of name/value pairs in no particular order. Parameters not specified are unchanged, or if new media is added then set to the default specified. + + llSetPrimURL + + deprecated + true + energy + 10.0 + sleep + 20.0 + return + void + arguments + + + URL + + type + string + tooltip + + + + + tooltip + Deprecated: Use llSetPrimMediaParams instead. + + llSetRegionPos + + energy + 0.0 + sleep + 0.0 + return + integer + arguments + + + Position + + type + vector + tooltip + Vector. The location to move to, in region coordinates. + + + + tooltip + Attempts to move the object so that the root prim is within 0.1m of Position.\nReturns an integer boolean, TRUE if the object is successfully placed within 0.1 m of Position, FALSE otherwise.\nPosition may be any location within the region or up to 10m across a region border.\nIf the position is below ground, it will be set to the ground level at that x,y location. + + llSetRemoteScriptAccessPin + + energy + 10.0 + sleep + 0.2 + return + void + arguments + + + PIN + + type + integer + tooltip + + + + + tooltip + If PIN is set to a non-zero number, the task will accept remote script loads via llRemoteLoadScriptPin() if it passes in the correct PIN. Othersise, llRemoteLoadScriptPin() is ignored. + + llSetRot + + energy + 10.0 + sleep + 0.2 + return + void + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + If the object is not physical, this function sets the rotation of the prim.\nIf the script is in a child prim, Rotation is treated as root relative and the link-set is adjusted.\nIf the prim is the root prim, the entire object is rotated to Rotation in the global reference frame. + + llSetScale + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Scale + + type + vector + tooltip + + + + + tooltip + Sets the prim's scale (size) to Scale. + + llSetScriptState + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ScriptName + + type + string + tooltip + + + + + Running + + type + integer + tooltip + + + + + tooltip + Enable or disable the script Running state of Script in the prim. + + llSetSitText + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Displays Text rather than 'Sit' in the viewer's context menu. + + llSetSoundQueueing + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + QueueEnable + + type + integer + tooltip + Boolean, sound queuing: TRUE enables, FALSE disables (default). + + + + tooltip + Sets whether successive calls to llPlaySound, llLoopSound, etc., (attached sounds) interrupt the currently playing sound.\nThe default for objects is FALSE. Setting this value to TRUE will make the sound wait until the current playing sound reaches its end. The queue is one level deep. + + llSetSoundRadius + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Radius + + type + float + tooltip + Maximum distance that sounds can be heard. + + + + tooltip + Limits radius for audibility of scripted sounds (both attached and triggered) to distance Radius. + + llSetStatus + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Status + + type + integer + tooltip + + + + + Value + + type + integer + tooltip + + + + + tooltip + Sets object status specified in Status bitmask (e.g. STATUS_PHYSICS|STATUS_PHANTOM) to boolean Value.\nFor a full list of STATUS_* constants, see wiki documentation. + + llSetText + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Text + + type + string + tooltip + + + + + Color + + type + vector + tooltip + + + + + Opacity + + type + float + tooltip + + + + + tooltip + Causes Text to float above the prim, using the specified Color and Opacity. + + llSetTexture + + energy + 10.0 + sleep + 0.2 + return + void + arguments + + + Texture + + type + string + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Applies Texture to Face of prim.\nTexture may be a UUID or name of a texture in prim inventory.\nIf Face is ALL_SIDES, set the texture on all faces. + + llSetTextureAnim + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Mode + + type + integer + tooltip + Mask of Mode flags. + + + + Face + + type + integer + tooltip + Face number or ALL_SIDES. + + + + SizeX + + type + integer + tooltip + Horizontal frames (ignored for ROTATE and SCALE). + + + + SizeY + + type + integer + tooltip + Vertical frames (ignored for ROTATE and SCALE). + + + + Start + + type + float + tooltip + Start position/frame number (or radians for ROTATE). + + + + Length + + type + float + tooltip + number of frames to display (or radians for ROTATE). + + + + Rate + + type + float + tooltip + Frames per second (must not greater than zero). + + + + tooltip + Animates a texture by setting the texture scale and offset.\nMode is a bitmask of animation options.\nFace specifies which object face to animate.\nSizeX and SizeY specify the number of horizontal and vertical frames.Start specifes the animation start point.\nLength specifies the animation duration.\nRate specifies the animation playback rate. + + llSetTimerEvent + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Rate + + type + float + tooltip + + + + + tooltip + Causes the timer event to be triggered every Rate seconds.\n Passing in 0.0 stops further timer events. + + llSetTorque + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Torque + + type + vector + tooltip + Torque force. + + + + Local + + type + integer + tooltip + Boolean, if TRUE uses local axis, if FALSE uses region axis. + + + + tooltip + Sets the Torque acting on the script's object, in object-local coordinates if Local == TRUE (otherwise, the region reference frame is used).\nOnly works on physical objects. + + llSetTouchText + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Displays Text in the viewer context menu that acts on a touch. + + llSetVehicleFlags + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Flags + + type + integer + tooltip + + + + + tooltip + Enables the vehicle flags specified in the Flags bitmask.\nValid parameters can be found in the wiki documentation. + + llSetVehicleFloatParam + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ParameterName + + type + integer + tooltip + + + + + ParameterValue + + type + float + tooltip + + + + + tooltip + Sets a vehicle float parameter.\nValid parameters can be found in the wiki documentation. + + llSetVehicleRotationParam + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ParameterName + + type + integer + tooltip + + + + + ParameterValue + + type + rotation + tooltip + + + + + tooltip + Sets a vehicle rotation parameter.\nValid parameters can be found in the wiki documentation. + + llSetVehicleType + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Type + + type + integer + tooltip + + + + + tooltip + Activates the vehicle action on the object with vehicle preset Type.\nValid Types and an explanation of their characteristics can be found in wiki documentation. + + llSetVehicleVectorParam + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + ParameterName + + type + integer + tooltip + + + + + ParameterValue + + type + vector + tooltip + + + + + tooltip + Sets a vehicle vector parameter.\nValid parameters can be found in the wiki documentation. + + llSetVelocity + + energy + 0.0 + sleep + 0.0 + return + void + arguments + + + Velocity + + type + vector + tooltip + The velocity to apply. + + + + Local + + type + integer + tooltip + If TRUE, the Velocity is treated as a local directional vector instead of a regional directional vector. + + + + tooltip + If the object is physics-enabled, sets the object's linear velocity to Velocity.\nIf Local==TRUE, Velocity is treated as a local directional vector; otherwise, Velocity is treated as a global directional vector. + + llSHA1String + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Returns a string of 40 hex characters that is the SHA1 security Hash of Text. + + llShout + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Channel + + type + integer + tooltip + + + + + Text + + type + string + tooltip + + + + + tooltip + Shouts Text on Channel.\nThis chat method has a range of 100m radius.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. + + llSin + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Theta + + type + float + tooltip + + + + + tooltip + Returns the sine of Theta (Theta in radians). + + llSitTarget + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Offset + + type + vector + tooltip + + + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Set the sit location for this object. If offset == ZERO_VECTOR, clears the sit target. + + llSleep + + energy + 0 + sleep + 0.0 + return + void + arguments + + + Time + + type + float + tooltip + + + + + tooltip + Put script to sleep for Time seconds. + + llSound + + deprecated + true + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + Queue + + type + integer + tooltip + + + + + Loop + + type + integer + tooltip + + + + + tooltip + Deprecated: Use llPlaySound instead.\nPlays Sound at Volume and specifies whether the sound should loop and/or be enqueued. + + llSoundPreload + + deprecated + true + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Sound + + type + string + tooltip + + + + + tooltip + Deprecated: Use llPreloadSound instead.\nPreloads a sound on viewers within range. + + llSqrt + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Value + + type + float + tooltip + + + + + tooltip + Returns the square root of Value.\nTriggers a math runtime error for imaginary results (if Value < 0.0). + + llStartAnimation + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Animation + + type + string + tooltip + + + + + tooltip + This function plays the specified animation from playing on the avatar who received the script's most recent permissions request.\nAnimation may be an animation in task inventory or a built-in animation.\nRequires PERMISSION_TRIGGER_ANIMATION. + + llStopAnimation + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Animation + + type + string + tooltip + + + + + tooltip + This function stops the specified animation on the avatar who received the script's most recent permissions request.\nAnimation may be an animation in task inventory, a built-in animation, or the uuid of an animation.\nRequires PERMISSION_TRIGGER_ANIMATION. + + llStopHover + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + Stop hovering to a height (due to llSetHoverHeight()). + + llStopLookAt + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + Stop causing object to point at a target (due to llLookAt() or llRotLookAt()). + + llStopMoveToTarget + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + Stops critically damped motion (due to llMoveToTarget()). + + llStopSound + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + tooltip + Stops playback of the currently attached sound. + + llStringLength + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Returns an integer that is the number of characters in Text (not counting the null). + + llStringToBase64 + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Returns the string Base64 representation of the input string. + + llStringTrim + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Text + + type + string + tooltip + String to trim + + + + TrimType + + type + integer + tooltip + STRING_TRIM_HEAD, STRING_TRIM_TAIL, or STRING_TRIM. + + + + tooltip + Outputs a string, eliminating white-space from the start and/or end of the input string Text.\nValid options for TrimType:\nSTRING_TRIM_HEAD: trim all leading spaces in Text\nSTRING_TRIM_TAIL: trim all trailing spaces in Text\nSTRING_TRIM: trim all leading and trailing spaces in Text. + + llSubStringIndex + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Text + + type + string + tooltip + + + + + Sequence + + type + string + tooltip + + + + + tooltip + Returns an integer that is the index in Text where string pattern Sequence first appears. Returns -1 if not found. + + llTakeCamera + + deprecated + true + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Deprecated: Use llSetCameraParams instead. + + llTakeControls + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Controls + + type + integer + tooltip + Bit-field of CONTROL_* flags. + + + + Accept + + type + integer + tooltip + Boolean, determines whether control events are generated. + + + + PassOn + + type + integer + tooltip + Boolean, determines whether controls are disabled. + + + + tooltip + Take controls from the agent the script has permissions for.\nIf (Accept == (Controls & input)), send input to the script. PassOn determines whether Controls also perform their normal functions.\nRequires the PERMISSION_TAKE_CONTROLS permission to run. + + llTan + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Theta + + type + float + tooltip + + + + + tooltip + Returns the tangent of Theta (Theta in radians). + + llTarget + + energy + 10.0 + sleep + 0.0 + return + integer + arguments + + + Position + + type + vector + tooltip + + + + + Range + + type + float + tooltip + + + + + tooltip + This function is to have the script know when it has reached a position.\nIt registers a Position with a Range that triggers at_target and not_at_target events continuously until unregistered. + + llTargetOmega + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Axis + + type + vector + tooltip + + + + + SpinRate + + type + float + tooltip + + + + + Gain + + type + float + tooltip + + + + + tooltip + Attempt to spin at SpinRate with strength Gain on Axis.\nA spin rate of 0.0 cancels the spin. This function always works in object-local coordinates. + + llTargetRemove + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Target + + type + integer + tooltip + + + + + tooltip + Removes positional target Handle registered with llTarget. + + llTeleportAgent + + energy + 0 + sleep + 0 + return + void + arguments + + + AvatarID + + type + key + tooltip + UUID of avatar. + + + + LandmarkName + + type + string + tooltip + Name of landmark (in object contents), or empty string, to use. + + + + Position + + type + vector + tooltip + If no landmark was provided, the position within the current region to teleport the avatar to. + + + + LookAtPoint + + type + vector + tooltip + The position within the target region that the avatar should be turned to face upon arrival. + + + + tooltip + Requests a teleport of avatar to a landmark stored in the object's inventory. If no landmark is provided (an empty string), the avatar is teleported to the location position in the current region. In either case, the avatar is turned to face the position given by look_at in local coordinates.\nRequires the PERMISSION_TELEPORT permission. This function can only teleport the owner of the object. + + llTeleportAgentGlobalCoords + + energy + 0 + sleep + 0 + return + void + arguments + + + AvatarID + + type + key + tooltip + UUID of avatar. + + + + GlobalPosition + + type + vector + tooltip + Global coordinates of the destination region. Can be retrieved by using llRequestSimulatorData(region_name, DATA_SIM_POS). + + + + RegionPosition + + type + vector + tooltip + The position within the target region to teleport the avatar to, if no landmark was provided. + + + + LookAtPoint + + type + vector + tooltip + The position within the target region that the avatar should be turned to face upon arrival. + + + + tooltip + Teleports an agent to the RegionPosition local coordinates within a region which is specified by the GlobalPosition global coordinates. The agent lands facing the position defined by LookAtPoint local coordinates.\nRequires the PERMISSION_TELEPORT permission. This function can only teleport the owner of the object. + + llTeleportAgentHome + + energy + 100.0 + sleep + 5.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Teleport agent over the owner's land to agent's home location. + + llTextBox + + energy + 10.0 + sleep + 1.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + Text + + type + string + tooltip + + + + + Channel + + type + integer + tooltip + + + + + tooltip + Opens a dialog for the specified avatar with message Text, which contains a text box for input. Any text that is entered is said on the specified Channel (as if by the avatar) when the "OK" button is clicked. + + llToLower + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Returns a string that is Text with all lower-case characters. + + llToUpper + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Returns a string that is Text with all upper-case characters. + + llTransferLindenDollars + + energy + 10.0 + sleep + 0.0 + return + key + arguments + + + AvatarID + + type + key + tooltip + + + + + Amount + + type + integer + tooltip + + + + + tooltip + Transfer Amount of linden dollars (L$) from script owner to AvatarID. Returns a key to a corresponding transaction_result event for the success of the transfer.\nAttempts to send the amount of money to the specified avatar, and trigger a transaction_result event identified by the returned key. + + llTriggerSound + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + tooltip + Plays Sound at Volume (0.0 - 1.0), centered at but not attached to object.\nThere is no limit to the number of triggered sounds which can be generated by an object, and calling llTriggerSound does not affect the attached sounds created by llPlaySound and llLoopSound. This is very useful for things like collision noises, explosions, etc. There is no way to stop or alter the volume of a sound triggered by this function. + + llTriggerSoundLimited + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + TNE + + type + vector + tooltip + + + + + BSW + + type + vector + tooltip + + + + + tooltip + Plays Sound at Volume (0.0 - 1.0), centered at but not attached to object, limited to axis-aligned bounding box defined by vectors top-north-east (TNE) and bottom-south-west (BSW).\nThere is no limit to the number of triggered sounds which can be generated by an object, and calling llTriggerSound does not affect the attached sounds created by llPlaySound and llLoopSound. This is very useful for things like collision noises, explosions, etc. There is no way to stop or alter the volume of a sound triggered by this function. + + llUnescapeURL + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + URL + + type + string + tooltip + + + + + tooltip + Returns the string that is the URL unescaped, replacing "%20" with spaces, etc., version of URL.\nThis function can output raw UTF-8 strings. + + llUnSit + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + If agent identified by AvatarID is sitting on the object the script is attached to or is over land owned by the objects owner, the agent is forced to stand up. + + llVecDist + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Location1 + + type + vector + tooltip + + + + + Location2 + + type + vector + tooltip + + + + + tooltip + Returns the distance between Location1 and Location2. + + llVecMag + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Vector + + type + vector + tooltip + + + + + tooltip + Returns the magnitude of the vector. + + llVecNorm + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Vector + + type + vector + tooltip + + + + + tooltip + Returns normalized vector. + + llVolumeDetect + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + DetectEnabled + + type + integer + tooltip + TRUE enables, FALSE disables. + + + + tooltip + If DetectEnabled = TRUE, object becomes phantom but triggers collision_start and collision_end events when other objects start and stop interpenetrating.\nIf another object (including avatars) interpenetrates it, it will get a collision_start event.\nWhen an object stops interpenetrating, a collision_end event is generated. While the other is inter-penetrating, collision events are NOT generated. + + llWater + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Returns the water height below the object position + Offset. + + llWhisper + + energy + 10.0 + sleep + 0.0 + return + void + arguments + + + Channel + + type + integer + tooltip + + + + + Text + + type + string + tooltip + + + + + tooltip + Whispers Text on Channel.\nThis chat method has a range of 10m radius.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. + + llWind + + energy + 10.0 + sleep + 0.0 + return + vector + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Returns the wind velocity at the object position + Offset. + + llXorBase64 + + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Text1 + + type + string + tooltip + + + + + Text2 + + type + string + tooltip + + + + + tooltip + Performs an exclusive OR on two Base64 strings and returns a Base64 string. Text2 repeats if it is shorter than Text1. + + llXorBase64Strings + + deprecated + true + energy + 10.0 + sleep + 0.3 + return + string + arguments + + + Text1 + + type + string + tooltip + + + + + Text2 + + type + string + tooltip + + + + + tooltip + Deprecated: Please use llXorBase64 instead.\nIncorrectly performs an exclusive OR on two Base64 strings and returns a Base64 string. Text2 repeats if it is shorter than Text1.\nRetained for backwards compatibility. + + llXorBase64StringsCorrect + + deprecated + true + energy + 10.0 + sleep + 0.0 + return + string + arguments + + + Text1 + + type + string + tooltip + + + + + Text2 + + type + string + tooltip + + + + + tooltip + Deprecated: Please use llXorBase64 instead.\nCorrectly (unless nulls are present) performs an exclusive OR on two Base64 strings and returns a Base64 string.\nText2 repeats if it is shorter than Text1. + + llGetMinScaleFactor + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns the smallest multiplicative uniform scale factor that can be successfully applied (via llScaleByFactor()) to the object without violating prim size or linkability rules. + + llGetMaxScaleFactor + + energy + 10.0 + sleep + 0.0 + return + float + arguments + + tooltip + Returns the largest multiplicative uniform scale factor that can be successfully applied (via llScaleByFactor()) to the object without violating prim size or linkability rules. + + osAgentSaveAppearance + + energy + 0.0 + sleep + + return + key + arguments + + + AvatarID + + type + key + tooltip + + + + + notecard + + type + string + tooltip + + + + + tooltip + Creates a notecard with the specified avatar's current appearance inside the object + + + llsd-lsl-syntax-version + 2 + + diff --git a/bin/ScriptSyntaxe.xml b/bin/ScriptSyntaxe.xml deleted file mode 100644 index cc9b500..0000000 --- a/bin/ScriptSyntaxe.xml +++ /dev/null @@ -1,17920 +0,0 @@ -46f4b671-a05b-4aa6-852d-1edc6db46ca5 - - - <-- controls --> - controls - - do - - tooltip - do / while loop\ndo {\n...\n} while (<condition>); - - else - - tooltip - if / else block\nif (<condition>) {\n...\n[} else [if (<condition>) {\n...]]\n} - - for - - tooltip - for loop\nfor (<initializer>; <condition>; <post-iteration-statement>)\n{ ...\n} - - if - - tooltip - if / else block\nif (<condition>) {\n...\n[} else [if (<condition>) {\n...]]\n} - - jump - - tooltip - jump statement\njump <label> - - return - - tooltip - Leave current event or function.\nreturn [<variable>];\nOptionally pass back a variable's value, from a function. - - state - - tooltip - state <target>\nIf the target state is not the same as the current one, change to the target state. - - while - - tooltip - while loop\nwhile (<condition>) {\n,,,\n} - - - <-- types --> - types - - float - - tooltip - 32 bit floating point value.\nThe range is 1.175494351E-38 to 3.402823466E+38. - - integer - - tooltip - 32 bit integer value.\n−2,147,483,648 and +2,147,483,647 (that is 0x80000000 to 0x7FFFFFFF in hex). - - key - - tooltip - A 128 bit unique identifier (UUID) - - list - - tooltip - A collection of other data types. e.g. [0, 1, 2, 3, 4] or ["Yes", "No", "Perhaps"]. - - rotation - - tooltip - The rotation is a mathematical object called a quaternion (x, y, z, w) - - string - - tooltip - Text data.\nThe editor accepts UTF-8 encoded text. - - vector - - tooltip - A vector is a data type that contains a set of three float values.\nVectors are used to represent colors (RGB), positions, and directions/velocities. - - - <-- constants --> - constants - - ACTIVE - - type - integer - value - 0x2 - tooltip - Objects in world that are running a script or currently physically moving. - - AGENT - - type - integer - value - 0x1 - tooltip - Objects in world that are agents. - - AGENT_ALWAYS_RUN - - type - integer - value - 0x1000 - tooltip - - - AGENT_ATTACHMENTS - - type - integer - value - 0x2 - tooltip - The agent has attachments. - - AGENT_AUTOPILOT - - type - integer - value - 0x2000 - tooltip - - - AGENT_AWAY - - type - integer - value - 0x40 - tooltip - - - AGENT_BUSY - - type - integer - value - 0x800 - tooltip - - - AGENT_BY_LEGACY_NAME - - type - integer - value - 0x1 - tooltip - - - AGENT_BY_USERNAME - - type - integer - value - 0x10 - tooltip - - - AGENT_CROUCHING - - type - integer - value - 0x400 - tooltip - - - AGENT_FLYING - - type - integer - value - 0x1 - tooltip - The agent is flying. - - AGENT_IN_AIR - - type - integer - value - 0x100 - tooltip - - - AGENT_LIST_PARCEL - - type - integer - value - 1 - tooltip - Agents on the same parcel where the script is running. - - AGENT_LIST_PARCEL_OWNER - - type - integer - value - 2 - tooltip - Agents on any parcel in the region where the parcel owner is the same as the owner of the parcel under the scripted object. - - AGENT_LIST_REGION - - type - integer - value - 4 - tooltip - All agents in the region. - - AGENT_LIST_EXCLUDENPC - - type - integer - value - 0x4000000 - tooltip - Exclude NPCs in the region. - - AGENT_MALE - - type - integer - value - 0x40000000 - tooltip - - - AGENT_MOUSELOOK - - type - integer - value - 0x8 - tooltip - - - AGENT_ON_OBJECT - - type - integer - value - 0x20 - tooltip - - - AGENT_SCRIPTED - - type - integer - value - 0x4 - tooltip - The agent has scripted attachments. - - AGENT_SITTING - - type - integer - value - 0x10 - tooltip - - - AGENT_TYPING - - type - integer - value - 0x200 - tooltip - - - AGENT_WALKING - - type - integer - value - 0x80 - tooltip - - - ALL_SIDES - - type - integer - value - -1 - tooltip - - - ANIM_ON - - type - integer - value - 0x1 - tooltip - Texture animation is on. - - ATTACH_AVATAR_CENTER - - type - integer - value - 40 - tooltip - Attach to the avatar's geometric centre. - - ATTACH_BACK - - type - integer - value - 9 - tooltip - Attach to the avatar's back. - - ATTACH_BELLY - - type - integer - value - 28 - tooltip - Attach to the avatar's belly. - - ATTACH_CHEST - - type - integer - value - 1 - tooltip - Attach to the avatar's chest. - - ATTACH_CHIN - - type - integer - value - 12 - tooltip - Attach to the avatar's chin. - - ATTACH_HEAD - - type - integer - value - 2 - tooltip - Attach to the avatar's head. - - ATTACH_HUD_BOTTOM - - type - integer - value - 37 - tooltip - - - ATTACH_HUD_BOTTOM_LEFT - - type - integer - value - 36 - tooltip - - - ATTACH_HUD_BOTTOM_RIGHT - - type - integer - value - 38 - tooltip - - - ATTACH_HUD_CENTER_1 - - type - integer - value - 35 - tooltip - - - ATTACH_HUD_CENTER_2 - - type - integer - value - 31 - tooltip - - - ATTACH_HUD_TOP_CENTER - - type - integer - value - 33 - tooltip - - - ATTACH_HUD_TOP_LEFT - - type - integer - value - 34 - tooltip - - - ATTACH_HUD_TOP_RIGHT - - type - integer - value - 32 - tooltip - - - ATTACH_LEAR - - type - integer - value - 13 - tooltip - Attach to the avatar's left ear. - - ATTACH_LEFT_PEC - - type - integer - value - 29 - tooltip - Attach to the avatar's left pectoral. - - ATTACH_LEYE - - type - integer - value - 15 - tooltip - Attach to the avatar's left eye. - - ATTACH_LFOOT - - type - integer - value - 7 - tooltip - Attach to the avatar's left foot. - - ATTACH_LHAND - - type - integer - value - 5 - tooltip - Attach to the avatar's left hand. - - ATTACH_LHIP - - type - integer - value - 25 - tooltip - Attach to the avatar's left hip. - - ATTACH_LLARM - - type - integer - value - 21 - tooltip - Attach to the avatar's left lower arm. - - ATTACH_LLLEG - - type - integer - value - 27 - tooltip - Attach to the avatar's lower left leg. - - ATTACH_LPEC - - deprecated - true - type - integer - value - 30 - tooltip - Attach to the avatar's right pectoral. (Deprecated, use ATTACH_RIGHT_PEC) - - ATTACH_LSHOULDER - - type - integer - value - 3 - tooltip - Attach to the avatar's left shoulder. - - ATTACH_LUARM - - type - integer - value - 20 - tooltip - Attach to the avatar's left upper arm. - - ATTACH_LULEG - - type - integer - value - 26 - tooltip - Attach to the avatar's lower upper leg. - - ATTACH_MOUTH - - type - integer - value - 11 - tooltip - Attach to the avatar's mouth. - - ATTACH_NECK - - type - integer - value - 39 - tooltip - Attach to the avatar's neck. - - ATTACH_NOSE - - type - integer - value - 17 - tooltip - Attach to the avatar's nose. - - ATTACH_PELVIS - - type - integer - value - 10 - tooltip - Attach to the avatar's pelvis. - - ATTACH_REAR - - type - integer - value - 14 - tooltip - Attach to the avatar's right ear. - - ATTACH_REYE - - type - integer - value - 16 - tooltip - Attach to the avatar's right eye. - - ATTACH_RFOOT - - type - integer - value - 8 - tooltip - Attach to the avatar's right foot. - - ATTACH_RHAND - - type - integer - value - 6 - tooltip - Attach to the avatar's right hand. - - ATTACH_RHIP - - type - integer - value - 22 - tooltip - Attach to the avatar's right hip. - - ATTACH_RIGHT_PEC - - type - integer - value - 30 - tooltip - Attach to the avatar's right pectoral. - - ATTACH_RLARM - - type - integer - value - 19 - tooltip - Attach to the avatar's right lower arm. - - ATTACH_RLLEG - - type - integer - value - 24 - tooltip - Attach to the avatar's right lower leg. - - ATTACH_RPEC - - deprecated - true - type - integer - value - 29 - tooltip - Attach to the avatar's left pectoral. (deprecated, use ATTACH_LEFT_PEC) - - ATTACH_RSHOULDER - - type - integer - value - 4 - tooltip - Attach to the avatar's right shoulder. - - ATTACH_RUARM - - type - integer - value - 18 - tooltip - Attach to the avatar's right upper arm. - - ATTACH_RULEG - - type - integer - value - 23 - tooltip - Attach to the avatar's right upper leg. - - ATTACH_LHAND_RING1 - - type - integer - value - 41 - tooltip - Attach to the avatar's left ring finger. - - ATTACH_RHAND_RING1 - - type - integer - value - 42 - tooltip - Attach to the avatar's right ring finger. - - ATTACH_TAIL_BASE - - type - integer - value - 43 - tooltip - Attach to the avatar's tail base. - - ATTACH_TAIL_TIP - - type - integer - value - 44 - tooltip - Attach to the avatar's tail tip. - - ATTACH_LWING - - type - integer - value - 45 - tooltip - Attach to the avatar's left wing. - - ATTACH_RWING - - type - integer - value - 46 - tooltip - Attach to the avatar's right wing. - - ATTACH_FACE_JAW - - type - integer - value - 47 - tooltip - Attach to the avatar's jaw. - - ATTACH_FACE_LEAR - - type - integer - value - 48 - tooltip - Attach to the avatar's left ear (extended). - - ATTACH_FACE_REAR - - type - integer - value - 49 - tooltip - Attach to the avatar's right ear (extended). - - ATTACH_FACE_LEYE - - type - integer - value - 50 - tooltip - Attach to the avatar's left eye (extended). - - ATTACH_FACE_REYE - - type - integer - value - 51 - tooltip - Attach to the avatar's right eye (extended). - - ATTACH_FACE_TONGUE - - type - integer - value - 52 - tooltip - Attach to the avatar's tongue. - - ATTACH_GROIN - - type - integer - value - 53 - tooltip - Attach to the avatar's groin. - - ATTACH_HIND_LFOOT - - type - integer - value - 54 - tooltip - Attach to the avatar's left hind foot. - - ATTACH_HIND_RFOOT - - type - integer - value - 55 - tooltip - Attach to the avatar's right hind foot. - - CAMERA_ACTIVE - - type - integer - value - 12 - tooltip - - - CAMERA_BEHINDNESS_ANGLE - - type - integer - value - 8 - tooltip - - - CAMERA_BEHINDNESS_LAG - - type - integer - value - 9 - tooltip - - - CAMERA_DISTANCE - - type - integer - value - 7 - tooltip - - - CAMERA_FOCUS - - type - integer - value - 17 - tooltip - - - CAMERA_FOCUS_X - - type - integer - value - 18 - tooltip - - - CAMERA_FOCUS_Y - - type - integer - value - 19 - tooltip - - - CAMERA_FOCUS_Z - - type - integer - value - 19 - tooltip - - - CAMERA_FOCUS_LAG - - type - integer - value - 6 - tooltip - - - CAMERA_FOCUS_LOCKED - - type - integer - value - 22 - tooltip - - - CAMERA_FOCUS_OFFSET - - type - integer - value - 1 - tooltip - - - CAMERA_FOCUS_OFFSET_X - - type - integer - value - 2 - tooltip - - - CAMERA_FOCUS_OFFSET_Y - - type - integer - value - 3 - tooltip - - - CAMERA_FOCUS_OFFSET_Z - - type - integer - value - 4 - tooltip - - - CAMERA_FOCUS_THRESHOLD - - type - integer - value - 11 - tooltip - - - CAMERA_PITCH - - type - integer - value - 0 - tooltip - - - CAMERA_POSITION - - type - integer - value - 13 - tooltip - - - CAMERA_POSITION_X - - type - integer - value - 14 - tooltip - - - CAMERA_POSITION_Y - - type - integer - value - 15 - tooltip - - - CAMERA_POSITION_Z - - type - integer - value - 16 - tooltip - - - CAMERA_POSITION_LAG - - type - integer - value - 5 - tooltip - - - CAMERA_POSITION_LOCKED - - type - integer - value - 21 - tooltip - - - CAMERA_POSITION_THRESHOLD - - type - integer - value - 10 - tooltip - - - CHANGED_ALLOWED_DROP - - type - integer - value - 0x40 - tooltip - The object inventory has changed because an item was added through the llAllowInventoryDrop interface. - - CHANGED_ANIMATION - - type - integer - value - 0x4000 - tooltip - The set of animations playing on the avatar to whom this object is attached has been changed. - - CHANGED_COLOR - - type - integer - value - 0x2 - tooltip - The object color has changed. - - CHANGED_INVENTORY - - type - integer - value - 0x1 - tooltip - The object inventory has changed. - - CHANGED_LINK - - type - integer - value - 0x20 - tooltip - The object has linked or its links were broken. - - CHANGED_MEDIA - - type - integer - value - 0x800 - tooltip - - - CHANGED_OWNER - - type - integer - value - 0x80 - tooltip - - - CHANGED_REGION - - type - integer - value - 0x100 - tooltip - - - CHANGED_REGION_START - - type - integer - value - 0x400 - tooltip - Parameter of changed event handler used to indicate the region has been restarted same as CHANGED_REGION_RESTART. - - CHANGED_REGION_RESTART - - type - integer - value - 0x400 - tooltip - Parameter of changed event handler used to indicate the region has been restarted same as CHANGED_REGION_START. - - CHANGED_SCALE - - type - integer - value - 0x8 - tooltip - The object scale (size) has changed. - - CHANGED_SHAPE - - type - integer - value - 0x4 - tooltip - The object base shape has changed, e.g., a box to a cylinder. - - CHANGED_TELEPORT - - type - integer - value - 0x200 - tooltip - - - CHANGED_TEXTURE - - type - integer - value - 0x10 - tooltip - The texture offset, scale rotation, or simply the object texture has changed. - - CLICK_ACTION_BUY - - type - integer - value - 2 - tooltip - When the prim is clicked, the buy dialog is opened. - - CLICK_ACTION_NONE - - type - integer - value - 0 - tooltip - Performs the default action: when the prim is clicked, touch events are triggered. - - CLICK_ACTION_OPEN - - type - integer - value - 4 - tooltip - When the prim is clicked, the object inventory dialog is opened. - - CLICK_ACTION_OPEN_MEDIA - - type - integer - value - 6 - tooltip - When the prim is touched, the web media dialog is opened. - - CLICK_ACTION_PAY - - type - integer - value - 3 - tooltip - When the prim is clicked, the pay dialog is opened. - - CLICK_ACTION_PLAY - - type - integer - value - 5 - tooltip - When the prim is clicked, html-on-a-prim is enabled? - - CLICK_ACTION_SIT - - type - integer - value - 1 - tooltip - When the prim is clicked, the avatar sits upon it. - - CLICK_ACTION_TOUCH - - type - integer - value - 0 - tooltip - When the prim is clicked, touch events are triggered. - - CONTENT_TYPE_ATOM - - type - integer - value - 4 - tooltip - "application/atom+xml" - - CONTENT_TYPE_FORM - - type - integer - value - 7 - tooltip - "application/x-www-form-urlencoded" - - CONTENT_TYPE_HTML - - type - integer - value - 1 - tooltip - "text/html", only valid for embedded browsers on content owned by the person viewing. Falls back to "text/plain" otherwise. - - CONTENT_TYPE_JSON - - type - integer - value - 5 - tooltip - "application/json" - - CONTENT_TYPE_LLSD - - type - integer - value - 6 - tooltip - "application/llsd+xml" - - CONTENT_TYPE_RSS - - type - integer - value - 8 - tooltip - "application/rss+xml" - - CONTENT_TYPE_TEXT - - type - integer - value - 0 - tooltip - "text/plain" - - CONTENT_TYPE_XHTML - - type - integer - value - 3 - tooltip - "application/xhtml+xml" - - CONTENT_TYPE_XML - - type - integer - value - 2 - tooltip - "application/xml" - - CONTROL_BACK - - type - integer - value - 0x2 - tooltip - Test for the avatar move back control. - - CONTROL_DOWN - - type - integer - value - 0x20 - tooltip - Test for the avatar move down control. - - CONTROL_FWD - - type - integer - value - 0x1 - tooltip - Test for the avatar move forward control. - - CONTROL_LBUTTON - - type - integer - value - 0x10000000 - tooltip - Test for the avatar left button control. - - CONTROL_LEFT - - type - integer - value - 0x4 - tooltip - Test for the avatar move left control. - - CONTROL_ML_LBUTTON - - type - integer - value - 0x40000000 - tooltip - Test for the avatar left button control while in mouse look. - - CONTROL_RIGHT - - type - integer - value - 0x8 - tooltip - Test for the avatar move right control. - - CONTROL_ROT_LEFT - - type - integer - value - 0x100 - tooltip - Test for the avatar rotate left control. - - CONTROL_ROT_RIGHT - - type - integer - value - 0x200 - tooltip - Test for the avatar rotate right control. - - CONTROL_UP - - type - integer - value - 0x10 - tooltip - Test for the avatar move up control. - - DATA_BORN - - type - integer - value - 3 - tooltip - The date the agent was born, returned in ISO 8601 format of YYYY-MM-DD. - - DATA_NAME - - type - integer - value - 2 - tooltip - The name of the agent. - - DATA_ONLINE - - type - integer - value - 1 - tooltip - TRUE for online, FALSE for offline. - - DATA_PAYINFO - - type - integer - value - 8 - tooltip - - - DATA_SIM_POS - - type - integer - value - 5 - tooltip - - - DATA_SIM_RATING - - type - integer - value - 7 - tooltip - - - DATA_SIM_STATUS - - type - integer - value - 6 - tooltip - - - DEBUG_CHANNEL - - type - integer - value - 2147483647 - tooltip - DEBUG_CHANNEL is an integer constant that, when passed to llSay, llWhisper, or llShout as a channel parameter, will print text to the Script Warning/Error Window. - - DEG_TO_RAD - - type - float - value - 0.017453293 - tooltip - 0.017453293 - Number of radians per degree. - You can use this to convert degrees to radians by multiplying the degrees by this number. - - DENSITY - - type - integer - value - 1 - tooltip - Used with llSetPhysicsMaterial to enable the density value. Must be between 1.0 and 22587.0 (in Kg/m^3 -- see if you can figure out what 22587 represents) - - EOF - - type - string - value - \\n\\n\\n - tooltip - Indicates the last line of a notecard was read. - - ERR_GENERIC - - type - integer - value - -1 - tooltip - - - ERR_MALFORMED_PARAMS - - type - integer - value - -3 - tooltip - - - ERR_PARCEL_PERMISSIONS - - type - integer - value - -2 - tooltip - - - ERR_RUNTIME_PERMISSIONS - - type - integer - value - -4 - tooltip - - - ERR_THROTTLED - - type - integer - value - -5 - tooltip - - - ESTATE_ACCESS_ALLOWED_AGENT_ADD - - type - integer - value - 4 - tooltip - Add the agent to this estate's Allowed Residents list. - - ESTATE_ACCESS_ALLOWED_AGENT_REMOVE - - type - integer - value - 8 - tooltip - Remove the agent from this estate's Allowed Residents list. - - ESTATE_ACCESS_ALLOWED_GROUP_ADD - - type - integer - value - 16 - tooltip - Add the group to this estate's Allowed groups list. - - ESTATE_ACCESS_ALLOWED_GROUP_REMOVE - - type - integer - value - 32 - tooltip - Remove the group from this estate's Allowed groups list. - - ESTATE_ACCESS_BANNED_AGENT_ADD - - type - integer - value - 64 - tooltip - Add the agent to this estate's Banned residents list. - - ESTATE_ACCESS_BANNED_AGENT_REMOVE - - type - integer - value - 128 - tooltip - Remove the agent from this estate's Banned residents list. - - FALSE - - type - integer - value - 0 - tooltip - An integer constant for boolean comparisons. Has the value '0'. - - FRICTION - - type - integer - value - 2 - tooltip - Used with llSetPhysicsMaterial to enable the friction value. Must be between 0.0 and 255.0 - - GRAVITY_MULTIPLIER - - type - integer - value - 8 - tooltip - Used with llSetPhysicsMaterial to enable the gravity multiplier value. Must be between -1.0 and +28.0 - - HORIZONTAL - - type - integer - value - 1 - tooltip - - - HTTP_BODY_MAXLENGTH - - type - integer - value - 2 - tooltip - - - HTTP_BODY_TRUNCATED - - type - integer - value - 0 - tooltip - - - HTTP_CUSTOM_HEADER - - type - integer - value - 5 - tooltip - Add an extra custom HTTP header to the request. The first string is the name of the parameter to change, e.g. "Pragma", and the second string is the value, e.g. "no-cache". Up to 8 custom headers may be configured per request. Note that certain headers, such as the default headers, are blocked for security reasons. - - HTTP_METHOD - - type - integer - value - 0 - tooltip - - - HTTP_MIMETYPE - - type - integer - value - 1 - tooltip - - - HTTP_PRAGMA_NO_CACHE - - type - integer - value - 6 - tooltip - Allows enabling/disbling of the "Pragma: no-cache" header.\nUsage: [HTTP_PRAGMA_NO_CACHE, integer SendHeader]. When SendHeader is TRUE, the "Pragma: no-cache" header is sent by the script. This matches the default behavior. When SendHeader is FALSE, no "Pragma" header is sent by the script. - - HTTP_VERBOSE_THROTTLE - - type - integer - value - 4 - tooltip - - - HTTP_VERIFY_CERT - - type - integer - value - 3 - tooltip - - - INVENTORY_ALL - - type - integer - value - -1 - tooltip - - - INVENTORY_ANIMATION - - type - integer - value - 20 - tooltip - - - INVENTORY_BODYPART - - type - integer - value - 13 - tooltip - - - INVENTORY_CLOTHING - - type - integer - value - 5 - tooltip - - - INVENTORY_GESTURE - - type - integer - value - 21 - tooltip - - - INVENTORY_LANDMARK - - type - integer - value - 3 - tooltip - - - INVENTORY_NONE - - type - integer - value - -1 - tooltip - - - INVENTORY_NOTECARD - - type - integer - value - 7 - tooltip - - - INVENTORY_OBJECT - - type - integer - value - 6 - tooltip - - - INVENTORY_SCRIPT - - type - integer - value - 10 - tooltip - - - INVENTORY_SOUND - - type - integer - value - 1 - tooltip - - - INVENTORY_TEXTURE - - type - integer - value - 0 - tooltip - - - JSON_APPEND - - type - integer - value - -1 - tooltip - - - JSON_ARRAY - - type - string - value - U+FDD2 - tooltip - - - JSON_DELETE - - type - string - value - U+FDD8 - tooltip - - - JSON_FALSE - - type - string - value - U+FDD7 - tooltip - - - JSON_INVALID - - type - string - value - U+FDD0 - tooltip - - - JSON_NULL - - type - string - value - U+FDD5 - tooltip - - - JSON_NUMBER - - type - string - value - U+FDD3 - tooltip - - - JSON_OBJECT - - type - string - value - U+FDD1 - tooltip - - - JSON_STRING - - type - string - value - U+FDD4 - tooltip - - - JSON_TRUE - - type - string - value - U+FDD6 - tooltip - - - KFM_CMD_PAUSE - - type - integer - value - 2 - tooltip - For use with KFM_COMMAND. - - KFM_CMD_PLAY - - type - integer - value - 0 - tooltip - For use with KFM_COMMAND. - - KFM_CMD_STOP - - type - integer - value - 1 - tooltip - For use with KFM_COMMAND. - - KFM_COMMAND - - type - integer - value - 0 - tooltip - - - KFM_DATA - - type - integer - value - 2 - tooltip - - - KFM_FORWARD - - type - integer - value - 0 - tooltip - For use with KFM_MODE. - - KFM_LOOP - - type - integer - value - 1 - tooltip - For use with KFM_MODE. - - KFM_MODE - - type - integer - value - 1 - tooltip - - - KFM_PING_PONG - - type - integer - value - 2 - tooltip - For use with KFM_MODE. - - KFM_REVERSE - - type - integer - value - 3 - tooltip - For use with KFM_MODE. - - KFM_ROTATION - - type - integer - value - 1 - tooltip - For use with KFM_DATA. - - KFM_TRANSLATION - - type - integer - value - 2 - tooltip - For use with KFM_DATA. - - LAND_LARGE_BRUSH - - type - integer - value - 3 - tooltip - Use a large brush size.\nNOTE: This value is incorrect, a large brush should be 2. - - LAND_LEVEL - - type - integer - value - 0 - tooltip - Action to level the land. - - LAND_LOWER - - type - integer - value - 2 - tooltip - Action to lower the land. - - LAND_MEDIUM_BRUSH - - type - integer - value - 2 - tooltip - Use a medium brush size.\nNOTE: This value is incorrect, a medium brush should be 1. - - LAND_NOISE - - type - integer - value - 4 - tooltip - - - LAND_RAISE - - type - integer - value - 1 - tooltip - Action to raise the land. - - LAND_REVERT - - type - integer - value - 5 - tooltip - - - LAND_SMALL_BRUSH - - type - integer - value - 1 - tooltip - Use a small brush size.\nNOTE: This value is incorrect, a small brush should be 0. - - LAND_SMOOTH - - type - integer - value - 3 - tooltip - - - LINK_ALL_CHILDREN - - type - integer - value - -3 - tooltip - This targets every object except the root in the linked set. - - LINK_ALL_OTHERS - - type - integer - value - -2 - tooltip - This targets every object in the linked set except the object with the script. - - LINK_ROOT - - type - integer - value - 1 - tooltip - This targets the root of the linked set. - - LINK_SET - - type - integer - value - -1 - tooltip - This targets every object in the linked set. - - LINK_THIS - - type - integer - value - -4 - tooltip - The link number of the prim containing the script. - - LIST_STAT_GEOMETRIC_MEAN - - type - integer - value - 9 - tooltip - Returns the geometric mean of a list of numbers - - LIST_STAT_HARMONIC_MEAN - - type - integer - value - 100 - tooltip - Returns the harmonic mean of a list of numbers - - LIST_STAT_MAX - - type - integer - value - 2 - tooltip - - - LIST_STAT_MEAN - - type - integer - value - 3 - tooltip - - - LIST_STAT_MEDIAN - - type - integer - value - 4 - tooltip - - - LIST_STAT_MIN - - type - integer - value - 1 - tooltip - - - LIST_STAT_NUM_COUNT - - type - integer - value - 8 - tooltip - - - LIST_STAT_RANGE - - type - integer - value - 0 - tooltip - - - LIST_STAT_STD_DEV - - type - integer - value - 5 - tooltip - - - LIST_STAT_SUM - - type - integer - value - 6 - tooltip - - - LIST_STAT_SUM_SQUARES - - type - integer - value - 7 - tooltip - - - LOOP - - type - integer - value - 0x2 - tooltip - Loop the texture animation. - - MASK_BASE - - type - integer - value - 0 - tooltip - - - MASK_EVERYONE - - type - integer - value - 3 - tooltip - - - MASK_GROUP - - type - integer - value - 2 - tooltip - - - MASK_NEXT - - type - integer - value - 4 - tooltip - - - MASK_OWNER - - type - integer - value - 1 - tooltip - - - NPC - - type - integer - value - 0x20 - tooltip - - - NULL_KEY - - type - string - value - 00000000-0000-0000-0000-000000000000 - tooltip - - - OBJECT_ATTACHED_POINT - - type - integer - value - 19 - tooltip - Gets the attachment point to which the object is attached.\nReturns 0 if the object is not an attachment (or is an avatar, etc). - - OBJECT_BODY_SHAPE_TYPE - - type - integer - value - 26 - tooltip - This is a flag used with llGetObjectDetails to get the body type of the avatar, based on shape data.\nIf no data is available, -1.0 is returned.\nThis is normally between 0 and 1.0, with 0.5 and larger considered 'male' - - OBJECT_CLICK_ACTION - - type - integer - value - 28 - tooltip - This is a flag used with llGetObjectDetails to get the click action.\nThe default is 0 - - OBJECT_CREATOR - - type - integer - value - 8 - tooltip - Gets the object's creator key. If id is an avatar, a NULL_KEY is returned. - - OBJECT_DESC - - type - integer - value - 2 - tooltip - Gets the object's description. If id is an avatar, an empty string is returned. - - OBJECT_GROUP - - type - integer - value - 7 - tooltip - Gets the prims's group key. If id is an avatar, a NULL_KEY is returned. - - OBJECT_HOVER_HEIGHT - - type - integer - value - 25 - tooltip - This is a flag used with llGetObjectDetails to get hover height of the avatar\nIf no data is available, 0.0 is returned. - - OBJECT_LAST_OWNER_ID - - type - integer - value - 27 - tooltip - Gets the object's last owner ID. - - OBJECT_NAME - - type - integer - value - 1 - tooltip - Gets the object's name. - - OBJECT_OMEGA - - type - integer - value - 29 - tooltip - Gets an object's angular velocity. - - OBJECT_OWNER - - type - integer - value - 6 - tooltip - Gets an object's owner's key. If id is group owned, a NULL_KEY is returned. - - OBJECT_PRIM_COUNT - - type - integer - value - 30 - tooltip - Gets the prim count of the object. The script and target object must be owned by the same owner - - OBJECT_PHANTOM - - type - integer - value - 22 - tooltip - Returns boolean, detailing if phantom is enabled or disabled on the object.\nIf id is an avatar or attachment, 0 is returned. - - OBJECT_PHYSICS - - type - integer - value - 21 - tooltip - Returns boolean, detailing if physics is enabled or disabled on the object.\nIf id is an avatar or attachment, 0 is returned. - - OBJECT_PHYSICS_COST - - type - integer - value - 16 - tooltip - - - OBJECT_POS - - type - integer - value - 3 - tooltip - Gets the object's position in region coordinates. - - OBJECT_PRIM_EQUIVALENCE - - type - integer - value - 13 - tooltip - - - OBJECT_RENDER_WEIGHT - - type - integer - value - 24 - tooltip - This is a flag used with llGetObjectDetails to get the Avatar_Rendering_Cost of an avatar, based on values reported by nearby viewers.\nIf no data is available, -1 is returned.\nThe maximum render weight stored by the simulator is 500000. When called against an object, 0 is returned. - - OBJECT_RETURN_PARCEL - - type - integer - value - 1 - tooltip - - - OBJECT_RETURN_PARCEL_OWNER - - type - integer - value - 2 - tooltip - - - OBJECT_RETURN_REGION - - type - integer - value - 4 - tooltip - - - OBJECT_REZZER_KEY - - type - integer - value - 32 - tooltip - - - OBJECT_ROOT - - type - integer - value - 18 - tooltip - Gets the id of the root prim of the object requested.\nIf id is an avatar, return the id of the root prim of the linkset the avatar is sitting on (or the avatar's own id if the avatar is not sitting on an object within the region). - - OBJECT_ROT - - type - integer - value - 4 - tooltip - Gets the object's rotation. - - OBJECT_RUNNING_SCRIPT_COUNT - - type - integer - value - 9 - tooltip - - - OBJECT_SCRIPT_MEMORY - - type - integer - value - 11 - tooltip - - - OBJECT_SCRIPT_TIME - - type - integer - value - 12 - tooltip - - - OBJECT_SERVER_COST - - type - integer - value - 14 - tooltip - - - OBJECT_STREAMING_COST - - type - integer - value - 15 - tooltip - - - OBJECT_TEMP_ON_REZ - - type - integer - value - 23 - tooltip - Returns boolean, detailing if temporary is enabled or disabled on the object. - - OBJECT_TOTAL_INVENTORY_COUNT - - type - integer - value - 31 - tooltip - Gets the total inventory count of the object. The script and target object must be owned by the same owner - - OBJECT_TOTAL_SCRIPT_COUNT - - type - integer - value - 10 - tooltip - - - OBJECT_UNKNOWN_DETAIL - - type - integer - value - -1 - tooltip - - - OBJECT_VELOCITY - - type - integer - value - 5 - tooltip - Gets the object's velocity. - - OS_ATTACH_MSG_ALL - - type - integer - value - -65535 - tooltip - Send the message to attachments on every point. - - OS_ATTACH_MSG_INVERT_POINTS - - type - integer - value - 1 - tooltip - Invert how the attachment points list should be treated. - - OS_ATTACH_MSG_OBJECT_CREATOR - - type - integer - value - 2 - tooltip - Send only to those have the same CreatorID with host object CreatorID. - - OS_LISTEN_REGEX_NAME - - type - integer - value - 0x1 - tooltip - Process name parameter as regex - - OS_LISTEN_REGEX_MESSAGE - - type - integer - value - 0x2 - tooltip - Process message parameter as regex - - OS_ATTACH_MSG_SCRIPT_CREATOR - - type - integer - value - 4 - tooltip - Send only to those have the same CreatorID with sender script CreatorID. - - OS_NPC - - type - integer - value - 0x20 - tooltip - Same as NPC - - OS_NPC_FLY - - type - integer - value - 0 - tooltip - - - OS_NPC_NO_FLY - - type - integer - value - 1 - tooltip - - - OS_NPC_LAND_AT_TARGET - - type - integer - value - 2 - tooltip - - - OS_NPC_SIT_NOW - - type - integer - value - 0 - tooltip - - - OS_NPC_CREATOR_OWNED - - type - integer - value - 0x1 - tooltip - - - OS_NPC_NOT_OWNED - - type - integer - value - 0x2 - tooltip - - - OS_NPC_SENSE_AS_AGENT - - type - integer - value - 0x4 - tooltip - - - OS_NPC_OBJECT_GROUP - - type - integer - value - 0x8 - tooltip - - - OS_NPC_RUNNING - - type - integer - value - 4 - tooltip - - - OSTPOBJ_NONE - - type - integer - value - 0x0 - tooltip - osTeleportObject flag - - OSTPOBJ_STOPATTARRGET - - type - integer - value - 0x1 - tooltip - osTeleportObject flag: object is stopped at destination - - OSTPOBJ_STOPONFAIL - - type - integer - value - 0x2 - tooltip - osTeleportObject flag: object stops at start point if tp fails - - OSTPOBJ_SETROT - - type - integer - value - 0x2 - tooltip - osTeleportObject flag: the rotation is the final object rotation, otherwise is a added rotation - - PARCEL_COUNT_GROUP - - type - integer - value - 2 - tooltip - - - PARCEL_COUNT_OTHER - - type - integer - value - 3 - tooltip - - - PARCEL_COUNT_OWNER - - type - integer - value - 1 - tooltip - - - PARCEL_COUNT_SELECTED - - type - integer - value - 4 - tooltip - - - PARCEL_COUNT_TEMP - - type - integer - value - 5 - tooltip - - - PARCEL_COUNT_TOTAL - - type - integer - value - 0 - tooltip - - - PARCEL_DETAILS_AREA - - type - integer - value - 4 - tooltip - The parcel's area, in square meters. (5 chars.). - - PARCEL_DETAILS_CLAIMDATE - - type - integer - value - 10 - tooltip - Set parcel claim date. - - PARCEL_DETAILS_DESC - - type - integer - value - 1 - tooltip - The description of the parcel. (127 chars). - - PARCEL_DETAILS_GROUP - - type - integer - value - 3 - tooltip - The parcel group's key. (36 chars.). - - PARCEL_DETAILS_ID - - type - integer - value - 5 - tooltip - The parcel's key. (36 chars.). - - PARCEL_DETAILS_NAME - - type - integer - value - 0 - tooltip - The name of the parcel. (63 chars.). - - PARCEL_DETAILS_OWNER - - type - integer - value - 2 - tooltip - The parcel owner's key. (36 chars.). - - PARCEL_DETAILS_SEE_AVATARS - - type - integer - value - 6 - tooltip - The parcel's avatar visibility setting. (1 char.). - - PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY - - type - integer - value - 0x08000000 - tooltip - - - PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS - - type - integer - value - 0x4000000 - tooltip - - - PARCEL_FLAG_ALLOW_CREATE_OBJECTS - - type - integer - value - 0x40 - tooltip - - - PARCEL_FLAG_ALLOW_DAMAGE - - type - integer - value - 0x20 - tooltip - - - PARCEL_FLAG_ALLOW_FLY - - type - integer - value - 0x1 - tooltip - - - PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY - - type - integer - value - 0x10000000 - tooltip - - - PARCEL_FLAG_ALLOW_GROUP_SCRIPTS - - type - integer - value - 0x2000000 - tooltip - - - PARCEL_FLAG_ALLOW_LANDMARK - - type - integer - value - 0x8 - tooltip - - - PARCEL_FLAG_ALLOW_SCRIPTS - - type - integer - value - 0x2 - tooltip - - - PARCEL_FLAG_ALLOW_TERRAFORM - - type - integer - value - 0x10 - tooltip - - - PARCEL_FLAG_LOCAL_SOUND_ONLY - - type - integer - value - 0x8000 - tooltip - - - PARCEL_FLAG_RESTRICT_PUSHOBJECT - - type - integer - value - 0x200000 - tooltip - - - PARCEL_FLAG_USE_ACCESS_GROUP - - type - integer - value - 0x100 - tooltip - - - PARCEL_FLAG_USE_ACCESS_LIST - - type - integer - value - 0x200 - tooltip - - - PARCEL_FLAG_USE_BAN_LIST - - type - integer - value - 0x400 - tooltip - - - PARCEL_FLAG_USE_LAND_PASS_LIST - - type - integer - value - 0x800 - tooltip - - - PARCEL_MEDIA_COMMAND_AGENT - - type - integer - value - 7 - tooltip - - - PARCEL_MEDIA_COMMAND_AUTO_ALIGN - - type - integer - value - 9 - tooltip - - - PARCEL_MEDIA_COMMAND_DESC - - type - integer - value - 12 - tooltip - Use this to get or set the parcel media description. - - PARCEL_MEDIA_COMMAND_LOOP - - type - integer - value - 3 - tooltip - - - PARCEL_MEDIA_COMMAND_LOOP_SET - - type - integer - value - 13 - tooltip - Used to get or set the parcel's media looping variable. - - PARCEL_MEDIA_COMMAND_PAUSE - - type - integer - value - 1 - tooltip - - - PARCEL_MEDIA_COMMAND_PLAY - - type - integer - value - 2 - tooltip - - - PARCEL_MEDIA_COMMAND_SIZE - - type - integer - value - 11 - tooltip - Use this to get or set the parcel media pixel resolution. - - PARCEL_MEDIA_COMMAND_STOP - - type - integer - value - 0 - tooltip - - - PARCEL_MEDIA_COMMAND_TEXTURE - - type - integer - value - 4 - tooltip - - - PARCEL_MEDIA_COMMAND_TIME - - type - integer - value - 6 - tooltip - - - PARCEL_MEDIA_COMMAND_TYPE - - type - integer - value - 10 - tooltip - Use this to get or set the parcel media MIME type (e.g. "text/html"). - - PARCEL_MEDIA_COMMAND_UNLOAD - - type - integer - value - 8 - tooltip - - - PARCEL_MEDIA_COMMAND_URL - - type - integer - value - 5 - tooltip - - - PASS_ALWAYS - - type - integer - value - 1 - tooltip - Always pass the event. - - PASS_NEVER - - type - integer - value - 2 - tooltip - Always pass the event. - - PASS_IF_NOT_HANDLED - - type - integer - value - 0 - tooltip - Pass the event if there is no script handling the event in the prim. - - PASSIVE - - type - integer - value - 0x4 - tooltip - Static in-world objects. - - PATROL_PAUSE_AT_WAYPOINTS - - type - integer - value - 0 - tooltip - - - PAY_DEFAULT - - type - integer - value - -2 - tooltip - - - PAY_HIDE - - type - integer - value - -1 - tooltip - - - PAYMENT_INFO_ON_FILE - - type - integer - value - 1 - tooltip - - - PAYMENT_INFO_USED - - type - integer - value - 2 - tooltip - - - PERM_ALL - - type - integer - value - 0x7FFFFFFF - tooltip - - - PERM_COPY - - type - integer - value - 0x8000 - tooltip - - - PERM_MODIFY - - type - integer - value - 0x4000 - tooltip - - - PERM_MOVE - - type - integer - value - 0x80000 - tooltip - - - PERM_TRANSFER - - type - integer - value - 0x2000 - tooltip - - - PERMISSION_ATTACH - - type - integer - value - 0x20 - tooltip - If this permission is enabled, the object can successfully call llAttachToAvatar to attach to the given avatar. - - PERMISSION_CHANGE_LINKS - - type - integer - value - 0x80 - tooltip - If this permission is enabled, the object can successfully call llCreateLink, llBreakLink, and llBreakAllLinks to change links to other objects. - - PERMISSION_CHANGE_PERMISSIONS - - type - integer - value - 0x200 - tooltip - (not yet implemented) - - PERMISSION_CONTROL_CAMERA - - type - integer - value - 0x800 - tooltip - - - PERMISSION_DEBIT - - type - integer - value - 0x2 - tooltip - If this permission is enabled, the object can successfully call llGiveMoney or llTransferLindenDollars to debit the owners account. - - PERMISSION_OVERRIDE_ANIMATIONS - - type - integer - value - 0x8000 - tooltip - Permission to override default animations. - - PERMISSION_RELEASE_OWNERSHIP - - type - integer - value - 0x40 - tooltip - (not yet implemented) - - PERMISSION_REMAP_CONTROLS - - type - integer - value - 0x8 - tooltip - (not yet implemented) - - PERMISSION_RETURN_OBJECTS - - type - integer - value - 65536 - tooltip - - - PERMISSION_SILENT_ESTATE_MANAGEMENT - - type - integer - value - 0x4000 - tooltip - A script with this permission does not notify the object owner when it modifies estate access rules via llManageEstateAccess. - - PERMISSION_TAKE_CONTROLS - - type - integer - value - 0x4 - tooltip - If this permission enabled, the object can successfully call the llTakeControls libray call. - - PERMISSION_TELEPORT - - type - integer - value - 0x1000 - tooltip - - - PERMISSION_TRACK_CAMERA - - type - integer - value - 0x400 - tooltip - - - PERMISSION_TRIGGER_ANIMATION - - type - integer - value - 0x10 - tooltip - If this permission is enabled, the object can successfully call llStartAnimation for the avatar that owns this. - - PI - - type - float - value - 3.14159265 - tooltip - 3.14159265 - The number of radians in a semi-circle. - - PI_BY_TWO - - type - float - value - 1.57079633 - tooltip - 1.57079633 - The number of radians in a quarter circle. - - PING_PONG - - type - integer - value - 0x8 - tooltip - Play animation going forwards, then backwards. - - PRIM_ALPHA_MODE - - type - integer - value - 38 - tooltip - Prim parameter for materials using integer face, integer alpha_mode, integer alpha_cutoff.\nDefines how the alpha channel of the diffuse texture should be rendered.\nValid options for alpha_mode are PRIM_ALPHA_MODE_BLEND, _NONE, _MASK, and _EMISSIVE.\nalpha_cutoff is used only for PRIM_ALPHA_MODE_MASK. - - PRIM_ALPHA_MODE_NONE - - type - integer - value - 0 - tooltip - Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be ignored. - - PRIM_ALPHA_MODE_BLEND - - type - integer - value - 1 - tooltip - Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be rendered as alpha-blended. - - PRIM_ALPHA_MODE_MASK - - type - integer - value - 2 - tooltip - Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be rendered as fully opaque for alpha values above alpha_cutoff and fully transparent otherwise. - - PRIM_ALPHA_MODE_EMISSIVE - - type - integer - value - 3 - tooltip - Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be rendered as an emissivity mask. - - PRIM_BUMP_BARK - - type - integer - value - 4 - tooltip - - - PRIM_BUMP_BLOBS - - type - integer - value - 12 - tooltip - - - PRIM_BUMP_BRICKS - - type - integer - value - 5 - tooltip - - - PRIM_BUMP_BRIGHT - - type - integer - value - 1 - tooltip - - - PRIM_BUMP_CHECKER - - type - integer - value - 6 - tooltip - - - PRIM_BUMP_CONCRETE - - type - integer - value - 7 - tooltip - - - PRIM_BUMP_DARK - - type - integer - value - 2 - tooltip - - - PRIM_BUMP_DISKS - - type - integer - value - 10 - tooltip - - - PRIM_BUMP_GRAVEL - - type - integer - value - 11 - tooltip - - - PRIM_BUMP_LARGETILE - - type - integer - value - 14 - tooltip - - - PRIM_BUMP_NONE - - type - integer - value - 0 - tooltip - - - PRIM_BUMP_SHINY - - type - integer - value - 19 - tooltip - - - PRIM_BUMP_SIDING - - type - integer - value - 13 - tooltip - - - PRIM_BUMP_STONE - - type - integer - value - 9 - tooltip - - - PRIM_BUMP_STUCCO - - type - integer - value - 15 - tooltip - - - PRIM_BUMP_SUCTION - - type - integer - value - 16 - tooltip - - - PRIM_BUMP_TILE - - type - integer - value - 8 - tooltip - - - PRIM_BUMP_WEAVE - - type - integer - value - 17 - tooltip - - - PRIM_BUMP_WOOD - - type - integer - value - 3 - tooltip - - - PRIM_CAST_SHADOWS - - deprecated - true - type - integer - value - 24 - tooltip - - - PRIM_COLOR - - type - integer - value - 18 - tooltip - - - PRIM_DESC - - type - integer - value - 28 - tooltip - - - PRIM_FLEXIBLE - - type - integer - value - 21 - tooltip - - - PRIM_FULLBRIGHT - - type - integer - value - 20 - tooltip - - - PRIM_GLOW - - type - integer - value - 25 - tooltip - PRIM_GLOW is used to get or set the glow status of the face. - - PRIM_HOLE_CIRCLE - - type - integer - value - 0x10 - tooltip - - - PRIM_HOLE_DEFAULT - - type - integer - value - 0x00 - tooltip - - - PRIM_HOLE_SQUARE - - type - integer - value - 0x20 - tooltip - - - PRIM_HOLE_TRIANGLE - - type - integer - value - 0x30 - tooltip - - - PRIM_LINK_TARGET - - type - integer - value - 34 - tooltip - - - PRIM_MATERIAL - - type - integer - value - 2 - tooltip - - - PRIM_MATERIAL_FLESH - - type - integer - value - 4 - tooltip - - - PRIM_MATERIAL_GLASS - - type - integer - value - 2 - tooltip - - - PRIM_MATERIAL_LIGHT - - type - integer - value - 7 - tooltip - - - PRIM_MATERIAL_METAL - - type - integer - value - 1 - tooltip - - - PRIM_MATERIAL_PLASTIC - - type - integer - value - 5 - tooltip - - - PRIM_MATERIAL_RUBBER - - type - integer - value - 6 - tooltip - - - PRIM_MATERIAL_STONE - - type - integer - value - 0 - tooltip - - - PRIM_MATERIAL_WOOD - - type - integer - value - 3 - tooltip - - - PRIM_MEDIA_ALT_IMAGE_ENABLE - - type - integer - value - 0 - tooltip - Boolean. Gets/Sets the default image state (the image that the user sees before a piece of media is active) for the chosen face. The default image is specified by Second Life's server for that media type. - - PRIM_MEDIA_AUTO_LOOP - - type - integer - value - 4 - tooltip - Boolean. Gets/Sets whether auto-looping is enabled. - - PRIM_MEDIA_AUTO_PLAY - - type - integer - value - 5 - tooltip - Boolean. Gets/Sets whether the media auto-plays when a Resident can view it. - - PRIM_MEDIA_AUTO_SCALE - - type - integer - value - 6 - tooltip - Boolean. Gets/Sets whether auto-scaling is enabled. Auto-scaling forces the media to the full size of the texture. - - PRIM_MEDIA_AUTO_ZOOM - - type - integer - value - 7 - tooltip - Boolean. Gets/Sets whether clicking the media triggers auto-zoom and auto-focus on the media. - - PRIM_MEDIA_CONTROLS - - type - integer - value - 1 - tooltip - Integer. Gets/Sets the style of controls. Can be either PRIM_MEDIA_CONTROLS_STANDARD or PRIM_MEDIA_CONTROLS_MINI. - - PRIM_MEDIA_CONTROLS_MINI - - type - integer - value - 1 - tooltip - Mini web navigation controls; does not include an address bar. - - PRIM_MEDIA_CONTROLS_STANDARD - - type - integer - value - 0 - tooltip - Standard web navigation controls. - - PRIM_MEDIA_CURRENT_URL - - type - integer - value - 2 - tooltip - String. Gets/Sets the current url displayed on the chosen face. Changing this URL causes navigation. 1024 characters Maximum. - - PRIM_MEDIA_FIRST_CLICK_INTERACT - - type - integer - value - 8 - tooltip - Boolean. Gets/Sets whether the first click interaction is enabled. - - PRIM_MEDIA_HEIGHT_PIXELS - - type - integer - value - 10 - tooltip - Integer. Gets/Sets the height of the media in pixels. - - PRIM_MEDIA_HOME_URL - - type - integer - value - 3 - tooltip - String. Gets/Sets the home URL for the chosen face. 1024 characters maximum. - - PRIM_MEDIA_MAX_HEIGHT_PIXELS - - type - integer - value - 2048 - tooltip - - - PRIM_MEDIA_MAX_URL_LENGTH - - type - integer - value - 1024 - tooltip - - - PRIM_MEDIA_MAX_WHITELIST_COUNT - - type - integer - value - 64 - tooltip - - - PRIM_MEDIA_MAX_WHITELIST_SIZE - - type - integer - value - 1024 - tooltip - - - PRIM_MEDIA_MAX_WIDTH_PIXELS - - type - integer - value - 2048 - tooltip - - - PRIM_MEDIA_PARAM_MAX - - type - integer - value - 14 - tooltip - - - PRIM_MEDIA_PERM_ANYONE - - type - integer - value - 4 - tooltip - - - PRIM_MEDIA_PERM_GROUP - - type - integer - value - 2 - tooltip - - - PRIM_MEDIA_PERM_NONE - - type - integer - value - 0 - tooltip - - - PRIM_MEDIA_PERM_OWNER - - type - integer - value - 1 - tooltip - - - PRIM_MEDIA_PERMS_CONTROL - - type - integer - value - 14 - tooltip - Integer. Gets/Sets the permissions mask that control who can see the media control bar above the object:: PRIM_MEDIA_PERM_ANYONE, PRIM_MEDIA_PERM_GROUP, PRIM_MEDIA_PERM_NONE, PRIM_MEDIA_PERM_OWNER - - PRIM_MEDIA_PERMS_INTERACT - - type - integer - value - 13 - tooltip - Integer. Gets/Sets the permissions mask that control who can interact with the object: PRIM_MEDIA_PERM_ANYONE, PRIM_MEDIA_PERM_GROUP, PRIM_MEDIA_PERM_NONE, PRIM_MEDIA_PERM_OWNER - - PRIM_MEDIA_WHITELIST - - type - integer - value - 12 - tooltip - String. Gets/Sets the white-list as a string of escaped, comma-separated URLs. This string can hold up to 64 URLs or 1024 characters, whichever comes first. - - PRIM_MEDIA_WHITELIST_ENABLE - - type - integer - value - 11 - tooltip - Boolean. Gets/Sets whether navigation is restricted to URLs in PRIM_MEDIA_WHITELIST. - - PRIM_MEDIA_WIDTH_PIXELS - - type - integer - value - 9 - tooltip - Integer. Gets/Sets the width of the media in pixels. - - PRIM_NAME - - type - integer - value - 27 - tooltip - - - PRIM_NORMAL - - type - integer - value - 37 - tooltip - Prim parameter for materials using integer face, string texture, vector repeats, vector offsets, float rotation_in_radians - - PRIM_OMEGA - - type - integer - value - 32 - tooltip - - - PRIM_PHANTOM - - type - integer - value - 5 - tooltip - - - PRIM_PHYSICS - - type - integer - value - 3 - tooltip - - - PRIM_PHYSICS_SHAPE_CONVEX - - type - integer - value - 2 - tooltip - Use the convex hull of the prim shape for physics (this is the default for mesh objects). - - PRIM_PHYSICS_SHAPE_NONE - - type - integer - value - 1 - tooltip - Ignore this prim in the physics shape. NB: This cannot be applied to the root prim. - - PRIM_PHYSICS_SHAPE_PRIM - - type - integer - value - 0 - tooltip - Use the normal prim shape for physics (this is the default for all non-mesh objects). - - PRIM_PHYSICS_SHAPE_TYPE - - type - integer - value - 30 - tooltip - Allows you to set the physics shape type of a prim via lsl. Permitted values are: - PRIM_PHYSICS_SHAPE_NONE, PRIM_PHYSICS_SHAPE_PRIM, PRIM_PHYSICS_SHAPE_CONVEX - - PRIM_POINT_LIGHT - - type - integer - value - 23 - tooltip - - - PRIM_POS_LOCAL - - type - integer - value - 33 - tooltip - - - PRIM_POSITION - - type - integer - value - 6 - tooltip - - - PRIM_ROT_LOCAL - - type - integer - value - 29 - tooltip - - - PRIM_ROTATION - - type - integer - value - 8 - tooltip - - - PRIM_SCULPT_FLAG_INVERT - - type - integer - value - 64 - tooltip - Render inside out (inverts the normals). - - PRIM_SCULPT_FLAG_MIRROR - - type - integer - value - 128 - tooltip - Render an X axis mirror of the sculpty. - - PRIM_SCULPT_TYPE_CYLINDER - - type - integer - value - 4 - tooltip - - - PRIM_SCULPT_TYPE_MASK - - type - integer - value - 7 - tooltip - - - PRIM_SCULPT_TYPE_PLANE - - type - integer - value - 3 - tooltip - - - PRIM_SCULPT_TYPE_SPHERE - - type - integer - value - 1 - tooltip - - - PRIM_SCULPT_TYPE_TORUS - - type - integer - value - 2 - tooltip - - - PRIM_SHINY_HIGH - - type - integer - value - 3 - tooltip - - - PRIM_SHINY_LOW - - type - integer - value - 1 - tooltip - - - PRIM_SHINY_MEDIUM - - type - integer - value - 2 - tooltip - - - PRIM_SHINY_NONE - - type - integer - value - 0 - tooltip - - - PRIM_SIZE - - type - integer - value - 7 - tooltip - - - PRIM_SLICE - - type - integer - value - 35 - tooltip - - - PRIM_SPECULAR - - type - integer - value - 36 - tooltip - Prim parameter for materials using integer face, string texture, vector repeats, vector offsets, float rotation_in_radians, vector color, integer glossy, integer environment - - PRIM_TEMP_ON_REZ - - type - integer - value - 4 - tooltip - - - PRIM_TEXGEN - - type - integer - value - 22 - tooltip - - - PRIM_TEXGEN_DEFAULT - - type - integer - value - 0 - tooltip - - - PRIM_TEXGEN_PLANAR - - type - integer - value - 1 - tooltip - - - PRIM_TEXT - - type - integer - value - 26 - tooltip - - - PRIM_TEXTURE - - type - integer - value - 17 - tooltip - - - PRIM_TYPE - - type - integer - value - 9 - tooltip - - - PRIM_TYPE_BOX - - type - integer - value - 0 - tooltip - - - PRIM_TYPE_CYLINDER - - type - integer - value - 1 - tooltip - - - PRIM_TYPE_PRISM - - type - integer - value - 2 - tooltip - - - PRIM_TYPE_RING - - type - integer - value - 6 - tooltip - - - PRIM_TYPE_SCULPT - - type - integer - value - 7 - tooltip - - - PRIM_TYPE_SPHERE - - type - integer - value - 3 - tooltip - - - PRIM_TYPE_TORUS - - type - integer - value - 4 - tooltip - - - PRIM_TYPE_TUBE - - type - integer - value - 5 - tooltip - - - PROFILE_NONE - - type - integer - value - 0 - tooltip - Disables profiling - - PROFILE_SCRIPT_MEMORY - - type - integer - value - 1 - tooltip - Enables memory profiling - - PSYS_PART_BF_DEST_COLOR - - type - integer - value - 2 - tooltip - - - PSYS_PART_BF_ONE - - type - integer - value - 0 - tooltip - - - PSYS_PART_BF_ONE_MINUS_DEST_COLOR - - type - integer - value - 4 - tooltip - - - PSYS_PART_BF_ONE_MINUS_SOURCE_COLOR - - type - integer - value - 5 - tooltip - - - PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA - - type - integer - value - 9 - tooltip - - - PSYS_PART_BF_SOURCE_ALPHA - - type - integer - value - 7 - tooltip - - - PSYS_PART_BF_SOURCE_COLOR - - type - integer - value - 3 - tooltip - - - PSYS_PART_BF_ZERO - - type - integer - value - 1 - tooltip - - - PSYS_PART_BLEND_FUNC_DEST - - type - integer - value - 25 - tooltip - - - PSYS_PART_BLEND_FUNC_SOURCE - - type - integer - value - 24 - tooltip - - - PSYS_PART_BOUNCE_MASK - - type - integer - value - 0x4 - tooltip - Particles bounce off of a plane at the objects Z height. - - PSYS_PART_EMISSIVE_MASK - - type - integer - value - 0x100 - tooltip - The particle glows. - - PSYS_PART_END_ALPHA - - type - integer - value - 4 - tooltip - A float which determines the ending alpha of the object. - - PSYS_PART_END_COLOR - - type - integer - value - 3 - tooltip - A vector <r, g, b> which determines the ending color of the object. - - PSYS_PART_END_GLOW - - type - integer - value - 27 - tooltip - - - PSYS_PART_END_SCALE - - type - integer - value - 6 - tooltip - A vector <sx, sy, z>, which is the ending size of the particle billboard in meters (z is ignored). - - PSYS_PART_FLAGS - - type - integer - value - 0 - tooltip - Each particle that is emitted by the particle system is simulated based on the following flags. To use multiple flags, bitwise or (|) them together. - - PSYS_PART_FOLLOW_SRC_MASK - - type - integer - value - 0x10 - tooltip - The particle position is relative to the source objects position. - - PSYS_PART_FOLLOW_VELOCITY_MASK - - type - integer - value - 0x20 - tooltip - The particle orientation is rotated so the vertical axis faces towards the particle velocity. - - PSYS_PART_INTERP_COLOR_MASK - - type - integer - value - 0x1 - tooltip - Interpolate both the color and alpha from the start value to the end value. - - PSYS_PART_INTERP_SCALE_MASK - - type - integer - value - 0x2 - tooltip - Interpolate the particle scale from the start value to the end value. - - PSYS_PART_MAX_AGE - - type - integer - value - 7 - tooltip - Age in seconds of a particle at which it dies. - - PSYS_PART_RIBBON_MASK - - type - integer - value - 0x400 - tooltip - - - PSYS_PART_START_ALPHA - - type - integer - value - 2 - tooltip - A float which determines the starting alpha of the object. - - PSYS_PART_START_COLOR - - type - integer - value - 1 - tooltip - A vector <r.r, g.g, b.b> which determines the starting color of the object. - - PSYS_PART_START_GLOW - - type - integer - value - 26 - tooltip - - - PSYS_PART_START_SCALE - - type - integer - value - 5 - tooltip - A vector <sx, sy, z>, which is the starting size of the particle billboard in meters (z is ignored). - - PSYS_PART_TARGET_LINEAR_MASK - - type - integer - value - 0x80 - tooltip - - - PSYS_PART_TARGET_POS_MASK - - type - integer - value - 0x40 - tooltip - The particle heads towards the location of the target object as defined by PSYS_SRC_TARGET_KEY. - - PSYS_PART_WIND_MASK - - type - integer - value - 0x8 - tooltip - Particles have their velocity damped towards the wind velocity. - - PSYS_SRC_ACCEL - - type - integer - value - 8 - tooltip - A vector <x, y, z> which is the acceleration to apply on particles. - - PSYS_SRC_ANGLE_BEGIN - - type - integer - value - 22 - tooltip - Area in radians specifying where particles will NOT be created (for ANGLE patterns) - - PSYS_SRC_ANGLE_END - - type - integer - value - 23 - tooltip - Area in radians filled with particles (for ANGLE patterns) (if lower than PSYS_SRC_ANGLE_BEGIN, acts as PSYS_SRC_ANGLE_BEGIN itself, and PSYS_SRC_ANGLE_BEGIN acts as PSYS_SRC_ANGLE_END). - - PSYS_SRC_BURST_PART_COUNT - - type - integer - value - 15 - tooltip - How many particles to release in a burst. - - PSYS_SRC_BURST_RADIUS - - type - integer - value - 16 - tooltip - What distance from the center of the object to create the particles. - - PSYS_SRC_BURST_RATE - - type - integer - value - 13 - tooltip - How often to release a particle burst (float seconds). - - PSYS_SRC_BURST_SPEED_MAX - - type - integer - value - 18 - tooltip - Maximum speed that a particle should be moving. - - PSYS_SRC_BURST_SPEED_MIN - - type - integer - value - 17 - tooltip - Minimum speed that a particle should be moving. - - PSYS_SRC_INNERANGLE - - type - integer - value - 10 - tooltip - Specifies the inner angle of the arc created by the PSYS_SRC_PATTERN_ANGLE or PSYS_SRC_PATTERN_ANGLE_CONE source pattern. - The area specified will NOT have particles in it. - - PSYS_SRC_MAX_AGE - - type - integer - value - 19 - tooltip - How long this particle system should last, 0.0 means forever. - - PSYS_SRC_OMEGA - - type - integer - value - 21 - tooltip - Sets the angular velocity to rotate the axis that SRC_PATTERN_ANGLE and SRC_PATTERN_ANGLE_CONE use. - - PSYS_SRC_OUTERANGLE - - type - integer - value - 11 - tooltip - Specifies the outer angle of the arc created by the PSYS_SRC_PATTERN_ANGLE or PSYS_SRC_PATTERN_ANGLE_CONE source pattern. - The area between the outer and inner angle will be filled with particles. - - PSYS_SRC_PATTERN - - type - integer - value - 9 - tooltip - The pattern which is used to generate particles. - Use one of the following values: PSYS_SRC_PATTERN Values. - - PSYS_SRC_PATTERN_ANGLE - - type - integer - value - 0x04 - tooltip - Shoot particles across a 2 dimensional area defined by the arc created from PSYS_SRC_OUTERANGLE. There will be an open area defined by PSYS_SRC_INNERANGLE within the larger arc. - - PSYS_SRC_PATTERN_ANGLE_CONE - - type - integer - value - 0x08 - tooltip - Shoot particles out in a 3 dimensional cone with an outer arc of PSYS_SRC_OUTERANGLE and an inner open area defined by PSYS_SRC_INNERANGLE. - - PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY - - type - integer - value - 0x10 - tooltip - - - PSYS_SRC_PATTERN_DROP - - type - integer - value - 0x01 - tooltip - Drop particles at the source position. - - PSYS_SRC_PATTERN_EXPLODE - - type - integer - value - 0x02 - tooltip - Shoot particles out in all directions, using the burst parameters. - - PSYS_SRC_TARGET_KEY - - type - integer - value - 20 - tooltip - The key of a target object to move towards if PSYS_PART_TARGET_POS_MASK is enabled. - - PSYS_SRC_TEXTURE - - type - integer - value - 12 - tooltip - An asset name for the texture to use for the particles. - - PUBLIC_CHANNEL - - type - integer - value - 0 - tooltip - PUBLIC_CHANNEL is an integer constant that, when passed to llSay, llWhisper, or llShout as a channel parameter, will print text to the publicly heard chat channel. - - RAD_TO_DEG - - type - float - value - 57.2957795 - tooltip - 57.2957795 - Number of degrees per radian. You can use this number to convert radians to degrees by multiplying the radians by this number. - - RC_DATA_FLAGS - - type - integer - value - 2 - tooltip - - - RC_DETECT_PHANTOM - - type - integer - value - 1 - tooltip - - - RC_GET_LINK_NUM - - type - integer - value - 4 - tooltip - - - RC_GET_NORMAL - - type - integer - value - 1 - tooltip - - - RC_GET_ROOT_KEY - - type - integer - value - 2 - tooltip - - - RC_MAX_HITS - - type - integer - value - 3 - tooltip - - - RC_REJECT_AGENTS - - type - integer - value - 1 - tooltip - - - RC_REJECT_LAND - - type - integer - value - 8 - tooltip - - - RC_REJECT_NONPHYSICAL - - type - integer - value - 4 - tooltip - - - RC_REJECT_PHYSICAL - - type - integer - value - 2 - tooltip - - - RC_REJECT_TYPES - - type - integer - value - 0 - tooltip - - - RCERR_CAST_TIME_EXCEEDED - - type - integer - value - -3 - tooltip - - - RCERR_SIM_PERF_LOW - - type - integer - value - -2 - tooltip - - - RCERR_UNKNOWN - - type - integer - value - -1 - tooltip - - - REGION_FLAG_ALLOW_DAMAGE - - type - integer - value - 0x1 - tooltip - - - REGION_FLAG_ALLOW_DIRECT_TELEPORT - - type - integer - value - 0x100000 - tooltip - - - REGION_FLAG_BLOCK_FLY - - type - integer - value - 0x80000 - tooltip - - - REGION_FLAG_BLOCK_FLYOVER - - type - integer - value - 0x8000000 - tooltip - - - REGION_FLAG_BLOCK_TERRAFORM - - type - integer - value - 0x40 - tooltip - - - REGION_FLAG_DISABLE_COLLISIONS - - type - integer - value - 0x1000 - tooltip - - - REGION_FLAG_DISABLE_PHYSICS - - type - integer - value - 0x4000 - tooltip - - - REGION_FLAG_FIXED_SUN - - type - integer - value - 0x10 - tooltip - - - REGION_FLAG_RESTRICT_PUSHOBJECT - - type - integer - value - 0x400000 - tooltip - - - REGION_FLAG_SANDBOX - - type - integer - value - 0x100 - tooltip - - - REMOTE_DATA_CHANNEL - - type - integer - value - 1 - tooltip - - - REMOTE_DATA_REPLY - - type - integer - value - 3 - tooltip - - - REMOTE_DATA_REQUEST - - type - integer - value - 2 - tooltip - - - REQUIRE_LINE_OF_SIGHT - - type - integer - value - 2 - tooltip - Define whether the character needs a line-of-sight to give chase. - - RESTITUTION - - type - integer - value - 4 - tooltip - Used with llSetPhysicsMaterial to enable the density value. Must be between 0.0 and 1.0 - - REVERSE - - type - integer - value - 0x4 - tooltip - Play animation in reverse direction. - - ROTATE - - type - integer - value - 0x20 - tooltip - Animate texture rotation. - - SCALE - - type - integer - value - 0x40 - tooltip - Animate the texture scale. - - SCRIPTED - - type - integer - value - 0x8 - tooltip - Scripted in-world objects. - - SMOOTH - - type - integer - value - 0x10 - tooltip - Slide in the X direction, instead of playing separate frames. - - SQRT2 - - type - float - value - 1.41421356 - tooltip - 1.41421356 - The square root of 2. - - STATUS_BLOCK_GRAB - - type - integer - value - 0x40 - tooltip - Controls whether the object can be grabbed.\nA grab is the default action when in third person, and is available as the hand tool in build mode. This is useful for physical objects that you don't want other people to be able to trivially disturb. The default is FALSE - - STATS_TIME_DILATION - - type - integer - value - 0 - tooltip - osGetRegionStats Time Dilation - - STATS_SIM_FPS - - type - integer - value - 1 - tooltip - osGetRegionStats Sim FPS - - STATS_PHYSICS_FPS - - type - integer - value - 2 - tooltip - osGetRegionStats Physics FPS - - STATS_AGENT_UPDATES - - type - integer - value - 3 - tooltip - osGetRegionStats Agent Updates/Sec - - STATS_ROOT_AGENTS - - type - integer - value - 4 - tooltip - osGetRegionStats Main Agents - - STATS_CHILD_AGENTS - - type - integer - value - 5 - tooltip - osGetRegionStats Child Agents - - STATS_TOTAL_PRIMS - - type - integer - value - 6 - tooltip - osGetRegionStats Objects - - STATS_ACTIVE_PRIMS - - type - integer - value - 7 - tooltip - osGetRegionStats Active Objects - - STATS_FRAME_MS - - type - integer - value - 8 - tooltip - osGetRegionStats Total Frame Time - - STATS_NET_MS - - type - integer - value - 9 - tooltip - osGetRegionStats Net Time - - STATS_PHYSICS_MS - - type - integer - value - 10 - tooltip - osGetRegionStats Physics Time - - STATS_IMAGE_MS - - type - integer - value - 11 - tooltip - osGetRegionStats Image Time - - STATS_OTHER_MS - - type - integer - value - 12 - tooltip - osGetRegionStats Other Time - - STATS_IN_PACKETS_PER_SECOND - - type - integer - value - 13 - tooltip - osGetRegionStats Packets in - - STATS_OUT_PACKETS_PER_SECOND - - type - integer - value - 14 - tooltip - osGetRegionStats Packets out - - STATS_UNACKED_BYTES - - type - integer - value - 15 - tooltip - osGetRegionStats Total Unacked Bytes - - STATS_AGENT_MS - - type - integer - value - 16 - tooltip - osGetRegionStats Agent Time - - STATS_PENDING_DOWNLOADS - - type - integer - value - 17 - tooltip - osGetRegionStats Pending Downloads - - STATS_PENDING_UPLOADS - - type - integer - value - 18 - tooltip - osGetRegionStats Pending Uploads - - STATS_ACTIVE_SCRIPTS - - type - integer - value - 19 - tooltip - osGetRegionStats Active Scripts - - STATS_SCRIPT_LPS - - type - integer - value - 20 - tooltip - osGetRegionStats Script Line Per Second - - STATUS_BLOCK_GRAB_OBJECT - - type - integer - value - 0x400 - tooltip - Prevent click-and-drag movement on all prims in the object. - - STATUS_BOUNDS_ERROR - - type - integer - value - 1002 - tooltip - Argument(s) passed to function had a bounds error. - - STATUS_CAST_SHADOWS - - type - integer - value - 0x200 - tooltip - - - STATUS_DIE_AT_EDGE - - type - integer - value - 0x80 - tooltip - Controls whether the object is returned to the owners inventory if it wanders off the edge of the world.\nIt is useful to set this status TRUE for things like bullets or rockets. The default is TRUE - - STATUS_INTERNAL_ERROR - - type - integer - value - 1999 - tooltip - An internal error occurred. - - STATUS_MALFORMED_PARAMS - - type - integer - value - 1000 - tooltip - Function was called with malformed parameters. - - STATUS_NOT_FOUND - - type - integer - value - 1003 - tooltip - Object or other item was not found. - - STATUS_NOT_SUPPORTED - - type - integer - value - 1004 - tooltip - Feature not supported. - - STATUS_OK - - type - integer - value - 0 - tooltip - Result of function call was a success. - - STATUS_PHANTOM - - type - integer - value - 0x10 - tooltip - Controls/indicates whether the object collides or not.\nSetting the value to TRUE makes the object non-colliding with all objects. It is a good idea to use this for most objects that move or rotate, but are non-physical. It is also useful for simulating volumetric lighting. The default is FALSE. - - STATUS_PHYSICS - - type - integer - value - 0x1 - tooltip - Controls/indicates whether the object moves physically.\nThis controls the same flag that the UI check-box for Physical controls. The default is FALSE. - - STATUS_RETURN_AT_EDGE - - type - integer - value - 0x100 - tooltip - - - STATUS_ROTATE_X - - type - integer - value - 0x2 - tooltip - - - STATUS_ROTATE_Y - - type - integer - value - 0x4 - tooltip - - - STATUS_ROTATE_Z - - type - integer - value - 0x8 - tooltip - Controls/indicates whether the object can physically rotate around - the specific axis or not. This flag has no meaning - for non-physical objects. Set the value to FALSE - if you want to disable rotation around that axis. The - default is TRUE for a physical object. - A useful example to think about when visualizing - the effect is a sit-and-spin device. They spin around the - Z axis (up) but not around the X or Y axis. - - STATUS_SANDBOX - - type - integer - value - 0x20 - tooltip - Controls/indicates whether the object can cross region boundaries - and move more than 20 meters from its creation - point. The default if FALSE. - - STATUS_TYPE_MISMATCH - - type - integer - value - 1001 - tooltip - Argument(s) passed to function had a type mismatch. - - STATUS_WHITELIST_FAILED - - type - integer - value - 2001 - tooltip - Whitelist Failed. - - STRING_TRIM - - type - integer - value - 0x03 - tooltip - - - STRING_TRIM_HEAD - - type - integer - value - 0x01 - tooltip - - - STRING_TRIM_TAIL - - type - integer - value - 0x02 - tooltip - - - TEXTURE_BLANK - - type - string - value - 5748decc-f629-461c-9a36-a35a221fe21f - tooltip - - - TEXTURE_DEFAULT - - type - string - value - 89556747-24cb-43ed-920b-47caed15465f - tooltip - - - TEXTURE_MEDIA - - type - string - value - 8b5fec65-8d8d-9dc5-cda8-8fdf2716e361 - tooltip - - - TEXTURE_PLYWOOD - - type - string - value - 89556747-24cb-43ed-920b-47caed15465f - tooltip - - - TEXTURE_TRANSPARENT - - type - string - value - 8dcd4a48-2d37-4909-9f78-f7a9eb4ef903 - tooltip - - - TOUCH_INVALID_FACE - - type - integer - value - 0xFFFFFFFF - tooltip - - - TOUCH_INVALID_TEXCOORD - - type - vector - value - <-1.0, -1.0, 0.0> - tooltip - - - TOUCH_INVALID_VECTOR - - type - vector - value - <0.0, 0.0, 0.0> - tooltip - - - TRUE - - type - integer - value - 1 - tooltip - An integer constant for boolean comparisons. Has the value '1'. - - TWO_PI - - type - float - value - 6.28318530 - tooltip - 6.28318530 - The radians of a circle. - - TYPE_FLOAT - - type - integer - value - 2 - tooltip - The list entry is a float. - - TYPE_INTEGER - - type - integer - value - 1 - tooltip - The list entry is an integer. - - TYPE_INVALID - - type - integer - value - 0 - tooltip - The list entry is invalid. - - TYPE_KEY - - type - integer - value - 4 - tooltip - The list entry is a key. - - TYPE_ROTATION - - type - integer - value - 6 - tooltip - The list entry is a rotation. - - TYPE_STRING - - type - integer - value - 3 - tooltip - The list entry is a string. - - TYPE_VECTOR - - type - integer - value - 5 - tooltip - The list entry is a vector. - - URL_REQUEST_DENIED - - type - string - value - URL_REQUEST_DENIED - tooltip - - - URL_REQUEST_GRANTED - - type - string - value - URL_REQUEST_GRANTED - tooltip - - - VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY - - type - integer - value - 32 - tooltip - A slider between minimum (0.0) and maximum (1.0) deflection of angular orientation. That is, its a simple scalar for modulating the strength of angular deflection such that the vehicles preferred axis of motion points toward its real velocity. - - VEHICLE_ANGULAR_DEFLECTION_TIMESCALE - - type - integer - value - 33 - tooltip - The time-scale for exponential success of linear deflection deflection. Its another way to specify the strength of the vehicles tendency to reorient itself so that its preferred axis of motion agrees with its true velocity. - - VEHICLE_ANGULAR_FRICTION_TIMESCALE - - type - integer - value - 17 - tooltip - A vector of timescales for exponential decay of the vehicles angular velocity about its preferred axes of motion (at, left, up). - Range = [0.07, inf) seconds for each element of the vector. - - VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE - - type - integer - value - 35 - tooltip - The timescale for exponential decay of the angular motors magnitude. - - VEHICLE_ANGULAR_MOTOR_DIRECTION - - type - integer - value - 19 - tooltip - The direction and magnitude (in preferred frame) of the vehicles angular motor.The vehicle will accelerate (or decelerate if necessary) to match its velocity to its motor. - - VEHICLE_ANGULAR_MOTOR_TIMESCALE - - type - integer - value - 34 - tooltip - The timescale for exponential approach to full angular motor velocity. - - VEHICLE_BANKING_EFFICIENCY - - type - integer - value - 38 - tooltip - A slider between anti (-1.0), none (0.0), and maxmum (1.0) banking strength. - - VEHICLE_BANKING_MIX - - type - integer - value - 39 - tooltip - A slider between static (0.0) and dynamic (1.0) banking. "Static" means the banking scales only with the angle of roll, whereas "dynamic" is a term that also scales with the vehicles linear speed. - - VEHICLE_BANKING_TIMESCALE - - type - integer - value - 40 - tooltip - The timescale for banking to exponentially approach its maximum effect. This is another way to scale the strength of the banking effect, however it affects the term that is proportional to the difference between what the banking behavior is trying to do, and what the vehicle is actually doing. - - VEHICLE_BUOYANCY - - type - integer - value - 27 - tooltip - A slider between minimum (0.0) and maximum anti-gravity (1.0). - - VEHICLE_FLAG_CAMERA_DECOUPLED - - type - integer - value - 0x200 - tooltip - - - VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT - - type - integer - value - 0x10 - tooltip - Hover at global height. - - VEHICLE_FLAG_HOVER_TERRAIN_ONLY - - type - integer - value - 0x8 - tooltip - Ignore water height when hovering. - - VEHICLE_FLAG_HOVER_UP_ONLY - - type - integer - value - 0x20 - tooltip - Hover does not push down. Use this flag for hovering vehicles that should be able to jump above their hover height. - - VEHICLE_FLAG_HOVER_WATER_ONLY - - type - integer - value - 0x4 - tooltip - Ignore terrain height when hovering. - - VEHICLE_FLAG_LIMIT_MOTOR_UP - - type - integer - value - 0x40 - tooltip - Prevents ground vehicles from motoring into the sky. - - VEHICLE_FLAG_LIMIT_ROLL_ONLY - - type - integer - value - 0x2 - tooltip - For vehicles with vertical attractor that want to be able to climb/dive, for instance, aeroplanes that want to use the banking feature. - - VEHICLE_FLAG_MOUSELOOK_BANK - - type - integer - value - 0x100 - tooltip - - - VEHICLE_FLAG_MOUSELOOK_STEER - - type - integer - value - 0x80 - tooltip - - - VEHICLE_FLAG_NO_DEFLECTION_UP - - type - integer - value - 0x1 - tooltip - This flag prevents linear deflection parallel to world z-axis. This is useful for preventing ground vehicles with large linear deflection, like bumper cars, from climbing their linear deflection into the sky. - - VEHICLE_FLAG_NO_FLY_UP - - deprecated - true - type - integer - value - 0x1 - tooltip - Old, changed to VEHICLE_FLAG_NO_DEFLECTION_UP - - VEHICLE_HOVER_EFFICIENCY - - type - integer - value - 25 - tooltip - A slider between minimum (0.0 = bouncy) and maximum (1.0 = fast as possible) damped motion of the hover behavior. - - VEHICLE_HOVER_HEIGHT - - type - integer - value - 24 - tooltip - The height (above the terrain or water, or global) at which the vehicle will try to hover. - - VEHICLE_HOVER_TIMESCALE - - type - integer - value - 26 - tooltip - Period of time (in seconds) for the vehicle to achieve its hover height. - - VEHICLE_LINEAR_DEFLECTION_EFFICIENCY - - type - integer - value - 28 - tooltip - A slider between minimum (0.0) and maximum (1.0) deflection of linear velocity. That is, its a simple scalar for modulating the strength of linear deflection. - - VEHICLE_LINEAR_DEFLECTION_TIMESCALE - - type - integer - value - 29 - tooltip - The timescale for exponential success of linear deflection deflection. It is another way to specify how much time it takes for the vehicles linear velocity to be redirected to its preferred axis of motion. - - VEHICLE_LINEAR_FRICTION_TIMESCALE - - type - integer - value - 16 - tooltip - A vector of timescales for exponential decay of the vehicles linear velocity along its preferred axes of motion (at, left, up). - Range = [0.07, inf) seconds for each element of the vector. - - VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE - - type - integer - value - 31 - tooltip - The timescale for exponential decay of the linear motors magnitude. - - VEHICLE_LINEAR_MOTOR_DIRECTION - - type - integer - value - 18 - tooltip - The direction and magnitude (in preferred frame) of the vehicles linear motor. The vehicle will accelerate (or decelerate if necessary) to match its velocity to its motor. - Range of magnitude = [0, 30] meters/second. - - VEHICLE_LINEAR_MOTOR_OFFSET - - type - integer - value - 20 - tooltip - - - VEHICLE_LINEAR_MOTOR_TIMESCALE - - type - integer - value - 30 - tooltip - The timescale for exponential approach to full linear motor velocity. - - VEHICLE_REFERENCE_FRAME - - type - integer - value - 44 - tooltip - A rotation of the vehicles preferred axes of motion and orientation (at, left, up) with respect to the vehicles local frame (x, y, z). - - VEHICLE_TYPE_AIRPLANE - - type - integer - value - 4 - tooltip - Uses linear deflection for lift, no hover, and banking to turn.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_AIRPLANE - - VEHICLE_TYPE_BALLOON - - type - integer - value - 5 - tooltip - Hover, and friction, but no deflection.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_BALLOON - - VEHICLE_TYPE_BOAT - - type - integer - value - 3 - tooltip - Hovers over water with lots of friction and some anglar deflection.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_BOAT - - VEHICLE_TYPE_CAR - - type - integer - value - 2 - tooltip - Another vehicle that bounces along the ground but needs the motors to be driven from external controls or timer events.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_CAR - - VEHICLE_TYPE_NONE - - type - integer - value - 0 - tooltip - - - VEHICLE_TYPE_SLED - - type - integer - value - 1 - tooltip - Simple vehicle that bumps along the ground, and likes to move along its local x-axis.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_SLED - - VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY - - type - integer - value - 36 - tooltip - A slider between minimum (0.0 = wobbly) and maximum (1.0 = firm as possible) stability of the vehicle to keep itself upright. - - VEHICLE_VERTICAL_ATTRACTION_TIMESCALE - - type - integer - value - 37 - tooltip - The period of wobble, or timescale for exponential approach, of the vehicle to rotate such that its preferred "up" axis is oriented along the worlds "up" axis. - - VERTICAL - - type - integer - value - 0 - tooltip - - - ZERO_ROTATION - - type - rotation - value - <0.0, 0.0, 0.0, 1.0> - tooltip - - - ZERO_VECTOR - - type - vector - value - <0.0, 0.0, 0.0> - tooltip - - - default - - tooltip - All scripts must have a default state, which is the first state entered when the script starts.\nIf another state is defined before the default state, the compiler will report a syntax error. - - - events - - at_rot_target - - arguments - - - TargetNumber - - type - integer - tooltip - - - - - TargetRotation - - type - rotation - tooltip - - - - - CurrentRotation - - type - rotation - tooltip - - - - - tooltip - This event is triggered when a script comes within a defined angle of a target rotation. The range and rotation, are set by a call to llRotTarget. - - at_target - - arguments - - - TargetNumber - - type - integer - tooltip - - - - - TargetPosition - - type - vector - tooltip - - - - - CurrentPosition - - type - vector - tooltip - - - - - tooltip - This event is triggered when the scripted object comes within a defined range of the target position, defined by the llTarget function call. - - attach - - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - This event is triggered whenever an object is attached or detached from an avatar. If it is attached, the key of the avatar it is attached to is passed in, otherwise NULL_KEY is. - - changed - - arguments - - - Changed - - type - integer - tooltip - - - - - tooltip - Triggered when various events change the object. The change argument will be a bit-field of CHANGED_* constants. - - collision - - arguments - - - NumberOfCollisions - - type - integer - tooltip - - - - - tooltip - This event is raised while another object, or avatar, is colliding with the object the script is attached to. - The number of detected objects is passed to the script. Information on those objects may be gathered via the llDetected* functions. - - collision_end - - arguments - - - NumberOfCollisions - - type - integer - tooltip - - - - - tooltip - This event is raised when another object, or avatar, stops colliding with the object the script is attached to. - The number of detected objects is passed to the script. Information on those objects may be gathered via the llDetected* library functions. - - collision_start - - arguments - - - NumberOfCollisions - - type - integer - tooltip - - - - - tooltip - This event is raised when another object, or avatar, starts colliding with the object the script is attached to. - The number of detected objects is passed to the script. Information on those objects may be gathered via the llDetected* library functions. - - control - - arguments - - - AvatarID - - type - key - tooltip - - - - - Levels - - type - integer - tooltip - - - - - Edges - - type - integer - tooltip - - - - - tooltip - Once a script has the ability to grab control inputs from the avatar, this event will be used to pass the commands into the script. - The levels and edges are bit-fields of control constants. - - dataserver - - arguments - - - RequestID - - type - key - tooltip - - - - - Data - - type - string - tooltip - - - - - tooltip - This event is triggered when the requested data is returned to the script. - Data may be requested by the llRequestAgentData, llRequestInventoryData, and llGetNotecardLine function calls, for example. - - email - - arguments - - - Time - - type - string - tooltip - - - - - Address - - type - string - tooltip - - - - - Subject - - type - string - tooltip - - - - - Body - - type - string - tooltip - - - - - NumberRemaining - - type - integer - tooltip - - - - - tooltip - This event is triggered when an email sent to this script arrives. - The number remaining tells how many more emails are known to be still pending. - - experience_permissions - - arguments - - - agent_id - - type - key - tooltip - ID of the agent approving permission for the Experience. - - - - - experience_permissions_denied - - arguments - - - agent_id - - type - key - tooltip - ID of the agent denying permission for the Experience. - - - - Reason - - type - integer - tooltip - One of the XP_ERROR_... constants describing the reason why the Experience permissions were denied for the agent. - - - - tooltip - Describes why the Experience permissions were denied for the agent. - - http_request - - arguments - - - HTTPRequestID - - type - key - tooltip - - - - - HTTPMethod - - type - string - tooltip - - - - - Body - - type - string - tooltip - - - - - tooltip - Triggered when task receives an HTTP request. - - http_response - - arguments - - - HTTPRequestID - - type - key - tooltip - - - - - Status - - type - integer - tooltip - - - - - Metadata - - type - list - tooltip - - - - - Body - - type - string - tooltip - - - - - tooltip - This event handler is invoked when an HTTP response is received for a pending llHTTPRequest request or if a pending request fails or times out. - - land_collision - - arguments - - - Position - - type - vector - tooltip - - - - - tooltip - This event is raised when the object the script is attached to is colliding with the ground. - - land_collision_end - - arguments - - - Position - - type - vector - tooltip - - - - - tooltip - This event is raised when the object the script is attached to stops colliding with the ground. - - land_collision_start - - arguments - - - Position - - type - vector - tooltip - - - - - tooltip - This event is raised when the object the script is attached to begins to collide with the ground. - - link_message - - arguments - - - SendersLink - - type - integer - tooltip - - - - - Value - - type - integer - tooltip - - - - - Text - - type - string - tooltip - - - - - ID - - type - key - tooltip - - - - - tooltip - Triggered when object receives a link message via llMessageLinked function call. - - listen - - arguments - - - Channel - - type - integer - tooltip - - - - - Name - - type - string - tooltip - - - - - ID - - type - key - tooltip - - - - - Text - - type - string - tooltip - - - - - tooltip - This event is raised whenever a chat message matching the constraints set in the llListen command is received. The name and ID of the speaker, as well as the message, are passed in as parameters. - Channel 0 is the public chat channel that all avatars see as chat text. Channels 1 through 2,147,483,648 are private channels that are not sent to avatars but other scripts can listen on those channels. - - money - - arguments - - - Payer - - type - key - tooltip - - - - - Amount - - type - integer - tooltip - - - - - tooltip - This event is triggered when a resident has given an amount of Linden dollars to the object. - - moving_end - - arguments - - tooltip - Triggered whenever an object with this script stops moving. - - moving_start - - arguments - - tooltip - Triggered whenever an object with this script starts moving. - - no_sensor - - arguments - - tooltip - This event is raised when sensors are active, via the llSensor function call, but are not sensing anything. - - not_at_rot_target - - arguments - - tooltip - When a target is set via the llRotTarget function call, but the script is outside the specified angle this event is raised. - - not_at_target - - arguments - - tooltip - When a target is set via the llTarget library call, but the script is outside the specified range this event is raised. - - object_rez - - arguments - - - RezzedObjectsID - - type - key - tooltip - - - - - tooltip - Triggered when an object rezzes another object from its inventory via the llRezObject, or similar, functions. The id is the globally unique key for the object rezzed. - - on_rez - - arguments - - - StartParameter - - type - integer - tooltip - - - - - tooltip - Triggered whenever an object is rezzed from inventory or by another object. The start parameter is passed in from the llRezObject call, or zero if from inventory. - - path_update - - arguments - - - Type - - type - integer - tooltip - - - - - Reserved - - type - list - tooltip - - - - - tooltip - This event is called to inform the script of changes within the object's path-finding status. - - remote_data - - arguments - - - EventType - - type - integer - tooltip - - - - - ChannelID - - type - key - tooltip - - - - - MessageID - - type - key - tooltip - - - - - Sender - - type - string - tooltip - - - - - Data - - type - integer - tooltip - - - - - Data - - type - string - tooltip - - - - - tooltip - Triggered by various XML-RPC calls with event_type specifying the type of data. - - run_time_permissions - - arguments - - - PermissionFlags - - type - integer - tooltip - - - - - tooltip - Scripts need permission from either the owner or the avatar they wish to act on before they may perform certain functions, such as debiting money from their owners account, triggering an animation on an avatar, or capturing control inputs. The llRequestPermissions library function is used to request these permissions and the various permissions integer constants can be supplied. - The integer returned to this event handler contains the current set of permissions flags, so if permissions equal 0 then no permissions are set. - - sensor - - arguments - - - NumberDetected - - type - integer - tooltip - - - - - tooltip - This event is raised whenever objects matching the constraints of the llSensor command are detected. - The number of detected objects is passed to the script in the parameter. Information on those objects may be gathered via the llDetected* functions. - - state_entry - - arguments - - tooltip - The state_entry event occurs whenever a new state is entered, including at program start, and is always the first event handled. - - state_exit - - arguments - - tooltip - The state_exit event occurs whenever the state command is used to transition to another state. It is handled before the new states state_entry event. - - timer - - arguments - - tooltip - This event is raised at regular intervals set by the llSetTimerEvent library function. - - touch - - arguments - - - NumberOfTouches - - type - integer - tooltip - - - - - tooltip - This event is raised while a user is touching the object the script is attached to. - The number of touching objects is passed to the script in the parameter. - Information on those objects may be gathered via the llDetected* library functions. - - touch_end - - arguments - - - NumberOfTouches - - type - integer - tooltip - - - - - tooltip - This event is raised when a user stops touching the object the script is attached to. The number of touches is passed to the script in the parameter. - Information on those objects may be gathered via the llDetected* library functions. - - touch_start - - arguments - - - NumberOfTouches - - type - integer - tooltip - - - - - tooltip - This event is raised when a user first touches the object the script is attached to. The number of touches is passed to the script in the parameter. - Information on those objects may be gathered via the llDetected() library functions. - - transaction_result - - arguments - - - RequestID - - type - key - tooltip - - - - - Success - - type - integer - tooltip - - - - - Message - - type - string - tooltip - - - - - tooltip - Triggered by llTransferMoney() function. - - - <-- functions --> - functions - - llAbs - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Value - - type - integer - tooltip - An integer value. - - - - tooltip - Returns the absolute (positive) version of Value. - - llAcos - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Value - - type - float - tooltip - A floating-point value. - - - - tooltip - Returns the arc-cosine of Value, in radians. - - llAddToLandBanList - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ID - - type - key - tooltip - Agent UUID to add to ban-list. - - - - Hours - - type - float - tooltip - Period, in hours, to ban the avatar for. - - - - tooltip - Add avatar ID to the parcel ban list for the specified number of Hours.\nA value of 0 for Hours will add the agent indefinitely.\nThe smallest value that Hours will accept is 0.01; anything smaller will be seen as 0.\nWhen values that small are used, it seems the function bans in approximately 30 second increments (Probably 36 second increments, as 0.01 of an hour is 36 seconds).\nResidents teleporting to a parcel where they are banned will be redirected to a neighbouring parcel. - - llAddToLandPassList - - energy - 10.0 - sleep - 0.1 - return - void - arguments - - - ID - - type - key - tooltip - Agent UUID to add to pass-list. - - - - Hours - - type - float - tooltip - Period, in hours, to allow the avatar for. - - - - tooltip - Add avatar ID to the land pass list, for a duration of Hours. - - llAdjustSoundVolume - - energy - 10.0 - sleep - 0.1 - return - void - arguments - - - Volume - - type - float - tooltip - The volume to set. - - - - tooltip - Adjusts the volume (0.0 - 1.0) of the currently playing attached sound.\nThis function has no effect on sounds started with llTriggerSound. - - llAllowInventoryDrop - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Flag - - type - integer - tooltip - Boolean, If TRUE allows anyone to drop inventory on prim, FALSE revokes. - - - - tooltip - If Flag == TRUE, users without object modify permissions can still drop inventory items into the object. - - llAngleBetween - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Rot1 - - type - rotation - tooltip - First rotation. - - - - Rot2 - - type - rotation - tooltip - Second rotation. - - - - tooltip - Returns the angle, in radians, between rotations Rot1 and Rot2. - - llApplyImpulse - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Force - - type - vector - tooltip - Amount of impulse force to apply. - - - - Local - - type - integer - tooltip - Boolean, if TRUE, force is treated as a local directional vector instead of region directional vector. - - - - tooltip - Applies impulse to the object.\nIf Local == TRUE, apply the Force in local coordinates; otherwise, apply the Force in global coordinates.\nThis function only works on physical objects. - - llApplyRotationalImpulse - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Force - - type - vector - tooltip - Amount of impulse force to apply. - - - - Local - - type - integer - tooltip - Boolean, if TRUE, uses local axis, if FALSE, uses region axis. - - - - tooltip - Applies rotational impulse to the object.\nIf Local == TRUE, apply the Force in local coordinates; otherwise, apply the Force in global coordinates.\nThis function only works on physical objects. - - llAsin - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Value - - type - float - tooltip - A floating-point value. - - - - tooltip - Returns the arc-sine, in radians, of Value. - - llAtan2 - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - y - - type - float - tooltip - A floating-point value. - - - - x - - type - float - tooltip - A floating-point value. - - - - tooltip - Returns the arc-tangent2 of y, x. - - llAttachToAvatar - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - AttachmentPoint - - type - integer - tooltip - - - - - tooltip - Attach to avatar at point AttachmentPoint.\nRequires the PERMISSION_ATTACH runtime permission. - - llAttachToAvatarTemp - - energy - 0 - sleep - 0 - return - void - arguments - - - AttachPoint - - type - integer - tooltip - Valid attachment point or ATTACH_* constant. - - - - tooltip - Follows the same convention as llAttachToAvatar, with the exception that the object will not create new inventory for the user, and will disappear on detach or disconnect. - - llAvatarOnLinkSitTarget - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. - - - - tooltip - If an avatar is sitting on the link's sit target, return the avatar's key, NULL_KEY otherwise.\nReturns a key that is the UUID of the user seated on the specified link's prim. - - llAvatarOnSitTarget - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - tooltip - If an avatar is seated on the sit target, returns the avatar's key, otherwise NULL_KEY.\nThis only will detect avatars sitting on sit targets defined with llSitTarget. - - llAxes2Rot - - energy - 10.0 - sleep - 0.0 - return - rotation - arguments - - - Forward - - type - vector - tooltip - Forward/Back part of rotation. - - - - Left - - type - vector - tooltip - Left/Right part of rotation. - - - - Up - - type - vector - tooltip - Up/Down part of rotation. - - - - tooltip - Returns the rotation represented by coordinate axes Forward, Left, and Up. - - llAxisAngle2Rot - - energy - 10.0 - sleep - 0.0 - return - rotation - arguments - - - Axis - - type - vector - tooltip - Axis. - - - - Angle - - type - float - tooltip - Angle in radians. - - - - tooltip - Returns the rotation that is a generated Angle about Axis. - - llBase64ToInteger - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Text - - type - string - tooltip - - - - - tooltip - Returns an integer that is the Text, Base64 decoded as a big endian integer.\nReturns zero if Text is longer then 8 characters. If Text contains fewer then 6 characters, the return value is unpredictable. - - llBase64ToString - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Text - - type - string - tooltip - - - - - tooltip - Converts a Base64 string to a conventional string.\nIf the conversion creates any unprintable characters, they are converted to question marks. - - llBreakAllLinks - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - De-links all prims in the link set (requires permission PERMISSION_CHANGE_LINKS be set). - - llBreakLink - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - LinkNumber - - type - integer - tooltip - - - - - tooltip - De-links the prim with the given link number (requires permission PERMISSION_CHANGE_LINKS be set). - - llCastRay - - energy - 0.0 - sleep - 0.0 - return - list - arguments - - - Start - - type - vector - tooltip - - - - - End - - type - vector - tooltip - - - - - Options - - type - list - tooltip - - - - - tooltip - Casts a ray into the physics world from 'start' to 'end' and returns data according to details in Options.\nReports collision data for intersections with objects.\nReturn value: [UUID_1, {link_number_1}, hit_position_1, {hit_normal_1}, UUID_2, {link_number_2}, hit_position_2, {hit_normal_2}, ... , status_code] where {} indicates optional data. - - llCeil - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Value - - type - float - tooltip - - - - - tooltip - Returns smallest integer value >= Value. - - llClearCameraParams - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - Resets all camera parameters to default values and turns off scripted camera control. - - llClearLinkMedia - - energy - 0.0 - sleep - 0.0 - return - integer - arguments - - - Link - - type - integer - tooltip - - - - - Face - - type - integer - tooltip - - - - - tooltip - Clears (deletes) the media and all parameters from the given Face on the linked prim.\nReturns an integer that is a STATUS_* flag, which details the success/failure of the operation. - - llClearPrimMedia - - energy - 10.0 - sleep - 0.1 - return - integer - arguments - - - Face - - type - integer - tooltip - Number of side to clear. - - - - tooltip - Clears (deletes) the media and all parameters from the given Face.\nReturns an integer that is a STATUS_* flag which details the success/failure of the operation. - - llCloseRemoteDataChannel - - energy - 10.0 - sleep - 1.0 - return - void - arguments - - - ChannelID - - type - key - tooltip - - - - - tooltip - Closes the specified XML-RPC channel. - - llCloud - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Offset - - type - vector - tooltip - - - - - tooltip - Returns the cloud density at the object's position + Offset. - - llCollisionFilter - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ObjectName - - type - string - tooltip - - - - - ObjectID - - type - key - tooltip - - - - - Accept - - type - integer - tooltip - If TRUE, only accept collisions with ObjectName name AND ObjectID (either is optional), otherwise with objects not ObjectName AND ObjectID. - - - - tooltip - Specify an empty string or NULL_KEY for Accept, to not filter on the corresponding parameter. - - llCollisionSound - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ImpactSound - - type - string - tooltip - - - - - ImpactVolume - - type - float - tooltip - - - - - tooltip - Suppress default collision sounds, replace default impact sounds with ImpactSound.\nThe ImpactSound must be in the object inventory.\nSupply an empty string to suppress collision sounds. - - llCollisionSprite - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ImpactSprite - - type - string - tooltip - - - - - tooltip - Suppress default collision sprites, replace default impact sprite with ImpactSprite; found in the object inventory (empty string to just suppress). - - llCos - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Theta - - type - float - tooltip - - - - - tooltip - Returns the cosine of Theta (Theta in radians). - - llCreateLink - - energy - 10.0 - sleep - 1.0 - return - void - arguments - - - TargetPrim - - type - key - tooltip - Object UUID that is in the same region. - - - - Parent - - type - integer - tooltip - If FALSE, then TargetPrim becomes the root. If TRUE, then the script's object becomes the root. - - - - tooltip - Attempt to link the object the script is in, to target (requires permission PERMISSION_CHANGE_LINKS be set).\nRequires permission PERMISSION_CHANGE_LINKS be set. - - llCSV2List - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - Text - - type - string - tooltip - - - - - tooltip - Create a list from a string of comma separated values specified in Text. - - llDeleteSubList - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - Source - - type - list - tooltip - - - - - Start - - type - integer - tooltip - - - - - End - - type - integer - tooltip - - - - - tooltip - Removes the slice from start to end and returns the remainder of the list.\nRemove a slice from the list and return the remainder, start and end are inclusive.\nUsing negative numbers for start and/or end causes the index to count backwards from the length of the list, so 0, -1 would delete the entire list.\nIf Start is larger than End the list deleted is the exclusion of the entries; so 6, 4 would delete the entire list except for the 5th. list entry. - - llDeleteSubString - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Source - - type - string - tooltip - - - - - Start - - type - integer - tooltip - - - - - End - - type - integer - tooltip - - - - - tooltip - Removes the indicated sub-string and returns the result.\nStart and End are inclusive.\nUsing negative numbers for Start and/or End causes the index to count backwards from the length of the string, so 0, -1 would delete the entire string.\nIf Start is larger than End, the sub-string is the exclusion of the entries; so 6, 4 would delete the entire string except for the 5th. character. - - llDetachFromAvatar - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - Remove the object containing the script from the avatar. - - llDetectedGrab - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Number - - type - integer - tooltip - - - - - tooltip - Returns the grab offset of a user touching the object.\nReturns <0.0, 0.0, 0.0> if Number is not a valid object. - - llDetectedGroup - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Number - - type - integer - tooltip - - - - - tooltip - Returns TRUE if detected object or agent Number has the same user group active as this object.\nIt will return FALSE if the object or agent is in the group, but the group is not active. - - llDetectedKey - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - Number - - type - integer - tooltip - - - - - tooltip - Returns the key of detected object or avatar number.\nReturns NULL_KEY if Number is not a valid index. - - llDetectedLinkNumber - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Number - - type - integer - tooltip - - - - - tooltip - Returns the link position of the triggered event for touches and collisions only.\n0 for a non-linked object, 1 for the root of a linked object, 2 for the first child, etc. - - llDetectedName - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Number - - type - integer - tooltip - - - - - tooltip - Returns the name of detected object or avatar number.\nReturns the name of detected object number.\nReturns empty string if Number is not a valid index. - - llDetectedOwner - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - Number - - type - integer - tooltip - - - - - tooltip - Returns the key of detected object's owner.\nReturns invalid key if Number is not a valid index. - - llDetectedPos - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Number - - type - integer - tooltip - - - - - tooltip - Returns the position of detected object or avatar number.\nReturns <0.0, 0.0, 0.0> if Number is not a valid index. - - llDetectedRot - - energy - 10.0 - sleep - 0.0 - return - rotation - arguments - - - Number - - type - integer - tooltip - - - - - tooltip - Returns the rotation of detected object or avatar number.\nReturns <0.0, 0.0, 0.0, 1.0> if Number is not a valid offset. - - llDetectedTouchBinormal - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Index - - type - integer - tooltip - Index of detection information - - - - tooltip - Returns the surface bi-normal for a triggered touch event.\nReturns a vector that is the surface bi-normal (tangent to the surface) where the touch event was triggered. - - llDetectedTouchFace - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Index - - type - integer - tooltip - Index of detection information - - - - tooltip - Returns the index of the face where the avatar clicked in a triggered touch event. - - llDetectedTouchNormal - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Index - - type - integer - tooltip - Index of detection information - - - - tooltip - Returns the surface normal for a triggered touch event.\nReturns a vector that is the surface normal (perpendicular to the surface) where the touch event was triggered. - - llDetectedTouchPos - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Index - - type - integer - tooltip - Index of detected information - - - - tooltip - Returns the position, in region coordinates, where the object was touched in a triggered touch event.\nUnless it is a HUD, in which case it returns the position relative to the attach point. - - llDetectedTouchST - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Index - - type - integer - tooltip - Index of detection information - - - - tooltip - Returns a vector that is the surface coordinates where the prim was touched.\nThe X and Y vector positions contain the horizontal (S) and vertical (T) face coordinates respectively.\nEach component is in the interval [0.0, 1.0].\nTOUCH_INVALID_TEXCOORD is returned if the surface coordinates cannot be determined (e.g. when the viewer does not support this function). - - llDetectedTouchUV - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Index - - type - integer - tooltip - Index of detection information - - - - tooltip - Returns a vector that is the texture coordinates for where the prim was touched.\nThe X and Y vector positions contain the U and V face coordinates respectively.\nTOUCH_INVALID_TEXCOORD is returned if the touch UV coordinates cannot be determined (e.g. when the viewer does not support this function). - - llDetectedType - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Number - - type - integer - tooltip - - - - - tooltip - Returns the type (AGENT, ACTIVE, PASSIVE, SCRIPTED) of detected object.\nReturns 0 if number is not a valid index.\nNote that number is a bit-field, so comparisons need to be a bitwise checked. e.g.:\ninteger iType = llDetectedType(0);\n{\n // ...do stuff with the agent\n} - - llDetectedVel - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Number - - type - integer - tooltip - - - - - tooltip - Returns the velocity of the detected object Number.\nReturns<0.0, 0.0, 0.0> if Number is not a valid offset. - - llDialog - - energy - 10.0 - sleep - 0.1 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - Text - - type - string - tooltip - - - - - Buttons - - type - list - tooltip - - - - - Channel - - type - integer - tooltip - - - - - tooltip - Shows a dialog box on the avatar's screen with the message.\n - Up to 12 strings in the list form buttons.\n - If a button is clicked, the name is chatted on Channel.\nOpens a "notify box" in the given avatars screen displaying the message.\n - Up to twelve buttons can be specified in a list of strings. When the user clicks a button, the name of the button is said on the specified channel.\n - Channels work just like llSay(), so channel 0 can be heard by everyone.\n - The chat originates at the object's position, not the avatar's position, even though it is said as the avatar (uses avatar's UUID and Name etc.).\n - Examples:\n - llDialog(who, "Are you a boy or a girl?", [ "Boy", "Girl" ], -4913);\n - llDialog(who, "This shows only an OK button.", [], -192);\n - llDialog(who, "This chats so you can 'hear' it.", ["Hooray"], 0); - - llDie - - energy - 0.0 - sleep - 0.0 - return - void - arguments - - tooltip - Delete the object which holds the script. - - llDumpList2String - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Source - - type - list - tooltip - - - - - Separator - - type - string - tooltip - - - - - tooltip - Returns the list as a single string, using Separator between the entries.\nWrite the list out as a single string, using Separator between values. - - llEdgeOfWorld - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Position - - type - vector - tooltip - - - - - Direction - - type - vector - tooltip - - - - - tooltip - Checks to see whether the border hit by Direction from Position is the edge of the world (has no neighboring region).\nReturns TRUE if the line along Direction from Position hits the edge of the world in the current simulator, returns FALSE if that edge crosses into another simulator. - - llEjectFromLand - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Ejects AvatarID from land that you own.\nEjects AvatarID from land that the object owner (group or resident) owns. - - llEmail - - energy - 10.0 - sleep - 20.0 - return - void - arguments - - - Address - - type - string - tooltip - - - - - Subject - - type - string - tooltip - - - - - Text - - type - string - tooltip - - - - - tooltip - Sends email to Address with Subject and Message.\nSends an email to Address with Subject and Message. - - llEscapeURL - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - URL - - type - string - tooltip - - - - - tooltip - Returns an escaped/encoded version of url, replacing spaces with %20 etc.\nReturns the string that is the URL-escaped version of URL (replacing spaces with %20, etc.).\n - This function returns the UTF-8 encoded escape codes for selected characters. - - llEuler2Rot - - energy - 10.0 - sleep - 0.0 - return - rotation - arguments - - - Vector - - type - vector - tooltip - - - - - tooltip - Returns the rotation representation of the Euler angles.\nReturns the rotation represented by the Euler Angle. - - llFabs - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Value - - type - float - tooltip - - - - - tooltip - Returns the positive version of Value.\nReturns the absolute value of Value. - - llFloor - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Value - - type - float - tooltip - - - - - tooltip - Returns largest integer value <= Value. - - llForceMouselook - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Enable - - type - integer - tooltip - Boolean, if TRUE when an avatar sits on the prim, the avatar will be forced into mouse-look mode.\nFALSE is the default setting and will undo a previously set TRUE or do nothing. - - - - tooltip - If Enable is TRUE any avatar that sits on this object is forced into mouse-look mode.\nAfter calling this function with Enable set to TRUE, any agent sitting down on the prim will be forced into mouse-look.\nJust like llSitTarget, this changes a permanent property of the prim (not the object) and needs to be reset by calling this function with Enable set to FALSE in order to disable it. - - llFrand - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Magnitude - - type - float - tooltip - - - - - tooltip - Returns a pseudo random number in the range [0, Magnitude] or [Magnitude, 0].\nReturns a pseudo-random number between [0, Magnitude]. - - llGenerateKey - - energy - 0 - sleep - 0 - return - key - arguments - - tooltip - Generates a key (SHA-1 hash) using UUID generation to create a unique key.\nAs the UUID produced is versioned, it should never return a value of NULL_KEY.\nThe specific UUID version is an implementation detail that has changed in the past and may change again in the future. Do not depend upon the UUID that is returned to be version 5 SHA-1 hash. - - llGetAccel - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the acceleration of the object relative to the region's axes.\nGets the acceleration of the object. - - llGetAgentInfo - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Returns an integer bit-field containing the agent information about id.\n - Returns AGENT_FLYING, AGENT_ATTACHMENTS, AGENT_SCRIPTED, AGENT_SITTING, AGENT_ON_OBJECT, AGENT_MOUSELOOK, AGENT_AWAY, AGENT_BUSY, AGENT_TYPING, AGENT_CROUCHING, AGENT_ALWAYS_RUN, AGENT_WALKING and/or AGENT_IN_AIR.\nReturns information about the given agent ID as a bit-field of agent info constants. - - llGetAgentLanguage - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Returns the language code of the preferred interface language of the avatar.\nReturns a string that is the language code of the preferred interface language of the resident. - - llGetAgentList - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - Scope - - type - integer - tooltip - The scope (region, parcel, parcel same owner) to return agents for. - - - - Options - - type - list - tooltip - List of options to apply. Current unused. - - - - tooltip - Requests a list of agents currently in the region, limited by the scope parameter.\nReturns a list [key UUID-0, key UUID-1, ..., key UUID-n] or [string error_msg] - returns avatar keys for all agents in the region limited to the area(s) specified by scope - - llGetAgentSize - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - If the avatar is in the same region, returns the size of the bounding box of the requested avatar by id, otherwise returns ZERO_VECTOR.\nIf the agent is in the same region as the object, returns the size of the avatar. - - llGetAlpha - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Face - - type - integer - tooltip - - - - - tooltip - Returns the alpha value of Face.\nReturns the 'alpha' of the given face. If face is ALL_SIDES the value returned is the mean average of all faces. - - llGetAndResetTime - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns the script time in seconds and then resets the script timer to zero.\nGets the time in seconds since starting and resets the time to zero. - - llGetAnimation - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Returns the name of the currently playing locomotion animation for the avatar id.\nReturns the currently playing animation for the specified avatar ID. - - llGetAnimationList - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Returns a list of keys of playing animations for an avatar.\nReturns a list of keys of all playing animations for the specified avatar ID. - - llGetAnimationOverride - - energy - 0 - sleep - 0 - return - string - arguments - - - AnimationState - - type - string - tooltip - - - - - tooltip - Returns a string that is the name of the animation that is used for the specified animation state\nTo use this function the script must obtain either the PERMISSION_OVERRIDE_ANIMATIONS or PERMISSION_TRIGGER_ANIMATION permission (automatically granted to attached objects). - - llGetAttached - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns the object's attachment point, or 0 if not attached. - - llGetAttachedList - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - ID - - type - key - tooltip - Avatar to get attachments - - - - tooltip - Returns a list of keys of all visible (not HUD) attachments on the avatar identified by the ID argument - - llGetBoundingBox - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - ID - - type - key - tooltip - - - - - tooltip - Returns the bounding box around the object (including any linked prims) relative to its root prim, as a list in the format [ (vector) min_corner, (vector) max_corner ]. - - llGetCameraPos - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the current camera position for the agent the task has permissions for.\nReturns the position of the camera, of the user that granted the script PERMISSION_TRACK_CAMERA. If no user has granted the permission, it returns ZERO_VECTOR. - - llGetCameraRot - - energy - 10.0 - sleep - 0.0 - return - rotation - arguments - - tooltip - Returns the current camera orientation for the agent the task has permissions for. If no user has granted the PERMISSION_TRACK_CAMERA permission, returns ZERO_ROTATION. - - llGetCenterOfMass - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the prim's centre of mass (unless called from the root prim, where it returns the object's centre of mass). - - llGetColor - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Face - - type - integer - tooltip - - - - - tooltip - Returns the color on Face.\nReturns the color of Face as a vector of red, green, and blue values between 0 and 1. If face is ALL_SIDES the color returned is the mean average of each channel. - - llGetCreator - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - tooltip - Returns a key for the creator of the prim.\nReturns the key of the object's original creator. Similar to llGetOwner. - - llGetDate - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - tooltip - Returns the current date in the UTC time zone in the format YYYY-MM-DD.\nReturns the current UTC date as YYYY-MM-DD. - - llGetDisplayName - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - AvatarID - - type - key - tooltip - Avatar UUID that is in the same region, or is otherwise known to the region. - - - - tooltip - Returns the display name of an avatar, if the avatar is connected to the current region, or if the name has been cached. Otherwise, returns an empty string. Use llRequestDisplayName if the avatar may be absent from the region. - - llGetEnergy - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns how much energy is in the object as a percentage of maximum. - - llGetEnv - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - DataRequest - - type - string - tooltip - The type of data to request. Any other string will cause an empty string to be returned. - - - - tooltip - Returns a string with the requested data about the region. - - llGetForce - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the force (if the script is physical).\nReturns the current force if the script is physical. - - llGetFreeMemory - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns the number of free bytes of memory the script can use.\nReturns the available free space for the current script. This is inaccurate with LSO. - - llGetFreeURLs - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns the number of available URLs for the current script.\nReturns an integer that is the number of available URLs. - - llGetGeometricCenter - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the vector that is the geometric center of the object relative to the root prim. - - llGetGMTclock - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns the time in seconds since midnight GMT.\nGets the time in seconds since midnight in GMT/UTC. - - llGetHTTPHeader - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - HTTPRequestID - - type - key - tooltip - A valid HTTP request key - - - - Header - - type - string - tooltip - Header value name - - - - tooltip - Returns the value for header for request_id.\nReturns a string that is the value of the Header for HTTPRequestID. - - llGetInventoryCreator - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - InventoryItem - - type - string - tooltip - - - - - tooltip - Returns a key for the creator of the inventory item.\nThis function returns the UUID of the creator of item. If item is not found in inventory, the object says "No item named 'name'". - - llGetInventoryKey - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - InventoryItem - - type - string - tooltip - - - - - tooltip - Returns the key that is the UUID of the inventory named.\nReturns the key of the inventory named. - - llGetInventoryName - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - InventoryType - - type - integer - tooltip - Inventory item type - - - - Index - - type - integer - tooltip - Index number of inventory item. - - - - tooltip - Returns the name of the inventory item of a given type, specified by index number.\nUse the inventory constants INVENTORY_* to specify the type. - - llGetInventoryNumber - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - InventoryType - - type - integer - tooltip - Inventory item type - - - - tooltip - Returns the quantity of items of a given type (INVENTORY_* flag) in the prim's inventory.\nUse the inventory constants INVENTORY_* to specify the type. - - llGetInventoryPermMask - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - InventoryItem - - type - string - tooltip - Inventory item name. - - - - BitMask - - type - integer - tooltip - MASK_BASE, MASK_OWNER, MASK_GROUP, MASK_EVERYONE or MASK_NEXT - - - - tooltip - Returns the requested permission mask for the inventory item.\nReturns the requested permission mask for the inventory item defined by InventoryItem. If item is not in the object's inventory, llGetInventoryPermMask returns FALSE and causes the object to say "No item named '<item>'", where "<item>" is item. - - llGetInventoryType - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - InventoryItem - - type - string - tooltip - - - - - tooltip - Returns the type of the named inventory item.\nLike all inventory functions, llGetInventoryType is case-sensitive. - - llGetKey - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - tooltip - Returns the key of the prim the script is attached to.\nGet the key for the object which has this script. - - llGetLandOwnerAt - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - Position - - type - vector - tooltip - - - - - tooltip - Returns the key of the land owner, returns NULL_KEY if public.\nReturns the key of the land owner at Position, or NULL_KEY if public. - - llGetLinkKey - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - LinkNumber - - type - integer - tooltip - - - - - tooltip - Returns the key of the linked prim LinkNumber.\nReturns the key of LinkNumber in the link set. - - llGetLinkMedia - - energy - 0.0 - sleep - 0.0 - return - list - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag - - - - Face - - type - integer - tooltip - The prim's side number - - - - Parameters - - type - list - tooltip - A list of PRIM_* property constants to return values of. - - - - tooltip - Get the media parameters for a particular face on linked prim, given the desired list of parameter names. Returns a list of values in the order requested. Returns an empty list if no media exists on the face. - - llGetLinkName - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - LinkNumber - - type - integer - tooltip - - - - - tooltip - Returns the name of LinkNumber in a link set.\nReturns the name of LinkNumber the link set. - - llGetLinkNumber - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns the link number of the prim containing the script (0 means not linked, 1 the prim is the root, 2 the prim is the first child, etc.).\nReturns the link number of the prim containing the script. 0 means no link, 1 the root, 2 for first child, etc. - - llGetLinkNumberOfSides - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. - - - - tooltip - Returns the number of sides of the specified linked prim.\nReturns an integer that is the number of faces (or sides) of the prim link. - - llGetLinkPrimitiveParams - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. - - - - Parameters - - type - list - tooltip - PRIM_* flags. - - - - tooltip - Returns the list of primitive attributes requested in the Parameters list for LinkNumber.\nPRIM_* flags can be broken into three categories, face flags, prim flags, and object flags.\n* Supplying a prim or object flag will return that flags attributes.\n* Face flags require the user to also supply a face index parameter. - - llGetListEntryType - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - ListVariable - - type - list - tooltip - - - - - Index - - type - integer - tooltip - - - - - tooltip - Returns the type of the index entry in the list (TYPE_INTEGER, TYPE_FLOAT, TYPE_STRING, TYPE_KEY, TYPE_VECTOR, TYPE_ROTATION, or TYPE_INVALID if index is off list).\nReturns the type of the variable at Index in ListVariable. - - llGetListLength - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - ListVariable - - type - list - tooltip - - - - - tooltip - Returns the number of elements in the list.\nReturns the number of elements in ListVariable. - - llGetLocalPos - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the position relative to the root.\nReturns the local position of a child object relative to the root. - - llGetLocalRot - - energy - 10.0 - sleep - 0.0 - return - rotation - arguments - - tooltip - Returns the rotation local to the root.\nReturns the local rotation of a child object relative to the root. - - llGetMass - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns the mass of object that the script is attached to.\nReturns the scripted object's mass. When called from a script in a link-set, the parent will return the sum of the link-set weights, while a child will return just its own mass. When called from a script inside an attachment, this function will return the mass of the avatar it's attached to, not its own. - - llGetMassMKS - - energy - 0.0 - sleep - 0.0 - return - float - arguments - - tooltip - Acts as llGetMass(), except that the units of the value returned are Kg. - - llGetMaxScaleFactor - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns a float that is the largest scaling factor that can be used with llScaleByFactor to resize the object. This maximum is determined by the Linkability Rules and prim scale limits. - - llGetMemoryLimit - - energy - 0.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Get the maximum memory a script can use, in bytes. - - llGetMinScaleFactor - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns a float that is the smallest scaling factor that can be used with llScaleByFactor to resize the object. This minimum is determined by the prim scale limits. - - llGetNextEmail - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Address - - type - string - tooltip - - - - - Subject - - type - string - tooltip - - - - - tooltip - Fetch the next queued email with that matches the given address and/or subject, via the email event.\nIf the parameters are blank, they are not used for filtering. - - llGetNotecardLine - - energy - 10.0 - sleep - 0.1 - return - key - arguments - - - NotecardName - - type - string - tooltip - - - - - LineNumber - - type - integer - tooltip - - - - - tooltip - Returns LineNumber from NotecardName via the dataserver event. The line index starts at zero.\nIf the requested line is passed the end of the note-card the dataserver event will return the constant EOF string.\nThe key returned by this function is a unique identifier which will be supplied to the dataserver event in the requested parameter. - - llGetNumberOfNotecardLines - - energy - 10.0 - sleep - 0.1 - return - key - arguments - - - NotecardName - - type - string - tooltip - - - - - tooltip - Returns the number of lines contained within a notecard via the dataserver event.\nThe key returned by this function is a query ID for identifying the dataserver reply. - - llGetNumberOfPrims - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns the number of prims in a link set the script is attached to.\nReturns the number of prims in (and avatars seated on) the object the script is in. - - llGetNumberOfSides - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns the number of faces (or sides) of the prim.\nReturns the number of sides of the prim which has the script. - - llGetObjectDesc - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - tooltip - Returns the description of the prim the script is attached to.\nReturns the description of the scripted object/prim. You can set the description using llSetObjectDesc. - - llGetObjectDetails - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - ID - - type - key - tooltip - Prim or avatar UUID that is in the same region. - - - - Parameters - - type - list - tooltip - List of OBJECT_* flags. - - - - tooltip - Returns a list of object details specified in the Parameters list for the object or avatar in the region with key ID.\nParameters are specified by the OBJECT_* constants. - - llGetObjectMass - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - ID - - type - key - tooltip - - - - - tooltip - Returns the mass of the avatar or object in the region.\nGets the mass of the object or avatar corresponding to ID. - - llGetObjectName - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - tooltip - Returns the name of the prim which the script is attached to.\nReturns the name of the prim (not object) which contains the script. - - llGetObjectPermMask - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Category - - type - integer - tooltip - Category is one of MASK_BASE, MASK_OWNER, MASK_GROUP, MASK_EVERYONE, or MASK_NEXT - - - - tooltip - Returns the permission mask of the requested category for the object. - - llGetObjectPrimCount - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - ObjectID - - type - key - tooltip - - - - - tooltip - Returns the total number of prims for an object in the region.\nReturns the prim count for any object id in the same region. - - llGetOmega - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the rotation velocity in radians per second.\nReturns a vector that is the rotation velocity of the object in radians per second. - - llGetOwner - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - tooltip - Returns the object owner's UUID.\nReturns the key for the owner of the object. - - llGetOwnerKey - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - ObjectID - - type - key - tooltip - - - - - tooltip - Returns the owner of ObjectID.\nReturns the key for the owner of object ObjectID. - - llGetParcelDetails - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - Position - - type - vector - tooltip - Location within the region. - - - - ParcelDetails - - type - list - tooltip - List of details requested for the specified parcel location. - - - - tooltip - Returns a list of parcel details specified in the ParcelDetails list for the parcel at Position.\nParameters is one or more of: PARCEL_DETAILS_NAME, _DESC, _OWNER, _GROUP, _AREA, _ID, _SEE_AVATARS.\nReturns a list that is the parcel details specified in ParcelDetails (in the same order) for the parcel at Position. - - llGetParcelFlags - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Position - - type - vector - tooltip - - - - - tooltip - Returns a mask of the parcel flags (PARCEL_FLAG_*) for the parcel that includes the point Position.\nReturns a bit-field specifying the parcel flags (PARCEL_FLAG_*) for the parcel at Position. - - llGetParcelMaxPrims - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Position - - type - vector - tooltip - Region coordinates (z is ignored) of parcel. - - - - SimWide - - type - integer - tooltip - Boolean. If FALSE then the return is the maximum prims supported by the parcel. If TRUE then it is the combined number of prims on all parcels in the region owned by the specified parcel's owner. - - - - tooltip - Returns the maximum number of prims allowed on the parcel at Position for a given scope.\nThe scope may be set to an individual parcel or the combined resources of all parcels with the same ownership in the region. - - llGetParcelMusicURL - - energy - 0.0 - sleep - 0.0 - return - string - arguments - - tooltip - Gets the streaming audio URL for the parcel object is on.\nThe object owner, avatar or group, must also be the land owner. - - llGetParcelPrimCount - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Position - - type - vector - tooltip - Region coordinates of parcel to query. - - - - Category - - type - integer - tooltip - A PARCEL_COUNT_* flag. - - - - SimWide - - type - integer - tooltip - Boolean. If FALSE then the return is the maximum prims supported by the parcel. If TRUE then it is the combined number of prims on all parcels in the region owned by the specified parcel's owner. - - - - tooltip - Returns the number of prims on the parcel at Position of the given category.\nCategories: PARCEL_COUNT_TOTAL, _OWNER, _GROUP, _OTHER, _SELECTED, _TEMP.\nReturns the number of prims used on the parcel at Position which are in Category.\nIf SimWide is TRUE, it returns the total number of objects for all parcels with matching ownership in the category specified.\nIf SimWide is FALSE, it returns the number of objects on this specific parcel in the category specified - - llGetParcelPrimOwners - - energy - 10.0 - sleep - 2.0 - return - list - arguments - - - Position - - type - vector - tooltip - - - - - tooltip - Returns a list of up to 100 residents who own objects on the parcel at Position, with per-owner land impact totals.\nRequires owner-like permissions for the parcel, and for the script owner to be present in the region.\nThe list is formatted as [ key agentKey1, integer agentLI1, key agentKey2, integer agentLI2, ... ], sorted by agent key.\nThe integers are the combined land impacts of the objects owned by the corresponding agents. - - llGetPermissions - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns an integer bitmask of the permissions that have been granted to the script. Individual permissions can be determined using a bit-wise "and" operation against the PERMISSION_* constants - - llGetPermissionsKey - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - tooltip - Returns the key of the avatar that last granted or declined permissions to the script.\nReturns NULL_KEY if permissions were never granted or declined. - - llGetPhysicsMaterial - - energy - 0.0 - sleep - 0.0 - return - list - arguments - - tooltip - Returns a list of the form [float gravity_multiplier, float restitution, float friction, float density]. - - llGetPos - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the position of the task in region coordinates.\nReturns the vector position of the task in region coordinates. - - llGetPrimitiveParams - - energy - 10.0 - sleep - 0.2 - return - list - arguments - - - Parameters - - type - list - tooltip - PRIM_* flags and face parameters - - - - tooltip - Returns the primitive parameters specified in the parameters list.\nReturns primitive parameters specified in the Parameters list. - - llGetPrimMediaParams - - energy - 10.0 - sleep - 0.1 - return - list - arguments - - - Face - - type - integer - tooltip - face number - - - - Parameters - - type - list - tooltip - One or more PRIM_MEDIA_* flags - - - - tooltip - Returns the media parameters for a particular face on an object, given the desired list of parameter names, in the order requested. Returns an empty list if no media exists on the face. - - llGetRegionAgentCount - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns the number of avatars in the region.\nReturns an integer that is the number of avatars in the region. - - llGetRegionCorner - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns a vector, in meters, that is the global location of the south-west corner of the region which the object is in.\nReturns the Region-Corner of the simulator containing the task. The region-corner is a vector (values in meters) representing distance from the first region. - - llGetRegionFlags - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns the region flags (REGION_FLAG_*) for the region the object is in.\nReturns a bit-field specifying the region flags (REGION_FLAG_*) for the region the object is in. - - llGetRegionFPS - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns the mean region frames per second. - - llGetRegionName - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - tooltip - Returns the current region name. - - llGetRegionTimeDilation - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns the current time dilation as a float between 0.0 (full dilation) and 1.0 (no dilation).\nReturns the current time dilation as a float between 0.0 and 1.0. - - llGetRootPosition - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the position (in region coordinates) of the root prim of the object which the script is attached to.\nThis is used to allow a child prim to determine where the root is. - - llGetRootRotation - - energy - 10.0 - sleep - 0.0 - return - rotation - arguments - - tooltip - Returns the rotation (relative to the region) of the root prim of the object which the script is attached to.\nGets the global rotation of the root object of the object script is attached to. - - llGetRot - - energy - 10.0 - sleep - 0.0 - return - rotation - arguments - - tooltip - Returns the rotation relative to the region's axes.\nReturns the rotation. - - llGetScale - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the scale of the prim.\nReturns a vector that is the scale (dimensions) of the prim. - - llGetScriptName - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - tooltip - Returns the name of the script that this function is used in.\nReturns the name of this script. - - llGetScriptState - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - ScriptName - - type - string - tooltip - - - - - tooltip - Returns TRUE if the script named is running.\nReturns TRUE if ScriptName is running. - - llGetSimStats - - energy - 0 - sleep - 0 - return - float - arguments - - - StatType - - type - integer - tooltip - Statistic type. Currently only SIM_STAT_PCT_CHARS_STEPPED is supported. - - - - tooltip - Returns a float that is the requested statistic. - - llGetSimulatorHostname - - energy - 10.0 - sleep - 10.0 - return - string - arguments - - tooltip - Returns the host-name of the machine which the script is running on.\nFor example, "sim225.agni.lindenlab.com". - - llGetSPMaxMemory - - energy - 0.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns the maximum used memory for the current script. Only valid after using PROFILE_SCRIPT_MEMORY. Non-mono scripts always use 16k.\nReturns the integer of the most bytes used while llScriptProfiler was last active. - - llGetStartParameter - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns an integer that is the script rez parameter.\nIf the object was rezzed by an agent, this function returns 0. - - llGetStatus - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - StatusFlag - - type - integer - tooltip - A STATUS_* flag - - - - tooltip - Returns boolean value of the specified status (e.g. STATUS_PHANTOM) of the object the script is attached to. - - llGetSubString - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - String - - type - string - tooltip - - - - - Start - - type - integer - tooltip - - - - - End - - type - integer - tooltip - - - - - tooltip - Returns a sub-string from String, in a range specified by the Start and End indicies (inclusive).\nUsing negative numbers for Start and/or End causes the index to count backwards from the length of the string, so 0, -1 would capture the entire string.\nIf Start is greater than End, the sub string is the exclusion of the entries. - - llGetSunDirection - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns a normalized vector of the direction of the sun in the region.\nReturns the sun's direction on the simulator. - - llGetTexture - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Face - - type - integer - tooltip - - - - - tooltip - Returns a string that is the texture on face (the inventory name if it is a texture in the prim's inventory, otherwise the key).\nReturns the texture of a face, if it is found in object inventory, its key otherwise. - - llGetTextureOffset - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Face - - type - integer - tooltip - - - - - tooltip - Returns the texture offset of face in the x and y components of a vector. - - llGetTextureRot - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Face - - type - integer - tooltip - - - - - tooltip - Returns the texture rotation of side. - - llGetTextureScale - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Face - - type - integer - tooltip - - - - - tooltip - Returns the texture scale of side in the x and y components of a vector.\nReturns the texture scale of a side in the x and y components of a vector. - - llGetTime - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns the time in seconds since the last region reset, script reset, or call to either llResetTime or llGetAndResetTime. - - llGetTimeOfDay - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns the time in seconds since Second Life midnight or since region up-time, whichever is smaller.\nThe Second Life day cycle is 4 hours. - - llGetTimestamp - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - tooltip - Returns a time-stamp (UTC time zone) in the format: YYYY-MM-DDThh:mm:ss.ff..fZ. - - llGetTorque - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the torque (if the script is physical).\nReturns a vector that is the torque (if the script is physical). - - llGetUnixTime - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns the number of seconds elapsed since 00:00 hours, Jan 1, 1970 UTC from the system clock. - - llGetUsedMemory - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns the current used memory for the current script. Non-mono scripts always use 16K.\nReturns the integer of the number of bytes of memory currently in use by the script. Non-mono scripts always use 16K. - - llGetUsername - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Returns the username of an avatar, if the avatar is connected to the current region, or if the name has been cached. Otherwise, returns an empty string. Use llRequestUsername if the avatar may be absent from the region. - - llGetVel - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the velocity of the object.\nReturns a vector that is the velocity of the object. - - llGetWallclock - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns the time in seconds since midnight California Pacific time (PST/PDT).\nReturns the time in seconds since simulator's time-zone midnight (Pacific Time). - - llGiveInventory - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - TargetID - - type - key - tooltip - - - - - InventoryItem - - type - string - tooltip - - - - - tooltip - Give InventoryItem to destination represented by TargetID, as permitted by the permissions system.\nTargetID may be any agent or an object in the same region. - - llGiveInventoryList - - energy - 10.0 - sleep - 3.0 - return - void - arguments - - - TargetID - - type - key - tooltip - - - - - FolderName - - type - string - tooltip - - - - - InventoryItems - - type - list - tooltip - - - - - tooltip - Give InventoryItems to destination (represented by TargetID) as a new folder of items, as permitted by the permissions system.\nTargetID may be any agent or an object in the same region. If TargetID is an object, the items are passed directly to the object inventory (no folder is created). - - llGiveMoney - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - AvatarID - - type - key - tooltip - - - - - Amount - - type - integer - tooltip - - - - - tooltip - Transfers Amount of L$ from script owner to AvatarID.\nThis call will silently fail if PERMISSION_DEBIT has not been granted. - - llGodLikeRezObject - - god-mode - true - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - InventoryItemID - - type - key - tooltip - - - - - Position - - type - vector - tooltip - - - - - tooltip - Rez directly off of a UUID if owner has god-bit set. - - llGround - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Offset - - type - vector - tooltip - - - - - tooltip - Returns the ground height at the object position + offset.\nReturns the ground height at the object's position + Offset. - - llGroundContour - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Offset - - type - vector - tooltip - - - - - tooltip - Returns the ground contour direction below the object position + Offset.\nReturns the ground contour at the object's position + Offset. - - llGroundNormal - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Offset - - type - vector - tooltip - - - - - tooltip - Returns the ground normal below the object position + offset.\nReturns the ground contour at the object's position + Offset. - - llGroundRepel - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Height - - type - float - tooltip - Distance above the ground. - - - - Water - - type - integer - tooltip - Boolean, if TRUE then hover above water too. - - - - Tau - - type - float - tooltip - Seconds to critically damp in. - - - - tooltip - Critically damps to height if within height * 0.5 of level (either above ground level or above the higher of land and water if water == TRUE).\nCritically damps to fHeight if within fHeight * 0.5 of ground or water level.\n - The height is above ground level if iWater is FALSE or above the higher of land and water if iWater is TRUE.\n - Do not use with vehicles. Only works in physics-enabled objects. - - llGroundSlope - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Offset - - type - vector - tooltip - - - - - tooltip - Returns the ground slope below the object position + Offset.\nReturns the ground slope at the object position + Offset. - - llHTTPRequest - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - URL - - type - string - tooltip - A valid HTTP/HTTPS URL. - - - - Parameters - - type - list - tooltip - Configuration parameters, specified as HTTP_* flag-value pairs. - - - - Body - - type - string - tooltip - Contents of the request. - - - - tooltip - Sends an HTTP request to the specified URL with the Body of the request and Parameters.\nReturns a key that is a handle identifying the HTTP request made. - - llHTTPResponse - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - HTTPRequestID - - type - key - tooltip - A valid HTTP request key. - - - - Status - - type - integer - tooltip - HTTP Status (200, 400, 404, etc.). - - - - Body - - type - string - tooltip - Contents of the response. - - - - tooltip - Responds to an incoming HTTP request which was triggerd by an http_request event within the script. HTTPRequestID specifies the request to respond to (this ID is supplied in the http_request event handler). Status and Body specify the status code and message to respond with. - - llInsertString - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - TargetVariable - - type - string - tooltip - - - - - Position - - type - integer - tooltip - - - - - SourceVariable - - type - string - tooltip - - - - - tooltip - Inserts SourceVariable into TargetVariable at Position, and returns the result.\nInserts SourceVariable into TargetVariable at Position and returns the result. Note this does not alter TargetVariable. - - llInstantMessage - - energy - 10.0 - sleep - 2.0 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - Text - - type - string - tooltip - - - - - tooltip - IMs Text to the user identified.\nSend Text to the user as an instant message. - - llIntegerToBase64 - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Value - - type - integer - tooltip - - - - - tooltip - Returns a string that is a Base64 big endian encode of Value.\nEncodes the Value as an 8-character Base64 string. - - llJson2List - - energy - 0.0 - sleep - 0.0 - return - list - arguments - - - JSON - - type - string - tooltip - - - - - tooltip - Converts the top level of the JSON string to a list. - - llJsonGetValue - - energy - 0.0 - sleep - 0.0 - return - string - arguments - - - JSON - - type - string - tooltip - - - - - Specifiers - - type - list - tooltip - - - - - tooltip - Gets the value indicated by Specifiers from the JSON string. - - llJsonSetValue - - energy - 0.0 - sleep - 0.0 - return - string - arguments - - - JSON - - type - string - tooltip - - - - - Specifiers - - type - list - tooltip - - - - - Value - - type - string - tooltip - - - - - tooltip - Returns a new JSON string that is the JSON given with the Value indicated by Specifiers set to Value. - - llJsonValueType - - energy - 0.0 - sleep - 0.0 - return - string - arguments - - - JSON - - type - string - tooltip - - - - - Specifiers - - type - list - tooltip - - - - - tooltip - Returns the type constant (JSON_*) for the value in JSON indicated by Specifiers. - - llKey2Name - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - ID - - type - key - tooltip - Avatar or rezzed prim UUID. - - - - tooltip - Returns the name of the prim or avatar specified by ID. The ID must be a valid rezzed prim or avatar key in the current simulator, otherwise an empty string is returned.\nFor avatars, the returned name is the legacy name - - llLinkParticleSystem - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag - - - - Rules - - type - list - tooltip - Particle system rules list in the format [ rule1, data1, rule2, data2 . . . ruleN, dataN ] - - - - tooltip - Creates a particle system in prim LinkNumber based on Rules. An empty list removes a particle system from object.\nList format is [ rule-1, data-1, rule-2, data-2 ... rule-n, data-n ].\nThis is identical to llParticleSystem except that it applies to a specified linked prim and not just the prim the script is in. - - llLinkSitTarget - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag of the prim. - - - - Offset - - type - vector - tooltip - Position for the sit target, relative to the prim's position. - - - - Rotation - - type - rotation - tooltip - Rotation (relative to the prim's rotation) for the avatar. - - - - tooltip - Set the sit location for the linked prim(s). If Offset == <0,0,0> clear it.\nSet the sit location for the linked prim(s). The sit location is relative to the prim's position and rotation. - - llList2CSV - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - ListVariable - - type - list - tooltip - - - - - tooltip - Creates a string of comma separated values from the list.\nCreate a string of comma separated values from the specified list. - - llList2Float - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - ListVariable - - type - list - tooltip - - - - - Index - - type - integer - tooltip - - - - - tooltip - Copies the float at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to a float, then zero is returned. - - llList2Integer - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - ListVariable - - type - list - tooltip - - - - - Index - - type - integer - tooltip - - - - - tooltip - Copies the integer at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to an integer, then zero is returned. - - llList2Json - - energy - 0 - sleep - 0 - return - string - arguments - - - JsonType - - type - string - tooltip - Type is JSON_ARRAY or JSON_OBJECT. - - - - Values - - type - list - tooltip - List of values to convert. - - - - tooltip - Converts either a strided list of key:value pairs to a JSON_OBJECT, or a list of values to a JSON_ARRAY. - - llList2Key - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - ListVariable - - type - list - tooltip - - - - - Index - - type - integer - tooltip - - - - - tooltip - Copies the key at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to a key, then null string is returned. - - llList2List - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - ListVariable - - type - list - tooltip - - - - - Start - - type - integer - tooltip - - - - - End - - type - integer - tooltip - - - - - tooltip - Returns a subset of entries from ListVariable, in a range specified by the Start and End indicies (inclusive).\nUsing negative numbers for Start and/or End causes the index to count backwards from the length of the string, so 0, -1 would capture the entire string.\nIf Start is greater than End, the sub string is the exclusion of the entries. - - llList2ListStrided - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - ListVariable - - type - list - tooltip - - - - - Start - - type - integer - tooltip - - - - - End - - type - integer - tooltip - - - - - Stride - - type - integer - tooltip - - - - - tooltip - Copies the strided slice of the list from Start to End.\nReturns a copy of the strided slice of the specified list from Start to End. - - llList2Rot - - energy - 10.0 - sleep - 0.0 - return - rotation - arguments - - - ListVariable - - type - list - tooltip - - - - - Index - - type - integer - tooltip - - - - - tooltip - Copies the rotation at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to rotation, thenZERO_ROTATION is returned. - - llList2String - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - ListVariable - - type - list - tooltip - - - - - Index - - type - integer - tooltip - - - - - tooltip - Copies the string at Index in the list.\nReturns the value at Index in the specified list as a string. If Index describes a location not in the list then null string is returned. - - llList2Vector - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - ListVariable - - type - list - tooltip - - - - - Index - - type - integer - tooltip - - - - - tooltip - Copies the vector at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to a vector, then ZERO_VECTOR is returned. - - llListen - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Channel - - type - integer - tooltip - - - - - SpeakersName - - type - string - tooltip - - - - - SpeakersID - - type - key - tooltip - - - - - Text - - type - string - tooltip - - - - - tooltip - Creates a listen callback for Text on Channel from SpeakersName and SpeakersID (SpeakersName, SpeakersID, and/or Text can be empty) and returns an identifier that can be used to deactivate or remove the listen.\nNon-empty values for SpeakersName, SpeakersID, and Text will filter the results accordingly, while empty strings and NULL_KEY will not filter the results, for string and key parameters respectively.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. - - llListenControl - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ChannelHandle - - type - integer - tooltip - - - - - Active - - type - integer - tooltip - - - - - tooltip - Makes a listen event callback active or inactive. Pass in the value returned from llListen to the iChannelHandle parameter to specify which listener you are controlling.\nUse boolean values to specify Active - - llListenRemove - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ChannelHandle - - type - integer - tooltip - - - - - tooltip - Removes a listen event callback. Pass in the value returned from llListen to the iChannelHandle parameter to specify which listener to remove. - - llListFindList - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - ListVariable - - type - list - tooltip - - - - - Find - - type - list - tooltip - - - - - tooltip - Returns the index of the first instance of Find in ListVariable. Returns -1 if not found.\nReturns the position of the first instance of the Find list in the ListVariable. Returns -1 if not found. - - llListInsertList - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - Target - - type - list - tooltip - - - - - ListVariable - - type - list - tooltip - - - - - Position - - type - integer - tooltip - - - - - tooltip - Returns a list that contains all the elements from Target but with the elements from ListVariable inserted at Position start.\nReturns a new list, created by inserting ListVariable into the Target list at Position. Note this does not alter the Target. - - llListRandomize - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - ListVariable - - type - list - tooltip - - - - - Stride - - type - integer - tooltip - - - - - tooltip - Returns a version of the input ListVariable which has been randomized by blocks of size Stride.\nIf the remainder from the length of the list, divided by the stride is non-zero, this function does not randomize the list. - - llListReplaceList - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - Target - - type - list - tooltip - - - - - ListVariable - - type - list - tooltip - - - - - Start - - type - integer - tooltip - - - - - End - - type - integer - tooltip - - - - - tooltip - Returns a list that is Target with Start through End removed and ListVariable inserted at Start.\nReturns a list replacing the slice of the Target list from Start to End with the specified ListVariable. Start and End are inclusive, so 0, 1 would replace the first two entries and 0, 0 would replace only the first list entry. - - llListSort - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - ListVariable - - type - list - tooltip - List to sort. - - - - Stride - - type - integer - tooltip - Stride length. - - - - Ascending - - type - integer - tooltip - Boolean. TRUE = result in ascending order, FALSE = result in descending order. - - - - tooltip - Returns the specified list, sorted into blocks of stride in ascending order (if Ascending is TRUE, otherwise descending). Note that sort only works if the first entry of each block is the same datatype. - - llListStatistics - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Operation - - type - integer - tooltip - One of LIST_STAT_* values - - - - ListVariable - - type - list - tooltip - Variable to analyze. - - - - tooltip - Performs a statistical aggregate function, specified by a LIST_STAT_* constant, on ListVariables.\nThis function allows a script to perform a statistical operation as defined by operation on a list composed of integers and floats. - - llLoadURL - - energy - 10.0 - sleep - 0.1 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - Text - - type - string - tooltip - - - - - URL - - type - string - tooltip - - - - - tooltip - Shows dialog to avatar AvatarID offering to load web page at URL. If user clicks yes, launches their web browser.\nllLoadURL displays a dialogue box to the user, offering to load the specified web page using the default web browser. - - llLog - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Value - - type - float - tooltip - - - - - tooltip - Returns the natural logarithm of Value. Returns zero if Value <= 0.\nReturns the base e (natural) logarithm of the specified Value. - - llLog10 - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Value - - type - float - tooltip - - - - - tooltip - Returns the base 10 logarithm of Value. Returns zero if Value <= 0.\nReturns the base 10 (common) logarithm of the specified Value. - - llLookAt - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Target - - type - vector - tooltip - - - - - Strength - - type - float - tooltip - - - - - Damping - - type - float - tooltip - - - - - tooltip - Cause object name to point its forward axis towards Target, at a force controlled by Strength and Damping.\nGood Strength values are around half the mass of the object and good Damping values are less than 1/10th of the Strength.\nAsymmetrical shapes require smaller Damping. A Strength of 0.0 cancels the look at. - - llLoopSound - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Sound - - type - string - tooltip - - - - - Volume - - type - float - tooltip - - - - - tooltip - Plays specified Sound, looping indefinitely, at Volume (0.0 - 1.0).\nOnly one sound may be attached to an object at a time.\nA second call to llLoopSound with the same key will not restart the sound, but the new volume will be used. This allows control over the volume of already playing sounds.\nSetting the volume to 0 is not the same as calling llStopSound; a sound with 0 volume will continue to loop.\nTo restart the sound from the beginning, call llStopSound before calling llLoopSound again. - - llLoopSoundMaster - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Sound - - type - string - tooltip - - - - - Volume - - type - float - tooltip - - - - - tooltip - Plays attached Sound, looping at volume (0.0 - 1.0), and declares it a sync master.\nBehaviour is identical to llLoopSound, with the addition of marking the source as a "Sync Master", causing "Slave" sounds to sync to it. If there are multiple masters within a viewers interest area, the most audible one (a function of both distance and volume) will win out as the master.\nThe use of multiple masters within a small area is unlikely to produce the desired effect. - - llLoopSoundSlave - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Sound - - type - string - tooltip - - - - - Volume - - type - float - tooltip - - - - - tooltip - Plays attached sound looping at volume (0.0 - 1.0), synced to most audible sync master.\nBehaviour is identical to llLoopSound, unless there is a "Sync Master" present.\nIf a Sync Master is already playing the Slave sound will begin playing from the same point the master is in its loop synchronizing the loop points of both sounds.\nIf a Sync Master is started when the Slave is already playing, the Slave will skip to the correct position to sync with the Master. - - llManageEstateAccess - - energy - 0.0 - sleep - 0.0 - return - integer - arguments - - - Action - - type - integer - tooltip - One of the ESTATE_ACCESS_ALLOWED_* actions. - - - - AvatarID - - type - key - tooltip - UUID of the avatar or group to act upon. - - - - tooltip - Adds or removes agents from the estate's agent access or ban lists, or groups to the estate's group access list. Action is one of the ESTATE_ACCESS_ALLOWED_* operations to perform.\nReturns an integer representing a boolean, TRUE if the call was successful; FALSE if throttled, invalid action, invalid or null id or object owner is not allowed to manage the estate.\nThe object owner is notified of any changes, unless PERMISSION_SILENT_ESTATE_MANAGEMENT has been granted to the script. - - llMapDestination - - energy - 10.0 - sleep - 1.0 - return - void - arguments - - - RegionName - - type - string - tooltip - - - - - Position - - type - vector - tooltip - - - - - Direction - - type - vector - tooltip - - - - - tooltip - Opens world map for avatar who touched is is wearing the script, centred on RegionName with Position highlighted. Only works for scripts attached to avatar, or during touch events.\nDirection currently has no effect. - - llMD5String - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Text - - type - string - tooltip - - - - - Nonce - - type - integer - tooltip - - - - - tooltip - Returns a string of 32 hex characters that is an RSA Data Security Inc., MD5 Message-Digest Algorithm of Text with Nonce used as the salt.\nReturns a 32-character hex string. (128-bit in binary.) - - llMessageLinked - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - LinkNumber - - type - integer - tooltip - - - - - Number - - type - integer - tooltip - - - - - Text - - type - string - tooltip - - - - - ID - - type - key - tooltip - - - - - tooltip - Sends Number, Text, and ID to members of the link set identified by LinkNumber.\nLinkNumber is either a linked number (available through llGetLinkNumber) or a LINK_* constant. - - llMinEventDelay - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Delay - - type - float - tooltip - - - - - tooltip - Set the minimum time between events being handled. - - llModifyLand - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Action - - type - integer - tooltip - LAND_LEVEL, LAND_RAISE, LAND_LOWER, LAND_SMOOTH, LAND_NOISE or LAND_REVERT - - - - Area - - type - integer - tooltip - 0, 1, 2 (2m x 2m, 4m x 4m, or 8m x 8m) - - - - tooltip - Modify land with action (LAND_LEVEL, LAND_RAISE, LAND_LOWER, LAND_SMOOTH, LAND_NOISE, LAND_REVERT) on size (0, 1, 2, corresponding to 2m x 2m, 4m x 4m, 8m x 8m). - - llModPow - - energy - 10.0 - sleep - 1.0 - return - integer - arguments - - - Value - - type - integer - tooltip - - - - - Power - - type - integer - tooltip - - - - - Modulus - - type - integer - tooltip - - - - - tooltip - Returns a Value raised to the Power, mod Modulus. ((a**b)%c) b is capped at 0xFFFF (16 bits).\nReturns (Value ^ Power) % Modulus. (Value raised to the Power, Modulus). Value is capped at 0xFFFF (16 bits). - - llMoveToTarget - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Target - - type - vector - tooltip - - - - - Tau - - type - float - tooltip - - - - - tooltip - Critically damp to Target in Tau seconds (if the script is physical).\nCritically damp to position target in tau-seconds if the script is physical. Good tau-values are greater than 0.2. A tau of 0.0 stops the critical damping. - - llOffsetTexture - - energy - 10.0 - sleep - 0.2 - return - void - arguments - - - OffsetS - - type - float - tooltip - - - - - OffsetT - - type - float - tooltip - - - - - Face - - type - integer - tooltip - - - - - tooltip - Sets the texture S and T offsets for the chosen Face.\nIf Face is ALL_SIDES this function sets the texture offsets for all faces. - - llOpenRemoteDataChannel - - deprecated - true - energy - 10.0 - sleep - 1.0 - return - void - arguments - - tooltip - Requests a channel to listen for XML-RPC calls. (Deprecated: XML-RPC should not be used. Use http-in instead.)\nWill trigger a remote_data event with type = REMOTE_DATA_CHANNEL and a channel ID (key) once it is available.\nThis channel ID must be referenced in the XML-RPC call to the script (from the internet) -- so the key must somehow get to the external XML-RPC client. - - llOverMyLand - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - ID - - type - key - tooltip - - - - - tooltip - Returns TRUE if id ID over land owned by the script owner, otherwise FALSE.\nReturns TRUE if key ID is over land owned by the object owner, FALSE otherwise. - - llOwnerSay - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Text - - type - string - tooltip - - - - - tooltip - says Text to owner only (if owner is in region).\nSays Text to the owner of the object running the script, if the owner has been within the object's simulator since logging into Second Life, regardless of where they may be in-world. - - llParcelMediaCommandList - - energy - 10.0 - sleep - 2.0 - return - void - arguments - - - CommandList - - type - list - tooltip - A list of PARCEL_MEDIA_COMMAND_* flags and their parameters - - - - tooltip - Controls the playback of multimedia resources on a parcel or for an agent, via one or more PARCEL_MEDIA_COMMAND_* arguments specified in CommandList. - - llParcelMediaQuery - - energy - 10.0 - sleep - 2.0 - return - list - arguments - - - QueryList - - type - list - tooltip - - - - - tooltip - Queries the media properties of the parcel containing the script, via one or more PARCEL_MEDIA_COMMAND_* arguments specified in CommandList.\nThis function will only work if the script is contained within an object owned by the land-owner (or if the land is owned by a group, only if the object has been deeded to the group). - - llParseString2List - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - Text - - type - string - tooltip - - - - - Separators - - type - list - tooltip - - - - - Spacers - - type - list - tooltip - - - - - tooltip - Converts Text into a list, discarding Separators, keeping Spacers (Separators and Spacers must be lists of strings, maximum of 8 each).\nSeparators and Spacers are lists of strings with a maximum of 8 entries each. - - llParseStringKeepNulls - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - Text - - type - string - tooltip - - - - - Separators - - type - list - tooltip - - - - - Spacers - - type - list - tooltip - - - - - tooltip - Breaks Text into a list, discarding separators, keeping spacers, keeping any null values generated. (separators and spacers must be lists of strings, maximum of 8 each).\nllParseStringKeepNulls works almost exactly like llParseString2List, except that if a null is found it will add a null-string instead of discarding it like llParseString2List does. - - llParticleSystem - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Parameters - - type - list - tooltip - - - - - tooltip - Creates a particle system in the prim the script is attached to, based on Parameters. An empty list removes a particle system from object.\nList format is [ rule-1, data-1, rule-2, data-2 ... rule-n, data-n ]. - - llPassCollisions - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Pass - - type - integer - tooltip - Boolean, if TRUE, collisions are passed from children on to parents. - - - - tooltip - Configures how collision events are passed to scripts in the linkset.\nIf Pass == TRUE, collisions involving collision-handling scripted child prims are also passed on to the root prim. If Pass == FALSE (default behavior), such collisions will only trigger events in the affected child prim. - - llPassTouches - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Pass - - type - integer - tooltip - Boolean, if TRUE, touches are passed from children on to parents. - - - - tooltip - Configures how touch events are passed to scripts in the linkset.\nIf Pass == TRUE, touches involving touch-handling scripted child prims are also passed on to the root prim. If Pass == FALSE (default behavior), such touches will only trigger events in the affected child prim. - - llPlaySound - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Sound - - type - string - tooltip - - - - - Volume - - type - float - tooltip - - - - - tooltip - Plays Sound once, at Volume (0.0 - 1.0) and attached to the object.\nOnly one sound may be attached to an object at a time, and attaching a new sound or calling llStopSound will stop the previously attached sound.\nA second call to llPlaySound with the same sound will not restart the sound, but the new volume will be used, which allows control over the volume of already playing sounds.\nTo restart the sound from the beginning, call llStopSound before calling llPlaySound again. - - llPlaySoundSlave - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Sound - - type - string - tooltip - - - - - Volume - - type - float - tooltip - - - - - tooltip - Plays attached Sound once, at Volume (0.0 - 1.0), synced to next loop of most audible sync master.\nBehaviour is identical to llPlaySound, unless there is a "Sync Master" present. If a Sync Master is already playing, the Slave sound will not be played until the Master hits its loop point and returns to the beginning.\nllPlaySoundSlave will play the sound exactly once; if it is desired to have the sound play every time the Master loops, either use llLoopSoundSlave with extra silence padded on the end of the sound or ensure that llPlaySoundSlave is called at least once per loop of the Master. - - llPow - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Value - - type - float - tooltip - - - - - Exponent - - type - float - tooltip - - - - - tooltip - Returns the Value raised to the power Exponent, or returns 0 and triggers Math Error for imaginary results.\nReturns the Value raised to the Exponent. - - llPreloadSound - - energy - 10.0 - sleep - 1.0 - return - void - arguments - - - Sound - - type - string - tooltip - - - - - tooltip - Causes nearby viewers to preload the Sound from the object's inventory.\nThis is intended to prevent delays in starting new sounds when called upon. - - llPushObject - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ObjectID - - type - key - tooltip - - - - - Impulse - - type - vector - tooltip - - - - - AngularImpulse - - type - vector - tooltip - - - - - Local - - type - integer - tooltip - - - - - tooltip - Applies Impulse and AngularImpulse to ObjectID.\nApplies the supplied impulse and angular impulse to the object specified. - - llRefreshPrimURL - - energy - 10.0 - sleep - 20.0 - return - void - arguments - - tooltip - Reloads the web page shown on the sides of the object. - - llRegionSay - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Channel - - type - integer - tooltip - Any integer value except zero. - - - - Text - - type - string - tooltip - Message to be transmitted. - - - - tooltip - Broadcasts Text to entire region on Channel (except for channel 0). - - llRegionSayTo - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - TargetID - - type - key - tooltip - Avatar or object to say to. - - - - Channel - - type - integer - tooltip - Output channel, any integer value. - - - - Text - - type - string - tooltip - Message to be transmitted. - - - - tooltip - Says Text, on Channel, to avatar or object indicated by TargetID (if within region).\nIf TargetID is an avatar and Channel is nonzero, Text can be heard by any attachment on the avatar. - - llReleaseCamera - - deprecated - true - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Return camera to agent.\nDeprecated: Use llClearCameraParams instead. - - llReleaseControls - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - Stop taking inputs.\nStop taking inputs from the avatar. - - llReleaseURL - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - URL - - type - string - tooltip - URL to release. - - - - tooltip - Releases the specified URL, which was previously obtained using llRequestURL. Once released, the URL will no longer be usable. - - llRemoteDataReply - - deprecated - true - energy - 10.0 - sleep - 3.0 - return - void - arguments - - - ChannelID - - type - key - tooltip - - - - - MessageID - - type - key - tooltip - - - - - sData - - type - string - tooltip - String data to send - - - - iData - - type - integer - tooltip - Integer data to send - - - - tooltip - Send an XML-RPC reply to MessageID on ChannelID with payload of string sData and integer iData. Deprecated: Use HTTP functions/events instead.\nThe size of sData is limited to 254 characters. - - llRemoteLoadScriptPin - - energy - 10.0 - sleep - 3.0 - return - void - arguments - - - ObjectID - - type - key - tooltip - Target prim to attempt copying into. - - - - ScriptName - - type - string - tooltip - Name of the script in current inventory to copy. - - - - PIN - - type - integer - tooltip - Integer set on target prim as a Personal Information Number code. - - - - Running - - type - integer - tooltip - If the script should be set running in the target prim. - - - - StartParameter - - type - integer - tooltip - Integer. Parameter passed to the script if set to be running. - - - - tooltip - If the owner of the object containing this script can modify the object identified by the specified object key, and if the PIN matches the PIN previously set using llSetRemoteScriptAccessPin (on the target prim), then the script will be copied into target. Running is a boolean specifying whether the script should be enabled once copied into the target object. - - llRemoveFromLandBanList - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Remove avatar from the land ban list.\nRemove specified avatar from the land parcel ban list. - - llRemoveFromLandPassList - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Remove avatar from the land pass list.\nRemove specified avatar from the land parcel pass list. - - llRemoveInventory - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - InventoryItem - - type - string - tooltip - - - - - tooltip - Remove the named inventory item.\nRemove the named inventory item from the object inventory. - - llRemoveVehicleFlags - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Vehiclelags - - type - integer - tooltip - - - - - tooltip - Removes the enabled bits in 'flags'.\nSets the vehicle flags to FALSE. Valid parameters can be found in the vehicle flags constants section. - - llRequestAgentData - - energy - 10.0 - sleep - 0.1 - return - key - arguments - - - AvatarID - - type - key - tooltip - - - - - Data - - type - integer - tooltip - - - - - tooltip - Requests data about AvatarID. When data is available the dataserver event will be raised.\nThis function requests data about an avatar. If and when the information is collected, the dataserver event is triggered with the key returned from this function passed in the requested parameter. See the agent data constants (DATA_*) for details about valid values of data and what each will return in the dataserver event. - - llRequestDisplayName - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - AvatarID - - type - key - tooltip - Avatar UUID - - - - tooltip - Requests the display name of the agent. When the display name is available the dataserver event will be raised.\nThe avatar identified does not need to be in the same region or online at the time of the request.\nReturns a key that is used to identify the dataserver event when it is raised. - - llRequestInventoryData - - energy - 10.0 - sleep - 1.0 - return - key - arguments - - - InventoryItem - - type - string - tooltip - - - - - tooltip - Requests data for the named InventoryItem.\nWhen data is available, the dataserver event will be raised with the key returned from this function in the requested parameter.\nThe only request currently implemented is to request data from landmarks, where the data returned is in the form "<float, float, float>" which can be cast to a vector. This position is in region local coordinates. - - llRequestPermissions - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - PermissionMask - - type - integer - tooltip - - - - - tooltip - Ask AvatarID to allow the script to perform certain actions, specified in the PermissionMask bitmask. PermissionMask should be one or more PERMISSION_* constants. Multiple permissions can be requested simultaneously by ORing the constants together. Many of the permissions requests can only go to object owner.\nThis call will not stop script execution. If the avatar grants the requested permissions, the run_time_permissions event will be called. - - llRequestSecureURL - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - tooltip - Requests one HTTPS:// (SSL) URL for use by this object. The http_request event is triggered with results.\nReturns a key that is the handle used for identifying the request in the http_request event. - - llRequestSimulatorData - - energy - 10.0 - sleep - 1.0 - return - key - arguments - - - RegionName - - type - string - tooltip - - - - - Data - - type - integer - tooltip - - - - - tooltip - Requests the specified Data about RegionName. When the specified data is available, the dataserver event is raised.\nData should use one of the DATA_SIM_* constants.\nReturns a dataserver query ID and triggers the dataserver event when data is found. - - llRequestURL - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - tooltip - Requests one HTTP:// URL for use by this script. The http_request event is triggered with the result of the request.\nReturns a key that is the handle used for identifying the result in the http_request event. - - llRequestUsername - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Requests single-word user-name of an avatar. When data is available the dataserver event will be raised.\nRequests the user-name of the identified agent. When the user-name is available the dataserver event is raised.\nThe agent identified does not need to be in the same region or online at the time of the request.\nReturns a key that is used to identify the dataserver event when it is raised. - - llResetAnimationOverride - - energy - 0 - sleep - 0 - return - void - arguments - - - AnimationState - - type - string - tooltip - - - - - tooltip - Resets the animation of the specified animation state to the default value.\nIf animation state equals "ALL", then all animation states are reset. - - llResetLandBanList - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - Removes all residents from the land ban list. - - llResetLandPassList - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - Removes all residents from the land access/pass list. - - llResetOtherScript - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ScriptName - - type - string - tooltip - - - - - tooltip - Resets the named script. - - llResetScript - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - Resets the script. - - llResetTime - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - Sets the time to zero.\nSets the internal timer to zero. - - llReturnObjectsByID - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - ObjectIDs - - type - list - tooltip - List of object UUIDs to be returned. - - - - tooltip - Return objects using their UUIDs.\nRequires the PERMISSION_RETURN_OBJECTS permission and that the script owner owns the parcel the returned objects are in, or is an estate manager or region owner. - - llReturnObjectsByOwner - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - ID - - type - key - tooltip - Object owner's UUID. - - - - Scope - - type - integer - tooltip - - - - - tooltip - Return objects based upon their owner and a scope of parcel, parcel owner, or region.\nRequires the PERMISSION_RETURN_OBJECTS permission and that the script owner owns the parcel the returned objects are in, or is an estate manager or region owner. - - llRezAtRoot - - energy - 200.0 - sleep - 0.1 - return - void - arguments - - - InventoryItem - - type - string - tooltip - - - - - Position - - type - vector - tooltip - - - - - Velocity - - type - vector - tooltip - - - - - Rotation - - type - rotation - tooltip - - - - - StartParameter - - type - integer - tooltip - - - - - tooltip - Instantiate owner's InventoryItem at Position with Velocity, Rotation and with StartParameter. The last selected root object's location will be set to Position.\nCreates object's inventory item at the given Position, with Velocity, Rotation, and StartParameter. - - llRezObject - - energy - 200 - sleep - 0.1 - return - void - arguments - - - InventoryItem - - type - string - tooltip - - - - - Position - - type - vector - tooltip - - - - - Velocity - - type - vector - tooltip - - - - - Rotation - - type - rotation - tooltip - - - - - StartParameter - - type - integer - tooltip - - - - - tooltip - Instantiate owners InventoryItem at Position with Velocity, Rotation and with start StartParameter.\nCreates object's inventory item at Position with Velocity and Rotation supplied. The StartParameter value will be available to the newly created object in the on_rez event or through the llGetStartParameter function.\nThe Velocity parameter is ignored if the rezzed object is not physical. - - llRot2Angle - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Rotation - - type - rotation - tooltip - - - - - tooltip - Returns the rotation angle represented by Rotation.\nReturns the angle represented by the Rotation. - - llRot2Axis - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Rotation - - type - rotation - tooltip - - - - - tooltip - Returns the rotation axis represented by Rotation.\nReturns the axis represented by the Rotation. - - llRot2Euler - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Rotation - - type - rotation - tooltip - - - - - tooltip - Returns the Euler representation (roll, pitch, yaw) of Rotation.\nReturns the Euler Angle representation of the Rotation. - - llRot2Fwd - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Rotation - - type - rotation - tooltip - - - - - tooltip - Returns the forward vector defined by Rotation.\nReturns the forward axis represented by the Rotation. - - llRot2Left - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Rotation - - type - rotation - tooltip - - - - - tooltip - Returns the left vector defined by Rotation.\nReturns the left axis represented by the Rotation. - - llRot2Up - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Rotation - - type - rotation - tooltip - - - - - tooltip - Returns the up vector defined by Rotation.\nReturns the up axis represented by the Rotation. - - llRotateTexture - - energy - 10.0 - sleep - 0.2 - return - void - arguments - - - Radians - - type - float - tooltip - - - - - Face - - type - integer - tooltip - - - - - tooltip - Sets the texture rotation for the specified Face to angle Radians.\nIf Face is ALL_SIDES, rotates the texture of all sides. - - llRotBetween - - energy - 10.0 - sleep - 0.0 - return - rotation - arguments - - - Vector1 - - type - vector - tooltip - - - - - Vector2 - - type - vector - tooltip - - - - - tooltip - Returns the rotation to rotate Vector1 to Vector2.\nReturns the rotation needed to rotate Vector1 to Vector2. - - llRotLookAt - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Rotation - - type - rotation - tooltip - - - - - Strength - - type - float - tooltip - - - - - Damping - - type - float - tooltip - - - - - tooltip - Cause object to rotate to Rotation, with a force function defined by Strength and Damping parameters. Good strength values are around half the mass of the object and good damping values are less than 1/10th of the strength.\nAsymmetrical shapes require smaller damping.\nA strength of 0.0 cancels the look at. - - llRotTarget - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Rotation - - type - rotation - tooltip - - - - - LeeWay - - type - float - tooltip - - - - - tooltip - Set rotations with error of LeeWay radians as a rotational target, and return an ID for the rotational target.\nThe returned number is a handle that can be used in at_rot_target and llRotTargetRemove. - - llRotTargetRemove - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Handle - - type - integer - tooltip - - - - - tooltip - Removes rotational target number.\nRemove rotational target indicated by the handle. - - llRound - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Value - - type - float - tooltip - - - - - tooltip - Returns Value rounded to the nearest integer.\nReturns the Value rounded to the nearest integer. - - llSameGroup - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - ID - - type - key - tooltip - - - - - tooltip - Returns TRUE if avatar ID is in the same region and has the same active group, otherwise FALSE.\nReturns TRUE if the object or agent identified is in the same simulator and has the same active group as this object. Otherwise, returns FALSE. - - llSay - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Channel - - type - integer - tooltip - Channel to use to say text on. - - - - Text - - type - string - tooltip - Text to say. - - - - tooltip - Says Text on Channel.\nThis chat method has a range of 20m radius.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. - - llScaleByFactor - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - ScalingFactor - - type - float - tooltip - The multiplier to be used with the prim sizes and their local positions. - - - - tooltip - Attempts to resize the entire object by ScalingFactor, maintaining the size-position ratios of the prims.\n\nResizing is subject to prim scale limits and linkability limits. This function can not resize the object if the linkset is physical, a pathfinding character, in a keyframed motion, or if resizing would cause the parcel to overflow.\nReturns a boolean (an integer) TRUE if it succeeds, FALSE if it fails. - - llScaleTexture - - energy - 10.0 - sleep - 0.2 - return - void - arguments - - - Horizontal - - type - float - tooltip - - - - - Vertical - - type - float - tooltip - - - - - Face - - type - integer - tooltip - - - - - tooltip - Sets the diffuse texture Horizontal and Vertical repeats on Face of the prim the script is attached to.\nIf Face == ALL_SIDES, all sides are set in one call.\nNegative values for horizontal and vertical will flip the texture. - - llScriptDanger - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Position - - type - vector - tooltip - - - - - tooltip - Returns TRUE if Position is over public land, sandbox land, land that doesn't allow everyone to edit and build, or land that doesn't allow outside scripts.\nReturns true if the position is over public land, land that doesn't allow everyone to edit and build, or land that doesn't allow outside scripts. - - llScriptProfiler - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - State - - type - integer - tooltip - PROFILE_NONE or PROFILE_SCRIPT_MEMORY flags to control the state. - - - - tooltip - Enables or disables script profiling options. Currently only supports PROFILE_SCRIPT_MEMORY (Mono only) and PROFILE_NONE.\nMay significantly reduce script performance. - - llSendRemoteData - - deprecated - true - energy - 10.0 - sleep - 3.0 - return - key - arguments - - - ChannelID - - type - key - tooltip - - - - - Destination - - type - string - tooltip - - - - - Value - - type - integer - tooltip - - - - - Text - - type - string - tooltip - - - - - tooltip - Deprecated: use HTTP functions and events instead.\nSends an XML-RPC request to Destination through ChannelID with payload of ChannelID (in a string), integer Value and string Text.\nReturns a key that is the message_id for the resulting remote_data events. - - llSensor - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Name - - type - string - tooltip - Object or avatar name. - - - - ID - - type - key - tooltip - Object or avatar UUID. - - - - Type - - type - integer - tooltip - Bit-field mask of AGENT, AGENT_BY_LEGACY_NAME, AGENT_BY_USERNAME, ACTIVE, PASSIVE, and/or SCRIPTED - - - - Range - - type - float - tooltip - Distance to scan. 0.0 - 96.0m. - - - - Arc - - type - float - tooltip - Angle, in radians, from the local x-axis of the prim to scan. - - - - tooltip - Performs a single scan for Name and ID with Type (AGENT, ACTIVE, PASSIVE, and/or SCRIPTED) within Range meters and Arc radians of forward vector.\nSpecifying a blank Name, 0 Type, or NULL_KEY ID will prevent filtering results based on that parameter. A range of 0.0 does not perform a scan.\nResults are returned in the sensor and no_sensor events. - - llSensorRemove - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - removes sensor.\nRemoves the sensor set by llSensorRepeat. - - llSensorRepeat - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Name - - type - string - tooltip - Object or avatar name. - - - - ID - - type - key - tooltip - Object or avatar UUID. - - - - Type - - type - integer - tooltip - Bit-field mask of AGENT, AGENT_BY_LEGACY_NAME, AGENT_BY_USERNAME, ACTIVE, PASSIVE, and/or SCRIPTED - - - - Range - - type - float - tooltip - Distance to scan. 0.0 - 96.0m. - - - - Arc - - type - float - tooltip - Angle, in radians, from the local x-axis of the prim to scan. - - - - Rate - - type - float - tooltip - Period, in seconds, between scans. - - - - tooltip - Initiates a periodic scan every Rate seconds, for Name and ID with Type (AGENT, ACTIVE, PASSIVE, and/or SCRIPTED) within Range meters and Arc radians of forward vector.\nSpecifying a blank Name, 0 Type, or NULL_KEY ID will prevent filtering results based on that parameter. A range of 0.0 does not perform a scan.\nResults are returned in the sensor and no_sensor events. - - llSetAlpha - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Opacity - - type - float - tooltip - - - - - Face - - type - integer - tooltip - - - - - tooltip - Sets the alpha (opacity) of Face.\nSets the alpha (opacity) value for Face. If Face is ALL_SIDES, sets the alpha for all faces. The alpha value is interpreted as an opacity percentage (1.0 is fully opaque, and 0.2 is mostly transparent). This function will clamp alpha values less than 0.1 to 0.1 and greater than 1.0 to 1. - - llSetAngularVelocity - - energy - 0.0 - sleep - 0.0 - return - void - arguments - - - AngVel - - type - vector - tooltip - The angular velocity to set the object to. - - - - Local - - type - integer - tooltip - If TRUE, the AngVel is treated as a local directional vector instead of a regional directional vector. - - - - tooltip - Sets an object's angular velocity to AngVel, in local coordinates if Local == TRUE (if the script is physical).\nHas no effect on non-physical objects. - - llSetAnimationOverride - - energy - 0 - sleep - 0 - return - void - arguments - - - AnimationState - - type - string - tooltip - - - - - AnimationName - - type - string - tooltip - - - - - tooltip - Sets the animation (in object inventory) that will play for the given animation state.\nTo use this function the script must obtain the PERMISSION_OVERRIDE_ANIMATIONS permission. - - llSetBuoyancy - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Buoyancy - - type - float - tooltip - - - - - tooltip - Set the tasks buoyancy (0 is none, < 1.0 sinks, 1.0 floats, > 1.0 rises).\nSet the object buoyancy. A value of 0 is none, less than 1.0 sinks, 1.0 floats, and greater than 1.0 rises. - - llSetCameraAtOffset - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Offset - - type - vector - tooltip - - - - - tooltip - Sets the camera used in this object, at offset, if an avatar sits on it.\nSets the offset that an avatar's camera will be moved to if the avatar sits on the object. - - llSetCameraEyeOffset - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Offset - - type - vector - tooltip - - - - - tooltip - Sets the camera eye offset used in this object if an avatar sits on it. - - llSetCameraParams - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Parameters - - type - list - tooltip - - - - - tooltip - Sets multiple camera parameters at once. List format is [ rule-1, data-1, rule-2, data-2 . . . rule-n, data-n ]. - - llSetClickAction - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Action - - type - integer - tooltip - A CLICK_ACTION_* flag - - - - tooltip - Sets the action performed when a prim is clicked upon. - - llSetColor - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Color - - type - vector - tooltip - - - - - Face - - type - integer - tooltip - - - - - tooltip - Sets the color, for the face.\nSets the color of the side specified. If Face is ALL_SIDES, sets the color on all faces. - - llSetContentType - - energy - 0.0 - sleep - 0.0 - return - void - arguments - - - HTTPRequestID - - type - key - tooltip - A valid http_request() key - - - - ContentType - - type - integer - tooltip - Media type to use with any following llHTTPResponse(HTTPRequestID, ...) - - - - tooltip - Set the media type of an LSL HTTP server response to ContentType.\nHTTPRequestID must be a valid http_request ID. ContentType must be one of the CONTENT_TYPE_* constants. - - llSetDamage - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Damage - - type - float - tooltip - - - - - tooltip - Sets the amount of damage that will be done to an avatar that this task hits. Task will be killed.\nSets the amount of damage that will be done to an avatar that this object hits. This object will be destroyed on damaging an avatar, and no collision event is triggered. - - llSetForce - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Force - - type - vector - tooltip - Directional force. - - - - Local - - type - integer - tooltip - Boolean, if TRUE uses local axis, if FALSE uses region axis. - - - - tooltip - Sets Force on object, in object-local coordinates if Local == TRUE (otherwise, the region reference frame is used).\nOnly works on physical objects. - - llSetForceAndTorque - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Force - - type - vector - tooltip - Directional force. - - - - Torque - - type - vector - tooltip - Torque force. - - - - Local - - type - integer - tooltip - Boolean, if TRUE uses local axis, if FALSE uses region axis. - - - - tooltip - Sets the Force and Torque of object, in object-local coordinates if Local == TRUE (otherwise, the region reference frame is used).\nOnly works on physical objects. - - llSetHoverHeight - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Height - - type - float - tooltip - Distance above the ground. - - - - Water - - type - integer - tooltip - Boolean, if TRUE then hover above water too. - - - - Tau - - type - float - tooltip - Seconds to critically damp in. - - - - tooltip - Critically damps a physical object to a Height (either above ground level or above the higher of land and water if water == TRUE).\nDo not use with vehicles. Use llStopHover to stop hovering. - - llSetInventoryPermMask - - god-mode - true - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - InventoryItem - - type - string - tooltip - An item in the prim's inventory - - - - PermissionFlag - - type - integer - tooltip - MASK_* flag - - - - PermissionMask - - type - integer - tooltip - Permission bit-field (PERM_* flags) - - - - tooltip - Sets the given permission mask to the new value on the inventory item. - - llSetKeyframedMotion - - energy - 0.0 - sleep - 0.0 - return - void - arguments - - - Keyframes - - type - list - tooltip - Strided keyframe list of the form: position, orientation, time. Each keyframe is interpreted relative to the previous transform of the object. - - - - Options - - type - list - tooltip - - - - - tooltip - Requests that a non-physical object be key-framed according to key-frame list.\nSpecify a list of times, positions, and orientations to be followed by an object. The object will be smoothly moved between key-frames by the simulator. Collisions with other non-physical or key-framed objects will be ignored (no script events will fire and collision processing will not occur). Collisions with physical objects will be computed and reported, but the key-framed object will be unaffected by those collisions.\nKeyframes is a strided list containing positional, rotational, and time data for each step in the motion. Options is a list containing optional arguments and parameters (specified by KFM_* constants). - - llSetLinkAlpha - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - LinkNumber - - type - integer - tooltip - - - - - Opacity - - type - float - tooltip - - - - - Face - - type - integer - tooltip - - - - - tooltip - If a prim exists in the link chain at LinkNumber, set Face to Opacity.\nSets the Face, on the linked prim specified, to the Opacity. - - llSetLinkCamera - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - LinkNumber - - type - integer - tooltip - Prim link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag - - - - EyeOffset - - type - vector - tooltip - Offset, relative to the object's centre and expressed in local coordinates, that the camera looks from. - - - - LookOffset - - type - vector - tooltip - Offset, relative to the object's centre and expressed in local coordinates, that the camera looks toward. - - - - tooltip - Sets the camera eye offset, and the offset that camera is looking at, for avatars that sit on the linked prim. - - llSetLinkColor - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. - - - - Color - - type - vector - tooltip - Color in RGB <R.R, G.G, B.B> - - - - Face - - type - integer - tooltip - Side number or ALL_SIDES. - - - - tooltip - If a task exists in the link chain at LinkNumber, set the Face to color.\nSets the color of the linked child's side, specified by LinkNumber. - - llSetLinkMedia - - energy - 0.0 - sleep - 0.0 - return - integer - arguments - - - Link - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims). - - - - Face - - type - integer - tooltip - Face number. - - - - Parameters - - type - list - tooltip - A set of name/value pairs (in no particular order) - - - - tooltip - Set the media parameters for a particular face on linked prim, specified by Link. Returns an integer that is a STATUS_* flag which details the success/failure of the operation(s).\nMediaParameters is a set of name/value pairs in no particular order. Parameters not specified are unchanged, or if new media is added then set to the default specified. - - llSetLinkPrimitiveParams - - energy - 10.0 - sleep - 0.2 - return - void - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag - - - - Parameters - - type - list - tooltip - - - - - tooltip - Set primitive parameters for LinkNumber based on Parameters.\nSets the parameters (or properties) of any linked prim in one step. - - llSetLinkPrimitiveParamsFast - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag - - - - Parameters - - type - list - tooltip - - - - - tooltip - Set primitive parameters for LinkNumber based on Parameters, without a delay.\nSet parameters for link number, from the list of Parameters, with no built-in script sleep. This function is identical to llSetLinkPrimitiveParams, except without the delay. - - llSetLinkTexture - - energy - 10.0 - sleep - 0.2 - return - void - arguments - - - LinkNumber - - type - integer - tooltip - - - - - Texture - - type - string - tooltip - - - - - Face - - type - integer - tooltip - - - - - tooltip - Sets the Texture of Face on a linked prim, specified by LinkNumber. Texture may be a UUID or name of a texture in prim inventory. - - llSetLinkTextureAnim - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag to effect - - - - Mode - - type - integer - tooltip - Bitmask of animation options. - - - - Face - - type - integer - tooltip - Specifies which object face to animate or ALL_SIDES. - - - - SizeX - - type - integer - tooltip - Horizontal frames (ignored for ROTATE and SCALE). - - - - SizeY - - type - integer - tooltip - Vertical frames (ignored for ROTATE and SCALE). - - - - Start - - type - float - tooltip - Start position/frame number (or radians for ROTATE). - - - - Length - - type - float - tooltip - Specifies the animation duration, in frames (or radians for ROTATE). - - - - Rate - - type - float - tooltip - Specifies the animation playback rate, in frames per second (must be greater than zero). - - - - tooltip - Animates a texture on the prim specified by LinkNumber, by setting the texture scale and offset.\nMode is a bitmask of animation options.\nFace specifies which object face to animate.\nSizeX and SizeY specify the number of horizontal and vertical frames.Start specifes the animation start point.\nLength specifies the animation duration.\nRate specifies the animation playback rate. - - llSetLocalRot - - energy - 10.0 - sleep - 0.2 - return - void - arguments - - - Rotation - - type - rotation - tooltip - - - - - tooltip - Sets the rotation of a child prim relative to the root prim. - - llSetMemoryLimit - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Limit - - type - integer - tooltip - The amount to reserve, which must be less than the allowed maximum (currently 64KB) and not already have been exceeded. - - - - tooltip - Requests Limit bytes to be reserved for this script.\nReturns TRUE or FALSE indicating whether the limit was set successfully.\nThis function has no effect if the script is running in the LSO VM. - - llSetObjectDesc - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Description - - type - string - tooltip - - - - - tooltip - Sets the description of the prim to Description.\nThe description field is limited to 127 characters. - - llSetObjectName - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Name - - type - string - tooltip - - - - - tooltip - Sets the prim's name to Name. - - llSetObjectPermMask - - god-mode - true - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - PermissionFlag - - type - integer - tooltip - MASK_* flag - - - - PermissionMask - - type - integer - tooltip - Permission bit-field (PERM_* flags) - - - - tooltip - Sets the specified PermissionFlag permission to the value specified by PermissionMask on the object the script is attached to. - - llSetParcelMusicURL - - energy - 10.0 - sleep - 2.0 - return - void - arguments - - - URL - - type - string - tooltip - - - - - tooltip - Sets the streaming audio URL for the parcel the object is on.\nThe object must be owned by the owner of the parcel; if the parcel is group owned the object must be owned by that group. - - llSetPayPrice - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Price - - type - integer - tooltip - The default price shown in the textu input field. - - - - QuickButtons - - type - list - tooltip - Specifies the 4 payment values shown in the payment dialog's buttons (or PAY_HIDE). - - - - tooltip - Sets the default amount when someone chooses to pay this object.\nPrice is the default price shown in the textu input field. QuickButtons specifies the 4 payment values shown in the payment dialog's buttons.\nInput field and buttons may be hidden with PAY_HIDE constant, and may be set to their default values using PAY_DEFAULT. - - llSetPhysicsMaterial - - energy - 0.0 - sleep - 0.0 - return - void - arguments - - - MaterialBits - - type - integer - tooltip - A bitmask specifying which of the parameters in the other arguments should be applied to the object. - - - - GravityMultiplier - - type - float - tooltip - - - - - Restitution - - type - float - tooltip - - - - - Friction - - type - float - tooltip - - - - - Density - - type - float - tooltip - - - - - tooltip - Sets the selected parameters of the object's physics behavior.\nMaterialBits is a bitmask specifying which of the parameters in the other arguments should be applied to the object. GravityMultiplier, Restitution, Friction, and Density are the possible parameters to manipulate. - - llSetPos - - energy - 10.0 - sleep - 0.2 - return - void - arguments - - - Position - - type - vector - tooltip - Region coordinates to move to (within 10m). - - - - tooltip - If the object is not physical, this function sets the position of the prim.\nIf the script is in a child prim, Position is treated as root relative and the link-set is adjusted.\nIf the prim is the root prim, the entire object is moved (up to 10m) to Position in region coordinates. - - llSetPrimitiveParams - - energy - 10.0 - sleep - 0.2 - return - void - arguments - - - Parameters - - type - list - tooltip - A list of changes. - - - - tooltip - This function changes the many properties (or "parameters") of a prim in one operation. Parameters is a list of changes. - - llSetPrimMediaParams - - energy - 10.0 - sleep - 1.0 - return - integer - arguments - - - Face - - type - integer - tooltip - Face number - - - - MediaParameters - - type - list - tooltip - A set of name/value pairs (in no particular order) - - - - tooltip - Sets the MediaParameters for a particular Face on the prim. Returns an integer that is a STATUS_* flag which details the success/failure of the operation(s).\nMediaParameters is a set of name/value pairs in no particular order. Parameters not specified are unchanged, or if new media is added then set to the default specified. - - llSetPrimURL - - deprecated - true - energy - 10.0 - sleep - 20.0 - return - void - arguments - - - URL - - type - string - tooltip - - - - - tooltip - Deprecated: Use llSetPrimMediaParams instead. - - llSetRegionPos - - energy - 0.0 - sleep - 0.0 - return - integer - arguments - - - Position - - type - vector - tooltip - Vector. The location to move to, in region coordinates. - - - - tooltip - Attempts to move the object so that the root prim is within 0.1m of Position.\nReturns an integer boolean, TRUE if the object is successfully placed within 0.1 m of Position, FALSE otherwise.\nPosition may be any location within the region or up to 10m across a region border.\nIf the position is below ground, it will be set to the ground level at that x,y location. - - llSetRemoteScriptAccessPin - - energy - 10.0 - sleep - 0.2 - return - void - arguments - - - PIN - - type - integer - tooltip - - - - - tooltip - If PIN is set to a non-zero number, the task will accept remote script loads via llRemoteLoadScriptPin() if it passes in the correct PIN. Othersise, llRemoteLoadScriptPin() is ignored. - - llSetRot - - energy - 10.0 - sleep - 0.2 - return - void - arguments - - - Rotation - - type - rotation - tooltip - - - - - tooltip - If the object is not physical, this function sets the rotation of the prim.\nIf the script is in a child prim, Rotation is treated as root relative and the link-set is adjusted.\nIf the prim is the root prim, the entire object is rotated to Rotation in the global reference frame. - - llSetScale - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Scale - - type - vector - tooltip - - - - - tooltip - Sets the prim's scale (size) to Scale. - - llSetScriptState - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ScriptName - - type - string - tooltip - - - - - Running - - type - integer - tooltip - - - - - tooltip - Enable or disable the script Running state of Script in the prim. - - llSetSitText - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Text - - type - string - tooltip - - - - - tooltip - Displays Text rather than 'Sit' in the viewer's context menu. - - llSetSoundQueueing - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - QueueEnable - - type - integer - tooltip - Boolean, sound queuing: TRUE enables, FALSE disables (default). - - - - tooltip - Sets whether successive calls to llPlaySound, llLoopSound, etc., (attached sounds) interrupt the currently playing sound.\nThe default for objects is FALSE. Setting this value to TRUE will make the sound wait until the current playing sound reaches its end. The queue is one level deep. - - llSetSoundRadius - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Radius - - type - float - tooltip - Maximum distance that sounds can be heard. - - - - tooltip - Limits radius for audibility of scripted sounds (both attached and triggered) to distance Radius. - - llSetStatus - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Status - - type - integer - tooltip - - - - - Value - - type - integer - tooltip - - - - - tooltip - Sets object status specified in Status bitmask (e.g. STATUS_PHYSICS|STATUS_PHANTOM) to boolean Value.\nFor a full list of STATUS_* constants, see wiki documentation. - - llSetText - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Text - - type - string - tooltip - - - - - Color - - type - vector - tooltip - - - - - Opacity - - type - float - tooltip - - - - - tooltip - Causes Text to float above the prim, using the specified Color and Opacity. - - llSetTexture - - energy - 10.0 - sleep - 0.2 - return - void - arguments - - - Texture - - type - string - tooltip - - - - - Face - - type - integer - tooltip - - - - - tooltip - Applies Texture to Face of prim.\nTexture may be a UUID or name of a texture in prim inventory.\nIf Face is ALL_SIDES, set the texture on all faces. - - llSetTextureAnim - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Mode - - type - integer - tooltip - Mask of Mode flags. - - - - Face - - type - integer - tooltip - Face number or ALL_SIDES. - - - - SizeX - - type - integer - tooltip - Horizontal frames (ignored for ROTATE and SCALE). - - - - SizeY - - type - integer - tooltip - Vertical frames (ignored for ROTATE and SCALE). - - - - Start - - type - float - tooltip - Start position/frame number (or radians for ROTATE). - - - - Length - - type - float - tooltip - number of frames to display (or radians for ROTATE). - - - - Rate - - type - float - tooltip - Frames per second (must not greater than zero). - - - - tooltip - Animates a texture by setting the texture scale and offset.\nMode is a bitmask of animation options.\nFace specifies which object face to animate.\nSizeX and SizeY specify the number of horizontal and vertical frames.Start specifes the animation start point.\nLength specifies the animation duration.\nRate specifies the animation playback rate. - - llSetTimerEvent - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Rate - - type - float - tooltip - - - - - tooltip - Causes the timer event to be triggered every Rate seconds.\n Passing in 0.0 stops further timer events. - - llSetTorque - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Torque - - type - vector - tooltip - Torque force. - - - - Local - - type - integer - tooltip - Boolean, if TRUE uses local axis, if FALSE uses region axis. - - - - tooltip - Sets the Torque acting on the script's object, in object-local coordinates if Local == TRUE (otherwise, the region reference frame is used).\nOnly works on physical objects. - - llSetTouchText - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Text - - type - string - tooltip - - - - - tooltip - Displays Text in the viewer context menu that acts on a touch. - - llSetVehicleFlags - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Flags - - type - integer - tooltip - - - - - tooltip - Enables the vehicle flags specified in the Flags bitmask.\nValid parameters can be found in the wiki documentation. - - llSetVehicleFloatParam - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ParameterName - - type - integer - tooltip - - - - - ParameterValue - - type - float - tooltip - - - - - tooltip - Sets a vehicle float parameter.\nValid parameters can be found in the wiki documentation. - - llSetVehicleRotationParam - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ParameterName - - type - integer - tooltip - - - - - ParameterValue - - type - rotation - tooltip - - - - - tooltip - Sets a vehicle rotation parameter.\nValid parameters can be found in the wiki documentation. - - llSetVehicleType - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Type - - type - integer - tooltip - - - - - tooltip - Activates the vehicle action on the object with vehicle preset Type.\nValid Types and an explanation of their characteristics can be found in wiki documentation. - - llSetVehicleVectorParam - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ParameterName - - type - integer - tooltip - - - - - ParameterValue - - type - vector - tooltip - - - - - tooltip - Sets a vehicle vector parameter.\nValid parameters can be found in the wiki documentation. - - llSetVelocity - - energy - 0.0 - sleep - 0.0 - return - void - arguments - - - Velocity - - type - vector - tooltip - The velocity to apply. - - - - Local - - type - integer - tooltip - If TRUE, the Velocity is treated as a local directional vector instead of a regional directional vector. - - - - tooltip - If the object is physics-enabled, sets the object's linear velocity to Velocity.\nIf Local==TRUE, Velocity is treated as a local directional vector; otherwise, Velocity is treated as a global directional vector. - - llSHA1String - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Text - - type - string - tooltip - - - - - tooltip - Returns a string of 40 hex characters that is the SHA1 security Hash of Text. - - llShout - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Channel - - type - integer - tooltip - - - - - Text - - type - string - tooltip - - - - - tooltip - Shouts Text on Channel.\nThis chat method has a range of 100m radius.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. - - llSin - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Theta - - type - float - tooltip - - - - - tooltip - Returns the sine of Theta (Theta in radians). - - llSitTarget - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Offset - - type - vector - tooltip - - - - - Rotation - - type - rotation - tooltip - - - - - tooltip - Set the sit location for this object. If offset == ZERO_VECTOR, clears the sit target. - - llSleep - - energy - 0 - sleep - 0.0 - return - void - arguments - - - Time - - type - float - tooltip - - - - - tooltip - Put script to sleep for Time seconds. - - llSound - - deprecated - true - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Sound - - type - string - tooltip - - - - - Volume - - type - float - tooltip - - - - - Queue - - type - integer - tooltip - - - - - Loop - - type - integer - tooltip - - - - - tooltip - Deprecated: Use llPlaySound instead.\nPlays Sound at Volume and specifies whether the sound should loop and/or be enqueued. - - llSoundPreload - - deprecated - true - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Sound - - type - string - tooltip - - - - - tooltip - Deprecated: Use llPreloadSound instead.\nPreloads a sound on viewers within range. - - llSqrt - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Value - - type - float - tooltip - - - - - tooltip - Returns the square root of Value.\nTriggers a math runtime error for imaginary results (if Value < 0.0). - - llStartAnimation - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Animation - - type - string - tooltip - - - - - tooltip - This function plays the specified animation from playing on the avatar who received the script's most recent permissions request.\nAnimation may be an animation in task inventory or a built-in animation.\nRequires PERMISSION_TRIGGER_ANIMATION. - - llStopAnimation - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Animation - - type - string - tooltip - - - - - tooltip - This function stops the specified animation on the avatar who received the script's most recent permissions request.\nAnimation may be an animation in task inventory, a built-in animation, or the uuid of an animation.\nRequires PERMISSION_TRIGGER_ANIMATION. - - llStopHover - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - Stop hovering to a height (due to llSetHoverHeight()). - - llStopLookAt - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - Stop causing object to point at a target (due to llLookAt() or llRotLookAt()). - - llStopMoveToTarget - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - Stops critically damped motion (due to llMoveToTarget()). - - llStopSound - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - Stops playback of the currently attached sound. - - llStringLength - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Text - - type - string - tooltip - - - - - tooltip - Returns an integer that is the number of characters in Text (not counting the null). - - llStringToBase64 - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Text - - type - string - tooltip - - - - - tooltip - Returns the string Base64 representation of the input string. - - llStringTrim - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Text - - type - string - tooltip - String to trim - - - - TrimType - - type - integer - tooltip - STRING_TRIM_HEAD, STRING_TRIM_TAIL, or STRING_TRIM. - - - - tooltip - Outputs a string, eliminating white-space from the start and/or end of the input string Text.\nValid options for TrimType:\nSTRING_TRIM_HEAD: trim all leading spaces in Text\nSTRING_TRIM_TAIL: trim all trailing spaces in Text\nSTRING_TRIM: trim all leading and trailing spaces in Text. - - llSubStringIndex - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Text - - type - string - tooltip - - - - - Sequence - - type - string - tooltip - - - - - tooltip - Returns an integer that is the index in Text where string pattern Sequence first appears. Returns -1 if not found. - - llTakeCamera - - deprecated - true - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Deprecated: Use llSetCameraParams instead. - - llTakeControls - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Controls - - type - integer - tooltip - Bit-field of CONTROL_* flags. - - - - Accept - - type - integer - tooltip - Boolean, determines whether control events are generated. - - - - PassOn - - type - integer - tooltip - Boolean, determines whether controls are disabled. - - - - tooltip - Take controls from the agent the script has permissions for.\nIf (Accept == (Controls & input)), send input to the script. PassOn determines whether Controls also perform their normal functions.\nRequires the PERMISSION_TAKE_CONTROLS permission to run. - - llTan - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Theta - - type - float - tooltip - - - - - tooltip - Returns the tangent of Theta (Theta in radians). - - llTarget - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Position - - type - vector - tooltip - - - - - Range - - type - float - tooltip - - - - - tooltip - This function is to have the script know when it has reached a position.\nIt registers a Position with a Range that triggers at_target and not_at_target events continuously until unregistered. - - llTargetOmega - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Axis - - type - vector - tooltip - - - - - SpinRate - - type - float - tooltip - - - - - Gain - - type - float - tooltip - - - - - tooltip - Attempt to spin at SpinRate with strength Gain on Axis.\nA spin rate of 0.0 cancels the spin. This function always works in object-local coordinates. - - llTargetRemove - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Target - - type - integer - tooltip - - - - - tooltip - Removes positional target Handle registered with llTarget. - - llTeleportAgent - - energy - 0 - sleep - 0 - return - void - arguments - - - AvatarID - - type - key - tooltip - UUID of avatar. - - - - LandmarkName - - type - string - tooltip - Name of landmark (in object contents), or empty string, to use. - - - - Position - - type - vector - tooltip - If no landmark was provided, the position within the current region to teleport the avatar to. - - - - LookAtPoint - - type - vector - tooltip - The position within the target region that the avatar should be turned to face upon arrival. - - - - tooltip - Requests a teleport of avatar to a landmark stored in the object's inventory. If no landmark is provided (an empty string), the avatar is teleported to the location position in the current region. In either case, the avatar is turned to face the position given by look_at in local coordinates.\nRequires the PERMISSION_TELEPORT permission. This function can only teleport the owner of the object. - - llTeleportAgentGlobalCoords - - energy - 0 - sleep - 0 - return - void - arguments - - - AvatarID - - type - key - tooltip - UUID of avatar. - - - - GlobalPosition - - type - vector - tooltip - Global coordinates of the destination region. Can be retrieved by using llRequestSimulatorData(region_name, DATA_SIM_POS). - - - - RegionPosition - - type - vector - tooltip - The position within the target region to teleport the avatar to, if no landmark was provided. - - - - LookAtPoint - - type - vector - tooltip - The position within the target region that the avatar should be turned to face upon arrival. - - - - tooltip - Teleports an agent to the RegionPosition local coordinates within a region which is specified by the GlobalPosition global coordinates. The agent lands facing the position defined by LookAtPoint local coordinates.\nRequires the PERMISSION_TELEPORT permission. This function can only teleport the owner of the object. - - llTeleportAgentHome - - energy - 100.0 - sleep - 5.0 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Teleport agent over the owner's land to agent's home location. - - llTextBox - - energy - 10.0 - sleep - 1.0 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - Text - - type - string - tooltip - - - - - Channel - - type - integer - tooltip - - - - - tooltip - Opens a dialog for the specified avatar with message Text, which contains a text box for input. Any text that is entered is said on the specified Channel (as if by the avatar) when the "OK" button is clicked. - - llToLower - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Text - - type - string - tooltip - - - - - tooltip - Returns a string that is Text with all lower-case characters. - - llToUpper - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Text - - type - string - tooltip - - - - - tooltip - Returns a string that is Text with all upper-case characters. - - llTransferLindenDollars - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - AvatarID - - type - key - tooltip - - - - - Amount - - type - integer - tooltip - - - - - tooltip - Transfer Amount of linden dollars (L$) from script owner to AvatarID. Returns a key to a corresponding transaction_result event for the success of the transfer.\nAttempts to send the amount of money to the specified avatar, and trigger a transaction_result event identified by the returned key. - - llTriggerSound - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Sound - - type - string - tooltip - - - - - Volume - - type - float - tooltip - - - - - tooltip - Plays Sound at Volume (0.0 - 1.0), centered at but not attached to object.\nThere is no limit to the number of triggered sounds which can be generated by an object, and calling llTriggerSound does not affect the attached sounds created by llPlaySound and llLoopSound. This is very useful for things like collision noises, explosions, etc. There is no way to stop or alter the volume of a sound triggered by this function. - - llTriggerSoundLimited - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Sound - - type - string - tooltip - - - - - Volume - - type - float - tooltip - - - - - TNE - - type - vector - tooltip - - - - - BSW - - type - vector - tooltip - - - - - tooltip - Plays Sound at Volume (0.0 - 1.0), centered at but not attached to object, limited to axis-aligned bounding box defined by vectors top-north-east (TNE) and bottom-south-west (BSW).\nThere is no limit to the number of triggered sounds which can be generated by an object, and calling llTriggerSound does not affect the attached sounds created by llPlaySound and llLoopSound. This is very useful for things like collision noises, explosions, etc. There is no way to stop or alter the volume of a sound triggered by this function. - - llUnescapeURL - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - URL - - type - string - tooltip - - - - - tooltip - Returns the string that is the URL unescaped, replacing "%20" with spaces, etc., version of URL.\nThis function can output raw UTF-8 strings. - - llUnSit - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - If agent identified by AvatarID is sitting on the object the script is attached to or is over land owned by the objects owner, the agent is forced to stand up. - - llVecDist - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Location1 - - type - vector - tooltip - - - - - Location2 - - type - vector - tooltip - - - - - tooltip - Returns the distance between Location1 and Location2. - - llVecMag - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Vector - - type - vector - tooltip - - - - - tooltip - Returns the magnitude of the vector. - - llVecNorm - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Vector - - type - vector - tooltip - - - - - tooltip - Returns normalized vector. - - llVolumeDetect - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - DetectEnabled - - type - integer - tooltip - TRUE enables, FALSE disables. - - - - tooltip - If DetectEnabled = TRUE, object becomes phantom but triggers collision_start and collision_end events when other objects start and stop interpenetrating.\nIf another object (including avatars) interpenetrates it, it will get a collision_start event.\nWhen an object stops interpenetrating, a collision_end event is generated. While the other is inter-penetrating, collision events are NOT generated. - - llWater - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Offset - - type - vector - tooltip - - - - - tooltip - Returns the water height below the object position + Offset. - - llWhisper - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Channel - - type - integer - tooltip - - - - - Text - - type - string - tooltip - - - - - tooltip - Whispers Text on Channel.\nThis chat method has a range of 10m radius.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. - - llWind - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Offset - - type - vector - tooltip - - - - - tooltip - Returns the wind velocity at the object position + Offset. - - llXorBase64 - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Text1 - - type - string - tooltip - - - - - Text2 - - type - string - tooltip - - - - - tooltip - Performs an exclusive OR on two Base64 strings and returns a Base64 string. Text2 repeats if it is shorter than Text1. - - llXorBase64Strings - - deprecated - true - energy - 10.0 - sleep - 0.3 - return - string - arguments - - - Text1 - - type - string - tooltip - - - - - Text2 - - type - string - tooltip - - - - - tooltip - Deprecated: Please use llXorBase64 instead.\nIncorrectly performs an exclusive OR on two Base64 strings and returns a Base64 string. Text2 repeats if it is shorter than Text1.\nRetained for backwards compatibility. - - llXorBase64StringsCorrect - - deprecated - true - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Text1 - - type - string - tooltip - - - - - Text2 - - type - string - tooltip - - - - - tooltip - Deprecated: Please use llXorBase64 instead.\nCorrectly (unless nulls are present) performs an exclusive OR on two Base64 strings and returns a Base64 string.\nText2 repeats if it is shorter than Text1. - - llGetMinScaleFactor - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns the smallest multiplicative uniform scale factor that can be successfully applied (via llScaleByFactor()) to the object without violating prim size or linkability rules. - - llGetMaxScaleFactor - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns the largest multiplicative uniform scale factor that can be successfully applied (via llScaleByFactor()) to the object without violating prim size or linkability rules. - - osAgentSaveAppearance - - energy - - sleep - - return - key - arguments - - - AvatarID - - type - key - tooltip - - - - - notecard - - type - string - tooltip - - - - - tooltip - Creates a notecard with the specified avatar's current appearance inside the object - - - llsd-lsl-syntax-version - 2 - - -- cgit v1.1 From 2886408a76dfc9b980b04d476768d25229a4c0d5 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 19 Oct 2018 18:35:31 +0100 Subject: autogen LSLSyntax version uuid --- bin/ScriptSyntax.xml | 34331 +++++++++++++++++++++++-------------------------- 1 file changed, 16411 insertions(+), 17920 deletions(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index 00c819d..81d36b7 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,17920 +1,16411 @@ -46f4b671-a05b-4aa6-852d-1edc6db46ca5 - - - <-- controls --> - controls - - do - - tooltip - do / while loop\ndo {\n...\n} while (<condition>); - - else - - tooltip - if / else block\nif (<condition>) {\n...\n[} else [if (<condition>) {\n...]]\n} - - for - - tooltip - for loop\nfor (<initializer>; <condition>; <post-iteration-statement>)\n{ ...\n} - - if - - tooltip - if / else block\nif (<condition>) {\n...\n[} else [if (<condition>) {\n...]]\n} - - jump - - tooltip - jump statement\njump <label> - - return - - tooltip - Leave current event or function.\nreturn [<variable>];\nOptionally pass back a variable's value, from a function. - - state - - tooltip - state <target>\nIf the target state is not the same as the current one, change to the target state. - - while - - tooltip - while loop\nwhile (<condition>) {\n,,,\n} - - - <-- types --> - types - - float - - tooltip - 32 bit floating point value.\nThe range is 1.175494351E-38 to 3.402823466E+38. - - integer - - tooltip - 32 bit integer value.\n−2,147,483,648 and +2,147,483,647 (that is 0x80000000 to 0x7FFFFFFF in hex). - - key - - tooltip - A 128 bit unique identifier (UUID) - - list - - tooltip - A collection of other data types. e.g. [0, 1, 2, 3, 4] or ["Yes", "No", "Perhaps"]. - - rotation - - tooltip - The rotation is a mathematical object called a quaternion (x, y, z, w) - - string - - tooltip - Text data.\nThe editor accepts UTF-8 encoded text. - - vector - - tooltip - A vector is a data type that contains a set of three float values.\nVectors are used to represent colors (RGB), positions, and directions/velocities. - - - <-- constants --> - constants - - ACTIVE - - type - integer - value - 0x2 - tooltip - Objects in world that are running a script or currently physically moving. - - AGENT - - type - integer - value - 0x1 - tooltip - Objects in world that are agents. - - AGENT_ALWAYS_RUN - - type - integer - value - 0x1000 - tooltip - - - AGENT_ATTACHMENTS - - type - integer - value - 0x2 - tooltip - The agent has attachments. - - AGENT_AUTOPILOT - - type - integer - value - 0x2000 - tooltip - - - AGENT_AWAY - - type - integer - value - 0x40 - tooltip - - - AGENT_BUSY - - type - integer - value - 0x800 - tooltip - - - AGENT_BY_LEGACY_NAME - - type - integer - value - 0x1 - tooltip - - - AGENT_BY_USERNAME - - type - integer - value - 0x10 - tooltip - - - AGENT_CROUCHING - - type - integer - value - 0x400 - tooltip - - - AGENT_FLYING - - type - integer - value - 0x1 - tooltip - The agent is flying. - - AGENT_IN_AIR - - type - integer - value - 0x100 - tooltip - - - AGENT_LIST_PARCEL - - type - integer - value - 1 - tooltip - Agents on the same parcel where the script is running. - - AGENT_LIST_PARCEL_OWNER - - type - integer - value - 2 - tooltip - Agents on any parcel in the region where the parcel owner is the same as the owner of the parcel under the scripted object. - - AGENT_LIST_REGION - - type - integer - value - 4 - tooltip - All agents in the region. - - AGENT_LIST_EXCLUDENPC - - type - integer - value - 0x4000000 - tooltip - Exclude NPCs in the region. - - AGENT_MALE - - type - integer - value - 0x40000000 - tooltip - - - AGENT_MOUSELOOK - - type - integer - value - 0x8 - tooltip - - - AGENT_ON_OBJECT - - type - integer - value - 0x20 - tooltip - - - AGENT_SCRIPTED - - type - integer - value - 0x4 - tooltip - The agent has scripted attachments. - - AGENT_SITTING - - type - integer - value - 0x10 - tooltip - - - AGENT_TYPING - - type - integer - value - 0x200 - tooltip - - - AGENT_WALKING - - type - integer - value - 0x80 - tooltip - - - ALL_SIDES - - type - integer - value - -1 - tooltip - - - ANIM_ON - - type - integer - value - 0x1 - tooltip - Texture animation is on. - - ATTACH_AVATAR_CENTER - - type - integer - value - 40 - tooltip - Attach to the avatar's geometric centre. - - ATTACH_BACK - - type - integer - value - 9 - tooltip - Attach to the avatar's back. - - ATTACH_BELLY - - type - integer - value - 28 - tooltip - Attach to the avatar's belly. - - ATTACH_CHEST - - type - integer - value - 1 - tooltip - Attach to the avatar's chest. - - ATTACH_CHIN - - type - integer - value - 12 - tooltip - Attach to the avatar's chin. - - ATTACH_HEAD - - type - integer - value - 2 - tooltip - Attach to the avatar's head. - - ATTACH_HUD_BOTTOM - - type - integer - value - 37 - tooltip - - - ATTACH_HUD_BOTTOM_LEFT - - type - integer - value - 36 - tooltip - - - ATTACH_HUD_BOTTOM_RIGHT - - type - integer - value - 38 - tooltip - - - ATTACH_HUD_CENTER_1 - - type - integer - value - 35 - tooltip - - - ATTACH_HUD_CENTER_2 - - type - integer - value - 31 - tooltip - - - ATTACH_HUD_TOP_CENTER - - type - integer - value - 33 - tooltip - - - ATTACH_HUD_TOP_LEFT - - type - integer - value - 34 - tooltip - - - ATTACH_HUD_TOP_RIGHT - - type - integer - value - 32 - tooltip - - - ATTACH_LEAR - - type - integer - value - 13 - tooltip - Attach to the avatar's left ear. - - ATTACH_LEFT_PEC - - type - integer - value - 29 - tooltip - Attach to the avatar's left pectoral. - - ATTACH_LEYE - - type - integer - value - 15 - tooltip - Attach to the avatar's left eye. - - ATTACH_LFOOT - - type - integer - value - 7 - tooltip - Attach to the avatar's left foot. - - ATTACH_LHAND - - type - integer - value - 5 - tooltip - Attach to the avatar's left hand. - - ATTACH_LHIP - - type - integer - value - 25 - tooltip - Attach to the avatar's left hip. - - ATTACH_LLARM - - type - integer - value - 21 - tooltip - Attach to the avatar's left lower arm. - - ATTACH_LLLEG - - type - integer - value - 27 - tooltip - Attach to the avatar's lower left leg. - - ATTACH_LPEC - - deprecated - true - type - integer - value - 30 - tooltip - Attach to the avatar's right pectoral. (Deprecated, use ATTACH_RIGHT_PEC) - - ATTACH_LSHOULDER - - type - integer - value - 3 - tooltip - Attach to the avatar's left shoulder. - - ATTACH_LUARM - - type - integer - value - 20 - tooltip - Attach to the avatar's left upper arm. - - ATTACH_LULEG - - type - integer - value - 26 - tooltip - Attach to the avatar's lower upper leg. - - ATTACH_MOUTH - - type - integer - value - 11 - tooltip - Attach to the avatar's mouth. - - ATTACH_NECK - - type - integer - value - 39 - tooltip - Attach to the avatar's neck. - - ATTACH_NOSE - - type - integer - value - 17 - tooltip - Attach to the avatar's nose. - - ATTACH_PELVIS - - type - integer - value - 10 - tooltip - Attach to the avatar's pelvis. - - ATTACH_REAR - - type - integer - value - 14 - tooltip - Attach to the avatar's right ear. - - ATTACH_REYE - - type - integer - value - 16 - tooltip - Attach to the avatar's right eye. - - ATTACH_RFOOT - - type - integer - value - 8 - tooltip - Attach to the avatar's right foot. - - ATTACH_RHAND - - type - integer - value - 6 - tooltip - Attach to the avatar's right hand. - - ATTACH_RHIP - - type - integer - value - 22 - tooltip - Attach to the avatar's right hip. - - ATTACH_RIGHT_PEC - - type - integer - value - 30 - tooltip - Attach to the avatar's right pectoral. - - ATTACH_RLARM - - type - integer - value - 19 - tooltip - Attach to the avatar's right lower arm. - - ATTACH_RLLEG - - type - integer - value - 24 - tooltip - Attach to the avatar's right lower leg. - - ATTACH_RPEC - - deprecated - true - type - integer - value - 29 - tooltip - Attach to the avatar's left pectoral. (deprecated, use ATTACH_LEFT_PEC) - - ATTACH_RSHOULDER - - type - integer - value - 4 - tooltip - Attach to the avatar's right shoulder. - - ATTACH_RUARM - - type - integer - value - 18 - tooltip - Attach to the avatar's right upper arm. - - ATTACH_RULEG - - type - integer - value - 23 - tooltip - Attach to the avatar's right upper leg. - - ATTACH_LHAND_RING1 - - type - integer - value - 41 - tooltip - Attach to the avatar's left ring finger. - - ATTACH_RHAND_RING1 - - type - integer - value - 42 - tooltip - Attach to the avatar's right ring finger. - - ATTACH_TAIL_BASE - - type - integer - value - 43 - tooltip - Attach to the avatar's tail base. - - ATTACH_TAIL_TIP - - type - integer - value - 44 - tooltip - Attach to the avatar's tail tip. - - ATTACH_LWING - - type - integer - value - 45 - tooltip - Attach to the avatar's left wing. - - ATTACH_RWING - - type - integer - value - 46 - tooltip - Attach to the avatar's right wing. - - ATTACH_FACE_JAW - - type - integer - value - 47 - tooltip - Attach to the avatar's jaw. - - ATTACH_FACE_LEAR - - type - integer - value - 48 - tooltip - Attach to the avatar's left ear (extended). - - ATTACH_FACE_REAR - - type - integer - value - 49 - tooltip - Attach to the avatar's right ear (extended). - - ATTACH_FACE_LEYE - - type - integer - value - 50 - tooltip - Attach to the avatar's left eye (extended). - - ATTACH_FACE_REYE - - type - integer - value - 51 - tooltip - Attach to the avatar's right eye (extended). - - ATTACH_FACE_TONGUE - - type - integer - value - 52 - tooltip - Attach to the avatar's tongue. - - ATTACH_GROIN - - type - integer - value - 53 - tooltip - Attach to the avatar's groin. - - ATTACH_HIND_LFOOT - - type - integer - value - 54 - tooltip - Attach to the avatar's left hind foot. - - ATTACH_HIND_RFOOT - - type - integer - value - 55 - tooltip - Attach to the avatar's right hind foot. - - CAMERA_ACTIVE - - type - integer - value - 12 - tooltip - - - CAMERA_BEHINDNESS_ANGLE - - type - integer - value - 8 - tooltip - - - CAMERA_BEHINDNESS_LAG - - type - integer - value - 9 - tooltip - - - CAMERA_DISTANCE - - type - integer - value - 7 - tooltip - - - CAMERA_FOCUS - - type - integer - value - 17 - tooltip - - - CAMERA_FOCUS_X - - type - integer - value - 18 - tooltip - - - CAMERA_FOCUS_Y - - type - integer - value - 19 - tooltip - - - CAMERA_FOCUS_Z - - type - integer - value - 19 - tooltip - - - CAMERA_FOCUS_LAG - - type - integer - value - 6 - tooltip - - - CAMERA_FOCUS_LOCKED - - type - integer - value - 22 - tooltip - - - CAMERA_FOCUS_OFFSET - - type - integer - value - 1 - tooltip - - - CAMERA_FOCUS_OFFSET_X - - type - integer - value - 2 - tooltip - - - CAMERA_FOCUS_OFFSET_Y - - type - integer - value - 3 - tooltip - - - CAMERA_FOCUS_OFFSET_Z - - type - integer - value - 4 - tooltip - - - CAMERA_FOCUS_THRESHOLD - - type - integer - value - 11 - tooltip - - - CAMERA_PITCH - - type - integer - value - 0 - tooltip - - - CAMERA_POSITION - - type - integer - value - 13 - tooltip - - - CAMERA_POSITION_X - - type - integer - value - 14 - tooltip - - - CAMERA_POSITION_Y - - type - integer - value - 15 - tooltip - - - CAMERA_POSITION_Z - - type - integer - value - 16 - tooltip - - - CAMERA_POSITION_LAG - - type - integer - value - 5 - tooltip - - - CAMERA_POSITION_LOCKED - - type - integer - value - 21 - tooltip - - - CAMERA_POSITION_THRESHOLD - - type - integer - value - 10 - tooltip - - - CHANGED_ALLOWED_DROP - - type - integer - value - 0x40 - tooltip - The object inventory has changed because an item was added through the llAllowInventoryDrop interface. - - CHANGED_ANIMATION - - type - integer - value - 0x4000 - tooltip - The set of animations playing on the avatar to whom this object is attached has been changed. - - CHANGED_COLOR - - type - integer - value - 0x2 - tooltip - The object color has changed. - - CHANGED_INVENTORY - - type - integer - value - 0x1 - tooltip - The object inventory has changed. - - CHANGED_LINK - - type - integer - value - 0x20 - tooltip - The object has linked or its links were broken. - - CHANGED_MEDIA - - type - integer - value - 0x800 - tooltip - - - CHANGED_OWNER - - type - integer - value - 0x80 - tooltip - - - CHANGED_REGION - - type - integer - value - 0x100 - tooltip - - - CHANGED_REGION_START - - type - integer - value - 0x400 - tooltip - Parameter of changed event handler used to indicate the region has been restarted same as CHANGED_REGION_RESTART. - - CHANGED_REGION_RESTART - - type - integer - value - 0x400 - tooltip - Parameter of changed event handler used to indicate the region has been restarted same as CHANGED_REGION_START. - - CHANGED_SCALE - - type - integer - value - 0x8 - tooltip - The object scale (size) has changed. - - CHANGED_SHAPE - - type - integer - value - 0x4 - tooltip - The object base shape has changed, e.g., a box to a cylinder. - - CHANGED_TELEPORT - - type - integer - value - 0x200 - tooltip - - - CHANGED_TEXTURE - - type - integer - value - 0x10 - tooltip - The texture offset, scale rotation, or simply the object texture has changed. - - CLICK_ACTION_BUY - - type - integer - value - 2 - tooltip - When the prim is clicked, the buy dialog is opened. - - CLICK_ACTION_NONE - - type - integer - value - 0 - tooltip - Performs the default action: when the prim is clicked, touch events are triggered. - - CLICK_ACTION_OPEN - - type - integer - value - 4 - tooltip - When the prim is clicked, the object inventory dialog is opened. - - CLICK_ACTION_OPEN_MEDIA - - type - integer - value - 6 - tooltip - When the prim is touched, the web media dialog is opened. - - CLICK_ACTION_PAY - - type - integer - value - 3 - tooltip - When the prim is clicked, the pay dialog is opened. - - CLICK_ACTION_PLAY - - type - integer - value - 5 - tooltip - When the prim is clicked, html-on-a-prim is enabled? - - CLICK_ACTION_SIT - - type - integer - value - 1 - tooltip - When the prim is clicked, the avatar sits upon it. - - CLICK_ACTION_TOUCH - - type - integer - value - 0 - tooltip - When the prim is clicked, touch events are triggered. - - CONTENT_TYPE_ATOM - - type - integer - value - 4 - tooltip - "application/atom+xml" - - CONTENT_TYPE_FORM - - type - integer - value - 7 - tooltip - "application/x-www-form-urlencoded" - - CONTENT_TYPE_HTML - - type - integer - value - 1 - tooltip - "text/html", only valid for embedded browsers on content owned by the person viewing. Falls back to "text/plain" otherwise. - - CONTENT_TYPE_JSON - - type - integer - value - 5 - tooltip - "application/json" - - CONTENT_TYPE_LLSD - - type - integer - value - 6 - tooltip - "application/llsd+xml" - - CONTENT_TYPE_RSS - - type - integer - value - 8 - tooltip - "application/rss+xml" - - CONTENT_TYPE_TEXT - - type - integer - value - 0 - tooltip - "text/plain" - - CONTENT_TYPE_XHTML - - type - integer - value - 3 - tooltip - "application/xhtml+xml" - - CONTENT_TYPE_XML - - type - integer - value - 2 - tooltip - "application/xml" - - CONTROL_BACK - - type - integer - value - 0x2 - tooltip - Test for the avatar move back control. - - CONTROL_DOWN - - type - integer - value - 0x20 - tooltip - Test for the avatar move down control. - - CONTROL_FWD - - type - integer - value - 0x1 - tooltip - Test for the avatar move forward control. - - CONTROL_LBUTTON - - type - integer - value - 0x10000000 - tooltip - Test for the avatar left button control. - - CONTROL_LEFT - - type - integer - value - 0x4 - tooltip - Test for the avatar move left control. - - CONTROL_ML_LBUTTON - - type - integer - value - 0x40000000 - tooltip - Test for the avatar left button control while in mouse look. - - CONTROL_RIGHT - - type - integer - value - 0x8 - tooltip - Test for the avatar move right control. - - CONTROL_ROT_LEFT - - type - integer - value - 0x100 - tooltip - Test for the avatar rotate left control. - - CONTROL_ROT_RIGHT - - type - integer - value - 0x200 - tooltip - Test for the avatar rotate right control. - - CONTROL_UP - - type - integer - value - 0x10 - tooltip - Test for the avatar move up control. - - DATA_BORN - - type - integer - value - 3 - tooltip - The date the agent was born, returned in ISO 8601 format of YYYY-MM-DD. - - DATA_NAME - - type - integer - value - 2 - tooltip - The name of the agent. - - DATA_ONLINE - - type - integer - value - 1 - tooltip - TRUE for online, FALSE for offline. - - DATA_PAYINFO - - type - integer - value - 8 - tooltip - - - DATA_SIM_POS - - type - integer - value - 5 - tooltip - - - DATA_SIM_RATING - - type - integer - value - 7 - tooltip - - - DATA_SIM_STATUS - - type - integer - value - 6 - tooltip - - - DEBUG_CHANNEL - - type - integer - value - 2147483647 - tooltip - DEBUG_CHANNEL is an integer constant that, when passed to llSay, llWhisper, or llShout as a channel parameter, will print text to the Script Warning/Error Window. - - DEG_TO_RAD - - type - float - value - 0.017453293 - tooltip - 0.017453293 - Number of radians per degree. - You can use this to convert degrees to radians by multiplying the degrees by this number. - - DENSITY - - type - integer - value - 1 - tooltip - Used with llSetPhysicsMaterial to enable the density value. Must be between 1.0 and 22587.0 (in Kg/m^3 -- see if you can figure out what 22587 represents) - - EOF - - type - string - value - \\n\\n\\n - tooltip - Indicates the last line of a notecard was read. - - ERR_GENERIC - - type - integer - value - -1 - tooltip - - - ERR_MALFORMED_PARAMS - - type - integer - value - -3 - tooltip - - - ERR_PARCEL_PERMISSIONS - - type - integer - value - -2 - tooltip - - - ERR_RUNTIME_PERMISSIONS - - type - integer - value - -4 - tooltip - - - ERR_THROTTLED - - type - integer - value - -5 - tooltip - - - ESTATE_ACCESS_ALLOWED_AGENT_ADD - - type - integer - value - 4 - tooltip - Add the agent to this estate's Allowed Residents list. - - ESTATE_ACCESS_ALLOWED_AGENT_REMOVE - - type - integer - value - 8 - tooltip - Remove the agent from this estate's Allowed Residents list. - - ESTATE_ACCESS_ALLOWED_GROUP_ADD - - type - integer - value - 16 - tooltip - Add the group to this estate's Allowed groups list. - - ESTATE_ACCESS_ALLOWED_GROUP_REMOVE - - type - integer - value - 32 - tooltip - Remove the group from this estate's Allowed groups list. - - ESTATE_ACCESS_BANNED_AGENT_ADD - - type - integer - value - 64 - tooltip - Add the agent to this estate's Banned residents list. - - ESTATE_ACCESS_BANNED_AGENT_REMOVE - - type - integer - value - 128 - tooltip - Remove the agent from this estate's Banned residents list. - - FALSE - - type - integer - value - 0 - tooltip - An integer constant for boolean comparisons. Has the value '0'. - - FRICTION - - type - integer - value - 2 - tooltip - Used with llSetPhysicsMaterial to enable the friction value. Must be between 0.0 and 255.0 - - GRAVITY_MULTIPLIER - - type - integer - value - 8 - tooltip - Used with llSetPhysicsMaterial to enable the gravity multiplier value. Must be between -1.0 and +28.0 - - HORIZONTAL - - type - integer - value - 1 - tooltip - - - HTTP_BODY_MAXLENGTH - - type - integer - value - 2 - tooltip - - - HTTP_BODY_TRUNCATED - - type - integer - value - 0 - tooltip - - - HTTP_CUSTOM_HEADER - - type - integer - value - 5 - tooltip - Add an extra custom HTTP header to the request. The first string is the name of the parameter to change, e.g. "Pragma", and the second string is the value, e.g. "no-cache". Up to 8 custom headers may be configured per request. Note that certain headers, such as the default headers, are blocked for security reasons. - - HTTP_METHOD - - type - integer - value - 0 - tooltip - - - HTTP_MIMETYPE - - type - integer - value - 1 - tooltip - - - HTTP_PRAGMA_NO_CACHE - - type - integer - value - 6 - tooltip - Allows enabling/disbling of the "Pragma: no-cache" header.\nUsage: [HTTP_PRAGMA_NO_CACHE, integer SendHeader]. When SendHeader is TRUE, the "Pragma: no-cache" header is sent by the script. This matches the default behavior. When SendHeader is FALSE, no "Pragma" header is sent by the script. - - HTTP_VERBOSE_THROTTLE - - type - integer - value - 4 - tooltip - - - HTTP_VERIFY_CERT - - type - integer - value - 3 - tooltip - - - INVENTORY_ALL - - type - integer - value - -1 - tooltip - - - INVENTORY_ANIMATION - - type - integer - value - 20 - tooltip - - - INVENTORY_BODYPART - - type - integer - value - 13 - tooltip - - - INVENTORY_CLOTHING - - type - integer - value - 5 - tooltip - - - INVENTORY_GESTURE - - type - integer - value - 21 - tooltip - - - INVENTORY_LANDMARK - - type - integer - value - 3 - tooltip - - - INVENTORY_NONE - - type - integer - value - -1 - tooltip - - - INVENTORY_NOTECARD - - type - integer - value - 7 - tooltip - - - INVENTORY_OBJECT - - type - integer - value - 6 - tooltip - - - INVENTORY_SCRIPT - - type - integer - value - 10 - tooltip - - - INVENTORY_SOUND - - type - integer - value - 1 - tooltip - - - INVENTORY_TEXTURE - - type - integer - value - 0 - tooltip - - - JSON_APPEND - - type - integer - value - -1 - tooltip - - - JSON_ARRAY - - type - string - value - U+FDD2 - tooltip - - - JSON_DELETE - - type - string - value - U+FDD8 - tooltip - - - JSON_FALSE - - type - string - value - U+FDD7 - tooltip - - - JSON_INVALID - - type - string - value - U+FDD0 - tooltip - - - JSON_NULL - - type - string - value - U+FDD5 - tooltip - - - JSON_NUMBER - - type - string - value - U+FDD3 - tooltip - - - JSON_OBJECT - - type - string - value - U+FDD1 - tooltip - - - JSON_STRING - - type - string - value - U+FDD4 - tooltip - - - JSON_TRUE - - type - string - value - U+FDD6 - tooltip - - - KFM_CMD_PAUSE - - type - integer - value - 2 - tooltip - For use with KFM_COMMAND. - - KFM_CMD_PLAY - - type - integer - value - 0 - tooltip - For use with KFM_COMMAND. - - KFM_CMD_STOP - - type - integer - value - 1 - tooltip - For use with KFM_COMMAND. - - KFM_COMMAND - - type - integer - value - 0 - tooltip - - - KFM_DATA - - type - integer - value - 2 - tooltip - - - KFM_FORWARD - - type - integer - value - 0 - tooltip - For use with KFM_MODE. - - KFM_LOOP - - type - integer - value - 1 - tooltip - For use with KFM_MODE. - - KFM_MODE - - type - integer - value - 1 - tooltip - - - KFM_PING_PONG - - type - integer - value - 2 - tooltip - For use with KFM_MODE. - - KFM_REVERSE - - type - integer - value - 3 - tooltip - For use with KFM_MODE. - - KFM_ROTATION - - type - integer - value - 1 - tooltip - For use with KFM_DATA. - - KFM_TRANSLATION - - type - integer - value - 2 - tooltip - For use with KFM_DATA. - - LAND_LARGE_BRUSH - - type - integer - value - 3 - tooltip - Use a large brush size.\nNOTE: This value is incorrect, a large brush should be 2. - - LAND_LEVEL - - type - integer - value - 0 - tooltip - Action to level the land. - - LAND_LOWER - - type - integer - value - 2 - tooltip - Action to lower the land. - - LAND_MEDIUM_BRUSH - - type - integer - value - 2 - tooltip - Use a medium brush size.\nNOTE: This value is incorrect, a medium brush should be 1. - - LAND_NOISE - - type - integer - value - 4 - tooltip - - - LAND_RAISE - - type - integer - value - 1 - tooltip - Action to raise the land. - - LAND_REVERT - - type - integer - value - 5 - tooltip - - - LAND_SMALL_BRUSH - - type - integer - value - 1 - tooltip - Use a small brush size.\nNOTE: This value is incorrect, a small brush should be 0. - - LAND_SMOOTH - - type - integer - value - 3 - tooltip - - - LINK_ALL_CHILDREN - - type - integer - value - -3 - tooltip - This targets every object except the root in the linked set. - - LINK_ALL_OTHERS - - type - integer - value - -2 - tooltip - This targets every object in the linked set except the object with the script. - - LINK_ROOT - - type - integer - value - 1 - tooltip - This targets the root of the linked set. - - LINK_SET - - type - integer - value - -1 - tooltip - This targets every object in the linked set. - - LINK_THIS - - type - integer - value - -4 - tooltip - The link number of the prim containing the script. - - LIST_STAT_GEOMETRIC_MEAN - - type - integer - value - 9 - tooltip - Returns the geometric mean of a list of numbers - - LIST_STAT_HARMONIC_MEAN - - type - integer - value - 100 - tooltip - Returns the harmonic mean of a list of numbers - - LIST_STAT_MAX - - type - integer - value - 2 - tooltip - - - LIST_STAT_MEAN - - type - integer - value - 3 - tooltip - - - LIST_STAT_MEDIAN - - type - integer - value - 4 - tooltip - - - LIST_STAT_MIN - - type - integer - value - 1 - tooltip - - - LIST_STAT_NUM_COUNT - - type - integer - value - 8 - tooltip - - - LIST_STAT_RANGE - - type - integer - value - 0 - tooltip - - - LIST_STAT_STD_DEV - - type - integer - value - 5 - tooltip - - - LIST_STAT_SUM - - type - integer - value - 6 - tooltip - - - LIST_STAT_SUM_SQUARES - - type - integer - value - 7 - tooltip - - - LOOP - - type - integer - value - 0x2 - tooltip - Loop the texture animation. - - MASK_BASE - - type - integer - value - 0 - tooltip - - - MASK_EVERYONE - - type - integer - value - 3 - tooltip - - - MASK_GROUP - - type - integer - value - 2 - tooltip - - - MASK_NEXT - - type - integer - value - 4 - tooltip - - - MASK_OWNER - - type - integer - value - 1 - tooltip - - - NPC - - type - integer - value - 0x20 - tooltip - - - NULL_KEY - - type - string - value - 00000000-0000-0000-0000-000000000000 - tooltip - - - OBJECT_ATTACHED_POINT - - type - integer - value - 19 - tooltip - Gets the attachment point to which the object is attached.\nReturns 0 if the object is not an attachment (or is an avatar, etc). - - OBJECT_BODY_SHAPE_TYPE - - type - integer - value - 26 - tooltip - This is a flag used with llGetObjectDetails to get the body type of the avatar, based on shape data.\nIf no data is available, -1.0 is returned.\nThis is normally between 0 and 1.0, with 0.5 and larger considered 'male' - - OBJECT_CLICK_ACTION - - type - integer - value - 28 - tooltip - This is a flag used with llGetObjectDetails to get the click action.\nThe default is 0 - - OBJECT_CREATOR - - type - integer - value - 8 - tooltip - Gets the object's creator key. If id is an avatar, a NULL_KEY is returned. - - OBJECT_DESC - - type - integer - value - 2 - tooltip - Gets the object's description. If id is an avatar, an empty string is returned. - - OBJECT_GROUP - - type - integer - value - 7 - tooltip - Gets the prims's group key. If id is an avatar, a NULL_KEY is returned. - - OBJECT_HOVER_HEIGHT - - type - integer - value - 25 - tooltip - This is a flag used with llGetObjectDetails to get hover height of the avatar\nIf no data is available, 0.0 is returned. - - OBJECT_LAST_OWNER_ID - - type - integer - value - 27 - tooltip - Gets the object's last owner ID. - - OBJECT_NAME - - type - integer - value - 1 - tooltip - Gets the object's name. - - OBJECT_OMEGA - - type - integer - value - 29 - tooltip - Gets an object's angular velocity. - - OBJECT_OWNER - - type - integer - value - 6 - tooltip - Gets an object's owner's key. If id is group owned, a NULL_KEY is returned. - - OBJECT_PRIM_COUNT - - type - integer - value - 30 - tooltip - Gets the prim count of the object. The script and target object must be owned by the same owner - - OBJECT_PHANTOM - - type - integer - value - 22 - tooltip - Returns boolean, detailing if phantom is enabled or disabled on the object.\nIf id is an avatar or attachment, 0 is returned. - - OBJECT_PHYSICS - - type - integer - value - 21 - tooltip - Returns boolean, detailing if physics is enabled or disabled on the object.\nIf id is an avatar or attachment, 0 is returned. - - OBJECT_PHYSICS_COST - - type - integer - value - 16 - tooltip - - - OBJECT_POS - - type - integer - value - 3 - tooltip - Gets the object's position in region coordinates. - - OBJECT_PRIM_EQUIVALENCE - - type - integer - value - 13 - tooltip - - - OBJECT_RENDER_WEIGHT - - type - integer - value - 24 - tooltip - This is a flag used with llGetObjectDetails to get the Avatar_Rendering_Cost of an avatar, based on values reported by nearby viewers.\nIf no data is available, -1 is returned.\nThe maximum render weight stored by the simulator is 500000. When called against an object, 0 is returned. - - OBJECT_RETURN_PARCEL - - type - integer - value - 1 - tooltip - - - OBJECT_RETURN_PARCEL_OWNER - - type - integer - value - 2 - tooltip - - - OBJECT_RETURN_REGION - - type - integer - value - 4 - tooltip - - - OBJECT_REZZER_KEY - - type - integer - value - 32 - tooltip - - - OBJECT_ROOT - - type - integer - value - 18 - tooltip - Gets the id of the root prim of the object requested.\nIf id is an avatar, return the id of the root prim of the linkset the avatar is sitting on (or the avatar's own id if the avatar is not sitting on an object within the region). - - OBJECT_ROT - - type - integer - value - 4 - tooltip - Gets the object's rotation. - - OBJECT_RUNNING_SCRIPT_COUNT - - type - integer - value - 9 - tooltip - - - OBJECT_SCRIPT_MEMORY - - type - integer - value - 11 - tooltip - - - OBJECT_SCRIPT_TIME - - type - integer - value - 12 - tooltip - - - OBJECT_SERVER_COST - - type - integer - value - 14 - tooltip - - - OBJECT_STREAMING_COST - - type - integer - value - 15 - tooltip - - - OBJECT_TEMP_ON_REZ - - type - integer - value - 23 - tooltip - Returns boolean, detailing if temporary is enabled or disabled on the object. - - OBJECT_TOTAL_INVENTORY_COUNT - - type - integer - value - 31 - tooltip - Gets the total inventory count of the object. The script and target object must be owned by the same owner - - OBJECT_TOTAL_SCRIPT_COUNT - - type - integer - value - 10 - tooltip - - - OBJECT_UNKNOWN_DETAIL - - type - integer - value - -1 - tooltip - - - OBJECT_VELOCITY - - type - integer - value - 5 - tooltip - Gets the object's velocity. - - OS_ATTACH_MSG_ALL - - type - integer - value - -65535 - tooltip - Send the message to attachments on every point. - - OS_ATTACH_MSG_INVERT_POINTS - - type - integer - value - 1 - tooltip - Invert how the attachment points list should be treated. - - OS_ATTACH_MSG_OBJECT_CREATOR - - type - integer - value - 2 - tooltip - Send only to those have the same CreatorID with host object CreatorID. - - OS_LISTEN_REGEX_NAME - - type - integer - value - 0x1 - tooltip - Process name parameter as regex - - OS_LISTEN_REGEX_MESSAGE - - type - integer - value - 0x2 - tooltip - Process message parameter as regex - - OS_ATTACH_MSG_SCRIPT_CREATOR - - type - integer - value - 4 - tooltip - Send only to those have the same CreatorID with sender script CreatorID. - - OS_NPC - - type - integer - value - 0x20 - tooltip - Same as NPC - - OS_NPC_FLY - - type - integer - value - 0 - tooltip - - - OS_NPC_NO_FLY - - type - integer - value - 1 - tooltip - - - OS_NPC_LAND_AT_TARGET - - type - integer - value - 2 - tooltip - - - OS_NPC_SIT_NOW - - type - integer - value - 0 - tooltip - - - OS_NPC_CREATOR_OWNED - - type - integer - value - 0x1 - tooltip - - - OS_NPC_NOT_OWNED - - type - integer - value - 0x2 - tooltip - - - OS_NPC_SENSE_AS_AGENT - - type - integer - value - 0x4 - tooltip - - - OS_NPC_OBJECT_GROUP - - type - integer - value - 0x8 - tooltip - - - OS_NPC_RUNNING - - type - integer - value - 4 - tooltip - - - OSTPOBJ_NONE - - type - integer - value - 0x0 - tooltip - osTeleportObject flag - - OSTPOBJ_STOPATTARRGET - - type - integer - value - 0x1 - tooltip - osTeleportObject flag: object is stopped at destination - - OSTPOBJ_STOPONFAIL - - type - integer - value - 0x2 - tooltip - osTeleportObject flag: object stops at start point if tp fails - - OSTPOBJ_SETROT - - type - integer - value - 0x2 - tooltip - osTeleportObject flag: the rotation is the final object rotation, otherwise is a added rotation - - PARCEL_COUNT_GROUP - - type - integer - value - 2 - tooltip - - - PARCEL_COUNT_OTHER - - type - integer - value - 3 - tooltip - - - PARCEL_COUNT_OWNER - - type - integer - value - 1 - tooltip - - - PARCEL_COUNT_SELECTED - - type - integer - value - 4 - tooltip - - - PARCEL_COUNT_TEMP - - type - integer - value - 5 - tooltip - - - PARCEL_COUNT_TOTAL - - type - integer - value - 0 - tooltip - - - PARCEL_DETAILS_AREA - - type - integer - value - 4 - tooltip - The parcel's area, in square meters. (5 chars.). - - PARCEL_DETAILS_CLAIMDATE - - type - integer - value - 10 - tooltip - Set parcel claim date. - - PARCEL_DETAILS_DESC - - type - integer - value - 1 - tooltip - The description of the parcel. (127 chars). - - PARCEL_DETAILS_GROUP - - type - integer - value - 3 - tooltip - The parcel group's key. (36 chars.). - - PARCEL_DETAILS_ID - - type - integer - value - 5 - tooltip - The parcel's key. (36 chars.). - - PARCEL_DETAILS_NAME - - type - integer - value - 0 - tooltip - The name of the parcel. (63 chars.). - - PARCEL_DETAILS_OWNER - - type - integer - value - 2 - tooltip - The parcel owner's key. (36 chars.). - - PARCEL_DETAILS_SEE_AVATARS - - type - integer - value - 6 - tooltip - The parcel's avatar visibility setting. (1 char.). - - PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY - - type - integer - value - 0x08000000 - tooltip - - - PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS - - type - integer - value - 0x4000000 - tooltip - - - PARCEL_FLAG_ALLOW_CREATE_OBJECTS - - type - integer - value - 0x40 - tooltip - - - PARCEL_FLAG_ALLOW_DAMAGE - - type - integer - value - 0x20 - tooltip - - - PARCEL_FLAG_ALLOW_FLY - - type - integer - value - 0x1 - tooltip - - - PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY - - type - integer - value - 0x10000000 - tooltip - - - PARCEL_FLAG_ALLOW_GROUP_SCRIPTS - - type - integer - value - 0x2000000 - tooltip - - - PARCEL_FLAG_ALLOW_LANDMARK - - type - integer - value - 0x8 - tooltip - - - PARCEL_FLAG_ALLOW_SCRIPTS - - type - integer - value - 0x2 - tooltip - - - PARCEL_FLAG_ALLOW_TERRAFORM - - type - integer - value - 0x10 - tooltip - - - PARCEL_FLAG_LOCAL_SOUND_ONLY - - type - integer - value - 0x8000 - tooltip - - - PARCEL_FLAG_RESTRICT_PUSHOBJECT - - type - integer - value - 0x200000 - tooltip - - - PARCEL_FLAG_USE_ACCESS_GROUP - - type - integer - value - 0x100 - tooltip - - - PARCEL_FLAG_USE_ACCESS_LIST - - type - integer - value - 0x200 - tooltip - - - PARCEL_FLAG_USE_BAN_LIST - - type - integer - value - 0x400 - tooltip - - - PARCEL_FLAG_USE_LAND_PASS_LIST - - type - integer - value - 0x800 - tooltip - - - PARCEL_MEDIA_COMMAND_AGENT - - type - integer - value - 7 - tooltip - - - PARCEL_MEDIA_COMMAND_AUTO_ALIGN - - type - integer - value - 9 - tooltip - - - PARCEL_MEDIA_COMMAND_DESC - - type - integer - value - 12 - tooltip - Use this to get or set the parcel media description. - - PARCEL_MEDIA_COMMAND_LOOP - - type - integer - value - 3 - tooltip - - - PARCEL_MEDIA_COMMAND_LOOP_SET - - type - integer - value - 13 - tooltip - Used to get or set the parcel's media looping variable. - - PARCEL_MEDIA_COMMAND_PAUSE - - type - integer - value - 1 - tooltip - - - PARCEL_MEDIA_COMMAND_PLAY - - type - integer - value - 2 - tooltip - - - PARCEL_MEDIA_COMMAND_SIZE - - type - integer - value - 11 - tooltip - Use this to get or set the parcel media pixel resolution. - - PARCEL_MEDIA_COMMAND_STOP - - type - integer - value - 0 - tooltip - - - PARCEL_MEDIA_COMMAND_TEXTURE - - type - integer - value - 4 - tooltip - - - PARCEL_MEDIA_COMMAND_TIME - - type - integer - value - 6 - tooltip - - - PARCEL_MEDIA_COMMAND_TYPE - - type - integer - value - 10 - tooltip - Use this to get or set the parcel media MIME type (e.g. "text/html"). - - PARCEL_MEDIA_COMMAND_UNLOAD - - type - integer - value - 8 - tooltip - - - PARCEL_MEDIA_COMMAND_URL - - type - integer - value - 5 - tooltip - - - PASS_ALWAYS - - type - integer - value - 1 - tooltip - Always pass the event. - - PASS_NEVER - - type - integer - value - 2 - tooltip - Always pass the event. - - PASS_IF_NOT_HANDLED - - type - integer - value - 0 - tooltip - Pass the event if there is no script handling the event in the prim. - - PASSIVE - - type - integer - value - 0x4 - tooltip - Static in-world objects. - - PATROL_PAUSE_AT_WAYPOINTS - - type - integer - value - 0 - tooltip - - - PAY_DEFAULT - - type - integer - value - -2 - tooltip - - - PAY_HIDE - - type - integer - value - -1 - tooltip - - - PAYMENT_INFO_ON_FILE - - type - integer - value - 1 - tooltip - - - PAYMENT_INFO_USED - - type - integer - value - 2 - tooltip - - - PERM_ALL - - type - integer - value - 0x7FFFFFFF - tooltip - - - PERM_COPY - - type - integer - value - 0x8000 - tooltip - - - PERM_MODIFY - - type - integer - value - 0x4000 - tooltip - - - PERM_MOVE - - type - integer - value - 0x80000 - tooltip - - - PERM_TRANSFER - - type - integer - value - 0x2000 - tooltip - - - PERMISSION_ATTACH - - type - integer - value - 0x20 - tooltip - If this permission is enabled, the object can successfully call llAttachToAvatar to attach to the given avatar. - - PERMISSION_CHANGE_LINKS - - type - integer - value - 0x80 - tooltip - If this permission is enabled, the object can successfully call llCreateLink, llBreakLink, and llBreakAllLinks to change links to other objects. - - PERMISSION_CHANGE_PERMISSIONS - - type - integer - value - 0x200 - tooltip - (not yet implemented) - - PERMISSION_CONTROL_CAMERA - - type - integer - value - 0x800 - tooltip - - - PERMISSION_DEBIT - - type - integer - value - 0x2 - tooltip - If this permission is enabled, the object can successfully call llGiveMoney or llTransferLindenDollars to debit the owners account. - - PERMISSION_OVERRIDE_ANIMATIONS - - type - integer - value - 0x8000 - tooltip - Permission to override default animations. - - PERMISSION_RELEASE_OWNERSHIP - - type - integer - value - 0x40 - tooltip - (not yet implemented) - - PERMISSION_REMAP_CONTROLS - - type - integer - value - 0x8 - tooltip - (not yet implemented) - - PERMISSION_RETURN_OBJECTS - - type - integer - value - 65536 - tooltip - - - PERMISSION_SILENT_ESTATE_MANAGEMENT - - type - integer - value - 0x4000 - tooltip - A script with this permission does not notify the object owner when it modifies estate access rules via llManageEstateAccess. - - PERMISSION_TAKE_CONTROLS - - type - integer - value - 0x4 - tooltip - If this permission enabled, the object can successfully call the llTakeControls libray call. - - PERMISSION_TELEPORT - - type - integer - value - 0x1000 - tooltip - - - PERMISSION_TRACK_CAMERA - - type - integer - value - 0x400 - tooltip - - - PERMISSION_TRIGGER_ANIMATION - - type - integer - value - 0x10 - tooltip - If this permission is enabled, the object can successfully call llStartAnimation for the avatar that owns this. - - PI - - type - float - value - 3.14159265 - tooltip - 3.14159265 - The number of radians in a semi-circle. - - PI_BY_TWO - - type - float - value - 1.57079633 - tooltip - 1.57079633 - The number of radians in a quarter circle. - - PING_PONG - - type - integer - value - 0x8 - tooltip - Play animation going forwards, then backwards. - - PRIM_ALPHA_MODE - - type - integer - value - 38 - tooltip - Prim parameter for materials using integer face, integer alpha_mode, integer alpha_cutoff.\nDefines how the alpha channel of the diffuse texture should be rendered.\nValid options for alpha_mode are PRIM_ALPHA_MODE_BLEND, _NONE, _MASK, and _EMISSIVE.\nalpha_cutoff is used only for PRIM_ALPHA_MODE_MASK. - - PRIM_ALPHA_MODE_NONE - - type - integer - value - 0 - tooltip - Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be ignored. - - PRIM_ALPHA_MODE_BLEND - - type - integer - value - 1 - tooltip - Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be rendered as alpha-blended. - - PRIM_ALPHA_MODE_MASK - - type - integer - value - 2 - tooltip - Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be rendered as fully opaque for alpha values above alpha_cutoff and fully transparent otherwise. - - PRIM_ALPHA_MODE_EMISSIVE - - type - integer - value - 3 - tooltip - Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be rendered as an emissivity mask. - - PRIM_BUMP_BARK - - type - integer - value - 4 - tooltip - - - PRIM_BUMP_BLOBS - - type - integer - value - 12 - tooltip - - - PRIM_BUMP_BRICKS - - type - integer - value - 5 - tooltip - - - PRIM_BUMP_BRIGHT - - type - integer - value - 1 - tooltip - - - PRIM_BUMP_CHECKER - - type - integer - value - 6 - tooltip - - - PRIM_BUMP_CONCRETE - - type - integer - value - 7 - tooltip - - - PRIM_BUMP_DARK - - type - integer - value - 2 - tooltip - - - PRIM_BUMP_DISKS - - type - integer - value - 10 - tooltip - - - PRIM_BUMP_GRAVEL - - type - integer - value - 11 - tooltip - - - PRIM_BUMP_LARGETILE - - type - integer - value - 14 - tooltip - - - PRIM_BUMP_NONE - - type - integer - value - 0 - tooltip - - - PRIM_BUMP_SHINY - - type - integer - value - 19 - tooltip - - - PRIM_BUMP_SIDING - - type - integer - value - 13 - tooltip - - - PRIM_BUMP_STONE - - type - integer - value - 9 - tooltip - - - PRIM_BUMP_STUCCO - - type - integer - value - 15 - tooltip - - - PRIM_BUMP_SUCTION - - type - integer - value - 16 - tooltip - - - PRIM_BUMP_TILE - - type - integer - value - 8 - tooltip - - - PRIM_BUMP_WEAVE - - type - integer - value - 17 - tooltip - - - PRIM_BUMP_WOOD - - type - integer - value - 3 - tooltip - - - PRIM_CAST_SHADOWS - - deprecated - true - type - integer - value - 24 - tooltip - - - PRIM_COLOR - - type - integer - value - 18 - tooltip - - - PRIM_DESC - - type - integer - value - 28 - tooltip - - - PRIM_FLEXIBLE - - type - integer - value - 21 - tooltip - - - PRIM_FULLBRIGHT - - type - integer - value - 20 - tooltip - - - PRIM_GLOW - - type - integer - value - 25 - tooltip - PRIM_GLOW is used to get or set the glow status of the face. - - PRIM_HOLE_CIRCLE - - type - integer - value - 0x10 - tooltip - - - PRIM_HOLE_DEFAULT - - type - integer - value - 0x00 - tooltip - - - PRIM_HOLE_SQUARE - - type - integer - value - 0x20 - tooltip - - - PRIM_HOLE_TRIANGLE - - type - integer - value - 0x30 - tooltip - - - PRIM_LINK_TARGET - - type - integer - value - 34 - tooltip - - - PRIM_MATERIAL - - type - integer - value - 2 - tooltip - - - PRIM_MATERIAL_FLESH - - type - integer - value - 4 - tooltip - - - PRIM_MATERIAL_GLASS - - type - integer - value - 2 - tooltip - - - PRIM_MATERIAL_LIGHT - - type - integer - value - 7 - tooltip - - - PRIM_MATERIAL_METAL - - type - integer - value - 1 - tooltip - - - PRIM_MATERIAL_PLASTIC - - type - integer - value - 5 - tooltip - - - PRIM_MATERIAL_RUBBER - - type - integer - value - 6 - tooltip - - - PRIM_MATERIAL_STONE - - type - integer - value - 0 - tooltip - - - PRIM_MATERIAL_WOOD - - type - integer - value - 3 - tooltip - - - PRIM_MEDIA_ALT_IMAGE_ENABLE - - type - integer - value - 0 - tooltip - Boolean. Gets/Sets the default image state (the image that the user sees before a piece of media is active) for the chosen face. The default image is specified by Second Life's server for that media type. - - PRIM_MEDIA_AUTO_LOOP - - type - integer - value - 4 - tooltip - Boolean. Gets/Sets whether auto-looping is enabled. - - PRIM_MEDIA_AUTO_PLAY - - type - integer - value - 5 - tooltip - Boolean. Gets/Sets whether the media auto-plays when a Resident can view it. - - PRIM_MEDIA_AUTO_SCALE - - type - integer - value - 6 - tooltip - Boolean. Gets/Sets whether auto-scaling is enabled. Auto-scaling forces the media to the full size of the texture. - - PRIM_MEDIA_AUTO_ZOOM - - type - integer - value - 7 - tooltip - Boolean. Gets/Sets whether clicking the media triggers auto-zoom and auto-focus on the media. - - PRIM_MEDIA_CONTROLS - - type - integer - value - 1 - tooltip - Integer. Gets/Sets the style of controls. Can be either PRIM_MEDIA_CONTROLS_STANDARD or PRIM_MEDIA_CONTROLS_MINI. - - PRIM_MEDIA_CONTROLS_MINI - - type - integer - value - 1 - tooltip - Mini web navigation controls; does not include an address bar. - - PRIM_MEDIA_CONTROLS_STANDARD - - type - integer - value - 0 - tooltip - Standard web navigation controls. - - PRIM_MEDIA_CURRENT_URL - - type - integer - value - 2 - tooltip - String. Gets/Sets the current url displayed on the chosen face. Changing this URL causes navigation. 1024 characters Maximum. - - PRIM_MEDIA_FIRST_CLICK_INTERACT - - type - integer - value - 8 - tooltip - Boolean. Gets/Sets whether the first click interaction is enabled. - - PRIM_MEDIA_HEIGHT_PIXELS - - type - integer - value - 10 - tooltip - Integer. Gets/Sets the height of the media in pixels. - - PRIM_MEDIA_HOME_URL - - type - integer - value - 3 - tooltip - String. Gets/Sets the home URL for the chosen face. 1024 characters maximum. - - PRIM_MEDIA_MAX_HEIGHT_PIXELS - - type - integer - value - 2048 - tooltip - - - PRIM_MEDIA_MAX_URL_LENGTH - - type - integer - value - 1024 - tooltip - - - PRIM_MEDIA_MAX_WHITELIST_COUNT - - type - integer - value - 64 - tooltip - - - PRIM_MEDIA_MAX_WHITELIST_SIZE - - type - integer - value - 1024 - tooltip - - - PRIM_MEDIA_MAX_WIDTH_PIXELS - - type - integer - value - 2048 - tooltip - - - PRIM_MEDIA_PARAM_MAX - - type - integer - value - 14 - tooltip - - - PRIM_MEDIA_PERM_ANYONE - - type - integer - value - 4 - tooltip - - - PRIM_MEDIA_PERM_GROUP - - type - integer - value - 2 - tooltip - - - PRIM_MEDIA_PERM_NONE - - type - integer - value - 0 - tooltip - - - PRIM_MEDIA_PERM_OWNER - - type - integer - value - 1 - tooltip - - - PRIM_MEDIA_PERMS_CONTROL - - type - integer - value - 14 - tooltip - Integer. Gets/Sets the permissions mask that control who can see the media control bar above the object:: PRIM_MEDIA_PERM_ANYONE, PRIM_MEDIA_PERM_GROUP, PRIM_MEDIA_PERM_NONE, PRIM_MEDIA_PERM_OWNER - - PRIM_MEDIA_PERMS_INTERACT - - type - integer - value - 13 - tooltip - Integer. Gets/Sets the permissions mask that control who can interact with the object: PRIM_MEDIA_PERM_ANYONE, PRIM_MEDIA_PERM_GROUP, PRIM_MEDIA_PERM_NONE, PRIM_MEDIA_PERM_OWNER - - PRIM_MEDIA_WHITELIST - - type - integer - value - 12 - tooltip - String. Gets/Sets the white-list as a string of escaped, comma-separated URLs. This string can hold up to 64 URLs or 1024 characters, whichever comes first. - - PRIM_MEDIA_WHITELIST_ENABLE - - type - integer - value - 11 - tooltip - Boolean. Gets/Sets whether navigation is restricted to URLs in PRIM_MEDIA_WHITELIST. - - PRIM_MEDIA_WIDTH_PIXELS - - type - integer - value - 9 - tooltip - Integer. Gets/Sets the width of the media in pixels. - - PRIM_NAME - - type - integer - value - 27 - tooltip - - - PRIM_NORMAL - - type - integer - value - 37 - tooltip - Prim parameter for materials using integer face, string texture, vector repeats, vector offsets, float rotation_in_radians - - PRIM_OMEGA - - type - integer - value - 32 - tooltip - - - PRIM_PHANTOM - - type - integer - value - 5 - tooltip - - - PRIM_PHYSICS - - type - integer - value - 3 - tooltip - - - PRIM_PHYSICS_SHAPE_CONVEX - - type - integer - value - 2 - tooltip - Use the convex hull of the prim shape for physics (this is the default for mesh objects). - - PRIM_PHYSICS_SHAPE_NONE - - type - integer - value - 1 - tooltip - Ignore this prim in the physics shape. NB: This cannot be applied to the root prim. - - PRIM_PHYSICS_SHAPE_PRIM - - type - integer - value - 0 - tooltip - Use the normal prim shape for physics (this is the default for all non-mesh objects). - - PRIM_PHYSICS_SHAPE_TYPE - - type - integer - value - 30 - tooltip - Allows you to set the physics shape type of a prim via lsl. Permitted values are: - PRIM_PHYSICS_SHAPE_NONE, PRIM_PHYSICS_SHAPE_PRIM, PRIM_PHYSICS_SHAPE_CONVEX - - PRIM_POINT_LIGHT - - type - integer - value - 23 - tooltip - - - PRIM_POS_LOCAL - - type - integer - value - 33 - tooltip - - - PRIM_POSITION - - type - integer - value - 6 - tooltip - - - PRIM_ROT_LOCAL - - type - integer - value - 29 - tooltip - - - PRIM_ROTATION - - type - integer - value - 8 - tooltip - - - PRIM_SCULPT_FLAG_INVERT - - type - integer - value - 64 - tooltip - Render inside out (inverts the normals). - - PRIM_SCULPT_FLAG_MIRROR - - type - integer - value - 128 - tooltip - Render an X axis mirror of the sculpty. - - PRIM_SCULPT_TYPE_CYLINDER - - type - integer - value - 4 - tooltip - - - PRIM_SCULPT_TYPE_MASK - - type - integer - value - 7 - tooltip - - - PRIM_SCULPT_TYPE_PLANE - - type - integer - value - 3 - tooltip - - - PRIM_SCULPT_TYPE_SPHERE - - type - integer - value - 1 - tooltip - - - PRIM_SCULPT_TYPE_TORUS - - type - integer - value - 2 - tooltip - - - PRIM_SHINY_HIGH - - type - integer - value - 3 - tooltip - - - PRIM_SHINY_LOW - - type - integer - value - 1 - tooltip - - - PRIM_SHINY_MEDIUM - - type - integer - value - 2 - tooltip - - - PRIM_SHINY_NONE - - type - integer - value - 0 - tooltip - - - PRIM_SIZE - - type - integer - value - 7 - tooltip - - - PRIM_SLICE - - type - integer - value - 35 - tooltip - - - PRIM_SPECULAR - - type - integer - value - 36 - tooltip - Prim parameter for materials using integer face, string texture, vector repeats, vector offsets, float rotation_in_radians, vector color, integer glossy, integer environment - - PRIM_TEMP_ON_REZ - - type - integer - value - 4 - tooltip - - - PRIM_TEXGEN - - type - integer - value - 22 - tooltip - - - PRIM_TEXGEN_DEFAULT - - type - integer - value - 0 - tooltip - - - PRIM_TEXGEN_PLANAR - - type - integer - value - 1 - tooltip - - - PRIM_TEXT - - type - integer - value - 26 - tooltip - - - PRIM_TEXTURE - - type - integer - value - 17 - tooltip - - - PRIM_TYPE - - type - integer - value - 9 - tooltip - - - PRIM_TYPE_BOX - - type - integer - value - 0 - tooltip - - - PRIM_TYPE_CYLINDER - - type - integer - value - 1 - tooltip - - - PRIM_TYPE_PRISM - - type - integer - value - 2 - tooltip - - - PRIM_TYPE_RING - - type - integer - value - 6 - tooltip - - - PRIM_TYPE_SCULPT - - type - integer - value - 7 - tooltip - - - PRIM_TYPE_SPHERE - - type - integer - value - 3 - tooltip - - - PRIM_TYPE_TORUS - - type - integer - value - 4 - tooltip - - - PRIM_TYPE_TUBE - - type - integer - value - 5 - tooltip - - - PROFILE_NONE - - type - integer - value - 0 - tooltip - Disables profiling - - PROFILE_SCRIPT_MEMORY - - type - integer - value - 1 - tooltip - Enables memory profiling - - PSYS_PART_BF_DEST_COLOR - - type - integer - value - 2 - tooltip - - - PSYS_PART_BF_ONE - - type - integer - value - 0 - tooltip - - - PSYS_PART_BF_ONE_MINUS_DEST_COLOR - - type - integer - value - 4 - tooltip - - - PSYS_PART_BF_ONE_MINUS_SOURCE_COLOR - - type - integer - value - 5 - tooltip - - - PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA - - type - integer - value - 9 - tooltip - - - PSYS_PART_BF_SOURCE_ALPHA - - type - integer - value - 7 - tooltip - - - PSYS_PART_BF_SOURCE_COLOR - - type - integer - value - 3 - tooltip - - - PSYS_PART_BF_ZERO - - type - integer - value - 1 - tooltip - - - PSYS_PART_BLEND_FUNC_DEST - - type - integer - value - 25 - tooltip - - - PSYS_PART_BLEND_FUNC_SOURCE - - type - integer - value - 24 - tooltip - - - PSYS_PART_BOUNCE_MASK - - type - integer - value - 0x4 - tooltip - Particles bounce off of a plane at the objects Z height. - - PSYS_PART_EMISSIVE_MASK - - type - integer - value - 0x100 - tooltip - The particle glows. - - PSYS_PART_END_ALPHA - - type - integer - value - 4 - tooltip - A float which determines the ending alpha of the object. - - PSYS_PART_END_COLOR - - type - integer - value - 3 - tooltip - A vector <r, g, b> which determines the ending color of the object. - - PSYS_PART_END_GLOW - - type - integer - value - 27 - tooltip - - - PSYS_PART_END_SCALE - - type - integer - value - 6 - tooltip - A vector <sx, sy, z>, which is the ending size of the particle billboard in meters (z is ignored). - - PSYS_PART_FLAGS - - type - integer - value - 0 - tooltip - Each particle that is emitted by the particle system is simulated based on the following flags. To use multiple flags, bitwise or (|) them together. - - PSYS_PART_FOLLOW_SRC_MASK - - type - integer - value - 0x10 - tooltip - The particle position is relative to the source objects position. - - PSYS_PART_FOLLOW_VELOCITY_MASK - - type - integer - value - 0x20 - tooltip - The particle orientation is rotated so the vertical axis faces towards the particle velocity. - - PSYS_PART_INTERP_COLOR_MASK - - type - integer - value - 0x1 - tooltip - Interpolate both the color and alpha from the start value to the end value. - - PSYS_PART_INTERP_SCALE_MASK - - type - integer - value - 0x2 - tooltip - Interpolate the particle scale from the start value to the end value. - - PSYS_PART_MAX_AGE - - type - integer - value - 7 - tooltip - Age in seconds of a particle at which it dies. - - PSYS_PART_RIBBON_MASK - - type - integer - value - 0x400 - tooltip - - - PSYS_PART_START_ALPHA - - type - integer - value - 2 - tooltip - A float which determines the starting alpha of the object. - - PSYS_PART_START_COLOR - - type - integer - value - 1 - tooltip - A vector <r.r, g.g, b.b> which determines the starting color of the object. - - PSYS_PART_START_GLOW - - type - integer - value - 26 - tooltip - - - PSYS_PART_START_SCALE - - type - integer - value - 5 - tooltip - A vector <sx, sy, z>, which is the starting size of the particle billboard in meters (z is ignored). - - PSYS_PART_TARGET_LINEAR_MASK - - type - integer - value - 0x80 - tooltip - - - PSYS_PART_TARGET_POS_MASK - - type - integer - value - 0x40 - tooltip - The particle heads towards the location of the target object as defined by PSYS_SRC_TARGET_KEY. - - PSYS_PART_WIND_MASK - - type - integer - value - 0x8 - tooltip - Particles have their velocity damped towards the wind velocity. - - PSYS_SRC_ACCEL - - type - integer - value - 8 - tooltip - A vector <x, y, z> which is the acceleration to apply on particles. - - PSYS_SRC_ANGLE_BEGIN - - type - integer - value - 22 - tooltip - Area in radians specifying where particles will NOT be created (for ANGLE patterns) - - PSYS_SRC_ANGLE_END - - type - integer - value - 23 - tooltip - Area in radians filled with particles (for ANGLE patterns) (if lower than PSYS_SRC_ANGLE_BEGIN, acts as PSYS_SRC_ANGLE_BEGIN itself, and PSYS_SRC_ANGLE_BEGIN acts as PSYS_SRC_ANGLE_END). - - PSYS_SRC_BURST_PART_COUNT - - type - integer - value - 15 - tooltip - How many particles to release in a burst. - - PSYS_SRC_BURST_RADIUS - - type - integer - value - 16 - tooltip - What distance from the center of the object to create the particles. - - PSYS_SRC_BURST_RATE - - type - integer - value - 13 - tooltip - How often to release a particle burst (float seconds). - - PSYS_SRC_BURST_SPEED_MAX - - type - integer - value - 18 - tooltip - Maximum speed that a particle should be moving. - - PSYS_SRC_BURST_SPEED_MIN - - type - integer - value - 17 - tooltip - Minimum speed that a particle should be moving. - - PSYS_SRC_INNERANGLE - - type - integer - value - 10 - tooltip - Specifies the inner angle of the arc created by the PSYS_SRC_PATTERN_ANGLE or PSYS_SRC_PATTERN_ANGLE_CONE source pattern. - The area specified will NOT have particles in it. - - PSYS_SRC_MAX_AGE - - type - integer - value - 19 - tooltip - How long this particle system should last, 0.0 means forever. - - PSYS_SRC_OMEGA - - type - integer - value - 21 - tooltip - Sets the angular velocity to rotate the axis that SRC_PATTERN_ANGLE and SRC_PATTERN_ANGLE_CONE use. - - PSYS_SRC_OUTERANGLE - - type - integer - value - 11 - tooltip - Specifies the outer angle of the arc created by the PSYS_SRC_PATTERN_ANGLE or PSYS_SRC_PATTERN_ANGLE_CONE source pattern. - The area between the outer and inner angle will be filled with particles. - - PSYS_SRC_PATTERN - - type - integer - value - 9 - tooltip - The pattern which is used to generate particles. - Use one of the following values: PSYS_SRC_PATTERN Values. - - PSYS_SRC_PATTERN_ANGLE - - type - integer - value - 0x04 - tooltip - Shoot particles across a 2 dimensional area defined by the arc created from PSYS_SRC_OUTERANGLE. There will be an open area defined by PSYS_SRC_INNERANGLE within the larger arc. - - PSYS_SRC_PATTERN_ANGLE_CONE - - type - integer - value - 0x08 - tooltip - Shoot particles out in a 3 dimensional cone with an outer arc of PSYS_SRC_OUTERANGLE and an inner open area defined by PSYS_SRC_INNERANGLE. - - PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY - - type - integer - value - 0x10 - tooltip - - - PSYS_SRC_PATTERN_DROP - - type - integer - value - 0x01 - tooltip - Drop particles at the source position. - - PSYS_SRC_PATTERN_EXPLODE - - type - integer - value - 0x02 - tooltip - Shoot particles out in all directions, using the burst parameters. - - PSYS_SRC_TARGET_KEY - - type - integer - value - 20 - tooltip - The key of a target object to move towards if PSYS_PART_TARGET_POS_MASK is enabled. - - PSYS_SRC_TEXTURE - - type - integer - value - 12 - tooltip - An asset name for the texture to use for the particles. - - PUBLIC_CHANNEL - - type - integer - value - 0 - tooltip - PUBLIC_CHANNEL is an integer constant that, when passed to llSay, llWhisper, or llShout as a channel parameter, will print text to the publicly heard chat channel. - - RAD_TO_DEG - - type - float - value - 57.2957795 - tooltip - 57.2957795 - Number of degrees per radian. You can use this number to convert radians to degrees by multiplying the radians by this number. - - RC_DATA_FLAGS - - type - integer - value - 2 - tooltip - - - RC_DETECT_PHANTOM - - type - integer - value - 1 - tooltip - - - RC_GET_LINK_NUM - - type - integer - value - 4 - tooltip - - - RC_GET_NORMAL - - type - integer - value - 1 - tooltip - - - RC_GET_ROOT_KEY - - type - integer - value - 2 - tooltip - - - RC_MAX_HITS - - type - integer - value - 3 - tooltip - - - RC_REJECT_AGENTS - - type - integer - value - 1 - tooltip - - - RC_REJECT_LAND - - type - integer - value - 8 - tooltip - - - RC_REJECT_NONPHYSICAL - - type - integer - value - 4 - tooltip - - - RC_REJECT_PHYSICAL - - type - integer - value - 2 - tooltip - - - RC_REJECT_TYPES - - type - integer - value - 0 - tooltip - - - RCERR_CAST_TIME_EXCEEDED - - type - integer - value - -3 - tooltip - - - RCERR_SIM_PERF_LOW - - type - integer - value - -2 - tooltip - - - RCERR_UNKNOWN - - type - integer - value - -1 - tooltip - - - REGION_FLAG_ALLOW_DAMAGE - - type - integer - value - 0x1 - tooltip - - - REGION_FLAG_ALLOW_DIRECT_TELEPORT - - type - integer - value - 0x100000 - tooltip - - - REGION_FLAG_BLOCK_FLY - - type - integer - value - 0x80000 - tooltip - - - REGION_FLAG_BLOCK_FLYOVER - - type - integer - value - 0x8000000 - tooltip - - - REGION_FLAG_BLOCK_TERRAFORM - - type - integer - value - 0x40 - tooltip - - - REGION_FLAG_DISABLE_COLLISIONS - - type - integer - value - 0x1000 - tooltip - - - REGION_FLAG_DISABLE_PHYSICS - - type - integer - value - 0x4000 - tooltip - - - REGION_FLAG_FIXED_SUN - - type - integer - value - 0x10 - tooltip - - - REGION_FLAG_RESTRICT_PUSHOBJECT - - type - integer - value - 0x400000 - tooltip - - - REGION_FLAG_SANDBOX - - type - integer - value - 0x100 - tooltip - - - REMOTE_DATA_CHANNEL - - type - integer - value - 1 - tooltip - - - REMOTE_DATA_REPLY - - type - integer - value - 3 - tooltip - - - REMOTE_DATA_REQUEST - - type - integer - value - 2 - tooltip - - - REQUIRE_LINE_OF_SIGHT - - type - integer - value - 2 - tooltip - Define whether the character needs a line-of-sight to give chase. - - RESTITUTION - - type - integer - value - 4 - tooltip - Used with llSetPhysicsMaterial to enable the density value. Must be between 0.0 and 1.0 - - REVERSE - - type - integer - value - 0x4 - tooltip - Play animation in reverse direction. - - ROTATE - - type - integer - value - 0x20 - tooltip - Animate texture rotation. - - SCALE - - type - integer - value - 0x40 - tooltip - Animate the texture scale. - - SCRIPTED - - type - integer - value - 0x8 - tooltip - Scripted in-world objects. - - SMOOTH - - type - integer - value - 0x10 - tooltip - Slide in the X direction, instead of playing separate frames. - - SQRT2 - - type - float - value - 1.41421356 - tooltip - 1.41421356 - The square root of 2. - - STATUS_BLOCK_GRAB - - type - integer - value - 0x40 - tooltip - Controls whether the object can be grabbed.\nA grab is the default action when in third person, and is available as the hand tool in build mode. This is useful for physical objects that you don't want other people to be able to trivially disturb. The default is FALSE - - STATS_TIME_DILATION - - type - integer - value - 0 - tooltip - osGetRegionStats Time Dilation - - STATS_SIM_FPS - - type - integer - value - 1 - tooltip - osGetRegionStats Sim FPS - - STATS_PHYSICS_FPS - - type - integer - value - 2 - tooltip - osGetRegionStats Physics FPS - - STATS_AGENT_UPDATES - - type - integer - value - 3 - tooltip - osGetRegionStats Agent Updates/Sec - - STATS_ROOT_AGENTS - - type - integer - value - 4 - tooltip - osGetRegionStats Main Agents - - STATS_CHILD_AGENTS - - type - integer - value - 5 - tooltip - osGetRegionStats Child Agents - - STATS_TOTAL_PRIMS - - type - integer - value - 6 - tooltip - osGetRegionStats Objects - - STATS_ACTIVE_PRIMS - - type - integer - value - 7 - tooltip - osGetRegionStats Active Objects - - STATS_FRAME_MS - - type - integer - value - 8 - tooltip - osGetRegionStats Total Frame Time - - STATS_NET_MS - - type - integer - value - 9 - tooltip - osGetRegionStats Net Time - - STATS_PHYSICS_MS - - type - integer - value - 10 - tooltip - osGetRegionStats Physics Time - - STATS_IMAGE_MS - - type - integer - value - 11 - tooltip - osGetRegionStats Image Time - - STATS_OTHER_MS - - type - integer - value - 12 - tooltip - osGetRegionStats Other Time - - STATS_IN_PACKETS_PER_SECOND - - type - integer - value - 13 - tooltip - osGetRegionStats Packets in - - STATS_OUT_PACKETS_PER_SECOND - - type - integer - value - 14 - tooltip - osGetRegionStats Packets out - - STATS_UNACKED_BYTES - - type - integer - value - 15 - tooltip - osGetRegionStats Total Unacked Bytes - - STATS_AGENT_MS - - type - integer - value - 16 - tooltip - osGetRegionStats Agent Time - - STATS_PENDING_DOWNLOADS - - type - integer - value - 17 - tooltip - osGetRegionStats Pending Downloads - - STATS_PENDING_UPLOADS - - type - integer - value - 18 - tooltip - osGetRegionStats Pending Uploads - - STATS_ACTIVE_SCRIPTS - - type - integer - value - 19 - tooltip - osGetRegionStats Active Scripts - - STATS_SCRIPT_LPS - - type - integer - value - 20 - tooltip - osGetRegionStats Script Line Per Second - - STATUS_BLOCK_GRAB_OBJECT - - type - integer - value - 0x400 - tooltip - Prevent click-and-drag movement on all prims in the object. - - STATUS_BOUNDS_ERROR - - type - integer - value - 1002 - tooltip - Argument(s) passed to function had a bounds error. - - STATUS_CAST_SHADOWS - - type - integer - value - 0x200 - tooltip - - - STATUS_DIE_AT_EDGE - - type - integer - value - 0x80 - tooltip - Controls whether the object is returned to the owners inventory if it wanders off the edge of the world.\nIt is useful to set this status TRUE for things like bullets or rockets. The default is TRUE - - STATUS_INTERNAL_ERROR - - type - integer - value - 1999 - tooltip - An internal error occurred. - - STATUS_MALFORMED_PARAMS - - type - integer - value - 1000 - tooltip - Function was called with malformed parameters. - - STATUS_NOT_FOUND - - type - integer - value - 1003 - tooltip - Object or other item was not found. - - STATUS_NOT_SUPPORTED - - type - integer - value - 1004 - tooltip - Feature not supported. - - STATUS_OK - - type - integer - value - 0 - tooltip - Result of function call was a success. - - STATUS_PHANTOM - - type - integer - value - 0x10 - tooltip - Controls/indicates whether the object collides or not.\nSetting the value to TRUE makes the object non-colliding with all objects. It is a good idea to use this for most objects that move or rotate, but are non-physical. It is also useful for simulating volumetric lighting. The default is FALSE. - - STATUS_PHYSICS - - type - integer - value - 0x1 - tooltip - Controls/indicates whether the object moves physically.\nThis controls the same flag that the UI check-box for Physical controls. The default is FALSE. - - STATUS_RETURN_AT_EDGE - - type - integer - value - 0x100 - tooltip - - - STATUS_ROTATE_X - - type - integer - value - 0x2 - tooltip - - - STATUS_ROTATE_Y - - type - integer - value - 0x4 - tooltip - - - STATUS_ROTATE_Z - - type - integer - value - 0x8 - tooltip - Controls/indicates whether the object can physically rotate around - the specific axis or not. This flag has no meaning - for non-physical objects. Set the value to FALSE - if you want to disable rotation around that axis. The - default is TRUE for a physical object. - A useful example to think about when visualizing - the effect is a sit-and-spin device. They spin around the - Z axis (up) but not around the X or Y axis. - - STATUS_SANDBOX - - type - integer - value - 0x20 - tooltip - Controls/indicates whether the object can cross region boundaries - and move more than 20 meters from its creation - point. The default if FALSE. - - STATUS_TYPE_MISMATCH - - type - integer - value - 1001 - tooltip - Argument(s) passed to function had a type mismatch. - - STATUS_WHITELIST_FAILED - - type - integer - value - 2001 - tooltip - Whitelist Failed. - - STRING_TRIM - - type - integer - value - 0x03 - tooltip - - - STRING_TRIM_HEAD - - type - integer - value - 0x01 - tooltip - - - STRING_TRIM_TAIL - - type - integer - value - 0x02 - tooltip - - - TEXTURE_BLANK - - type - string - value - 5748decc-f629-461c-9a36-a35a221fe21f - tooltip - - - TEXTURE_DEFAULT - - type - string - value - 89556747-24cb-43ed-920b-47caed15465f - tooltip - - - TEXTURE_MEDIA - - type - string - value - 8b5fec65-8d8d-9dc5-cda8-8fdf2716e361 - tooltip - - - TEXTURE_PLYWOOD - - type - string - value - 89556747-24cb-43ed-920b-47caed15465f - tooltip - - - TEXTURE_TRANSPARENT - - type - string - value - 8dcd4a48-2d37-4909-9f78-f7a9eb4ef903 - tooltip - - - TOUCH_INVALID_FACE - - type - integer - value - 0xFFFFFFFF - tooltip - - - TOUCH_INVALID_TEXCOORD - - type - vector - value - <-1.0, -1.0, 0.0> - tooltip - - - TOUCH_INVALID_VECTOR - - type - vector - value - <0.0, 0.0, 0.0> - tooltip - - - TRUE - - type - integer - value - 1 - tooltip - An integer constant for boolean comparisons. Has the value '1'. - - TWO_PI - - type - float - value - 6.28318530 - tooltip - 6.28318530 - The radians of a circle. - - TYPE_FLOAT - - type - integer - value - 2 - tooltip - The list entry is a float. - - TYPE_INTEGER - - type - integer - value - 1 - tooltip - The list entry is an integer. - - TYPE_INVALID - - type - integer - value - 0 - tooltip - The list entry is invalid. - - TYPE_KEY - - type - integer - value - 4 - tooltip - The list entry is a key. - - TYPE_ROTATION - - type - integer - value - 6 - tooltip - The list entry is a rotation. - - TYPE_STRING - - type - integer - value - 3 - tooltip - The list entry is a string. - - TYPE_VECTOR - - type - integer - value - 5 - tooltip - The list entry is a vector. - - URL_REQUEST_DENIED - - type - string - value - URL_REQUEST_DENIED - tooltip - - - URL_REQUEST_GRANTED - - type - string - value - URL_REQUEST_GRANTED - tooltip - - - VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY - - type - integer - value - 32 - tooltip - A slider between minimum (0.0) and maximum (1.0) deflection of angular orientation. That is, its a simple scalar for modulating the strength of angular deflection such that the vehicles preferred axis of motion points toward its real velocity. - - VEHICLE_ANGULAR_DEFLECTION_TIMESCALE - - type - integer - value - 33 - tooltip - The time-scale for exponential success of linear deflection deflection. Its another way to specify the strength of the vehicles tendency to reorient itself so that its preferred axis of motion agrees with its true velocity. - - VEHICLE_ANGULAR_FRICTION_TIMESCALE - - type - integer - value - 17 - tooltip - A vector of timescales for exponential decay of the vehicles angular velocity about its preferred axes of motion (at, left, up). - Range = [0.07, inf) seconds for each element of the vector. - - VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE - - type - integer - value - 35 - tooltip - The timescale for exponential decay of the angular motors magnitude. - - VEHICLE_ANGULAR_MOTOR_DIRECTION - - type - integer - value - 19 - tooltip - The direction and magnitude (in preferred frame) of the vehicles angular motor.The vehicle will accelerate (or decelerate if necessary) to match its velocity to its motor. - - VEHICLE_ANGULAR_MOTOR_TIMESCALE - - type - integer - value - 34 - tooltip - The timescale for exponential approach to full angular motor velocity. - - VEHICLE_BANKING_EFFICIENCY - - type - integer - value - 38 - tooltip - A slider between anti (-1.0), none (0.0), and maxmum (1.0) banking strength. - - VEHICLE_BANKING_MIX - - type - integer - value - 39 - tooltip - A slider between static (0.0) and dynamic (1.0) banking. "Static" means the banking scales only with the angle of roll, whereas "dynamic" is a term that also scales with the vehicles linear speed. - - VEHICLE_BANKING_TIMESCALE - - type - integer - value - 40 - tooltip - The timescale for banking to exponentially approach its maximum effect. This is another way to scale the strength of the banking effect, however it affects the term that is proportional to the difference between what the banking behavior is trying to do, and what the vehicle is actually doing. - - VEHICLE_BUOYANCY - - type - integer - value - 27 - tooltip - A slider between minimum (0.0) and maximum anti-gravity (1.0). - - VEHICLE_FLAG_CAMERA_DECOUPLED - - type - integer - value - 0x200 - tooltip - - - VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT - - type - integer - value - 0x10 - tooltip - Hover at global height. - - VEHICLE_FLAG_HOVER_TERRAIN_ONLY - - type - integer - value - 0x8 - tooltip - Ignore water height when hovering. - - VEHICLE_FLAG_HOVER_UP_ONLY - - type - integer - value - 0x20 - tooltip - Hover does not push down. Use this flag for hovering vehicles that should be able to jump above their hover height. - - VEHICLE_FLAG_HOVER_WATER_ONLY - - type - integer - value - 0x4 - tooltip - Ignore terrain height when hovering. - - VEHICLE_FLAG_LIMIT_MOTOR_UP - - type - integer - value - 0x40 - tooltip - Prevents ground vehicles from motoring into the sky. - - VEHICLE_FLAG_LIMIT_ROLL_ONLY - - type - integer - value - 0x2 - tooltip - For vehicles with vertical attractor that want to be able to climb/dive, for instance, aeroplanes that want to use the banking feature. - - VEHICLE_FLAG_MOUSELOOK_BANK - - type - integer - value - 0x100 - tooltip - - - VEHICLE_FLAG_MOUSELOOK_STEER - - type - integer - value - 0x80 - tooltip - - - VEHICLE_FLAG_NO_DEFLECTION_UP - - type - integer - value - 0x1 - tooltip - This flag prevents linear deflection parallel to world z-axis. This is useful for preventing ground vehicles with large linear deflection, like bumper cars, from climbing their linear deflection into the sky. - - VEHICLE_FLAG_NO_FLY_UP - - deprecated - true - type - integer - value - 0x1 - tooltip - Old, changed to VEHICLE_FLAG_NO_DEFLECTION_UP - - VEHICLE_HOVER_EFFICIENCY - - type - integer - value - 25 - tooltip - A slider between minimum (0.0 = bouncy) and maximum (1.0 = fast as possible) damped motion of the hover behavior. - - VEHICLE_HOVER_HEIGHT - - type - integer - value - 24 - tooltip - The height (above the terrain or water, or global) at which the vehicle will try to hover. - - VEHICLE_HOVER_TIMESCALE - - type - integer - value - 26 - tooltip - Period of time (in seconds) for the vehicle to achieve its hover height. - - VEHICLE_LINEAR_DEFLECTION_EFFICIENCY - - type - integer - value - 28 - tooltip - A slider between minimum (0.0) and maximum (1.0) deflection of linear velocity. That is, its a simple scalar for modulating the strength of linear deflection. - - VEHICLE_LINEAR_DEFLECTION_TIMESCALE - - type - integer - value - 29 - tooltip - The timescale for exponential success of linear deflection deflection. It is another way to specify how much time it takes for the vehicles linear velocity to be redirected to its preferred axis of motion. - - VEHICLE_LINEAR_FRICTION_TIMESCALE - - type - integer - value - 16 - tooltip - A vector of timescales for exponential decay of the vehicles linear velocity along its preferred axes of motion (at, left, up). - Range = [0.07, inf) seconds for each element of the vector. - - VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE - - type - integer - value - 31 - tooltip - The timescale for exponential decay of the linear motors magnitude. - - VEHICLE_LINEAR_MOTOR_DIRECTION - - type - integer - value - 18 - tooltip - The direction and magnitude (in preferred frame) of the vehicles linear motor. The vehicle will accelerate (or decelerate if necessary) to match its velocity to its motor. - Range of magnitude = [0, 30] meters/second. - - VEHICLE_LINEAR_MOTOR_OFFSET - - type - integer - value - 20 - tooltip - - - VEHICLE_LINEAR_MOTOR_TIMESCALE - - type - integer - value - 30 - tooltip - The timescale for exponential approach to full linear motor velocity. - - VEHICLE_REFERENCE_FRAME - - type - integer - value - 44 - tooltip - A rotation of the vehicles preferred axes of motion and orientation (at, left, up) with respect to the vehicles local frame (x, y, z). - - VEHICLE_TYPE_AIRPLANE - - type - integer - value - 4 - tooltip - Uses linear deflection for lift, no hover, and banking to turn.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_AIRPLANE - - VEHICLE_TYPE_BALLOON - - type - integer - value - 5 - tooltip - Hover, and friction, but no deflection.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_BALLOON - - VEHICLE_TYPE_BOAT - - type - integer - value - 3 - tooltip - Hovers over water with lots of friction and some anglar deflection.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_BOAT - - VEHICLE_TYPE_CAR - - type - integer - value - 2 - tooltip - Another vehicle that bounces along the ground but needs the motors to be driven from external controls or timer events.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_CAR - - VEHICLE_TYPE_NONE - - type - integer - value - 0 - tooltip - - - VEHICLE_TYPE_SLED - - type - integer - value - 1 - tooltip - Simple vehicle that bumps along the ground, and likes to move along its local x-axis.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_SLED - - VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY - - type - integer - value - 36 - tooltip - A slider between minimum (0.0 = wobbly) and maximum (1.0 = firm as possible) stability of the vehicle to keep itself upright. - - VEHICLE_VERTICAL_ATTRACTION_TIMESCALE - - type - integer - value - 37 - tooltip - The period of wobble, or timescale for exponential approach, of the vehicle to rotate such that its preferred "up" axis is oriented along the worlds "up" axis. - - VERTICAL - - type - integer - value - 0 - tooltip - - - ZERO_ROTATION - - type - rotation - value - <0.0, 0.0, 0.0, 1.0> - tooltip - - - ZERO_VECTOR - - type - vector - value - <0.0, 0.0, 0.0> - tooltip - - - default - - tooltip - All scripts must have a default state, which is the first state entered when the script starts.\nIf another state is defined before the default state, the compiler will report a syntax error. - - - events - - at_rot_target - - arguments - - - TargetNumber - - type - integer - tooltip - - - - - TargetRotation - - type - rotation - tooltip - - - - - CurrentRotation - - type - rotation - tooltip - - - - - tooltip - This event is triggered when a script comes within a defined angle of a target rotation. The range and rotation, are set by a call to llRotTarget. - - at_target - - arguments - - - TargetNumber - - type - integer - tooltip - - - - - TargetPosition - - type - vector - tooltip - - - - - CurrentPosition - - type - vector - tooltip - - - - - tooltip - This event is triggered when the scripted object comes within a defined range of the target position, defined by the llTarget function call. - - attach - - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - This event is triggered whenever an object is attached or detached from an avatar. If it is attached, the key of the avatar it is attached to is passed in, otherwise NULL_KEY is. - - changed - - arguments - - - Changed - - type - integer - tooltip - - - - - tooltip - Triggered when various events change the object. The change argument will be a bit-field of CHANGED_* constants. - - collision - - arguments - - - NumberOfCollisions - - type - integer - tooltip - - - - - tooltip - This event is raised while another object, or avatar, is colliding with the object the script is attached to. - The number of detected objects is passed to the script. Information on those objects may be gathered via the llDetected* functions. - - collision_end - - arguments - - - NumberOfCollisions - - type - integer - tooltip - - - - - tooltip - This event is raised when another object, or avatar, stops colliding with the object the script is attached to. - The number of detected objects is passed to the script. Information on those objects may be gathered via the llDetected* library functions. - - collision_start - - arguments - - - NumberOfCollisions - - type - integer - tooltip - - - - - tooltip - This event is raised when another object, or avatar, starts colliding with the object the script is attached to. - The number of detected objects is passed to the script. Information on those objects may be gathered via the llDetected* library functions. - - control - - arguments - - - AvatarID - - type - key - tooltip - - - - - Levels - - type - integer - tooltip - - - - - Edges - - type - integer - tooltip - - - - - tooltip - Once a script has the ability to grab control inputs from the avatar, this event will be used to pass the commands into the script. - The levels and edges are bit-fields of control constants. - - dataserver - - arguments - - - RequestID - - type - key - tooltip - - - - - Data - - type - string - tooltip - - - - - tooltip - This event is triggered when the requested data is returned to the script. - Data may be requested by the llRequestAgentData, llRequestInventoryData, and llGetNotecardLine function calls, for example. - - email - - arguments - - - Time - - type - string - tooltip - - - - - Address - - type - string - tooltip - - - - - Subject - - type - string - tooltip - - - - - Body - - type - string - tooltip - - - - - NumberRemaining - - type - integer - tooltip - - - - - tooltip - This event is triggered when an email sent to this script arrives. - The number remaining tells how many more emails are known to be still pending. - - experience_permissions - - arguments - - - agent_id - - type - key - tooltip - ID of the agent approving permission for the Experience. - - - - - experience_permissions_denied - - arguments - - - agent_id - - type - key - tooltip - ID of the agent denying permission for the Experience. - - - - Reason - - type - integer - tooltip - One of the XP_ERROR_... constants describing the reason why the Experience permissions were denied for the agent. - - - - tooltip - Describes why the Experience permissions were denied for the agent. - - http_request - - arguments - - - HTTPRequestID - - type - key - tooltip - - - - - HTTPMethod - - type - string - tooltip - - - - - Body - - type - string - tooltip - - - - - tooltip - Triggered when task receives an HTTP request. - - http_response - - arguments - - - HTTPRequestID - - type - key - tooltip - - - - - Status - - type - integer - tooltip - - - - - Metadata - - type - list - tooltip - - - - - Body - - type - string - tooltip - - - - - tooltip - This event handler is invoked when an HTTP response is received for a pending llHTTPRequest request or if a pending request fails or times out. - - land_collision - - arguments - - - Position - - type - vector - tooltip - - - - - tooltip - This event is raised when the object the script is attached to is colliding with the ground. - - land_collision_end - - arguments - - - Position - - type - vector - tooltip - - - - - tooltip - This event is raised when the object the script is attached to stops colliding with the ground. - - land_collision_start - - arguments - - - Position - - type - vector - tooltip - - - - - tooltip - This event is raised when the object the script is attached to begins to collide with the ground. - - link_message - - arguments - - - SendersLink - - type - integer - tooltip - - - - - Value - - type - integer - tooltip - - - - - Text - - type - string - tooltip - - - - - ID - - type - key - tooltip - - - - - tooltip - Triggered when object receives a link message via llMessageLinked function call. - - listen - - arguments - - - Channel - - type - integer - tooltip - - - - - Name - - type - string - tooltip - - - - - ID - - type - key - tooltip - - - - - Text - - type - string - tooltip - - - - - tooltip - This event is raised whenever a chat message matching the constraints set in the llListen command is received. The name and ID of the speaker, as well as the message, are passed in as parameters. - Channel 0 is the public chat channel that all avatars see as chat text. Channels 1 through 2,147,483,648 are private channels that are not sent to avatars but other scripts can listen on those channels. - - money - - arguments - - - Payer - - type - key - tooltip - - - - - Amount - - type - integer - tooltip - - - - - tooltip - This event is triggered when a resident has given an amount of Linden dollars to the object. - - moving_end - - arguments - - tooltip - Triggered whenever an object with this script stops moving. - - moving_start - - arguments - - tooltip - Triggered whenever an object with this script starts moving. - - no_sensor - - arguments - - tooltip - This event is raised when sensors are active, via the llSensor function call, but are not sensing anything. - - not_at_rot_target - - arguments - - tooltip - When a target is set via the llRotTarget function call, but the script is outside the specified angle this event is raised. - - not_at_target - - arguments - - tooltip - When a target is set via the llTarget library call, but the script is outside the specified range this event is raised. - - object_rez - - arguments - - - RezzedObjectsID - - type - key - tooltip - - - - - tooltip - Triggered when an object rezzes another object from its inventory via the llRezObject, or similar, functions. The id is the globally unique key for the object rezzed. - - on_rez - - arguments - - - StartParameter - - type - integer - tooltip - - - - - tooltip - Triggered whenever an object is rezzed from inventory or by another object. The start parameter is passed in from the llRezObject call, or zero if from inventory. - - path_update - - arguments - - - Type - - type - integer - tooltip - - - - - Reserved - - type - list - tooltip - - - - - tooltip - This event is called to inform the script of changes within the object's path-finding status. - - remote_data - - arguments - - - EventType - - type - integer - tooltip - - - - - ChannelID - - type - key - tooltip - - - - - MessageID - - type - key - tooltip - - - - - Sender - - type - string - tooltip - - - - - Data - - type - integer - tooltip - - - - - Data - - type - string - tooltip - - - - - tooltip - Triggered by various XML-RPC calls with event_type specifying the type of data. - - run_time_permissions - - arguments - - - PermissionFlags - - type - integer - tooltip - - - - - tooltip - Scripts need permission from either the owner or the avatar they wish to act on before they may perform certain functions, such as debiting money from their owners account, triggering an animation on an avatar, or capturing control inputs. The llRequestPermissions library function is used to request these permissions and the various permissions integer constants can be supplied. - The integer returned to this event handler contains the current set of permissions flags, so if permissions equal 0 then no permissions are set. - - sensor - - arguments - - - NumberDetected - - type - integer - tooltip - - - - - tooltip - This event is raised whenever objects matching the constraints of the llSensor command are detected. - The number of detected objects is passed to the script in the parameter. Information on those objects may be gathered via the llDetected* functions. - - state_entry - - arguments - - tooltip - The state_entry event occurs whenever a new state is entered, including at program start, and is always the first event handled. - - state_exit - - arguments - - tooltip - The state_exit event occurs whenever the state command is used to transition to another state. It is handled before the new states state_entry event. - - timer - - arguments - - tooltip - This event is raised at regular intervals set by the llSetTimerEvent library function. - - touch - - arguments - - - NumberOfTouches - - type - integer - tooltip - - - - - tooltip - This event is raised while a user is touching the object the script is attached to. - The number of touching objects is passed to the script in the parameter. - Information on those objects may be gathered via the llDetected* library functions. - - touch_end - - arguments - - - NumberOfTouches - - type - integer - tooltip - - - - - tooltip - This event is raised when a user stops touching the object the script is attached to. The number of touches is passed to the script in the parameter. - Information on those objects may be gathered via the llDetected* library functions. - - touch_start - - arguments - - - NumberOfTouches - - type - integer - tooltip - - - - - tooltip - This event is raised when a user first touches the object the script is attached to. The number of touches is passed to the script in the parameter. - Information on those objects may be gathered via the llDetected() library functions. - - transaction_result - - arguments - - - RequestID - - type - key - tooltip - - - - - Success - - type - integer - tooltip - - - - - Message - - type - string - tooltip - - - - - tooltip - Triggered by llTransferMoney() function. - - - <-- functions --> - functions - - llAbs - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Value - - type - integer - tooltip - An integer value. - - - - tooltip - Returns the absolute (positive) version of Value. - - llAcos - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Value - - type - float - tooltip - A floating-point value. - - - - tooltip - Returns the arc-cosine of Value, in radians. - - llAddToLandBanList - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ID - - type - key - tooltip - Agent UUID to add to ban-list. - - - - Hours - - type - float - tooltip - Period, in hours, to ban the avatar for. - - - - tooltip - Add avatar ID to the parcel ban list for the specified number of Hours.\nA value of 0 for Hours will add the agent indefinitely.\nThe smallest value that Hours will accept is 0.01; anything smaller will be seen as 0.\nWhen values that small are used, it seems the function bans in approximately 30 second increments (Probably 36 second increments, as 0.01 of an hour is 36 seconds).\nResidents teleporting to a parcel where they are banned will be redirected to a neighbouring parcel. - - llAddToLandPassList - - energy - 10.0 - sleep - 0.1 - return - void - arguments - - - ID - - type - key - tooltip - Agent UUID to add to pass-list. - - - - Hours - - type - float - tooltip - Period, in hours, to allow the avatar for. - - - - tooltip - Add avatar ID to the land pass list, for a duration of Hours. - - llAdjustSoundVolume - - energy - 10.0 - sleep - 0.1 - return - void - arguments - - - Volume - - type - float - tooltip - The volume to set. - - - - tooltip - Adjusts the volume (0.0 - 1.0) of the currently playing attached sound.\nThis function has no effect on sounds started with llTriggerSound. - - llAllowInventoryDrop - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Flag - - type - integer - tooltip - Boolean, If TRUE allows anyone to drop inventory on prim, FALSE revokes. - - - - tooltip - If Flag == TRUE, users without object modify permissions can still drop inventory items into the object. - - llAngleBetween - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Rot1 - - type - rotation - tooltip - First rotation. - - - - Rot2 - - type - rotation - tooltip - Second rotation. - - - - tooltip - Returns the angle, in radians, between rotations Rot1 and Rot2. - - llApplyImpulse - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Force - - type - vector - tooltip - Amount of impulse force to apply. - - - - Local - - type - integer - tooltip - Boolean, if TRUE, force is treated as a local directional vector instead of region directional vector. - - - - tooltip - Applies impulse to the object.\nIf Local == TRUE, apply the Force in local coordinates; otherwise, apply the Force in global coordinates.\nThis function only works on physical objects. - - llApplyRotationalImpulse - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Force - - type - vector - tooltip - Amount of impulse force to apply. - - - - Local - - type - integer - tooltip - Boolean, if TRUE, uses local axis, if FALSE, uses region axis. - - - - tooltip - Applies rotational impulse to the object.\nIf Local == TRUE, apply the Force in local coordinates; otherwise, apply the Force in global coordinates.\nThis function only works on physical objects. - - llAsin - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Value - - type - float - tooltip - A floating-point value. - - - - tooltip - Returns the arc-sine, in radians, of Value. - - llAtan2 - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - y - - type - float - tooltip - A floating-point value. - - - - x - - type - float - tooltip - A floating-point value. - - - - tooltip - Returns the arc-tangent2 of y, x. - - llAttachToAvatar - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - AttachmentPoint - - type - integer - tooltip - - - - - tooltip - Attach to avatar at point AttachmentPoint.\nRequires the PERMISSION_ATTACH runtime permission. - - llAttachToAvatarTemp - - energy - 0 - sleep - 0 - return - void - arguments - - - AttachPoint - - type - integer - tooltip - Valid attachment point or ATTACH_* constant. - - - - tooltip - Follows the same convention as llAttachToAvatar, with the exception that the object will not create new inventory for the user, and will disappear on detach or disconnect. - - llAvatarOnLinkSitTarget - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. - - - - tooltip - If an avatar is sitting on the link's sit target, return the avatar's key, NULL_KEY otherwise.\nReturns a key that is the UUID of the user seated on the specified link's prim. - - llAvatarOnSitTarget - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - tooltip - If an avatar is seated on the sit target, returns the avatar's key, otherwise NULL_KEY.\nThis only will detect avatars sitting on sit targets defined with llSitTarget. - - llAxes2Rot - - energy - 10.0 - sleep - 0.0 - return - rotation - arguments - - - Forward - - type - vector - tooltip - Forward/Back part of rotation. - - - - Left - - type - vector - tooltip - Left/Right part of rotation. - - - - Up - - type - vector - tooltip - Up/Down part of rotation. - - - - tooltip - Returns the rotation represented by coordinate axes Forward, Left, and Up. - - llAxisAngle2Rot - - energy - 10.0 - sleep - 0.0 - return - rotation - arguments - - - Axis - - type - vector - tooltip - Axis. - - - - Angle - - type - float - tooltip - Angle in radians. - - - - tooltip - Returns the rotation that is a generated Angle about Axis. - - llBase64ToInteger - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Text - - type - string - tooltip - - - - - tooltip - Returns an integer that is the Text, Base64 decoded as a big endian integer.\nReturns zero if Text is longer then 8 characters. If Text contains fewer then 6 characters, the return value is unpredictable. - - llBase64ToString - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Text - - type - string - tooltip - - - - - tooltip - Converts a Base64 string to a conventional string.\nIf the conversion creates any unprintable characters, they are converted to question marks. - - llBreakAllLinks - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - De-links all prims in the link set (requires permission PERMISSION_CHANGE_LINKS be set). - - llBreakLink - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - LinkNumber - - type - integer - tooltip - - - - - tooltip - De-links the prim with the given link number (requires permission PERMISSION_CHANGE_LINKS be set). - - llCastRay - - energy - 0.0 - sleep - 0.0 - return - list - arguments - - - Start - - type - vector - tooltip - - - - - End - - type - vector - tooltip - - - - - Options - - type - list - tooltip - - - - - tooltip - Casts a ray into the physics world from 'start' to 'end' and returns data according to details in Options.\nReports collision data for intersections with objects.\nReturn value: [UUID_1, {link_number_1}, hit_position_1, {hit_normal_1}, UUID_2, {link_number_2}, hit_position_2, {hit_normal_2}, ... , status_code] where {} indicates optional data. - - llCeil - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Value - - type - float - tooltip - - - - - tooltip - Returns smallest integer value >= Value. - - llClearCameraParams - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - Resets all camera parameters to default values and turns off scripted camera control. - - llClearLinkMedia - - energy - 0.0 - sleep - 0.0 - return - integer - arguments - - - Link - - type - integer - tooltip - - - - - Face - - type - integer - tooltip - - - - - tooltip - Clears (deletes) the media and all parameters from the given Face on the linked prim.\nReturns an integer that is a STATUS_* flag, which details the success/failure of the operation. - - llClearPrimMedia - - energy - 10.0 - sleep - 0.1 - return - integer - arguments - - - Face - - type - integer - tooltip - Number of side to clear. - - - - tooltip - Clears (deletes) the media and all parameters from the given Face.\nReturns an integer that is a STATUS_* flag which details the success/failure of the operation. - - llCloseRemoteDataChannel - - energy - 10.0 - sleep - 1.0 - return - void - arguments - - - ChannelID - - type - key - tooltip - - - - - tooltip - Closes the specified XML-RPC channel. - - llCloud - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Offset - - type - vector - tooltip - - - - - tooltip - Returns the cloud density at the object's position + Offset. - - llCollisionFilter - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ObjectName - - type - string - tooltip - - - - - ObjectID - - type - key - tooltip - - - - - Accept - - type - integer - tooltip - If TRUE, only accept collisions with ObjectName name AND ObjectID (either is optional), otherwise with objects not ObjectName AND ObjectID. - - - - tooltip - Specify an empty string or NULL_KEY for Accept, to not filter on the corresponding parameter. - - llCollisionSound - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ImpactSound - - type - string - tooltip - - - - - ImpactVolume - - type - float - tooltip - - - - - tooltip - Suppress default collision sounds, replace default impact sounds with ImpactSound.\nThe ImpactSound must be in the object inventory.\nSupply an empty string to suppress collision sounds. - - llCollisionSprite - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ImpactSprite - - type - string - tooltip - - - - - tooltip - Suppress default collision sprites, replace default impact sprite with ImpactSprite; found in the object inventory (empty string to just suppress). - - llCos - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Theta - - type - float - tooltip - - - - - tooltip - Returns the cosine of Theta (Theta in radians). - - llCreateLink - - energy - 10.0 - sleep - 1.0 - return - void - arguments - - - TargetPrim - - type - key - tooltip - Object UUID that is in the same region. - - - - Parent - - type - integer - tooltip - If FALSE, then TargetPrim becomes the root. If TRUE, then the script's object becomes the root. - - - - tooltip - Attempt to link the object the script is in, to target (requires permission PERMISSION_CHANGE_LINKS be set).\nRequires permission PERMISSION_CHANGE_LINKS be set. - - llCSV2List - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - Text - - type - string - tooltip - - - - - tooltip - Create a list from a string of comma separated values specified in Text. - - llDeleteSubList - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - Source - - type - list - tooltip - - - - - Start - - type - integer - tooltip - - - - - End - - type - integer - tooltip - - - - - tooltip - Removes the slice from start to end and returns the remainder of the list.\nRemove a slice from the list and return the remainder, start and end are inclusive.\nUsing negative numbers for start and/or end causes the index to count backwards from the length of the list, so 0, -1 would delete the entire list.\nIf Start is larger than End the list deleted is the exclusion of the entries; so 6, 4 would delete the entire list except for the 5th. list entry. - - llDeleteSubString - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Source - - type - string - tooltip - - - - - Start - - type - integer - tooltip - - - - - End - - type - integer - tooltip - - - - - tooltip - Removes the indicated sub-string and returns the result.\nStart and End are inclusive.\nUsing negative numbers for Start and/or End causes the index to count backwards from the length of the string, so 0, -1 would delete the entire string.\nIf Start is larger than End, the sub-string is the exclusion of the entries; so 6, 4 would delete the entire string except for the 5th. character. - - llDetachFromAvatar - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - Remove the object containing the script from the avatar. - - llDetectedGrab - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Number - - type - integer - tooltip - - - - - tooltip - Returns the grab offset of a user touching the object.\nReturns <0.0, 0.0, 0.0> if Number is not a valid object. - - llDetectedGroup - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Number - - type - integer - tooltip - - - - - tooltip - Returns TRUE if detected object or agent Number has the same user group active as this object.\nIt will return FALSE if the object or agent is in the group, but the group is not active. - - llDetectedKey - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - Number - - type - integer - tooltip - - - - - tooltip - Returns the key of detected object or avatar number.\nReturns NULL_KEY if Number is not a valid index. - - llDetectedLinkNumber - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Number - - type - integer - tooltip - - - - - tooltip - Returns the link position of the triggered event for touches and collisions only.\n0 for a non-linked object, 1 for the root of a linked object, 2 for the first child, etc. - - llDetectedName - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Number - - type - integer - tooltip - - - - - tooltip - Returns the name of detected object or avatar number.\nReturns the name of detected object number.\nReturns empty string if Number is not a valid index. - - llDetectedOwner - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - Number - - type - integer - tooltip - - - - - tooltip - Returns the key of detected object's owner.\nReturns invalid key if Number is not a valid index. - - llDetectedPos - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Number - - type - integer - tooltip - - - - - tooltip - Returns the position of detected object or avatar number.\nReturns <0.0, 0.0, 0.0> if Number is not a valid index. - - llDetectedRot - - energy - 10.0 - sleep - 0.0 - return - rotation - arguments - - - Number - - type - integer - tooltip - - - - - tooltip - Returns the rotation of detected object or avatar number.\nReturns <0.0, 0.0, 0.0, 1.0> if Number is not a valid offset. - - llDetectedTouchBinormal - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Index - - type - integer - tooltip - Index of detection information - - - - tooltip - Returns the surface bi-normal for a triggered touch event.\nReturns a vector that is the surface bi-normal (tangent to the surface) where the touch event was triggered. - - llDetectedTouchFace - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Index - - type - integer - tooltip - Index of detection information - - - - tooltip - Returns the index of the face where the avatar clicked in a triggered touch event. - - llDetectedTouchNormal - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Index - - type - integer - tooltip - Index of detection information - - - - tooltip - Returns the surface normal for a triggered touch event.\nReturns a vector that is the surface normal (perpendicular to the surface) where the touch event was triggered. - - llDetectedTouchPos - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Index - - type - integer - tooltip - Index of detected information - - - - tooltip - Returns the position, in region coordinates, where the object was touched in a triggered touch event.\nUnless it is a HUD, in which case it returns the position relative to the attach point. - - llDetectedTouchST - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Index - - type - integer - tooltip - Index of detection information - - - - tooltip - Returns a vector that is the surface coordinates where the prim was touched.\nThe X and Y vector positions contain the horizontal (S) and vertical (T) face coordinates respectively.\nEach component is in the interval [0.0, 1.0].\nTOUCH_INVALID_TEXCOORD is returned if the surface coordinates cannot be determined (e.g. when the viewer does not support this function). - - llDetectedTouchUV - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Index - - type - integer - tooltip - Index of detection information - - - - tooltip - Returns a vector that is the texture coordinates for where the prim was touched.\nThe X and Y vector positions contain the U and V face coordinates respectively.\nTOUCH_INVALID_TEXCOORD is returned if the touch UV coordinates cannot be determined (e.g. when the viewer does not support this function). - - llDetectedType - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Number - - type - integer - tooltip - - - - - tooltip - Returns the type (AGENT, ACTIVE, PASSIVE, SCRIPTED) of detected object.\nReturns 0 if number is not a valid index.\nNote that number is a bit-field, so comparisons need to be a bitwise checked. e.g.:\ninteger iType = llDetectedType(0);\n{\n // ...do stuff with the agent\n} - - llDetectedVel - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Number - - type - integer - tooltip - - - - - tooltip - Returns the velocity of the detected object Number.\nReturns<0.0, 0.0, 0.0> if Number is not a valid offset. - - llDialog - - energy - 10.0 - sleep - 0.1 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - Text - - type - string - tooltip - - - - - Buttons - - type - list - tooltip - - - - - Channel - - type - integer - tooltip - - - - - tooltip - Shows a dialog box on the avatar's screen with the message.\n - Up to 12 strings in the list form buttons.\n - If a button is clicked, the name is chatted on Channel.\nOpens a "notify box" in the given avatars screen displaying the message.\n - Up to twelve buttons can be specified in a list of strings. When the user clicks a button, the name of the button is said on the specified channel.\n - Channels work just like llSay(), so channel 0 can be heard by everyone.\n - The chat originates at the object's position, not the avatar's position, even though it is said as the avatar (uses avatar's UUID and Name etc.).\n - Examples:\n - llDialog(who, "Are you a boy or a girl?", [ "Boy", "Girl" ], -4913);\n - llDialog(who, "This shows only an OK button.", [], -192);\n - llDialog(who, "This chats so you can 'hear' it.", ["Hooray"], 0); - - llDie - - energy - 0.0 - sleep - 0.0 - return - void - arguments - - tooltip - Delete the object which holds the script. - - llDumpList2String - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Source - - type - list - tooltip - - - - - Separator - - type - string - tooltip - - - - - tooltip - Returns the list as a single string, using Separator between the entries.\nWrite the list out as a single string, using Separator between values. - - llEdgeOfWorld - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Position - - type - vector - tooltip - - - - - Direction - - type - vector - tooltip - - - - - tooltip - Checks to see whether the border hit by Direction from Position is the edge of the world (has no neighboring region).\nReturns TRUE if the line along Direction from Position hits the edge of the world in the current simulator, returns FALSE if that edge crosses into another simulator. - - llEjectFromLand - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Ejects AvatarID from land that you own.\nEjects AvatarID from land that the object owner (group or resident) owns. - - llEmail - - energy - 10.0 - sleep - 20.0 - return - void - arguments - - - Address - - type - string - tooltip - - - - - Subject - - type - string - tooltip - - - - - Text - - type - string - tooltip - - - - - tooltip - Sends email to Address with Subject and Message.\nSends an email to Address with Subject and Message. - - llEscapeURL - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - URL - - type - string - tooltip - - - - - tooltip - Returns an escaped/encoded version of url, replacing spaces with %20 etc.\nReturns the string that is the URL-escaped version of URL (replacing spaces with %20, etc.).\n - This function returns the UTF-8 encoded escape codes for selected characters. - - llEuler2Rot - - energy - 10.0 - sleep - 0.0 - return - rotation - arguments - - - Vector - - type - vector - tooltip - - - - - tooltip - Returns the rotation representation of the Euler angles.\nReturns the rotation represented by the Euler Angle. - - llFabs - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Value - - type - float - tooltip - - - - - tooltip - Returns the positive version of Value.\nReturns the absolute value of Value. - - llFloor - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Value - - type - float - tooltip - - - - - tooltip - Returns largest integer value <= Value. - - llForceMouselook - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Enable - - type - integer - tooltip - Boolean, if TRUE when an avatar sits on the prim, the avatar will be forced into mouse-look mode.\nFALSE is the default setting and will undo a previously set TRUE or do nothing. - - - - tooltip - If Enable is TRUE any avatar that sits on this object is forced into mouse-look mode.\nAfter calling this function with Enable set to TRUE, any agent sitting down on the prim will be forced into mouse-look.\nJust like llSitTarget, this changes a permanent property of the prim (not the object) and needs to be reset by calling this function with Enable set to FALSE in order to disable it. - - llFrand - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Magnitude - - type - float - tooltip - - - - - tooltip - Returns a pseudo random number in the range [0, Magnitude] or [Magnitude, 0].\nReturns a pseudo-random number between [0, Magnitude]. - - llGenerateKey - - energy - 0 - sleep - 0 - return - key - arguments - - tooltip - Generates a key (SHA-1 hash) using UUID generation to create a unique key.\nAs the UUID produced is versioned, it should never return a value of NULL_KEY.\nThe specific UUID version is an implementation detail that has changed in the past and may change again in the future. Do not depend upon the UUID that is returned to be version 5 SHA-1 hash. - - llGetAccel - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the acceleration of the object relative to the region's axes.\nGets the acceleration of the object. - - llGetAgentInfo - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Returns an integer bit-field containing the agent information about id.\n - Returns AGENT_FLYING, AGENT_ATTACHMENTS, AGENT_SCRIPTED, AGENT_SITTING, AGENT_ON_OBJECT, AGENT_MOUSELOOK, AGENT_AWAY, AGENT_BUSY, AGENT_TYPING, AGENT_CROUCHING, AGENT_ALWAYS_RUN, AGENT_WALKING and/or AGENT_IN_AIR.\nReturns information about the given agent ID as a bit-field of agent info constants. - - llGetAgentLanguage - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Returns the language code of the preferred interface language of the avatar.\nReturns a string that is the language code of the preferred interface language of the resident. - - llGetAgentList - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - Scope - - type - integer - tooltip - The scope (region, parcel, parcel same owner) to return agents for. - - - - Options - - type - list - tooltip - List of options to apply. Current unused. - - - - tooltip - Requests a list of agents currently in the region, limited by the scope parameter.\nReturns a list [key UUID-0, key UUID-1, ..., key UUID-n] or [string error_msg] - returns avatar keys for all agents in the region limited to the area(s) specified by scope - - llGetAgentSize - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - If the avatar is in the same region, returns the size of the bounding box of the requested avatar by id, otherwise returns ZERO_VECTOR.\nIf the agent is in the same region as the object, returns the size of the avatar. - - llGetAlpha - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Face - - type - integer - tooltip - - - - - tooltip - Returns the alpha value of Face.\nReturns the 'alpha' of the given face. If face is ALL_SIDES the value returned is the mean average of all faces. - - llGetAndResetTime - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns the script time in seconds and then resets the script timer to zero.\nGets the time in seconds since starting and resets the time to zero. - - llGetAnimation - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Returns the name of the currently playing locomotion animation for the avatar id.\nReturns the currently playing animation for the specified avatar ID. - - llGetAnimationList - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Returns a list of keys of playing animations for an avatar.\nReturns a list of keys of all playing animations for the specified avatar ID. - - llGetAnimationOverride - - energy - 0 - sleep - 0 - return - string - arguments - - - AnimationState - - type - string - tooltip - - - - - tooltip - Returns a string that is the name of the animation that is used for the specified animation state\nTo use this function the script must obtain either the PERMISSION_OVERRIDE_ANIMATIONS or PERMISSION_TRIGGER_ANIMATION permission (automatically granted to attached objects). - - llGetAttached - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns the object's attachment point, or 0 if not attached. - - llGetAttachedList - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - ID - - type - key - tooltip - Avatar to get attachments - - - - tooltip - Returns a list of keys of all visible (not HUD) attachments on the avatar identified by the ID argument - - llGetBoundingBox - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - ID - - type - key - tooltip - - - - - tooltip - Returns the bounding box around the object (including any linked prims) relative to its root prim, as a list in the format [ (vector) min_corner, (vector) max_corner ]. - - llGetCameraPos - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the current camera position for the agent the task has permissions for.\nReturns the position of the camera, of the user that granted the script PERMISSION_TRACK_CAMERA. If no user has granted the permission, it returns ZERO_VECTOR. - - llGetCameraRot - - energy - 10.0 - sleep - 0.0 - return - rotation - arguments - - tooltip - Returns the current camera orientation for the agent the task has permissions for. If no user has granted the PERMISSION_TRACK_CAMERA permission, returns ZERO_ROTATION. - - llGetCenterOfMass - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the prim's centre of mass (unless called from the root prim, where it returns the object's centre of mass). - - llGetColor - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Face - - type - integer - tooltip - - - - - tooltip - Returns the color on Face.\nReturns the color of Face as a vector of red, green, and blue values between 0 and 1. If face is ALL_SIDES the color returned is the mean average of each channel. - - llGetCreator - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - tooltip - Returns a key for the creator of the prim.\nReturns the key of the object's original creator. Similar to llGetOwner. - - llGetDate - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - tooltip - Returns the current date in the UTC time zone in the format YYYY-MM-DD.\nReturns the current UTC date as YYYY-MM-DD. - - llGetDisplayName - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - AvatarID - - type - key - tooltip - Avatar UUID that is in the same region, or is otherwise known to the region. - - - - tooltip - Returns the display name of an avatar, if the avatar is connected to the current region, or if the name has been cached. Otherwise, returns an empty string. Use llRequestDisplayName if the avatar may be absent from the region. - - llGetEnergy - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns how much energy is in the object as a percentage of maximum. - - llGetEnv - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - DataRequest - - type - string - tooltip - The type of data to request. Any other string will cause an empty string to be returned. - - - - tooltip - Returns a string with the requested data about the region. - - llGetForce - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the force (if the script is physical).\nReturns the current force if the script is physical. - - llGetFreeMemory - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns the number of free bytes of memory the script can use.\nReturns the available free space for the current script. This is inaccurate with LSO. - - llGetFreeURLs - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns the number of available URLs for the current script.\nReturns an integer that is the number of available URLs. - - llGetGeometricCenter - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the vector that is the geometric center of the object relative to the root prim. - - llGetGMTclock - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns the time in seconds since midnight GMT.\nGets the time in seconds since midnight in GMT/UTC. - - llGetHTTPHeader - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - HTTPRequestID - - type - key - tooltip - A valid HTTP request key - - - - Header - - type - string - tooltip - Header value name - - - - tooltip - Returns the value for header for request_id.\nReturns a string that is the value of the Header for HTTPRequestID. - - llGetInventoryCreator - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - InventoryItem - - type - string - tooltip - - - - - tooltip - Returns a key for the creator of the inventory item.\nThis function returns the UUID of the creator of item. If item is not found in inventory, the object says "No item named 'name'". - - llGetInventoryKey - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - InventoryItem - - type - string - tooltip - - - - - tooltip - Returns the key that is the UUID of the inventory named.\nReturns the key of the inventory named. - - llGetInventoryName - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - InventoryType - - type - integer - tooltip - Inventory item type - - - - Index - - type - integer - tooltip - Index number of inventory item. - - - - tooltip - Returns the name of the inventory item of a given type, specified by index number.\nUse the inventory constants INVENTORY_* to specify the type. - - llGetInventoryNumber - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - InventoryType - - type - integer - tooltip - Inventory item type - - - - tooltip - Returns the quantity of items of a given type (INVENTORY_* flag) in the prim's inventory.\nUse the inventory constants INVENTORY_* to specify the type. - - llGetInventoryPermMask - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - InventoryItem - - type - string - tooltip - Inventory item name. - - - - BitMask - - type - integer - tooltip - MASK_BASE, MASK_OWNER, MASK_GROUP, MASK_EVERYONE or MASK_NEXT - - - - tooltip - Returns the requested permission mask for the inventory item.\nReturns the requested permission mask for the inventory item defined by InventoryItem. If item is not in the object's inventory, llGetInventoryPermMask returns FALSE and causes the object to say "No item named '<item>'", where "<item>" is item. - - llGetInventoryType - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - InventoryItem - - type - string - tooltip - - - - - tooltip - Returns the type of the named inventory item.\nLike all inventory functions, llGetInventoryType is case-sensitive. - - llGetKey - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - tooltip - Returns the key of the prim the script is attached to.\nGet the key for the object which has this script. - - llGetLandOwnerAt - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - Position - - type - vector - tooltip - - - - - tooltip - Returns the key of the land owner, returns NULL_KEY if public.\nReturns the key of the land owner at Position, or NULL_KEY if public. - - llGetLinkKey - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - LinkNumber - - type - integer - tooltip - - - - - tooltip - Returns the key of the linked prim LinkNumber.\nReturns the key of LinkNumber in the link set. - - llGetLinkMedia - - energy - 0.0 - sleep - 0.0 - return - list - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag - - - - Face - - type - integer - tooltip - The prim's side number - - - - Parameters - - type - list - tooltip - A list of PRIM_* property constants to return values of. - - - - tooltip - Get the media parameters for a particular face on linked prim, given the desired list of parameter names. Returns a list of values in the order requested. Returns an empty list if no media exists on the face. - - llGetLinkName - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - LinkNumber - - type - integer - tooltip - - - - - tooltip - Returns the name of LinkNumber in a link set.\nReturns the name of LinkNumber the link set. - - llGetLinkNumber - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns the link number of the prim containing the script (0 means not linked, 1 the prim is the root, 2 the prim is the first child, etc.).\nReturns the link number of the prim containing the script. 0 means no link, 1 the root, 2 for first child, etc. - - llGetLinkNumberOfSides - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. - - - - tooltip - Returns the number of sides of the specified linked prim.\nReturns an integer that is the number of faces (or sides) of the prim link. - - llGetLinkPrimitiveParams - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. - - - - Parameters - - type - list - tooltip - PRIM_* flags. - - - - tooltip - Returns the list of primitive attributes requested in the Parameters list for LinkNumber.\nPRIM_* flags can be broken into three categories, face flags, prim flags, and object flags.\n* Supplying a prim or object flag will return that flags attributes.\n* Face flags require the user to also supply a face index parameter. - - llGetListEntryType - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - ListVariable - - type - list - tooltip - - - - - Index - - type - integer - tooltip - - - - - tooltip - Returns the type of the index entry in the list (TYPE_INTEGER, TYPE_FLOAT, TYPE_STRING, TYPE_KEY, TYPE_VECTOR, TYPE_ROTATION, or TYPE_INVALID if index is off list).\nReturns the type of the variable at Index in ListVariable. - - llGetListLength - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - ListVariable - - type - list - tooltip - - - - - tooltip - Returns the number of elements in the list.\nReturns the number of elements in ListVariable. - - llGetLocalPos - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the position relative to the root.\nReturns the local position of a child object relative to the root. - - llGetLocalRot - - energy - 10.0 - sleep - 0.0 - return - rotation - arguments - - tooltip - Returns the rotation local to the root.\nReturns the local rotation of a child object relative to the root. - - llGetMass - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns the mass of object that the script is attached to.\nReturns the scripted object's mass. When called from a script in a link-set, the parent will return the sum of the link-set weights, while a child will return just its own mass. When called from a script inside an attachment, this function will return the mass of the avatar it's attached to, not its own. - - llGetMassMKS - - energy - 0.0 - sleep - 0.0 - return - float - arguments - - tooltip - Acts as llGetMass(), except that the units of the value returned are Kg. - - llGetMaxScaleFactor - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns a float that is the largest scaling factor that can be used with llScaleByFactor to resize the object. This maximum is determined by the Linkability Rules and prim scale limits. - - llGetMemoryLimit - - energy - 0.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Get the maximum memory a script can use, in bytes. - - llGetMinScaleFactor - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns a float that is the smallest scaling factor that can be used with llScaleByFactor to resize the object. This minimum is determined by the prim scale limits. - - llGetNextEmail - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Address - - type - string - tooltip - - - - - Subject - - type - string - tooltip - - - - - tooltip - Fetch the next queued email with that matches the given address and/or subject, via the email event.\nIf the parameters are blank, they are not used for filtering. - - llGetNotecardLine - - energy - 10.0 - sleep - 0.1 - return - key - arguments - - - NotecardName - - type - string - tooltip - - - - - LineNumber - - type - integer - tooltip - - - - - tooltip - Returns LineNumber from NotecardName via the dataserver event. The line index starts at zero.\nIf the requested line is passed the end of the note-card the dataserver event will return the constant EOF string.\nThe key returned by this function is a unique identifier which will be supplied to the dataserver event in the requested parameter. - - llGetNumberOfNotecardLines - - energy - 10.0 - sleep - 0.1 - return - key - arguments - - - NotecardName - - type - string - tooltip - - - - - tooltip - Returns the number of lines contained within a notecard via the dataserver event.\nThe key returned by this function is a query ID for identifying the dataserver reply. - - llGetNumberOfPrims - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns the number of prims in a link set the script is attached to.\nReturns the number of prims in (and avatars seated on) the object the script is in. - - llGetNumberOfSides - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns the number of faces (or sides) of the prim.\nReturns the number of sides of the prim which has the script. - - llGetObjectDesc - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - tooltip - Returns the description of the prim the script is attached to.\nReturns the description of the scripted object/prim. You can set the description using llSetObjectDesc. - - llGetObjectDetails - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - ID - - type - key - tooltip - Prim or avatar UUID that is in the same region. - - - - Parameters - - type - list - tooltip - List of OBJECT_* flags. - - - - tooltip - Returns a list of object details specified in the Parameters list for the object or avatar in the region with key ID.\nParameters are specified by the OBJECT_* constants. - - llGetObjectMass - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - ID - - type - key - tooltip - - - - - tooltip - Returns the mass of the avatar or object in the region.\nGets the mass of the object or avatar corresponding to ID. - - llGetObjectName - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - tooltip - Returns the name of the prim which the script is attached to.\nReturns the name of the prim (not object) which contains the script. - - llGetObjectPermMask - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Category - - type - integer - tooltip - Category is one of MASK_BASE, MASK_OWNER, MASK_GROUP, MASK_EVERYONE, or MASK_NEXT - - - - tooltip - Returns the permission mask of the requested category for the object. - - llGetObjectPrimCount - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - ObjectID - - type - key - tooltip - - - - - tooltip - Returns the total number of prims for an object in the region.\nReturns the prim count for any object id in the same region. - - llGetOmega - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the rotation velocity in radians per second.\nReturns a vector that is the rotation velocity of the object in radians per second. - - llGetOwner - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - tooltip - Returns the object owner's UUID.\nReturns the key for the owner of the object. - - llGetOwnerKey - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - ObjectID - - type - key - tooltip - - - - - tooltip - Returns the owner of ObjectID.\nReturns the key for the owner of object ObjectID. - - llGetParcelDetails - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - Position - - type - vector - tooltip - Location within the region. - - - - ParcelDetails - - type - list - tooltip - List of details requested for the specified parcel location. - - - - tooltip - Returns a list of parcel details specified in the ParcelDetails list for the parcel at Position.\nParameters is one or more of: PARCEL_DETAILS_NAME, _DESC, _OWNER, _GROUP, _AREA, _ID, _SEE_AVATARS.\nReturns a list that is the parcel details specified in ParcelDetails (in the same order) for the parcel at Position. - - llGetParcelFlags - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Position - - type - vector - tooltip - - - - - tooltip - Returns a mask of the parcel flags (PARCEL_FLAG_*) for the parcel that includes the point Position.\nReturns a bit-field specifying the parcel flags (PARCEL_FLAG_*) for the parcel at Position. - - llGetParcelMaxPrims - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Position - - type - vector - tooltip - Region coordinates (z is ignored) of parcel. - - - - SimWide - - type - integer - tooltip - Boolean. If FALSE then the return is the maximum prims supported by the parcel. If TRUE then it is the combined number of prims on all parcels in the region owned by the specified parcel's owner. - - - - tooltip - Returns the maximum number of prims allowed on the parcel at Position for a given scope.\nThe scope may be set to an individual parcel or the combined resources of all parcels with the same ownership in the region. - - llGetParcelMusicURL - - energy - 0.0 - sleep - 0.0 - return - string - arguments - - tooltip - Gets the streaming audio URL for the parcel object is on.\nThe object owner, avatar or group, must also be the land owner. - - llGetParcelPrimCount - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Position - - type - vector - tooltip - Region coordinates of parcel to query. - - - - Category - - type - integer - tooltip - A PARCEL_COUNT_* flag. - - - - SimWide - - type - integer - tooltip - Boolean. If FALSE then the return is the maximum prims supported by the parcel. If TRUE then it is the combined number of prims on all parcels in the region owned by the specified parcel's owner. - - - - tooltip - Returns the number of prims on the parcel at Position of the given category.\nCategories: PARCEL_COUNT_TOTAL, _OWNER, _GROUP, _OTHER, _SELECTED, _TEMP.\nReturns the number of prims used on the parcel at Position which are in Category.\nIf SimWide is TRUE, it returns the total number of objects for all parcels with matching ownership in the category specified.\nIf SimWide is FALSE, it returns the number of objects on this specific parcel in the category specified - - llGetParcelPrimOwners - - energy - 10.0 - sleep - 2.0 - return - list - arguments - - - Position - - type - vector - tooltip - - - - - tooltip - Returns a list of up to 100 residents who own objects on the parcel at Position, with per-owner land impact totals.\nRequires owner-like permissions for the parcel, and for the script owner to be present in the region.\nThe list is formatted as [ key agentKey1, integer agentLI1, key agentKey2, integer agentLI2, ... ], sorted by agent key.\nThe integers are the combined land impacts of the objects owned by the corresponding agents. - - llGetPermissions - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns an integer bitmask of the permissions that have been granted to the script. Individual permissions can be determined using a bit-wise "and" operation against the PERMISSION_* constants - - llGetPermissionsKey - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - tooltip - Returns the key of the avatar that last granted or declined permissions to the script.\nReturns NULL_KEY if permissions were never granted or declined. - - llGetPhysicsMaterial - - energy - 0.0 - sleep - 0.0 - return - list - arguments - - tooltip - Returns a list of the form [float gravity_multiplier, float restitution, float friction, float density]. - - llGetPos - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the position of the task in region coordinates.\nReturns the vector position of the task in region coordinates. - - llGetPrimitiveParams - - energy - 10.0 - sleep - 0.2 - return - list - arguments - - - Parameters - - type - list - tooltip - PRIM_* flags and face parameters - - - - tooltip - Returns the primitive parameters specified in the parameters list.\nReturns primitive parameters specified in the Parameters list. - - llGetPrimMediaParams - - energy - 10.0 - sleep - 0.1 - return - list - arguments - - - Face - - type - integer - tooltip - face number - - - - Parameters - - type - list - tooltip - One or more PRIM_MEDIA_* flags - - - - tooltip - Returns the media parameters for a particular face on an object, given the desired list of parameter names, in the order requested. Returns an empty list if no media exists on the face. - - llGetRegionAgentCount - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns the number of avatars in the region.\nReturns an integer that is the number of avatars in the region. - - llGetRegionCorner - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns a vector, in meters, that is the global location of the south-west corner of the region which the object is in.\nReturns the Region-Corner of the simulator containing the task. The region-corner is a vector (values in meters) representing distance from the first region. - - llGetRegionFlags - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns the region flags (REGION_FLAG_*) for the region the object is in.\nReturns a bit-field specifying the region flags (REGION_FLAG_*) for the region the object is in. - - llGetRegionFPS - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns the mean region frames per second. - - llGetRegionName - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - tooltip - Returns the current region name. - - llGetRegionTimeDilation - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns the current time dilation as a float between 0.0 (full dilation) and 1.0 (no dilation).\nReturns the current time dilation as a float between 0.0 and 1.0. - - llGetRootPosition - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the position (in region coordinates) of the root prim of the object which the script is attached to.\nThis is used to allow a child prim to determine where the root is. - - llGetRootRotation - - energy - 10.0 - sleep - 0.0 - return - rotation - arguments - - tooltip - Returns the rotation (relative to the region) of the root prim of the object which the script is attached to.\nGets the global rotation of the root object of the object script is attached to. - - llGetRot - - energy - 10.0 - sleep - 0.0 - return - rotation - arguments - - tooltip - Returns the rotation relative to the region's axes.\nReturns the rotation. - - llGetScale - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the scale of the prim.\nReturns a vector that is the scale (dimensions) of the prim. - - llGetScriptName - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - tooltip - Returns the name of the script that this function is used in.\nReturns the name of this script. - - llGetScriptState - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - ScriptName - - type - string - tooltip - - - - - tooltip - Returns TRUE if the script named is running.\nReturns TRUE if ScriptName is running. - - llGetSimStats - - energy - 0 - sleep - 0 - return - float - arguments - - - StatType - - type - integer - tooltip - Statistic type. Currently only SIM_STAT_PCT_CHARS_STEPPED is supported. - - - - tooltip - Returns a float that is the requested statistic. - - llGetSimulatorHostname - - energy - 10.0 - sleep - 10.0 - return - string - arguments - - tooltip - Returns the host-name of the machine which the script is running on.\nFor example, "sim225.agni.lindenlab.com". - - llGetSPMaxMemory - - energy - 0.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns the maximum used memory for the current script. Only valid after using PROFILE_SCRIPT_MEMORY. Non-mono scripts always use 16k.\nReturns the integer of the most bytes used while llScriptProfiler was last active. - - llGetStartParameter - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns an integer that is the script rez parameter.\nIf the object was rezzed by an agent, this function returns 0. - - llGetStatus - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - StatusFlag - - type - integer - tooltip - A STATUS_* flag - - - - tooltip - Returns boolean value of the specified status (e.g. STATUS_PHANTOM) of the object the script is attached to. - - llGetSubString - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - String - - type - string - tooltip - - - - - Start - - type - integer - tooltip - - - - - End - - type - integer - tooltip - - - - - tooltip - Returns a sub-string from String, in a range specified by the Start and End indicies (inclusive).\nUsing negative numbers for Start and/or End causes the index to count backwards from the length of the string, so 0, -1 would capture the entire string.\nIf Start is greater than End, the sub string is the exclusion of the entries. - - llGetSunDirection - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns a normalized vector of the direction of the sun in the region.\nReturns the sun's direction on the simulator. - - llGetTexture - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Face - - type - integer - tooltip - - - - - tooltip - Returns a string that is the texture on face (the inventory name if it is a texture in the prim's inventory, otherwise the key).\nReturns the texture of a face, if it is found in object inventory, its key otherwise. - - llGetTextureOffset - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Face - - type - integer - tooltip - - - - - tooltip - Returns the texture offset of face in the x and y components of a vector. - - llGetTextureRot - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Face - - type - integer - tooltip - - - - - tooltip - Returns the texture rotation of side. - - llGetTextureScale - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Face - - type - integer - tooltip - - - - - tooltip - Returns the texture scale of side in the x and y components of a vector.\nReturns the texture scale of a side in the x and y components of a vector. - - llGetTime - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns the time in seconds since the last region reset, script reset, or call to either llResetTime or llGetAndResetTime. - - llGetTimeOfDay - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns the time in seconds since Second Life midnight or since region up-time, whichever is smaller.\nThe Second Life day cycle is 4 hours. - - llGetTimestamp - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - tooltip - Returns a time-stamp (UTC time zone) in the format: YYYY-MM-DDThh:mm:ss.ff..fZ. - - llGetTorque - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the torque (if the script is physical).\nReturns a vector that is the torque (if the script is physical). - - llGetUnixTime - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns the number of seconds elapsed since 00:00 hours, Jan 1, 1970 UTC from the system clock. - - llGetUsedMemory - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - tooltip - Returns the current used memory for the current script. Non-mono scripts always use 16K.\nReturns the integer of the number of bytes of memory currently in use by the script. Non-mono scripts always use 16K. - - llGetUsername - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Returns the username of an avatar, if the avatar is connected to the current region, or if the name has been cached. Otherwise, returns an empty string. Use llRequestUsername if the avatar may be absent from the region. - - llGetVel - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - tooltip - Returns the velocity of the object.\nReturns a vector that is the velocity of the object. - - llGetWallclock - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns the time in seconds since midnight California Pacific time (PST/PDT).\nReturns the time in seconds since simulator's time-zone midnight (Pacific Time). - - llGiveInventory - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - TargetID - - type - key - tooltip - - - - - InventoryItem - - type - string - tooltip - - - - - tooltip - Give InventoryItem to destination represented by TargetID, as permitted by the permissions system.\nTargetID may be any agent or an object in the same region. - - llGiveInventoryList - - energy - 10.0 - sleep - 3.0 - return - void - arguments - - - TargetID - - type - key - tooltip - - - - - FolderName - - type - string - tooltip - - - - - InventoryItems - - type - list - tooltip - - - - - tooltip - Give InventoryItems to destination (represented by TargetID) as a new folder of items, as permitted by the permissions system.\nTargetID may be any agent or an object in the same region. If TargetID is an object, the items are passed directly to the object inventory (no folder is created). - - llGiveMoney - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - AvatarID - - type - key - tooltip - - - - - Amount - - type - integer - tooltip - - - - - tooltip - Transfers Amount of L$ from script owner to AvatarID.\nThis call will silently fail if PERMISSION_DEBIT has not been granted. - - llGodLikeRezObject - - god-mode - true - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - InventoryItemID - - type - key - tooltip - - - - - Position - - type - vector - tooltip - - - - - tooltip - Rez directly off of a UUID if owner has god-bit set. - - llGround - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Offset - - type - vector - tooltip - - - - - tooltip - Returns the ground height at the object position + offset.\nReturns the ground height at the object's position + Offset. - - llGroundContour - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Offset - - type - vector - tooltip - - - - - tooltip - Returns the ground contour direction below the object position + Offset.\nReturns the ground contour at the object's position + Offset. - - llGroundNormal - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Offset - - type - vector - tooltip - - - - - tooltip - Returns the ground normal below the object position + offset.\nReturns the ground contour at the object's position + Offset. - - llGroundRepel - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Height - - type - float - tooltip - Distance above the ground. - - - - Water - - type - integer - tooltip - Boolean, if TRUE then hover above water too. - - - - Tau - - type - float - tooltip - Seconds to critically damp in. - - - - tooltip - Critically damps to height if within height * 0.5 of level (either above ground level or above the higher of land and water if water == TRUE).\nCritically damps to fHeight if within fHeight * 0.5 of ground or water level.\n - The height is above ground level if iWater is FALSE or above the higher of land and water if iWater is TRUE.\n - Do not use with vehicles. Only works in physics-enabled objects. - - llGroundSlope - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Offset - - type - vector - tooltip - - - - - tooltip - Returns the ground slope below the object position + Offset.\nReturns the ground slope at the object position + Offset. - - llHTTPRequest - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - URL - - type - string - tooltip - A valid HTTP/HTTPS URL. - - - - Parameters - - type - list - tooltip - Configuration parameters, specified as HTTP_* flag-value pairs. - - - - Body - - type - string - tooltip - Contents of the request. - - - - tooltip - Sends an HTTP request to the specified URL with the Body of the request and Parameters.\nReturns a key that is a handle identifying the HTTP request made. - - llHTTPResponse - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - HTTPRequestID - - type - key - tooltip - A valid HTTP request key. - - - - Status - - type - integer - tooltip - HTTP Status (200, 400, 404, etc.). - - - - Body - - type - string - tooltip - Contents of the response. - - - - tooltip - Responds to an incoming HTTP request which was triggerd by an http_request event within the script. HTTPRequestID specifies the request to respond to (this ID is supplied in the http_request event handler). Status and Body specify the status code and message to respond with. - - llInsertString - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - TargetVariable - - type - string - tooltip - - - - - Position - - type - integer - tooltip - - - - - SourceVariable - - type - string - tooltip - - - - - tooltip - Inserts SourceVariable into TargetVariable at Position, and returns the result.\nInserts SourceVariable into TargetVariable at Position and returns the result. Note this does not alter TargetVariable. - - llInstantMessage - - energy - 10.0 - sleep - 2.0 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - Text - - type - string - tooltip - - - - - tooltip - IMs Text to the user identified.\nSend Text to the user as an instant message. - - llIntegerToBase64 - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Value - - type - integer - tooltip - - - - - tooltip - Returns a string that is a Base64 big endian encode of Value.\nEncodes the Value as an 8-character Base64 string. - - llJson2List - - energy - 0.0 - sleep - 0.0 - return - list - arguments - - - JSON - - type - string - tooltip - - - - - tooltip - Converts the top level of the JSON string to a list. - - llJsonGetValue - - energy - 0.0 - sleep - 0.0 - return - string - arguments - - - JSON - - type - string - tooltip - - - - - Specifiers - - type - list - tooltip - - - - - tooltip - Gets the value indicated by Specifiers from the JSON string. - - llJsonSetValue - - energy - 0.0 - sleep - 0.0 - return - string - arguments - - - JSON - - type - string - tooltip - - - - - Specifiers - - type - list - tooltip - - - - - Value - - type - string - tooltip - - - - - tooltip - Returns a new JSON string that is the JSON given with the Value indicated by Specifiers set to Value. - - llJsonValueType - - energy - 0.0 - sleep - 0.0 - return - string - arguments - - - JSON - - type - string - tooltip - - - - - Specifiers - - type - list - tooltip - - - - - tooltip - Returns the type constant (JSON_*) for the value in JSON indicated by Specifiers. - - llKey2Name - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - ID - - type - key - tooltip - Avatar or rezzed prim UUID. - - - - tooltip - Returns the name of the prim or avatar specified by ID. The ID must be a valid rezzed prim or avatar key in the current simulator, otherwise an empty string is returned.\nFor avatars, the returned name is the legacy name - - llLinkParticleSystem - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag - - - - Rules - - type - list - tooltip - Particle system rules list in the format [ rule1, data1, rule2, data2 . . . ruleN, dataN ] - - - - tooltip - Creates a particle system in prim LinkNumber based on Rules. An empty list removes a particle system from object.\nList format is [ rule-1, data-1, rule-2, data-2 ... rule-n, data-n ].\nThis is identical to llParticleSystem except that it applies to a specified linked prim and not just the prim the script is in. - - llLinkSitTarget - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag of the prim. - - - - Offset - - type - vector - tooltip - Position for the sit target, relative to the prim's position. - - - - Rotation - - type - rotation - tooltip - Rotation (relative to the prim's rotation) for the avatar. - - - - tooltip - Set the sit location for the linked prim(s). If Offset == <0,0,0> clear it.\nSet the sit location for the linked prim(s). The sit location is relative to the prim's position and rotation. - - llList2CSV - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - ListVariable - - type - list - tooltip - - - - - tooltip - Creates a string of comma separated values from the list.\nCreate a string of comma separated values from the specified list. - - llList2Float - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - ListVariable - - type - list - tooltip - - - - - Index - - type - integer - tooltip - - - - - tooltip - Copies the float at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to a float, then zero is returned. - - llList2Integer - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - ListVariable - - type - list - tooltip - - - - - Index - - type - integer - tooltip - - - - - tooltip - Copies the integer at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to an integer, then zero is returned. - - llList2Json - - energy - 0 - sleep - 0 - return - string - arguments - - - JsonType - - type - string - tooltip - Type is JSON_ARRAY or JSON_OBJECT. - - - - Values - - type - list - tooltip - List of values to convert. - - - - tooltip - Converts either a strided list of key:value pairs to a JSON_OBJECT, or a list of values to a JSON_ARRAY. - - llList2Key - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - ListVariable - - type - list - tooltip - - - - - Index - - type - integer - tooltip - - - - - tooltip - Copies the key at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to a key, then null string is returned. - - llList2List - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - ListVariable - - type - list - tooltip - - - - - Start - - type - integer - tooltip - - - - - End - - type - integer - tooltip - - - - - tooltip - Returns a subset of entries from ListVariable, in a range specified by the Start and End indicies (inclusive).\nUsing negative numbers for Start and/or End causes the index to count backwards from the length of the string, so 0, -1 would capture the entire string.\nIf Start is greater than End, the sub string is the exclusion of the entries. - - llList2ListStrided - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - ListVariable - - type - list - tooltip - - - - - Start - - type - integer - tooltip - - - - - End - - type - integer - tooltip - - - - - Stride - - type - integer - tooltip - - - - - tooltip - Copies the strided slice of the list from Start to End.\nReturns a copy of the strided slice of the specified list from Start to End. - - llList2Rot - - energy - 10.0 - sleep - 0.0 - return - rotation - arguments - - - ListVariable - - type - list - tooltip - - - - - Index - - type - integer - tooltip - - - - - tooltip - Copies the rotation at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to rotation, thenZERO_ROTATION is returned. - - llList2String - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - ListVariable - - type - list - tooltip - - - - - Index - - type - integer - tooltip - - - - - tooltip - Copies the string at Index in the list.\nReturns the value at Index in the specified list as a string. If Index describes a location not in the list then null string is returned. - - llList2Vector - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - ListVariable - - type - list - tooltip - - - - - Index - - type - integer - tooltip - - - - - tooltip - Copies the vector at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to a vector, then ZERO_VECTOR is returned. - - llListen - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Channel - - type - integer - tooltip - - - - - SpeakersName - - type - string - tooltip - - - - - SpeakersID - - type - key - tooltip - - - - - Text - - type - string - tooltip - - - - - tooltip - Creates a listen callback for Text on Channel from SpeakersName and SpeakersID (SpeakersName, SpeakersID, and/or Text can be empty) and returns an identifier that can be used to deactivate or remove the listen.\nNon-empty values for SpeakersName, SpeakersID, and Text will filter the results accordingly, while empty strings and NULL_KEY will not filter the results, for string and key parameters respectively.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. - - llListenControl - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ChannelHandle - - type - integer - tooltip - - - - - Active - - type - integer - tooltip - - - - - tooltip - Makes a listen event callback active or inactive. Pass in the value returned from llListen to the iChannelHandle parameter to specify which listener you are controlling.\nUse boolean values to specify Active - - llListenRemove - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ChannelHandle - - type - integer - tooltip - - - - - tooltip - Removes a listen event callback. Pass in the value returned from llListen to the iChannelHandle parameter to specify which listener to remove. - - llListFindList - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - ListVariable - - type - list - tooltip - - - - - Find - - type - list - tooltip - - - - - tooltip - Returns the index of the first instance of Find in ListVariable. Returns -1 if not found.\nReturns the position of the first instance of the Find list in the ListVariable. Returns -1 if not found. - - llListInsertList - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - Target - - type - list - tooltip - - - - - ListVariable - - type - list - tooltip - - - - - Position - - type - integer - tooltip - - - - - tooltip - Returns a list that contains all the elements from Target but with the elements from ListVariable inserted at Position start.\nReturns a new list, created by inserting ListVariable into the Target list at Position. Note this does not alter the Target. - - llListRandomize - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - ListVariable - - type - list - tooltip - - - - - Stride - - type - integer - tooltip - - - - - tooltip - Returns a version of the input ListVariable which has been randomized by blocks of size Stride.\nIf the remainder from the length of the list, divided by the stride is non-zero, this function does not randomize the list. - - llListReplaceList - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - Target - - type - list - tooltip - - - - - ListVariable - - type - list - tooltip - - - - - Start - - type - integer - tooltip - - - - - End - - type - integer - tooltip - - - - - tooltip - Returns a list that is Target with Start through End removed and ListVariable inserted at Start.\nReturns a list replacing the slice of the Target list from Start to End with the specified ListVariable. Start and End are inclusive, so 0, 1 would replace the first two entries and 0, 0 would replace only the first list entry. - - llListSort - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - ListVariable - - type - list - tooltip - List to sort. - - - - Stride - - type - integer - tooltip - Stride length. - - - - Ascending - - type - integer - tooltip - Boolean. TRUE = result in ascending order, FALSE = result in descending order. - - - - tooltip - Returns the specified list, sorted into blocks of stride in ascending order (if Ascending is TRUE, otherwise descending). Note that sort only works if the first entry of each block is the same datatype. - - llListStatistics - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Operation - - type - integer - tooltip - One of LIST_STAT_* values - - - - ListVariable - - type - list - tooltip - Variable to analyze. - - - - tooltip - Performs a statistical aggregate function, specified by a LIST_STAT_* constant, on ListVariables.\nThis function allows a script to perform a statistical operation as defined by operation on a list composed of integers and floats. - - llLoadURL - - energy - 10.0 - sleep - 0.1 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - Text - - type - string - tooltip - - - - - URL - - type - string - tooltip - - - - - tooltip - Shows dialog to avatar AvatarID offering to load web page at URL. If user clicks yes, launches their web browser.\nllLoadURL displays a dialogue box to the user, offering to load the specified web page using the default web browser. - - llLog - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Value - - type - float - tooltip - - - - - tooltip - Returns the natural logarithm of Value. Returns zero if Value <= 0.\nReturns the base e (natural) logarithm of the specified Value. - - llLog10 - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Value - - type - float - tooltip - - - - - tooltip - Returns the base 10 logarithm of Value. Returns zero if Value <= 0.\nReturns the base 10 (common) logarithm of the specified Value. - - llLookAt - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Target - - type - vector - tooltip - - - - - Strength - - type - float - tooltip - - - - - Damping - - type - float - tooltip - - - - - tooltip - Cause object name to point its forward axis towards Target, at a force controlled by Strength and Damping.\nGood Strength values are around half the mass of the object and good Damping values are less than 1/10th of the Strength.\nAsymmetrical shapes require smaller Damping. A Strength of 0.0 cancels the look at. - - llLoopSound - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Sound - - type - string - tooltip - - - - - Volume - - type - float - tooltip - - - - - tooltip - Plays specified Sound, looping indefinitely, at Volume (0.0 - 1.0).\nOnly one sound may be attached to an object at a time.\nA second call to llLoopSound with the same key will not restart the sound, but the new volume will be used. This allows control over the volume of already playing sounds.\nSetting the volume to 0 is not the same as calling llStopSound; a sound with 0 volume will continue to loop.\nTo restart the sound from the beginning, call llStopSound before calling llLoopSound again. - - llLoopSoundMaster - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Sound - - type - string - tooltip - - - - - Volume - - type - float - tooltip - - - - - tooltip - Plays attached Sound, looping at volume (0.0 - 1.0), and declares it a sync master.\nBehaviour is identical to llLoopSound, with the addition of marking the source as a "Sync Master", causing "Slave" sounds to sync to it. If there are multiple masters within a viewers interest area, the most audible one (a function of both distance and volume) will win out as the master.\nThe use of multiple masters within a small area is unlikely to produce the desired effect. - - llLoopSoundSlave - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Sound - - type - string - tooltip - - - - - Volume - - type - float - tooltip - - - - - tooltip - Plays attached sound looping at volume (0.0 - 1.0), synced to most audible sync master.\nBehaviour is identical to llLoopSound, unless there is a "Sync Master" present.\nIf a Sync Master is already playing the Slave sound will begin playing from the same point the master is in its loop synchronizing the loop points of both sounds.\nIf a Sync Master is started when the Slave is already playing, the Slave will skip to the correct position to sync with the Master. - - llManageEstateAccess - - energy - 0.0 - sleep - 0.0 - return - integer - arguments - - - Action - - type - integer - tooltip - One of the ESTATE_ACCESS_ALLOWED_* actions. - - - - AvatarID - - type - key - tooltip - UUID of the avatar or group to act upon. - - - - tooltip - Adds or removes agents from the estate's agent access or ban lists, or groups to the estate's group access list. Action is one of the ESTATE_ACCESS_ALLOWED_* operations to perform.\nReturns an integer representing a boolean, TRUE if the call was successful; FALSE if throttled, invalid action, invalid or null id or object owner is not allowed to manage the estate.\nThe object owner is notified of any changes, unless PERMISSION_SILENT_ESTATE_MANAGEMENT has been granted to the script. - - llMapDestination - - energy - 10.0 - sleep - 1.0 - return - void - arguments - - - RegionName - - type - string - tooltip - - - - - Position - - type - vector - tooltip - - - - - Direction - - type - vector - tooltip - - - - - tooltip - Opens world map for avatar who touched is is wearing the script, centred on RegionName with Position highlighted. Only works for scripts attached to avatar, or during touch events.\nDirection currently has no effect. - - llMD5String - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Text - - type - string - tooltip - - - - - Nonce - - type - integer - tooltip - - - - - tooltip - Returns a string of 32 hex characters that is an RSA Data Security Inc., MD5 Message-Digest Algorithm of Text with Nonce used as the salt.\nReturns a 32-character hex string. (128-bit in binary.) - - llMessageLinked - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - LinkNumber - - type - integer - tooltip - - - - - Number - - type - integer - tooltip - - - - - Text - - type - string - tooltip - - - - - ID - - type - key - tooltip - - - - - tooltip - Sends Number, Text, and ID to members of the link set identified by LinkNumber.\nLinkNumber is either a linked number (available through llGetLinkNumber) or a LINK_* constant. - - llMinEventDelay - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Delay - - type - float - tooltip - - - - - tooltip - Set the minimum time between events being handled. - - llModifyLand - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Action - - type - integer - tooltip - LAND_LEVEL, LAND_RAISE, LAND_LOWER, LAND_SMOOTH, LAND_NOISE or LAND_REVERT - - - - Area - - type - integer - tooltip - 0, 1, 2 (2m x 2m, 4m x 4m, or 8m x 8m) - - - - tooltip - Modify land with action (LAND_LEVEL, LAND_RAISE, LAND_LOWER, LAND_SMOOTH, LAND_NOISE, LAND_REVERT) on size (0, 1, 2, corresponding to 2m x 2m, 4m x 4m, 8m x 8m). - - llModPow - - energy - 10.0 - sleep - 1.0 - return - integer - arguments - - - Value - - type - integer - tooltip - - - - - Power - - type - integer - tooltip - - - - - Modulus - - type - integer - tooltip - - - - - tooltip - Returns a Value raised to the Power, mod Modulus. ((a**b)%c) b is capped at 0xFFFF (16 bits).\nReturns (Value ^ Power) % Modulus. (Value raised to the Power, Modulus). Value is capped at 0xFFFF (16 bits). - - llMoveToTarget - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Target - - type - vector - tooltip - - - - - Tau - - type - float - tooltip - - - - - tooltip - Critically damp to Target in Tau seconds (if the script is physical).\nCritically damp to position target in tau-seconds if the script is physical. Good tau-values are greater than 0.2. A tau of 0.0 stops the critical damping. - - llOffsetTexture - - energy - 10.0 - sleep - 0.2 - return - void - arguments - - - OffsetS - - type - float - tooltip - - - - - OffsetT - - type - float - tooltip - - - - - Face - - type - integer - tooltip - - - - - tooltip - Sets the texture S and T offsets for the chosen Face.\nIf Face is ALL_SIDES this function sets the texture offsets for all faces. - - llOpenRemoteDataChannel - - deprecated - true - energy - 10.0 - sleep - 1.0 - return - void - arguments - - tooltip - Requests a channel to listen for XML-RPC calls. (Deprecated: XML-RPC should not be used. Use http-in instead.)\nWill trigger a remote_data event with type = REMOTE_DATA_CHANNEL and a channel ID (key) once it is available.\nThis channel ID must be referenced in the XML-RPC call to the script (from the internet) -- so the key must somehow get to the external XML-RPC client. - - llOverMyLand - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - ID - - type - key - tooltip - - - - - tooltip - Returns TRUE if id ID over land owned by the script owner, otherwise FALSE.\nReturns TRUE if key ID is over land owned by the object owner, FALSE otherwise. - - llOwnerSay - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Text - - type - string - tooltip - - - - - tooltip - says Text to owner only (if owner is in region).\nSays Text to the owner of the object running the script, if the owner has been within the object's simulator since logging into Second Life, regardless of where they may be in-world. - - llParcelMediaCommandList - - energy - 10.0 - sleep - 2.0 - return - void - arguments - - - CommandList - - type - list - tooltip - A list of PARCEL_MEDIA_COMMAND_* flags and their parameters - - - - tooltip - Controls the playback of multimedia resources on a parcel or for an agent, via one or more PARCEL_MEDIA_COMMAND_* arguments specified in CommandList. - - llParcelMediaQuery - - energy - 10.0 - sleep - 2.0 - return - list - arguments - - - QueryList - - type - list - tooltip - - - - - tooltip - Queries the media properties of the parcel containing the script, via one or more PARCEL_MEDIA_COMMAND_* arguments specified in CommandList.\nThis function will only work if the script is contained within an object owned by the land-owner (or if the land is owned by a group, only if the object has been deeded to the group). - - llParseString2List - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - Text - - type - string - tooltip - - - - - Separators - - type - list - tooltip - - - - - Spacers - - type - list - tooltip - - - - - tooltip - Converts Text into a list, discarding Separators, keeping Spacers (Separators and Spacers must be lists of strings, maximum of 8 each).\nSeparators and Spacers are lists of strings with a maximum of 8 entries each. - - llParseStringKeepNulls - - energy - 10.0 - sleep - 0.0 - return - list - arguments - - - Text - - type - string - tooltip - - - - - Separators - - type - list - tooltip - - - - - Spacers - - type - list - tooltip - - - - - tooltip - Breaks Text into a list, discarding separators, keeping spacers, keeping any null values generated. (separators and spacers must be lists of strings, maximum of 8 each).\nllParseStringKeepNulls works almost exactly like llParseString2List, except that if a null is found it will add a null-string instead of discarding it like llParseString2List does. - - llParticleSystem - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Parameters - - type - list - tooltip - - - - - tooltip - Creates a particle system in the prim the script is attached to, based on Parameters. An empty list removes a particle system from object.\nList format is [ rule-1, data-1, rule-2, data-2 ... rule-n, data-n ]. - - llPassCollisions - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Pass - - type - integer - tooltip - Boolean, if TRUE, collisions are passed from children on to parents. - - - - tooltip - Configures how collision events are passed to scripts in the linkset.\nIf Pass == TRUE, collisions involving collision-handling scripted child prims are also passed on to the root prim. If Pass == FALSE (default behavior), such collisions will only trigger events in the affected child prim. - - llPassTouches - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Pass - - type - integer - tooltip - Boolean, if TRUE, touches are passed from children on to parents. - - - - tooltip - Configures how touch events are passed to scripts in the linkset.\nIf Pass == TRUE, touches involving touch-handling scripted child prims are also passed on to the root prim. If Pass == FALSE (default behavior), such touches will only trigger events in the affected child prim. - - llPlaySound - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Sound - - type - string - tooltip - - - - - Volume - - type - float - tooltip - - - - - tooltip - Plays Sound once, at Volume (0.0 - 1.0) and attached to the object.\nOnly one sound may be attached to an object at a time, and attaching a new sound or calling llStopSound will stop the previously attached sound.\nA second call to llPlaySound with the same sound will not restart the sound, but the new volume will be used, which allows control over the volume of already playing sounds.\nTo restart the sound from the beginning, call llStopSound before calling llPlaySound again. - - llPlaySoundSlave - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Sound - - type - string - tooltip - - - - - Volume - - type - float - tooltip - - - - - tooltip - Plays attached Sound once, at Volume (0.0 - 1.0), synced to next loop of most audible sync master.\nBehaviour is identical to llPlaySound, unless there is a "Sync Master" present. If a Sync Master is already playing, the Slave sound will not be played until the Master hits its loop point and returns to the beginning.\nllPlaySoundSlave will play the sound exactly once; if it is desired to have the sound play every time the Master loops, either use llLoopSoundSlave with extra silence padded on the end of the sound or ensure that llPlaySoundSlave is called at least once per loop of the Master. - - llPow - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Value - - type - float - tooltip - - - - - Exponent - - type - float - tooltip - - - - - tooltip - Returns the Value raised to the power Exponent, or returns 0 and triggers Math Error for imaginary results.\nReturns the Value raised to the Exponent. - - llPreloadSound - - energy - 10.0 - sleep - 1.0 - return - void - arguments - - - Sound - - type - string - tooltip - - - - - tooltip - Causes nearby viewers to preload the Sound from the object's inventory.\nThis is intended to prevent delays in starting new sounds when called upon. - - llPushObject - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ObjectID - - type - key - tooltip - - - - - Impulse - - type - vector - tooltip - - - - - AngularImpulse - - type - vector - tooltip - - - - - Local - - type - integer - tooltip - - - - - tooltip - Applies Impulse and AngularImpulse to ObjectID.\nApplies the supplied impulse and angular impulse to the object specified. - - llRefreshPrimURL - - energy - 10.0 - sleep - 20.0 - return - void - arguments - - tooltip - Reloads the web page shown on the sides of the object. - - llRegionSay - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Channel - - type - integer - tooltip - Any integer value except zero. - - - - Text - - type - string - tooltip - Message to be transmitted. - - - - tooltip - Broadcasts Text to entire region on Channel (except for channel 0). - - llRegionSayTo - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - TargetID - - type - key - tooltip - Avatar or object to say to. - - - - Channel - - type - integer - tooltip - Output channel, any integer value. - - - - Text - - type - string - tooltip - Message to be transmitted. - - - - tooltip - Says Text, on Channel, to avatar or object indicated by TargetID (if within region).\nIf TargetID is an avatar and Channel is nonzero, Text can be heard by any attachment on the avatar. - - llReleaseCamera - - deprecated - true - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Return camera to agent.\nDeprecated: Use llClearCameraParams instead. - - llReleaseControls - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - Stop taking inputs.\nStop taking inputs from the avatar. - - llReleaseURL - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - URL - - type - string - tooltip - URL to release. - - - - tooltip - Releases the specified URL, which was previously obtained using llRequestURL. Once released, the URL will no longer be usable. - - llRemoteDataReply - - deprecated - true - energy - 10.0 - sleep - 3.0 - return - void - arguments - - - ChannelID - - type - key - tooltip - - - - - MessageID - - type - key - tooltip - - - - - sData - - type - string - tooltip - String data to send - - - - iData - - type - integer - tooltip - Integer data to send - - - - tooltip - Send an XML-RPC reply to MessageID on ChannelID with payload of string sData and integer iData. Deprecated: Use HTTP functions/events instead.\nThe size of sData is limited to 254 characters. - - llRemoteLoadScriptPin - - energy - 10.0 - sleep - 3.0 - return - void - arguments - - - ObjectID - - type - key - tooltip - Target prim to attempt copying into. - - - - ScriptName - - type - string - tooltip - Name of the script in current inventory to copy. - - - - PIN - - type - integer - tooltip - Integer set on target prim as a Personal Information Number code. - - - - Running - - type - integer - tooltip - If the script should be set running in the target prim. - - - - StartParameter - - type - integer - tooltip - Integer. Parameter passed to the script if set to be running. - - - - tooltip - If the owner of the object containing this script can modify the object identified by the specified object key, and if the PIN matches the PIN previously set using llSetRemoteScriptAccessPin (on the target prim), then the script will be copied into target. Running is a boolean specifying whether the script should be enabled once copied into the target object. - - llRemoveFromLandBanList - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Remove avatar from the land ban list.\nRemove specified avatar from the land parcel ban list. - - llRemoveFromLandPassList - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Remove avatar from the land pass list.\nRemove specified avatar from the land parcel pass list. - - llRemoveInventory - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - InventoryItem - - type - string - tooltip - - - - - tooltip - Remove the named inventory item.\nRemove the named inventory item from the object inventory. - - llRemoveVehicleFlags - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Vehiclelags - - type - integer - tooltip - - - - - tooltip - Removes the enabled bits in 'flags'.\nSets the vehicle flags to FALSE. Valid parameters can be found in the vehicle flags constants section. - - llRequestAgentData - - energy - 10.0 - sleep - 0.1 - return - key - arguments - - - AvatarID - - type - key - tooltip - - - - - Data - - type - integer - tooltip - - - - - tooltip - Requests data about AvatarID. When data is available the dataserver event will be raised.\nThis function requests data about an avatar. If and when the information is collected, the dataserver event is triggered with the key returned from this function passed in the requested parameter. See the agent data constants (DATA_*) for details about valid values of data and what each will return in the dataserver event. - - llRequestDisplayName - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - AvatarID - - type - key - tooltip - Avatar UUID - - - - tooltip - Requests the display name of the agent. When the display name is available the dataserver event will be raised.\nThe avatar identified does not need to be in the same region or online at the time of the request.\nReturns a key that is used to identify the dataserver event when it is raised. - - llRequestInventoryData - - energy - 10.0 - sleep - 1.0 - return - key - arguments - - - InventoryItem - - type - string - tooltip - - - - - tooltip - Requests data for the named InventoryItem.\nWhen data is available, the dataserver event will be raised with the key returned from this function in the requested parameter.\nThe only request currently implemented is to request data from landmarks, where the data returned is in the form "<float, float, float>" which can be cast to a vector. This position is in region local coordinates. - - llRequestPermissions - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - PermissionMask - - type - integer - tooltip - - - - - tooltip - Ask AvatarID to allow the script to perform certain actions, specified in the PermissionMask bitmask. PermissionMask should be one or more PERMISSION_* constants. Multiple permissions can be requested simultaneously by ORing the constants together. Many of the permissions requests can only go to object owner.\nThis call will not stop script execution. If the avatar grants the requested permissions, the run_time_permissions event will be called. - - llRequestSecureURL - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - tooltip - Requests one HTTPS:// (SSL) URL for use by this object. The http_request event is triggered with results.\nReturns a key that is the handle used for identifying the request in the http_request event. - - llRequestSimulatorData - - energy - 10.0 - sleep - 1.0 - return - key - arguments - - - RegionName - - type - string - tooltip - - - - - Data - - type - integer - tooltip - - - - - tooltip - Requests the specified Data about RegionName. When the specified data is available, the dataserver event is raised.\nData should use one of the DATA_SIM_* constants.\nReturns a dataserver query ID and triggers the dataserver event when data is found. - - llRequestURL - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - tooltip - Requests one HTTP:// URL for use by this script. The http_request event is triggered with the result of the request.\nReturns a key that is the handle used for identifying the result in the http_request event. - - llRequestUsername - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Requests single-word user-name of an avatar. When data is available the dataserver event will be raised.\nRequests the user-name of the identified agent. When the user-name is available the dataserver event is raised.\nThe agent identified does not need to be in the same region or online at the time of the request.\nReturns a key that is used to identify the dataserver event when it is raised. - - llResetAnimationOverride - - energy - 0 - sleep - 0 - return - void - arguments - - - AnimationState - - type - string - tooltip - - - - - tooltip - Resets the animation of the specified animation state to the default value.\nIf animation state equals "ALL", then all animation states are reset. - - llResetLandBanList - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - Removes all residents from the land ban list. - - llResetLandPassList - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - Removes all residents from the land access/pass list. - - llResetOtherScript - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ScriptName - - type - string - tooltip - - - - - tooltip - Resets the named script. - - llResetScript - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - Resets the script. - - llResetTime - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - Sets the time to zero.\nSets the internal timer to zero. - - llReturnObjectsByID - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - ObjectIDs - - type - list - tooltip - List of object UUIDs to be returned. - - - - tooltip - Return objects using their UUIDs.\nRequires the PERMISSION_RETURN_OBJECTS permission and that the script owner owns the parcel the returned objects are in, or is an estate manager or region owner. - - llReturnObjectsByOwner - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - ID - - type - key - tooltip - Object owner's UUID. - - - - Scope - - type - integer - tooltip - - - - - tooltip - Return objects based upon their owner and a scope of parcel, parcel owner, or region.\nRequires the PERMISSION_RETURN_OBJECTS permission and that the script owner owns the parcel the returned objects are in, or is an estate manager or region owner. - - llRezAtRoot - - energy - 200.0 - sleep - 0.1 - return - void - arguments - - - InventoryItem - - type - string - tooltip - - - - - Position - - type - vector - tooltip - - - - - Velocity - - type - vector - tooltip - - - - - Rotation - - type - rotation - tooltip - - - - - StartParameter - - type - integer - tooltip - - - - - tooltip - Instantiate owner's InventoryItem at Position with Velocity, Rotation and with StartParameter. The last selected root object's location will be set to Position.\nCreates object's inventory item at the given Position, with Velocity, Rotation, and StartParameter. - - llRezObject - - energy - 200 - sleep - 0.1 - return - void - arguments - - - InventoryItem - - type - string - tooltip - - - - - Position - - type - vector - tooltip - - - - - Velocity - - type - vector - tooltip - - - - - Rotation - - type - rotation - tooltip - - - - - StartParameter - - type - integer - tooltip - - - - - tooltip - Instantiate owners InventoryItem at Position with Velocity, Rotation and with start StartParameter.\nCreates object's inventory item at Position with Velocity and Rotation supplied. The StartParameter value will be available to the newly created object in the on_rez event or through the llGetStartParameter function.\nThe Velocity parameter is ignored if the rezzed object is not physical. - - llRot2Angle - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Rotation - - type - rotation - tooltip - - - - - tooltip - Returns the rotation angle represented by Rotation.\nReturns the angle represented by the Rotation. - - llRot2Axis - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Rotation - - type - rotation - tooltip - - - - - tooltip - Returns the rotation axis represented by Rotation.\nReturns the axis represented by the Rotation. - - llRot2Euler - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Rotation - - type - rotation - tooltip - - - - - tooltip - Returns the Euler representation (roll, pitch, yaw) of Rotation.\nReturns the Euler Angle representation of the Rotation. - - llRot2Fwd - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Rotation - - type - rotation - tooltip - - - - - tooltip - Returns the forward vector defined by Rotation.\nReturns the forward axis represented by the Rotation. - - llRot2Left - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Rotation - - type - rotation - tooltip - - - - - tooltip - Returns the left vector defined by Rotation.\nReturns the left axis represented by the Rotation. - - llRot2Up - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Rotation - - type - rotation - tooltip - - - - - tooltip - Returns the up vector defined by Rotation.\nReturns the up axis represented by the Rotation. - - llRotateTexture - - energy - 10.0 - sleep - 0.2 - return - void - arguments - - - Radians - - type - float - tooltip - - - - - Face - - type - integer - tooltip - - - - - tooltip - Sets the texture rotation for the specified Face to angle Radians.\nIf Face is ALL_SIDES, rotates the texture of all sides. - - llRotBetween - - energy - 10.0 - sleep - 0.0 - return - rotation - arguments - - - Vector1 - - type - vector - tooltip - - - - - Vector2 - - type - vector - tooltip - - - - - tooltip - Returns the rotation to rotate Vector1 to Vector2.\nReturns the rotation needed to rotate Vector1 to Vector2. - - llRotLookAt - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Rotation - - type - rotation - tooltip - - - - - Strength - - type - float - tooltip - - - - - Damping - - type - float - tooltip - - - - - tooltip - Cause object to rotate to Rotation, with a force function defined by Strength and Damping parameters. Good strength values are around half the mass of the object and good damping values are less than 1/10th of the strength.\nAsymmetrical shapes require smaller damping.\nA strength of 0.0 cancels the look at. - - llRotTarget - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Rotation - - type - rotation - tooltip - - - - - LeeWay - - type - float - tooltip - - - - - tooltip - Set rotations with error of LeeWay radians as a rotational target, and return an ID for the rotational target.\nThe returned number is a handle that can be used in at_rot_target and llRotTargetRemove. - - llRotTargetRemove - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Handle - - type - integer - tooltip - - - - - tooltip - Removes rotational target number.\nRemove rotational target indicated by the handle. - - llRound - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Value - - type - float - tooltip - - - - - tooltip - Returns Value rounded to the nearest integer.\nReturns the Value rounded to the nearest integer. - - llSameGroup - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - ID - - type - key - tooltip - - - - - tooltip - Returns TRUE if avatar ID is in the same region and has the same active group, otherwise FALSE.\nReturns TRUE if the object or agent identified is in the same simulator and has the same active group as this object. Otherwise, returns FALSE. - - llSay - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Channel - - type - integer - tooltip - Channel to use to say text on. - - - - Text - - type - string - tooltip - Text to say. - - - - tooltip - Says Text on Channel.\nThis chat method has a range of 20m radius.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. - - llScaleByFactor - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - ScalingFactor - - type - float - tooltip - The multiplier to be used with the prim sizes and their local positions. - - - - tooltip - Attempts to resize the entire object by ScalingFactor, maintaining the size-position ratios of the prims.\n\nResizing is subject to prim scale limits and linkability limits. This function can not resize the object if the linkset is physical, a pathfinding character, in a keyframed motion, or if resizing would cause the parcel to overflow.\nReturns a boolean (an integer) TRUE if it succeeds, FALSE if it fails. - - llScaleTexture - - energy - 10.0 - sleep - 0.2 - return - void - arguments - - - Horizontal - - type - float - tooltip - - - - - Vertical - - type - float - tooltip - - - - - Face - - type - integer - tooltip - - - - - tooltip - Sets the diffuse texture Horizontal and Vertical repeats on Face of the prim the script is attached to.\nIf Face == ALL_SIDES, all sides are set in one call.\nNegative values for horizontal and vertical will flip the texture. - - llScriptDanger - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Position - - type - vector - tooltip - - - - - tooltip - Returns TRUE if Position is over public land, sandbox land, land that doesn't allow everyone to edit and build, or land that doesn't allow outside scripts.\nReturns true if the position is over public land, land that doesn't allow everyone to edit and build, or land that doesn't allow outside scripts. - - llScriptProfiler - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - State - - type - integer - tooltip - PROFILE_NONE or PROFILE_SCRIPT_MEMORY flags to control the state. - - - - tooltip - Enables or disables script profiling options. Currently only supports PROFILE_SCRIPT_MEMORY (Mono only) and PROFILE_NONE.\nMay significantly reduce script performance. - - llSendRemoteData - - deprecated - true - energy - 10.0 - sleep - 3.0 - return - key - arguments - - - ChannelID - - type - key - tooltip - - - - - Destination - - type - string - tooltip - - - - - Value - - type - integer - tooltip - - - - - Text - - type - string - tooltip - - - - - tooltip - Deprecated: use HTTP functions and events instead.\nSends an XML-RPC request to Destination through ChannelID with payload of ChannelID (in a string), integer Value and string Text.\nReturns a key that is the message_id for the resulting remote_data events. - - llSensor - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Name - - type - string - tooltip - Object or avatar name. - - - - ID - - type - key - tooltip - Object or avatar UUID. - - - - Type - - type - integer - tooltip - Bit-field mask of AGENT, AGENT_BY_LEGACY_NAME, AGENT_BY_USERNAME, ACTIVE, PASSIVE, and/or SCRIPTED - - - - Range - - type - float - tooltip - Distance to scan. 0.0 - 96.0m. - - - - Arc - - type - float - tooltip - Angle, in radians, from the local x-axis of the prim to scan. - - - - tooltip - Performs a single scan for Name and ID with Type (AGENT, ACTIVE, PASSIVE, and/or SCRIPTED) within Range meters and Arc radians of forward vector.\nSpecifying a blank Name, 0 Type, or NULL_KEY ID will prevent filtering results based on that parameter. A range of 0.0 does not perform a scan.\nResults are returned in the sensor and no_sensor events. - - llSensorRemove - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - removes sensor.\nRemoves the sensor set by llSensorRepeat. - - llSensorRepeat - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Name - - type - string - tooltip - Object or avatar name. - - - - ID - - type - key - tooltip - Object or avatar UUID. - - - - Type - - type - integer - tooltip - Bit-field mask of AGENT, AGENT_BY_LEGACY_NAME, AGENT_BY_USERNAME, ACTIVE, PASSIVE, and/or SCRIPTED - - - - Range - - type - float - tooltip - Distance to scan. 0.0 - 96.0m. - - - - Arc - - type - float - tooltip - Angle, in radians, from the local x-axis of the prim to scan. - - - - Rate - - type - float - tooltip - Period, in seconds, between scans. - - - - tooltip - Initiates a periodic scan every Rate seconds, for Name and ID with Type (AGENT, ACTIVE, PASSIVE, and/or SCRIPTED) within Range meters and Arc radians of forward vector.\nSpecifying a blank Name, 0 Type, or NULL_KEY ID will prevent filtering results based on that parameter. A range of 0.0 does not perform a scan.\nResults are returned in the sensor and no_sensor events. - - llSetAlpha - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Opacity - - type - float - tooltip - - - - - Face - - type - integer - tooltip - - - - - tooltip - Sets the alpha (opacity) of Face.\nSets the alpha (opacity) value for Face. If Face is ALL_SIDES, sets the alpha for all faces. The alpha value is interpreted as an opacity percentage (1.0 is fully opaque, and 0.2 is mostly transparent). This function will clamp alpha values less than 0.1 to 0.1 and greater than 1.0 to 1. - - llSetAngularVelocity - - energy - 0.0 - sleep - 0.0 - return - void - arguments - - - AngVel - - type - vector - tooltip - The angular velocity to set the object to. - - - - Local - - type - integer - tooltip - If TRUE, the AngVel is treated as a local directional vector instead of a regional directional vector. - - - - tooltip - Sets an object's angular velocity to AngVel, in local coordinates if Local == TRUE (if the script is physical).\nHas no effect on non-physical objects. - - llSetAnimationOverride - - energy - 0 - sleep - 0 - return - void - arguments - - - AnimationState - - type - string - tooltip - - - - - AnimationName - - type - string - tooltip - - - - - tooltip - Sets the animation (in object inventory) that will play for the given animation state.\nTo use this function the script must obtain the PERMISSION_OVERRIDE_ANIMATIONS permission. - - llSetBuoyancy - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Buoyancy - - type - float - tooltip - - - - - tooltip - Set the tasks buoyancy (0 is none, < 1.0 sinks, 1.0 floats, > 1.0 rises).\nSet the object buoyancy. A value of 0 is none, less than 1.0 sinks, 1.0 floats, and greater than 1.0 rises. - - llSetCameraAtOffset - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Offset - - type - vector - tooltip - - - - - tooltip - Sets the camera used in this object, at offset, if an avatar sits on it.\nSets the offset that an avatar's camera will be moved to if the avatar sits on the object. - - llSetCameraEyeOffset - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Offset - - type - vector - tooltip - - - - - tooltip - Sets the camera eye offset used in this object if an avatar sits on it. - - llSetCameraParams - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Parameters - - type - list - tooltip - - - - - tooltip - Sets multiple camera parameters at once. List format is [ rule-1, data-1, rule-2, data-2 . . . rule-n, data-n ]. - - llSetClickAction - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Action - - type - integer - tooltip - A CLICK_ACTION_* flag - - - - tooltip - Sets the action performed when a prim is clicked upon. - - llSetColor - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Color - - type - vector - tooltip - - - - - Face - - type - integer - tooltip - - - - - tooltip - Sets the color, for the face.\nSets the color of the side specified. If Face is ALL_SIDES, sets the color on all faces. - - llSetContentType - - energy - 0.0 - sleep - 0.0 - return - void - arguments - - - HTTPRequestID - - type - key - tooltip - A valid http_request() key - - - - ContentType - - type - integer - tooltip - Media type to use with any following llHTTPResponse(HTTPRequestID, ...) - - - - tooltip - Set the media type of an LSL HTTP server response to ContentType.\nHTTPRequestID must be a valid http_request ID. ContentType must be one of the CONTENT_TYPE_* constants. - - llSetDamage - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Damage - - type - float - tooltip - - - - - tooltip - Sets the amount of damage that will be done to an avatar that this task hits. Task will be killed.\nSets the amount of damage that will be done to an avatar that this object hits. This object will be destroyed on damaging an avatar, and no collision event is triggered. - - llSetForce - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Force - - type - vector - tooltip - Directional force. - - - - Local - - type - integer - tooltip - Boolean, if TRUE uses local axis, if FALSE uses region axis. - - - - tooltip - Sets Force on object, in object-local coordinates if Local == TRUE (otherwise, the region reference frame is used).\nOnly works on physical objects. - - llSetForceAndTorque - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Force - - type - vector - tooltip - Directional force. - - - - Torque - - type - vector - tooltip - Torque force. - - - - Local - - type - integer - tooltip - Boolean, if TRUE uses local axis, if FALSE uses region axis. - - - - tooltip - Sets the Force and Torque of object, in object-local coordinates if Local == TRUE (otherwise, the region reference frame is used).\nOnly works on physical objects. - - llSetHoverHeight - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Height - - type - float - tooltip - Distance above the ground. - - - - Water - - type - integer - tooltip - Boolean, if TRUE then hover above water too. - - - - Tau - - type - float - tooltip - Seconds to critically damp in. - - - - tooltip - Critically damps a physical object to a Height (either above ground level or above the higher of land and water if water == TRUE).\nDo not use with vehicles. Use llStopHover to stop hovering. - - llSetInventoryPermMask - - god-mode - true - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - InventoryItem - - type - string - tooltip - An item in the prim's inventory - - - - PermissionFlag - - type - integer - tooltip - MASK_* flag - - - - PermissionMask - - type - integer - tooltip - Permission bit-field (PERM_* flags) - - - - tooltip - Sets the given permission mask to the new value on the inventory item. - - llSetKeyframedMotion - - energy - 0.0 - sleep - 0.0 - return - void - arguments - - - Keyframes - - type - list - tooltip - Strided keyframe list of the form: position, orientation, time. Each keyframe is interpreted relative to the previous transform of the object. - - - - Options - - type - list - tooltip - - - - - tooltip - Requests that a non-physical object be key-framed according to key-frame list.\nSpecify a list of times, positions, and orientations to be followed by an object. The object will be smoothly moved between key-frames by the simulator. Collisions with other non-physical or key-framed objects will be ignored (no script events will fire and collision processing will not occur). Collisions with physical objects will be computed and reported, but the key-framed object will be unaffected by those collisions.\nKeyframes is a strided list containing positional, rotational, and time data for each step in the motion. Options is a list containing optional arguments and parameters (specified by KFM_* constants). - - llSetLinkAlpha - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - LinkNumber - - type - integer - tooltip - - - - - Opacity - - type - float - tooltip - - - - - Face - - type - integer - tooltip - - - - - tooltip - If a prim exists in the link chain at LinkNumber, set Face to Opacity.\nSets the Face, on the linked prim specified, to the Opacity. - - llSetLinkCamera - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - LinkNumber - - type - integer - tooltip - Prim link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag - - - - EyeOffset - - type - vector - tooltip - Offset, relative to the object's centre and expressed in local coordinates, that the camera looks from. - - - - LookOffset - - type - vector - tooltip - Offset, relative to the object's centre and expressed in local coordinates, that the camera looks toward. - - - - tooltip - Sets the camera eye offset, and the offset that camera is looking at, for avatars that sit on the linked prim. - - llSetLinkColor - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. - - - - Color - - type - vector - tooltip - Color in RGB <R.R, G.G, B.B> - - - - Face - - type - integer - tooltip - Side number or ALL_SIDES. - - - - tooltip - If a task exists in the link chain at LinkNumber, set the Face to color.\nSets the color of the linked child's side, specified by LinkNumber. - - llSetLinkMedia - - energy - 0.0 - sleep - 0.0 - return - integer - arguments - - - Link - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims). - - - - Face - - type - integer - tooltip - Face number. - - - - Parameters - - type - list - tooltip - A set of name/value pairs (in no particular order) - - - - tooltip - Set the media parameters for a particular face on linked prim, specified by Link. Returns an integer that is a STATUS_* flag which details the success/failure of the operation(s).\nMediaParameters is a set of name/value pairs in no particular order. Parameters not specified are unchanged, or if new media is added then set to the default specified. - - llSetLinkPrimitiveParams - - energy - 10.0 - sleep - 0.2 - return - void - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag - - - - Parameters - - type - list - tooltip - - - - - tooltip - Set primitive parameters for LinkNumber based on Parameters.\nSets the parameters (or properties) of any linked prim in one step. - - llSetLinkPrimitiveParamsFast - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag - - - - Parameters - - type - list - tooltip - - - - - tooltip - Set primitive parameters for LinkNumber based on Parameters, without a delay.\nSet parameters for link number, from the list of Parameters, with no built-in script sleep. This function is identical to llSetLinkPrimitiveParams, except without the delay. - - llSetLinkTexture - - energy - 10.0 - sleep - 0.2 - return - void - arguments - - - LinkNumber - - type - integer - tooltip - - - - - Texture - - type - string - tooltip - - - - - Face - - type - integer - tooltip - - - - - tooltip - Sets the Texture of Face on a linked prim, specified by LinkNumber. Texture may be a UUID or name of a texture in prim inventory. - - llSetLinkTextureAnim - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag to effect - - - - Mode - - type - integer - tooltip - Bitmask of animation options. - - - - Face - - type - integer - tooltip - Specifies which object face to animate or ALL_SIDES. - - - - SizeX - - type - integer - tooltip - Horizontal frames (ignored for ROTATE and SCALE). - - - - SizeY - - type - integer - tooltip - Vertical frames (ignored for ROTATE and SCALE). - - - - Start - - type - float - tooltip - Start position/frame number (or radians for ROTATE). - - - - Length - - type - float - tooltip - Specifies the animation duration, in frames (or radians for ROTATE). - - - - Rate - - type - float - tooltip - Specifies the animation playback rate, in frames per second (must be greater than zero). - - - - tooltip - Animates a texture on the prim specified by LinkNumber, by setting the texture scale and offset.\nMode is a bitmask of animation options.\nFace specifies which object face to animate.\nSizeX and SizeY specify the number of horizontal and vertical frames.Start specifes the animation start point.\nLength specifies the animation duration.\nRate specifies the animation playback rate. - - llSetLocalRot - - energy - 10.0 - sleep - 0.2 - return - void - arguments - - - Rotation - - type - rotation - tooltip - - - - - tooltip - Sets the rotation of a child prim relative to the root prim. - - llSetMemoryLimit - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Limit - - type - integer - tooltip - The amount to reserve, which must be less than the allowed maximum (currently 64KB) and not already have been exceeded. - - - - tooltip - Requests Limit bytes to be reserved for this script.\nReturns TRUE or FALSE indicating whether the limit was set successfully.\nThis function has no effect if the script is running in the LSO VM. - - llSetObjectDesc - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Description - - type - string - tooltip - - - - - tooltip - Sets the description of the prim to Description.\nThe description field is limited to 127 characters. - - llSetObjectName - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Name - - type - string - tooltip - - - - - tooltip - Sets the prim's name to Name. - - llSetObjectPermMask - - god-mode - true - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - PermissionFlag - - type - integer - tooltip - MASK_* flag - - - - PermissionMask - - type - integer - tooltip - Permission bit-field (PERM_* flags) - - - - tooltip - Sets the specified PermissionFlag permission to the value specified by PermissionMask on the object the script is attached to. - - llSetParcelMusicURL - - energy - 10.0 - sleep - 2.0 - return - void - arguments - - - URL - - type - string - tooltip - - - - - tooltip - Sets the streaming audio URL for the parcel the object is on.\nThe object must be owned by the owner of the parcel; if the parcel is group owned the object must be owned by that group. - - llSetPayPrice - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Price - - type - integer - tooltip - The default price shown in the textu input field. - - - - QuickButtons - - type - list - tooltip - Specifies the 4 payment values shown in the payment dialog's buttons (or PAY_HIDE). - - - - tooltip - Sets the default amount when someone chooses to pay this object.\nPrice is the default price shown in the textu input field. QuickButtons specifies the 4 payment values shown in the payment dialog's buttons.\nInput field and buttons may be hidden with PAY_HIDE constant, and may be set to their default values using PAY_DEFAULT. - - llSetPhysicsMaterial - - energy - 0.0 - sleep - 0.0 - return - void - arguments - - - MaterialBits - - type - integer - tooltip - A bitmask specifying which of the parameters in the other arguments should be applied to the object. - - - - GravityMultiplier - - type - float - tooltip - - - - - Restitution - - type - float - tooltip - - - - - Friction - - type - float - tooltip - - - - - Density - - type - float - tooltip - - - - - tooltip - Sets the selected parameters of the object's physics behavior.\nMaterialBits is a bitmask specifying which of the parameters in the other arguments should be applied to the object. GravityMultiplier, Restitution, Friction, and Density are the possible parameters to manipulate. - - llSetPos - - energy - 10.0 - sleep - 0.2 - return - void - arguments - - - Position - - type - vector - tooltip - Region coordinates to move to (within 10m). - - - - tooltip - If the object is not physical, this function sets the position of the prim.\nIf the script is in a child prim, Position is treated as root relative and the link-set is adjusted.\nIf the prim is the root prim, the entire object is moved (up to 10m) to Position in region coordinates. - - llSetPrimitiveParams - - energy - 10.0 - sleep - 0.2 - return - void - arguments - - - Parameters - - type - list - tooltip - A list of changes. - - - - tooltip - This function changes the many properties (or "parameters") of a prim in one operation. Parameters is a list of changes. - - llSetPrimMediaParams - - energy - 10.0 - sleep - 1.0 - return - integer - arguments - - - Face - - type - integer - tooltip - Face number - - - - MediaParameters - - type - list - tooltip - A set of name/value pairs (in no particular order) - - - - tooltip - Sets the MediaParameters for a particular Face on the prim. Returns an integer that is a STATUS_* flag which details the success/failure of the operation(s).\nMediaParameters is a set of name/value pairs in no particular order. Parameters not specified are unchanged, or if new media is added then set to the default specified. - - llSetPrimURL - - deprecated - true - energy - 10.0 - sleep - 20.0 - return - void - arguments - - - URL - - type - string - tooltip - - - - - tooltip - Deprecated: Use llSetPrimMediaParams instead. - - llSetRegionPos - - energy - 0.0 - sleep - 0.0 - return - integer - arguments - - - Position - - type - vector - tooltip - Vector. The location to move to, in region coordinates. - - - - tooltip - Attempts to move the object so that the root prim is within 0.1m of Position.\nReturns an integer boolean, TRUE if the object is successfully placed within 0.1 m of Position, FALSE otherwise.\nPosition may be any location within the region or up to 10m across a region border.\nIf the position is below ground, it will be set to the ground level at that x,y location. - - llSetRemoteScriptAccessPin - - energy - 10.0 - sleep - 0.2 - return - void - arguments - - - PIN - - type - integer - tooltip - - - - - tooltip - If PIN is set to a non-zero number, the task will accept remote script loads via llRemoteLoadScriptPin() if it passes in the correct PIN. Othersise, llRemoteLoadScriptPin() is ignored. - - llSetRot - - energy - 10.0 - sleep - 0.2 - return - void - arguments - - - Rotation - - type - rotation - tooltip - - - - - tooltip - If the object is not physical, this function sets the rotation of the prim.\nIf the script is in a child prim, Rotation is treated as root relative and the link-set is adjusted.\nIf the prim is the root prim, the entire object is rotated to Rotation in the global reference frame. - - llSetScale - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Scale - - type - vector - tooltip - - - - - tooltip - Sets the prim's scale (size) to Scale. - - llSetScriptState - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ScriptName - - type - string - tooltip - - - - - Running - - type - integer - tooltip - - - - - tooltip - Enable or disable the script Running state of Script in the prim. - - llSetSitText - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Text - - type - string - tooltip - - - - - tooltip - Displays Text rather than 'Sit' in the viewer's context menu. - - llSetSoundQueueing - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - QueueEnable - - type - integer - tooltip - Boolean, sound queuing: TRUE enables, FALSE disables (default). - - - - tooltip - Sets whether successive calls to llPlaySound, llLoopSound, etc., (attached sounds) interrupt the currently playing sound.\nThe default for objects is FALSE. Setting this value to TRUE will make the sound wait until the current playing sound reaches its end. The queue is one level deep. - - llSetSoundRadius - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Radius - - type - float - tooltip - Maximum distance that sounds can be heard. - - - - tooltip - Limits radius for audibility of scripted sounds (both attached and triggered) to distance Radius. - - llSetStatus - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Status - - type - integer - tooltip - - - - - Value - - type - integer - tooltip - - - - - tooltip - Sets object status specified in Status bitmask (e.g. STATUS_PHYSICS|STATUS_PHANTOM) to boolean Value.\nFor a full list of STATUS_* constants, see wiki documentation. - - llSetText - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Text - - type - string - tooltip - - - - - Color - - type - vector - tooltip - - - - - Opacity - - type - float - tooltip - - - - - tooltip - Causes Text to float above the prim, using the specified Color and Opacity. - - llSetTexture - - energy - 10.0 - sleep - 0.2 - return - void - arguments - - - Texture - - type - string - tooltip - - - - - Face - - type - integer - tooltip - - - - - tooltip - Applies Texture to Face of prim.\nTexture may be a UUID or name of a texture in prim inventory.\nIf Face is ALL_SIDES, set the texture on all faces. - - llSetTextureAnim - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Mode - - type - integer - tooltip - Mask of Mode flags. - - - - Face - - type - integer - tooltip - Face number or ALL_SIDES. - - - - SizeX - - type - integer - tooltip - Horizontal frames (ignored for ROTATE and SCALE). - - - - SizeY - - type - integer - tooltip - Vertical frames (ignored for ROTATE and SCALE). - - - - Start - - type - float - tooltip - Start position/frame number (or radians for ROTATE). - - - - Length - - type - float - tooltip - number of frames to display (or radians for ROTATE). - - - - Rate - - type - float - tooltip - Frames per second (must not greater than zero). - - - - tooltip - Animates a texture by setting the texture scale and offset.\nMode is a bitmask of animation options.\nFace specifies which object face to animate.\nSizeX and SizeY specify the number of horizontal and vertical frames.Start specifes the animation start point.\nLength specifies the animation duration.\nRate specifies the animation playback rate. - - llSetTimerEvent - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Rate - - type - float - tooltip - - - - - tooltip - Causes the timer event to be triggered every Rate seconds.\n Passing in 0.0 stops further timer events. - - llSetTorque - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Torque - - type - vector - tooltip - Torque force. - - - - Local - - type - integer - tooltip - Boolean, if TRUE uses local axis, if FALSE uses region axis. - - - - tooltip - Sets the Torque acting on the script's object, in object-local coordinates if Local == TRUE (otherwise, the region reference frame is used).\nOnly works on physical objects. - - llSetTouchText - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Text - - type - string - tooltip - - - - - tooltip - Displays Text in the viewer context menu that acts on a touch. - - llSetVehicleFlags - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Flags - - type - integer - tooltip - - - - - tooltip - Enables the vehicle flags specified in the Flags bitmask.\nValid parameters can be found in the wiki documentation. - - llSetVehicleFloatParam - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ParameterName - - type - integer - tooltip - - - - - ParameterValue - - type - float - tooltip - - - - - tooltip - Sets a vehicle float parameter.\nValid parameters can be found in the wiki documentation. - - llSetVehicleRotationParam - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ParameterName - - type - integer - tooltip - - - - - ParameterValue - - type - rotation - tooltip - - - - - tooltip - Sets a vehicle rotation parameter.\nValid parameters can be found in the wiki documentation. - - llSetVehicleType - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Type - - type - integer - tooltip - - - - - tooltip - Activates the vehicle action on the object with vehicle preset Type.\nValid Types and an explanation of their characteristics can be found in wiki documentation. - - llSetVehicleVectorParam - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - ParameterName - - type - integer - tooltip - - - - - ParameterValue - - type - vector - tooltip - - - - - tooltip - Sets a vehicle vector parameter.\nValid parameters can be found in the wiki documentation. - - llSetVelocity - - energy - 0.0 - sleep - 0.0 - return - void - arguments - - - Velocity - - type - vector - tooltip - The velocity to apply. - - - - Local - - type - integer - tooltip - If TRUE, the Velocity is treated as a local directional vector instead of a regional directional vector. - - - - tooltip - If the object is physics-enabled, sets the object's linear velocity to Velocity.\nIf Local==TRUE, Velocity is treated as a local directional vector; otherwise, Velocity is treated as a global directional vector. - - llSHA1String - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Text - - type - string - tooltip - - - - - tooltip - Returns a string of 40 hex characters that is the SHA1 security Hash of Text. - - llShout - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Channel - - type - integer - tooltip - - - - - Text - - type - string - tooltip - - - - - tooltip - Shouts Text on Channel.\nThis chat method has a range of 100m radius.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. - - llSin - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Theta - - type - float - tooltip - - - - - tooltip - Returns the sine of Theta (Theta in radians). - - llSitTarget - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Offset - - type - vector - tooltip - - - - - Rotation - - type - rotation - tooltip - - - - - tooltip - Set the sit location for this object. If offset == ZERO_VECTOR, clears the sit target. - - llSleep - - energy - 0 - sleep - 0.0 - return - void - arguments - - - Time - - type - float - tooltip - - - - - tooltip - Put script to sleep for Time seconds. - - llSound - - deprecated - true - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Sound - - type - string - tooltip - - - - - Volume - - type - float - tooltip - - - - - Queue - - type - integer - tooltip - - - - - Loop - - type - integer - tooltip - - - - - tooltip - Deprecated: Use llPlaySound instead.\nPlays Sound at Volume and specifies whether the sound should loop and/or be enqueued. - - llSoundPreload - - deprecated - true - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Sound - - type - string - tooltip - - - - - tooltip - Deprecated: Use llPreloadSound instead.\nPreloads a sound on viewers within range. - - llSqrt - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Value - - type - float - tooltip - - - - - tooltip - Returns the square root of Value.\nTriggers a math runtime error for imaginary results (if Value < 0.0). - - llStartAnimation - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Animation - - type - string - tooltip - - - - - tooltip - This function plays the specified animation from playing on the avatar who received the script's most recent permissions request.\nAnimation may be an animation in task inventory or a built-in animation.\nRequires PERMISSION_TRIGGER_ANIMATION. - - llStopAnimation - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Animation - - type - string - tooltip - - - - - tooltip - This function stops the specified animation on the avatar who received the script's most recent permissions request.\nAnimation may be an animation in task inventory, a built-in animation, or the uuid of an animation.\nRequires PERMISSION_TRIGGER_ANIMATION. - - llStopHover - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - Stop hovering to a height (due to llSetHoverHeight()). - - llStopLookAt - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - Stop causing object to point at a target (due to llLookAt() or llRotLookAt()). - - llStopMoveToTarget - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - Stops critically damped motion (due to llMoveToTarget()). - - llStopSound - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - tooltip - Stops playback of the currently attached sound. - - llStringLength - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Text - - type - string - tooltip - - - - - tooltip - Returns an integer that is the number of characters in Text (not counting the null). - - llStringToBase64 - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Text - - type - string - tooltip - - - - - tooltip - Returns the string Base64 representation of the input string. - - llStringTrim - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Text - - type - string - tooltip - String to trim - - - - TrimType - - type - integer - tooltip - STRING_TRIM_HEAD, STRING_TRIM_TAIL, or STRING_TRIM. - - - - tooltip - Outputs a string, eliminating white-space from the start and/or end of the input string Text.\nValid options for TrimType:\nSTRING_TRIM_HEAD: trim all leading spaces in Text\nSTRING_TRIM_TAIL: trim all trailing spaces in Text\nSTRING_TRIM: trim all leading and trailing spaces in Text. - - llSubStringIndex - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Text - - type - string - tooltip - - - - - Sequence - - type - string - tooltip - - - - - tooltip - Returns an integer that is the index in Text where string pattern Sequence first appears. Returns -1 if not found. - - llTakeCamera - - deprecated - true - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Deprecated: Use llSetCameraParams instead. - - llTakeControls - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Controls - - type - integer - tooltip - Bit-field of CONTROL_* flags. - - - - Accept - - type - integer - tooltip - Boolean, determines whether control events are generated. - - - - PassOn - - type - integer - tooltip - Boolean, determines whether controls are disabled. - - - - tooltip - Take controls from the agent the script has permissions for.\nIf (Accept == (Controls & input)), send input to the script. PassOn determines whether Controls also perform their normal functions.\nRequires the PERMISSION_TAKE_CONTROLS permission to run. - - llTan - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Theta - - type - float - tooltip - - - - - tooltip - Returns the tangent of Theta (Theta in radians). - - llTarget - - energy - 10.0 - sleep - 0.0 - return - integer - arguments - - - Position - - type - vector - tooltip - - - - - Range - - type - float - tooltip - - - - - tooltip - This function is to have the script know when it has reached a position.\nIt registers a Position with a Range that triggers at_target and not_at_target events continuously until unregistered. - - llTargetOmega - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Axis - - type - vector - tooltip - - - - - SpinRate - - type - float - tooltip - - - - - Gain - - type - float - tooltip - - - - - tooltip - Attempt to spin at SpinRate with strength Gain on Axis.\nA spin rate of 0.0 cancels the spin. This function always works in object-local coordinates. - - llTargetRemove - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Target - - type - integer - tooltip - - - - - tooltip - Removes positional target Handle registered with llTarget. - - llTeleportAgent - - energy - 0 - sleep - 0 - return - void - arguments - - - AvatarID - - type - key - tooltip - UUID of avatar. - - - - LandmarkName - - type - string - tooltip - Name of landmark (in object contents), or empty string, to use. - - - - Position - - type - vector - tooltip - If no landmark was provided, the position within the current region to teleport the avatar to. - - - - LookAtPoint - - type - vector - tooltip - The position within the target region that the avatar should be turned to face upon arrival. - - - - tooltip - Requests a teleport of avatar to a landmark stored in the object's inventory. If no landmark is provided (an empty string), the avatar is teleported to the location position in the current region. In either case, the avatar is turned to face the position given by look_at in local coordinates.\nRequires the PERMISSION_TELEPORT permission. This function can only teleport the owner of the object. - - llTeleportAgentGlobalCoords - - energy - 0 - sleep - 0 - return - void - arguments - - - AvatarID - - type - key - tooltip - UUID of avatar. - - - - GlobalPosition - - type - vector - tooltip - Global coordinates of the destination region. Can be retrieved by using llRequestSimulatorData(region_name, DATA_SIM_POS). - - - - RegionPosition - - type - vector - tooltip - The position within the target region to teleport the avatar to, if no landmark was provided. - - - - LookAtPoint - - type - vector - tooltip - The position within the target region that the avatar should be turned to face upon arrival. - - - - tooltip - Teleports an agent to the RegionPosition local coordinates within a region which is specified by the GlobalPosition global coordinates. The agent lands facing the position defined by LookAtPoint local coordinates.\nRequires the PERMISSION_TELEPORT permission. This function can only teleport the owner of the object. - - llTeleportAgentHome - - energy - 100.0 - sleep - 5.0 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - Teleport agent over the owner's land to agent's home location. - - llTextBox - - energy - 10.0 - sleep - 1.0 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - Text - - type - string - tooltip - - - - - Channel - - type - integer - tooltip - - - - - tooltip - Opens a dialog for the specified avatar with message Text, which contains a text box for input. Any text that is entered is said on the specified Channel (as if by the avatar) when the "OK" button is clicked. - - llToLower - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Text - - type - string - tooltip - - - - - tooltip - Returns a string that is Text with all lower-case characters. - - llToUpper - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Text - - type - string - tooltip - - - - - tooltip - Returns a string that is Text with all upper-case characters. - - llTransferLindenDollars - - energy - 10.0 - sleep - 0.0 - return - key - arguments - - - AvatarID - - type - key - tooltip - - - - - Amount - - type - integer - tooltip - - - - - tooltip - Transfer Amount of linden dollars (L$) from script owner to AvatarID. Returns a key to a corresponding transaction_result event for the success of the transfer.\nAttempts to send the amount of money to the specified avatar, and trigger a transaction_result event identified by the returned key. - - llTriggerSound - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Sound - - type - string - tooltip - - - - - Volume - - type - float - tooltip - - - - - tooltip - Plays Sound at Volume (0.0 - 1.0), centered at but not attached to object.\nThere is no limit to the number of triggered sounds which can be generated by an object, and calling llTriggerSound does not affect the attached sounds created by llPlaySound and llLoopSound. This is very useful for things like collision noises, explosions, etc. There is no way to stop or alter the volume of a sound triggered by this function. - - llTriggerSoundLimited - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Sound - - type - string - tooltip - - - - - Volume - - type - float - tooltip - - - - - TNE - - type - vector - tooltip - - - - - BSW - - type - vector - tooltip - - - - - tooltip - Plays Sound at Volume (0.0 - 1.0), centered at but not attached to object, limited to axis-aligned bounding box defined by vectors top-north-east (TNE) and bottom-south-west (BSW).\nThere is no limit to the number of triggered sounds which can be generated by an object, and calling llTriggerSound does not affect the attached sounds created by llPlaySound and llLoopSound. This is very useful for things like collision noises, explosions, etc. There is no way to stop or alter the volume of a sound triggered by this function. - - llUnescapeURL - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - URL - - type - string - tooltip - - - - - tooltip - Returns the string that is the URL unescaped, replacing "%20" with spaces, etc., version of URL.\nThis function can output raw UTF-8 strings. - - llUnSit - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - AvatarID - - type - key - tooltip - - - - - tooltip - If agent identified by AvatarID is sitting on the object the script is attached to or is over land owned by the objects owner, the agent is forced to stand up. - - llVecDist - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Location1 - - type - vector - tooltip - - - - - Location2 - - type - vector - tooltip - - - - - tooltip - Returns the distance between Location1 and Location2. - - llVecMag - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Vector - - type - vector - tooltip - - - - - tooltip - Returns the magnitude of the vector. - - llVecNorm - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Vector - - type - vector - tooltip - - - - - tooltip - Returns normalized vector. - - llVolumeDetect - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - DetectEnabled - - type - integer - tooltip - TRUE enables, FALSE disables. - - - - tooltip - If DetectEnabled = TRUE, object becomes phantom but triggers collision_start and collision_end events when other objects start and stop interpenetrating.\nIf another object (including avatars) interpenetrates it, it will get a collision_start event.\nWhen an object stops interpenetrating, a collision_end event is generated. While the other is inter-penetrating, collision events are NOT generated. - - llWater - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - - Offset - - type - vector - tooltip - - - - - tooltip - Returns the water height below the object position + Offset. - - llWhisper - - energy - 10.0 - sleep - 0.0 - return - void - arguments - - - Channel - - type - integer - tooltip - - - - - Text - - type - string - tooltip - - - - - tooltip - Whispers Text on Channel.\nThis chat method has a range of 10m radius.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. - - llWind - - energy - 10.0 - sleep - 0.0 - return - vector - arguments - - - Offset - - type - vector - tooltip - - - - - tooltip - Returns the wind velocity at the object position + Offset. - - llXorBase64 - - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Text1 - - type - string - tooltip - - - - - Text2 - - type - string - tooltip - - - - - tooltip - Performs an exclusive OR on two Base64 strings and returns a Base64 string. Text2 repeats if it is shorter than Text1. - - llXorBase64Strings - - deprecated - true - energy - 10.0 - sleep - 0.3 - return - string - arguments - - - Text1 - - type - string - tooltip - - - - - Text2 - - type - string - tooltip - - - - - tooltip - Deprecated: Please use llXorBase64 instead.\nIncorrectly performs an exclusive OR on two Base64 strings and returns a Base64 string. Text2 repeats if it is shorter than Text1.\nRetained for backwards compatibility. - - llXorBase64StringsCorrect - - deprecated - true - energy - 10.0 - sleep - 0.0 - return - string - arguments - - - Text1 - - type - string - tooltip - - - - - Text2 - - type - string - tooltip - - - - - tooltip - Deprecated: Please use llXorBase64 instead.\nCorrectly (unless nulls are present) performs an exclusive OR on two Base64 strings and returns a Base64 string.\nText2 repeats if it is shorter than Text1. - - llGetMinScaleFactor - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns the smallest multiplicative uniform scale factor that can be successfully applied (via llScaleByFactor()) to the object without violating prim size or linkability rules. - - llGetMaxScaleFactor - - energy - 10.0 - sleep - 0.0 - return - float - arguments - - tooltip - Returns the largest multiplicative uniform scale factor that can be successfully applied (via llScaleByFactor()) to the object without violating prim size or linkability rules. - - osAgentSaveAppearance - - energy - 0.0 - sleep - - return - key - arguments - - - AvatarID - - type - key - tooltip - - - - - notecard - - type - string - tooltip - - - - - tooltip - Creates a notecard with the specified avatar's current appearance inside the object - - - llsd-lsl-syntax-version - 2 - - + +controls + + do + + tooltip + do / while loop\ndo {\n...\n} while (<condition>); + + else + + tooltip + if / else block\nif (<condition>) {\n...\n[} else [if (<condition>) {\n...]]\n} + + for + + tooltip + for loop\nfor (<initializer>; <condition>; <post-iteration-statement>)\n{ ...\n} + + if + + tooltip + if / else block\nif (<condition>) {\n...\n[} else [if (<condition>) {\n...]]\n} + + jump + + tooltip + jump statement\njump <label> + + return + + tooltip + Leave current event or function.\nreturn [<variable>];\nOptionally pass back a variable's value, from a function. + + state + + tooltip + state <target>\nIf the target state is not the same as the current one, change to the target state. + + while + + tooltip + while loop\nwhile (<condition>) {\n,,,\n} + + + +types + + float + + tooltip + 32 bit floating point value.\nThe range is 1.175494351E-38 to 3.402823466E+38 + + integer + + tooltip + 32 bit integer value.\n−2,147,483,648 and +2,147,483,647 + + key + + tooltip + A 128 bit unique identifier (UUID) + + list + + tooltip + A collection of other data types. e.g. [0, 1, 2, 3, 4] or ["Yes", "No", "Perhaps"]. + + rotation + + tooltip + The rotation as quaternion <x, y, z, s> + + string + + tooltip + Text data.\nThe editor accepts UTF-8 encoded text. + + vector + + tooltip + A vector <x, y, z, s> + + + +constants + + ACTIVE + + type + integer + value + 0x2 + tooltip + Objects in world that are running a script or currently physically moving. + + AGENT + + type + integer + value + 0x1 + tooltip + Objects in world that are agents. + + AGENT_ALWAYS_RUN + + type + integer + value + 0x1000 + tooltip + + + AGENT_ATTACHMENTS + + type + integer + value + 0x2 + tooltip + The agent has attachments. + + AGENT_AUTOPILOT + + type + integer + value + 0x2000 + tooltip + + + AGENT_AWAY + + type + integer + value + 0x40 + tooltip + + + AGENT_BUSY + + type + integer + value + 0x800 + tooltip + + + AGENT_BY_LEGACY_NAME + + type + integer + value + 0x1 + tooltip + + + AGENT_BY_USERNAME + + type + integer + value + 0x10 + tooltip + + + AGENT_CROUCHING + + type + integer + value + 0x400 + tooltip + + + AGENT_FLYING + + type + integer + value + 0x1 + tooltip + The agent is flying. + + AGENT_IN_AIR + + type + integer + value + 0x100 + tooltip + + + AGENT_LIST_PARCEL + + type + integer + value + 1 + tooltip + Agents on the same parcel where the script is running + + AGENT_LIST_PARCEL_OWNER + + type + integer + value + 2 + tooltip + Agents on any parcel in the region where the parcel owner is the same as the owner of the parcel under the scripted object. + + AGENT_LIST_REGION + + type + integer + value + 4 + tooltip + All agents in the region + + AGENT_LIST_EXCLUDENPC + + type + integer + value + 0x4000000 + tooltip + Exclude NPCs + + AGENT_MALE + + type + integer + value + 0x40000000 + tooltip + + + AGENT_MOUSELOOK + + type + integer + value + 0x8 + tooltip + + + AGENT_ON_OBJECT + + type + integer + value + 0x20 + tooltip + + + AGENT_SCRIPTED + + type + integer + value + 0x4 + tooltip + The agent has scripted attachments + + AGENT_SITTING + + type + integer + value + 0x10 + tooltip + + + AGENT_TYPING + + type + integer + value + 0x200 + tooltip + + + AGENT_WALKING + + type + integer + value + 0x80 + tooltip + + + ALL_SIDES + + type + integer + value + -1 + tooltip + + + ANIM_ON + + type + integer + value + 0x1 + tooltip + Texture animation is on. + + ATTACH_AVATAR_CENTER + + type + integer + value + 40 + tooltip + Attach to the avatar's geometric centre + + ATTACH_BACK + + type + integer + value + 9 + tooltip + Attach to the avatar's back + + ATTACH_BELLY + + type + integer + value + 28 + tooltip + Attach to the avatar's belly. + + ATTACH_CHEST + + type + integer + value + 1 + tooltip + Attach to the avatar's chest. + + ATTACH_CHIN + + type + integer + value + 12 + tooltip + Attach to the avatar's chin + + ATTACH_HEAD + + type + integer + value + 2 + tooltip + Attach to the avatar's head + + ATTACH_HUD_BOTTOM + + type + integer + value + 37 + tooltip + + + ATTACH_HUD_BOTTOM_LEFT + + type + integer + value + 36 + tooltip + + + ATTACH_HUD_BOTTOM_RIGHT + + type + integer + value + 38 + tooltip + + + ATTACH_HUD_CENTER_1 + + type + integer + value + 35 + tooltip + + + ATTACH_HUD_CENTER_2 + + type + integer + value + 31 + tooltip + + + ATTACH_HUD_TOP_CENTER + + type + integer + value + 33 + tooltip + + + ATTACH_HUD_TOP_LEFT + + type + integer + value + 34 + tooltip + + + ATTACH_HUD_TOP_RIGHT + + type + integer + value + 32 + tooltip + + + ATTACH_LEAR + + type + integer + value + 13 + tooltip + Attach to the avatar's left ear + + ATTACH_LEFT_PEC + + type + integer + value + 29 + tooltip + Attach to the avatar's left pectoral. + + ATTACH_LEYE + + type + integer + value + 15 + tooltip + Attach to the avatar's left eye. + + ATTACH_LFOOT + + type + integer + value + 7 + tooltip + Attach to the avatar's left foot + + ATTACH_LHAND + + type + integer + value + 5 + tooltip + Attach to the avatar's left hand. + + ATTACH_LHIP + + type + integer + value + 25 + tooltip + Attach to the avatar's left hip. + + ATTACH_LLARM + + type + integer + value + 21 + tooltip + Attach to the avatar's left lower arm + + ATTACH_LLLEG + + type + integer + value + 27 + tooltip + Attach to the avatar's lower left leg. + + ATTACH_LPEC + + deprecated + true + type + integer + value + 30 + tooltip + Attach to the avatar's right pectoral. (Deprecated, use ATTACH_RIGHT_PEC) + + ATTACH_LSHOULDER + + type + integer + value + 3 + tooltip + Attach to the avatar's left shoulder. + + ATTACH_LUARM + + type + integer + value + 20 + tooltip + Attach to the avatar's left upper arm + + ATTACH_LULEG + + type + integer + value + 26 + tooltip + Attach to the avatar's lower upper leg. + + ATTACH_MOUTH + + type + integer + value + 11 + tooltip + Attach to the avatar's mouth. + + ATTACH_NECK + + type + integer + value + 39 + tooltip + Attach to the avatar's neck + + ATTACH_NOSE + + type + integer + value + 17 + tooltip + Attach to the avatar's nose. + + ATTACH_PELVIS + + type + integer + value + 10 + tooltip + Attach to the avatar's pelvis. + + ATTACH_REAR + + type + integer + value + 14 + tooltip + Attach to the avatar's right ear. + + ATTACH_REYE + + type + integer + value + 16 + tooltip + Attach to the avatar's right eye + + ATTACH_RFOOT + + type + integer + value + 8 + tooltip + Attach to the avatar's right foot + + ATTACH_RHAND + + type + integer + value + 6 + tooltip + Attach to the avatar's right hand + + ATTACH_RHIP + + type + integer + value + 22 + tooltip + Attach to the avatar's right hip + + ATTACH_RIGHT_PEC + + type + integer + value + 30 + tooltip + Attach to the avatar's right pectoral. + + ATTACH_RLARM + + type + integer + value + 19 + tooltip + Attach to the avatar's right lower arm. + + ATTACH_RLLEG + + type + integer + value + 24 + tooltip + Attach to the avatar's right lower leg + + ATTACH_RPEC + + deprecated + true + type + integer + value + 29 + tooltip + Attach to the avatar's left pectoral. (deprecated, use ATTACH_LEFT_PEC) + + ATTACH_RSHOULDER + + type + integer + value + 4 + tooltip + Attach to the avatar's right shoulder + + ATTACH_RUARM + + type + integer + value + 18 + tooltip + Attach to the avatar's right upper arm + + ATTACH_RULEG + + type + integer + value + 23 + tooltip + Attach to the avatar's right upper leg + + ATTACH_LHAND_RING1 + + type + integer + value + 41 + tooltip + Attach to the avatar's left ring finger + + ATTACH_RHAND_RING1 + + type + integer + value + 42 + tooltip + Attach to the avatar's right ring finger + + ATTACH_TAIL_BASE + + type + integer + value + 43 + tooltip + Attach to the avatar's tail base + + ATTACH_TAIL_TIP + + type + integer + value + 44 + tooltip + Attach to the avatar's tail tip + + ATTACH_LWING + + type + integer + value + 45 + tooltip + Attach to the avatar's left wing + + ATTACH_RWING + + type + integer + value + 46 + tooltip + Attach to the avatar's right wing + + ATTACH_FACE_JAW + + type + integer + value + 47 + tooltip + Attach to the avatar's jaw. + + ATTACH_FACE_LEAR + + type + integer + value + 48 + tooltip + Attach to the avatar's left ear (extended) + + ATTACH_FACE_REAR + + type + integer + value + 49 + tooltip + Attach to the avatar's right ear + + ATTACH_FACE_LEYE + + type + integer + value + 50 + tooltip + Attach to the avatar's left eye (extended) + + ATTACH_FACE_REYE + + type + integer + value + 51 + tooltip + Attach to the avatar's right eye (extended) + + ATTACH_FACE_TONGUE + + type + integer + value + 52 + tooltip + Attach to the avatar's tongue + + ATTACH_GROIN + + type + integer + value + 53 + tooltip + Attach to the avatar's groin + + ATTACH_HIND_LFOOT + + type + integer + value + 54 + tooltip + Attach to the avatar's left hind foot + + ATTACH_HIND_RFOOT + + type + integer + value + 55 + tooltip + Attach to the avatar's right hind foot + + CAMERA_ACTIVE + + type + integer + value + 12 + tooltip + + + CAMERA_BEHINDNESS_ANGLE + + type + integer + value + 8 + tooltip + + + CAMERA_BEHINDNESS_LAG + + type + integer + value + 9 + tooltip + + + CAMERA_DISTANCE + + type + integer + value + 7 + tooltip + + + CAMERA_FOCUS + + type + integer + value + 17 + tooltip + + + CAMERA_FOCUS_X + + type + integer + value + 18 + tooltip + + + CAMERA_FOCUS_Y + + type + integer + value + 19 + tooltip + + + CAMERA_FOCUS_Z + + type + integer + value + 19 + tooltip + + + CAMERA_FOCUS_LAG + + type + integer + value + 6 + tooltip + + + CAMERA_FOCUS_LOCKED + + type + integer + value + 22 + tooltip + + + CAMERA_FOCUS_OFFSET + + type + integer + value + 1 + tooltip + + + CAMERA_FOCUS_OFFSET_X + + type + integer + value + 2 + tooltip + + + CAMERA_FOCUS_OFFSET_Y + + type + integer + value + 3 + tooltip + + + CAMERA_FOCUS_OFFSET_Z + + type + integer + value + 4 + tooltip + + + CAMERA_FOCUS_THRESHOLD + + type + integer + value + 11 + tooltip + + + CAMERA_PITCH + + type + integer + value + 0 + tooltip + + + CAMERA_POSITION + + type + integer + value + 13 + tooltip + + + CAMERA_POSITION_X + + type + integer + value + 14 + tooltip + + + CAMERA_POSITION_Y + + type + integer + value + 15 + tooltip + + + CAMERA_POSITION_Z + + type + integer + value + 16 + tooltip + + + CAMERA_POSITION_LAG + + type + integer + value + 5 + tooltip + + + CAMERA_POSITION_LOCKED + + type + integer + value + 21 + tooltip + + + CAMERA_POSITION_THRESHOLD + + type + integer + value + 10 + tooltip + + + CHANGED_ALLOWED_DROP + + type + integer + value + 0x40 + tooltip + The object inventory has changed because an item was added through the llAllowInventoryDrop interface. + + CHANGED_ANIMATION + + type + integer + value + 0x4000 + tooltip + The set of animations playing on the avatar to whom this object is attached has been changed. + + CHANGED_COLOR + + type + integer + value + 0x2 + tooltip + The object color has changed. + + CHANGED_INVENTORY + + type + integer + value + 0x1 + tooltip + The object inventory has changed. + + CHANGED_LINK + + type + integer + value + 0x20 + tooltip + The object has linked or its links were broken. + + CHANGED_MEDIA + + type + integer + value + 0x800 + tooltip + + + CHANGED_OWNER + + type + integer + value + 0x80 + tooltip + + + CHANGED_REGION + + type + integer + value + 0x100 + tooltip + + + CHANGED_REGION_START + + type + integer + value + 0x400 + tooltip + Parameter of changed event handler used to indicate the region has been restarted same as CHANGED_REGION_RESTART. + + CHANGED_REGION_RESTART + + type + integer + value + 0x400 + tooltip + Parameter of changed event handler used to indicate the region has been restarted same as CHANGED_REGION_START. + + CHANGED_SCALE + + type + integer + value + 0x8 + tooltip + The object scale (size) has changed. + + CHANGED_SHAPE + + type + integer + value + 0x4 + tooltip + The object base shape has changed, e.g., a box to a cylinder. + + CHANGED_TELEPORT + + type + integer + value + 0x200 + tooltip + + + CHANGED_TEXTURE + + type + integer + value + 0x10 + tooltip + The texture offset, scale rotation, or simply the object texture has changed. + + CLICK_ACTION_BUY + + type + integer + value + 2 + tooltip + When the prim is clicked, the buy dialog is opened. + + CLICK_ACTION_NONE + + type + integer + value + 0 + tooltip + Performs the default action: when the prim is clicked, touch events are triggered. + + CLICK_ACTION_OPEN + + type + integer + value + 4 + tooltip + When the prim is clicked, the object inventory dialog is opened. + + CLICK_ACTION_OPEN_MEDIA + + type + integer + value + 6 + tooltip + When the prim is touched, the web media dialog is opened. + + CLICK_ACTION_PAY + + type + integer + value + 3 + tooltip + When the prim is clicked, the pay dialog is opened. + + CLICK_ACTION_PLAY + + type + integer + value + 5 + tooltip + When the prim is clicked, html-on-a-prim is enabled? + + CLICK_ACTION_SIT + + type + integer + value + 1 + tooltip + When the prim is clicked, the avatar sits upon it. + + CLICK_ACTION_TOUCH + + type + integer + value + 0 + tooltip + When the prim is clicked, touch events are triggered. + + CONTENT_TYPE_ATOM + + type + integer + value + 4 + tooltip + "application/atom+xml" + + CONTENT_TYPE_FORM + + type + integer + value + 7 + tooltip + "application/x-www-form-urlencoded" + + CONTENT_TYPE_HTML + + type + integer + value + 1 + tooltip + "text/html", only valid for embedded browsers on content owned by the person viewing. Falls back to "text/plain" otherwise. + + CONTENT_TYPE_JSON + + type + integer + value + 5 + tooltip + "application/json" + + CONTENT_TYPE_LLSD + + type + integer + value + 6 + tooltip + "application/llsd+xml" + + CONTENT_TYPE_RSS + + type + integer + value + 8 + tooltip + "application/rss+xml" + + CONTENT_TYPE_TEXT + + type + integer + value + 0 + tooltip + "text/plain" + + CONTENT_TYPE_XHTML + + type + integer + value + 3 + tooltip + "application/xhtml+xml" + + CONTENT_TYPE_XML + + type + integer + value + 2 + tooltip + "application/xml" + + CONTROL_BACK + + type + integer + value + 0x2 + tooltip + Test for the avatar move back control. + + CONTROL_DOWN + + type + integer + value + 0x20 + tooltip + Test for the avatar move down control. + + CONTROL_FWD + + type + integer + value + 0x1 + tooltip + Test for the avatar move forward control. + + CONTROL_LBUTTON + + type + integer + value + 0x10000000 + tooltip + Test for the avatar left button control. + + CONTROL_LEFT + + type + integer + value + 0x4 + tooltip + Test for the avatar move left control. + + CONTROL_ML_LBUTTON + + type + integer + value + 0x40000000 + tooltip + Test for the avatar left button control while in mouse look. + + CONTROL_RIGHT + + type + integer + value + 0x8 + tooltip + Test for the avatar move right control. + + CONTROL_ROT_LEFT + + type + integer + value + 0x100 + tooltip + Test for the avatar rotate left control. + + CONTROL_ROT_RIGHT + + type + integer + value + 0x200 + tooltip + Test for the avatar rotate right control. + + CONTROL_UP + + type + integer + value + 0x10 + tooltip + Test for the avatar move up control. + + DATA_BORN + + type + integer + value + 3 + tooltip + The date the agent was born, returned in ISO 8601 format of YYYY-MM-DD. + + DATA_NAME + + type + integer + value + 2 + tooltip + The name of the agent. + + DATA_ONLINE + + type + integer + value + 1 + tooltip + TRUE for online, FALSE for offline. + + DATA_PAYINFO + + type + integer + value + 8 + tooltip + + + DATA_SIM_POS + + type + integer + value + 5 + tooltip + + + DATA_SIM_RATING + + type + integer + value + 7 + tooltip + + + DATA_SIM_STATUS + + type + integer + value + 6 + tooltip + + + DEBUG_CHANNEL + + type + integer + value + 2147483647 + tooltip + DEBUG_CHANNEL is an integer constant that, when passed to llSay, llWhisper, or llShout as a channel parameter, will print text to the Script Warning/Error Window. + + DEG_TO_RAD + + type + float + value + 0.017453293 + tooltip + + 0.017453293 - Number of radians per degree. + You can use this to convert degrees to radians by multiplying the degrees by this number. + + + DENSITY + + type + integer + value + 1 + tooltip + Used with llSetPhysicsMaterial to enable the density value. Must be between 1.0 and 22587.0 (in Kg/m^3 -- see if you can figure out what 22587 represents) + + EOF + + type + string + value + \\n\\n\\n + tooltip + Indicates the last line of a notecard was read. + + ERR_GENERIC + + type + integer + value + -1 + tooltip + + + ERR_MALFORMED_PARAMS + + type + integer + value + -3 + tooltip + + + ERR_PARCEL_PERMISSIONS + + type + integer + value + -2 + tooltip + + + ERR_RUNTIME_PERMISSIONS + + type + integer + value + -4 + tooltip + + + ERR_THROTTLED + + type + integer + value + -5 + tooltip + + + ESTATE_ACCESS_ALLOWED_AGENT_ADD + + type + integer + value + 4 + tooltip + Add the agent to this estate's Allowed Residents list. + + ESTATE_ACCESS_ALLOWED_AGENT_REMOVE + + type + integer + value + 8 + tooltip + Remove the agent from this estate's Allowed Residents list. + + ESTATE_ACCESS_ALLOWED_GROUP_ADD + + type + integer + value + 16 + tooltip + Add the group to this estate's Allowed groups list. + + ESTATE_ACCESS_ALLOWED_GROUP_REMOVE + + type + integer + value + 32 + tooltip + Remove the group from this estate's Allowed groups list. + + ESTATE_ACCESS_BANNED_AGENT_ADD + + type + integer + value + 64 + tooltip + Add the agent to this estate's Banned residents list. + + ESTATE_ACCESS_BANNED_AGENT_REMOVE + + type + integer + value + 128 + tooltip + Remove the agent from this estate's Banned residents list. + + FALSE + + type + integer + value + 0 + tooltip + An integer constant for boolean comparisons. Has the value '0'. + + FRICTION + + type + integer + value + 2 + tooltip + Used with llSetPhysicsMaterial to enable the friction value. Must be between 0.0 and 255.0 + + GRAVITY_MULTIPLIER + + type + integer + value + 8 + tooltip + Used with llSetPhysicsMaterial to enable the gravity multiplier value. Must be between -1.0 and +28.0 + + HORIZONTAL + + type + integer + value + 1 + tooltip + + + HTTP_BODY_MAXLENGTH + + type + integer + value + 2 + tooltip + + + HTTP_BODY_TRUNCATED + + type + integer + value + 0 + tooltip + + + HTTP_CUSTOM_HEADER + + type + integer + value + 5 + tooltip + Add an extra custom HTTP header to the request. The first string is the name of the parameter to change, e.g. "Pragma", and the second string is the value, e.g. "no-cache". Up to 8 custom headers may be configured per request. Note that certain headers, such as the default headers, are blocked for security reasons. + + HTTP_METHOD + + type + integer + value + 0 + tooltip + + + HTTP_MIMETYPE + + type + integer + value + 1 + tooltip + + + HTTP_PRAGMA_NO_CACHE + + type + integer + value + 6 + tooltip + Allows enabling/disbling of the "Pragma: no-cache" header.\nUsage: [HTTP_PRAGMA_NO_CACHE, integer SendHeader]. When SendHeader is TRUE, the "Pragma: no-cache" header is sent by the script. This matches the default behavior. When SendHeader is FALSE, no "Pragma" header is sent by the script. + + HTTP_VERBOSE_THROTTLE + + type + integer + value + 4 + tooltip + + + HTTP_VERIFY_CERT + + type + integer + value + 3 + tooltip + + + INVENTORY_ALL + + type + integer + value + -1 + tooltip + + + INVENTORY_ANIMATION + + type + integer + value + 20 + tooltip + + + INVENTORY_BODYPART + + type + integer + value + 13 + tooltip + + + INVENTORY_CLOTHING + + type + integer + value + 5 + tooltip + + + INVENTORY_GESTURE + + type + integer + value + 21 + tooltip + + + INVENTORY_LANDMARK + + type + integer + value + 3 + tooltip + + + INVENTORY_NONE + + type + integer + value + -1 + tooltip + + + INVENTORY_NOTECARD + + type + integer + value + 7 + tooltip + + + INVENTORY_OBJECT + + type + integer + value + 6 + tooltip + + + INVENTORY_SCRIPT + + type + integer + value + 10 + tooltip + + + INVENTORY_SOUND + + type + integer + value + 1 + tooltip + + + INVENTORY_TEXTURE + + type + integer + value + 0 + tooltip + + + JSON_APPEND + + type + integer + value + -1 + tooltip + + + JSON_ARRAY + + type + string + value + U+FDD2 + tooltip + + + JSON_DELETE + + type + string + value + U+FDD8 + tooltip + + + JSON_FALSE + + type + string + value + U+FDD7 + tooltip + + + JSON_INVALID + + type + string + value + U+FDD0 + tooltip + + + JSON_NULL + + type + string + value + U+FDD5 + tooltip + + + JSON_NUMBER + + type + string + value + U+FDD3 + tooltip + + + JSON_OBJECT + + type + string + value + U+FDD1 + tooltip + + + JSON_STRING + + type + string + value + U+FDD4 + tooltip + + + JSON_TRUE + + type + string + value + U+FDD6 + tooltip + + + KFM_CMD_PAUSE + + type + integer + value + 2 + tooltip + For use with KFM_COMMAND. + + KFM_CMD_PLAY + + type + integer + value + 0 + tooltip + For use with KFM_COMMAND. + + KFM_CMD_STOP + + type + integer + value + 1 + tooltip + For use with KFM_COMMAND. + + KFM_COMMAND + + type + integer + value + 0 + tooltip + + + KFM_DATA + + type + integer + value + 2 + tooltip + + + KFM_FORWARD + + type + integer + value + 0 + tooltip + For use with KFM_MODE. + + KFM_LOOP + + type + integer + value + 1 + tooltip + For use with KFM_MODE. + + KFM_MODE + + type + integer + value + 1 + tooltip + + + KFM_PING_PONG + + type + integer + value + 2 + tooltip + For use with KFM_MODE. + + KFM_REVERSE + + type + integer + value + 3 + tooltip + For use with KFM_MODE. + + KFM_ROTATION + + type + integer + value + 1 + tooltip + For use with KFM_DATA. + + KFM_TRANSLATION + + type + integer + value + 2 + tooltip + For use with KFM_DATA. + + LAND_LARGE_BRUSH + + type + integer + value + 3 + tooltip + Use a large brush size.\nNOTE: This value is incorrect, a large brush should be 2. + + LAND_LEVEL + + type + integer + value + 0 + tooltip + Action to level the land. + + LAND_LOWER + + type + integer + value + 2 + tooltip + Action to lower the land. + + LAND_MEDIUM_BRUSH + + type + integer + value + 2 + tooltip + Use a medium brush size.\nNOTE: This value is incorrect, a medium brush should be 1. + + LAND_NOISE + + type + integer + value + 4 + tooltip + + + LAND_RAISE + + type + integer + value + 1 + tooltip + Action to raise the land. + + LAND_REVERT + + type + integer + value + 5 + tooltip + + + LAND_SMALL_BRUSH + + type + integer + value + 1 + tooltip + Use a small brush size.\nNOTE: This value is incorrect, a small brush should be 0. + + LAND_SMOOTH + + type + integer + value + 3 + tooltip + + + LINK_ALL_CHILDREN + + type + integer + value + -3 + tooltip + This targets every object except the root in the linked set. + + LINK_ALL_OTHERS + + type + integer + value + -2 + tooltip + This targets every object in the linked set except the object with the script. + + LINK_ROOT + + type + integer + value + 1 + tooltip + This targets the root of the linked set. + + LINK_SET + + type + integer + value + -1 + tooltip + This targets every object in the linked set. + + LINK_THIS + + type + integer + value + -4 + tooltip + The link number of the prim containing the script. + + LIST_STAT_GEOMETRIC_MEAN + + type + integer + value + 9 + tooltip + Returns the geometric mean of a list of numbers + + LIST_STAT_HARMONIC_MEAN + + type + integer + value + 100 + tooltip + Returns the harmonic mean of a list of numbers + + LIST_STAT_MAX + + type + integer + value + 2 + tooltip + + + LIST_STAT_MEAN + + type + integer + value + 3 + tooltip + + + LIST_STAT_MEDIAN + + type + integer + value + 4 + tooltip + + + LIST_STAT_MIN + + type + integer + value + 1 + tooltip + + + LIST_STAT_NUM_COUNT + + type + integer + value + 8 + tooltip + + + LIST_STAT_RANGE + + type + integer + value + 0 + tooltip + + + LIST_STAT_STD_DEV + + type + integer + value + 5 + tooltip + + + LIST_STAT_SUM + + type + integer + value + 6 + tooltip + + + LIST_STAT_SUM_SQUARES + + type + integer + value + 7 + tooltip + + + LOOP + + type + integer + value + 0x2 + tooltip + Loop the texture animation. + + MASK_BASE + + type + integer + value + 0 + tooltip + + + MASK_EVERYONE + + type + integer + value + 3 + tooltip + + + MASK_GROUP + + type + integer + value + 2 + tooltip + + + MASK_NEXT + + type + integer + value + 4 + tooltip + + + MASK_OWNER + + type + integer + value + 1 + tooltip + + + NPC + + type + integer + value + 0x20 + tooltip + + + NULL_KEY + + type + string + value + 00000000-0000-0000-0000-000000000000 + tooltip + + + OBJECT_ATTACHED_POINT + + type + integer + value + 19 + tooltip + Gets the attachment point to which the object is attached.\nReturns 0 if the object is not an attachment (or is an avatar, etc). + + OBJECT_BODY_SHAPE_TYPE + + type + integer + value + 26 + tooltip + This is a flag used with llGetObjectDetails to get the body type of the avatar, based on shape data.\nIf no data is available, -1.0 is returned.\nThis is normally between 0 and 1.0, with 0.5 and larger considered 'male' + + OBJECT_CLICK_ACTION + + type + integer + value + 28 + tooltip + This is a flag used with llGetObjectDetails to get the click action.\nThe default is 0 + + OBJECT_CREATOR + + type + integer + value + 8 + tooltip + Gets the object's creator key. If id is an avatar, a NULL_KEY is returned. + + OBJECT_DESC + + type + integer + value + 2 + tooltip + Gets the object's description. If id is an avatar, an empty string is returned. + + OBJECT_GROUP + + type + integer + value + 7 + tooltip + Gets the prims's group key. If id is an avatar, a NULL_KEY is returned. + + OBJECT_HOVER_HEIGHT + + type + integer + value + 25 + tooltip + This is a flag used with llGetObjectDetails to get hover height of the avatar\nIf no data is available, 0.0 is returned. + + OBJECT_LAST_OWNER_ID + + type + integer + value + 27 + tooltip + Gets the object's last owner ID. + + OBJECT_NAME + + type + integer + value + 1 + tooltip + Gets the object's name. + + OBJECT_OMEGA + + type + integer + value + 29 + tooltip + Gets an object's angular velocity. + + OBJECT_OWNER + + type + integer + value + 6 + tooltip + Gets an object's owner's key. If id is group owned, a NULL_KEY is returned. + + OBJECT_PRIM_COUNT + + type + integer + value + 30 + tooltip + Gets the prim count of the object. The script and target object must be owned by the same owner + + OBJECT_PHANTOM + + type + integer + value + 22 + tooltip + Returns boolean, detailing if phantom is enabled or disabled on the object.\nIf id is an avatar or attachment, 0 is returned. + + OBJECT_PHYSICS + + type + integer + value + 21 + tooltip + Returns boolean, detailing if physics is enabled or disabled on the object.\nIf id is an avatar or attachment, 0 is returned. + + OBJECT_PHYSICS_COST + + type + integer + value + 16 + tooltip + + + OBJECT_POS + + type + integer + value + 3 + tooltip + Gets the object's position in region coordinates. + + OBJECT_PRIM_EQUIVALENCE + + type + integer + value + 13 + tooltip + + + OBJECT_RENDER_WEIGHT + + type + integer + value + 24 + tooltip + This is a flag used with llGetObjectDetails to get the Avatar_Rendering_Cost of an avatar, based on values reported by nearby viewers.\nIf no data is available, -1 is returned.\nThe maximum render weight stored by the simulator is 500000. When called against an object, 0 is returned. + + OBJECT_RETURN_PARCEL + + type + integer + value + 1 + tooltip + + + OBJECT_RETURN_PARCEL_OWNER + + type + integer + value + 2 + tooltip + + + OBJECT_RETURN_REGION + + type + integer + value + 4 + tooltip + + + OBJECT_REZZER_KEY + + type + integer + value + 32 + tooltip + + + OBJECT_ROOT + + type + integer + value + 18 + tooltip + Gets the id of the root prim of the object requested.\nIf id is an avatar, return the id of the root prim of the linkset the avatar is sitting on (or the avatar's own id if the avatar is not sitting on an object within the region). + + OBJECT_ROT + + type + integer + value + 4 + tooltip + Gets the object's rotation. + + OBJECT_RUNNING_SCRIPT_COUNT + + type + integer + value + 9 + tooltip + + + OBJECT_SCRIPT_MEMORY + + type + integer + value + 11 + tooltip + + + OBJECT_SCRIPT_TIME + + type + integer + value + 12 + tooltip + + + OBJECT_SERVER_COST + + type + integer + value + 14 + tooltip + + + OBJECT_STREAMING_COST + + type + integer + value + 15 + tooltip + + + OBJECT_TEMP_ON_REZ + + type + integer + value + 23 + tooltip + Returns boolean, detailing if temporary is enabled or disabled on the object. + + OBJECT_TOTAL_INVENTORY_COUNT + + type + integer + value + 31 + tooltip + Gets the total inventory count of the object. The script and target object must be owned by the same owner + + OBJECT_TOTAL_SCRIPT_COUNT + + type + integer + value + 10 + tooltip + + + OBJECT_UNKNOWN_DETAIL + + type + integer + value + -1 + tooltip + + + OBJECT_VELOCITY + + type + integer + value + 5 + tooltip + Gets the object's velocity. + + OS_ATTACH_MSG_ALL + + type + integer + value + -65535 + tooltip + Send the message to attachments on every point. + + OS_ATTACH_MSG_INVERT_POINTS + + type + integer + value + 1 + tooltip + Invert how the attachment points list should be treated. + + OS_ATTACH_MSG_OBJECT_CREATOR + + type + integer + value + 2 + tooltip + Send only to those have the same CreatorID with host object CreatorID. + + OS_LISTEN_REGEX_NAME + + type + integer + value + 0x1 + tooltip + Process name parameter as regex + + OS_LISTEN_REGEX_MESSAGE + + type + integer + value + 0x2 + tooltip + Process message parameter as regex + + OS_ATTACH_MSG_SCRIPT_CREATOR + + type + integer + value + 4 + tooltip + Send only to those have the same CreatorID with sender script CreatorID. + + OS_NPC + + type + integer + value + 0x20 + tooltip + Same as NPC + + OS_NPC_FLY + + type + integer + value + 0 + tooltip + + + OS_NPC_NO_FLY + + type + integer + value + 1 + tooltip + + + OS_NPC_LAND_AT_TARGET + + type + integer + value + 2 + tooltip + + + OS_NPC_SIT_NOW + + type + integer + value + 0 + tooltip + + + OS_NPC_CREATOR_OWNED + + type + integer + value + 0x1 + tooltip + + + OS_NPC_NOT_OWNED + + type + integer + value + 0x2 + tooltip + + + OS_NPC_SENSE_AS_AGENT + + type + integer + value + 0x4 + tooltip + + + OS_NPC_OBJECT_GROUP + + type + integer + value + 0x8 + tooltip + + + OS_NPC_RUNNING + + type + integer + value + 4 + tooltip + + + OSTPOBJ_NONE + + type + integer + value + 0x0 + tooltip + osTeleportObject flag + + OSTPOBJ_STOPATTARRGET + + type + integer + value + 0x1 + tooltip + osTeleportObject flag: object is stopped at destination + + OSTPOBJ_STOPONFAIL + + type + integer + value + 0x2 + tooltip + osTeleportObject flag: object stops at start point if tp fails + + OSTPOBJ_SETROT + + type + integer + value + 0x2 + tooltip + osTeleportObject flag: the rotation is the final object rotation, otherwise is a added rotation + + PARCEL_COUNT_GROUP + + type + integer + value + 2 + tooltip + + + PARCEL_COUNT_OTHER + + type + integer + value + 3 + tooltip + + + PARCEL_COUNT_OWNER + + type + integer + value + 1 + tooltip + + + PARCEL_COUNT_SELECTED + + type + integer + value + 4 + tooltip + + + PARCEL_COUNT_TEMP + + type + integer + value + 5 + tooltip + + + PARCEL_COUNT_TOTAL + + type + integer + value + 0 + tooltip + + + PARCEL_DETAILS_AREA + + type + integer + value + 4 + tooltip + The parcel's area, in square meters. (5 chars.). + + PARCEL_DETAILS_CLAIMDATE + + type + integer + value + 10 + tooltip + Set parcel claim date. + + PARCEL_DETAILS_DESC + + type + integer + value + 1 + tooltip + The description of the parcel. (127 chars). + + PARCEL_DETAILS_GROUP + + type + integer + value + 3 + tooltip + The parcel group's key. (36 chars.). + + PARCEL_DETAILS_ID + + type + integer + value + 5 + tooltip + The parcel's key. (36 chars.). + + PARCEL_DETAILS_NAME + + type + integer + value + 0 + tooltip + The name of the parcel. (63 chars.). + + PARCEL_DETAILS_OWNER + + type + integer + value + 2 + tooltip + The parcel owner's key. (36 chars.). + + PARCEL_DETAILS_SEE_AVATARS + + type + integer + value + 6 + tooltip + The parcel's avatar visibility setting. (1 char.). + + PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY + + type + integer + value + 0x08000000 + tooltip + + + PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS + + type + integer + value + 0x4000000 + tooltip + + + PARCEL_FLAG_ALLOW_CREATE_OBJECTS + + type + integer + value + 0x40 + tooltip + + + PARCEL_FLAG_ALLOW_DAMAGE + + type + integer + value + 0x20 + tooltip + + + PARCEL_FLAG_ALLOW_FLY + + type + integer + value + 0x1 + tooltip + + + PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY + + type + integer + value + 0x10000000 + tooltip + + + PARCEL_FLAG_ALLOW_GROUP_SCRIPTS + + type + integer + value + 0x2000000 + tooltip + + + PARCEL_FLAG_ALLOW_LANDMARK + + type + integer + value + 0x8 + tooltip + + + PARCEL_FLAG_ALLOW_SCRIPTS + + type + integer + value + 0x2 + tooltip + + + PARCEL_FLAG_ALLOW_TERRAFORM + + type + integer + value + 0x10 + tooltip + + + PARCEL_FLAG_LOCAL_SOUND_ONLY + + type + integer + value + 0x8000 + tooltip + + + PARCEL_FLAG_RESTRICT_PUSHOBJECT + + type + integer + value + 0x200000 + tooltip + + + PARCEL_FLAG_USE_ACCESS_GROUP + + type + integer + value + 0x100 + tooltip + + + PARCEL_FLAG_USE_ACCESS_LIST + + type + integer + value + 0x200 + tooltip + + + PARCEL_FLAG_USE_BAN_LIST + + type + integer + value + 0x400 + tooltip + + + PARCEL_FLAG_USE_LAND_PASS_LIST + + type + integer + value + 0x800 + tooltip + + + PARCEL_MEDIA_COMMAND_AGENT + + type + integer + value + 7 + tooltip + + + PARCEL_MEDIA_COMMAND_AUTO_ALIGN + + type + integer + value + 9 + tooltip + + + PARCEL_MEDIA_COMMAND_DESC + + type + integer + value + 12 + tooltip + Use this to get or set the parcel media description. + + PARCEL_MEDIA_COMMAND_LOOP + + type + integer + value + 3 + tooltip + + + PARCEL_MEDIA_COMMAND_LOOP_SET + + type + integer + value + 13 + tooltip + Used to get or set the parcel's media looping variable. + + PARCEL_MEDIA_COMMAND_PAUSE + + type + integer + value + 1 + tooltip + + + PARCEL_MEDIA_COMMAND_PLAY + + type + integer + value + 2 + tooltip + + + PARCEL_MEDIA_COMMAND_SIZE + + type + integer + value + 11 + tooltip + Use this to get or set the parcel media pixel resolution. + + PARCEL_MEDIA_COMMAND_STOP + + type + integer + value + 0 + tooltip + + + PARCEL_MEDIA_COMMAND_TEXTURE + + type + integer + value + 4 + tooltip + + + PARCEL_MEDIA_COMMAND_TIME + + type + integer + value + 6 + tooltip + + + PARCEL_MEDIA_COMMAND_TYPE + + type + integer + value + 10 + tooltip + Use this to get or set the parcel media MIME type (e.g. "text/html"). + + PARCEL_MEDIA_COMMAND_UNLOAD + + type + integer + value + 8 + tooltip + + + PARCEL_MEDIA_COMMAND_URL + + type + integer + value + 5 + tooltip + + + PASS_ALWAYS + + type + integer + value + 1 + tooltip + Always pass the event. + + PASS_NEVER + + type + integer + value + 2 + tooltip + Always pass the event. + + PASS_IF_NOT_HANDLED + + type + integer + value + 0 + tooltip + Pass the event if there is no script handling the event in the prim. + + PASSIVE + + type + integer + value + 0x4 + tooltip + Static in-world objects. + + PATROL_PAUSE_AT_WAYPOINTS + + type + integer + value + 0 + tooltip + + + PAY_DEFAULT + + type + integer + value + -2 + tooltip + + + PAY_HIDE + + type + integer + value + -1 + tooltip + + + PAYMENT_INFO_ON_FILE + + type + integer + value + 1 + tooltip + + + PAYMENT_INFO_USED + + type + integer + value + 2 + tooltip + + + PERM_ALL + + type + integer + value + 0x7FFFFFFF + tooltip + + + PERM_COPY + + type + integer + value + 0x8000 + tooltip + + + PERM_MODIFY + + type + integer + value + 0x4000 + tooltip + + + PERM_MOVE + + type + integer + value + 0x80000 + tooltip + + + PERM_TRANSFER + + type + integer + value + 0x2000 + tooltip + + + PERMISSION_ATTACH + + type + integer + value + 0x20 + tooltip + If this permission is enabled, the object can successfully call llAttachToAvatar to attach to the given avatar. + + PERMISSION_CHANGE_LINKS + + type + integer + value + 0x80 + tooltip + If this permission is enabled, the object can successfully call llCreateLink, llBreakLink, and llBreakAllLinks to change links to other objects. + + PERMISSION_CHANGE_PERMISSIONS + + type + integer + value + 0x200 + tooltip + (not yet implemented) + + PERMISSION_CONTROL_CAMERA + + type + integer + value + 0x800 + tooltip + + + PERMISSION_DEBIT + + type + integer + value + 0x2 + tooltip + If this permission is enabled, the object can successfully call llGiveMoney or llTransferLindenDollars to debit the owners account. + + PERMISSION_OVERRIDE_ANIMATIONS + + type + integer + value + 0x8000 + tooltip + Permission to override default animations. + + PERMISSION_RELEASE_OWNERSHIP + + type + integer + value + 0x40 + tooltip + (not yet implemented) + + PERMISSION_REMAP_CONTROLS + + type + integer + value + 0x8 + tooltip + (not yet implemented) + + PERMISSION_RETURN_OBJECTS + + type + integer + value + 65536 + tooltip + + + PERMISSION_SILENT_ESTATE_MANAGEMENT + + type + integer + value + 0x4000 + tooltip + A script with this permission does not notify the object owner when it modifies estate access rules via llManageEstateAccess. + + PERMISSION_TAKE_CONTROLS + + type + integer + value + 0x4 + tooltip + If this permission enabled, the object can successfully call the llTakeControls libray call. + + PERMISSION_TELEPORT + + type + integer + value + 0x1000 + tooltip + + + PERMISSION_TRACK_CAMERA + + type + integer + value + 0x400 + tooltip + + + PERMISSION_TRIGGER_ANIMATION + + type + integer + value + 0x10 + tooltip + If this permission is enabled, the object can successfully call llStartAnimation for the avatar that owns this. + + PI + + type + float + value + 3.14159265 + tooltip + 3.14159265 - The number of radians in a semi-circle. + + PI_BY_TWO + + type + float + value + 1.57079633 + tooltip + 1.57079633 - The number of radians in a quarter circle. + + PING_PONG + + type + integer + value + 0x8 + tooltip + Play animation going forwards, then backwards. + + PRIM_ALPHA_MODE + + type + integer + value + 38 + tooltip + Prim parameter for materials using integer face, integer alpha_mode, integer alpha_cutoff.\nDefines how the alpha channel of the diffuse texture should be rendered.\nValid options for alpha_mode are PRIM_ALPHA_MODE_BLEND, _NONE, _MASK, and _EMISSIVE.\nalpha_cutoff is used only for PRIM_ALPHA_MODE_MASK. + + PRIM_ALPHA_MODE_NONE + + type + integer + value + 0 + tooltip + Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be ignored. + + PRIM_ALPHA_MODE_BLEND + + type + integer + value + 1 + tooltip + Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be rendered as alpha-blended. + + PRIM_ALPHA_MODE_MASK + + type + integer + value + 2 + tooltip + Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be rendered as fully opaque for alpha values above alpha_cutoff and fully transparent otherwise. + + PRIM_ALPHA_MODE_EMISSIVE + + type + integer + value + 3 + tooltip + Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be rendered as an emissivity mask. + + PRIM_BUMP_BARK + + type + integer + value + 4 + tooltip + + + PRIM_BUMP_BLOBS + + type + integer + value + 12 + tooltip + + + PRIM_BUMP_BRICKS + + type + integer + value + 5 + tooltip + + + PRIM_BUMP_BRIGHT + + type + integer + value + 1 + tooltip + + + PRIM_BUMP_CHECKER + + type + integer + value + 6 + tooltip + + + PRIM_BUMP_CONCRETE + + type + integer + value + 7 + tooltip + + + PRIM_BUMP_DARK + + type + integer + value + 2 + tooltip + + + PRIM_BUMP_DISKS + + type + integer + value + 10 + tooltip + + + PRIM_BUMP_GRAVEL + + type + integer + value + 11 + tooltip + + + PRIM_BUMP_LARGETILE + + type + integer + value + 14 + tooltip + + + PRIM_BUMP_NONE + + type + integer + value + 0 + tooltip + + + PRIM_BUMP_SHINY + + type + integer + value + 19 + tooltip + + + PRIM_BUMP_SIDING + + type + integer + value + 13 + tooltip + + + PRIM_BUMP_STONE + + type + integer + value + 9 + tooltip + + + PRIM_BUMP_STUCCO + + type + integer + value + 15 + tooltip + + + PRIM_BUMP_SUCTION + + type + integer + value + 16 + tooltip + + + PRIM_BUMP_TILE + + type + integer + value + 8 + tooltip + + + PRIM_BUMP_WEAVE + + type + integer + value + 17 + tooltip + + + PRIM_BUMP_WOOD + + type + integer + value + 3 + tooltip + + + PRIM_CAST_SHADOWS + + deprecated + true + type + integer + value + 24 + tooltip + + + PRIM_COLOR + + type + integer + value + 18 + tooltip + + + PRIM_DESC + + type + integer + value + 28 + tooltip + + + PRIM_FLEXIBLE + + type + integer + value + 21 + tooltip + + + PRIM_FULLBRIGHT + + type + integer + value + 20 + tooltip + + + PRIM_GLOW + + type + integer + value + 25 + tooltip + PRIM_GLOW is used to get or set the glow status of the face. + + PRIM_HOLE_CIRCLE + + type + integer + value + 0x10 + tooltip + + + PRIM_HOLE_DEFAULT + + type + integer + value + 0x00 + tooltip + + + PRIM_HOLE_SQUARE + + type + integer + value + 0x20 + tooltip + + + PRIM_HOLE_TRIANGLE + + type + integer + value + 0x30 + tooltip + + + PRIM_LINK_TARGET + + type + integer + value + 34 + tooltip + + + PRIM_MATERIAL + + type + integer + value + 2 + tooltip + + + PRIM_MATERIAL_FLESH + + type + integer + value + 4 + tooltip + + + PRIM_MATERIAL_GLASS + + type + integer + value + 2 + tooltip + + + PRIM_MATERIAL_LIGHT + + type + integer + value + 7 + tooltip + + + PRIM_MATERIAL_METAL + + type + integer + value + 1 + tooltip + + + PRIM_MATERIAL_PLASTIC + + type + integer + value + 5 + tooltip + + + PRIM_MATERIAL_RUBBER + + type + integer + value + 6 + tooltip + + + PRIM_MATERIAL_STONE + + type + integer + value + 0 + tooltip + + + PRIM_MATERIAL_WOOD + + type + integer + value + 3 + tooltip + + + PRIM_MEDIA_ALT_IMAGE_ENABLE + + type + integer + value + 0 + tooltip + Boolean. Gets/Sets the default image state (the image that the user sees before a piece of media is active) for the chosen face. The default image is specified by Second Life's server for that media type. + + PRIM_MEDIA_AUTO_LOOP + + type + integer + value + 4 + tooltip + Boolean. Gets/Sets whether auto-looping is enabled. + + PRIM_MEDIA_AUTO_PLAY + + type + integer + value + 5 + tooltip + Boolean. Gets/Sets whether the media auto-plays when a Resident can view it. + + PRIM_MEDIA_AUTO_SCALE + + type + integer + value + 6 + tooltip + Boolean. Gets/Sets whether auto-scaling is enabled. Auto-scaling forces the media to the full size of the texture. + + PRIM_MEDIA_AUTO_ZOOM + + type + integer + value + 7 + tooltip + Boolean. Gets/Sets whether clicking the media triggers auto-zoom and auto-focus on the media. + + PRIM_MEDIA_CONTROLS + + type + integer + value + 1 + tooltip + Integer. Gets/Sets the style of controls. Can be either PRIM_MEDIA_CONTROLS_STANDARD or PRIM_MEDIA_CONTROLS_MINI. + + PRIM_MEDIA_CONTROLS_MINI + + type + integer + value + 1 + tooltip + Mini web navigation controls; does not include an address bar. + + PRIM_MEDIA_CONTROLS_STANDARD + + type + integer + value + 0 + tooltip + Standard web navigation controls. + + PRIM_MEDIA_CURRENT_URL + + type + integer + value + 2 + tooltip + String. Gets/Sets the current url displayed on the chosen face. Changing this URL causes navigation. 1024 characters Maximum. + + PRIM_MEDIA_FIRST_CLICK_INTERACT + + type + integer + value + 8 + tooltip + Boolean. Gets/Sets whether the first click interaction is enabled. + + PRIM_MEDIA_HEIGHT_PIXELS + + type + integer + value + 10 + tooltip + Integer. Gets/Sets the height of the media in pixels. + + PRIM_MEDIA_HOME_URL + + type + integer + value + 3 + tooltip + String. Gets/Sets the home URL for the chosen face. 1024 characters maximum. + + PRIM_MEDIA_MAX_HEIGHT_PIXELS + + type + integer + value + 2048 + tooltip + + + PRIM_MEDIA_MAX_URL_LENGTH + + type + integer + value + 1024 + tooltip + + + PRIM_MEDIA_MAX_WHITELIST_COUNT + + type + integer + value + 64 + tooltip + + + PRIM_MEDIA_MAX_WHITELIST_SIZE + + type + integer + value + 1024 + tooltip + + + PRIM_MEDIA_MAX_WIDTH_PIXELS + + type + integer + value + 2048 + tooltip + + + PRIM_MEDIA_PARAM_MAX + + type + integer + value + 14 + tooltip + + + PRIM_MEDIA_PERM_ANYONE + + type + integer + value + 4 + tooltip + + + PRIM_MEDIA_PERM_GROUP + + type + integer + value + 2 + tooltip + + + PRIM_MEDIA_PERM_NONE + + type + integer + value + 0 + tooltip + + + PRIM_MEDIA_PERM_OWNER + + type + integer + value + 1 + tooltip + + + PRIM_MEDIA_PERMS_CONTROL + + type + integer + value + 14 + tooltip + Integer. Gets/Sets the permissions mask that control who can see the media control bar above the object:: PRIM_MEDIA_PERM_ANYONE, PRIM_MEDIA_PERM_GROUP, PRIM_MEDIA_PERM_NONE, PRIM_MEDIA_PERM_OWNER + + PRIM_MEDIA_PERMS_INTERACT + + type + integer + value + 13 + tooltip + Integer. Gets/Sets the permissions mask that control who can interact with the object: PRIM_MEDIA_PERM_ANYONE, PRIM_MEDIA_PERM_GROUP, PRIM_MEDIA_PERM_NONE, PRIM_MEDIA_PERM_OWNER + + PRIM_MEDIA_WHITELIST + + type + integer + value + 12 + tooltip + String. Gets/Sets the white-list as a string of escaped, comma-separated URLs. This string can hold up to 64 URLs or 1024 characters, whichever comes first. + + PRIM_MEDIA_WHITELIST_ENABLE + + type + integer + value + 11 + tooltip + Boolean. Gets/Sets whether navigation is restricted to URLs in PRIM_MEDIA_WHITELIST. + + PRIM_MEDIA_WIDTH_PIXELS + + type + integer + value + 9 + tooltip + Integer. Gets/Sets the width of the media in pixels. + + PRIM_NAME + + type + integer + value + 27 + tooltip + + + PRIM_NORMAL + + type + integer + value + 37 + tooltip + Prim parameter for materials using integer face, string texture, vector repeats, vector offsets, float rotation_in_radians + + PRIM_OMEGA + + type + integer + value + 32 + tooltip + + + PRIM_PHANTOM + + type + integer + value + 5 + tooltip + + + PRIM_PHYSICS + + type + integer + value + 3 + tooltip + + + PRIM_PHYSICS_SHAPE_CONVEX + + type + integer + value + 2 + tooltip + Use the convex hull of the prim shape for physics (this is the default for mesh objects). + + PRIM_PHYSICS_SHAPE_NONE + + type + integer + value + 1 + tooltip + Ignore this prim in the physics shape. NB: This cannot be applied to the root prim. + + PRIM_PHYSICS_SHAPE_PRIM + + type + integer + value + 0 + tooltip + Use the normal prim shape for physics (this is the default for all non-mesh objects). + + PRIM_PHYSICS_SHAPE_TYPE + + type + integer + value + 30 + tooltip + + Allows you to set the physics shape type of a prim via lsl. Permitted values are: + PRIM_PHYSICS_SHAPE_NONE, PRIM_PHYSICS_SHAPE_PRIM, PRIM_PHYSICS_SHAPE_CONVEX + + + PRIM_POINT_LIGHT + + type + integer + value + 23 + tooltip + + + PRIM_POS_LOCAL + + type + integer + value + 33 + tooltip + + + PRIM_POSITION + + type + integer + value + 6 + tooltip + + + PRIM_ROT_LOCAL + + type + integer + value + 29 + tooltip + + + PRIM_ROTATION + + type + integer + value + 8 + tooltip + + + PRIM_SCULPT_FLAG_INVERT + + type + integer + value + 64 + tooltip + Render inside out (inverts the normals). + + PRIM_SCULPT_FLAG_MIRROR + + type + integer + value + 128 + tooltip + Render an X axis mirror of the sculpty. + + PRIM_SCULPT_TYPE_CYLINDER + + type + integer + value + 4 + tooltip + + + PRIM_SCULPT_TYPE_MASK + + type + integer + value + 7 + tooltip + + + PRIM_SCULPT_TYPE_PLANE + + type + integer + value + 3 + tooltip + + + PRIM_SCULPT_TYPE_SPHERE + + type + integer + value + 1 + tooltip + + + PRIM_SCULPT_TYPE_TORUS + + type + integer + value + 2 + tooltip + + + PRIM_SHINY_HIGH + + type + integer + value + 3 + tooltip + + + PRIM_SHINY_LOW + + type + integer + value + 1 + tooltip + + + PRIM_SHINY_MEDIUM + + type + integer + value + 2 + tooltip + + + PRIM_SHINY_NONE + + type + integer + value + 0 + tooltip + + + PRIM_SIZE + + type + integer + value + 7 + tooltip + + + PRIM_SLICE + + type + integer + value + 35 + tooltip + + + PRIM_SPECULAR + + type + integer + value + 36 + tooltip + Prim parameter for materials using integer face, string texture, vector repeats, vector offsets, float rotation_in_radians, vector color, integer glossy, integer environment + + PRIM_TEMP_ON_REZ + + type + integer + value + 4 + tooltip + + + PRIM_TEXGEN + + type + integer + value + 22 + tooltip + + + PRIM_TEXGEN_DEFAULT + + type + integer + value + 0 + tooltip + + + PRIM_TEXGEN_PLANAR + + type + integer + value + 1 + tooltip + + + PRIM_TEXT + + type + integer + value + 26 + tooltip + + + PRIM_TEXTURE + + type + integer + value + 17 + tooltip + + + PRIM_TYPE + + type + integer + value + 9 + tooltip + + + PRIM_TYPE_BOX + + type + integer + value + 0 + tooltip + + + PRIM_TYPE_CYLINDER + + type + integer + value + 1 + tooltip + + + PRIM_TYPE_PRISM + + type + integer + value + 2 + tooltip + + + PRIM_TYPE_RING + + type + integer + value + 6 + tooltip + + + PRIM_TYPE_SCULPT + + type + integer + value + 7 + tooltip + + + PRIM_TYPE_SPHERE + + type + integer + value + 3 + tooltip + + + PRIM_TYPE_TORUS + + type + integer + value + 4 + tooltip + + + PRIM_TYPE_TUBE + + type + integer + value + 5 + tooltip + + + PROFILE_NONE + + type + integer + value + 0 + tooltip + Disables profiling + + PROFILE_SCRIPT_MEMORY + + type + integer + value + 1 + tooltip + Enables memory profiling + + PSYS_PART_BF_DEST_COLOR + + type + integer + value + 2 + tooltip + + + PSYS_PART_BF_ONE + + type + integer + value + 0 + tooltip + + + PSYS_PART_BF_ONE_MINUS_DEST_COLOR + + type + integer + value + 4 + tooltip + + + PSYS_PART_BF_ONE_MINUS_SOURCE_COLOR + + type + integer + value + 5 + tooltip + + + PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA + + type + integer + value + 9 + tooltip + + + PSYS_PART_BF_SOURCE_ALPHA + + type + integer + value + 7 + tooltip + + + PSYS_PART_BF_SOURCE_COLOR + + type + integer + value + 3 + tooltip + + + PSYS_PART_BF_ZERO + + type + integer + value + 1 + tooltip + + + PSYS_PART_BLEND_FUNC_DEST + + type + integer + value + 25 + tooltip + + + PSYS_PART_BLEND_FUNC_SOURCE + + type + integer + value + 24 + tooltip + + + PSYS_PART_BOUNCE_MASK + + type + integer + value + 0x4 + tooltip + Particles bounce off of a plane at the objects Z height. + + PSYS_PART_EMISSIVE_MASK + + type + integer + value + 0x100 + tooltip + The particle glows. + + PSYS_PART_END_ALPHA + + type + integer + value + 4 + tooltip + A float which determines the ending alpha of the object. + + PSYS_PART_END_COLOR + + type + integer + value + 3 + tooltip + A vector <r, g, b> which determines the ending color of the object. + + PSYS_PART_END_GLOW + + type + integer + value + 27 + tooltip + + + PSYS_PART_END_SCALE + + type + integer + value + 6 + tooltip + A vector <sx, sy, z>, which is the ending size of the particle billboard in meters (z is ignored). + + PSYS_PART_FLAGS + + type + integer + value + 0 + tooltip + Each particle that is emitted by the particle system is simulated based on the following flags. To use multiple flags, bitwise or (|) them together. + + PSYS_PART_FOLLOW_SRC_MASK + + type + integer + value + 0x10 + tooltip + The particle position is relative to the source objects position. + + PSYS_PART_FOLLOW_VELOCITY_MASK + + type + integer + value + 0x20 + tooltip + The particle orientation is rotated so the vertical axis faces towards the particle velocity. + + PSYS_PART_INTERP_COLOR_MASK + + type + integer + value + 0x1 + tooltip + Interpolate both the color and alpha from the start value to the end value. + + PSYS_PART_INTERP_SCALE_MASK + + type + integer + value + 0x2 + tooltip + Interpolate the particle scale from the start value to the end value. + + PSYS_PART_MAX_AGE + + type + integer + value + 7 + tooltip + Age in seconds of a particle at which it dies. + + PSYS_PART_RIBBON_MASK + + type + integer + value + 0x400 + tooltip + + + PSYS_PART_START_ALPHA + + type + integer + value + 2 + tooltip + A float which determines the starting alpha of the object. + + PSYS_PART_START_COLOR + + type + integer + value + 1 + tooltip + A vector <r.r, g.g, b.b> which determines the starting color of the object. + + PSYS_PART_START_GLOW + + type + integer + value + 26 + tooltip + + + PSYS_PART_START_SCALE + + type + integer + value + 5 + tooltip + A vector <sx, sy, z>, which is the starting size of the particle billboard in meters (z is ignored). + + PSYS_PART_TARGET_LINEAR_MASK + + type + integer + value + 0x80 + tooltip + + + PSYS_PART_TARGET_POS_MASK + + type + integer + value + 0x40 + tooltip + The particle heads towards the location of the target object as defined by PSYS_SRC_TARGET_KEY. + + PSYS_PART_WIND_MASK + + type + integer + value + 0x8 + tooltip + Particles have their velocity damped towards the wind velocity. + + PSYS_SRC_ACCEL + + type + integer + value + 8 + tooltip + A vector <x, y, z> which is the acceleration to apply on particles. + + PSYS_SRC_ANGLE_BEGIN + + type + integer + value + 22 + tooltip + Area in radians specifying where particles will NOT be created (for ANGLE patterns) + + PSYS_SRC_ANGLE_END + + type + integer + value + 23 + tooltip + Area in radians filled with particles (for ANGLE patterns) (if lower than PSYS_SRC_ANGLE_BEGIN, acts as PSYS_SRC_ANGLE_BEGIN itself, and PSYS_SRC_ANGLE_BEGIN acts as PSYS_SRC_ANGLE_END). + + PSYS_SRC_BURST_PART_COUNT + + type + integer + value + 15 + tooltip + How many particles to release in a burst. + + PSYS_SRC_BURST_RADIUS + + type + integer + value + 16 + tooltip + What distance from the center of the object to create the particles. + + PSYS_SRC_BURST_RATE + + type + integer + value + 13 + tooltip + How often to release a particle burst (float seconds). + + PSYS_SRC_BURST_SPEED_MAX + + type + integer + value + 18 + tooltip + Maximum speed that a particle should be moving. + + PSYS_SRC_BURST_SPEED_MIN + + type + integer + value + 17 + tooltip + Minimum speed that a particle should be moving. + + PSYS_SRC_INNERANGLE + + type + integer + value + 10 + tooltip + + Specifies the inner angle of the arc created by the PSYS_SRC_PATTERN_ANGLE or PSYS_SRC_PATTERN_ANGLE_CONE source pattern. + The area specified will NOT have particles in it. + + + PSYS_SRC_MAX_AGE + + type + integer + value + 19 + tooltip + How long this particle system should last, 0.0 means forever. + + PSYS_SRC_OMEGA + + type + integer + value + 21 + tooltip + Sets the angular velocity to rotate the axis that SRC_PATTERN_ANGLE and SRC_PATTERN_ANGLE_CONE use. + + PSYS_SRC_OUTERANGLE + + type + integer + value + 11 + tooltip + Specifies the outer angle of the arc created by the PSYS_SRC_PATTERN_ANGLE or PSYS_SRC_PATTERN_ANGLE_CONE source pattern.The area between the outer and inner angle will be filled with particles. + + PSYS_SRC_PATTERN + + type + integer + value + 9 + tooltip + The pattern which is used to generate particles. Use one of the following values: PSYS_SRC_PATTERN Values. + + PSYS_SRC_PATTERN_ANGLE + + type + integer + value + 0x04 + tooltip + Shoot particles across a 2 dimensional area defined by the arc created from PSYS_SRC_OUTERANGLE. There will be an open area defined by PSYS_SRC_INNERANGLE within the larger arc. + + PSYS_SRC_PATTERN_ANGLE_CONE + + type + integer + value + 0x08 + tooltip + Shoot particles out in a 3 dimensional cone with an outer arc of PSYS_SRC_OUTERANGLE and an inner open area defined by PSYS_SRC_INNERANGLE. + + PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY + + type + integer + value + 0x10 + tooltip + + + PSYS_SRC_PATTERN_DROP + + type + integer + value + 0x01 + tooltip + Drop particles at the source position. + + PSYS_SRC_PATTERN_EXPLODE + + type + integer + value + 0x02 + tooltip + Shoot particles out in all directions, using the burst parameters. + + PSYS_SRC_TARGET_KEY + + type + integer + value + 20 + tooltip + The key of a target object to move towards if PSYS_PART_TARGET_POS_MASK is enabled. + + PSYS_SRC_TEXTURE + + type + integer + value + 12 + tooltip + An asset name for the texture to use for the particles. + + PUBLIC_CHANNEL + + type + integer + value + 0 + tooltip + PUBLIC_CHANNEL is an integer constant that, when passed to llSay, llWhisper, or llShout as a channel parameter, will print text to the publicly heard chat channel. + + RAD_TO_DEG + + type + float + value + 57.2957795 + tooltip + 57.2957795 - Number of degrees per radian. You can use this number to convert radians to degrees by multiplying the radians by this number. + + RC_DATA_FLAGS + + type + integer + value + 2 + tooltip + + + RC_DETECT_PHANTOM + + type + integer + value + 1 + tooltip + + + RC_GET_LINK_NUM + + type + integer + value + 4 + tooltip + + + RC_GET_NORMAL + + type + integer + value + 1 + tooltip + + + RC_GET_ROOT_KEY + + type + integer + value + 2 + tooltip + + + RC_MAX_HITS + + type + integer + value + 3 + tooltip + + + RC_REJECT_AGENTS + + type + integer + value + 1 + tooltip + + + RC_REJECT_LAND + + type + integer + value + 8 + tooltip + + + RC_REJECT_NONPHYSICAL + + type + integer + value + 4 + tooltip + + + RC_REJECT_PHYSICAL + + type + integer + value + 2 + tooltip + + + RC_REJECT_TYPES + + type + integer + value + 0 + tooltip + + + RCERR_CAST_TIME_EXCEEDED + + type + integer + value + -3 + tooltip + + + RCERR_SIM_PERF_LOW + + type + integer + value + -2 + tooltip + + + RCERR_UNKNOWN + + type + integer + value + -1 + tooltip + + + REGION_FLAG_ALLOW_DAMAGE + + type + integer + value + 0x1 + tooltip + + + REGION_FLAG_ALLOW_DIRECT_TELEPORT + + type + integer + value + 0x100000 + tooltip + + + REGION_FLAG_BLOCK_FLY + + type + integer + value + 0x80000 + tooltip + + + REGION_FLAG_BLOCK_FLYOVER + + type + integer + value + 0x8000000 + tooltip + + + REGION_FLAG_BLOCK_TERRAFORM + + type + integer + value + 0x40 + tooltip + + + REGION_FLAG_DISABLE_COLLISIONS + + type + integer + value + 0x1000 + tooltip + + + REGION_FLAG_DISABLE_PHYSICS + + type + integer + value + 0x4000 + tooltip + + + REGION_FLAG_FIXED_SUN + + type + integer + value + 0x10 + tooltip + + + REGION_FLAG_RESTRICT_PUSHOBJECT + + type + integer + value + 0x400000 + tooltip + + + REGION_FLAG_SANDBOX + + type + integer + value + 0x100 + tooltip + + + REMOTE_DATA_CHANNEL + + type + integer + value + 1 + tooltip + + + REMOTE_DATA_REPLY + + type + integer + value + 3 + tooltip + + + REMOTE_DATA_REQUEST + + type + integer + value + 2 + tooltip + + + REQUIRE_LINE_OF_SIGHT + + type + integer + value + 2 + tooltip + Define whether the character needs a line-of-sight to give chase. + + RESTITUTION + + type + integer + value + 4 + tooltip + Used with llSetPhysicsMaterial to enable the density value. Must be between 0.0 and 1.0 + + REVERSE + + type + integer + value + 0x4 + tooltip + Play animation in reverse direction. + + ROTATE + + type + integer + value + 0x20 + tooltip + Animate texture rotation. + + SCALE + + type + integer + value + 0x40 + tooltip + Animate the texture scale. + + SCRIPTED + + type + integer + value + 0x8 + tooltip + Scripted in-world objects. + + SMOOTH + + type + integer + value + 0x10 + tooltip + Slide in the X direction, instead of playing separate frames. + + SQRT2 + + type + float + value + 1.41421356 + tooltip + 1.41421356 - The square root of 2. + + STATUS_BLOCK_GRAB + + type + integer + value + 0x40 + tooltip + Controls whether the object can be grabbed.\nA grab is the default action when in third person, and is available as the hand tool in build mode. This is useful for physical objects that you don't want other people to be able to trivially disturb. The default is FALSE + + STATS_TIME_DILATION + + type + integer + value + 0 + tooltip + osGetRegionStats Time Dilation + + STATS_SIM_FPS + + type + integer + value + 1 + tooltip + osGetRegionStats Sim FPS + + STATS_PHYSICS_FPS + + type + integer + value + 2 + tooltip + osGetRegionStats Physics FPS + + STATS_AGENT_UPDATES + + type + integer + value + 3 + tooltip + osGetRegionStats Agent Updates/Sec + + STATS_ROOT_AGENTS + + type + integer + value + 4 + tooltip + osGetRegionStats Main Agents + + STATS_CHILD_AGENTS + + type + integer + value + 5 + tooltip + osGetRegionStats Child Agents + + STATS_TOTAL_PRIMS + + type + integer + value + 6 + tooltip + osGetRegionStats Objects + + STATS_ACTIVE_PRIMS + + type + integer + value + 7 + tooltip + osGetRegionStats Active Objects + + STATS_FRAME_MS + + type + integer + value + 8 + tooltip + osGetRegionStats Total Frame Time + + STATS_NET_MS + + type + integer + value + 9 + tooltip + osGetRegionStats Net Time + + STATS_PHYSICS_MS + + type + integer + value + 10 + tooltip + osGetRegionStats Physics Time + + STATS_IMAGE_MS + + type + integer + value + 11 + tooltip + osGetRegionStats Image Time + + STATS_OTHER_MS + + type + integer + value + 12 + tooltip + osGetRegionStats Other Time + + STATS_IN_PACKETS_PER_SECOND + + type + integer + value + 13 + tooltip + osGetRegionStats Packets in + + STATS_OUT_PACKETS_PER_SECOND + + type + integer + value + 14 + tooltip + osGetRegionStats Packets out + + STATS_UNACKED_BYTES + + type + integer + value + 15 + tooltip + osGetRegionStats Total Unacked Bytes + + STATS_AGENT_MS + + type + integer + value + 16 + tooltip + osGetRegionStats Agent Time + + STATS_PENDING_DOWNLOADS + + type + integer + value + 17 + tooltip + osGetRegionStats Pending Downloads + + STATS_PENDING_UPLOADS + + type + integer + value + 18 + tooltip + osGetRegionStats Pending Uploads + + STATS_ACTIVE_SCRIPTS + + type + integer + value + 19 + tooltip + osGetRegionStats Active Scripts + + STATS_SCRIPT_LPS + + type + integer + value + 20 + tooltip + osGetRegionStats Script Line Per Second + + STATUS_BLOCK_GRAB_OBJECT + + type + integer + value + 0x400 + tooltip + Prevent click-and-drag movement on all prims in the object. + + STATUS_BOUNDS_ERROR + + type + integer + value + 1002 + tooltip + Argument(s) passed to function had a bounds error. + + STATUS_CAST_SHADOWS + + type + integer + value + 0x200 + tooltip + + + STATUS_DIE_AT_EDGE + + type + integer + value + 0x80 + tooltip + Controls whether the object is returned to the owners inventory if it wanders off the edge of the world.\nIt is useful to set this status TRUE for things like bullets or rockets. The default is TRUE + + STATUS_INTERNAL_ERROR + + type + integer + value + 1999 + tooltip + An internal error occurred. + + STATUS_MALFORMED_PARAMS + + type + integer + value + 1000 + tooltip + Function was called with malformed parameters. + + STATUS_NOT_FOUND + + type + integer + value + 1003 + tooltip + Object or other item was not found. + + STATUS_NOT_SUPPORTED + + type + integer + value + 1004 + tooltip + Feature not supported. + + STATUS_OK + + type + integer + value + 0 + tooltip + Result of function call was a success. + + STATUS_PHANTOM + + type + integer + value + 0x10 + tooltip + Controls/indicates whether the object collides or not.\nSetting the value to TRUE makes the object non-colliding with all objects. It is a good idea to use this for most objects that move or rotate, but are non-physical. It is also useful for simulating volumetric lighting. The default is FALSE. + + STATUS_PHYSICS + + type + integer + value + 0x1 + tooltip + Controls/indicates whether the object moves physically.\nThis controls the same flag that the UI check-box for Physical controls. The default is FALSE. + + STATUS_RETURN_AT_EDGE + + type + integer + value + 0x100 + tooltip + + + STATUS_ROTATE_X + + type + integer + value + 0x2 + tooltip + enable (TRUE) or disable (FALSE) rotation around Y axis of physical objects + + STATUS_ROTATE_Y + + type + integer + value + 0x4 + tooltip + enable (TRUE) or disable (FALSE) rotation around Y axis of physical objects + + STATUS_ROTATE_Z + + type + integer + value + 0x8 + tooltip + enable (TRUE) or disable (FALSE) rotation around Z axis of physical objects + + STATUS_SANDBOX + + type + integer + value + 0x20 + tooltip + Controls/indicates whether the object can cross region boundaries and move more than 20 meters from its creation point. The default if FALSE. + + STATUS_TYPE_MISMATCH + + type + integer + value + 1001 + tooltip + Argument(s) passed to function had a type mismatch. + + STATUS_WHITELIST_FAILED + + type + integer + value + 2001 + tooltip + Whitelist Failed. + + STRING_TRIM + + type + integer + value + 0x03 + tooltip + + + STRING_TRIM_HEAD + + type + integer + value + 0x01 + tooltip + + + STRING_TRIM_TAIL + + type + integer + value + 0x02 + tooltip + + + TEXTURE_BLANK + + type + string + value + 5748decc-f629-461c-9a36-a35a221fe21f + tooltip + + + TEXTURE_DEFAULT + + type + string + value + 89556747-24cb-43ed-920b-47caed15465f + tooltip + + + TEXTURE_MEDIA + + type + string + value + 8b5fec65-8d8d-9dc5-cda8-8fdf2716e361 + tooltip + + + TEXTURE_PLYWOOD + + type + string + value + 89556747-24cb-43ed-920b-47caed15465f + tooltip + + + TEXTURE_TRANSPARENT + + type + string + value + 8dcd4a48-2d37-4909-9f78-f7a9eb4ef903 + tooltip + + + TOUCH_INVALID_FACE + + type + integer + value + 0xFFFFFFFF + tooltip + + + TOUCH_INVALID_TEXCOORD + + type + vector + value + <-1.0, -1.0, 0.0> + tooltip + + + TOUCH_INVALID_VECTOR + + type + vector + value + <0.0, 0.0, 0.0> + tooltip + + + TRUE + + type + integer + value + 1 + tooltip + An integer constant for boolean comparisons. Has the value '1'. + + TWO_PI + + type + float + value + 6.28318530 + tooltip + 6.28318530 - The radians of a circle. + + TYPE_FLOAT + + type + integer + value + 2 + tooltip + The list entry is a float. + + TYPE_INTEGER + + type + integer + value + 1 + tooltip + The list entry is an integer. + + TYPE_INVALID + + type + integer + value + 0 + tooltip + The list entry is invalid. + + TYPE_KEY + + type + integer + value + 4 + tooltip + The list entry is a key. + + TYPE_ROTATION + + type + integer + value + 6 + tooltip + The list entry is a rotation. + + TYPE_STRING + + type + integer + value + 3 + tooltip + The list entry is a string. + + TYPE_VECTOR + + type + integer + value + 5 + tooltip + The list entry is a vector. + + URL_REQUEST_DENIED + + type + string + value + URL_REQUEST_DENIED + tooltip + + + URL_REQUEST_GRANTED + + type + string + value + URL_REQUEST_GRANTED + tooltip + + + VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY + + type + integer + value + 32 + tooltip + A slider between minimum (0.0) and maximum (1.0) deflection of angular orientation. That is, its a simple scalar for modulating the strength of angular deflection such that the vehicles preferred axis of motion points toward its real velocity. + + VEHICLE_ANGULAR_DEFLECTION_TIMESCALE + + type + integer + value + 33 + tooltip + The time-scale for exponential success of linear deflection deflection. Its another way to specify the strength of the vehicles tendency to reorient itself so that its preferred axis of motion agrees with its true velocity. + + VEHICLE_ANGULAR_FRICTION_TIMESCALE + + type + integer + value + 17 + tooltip + + A vector of timescales for exponential decay of the vehicles angular velocity about its preferred axes of motion (at, left, up). + Range = [0.07, inf) seconds for each element of the vector. + + + VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE + + type + integer + value + 35 + tooltip + The timescale for exponential decay of the angular motors magnitude. + + VEHICLE_ANGULAR_MOTOR_DIRECTION + + type + integer + value + 19 + tooltip + The direction and magnitude (in preferred frame) of the vehicles angular motor.The vehicle will accelerate (or decelerate if necessary) to match its velocity to its motor. + + VEHICLE_ANGULAR_MOTOR_TIMESCALE + + type + integer + value + 34 + tooltip + The timescale for exponential approach to full angular motor velocity. + + VEHICLE_BANKING_EFFICIENCY + + type + integer + value + 38 + tooltip + A slider between anti (-1.0), none (0.0), and maxmum (1.0) banking strength. + + VEHICLE_BANKING_MIX + + type + integer + value + 39 + tooltip + A slider between static (0.0) and dynamic (1.0) banking. "Static" means the banking scales only with the angle of roll, whereas "dynamic" is a term that also scales with the vehicles linear speed. + + VEHICLE_BANKING_TIMESCALE + + type + integer + value + 40 + tooltip + The timescale for banking to exponentially approach its maximum effect. This is another way to scale the strength of the banking effect, however it affects the term that is proportional to the difference between what the banking behavior is trying to do, and what the vehicle is actually doing. + + VEHICLE_BUOYANCY + + type + integer + value + 27 + tooltip + A slider between minimum (0.0) and maximum anti-gravity (1.0). + + VEHICLE_FLAG_CAMERA_DECOUPLED + + type + integer + value + 0x200 + tooltip + + + VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT + + type + integer + value + 0x10 + tooltip + Hover at global height. + + VEHICLE_FLAG_HOVER_TERRAIN_ONLY + + type + integer + value + 0x8 + tooltip + Ignore water height when hovering. + + VEHICLE_FLAG_HOVER_UP_ONLY + + type + integer + value + 0x20 + tooltip + Hover does not push down. Use this flag for hovering vehicles that should be able to jump above their hover height. + + VEHICLE_FLAG_HOVER_WATER_ONLY + + type + integer + value + 0x4 + tooltip + Ignore terrain height when hovering. + + VEHICLE_FLAG_LIMIT_MOTOR_UP + + type + integer + value + 0x40 + tooltip + Prevents ground vehicles from motoring into the sky. + + VEHICLE_FLAG_LIMIT_ROLL_ONLY + + type + integer + value + 0x2 + tooltip + For vehicles with vertical attractor that want to be able to climb/dive, for instance, aeroplanes that want to use the banking feature. + + VEHICLE_FLAG_MOUSELOOK_BANK + + type + integer + value + 0x100 + tooltip + + + VEHICLE_FLAG_MOUSELOOK_STEER + + type + integer + value + 0x80 + tooltip + + + VEHICLE_FLAG_NO_DEFLECTION_UP + + type + integer + value + 0x1 + tooltip + This flag prevents linear deflection parallel to world z-axis. This is useful for preventing ground vehicles with large linear deflection, like bumper cars, from climbing their linear deflection into the sky. + + VEHICLE_FLAG_NO_FLY_UP + + deprecated + true + type + integer + value + 0x1 + tooltip + Old, changed to VEHICLE_FLAG_NO_DEFLECTION_UP + + VEHICLE_HOVER_EFFICIENCY + + type + integer + value + 25 + tooltip + A slider between minimum (0.0 = bouncy) and maximum (1.0 = fast as possible) damped motion of the hover behavior. + + VEHICLE_HOVER_HEIGHT + + type + integer + value + 24 + tooltip + The height (above the terrain or water, or global) at which the vehicle will try to hover. + + VEHICLE_HOVER_TIMESCALE + + type + integer + value + 26 + tooltip + Period of time (in seconds) for the vehicle to achieve its hover height. + + VEHICLE_LINEAR_DEFLECTION_EFFICIENCY + + type + integer + value + 28 + tooltip + A slider between minimum (0.0) and maximum (1.0) deflection of linear velocity. That is, its a simple scalar for modulating the strength of linear deflection. + + VEHICLE_LINEAR_DEFLECTION_TIMESCALE + + type + integer + value + 29 + tooltip + The timescale for exponential success of linear deflection deflection. It is another way to specify how much time it takes for the vehicles linear velocity to be redirected to its preferred axis of motion. + + VEHICLE_LINEAR_FRICTION_TIMESCALE + + type + integer + value + 16 + tooltip + + A vector of timescales for exponential decay of the vehicles linear velocity along its preferred axes of motion (at, left, up). + Range = [0.07, inf) seconds for each element of the vector. + + + VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE + + type + integer + value + 31 + tooltip + The timescale for exponential decay of the linear motors magnitude. + + VEHICLE_LINEAR_MOTOR_DIRECTION + + type + integer + value + 18 + tooltip + + The direction and magnitude (in preferred frame) of the vehicles linear motor. The vehicle will accelerate (or decelerate if necessary) to match its velocity to its motor. + Range of magnitude = [0, 30] meters/second. + + + VEHICLE_LINEAR_MOTOR_OFFSET + + type + integer + value + 20 + tooltip + + + VEHICLE_LINEAR_MOTOR_TIMESCALE + + type + integer + value + 30 + tooltip + The timescale for exponential approach to full linear motor velocity. + + VEHICLE_REFERENCE_FRAME + + type + integer + value + 44 + tooltip + A rotation of the vehicles preferred axes of motion and orientation (at, left, up) with respect to the vehicles local frame (x, y, z). + + VEHICLE_TYPE_AIRPLANE + + type + integer + value + 4 + tooltip + Uses linear deflection for lift, no hover, and banking to turn.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_AIRPLANE + + VEHICLE_TYPE_BALLOON + + type + integer + value + 5 + tooltip + Hover, and friction, but no deflection.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_BALLOON + + VEHICLE_TYPE_BOAT + + type + integer + value + 3 + tooltip + Hovers over water with lots of friction and some anglar deflection.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_BOAT + + VEHICLE_TYPE_CAR + + type + integer + value + 2 + tooltip + Another vehicle that bounces along the ground but needs the motors to be driven from external controls or timer events.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_CAR + + VEHICLE_TYPE_NONE + + type + integer + value + 0 + tooltip + + + VEHICLE_TYPE_SLED + + type + integer + value + 1 + tooltip + Simple vehicle that bumps along the ground, and likes to move along its local x-axis.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_SLED + + VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY + + type + integer + value + 36 + tooltip + A slider between minimum (0.0 = wobbly) and maximum (1.0 = firm as possible) stability of the vehicle to keep itself upright. + + VEHICLE_VERTICAL_ATTRACTION_TIMESCALE + + type + integer + value + 37 + tooltip + The period of wobble, or timescale for exponential approach, of the vehicle to rotate such that its preferred "up" axis is oriented along the worlds "up" axis. + + VERTICAL + + type + integer + value + 0 + tooltip + + + ZERO_ROTATION + + type + rotation + value + <0.0, 0.0, 0.0, 1.0> + tooltip + + + ZERO_VECTOR + + type + vector + value + <0.0, 0.0, 0.0> + tooltip + + + default + + tooltip + All scripts must have a default state, which is the first state entered when the script starts.\nIf another state is defined before the default state, the compiler will report a syntax error. + + +events + + at_rot_target + + arguments + + + TargetNumber + + type + integer + tooltip + + + + + TargetRotation + + type + rotation + tooltip + + + + + CurrentRotation + + type + rotation + tooltip + + + + + tooltip + This event is triggered when a script comes within a defined angle of a target rotation. The range and rotation, are set by a call to llRotTarget. + + at_target + + arguments + + + TargetNumber + + type + integer + tooltip + + + + + TargetPosition + + type + vector + tooltip + + + + + CurrentPosition + + type + vector + tooltip + + + + + tooltip + This event is triggered when the scripted object comes within a defined range of the target position, defined by the llTarget function call. + + attach + + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + This event is triggered whenever an object is attached or detached from an avatar. If it is attached, the key of the avatar it is attached to is passed in, otherwise NULL_KEY is. + + changed + + arguments + + + Changed + + type + integer + tooltip + + + + + tooltip + Triggered when various events change the object. The change argument will be a bit-field of CHANGED_* constants. + + collision + + arguments + + + NumberOfCollisions + + type + integer + tooltip + + + + + tooltip + + This event is raised while another object, or avatar, is colliding with the object the script is attached to. + The number of detected objects is passed to the script. Information on those objects may be gathered via the llDetected* functions. + + + collision_end + + arguments + + + NumberOfCollisions + + type + integer + tooltip + + + + + tooltip + + This event is raised when another object, or avatar, stops colliding with the object the script is attached to. + The number of detected objects is passed to the script. Information on those objects may be gathered via the llDetected* library functions. + + + collision_start + + arguments + + + NumberOfCollisions + + type + integer + tooltip + + + + + tooltip + + This event is raised when another object, or avatar, starts colliding with the object the script is attached to. + The number of detected objects is passed to the script. Information on those objects may be gathered via the llDetected* library functions. + + + control + + arguments + + + AvatarID + + type + key + tooltip + + + + + Levels + + type + integer + tooltip + + + + + Edges + + type + integer + tooltip + + + + + tooltip + + Once a script has the ability to grab control inputs from the avatar, this event will be used to pass the commands into the script. + The levels and edges are bit-fields of control constants. + + + dataserver + + arguments + + + RequestID + + type + key + tooltip + + + + + Data + + type + string + tooltip + + + + + tooltip + + This event is triggered when the requested data is returned to the script. + Data may be requested by the llRequestAgentData, llRequestInventoryData, and llGetNotecardLine function calls, for example. + + + email + + arguments + + + Time + + type + string + tooltip + + + + + Address + + type + string + tooltip + + + + + Subject + + type + string + tooltip + + + + + Body + + type + string + tooltip + + + + + NumberRemaining + + type + integer + tooltip + + + + + tooltip + + This event is triggered when an email sent to this script arrives. + The number remaining tells how many more emails are known to be still pending. + + + http_request + + arguments + + + HTTPRequestID + + type + key + tooltip + + + + + HTTPMethod + + type + string + tooltip + + + + + Body + + type + string + tooltip + + + + + tooltip + Triggered when task receives an HTTP request. + + http_response + + arguments + + + HTTPRequestID + + type + key + tooltip + + + + + Status + + type + integer + tooltip + + + + + Metadata + + type + list + tooltip + + + + + Body + + type + string + tooltip + + + + + tooltip + This event handler is invoked when an HTTP response is received for a pending llHTTPRequest request or if a pending request fails or times out. + + land_collision + + arguments + + + Position + + type + vector + tooltip + + + + + tooltip + This event is raised when the object the script is attached to is colliding with the ground. + + land_collision_end + + arguments + + + Position + + type + vector + tooltip + + + + + tooltip + This event is raised when the object the script is attached to stops colliding with the ground. + + land_collision_start + + arguments + + + Position + + type + vector + tooltip + + + + + tooltip + This event is raised when the object the script is attached to begins to collide with the ground. + + link_message + + arguments + + + SendersLink + + type + integer + tooltip + + + + + Value + + type + integer + tooltip + + + + + Text + + type + string + tooltip + + + + + ID + + type + key + tooltip + + + + + tooltip + Triggered when object receives a link message via llMessageLinked function call. + + listen + + arguments + + + Channel + + type + integer + tooltip + + + + + Name + + type + string + tooltip + + + + + ID + + type + key + tooltip + + + + + Text + + type + string + tooltip + + + + + tooltip + + This event is raised whenever a chat message matching the constraints set in the llListen command is received. The name and ID of the speaker, as well as the message, are passed in as parameters. + Channel 0 is the public chat channel that all avatars see as chat text. Channels 1 through 2,147,483,648 are private channels that are not sent to avatars but other scripts can listen on those channels. + + + money + + arguments + + + Payer + + type + key + tooltip + + + + + Amount + + type + integer + tooltip + + + + + tooltip + This event is triggered when a resident has given an amount of Linden dollars to the object. + + moving_end + + arguments + + tooltip + Triggered whenever an object with this script stops moving. + + moving_start + + arguments + + tooltip + Triggered whenever an object with this script starts moving. + + no_sensor + + arguments + + tooltip + This event is raised when sensors are active, via the llSensor function call, but are not sensing anything. + + not_at_rot_target + + arguments + + tooltip + When a target is set via the llRotTarget function call, but the script is outside the specified angle this event is raised. + + not_at_target + + arguments + + tooltip + When a target is set via the llTarget library call, but the script is outside the specified range this event is raised. + + object_rez + + arguments + + + RezzedObjectsID + + type + key + tooltip + + + + + tooltip + Triggered when an object rezzes another object from its inventory via the llRezObject, or similar, functions. The id is the globally unique key for the object rezzed. + + on_rez + + arguments + + + StartParameter + + type + integer + tooltip + + + + + tooltip + Triggered whenever an object is rezzed from inventory or by another object. The start parameter is passed in from the llRezObject call, or zero if from inventory. + + remote_data + + arguments + + + EventType + + type + integer + tooltip + + + + + ChannelID + + type + key + tooltip + + + + + MessageID + + type + key + tooltip + + + + + Sender + + type + string + tooltip + + + + + Data + + type + integer + tooltip + + + + + Data + + type + string + tooltip + + + + + tooltip + Triggered by various XML-RPC calls with event_type specifying the type of data. + + run_time_permissions + + arguments + + + PermissionFlags + + type + integer + tooltip + + + + + tooltip + + Scripts need permission from either the owner or the avatar they wish to act on before they may perform certain functions, such as debiting money from their owners account, triggering an animation on an avatar, or capturing control inputs. The llRequestPermissions library function is used to request these permissions and the various permissions integer constants can be supplied. + The integer returned to this event handler contains the current set of permissions flags, so if permissions equal 0 then no permissions are set. + + + sensor + + arguments + + + NumberDetected + + type + integer + tooltip + + + + + tooltip + + This event is raised whenever objects matching the constraints of the llSensor command are detected. + The number of detected objects is passed to the script in the parameter. Information on those objects may be gathered via the llDetected* functions. + + + state_entry + + arguments + + tooltip + The state_entry event occurs whenever a new state is entered, including at program start, and is always the first event handled. + + state_exit + + arguments + + tooltip + The state_exit event occurs whenever the state command is used to transition to another state. It is handled before the new states state_entry event. + + timer + + arguments + + tooltip + This event is raised at regular intervals set by the llSetTimerEvent library function. + + touch + + arguments + + + NumberOfTouches + + type + integer + tooltip + + + + + tooltip + + This event is raised while a user is touching the object the script is attached to. + The number of touching objects is passed to the script in the parameter. + Information on those objects may be gathered via the llDetected* library functions. + + + touch_end + + arguments + + + NumberOfTouches + + type + integer + tooltip + + + + + tooltip + + This event is raised when a user stops touching the object the script is attached to. The number of touches is passed to the script in the parameter. + Information on those objects may be gathered via the llDetected* library functions. + + + touch_start + + arguments + + + NumberOfTouches + + type + integer + tooltip + + + + + tooltip + + This event is raised when a user first touches the object the script is attached to. The number of touches is passed to the script in the parameter. + Information on those objects may be gathered via the llDetected() library functions. + + + transaction_result + + arguments + + + RequestID + + type + key + tooltip + + + + + Success + + type + integer + tooltip + + + + + Message + + type + string + tooltip + + + + + tooltip + Triggered by llTransferMoney() function. + + + +functions + + llAbs + + return + integer + arguments + + + Value + + type + integer + tooltip + An integer value. + + + + tooltip + Returns the absolute (positive) version of Value. + + llAcos + + return + float + arguments + + + Value + + type + float + tooltip + A floating-point value. + + + + tooltip + Returns the arc-cosine of Value, in radians. + + llAddToLandBanList + + return + void + arguments + + + ID + + type + key + tooltip + Agent UUID to add to ban-list. + + + + Hours + + type + float + tooltip + Period, in hours, to ban the avatar for. + + + + tooltip + Add avatar ID to the parcel ban list for the specified number of Hours.\nA value of 0 for Hours will add the agent indefinitely.\nThe smallest value that Hours will accept is 0.01; anything smaller will be seen as 0.\nWhen values that small are used, it seems the function bans in approximately 30 second increments (Probably 36 second increments, as 0.01 of an hour is 36 seconds).\nResidents teleporting to a parcel where they are banned will be redirected to a neighbouring parcel. + + llAddToLandPassList + + sleep + 0.1 + return + void + arguments + + + ID + + type + key + tooltip + Agent UUID to add to pass-list. + + + + Hours + + type + float + tooltip + Period, in hours, to allow the avatar for. + + + + tooltip + Add avatar ID to the land pass list, for a duration of Hours. + + llAdjustSoundVolume + + sleep + 0.1 + return + void + arguments + + + Volume + + type + float + tooltip + The volume to set. + + + + tooltip + Adjusts the volume (0.0 - 1.0) of the currently playing attached sound.\nThis function has no effect on sounds started with llTriggerSound. + + llAllowInventoryDrop + + + return + void + arguments + + + Flag + + type + integer + tooltip + Boolean, If TRUE allows anyone to drop inventory on prim, FALSE revokes. + + + + tooltip + If Flag == TRUE, users without object modify permissions can still drop inventory items into the object. + + llAngleBetween + + return + float + arguments + + + Rot1 + + type + rotation + tooltip + First rotation. + + + + Rot2 + + type + rotation + tooltip + Second rotation. + + + + tooltip + Returns the angle, in radians, between rotations Rot1 and Rot2. + + llApplyImpulse + + return + void + arguments + + + Force + + type + vector + tooltip + Amount of impulse force to apply. + + + + Local + + type + integer + tooltip + Boolean, if TRUE, force is treated as a local directional vector instead of region directional vector. + + + + tooltip + Applies impulse to the object.\nIf Local == TRUE, apply the Force in local coordinates; otherwise, apply the Force in global coordinates.\nThis function only works on physical objects. + + llApplyRotationalImpulse + + return + void + arguments + + + Force + + type + vector + tooltip + Amount of impulse force to apply. + + + + Local + + type + integer + tooltip + Boolean, if TRUE, uses local axis, if FALSE, uses region axis. + + + + tooltip + Applies rotational impulse to the object.\nIf Local == TRUE, apply the Force in local coordinates; otherwise, apply the Force in global coordinates.\nThis function only works on physical objects. + + llAsin + + return + float + arguments + + + Value + + type + float + tooltip + A floating-point value. + + + + tooltip + Returns the arc-sine, in radians, of Value. + + llAtan2 + + + return + float + arguments + + + y + + type + float + tooltip + A floating-point value. + + + + x + + type + float + tooltip + A floating-point value. + + + + tooltip + Returns the arc-tangent2 of y, x. + + llAttachToAvatar + + return + void + arguments + + + AttachmentPoint + + type + integer + tooltip + + + + + tooltip + Attach to avatar at point AttachmentPoint.\nRequires the PERMISSION_ATTACH runtime permission. + + llAttachToAvatarTemp + + return + void + arguments + + + AttachPoint + + type + integer + tooltip + Valid attachment point or ATTACH_* constant. + + + + tooltip + Follows the same convention as llAttachToAvatar, with the exception that the object will not create new inventory for the user, and will disappear on detach or disconnect. + + llAvatarOnLinkSitTarget + + return + key + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. + + + + tooltip + If an avatar is sitting on the link's sit target, return the avatar's key, NULL_KEY otherwise.\nReturns a key that is the UUID of the user seated on the specified link's prim. + + llAvatarOnSitTarget + + return + key + arguments + + tooltip + If an avatar is seated on the sit target, returns the avatar's key, otherwise NULL_KEY.\nThis only will detect avatars sitting on sit targets defined with llSitTarget. + + llAxes2Rot + + return + rotation + arguments + + + Forward + + type + vector + tooltip + Forward/Back part of rotation. + + + + Left + + type + vector + tooltip + Left/Right part of rotation. + + + + Up + + type + vector + tooltip + Up/Down part of rotation. + + + + tooltip + Returns the rotation represented by coordinate axes Forward, Left, and Up. + + llAxisAngle2Rot + + return + rotation + arguments + + + Axis + + type + vector + tooltip + Axis. + + + + Angle + + type + float + tooltip + Angle in radians. + + + + tooltip + Returns the rotation that is a generated Angle about Axis. + + llBase64ToInteger + + return + integer + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Returns an integer that is the Text, Base64 decoded as a big endian integer.\nReturns zero if Text is longer then 8 characters. If Text contains fewer then 6 characters, the return value is unpredictable. + + llBase64ToString + + + return + string + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Converts a Base64 string to a conventional string.\nIf the conversion creates any unprintable characters, they are converted to question marks. + + llBreakAllLinks + + return + void + arguments + + tooltip + De-links all prims in the link set (requires permission PERMISSION_CHANGE_LINKS be set). + + llBreakLink + + return + void + arguments + + + LinkNumber + + type + integer + tooltip + + + + + tooltip + De-links the prim with the given link number (requires permission PERMISSION_CHANGE_LINKS be set). + + llCastRay + + return + list + arguments + + + Start + + type + vector + tooltip + + + + + End + + type + vector + tooltip + + + + + Options + + type + list + tooltip + + + + + tooltip + Casts a ray into the physics world from 'start' to 'end' and returns data according to details in Options.\nReports collision data for intersections with objects.\nReturn value: [UUID_1, {link_number_1}, hit_position_1, {hit_normal_1}, UUID_2, {link_number_2}, hit_position_2, {hit_normal_2}, ... , status_code] where {} indicates optional data. + + llCeil + + return + integer + arguments + + + Value + + type + float + tooltip + + + + + tooltip + Returns smallest integer value >= Value. + + llClearCameraParams + + + return + void + arguments + + tooltip + Resets all camera parameters to default values and turns off scripted camera control. + + llClearLinkMedia + + return + integer + arguments + + + Link + + type + integer + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Clears (deletes) the media and all parameters from the given Face on the linked prim.\nReturns an integer that is a STATUS_* flag, which details the success/failure of the operation. + + llClearPrimMedia + + sleep + 0.1 + return + integer + arguments + + + Face + + type + integer + tooltip + Number of side to clear. + + + + tooltip + Clears (deletes) the media and all parameters from the given Face.\nReturns an integer that is a STATUS_* flag which details the success/failure of the operation. + + llCloseRemoteDataChannel + + sleep + 1.0 + return + void + arguments + + + ChannelID + + type + key + tooltip + + + + + tooltip + Closes the specified XML-RPC channel. + + llCloud + + return + float + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Returns the cloud density at the object's position + Offset. + + llCollisionFilter + + return + void + arguments + + + ObjectName + + type + string + tooltip + + + + + ObjectID + + type + key + tooltip + + + + + Accept + + type + integer + tooltip + If TRUE, only accept collisions with ObjectName name AND ObjectID (either is optional), otherwise with objects not ObjectName AND ObjectID. + + + + tooltip + Specify an empty string or NULL_KEY for Accept, to not filter on the corresponding parameter. + + llCollisionSound + + return + void + arguments + + + ImpactSound + + type + string + tooltip + + + + + ImpactVolume + + type + float + tooltip + + + + + tooltip + Suppress default collision sounds, replace default impact sounds with ImpactSound.\nThe ImpactSound must be in the object inventory.\nSupply an empty string to suppress collision sounds. + + llCollisionSprite + + return + void + arguments + + + ImpactSprite + + type + string + tooltip + + + + + tooltip + Suppress default collision sprites, replace default impact sprite with ImpactSprite; found in the object inventory (empty string to just suppress). + + llCos + + + return + float + arguments + + + Theta + + type + float + tooltip + + + + + tooltip + Returns the cosine of Theta (Theta in radians). + + llCreateLink + + sleep + 1.0 + return + void + arguments + + + TargetPrim + + type + key + tooltip + Object UUID that is in the same region. + + + + Parent + + type + integer + tooltip + If FALSE, then TargetPrim becomes the root. If TRUE, then the script's object becomes the root. + + + + tooltip + Attempt to link the object the script is in, to target (requires permission PERMISSION_CHANGE_LINKS be set).\nRequires permission PERMISSION_CHANGE_LINKS be set. + + llCSV2List + + return + list + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Create a list from a string of comma separated values specified in Text. + + llDeleteSubList + + + return + list + arguments + + + Source + + type + list + tooltip + + + + + Start + + type + integer + tooltip + + + + + End + + type + integer + tooltip + + + + + tooltip + Removes the slice from start to end and returns the remainder of the list.\nRemove a slice from the list and return the remainder, start and end are inclusive.\nUsing negative numbers for start and/or end causes the index to count backwards from the length of the list, so 0, -1 would delete the entire list.\nIf Start is larger than End the list deleted is the exclusion of the entries; so 6, 4 would delete the entire list except for the 5th. list entry. + + llDeleteSubString + + return + string + arguments + + + Source + + type + string + tooltip + + + + + Start + + type + integer + tooltip + + + + + End + + type + integer + tooltip + + + + + tooltip + Removes the indicated sub-string and returns the result.\nStart and End are inclusive.\nUsing negative numbers for Start and/or End causes the index to count backwards from the length of the string, so 0, -1 would delete the entire string.\nIf Start is larger than End, the sub-string is the exclusion of the entries; so 6, 4 would delete the entire string except for the 5th. character. + + llDetachFromAvatar + + return + void + arguments + + tooltip + Remove the object containing the script from the avatar. + + llDetectedGrab + + return + vector + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the grab offset of a user touching the object.\nReturns <0.0, 0.0, 0.0> if Number is not a valid object. + + llDetectedGroup + + return + integer + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns TRUE if detected object or agent Number has the same user group active as this object.\nIt will return FALSE if the object or agent is in the group, but the group is not active. + + llDetectedKey + + return + key + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the key of detected object or avatar number.\nReturns NULL_KEY if Number is not a valid index. + + llDetectedLinkNumber + + return + integer + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the link position of the triggered event for touches and collisions only.\n0 for a non-linked object, 1 for the root of a linked object, 2 for the first child, etc. + + llDetectedName + + return + string + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the name of detected object or avatar number.\nReturns the name of detected object number.\nReturns empty string if Number is not a valid index. + + llDetectedOwner + + return + key + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the key of detected object's owner.\nReturns invalid key if Number is not a valid index. + + llDetectedPos + + return + vector + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the position of detected object or avatar number.\nReturns <0.0, 0.0, 0.0> if Number is not a valid index. + + llDetectedRot + + return + rotation + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the rotation of detected object or avatar number.\nReturns <0.0, 0.0, 0.0, 1.0> if Number is not a valid offset. + + llDetectedTouchBinormal + + return + vector + arguments + + + Index + + type + integer + tooltip + Index of detection information + + + + tooltip + Returns the surface bi-normal for a triggered touch event.\nReturns a vector that is the surface bi-normal (tangent to the surface) where the touch event was triggered. + + llDetectedTouchFace + + return + integer + arguments + + + Index + + type + integer + tooltip + Index of detection information + + + + tooltip + Returns the index of the face where the avatar clicked in a triggered touch event. + + llDetectedTouchNormal + + return + vector + arguments + + + Index + + type + integer + tooltip + Index of detection information + + + + tooltip + Returns the surface normal for a triggered touch event.\nReturns a vector that is the surface normal (perpendicular to the surface) where the touch event was triggered. + + llDetectedTouchPos + + return + vector + arguments + + + Index + + type + integer + tooltip + Index of detected information + + + + tooltip + Returns the position, in region coordinates, where the object was touched in a triggered touch event.\nUnless it is a HUD, in which case it returns the position relative to the attach point. + + llDetectedTouchST + + return + vector + arguments + + + Index + + type + integer + tooltip + Index of detection information + + + + tooltip + Returns a vector that is the surface coordinates where the prim was touched.\nThe X and Y vector positions contain the horizontal (S) and vertical (T) face coordinates respectively.\nEach component is in the interval [0.0, 1.0].\nTOUCH_INVALID_TEXCOORD is returned if the surface coordinates cannot be determined (e.g. when the viewer does not support this function). + + llDetectedTouchUV + + return + vector + arguments + + + Index + + type + integer + tooltip + Index of detection information + + + + tooltip + Returns a vector that is the texture coordinates for where the prim was touched.\nThe X and Y vector positions contain the U and V face coordinates respectively.\nTOUCH_INVALID_TEXCOORD is returned if the touch UV coordinates cannot be determined (e.g. when the viewer does not support this function). + + llDetectedType + + return + integer + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the type (AGENT, ACTIVE, PASSIVE, SCRIPTED) of detected object.\nReturns 0 if number is not a valid index.\nNote that number is a bit-field, so comparisons need to be a bitwise checked. e.g.:\ninteger iType = llDetectedType(0);\n{\n // ...do stuff with the agent\n} + + llDetectedVel + + return + vector + arguments + + + Number + + type + integer + tooltip + + + + + tooltip + Returns the velocity of the detected object Number.\nReturns<0.0, 0.0, 0.0> if Number is not a valid offset. + + llDialog + + sleep + 0.1 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + Text + + type + string + tooltip + + + + + Buttons + + type + list + tooltip + + + + + Channel + + type + integer + tooltip + + + + + tooltip + + Shows a dialog box on the avatar's screen with the message.\n + Up to 12 strings in the list form buttons.\n + If a button is clicked, the name is chatted on Channel.\nOpens a "notify box" in the given avatars screen displaying the message.\n + Up to twelve buttons can be specified in a list of strings. When the user clicks a button, the name of the button is said on the specified channel.\n + Channels work just like llSay(), so channel 0 can be heard by everyone.\n + The chat originates at the object's position, not the avatar's position, even though it is said as the avatar (uses avatar's UUID and Name etc.).\n + Examples:\n + llDialog(who, "Are you a boy or a girl?", [ "Boy", "Girl" ], -4913);\n + llDialog(who, "This shows only an OK button.", [], -192);\n + llDialog(who, "This chats so you can 'hear' it.", ["Hooray"], 0); + + + llDie + + return + void + arguments + + tooltip + Delete the object which holds the script. + + llDumpList2String + + return + string + arguments + + + Source + + type + list + tooltip + + + + + Separator + + type + string + tooltip + + + + + tooltip + Returns the list as a single string, using Separator between the entries.\nWrite the list out as a single string, using Separator between values. + + llEdgeOfWorld + + return + integer + arguments + + + Position + + type + vector + tooltip + + + + + Direction + + type + vector + tooltip + + + + + tooltip + Checks to see whether the border hit by Direction from Position is the edge of the world (has no neighboring region).\nReturns TRUE if the line along Direction from Position hits the edge of the world in the current simulator, returns FALSE if that edge crosses into another simulator. + + llEjectFromLand + + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Ejects AvatarID from land that you own.\nEjects AvatarID from land that the object owner (group or resident) owns. + + llEmail + + sleep + 20.0 + return + void + arguments + + + Address + + type + string + tooltip + + + + + Subject + + type + string + tooltip + + + + + Text + + type + string + tooltip + + + + + tooltip + Sends email to Address with Subject and Message.\nSends an email to Address with Subject and Message. + + llEscapeURL + + return + string + arguments + + + URL + + type + string + tooltip + + + + + tooltip + + Returns an escaped/encoded version of url, replacing spaces with %20 etc.\nReturns the string that is the URL-escaped version of URL (replacing spaces with %20, etc.).\n + This function returns the UTF-8 encoded escape codes for selected characters. + + + llEuler2Rot + + return + rotation + arguments + + + Vector + + type + vector + tooltip + + + + + tooltip + Returns the rotation representation of the Euler angles.\nReturns the rotation represented by the Euler Angle. + + llFabs + + + return + float + arguments + + + Value + + type + float + tooltip + + + + + tooltip + Returns the positive version of Value.\nReturns the absolute value of Value. + + llFloor + + return + integer + arguments + + + Value + + type + float + tooltip + + + + + tooltip + Returns largest integer value <= Value. + + llForceMouselook + + return + void + arguments + + + Enable + + type + integer + tooltip + Boolean, if TRUE when an avatar sits on the prim, the avatar will be forced into mouse-look mode.\nFALSE is the default setting and will undo a previously set TRUE or do nothing. + + + + tooltip + If Enable is TRUE any avatar that sits on this object is forced into mouse-look mode.\nAfter calling this function with Enable set to TRUE, any agent sitting down on the prim will be forced into mouse-look.\nJust like llSitTarget, this changes a permanent property of the prim (not the object) and needs to be reset by calling this function with Enable set to FALSE in order to disable it. + + llFrand + + + return + float + arguments + + + Magnitude + + type + float + tooltip + + + + + tooltip + Returns a pseudo random number in the range [0, Magnitude] or [Magnitude, 0].\nReturns a pseudo-random number between [0, Magnitude]. + + llGenerateKey + + return + key + arguments + + tooltip + Generates a key (SHA-1 hash) using UUID generation to create a unique key.\nAs the UUID produced is versioned, it should never return a value of NULL_KEY.\nThe specific UUID version is an implementation detail that has changed in the past and may change again in the future. Do not depend upon the UUID that is returned to be version 5 SHA-1 hash. + + llGetAccel + + + return + vector + arguments + + tooltip + Returns the acceleration of the object relative to the region's axes.\nGets the acceleration of the object. + + llGetAgentInfo + + return + integer + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + + Returns an integer bit-field containing the agent information about id.\n + Returns AGENT_FLYING, AGENT_ATTACHMENTS, AGENT_SCRIPTED, AGENT_SITTING, AGENT_ON_OBJECT, AGENT_MOUSELOOK, AGENT_AWAY, AGENT_BUSY, AGENT_TYPING, AGENT_CROUCHING, AGENT_ALWAYS_RUN, AGENT_WALKING and/or AGENT_IN_AIR.\nReturns information about the given agent ID as a bit-field of agent info constants. + + + llGetAgentLanguage + + + return + string + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Returns the language code of the preferred interface language of the avatar.\nReturns a string that is the language code of the preferred interface language of the resident. + + llGetAgentList + + return + list + arguments + + + Scope + + type + integer + tooltip + The scope (region, parcel, parcel same owner) to return agents for. + + + + Options + + type + list + tooltip + List of options to apply. Current unused. + + + + tooltip + Requests a list of agents currently in the region, limited by the scope parameter.\nReturns a list [key UUID-0, key UUID-1, ..., key UUID-n] or [string error_msg] - returns avatar keys for all agents in the region limited to the area(s) specified by scope + + llGetAgentSize + + return + vector + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + If the avatar is in the same region, returns the size of the bounding box of the requested avatar by id, otherwise returns ZERO_VECTOR.\nIf the agent is in the same region as the object, returns the size of the avatar. + + llGetAlpha + + return + float + arguments + + + Face + + type + integer + tooltip + + + + + tooltip + Returns the alpha value of Face.\nReturns the 'alpha' of the given face. If face is ALL_SIDES the value returned is the mean average of all faces. + + llGetAndResetTime + + return + float + arguments + + tooltip + Returns the script time in seconds and then resets the script timer to zero.\nGets the time in seconds since starting and resets the time to zero. + + llGetAnimation + + return + string + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Returns the name of the currently playing locomotion animation for the avatar id.\nReturns the currently playing animation for the specified avatar ID. + + llGetAnimationList + + return + list + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Returns a list of keys of playing animations for an avatar.\nReturns a list of keys of all playing animations for the specified avatar ID. + + llGetAnimationOverride + + return + string + arguments + + + AnimationState + + type + string + tooltip + + + + + tooltip + Returns a string that is the name of the animation that is used for the specified animation state\nTo use this function the script must obtain either the PERMISSION_OVERRIDE_ANIMATIONS or PERMISSION_TRIGGER_ANIMATION permission (automatically granted to attached objects). + + llGetAttached + + return + integer + arguments + + tooltip + Returns the object's attachment point, or 0 if not attached. + + llGetAttachedList + + return + list + arguments + + + ID + + type + key + tooltip + Avatar to get attachments + + + + tooltip + Returns a list of keys of all visible (not HUD) attachments on the avatar identified by the ID argument + + llGetBoundingBox + + return + list + arguments + + + ID + + type + key + tooltip + + + + + tooltip + Returns the bounding box around the object (including any linked prims) relative to its root prim, as a list in the format [ (vector) min_corner, (vector) max_corner ]. + + llGetCameraPos + + return + vector + arguments + + tooltip + Returns the current camera position for the agent the task has permissions for.\nReturns the position of the camera, of the user that granted the script PERMISSION_TRACK_CAMERA. If no user has granted the permission, it returns ZERO_VECTOR. + + llGetCameraRot + + return + rotation + arguments + + tooltip + Returns the current camera orientation for the agent the task has permissions for. If no user has granted the PERMISSION_TRACK_CAMERA permission, returns ZERO_ROTATION. + + llGetCenterOfMass + + return + vector + arguments + + tooltip + Returns the prim's centre of mass (unless called from the root prim, where it returns the object's centre of mass). + + llGetColor + + return + vector + arguments + + + Face + + type + integer + tooltip + + + + + tooltip + Returns the color on Face.\nReturns the color of Face as a vector of red, green, and blue values between 0 and 1. If face is ALL_SIDES the color returned is the mean average of each channel. + + llGetCreator + + return + key + arguments + + tooltip + Returns a key for the creator of the prim.\nReturns the key of the object's original creator. Similar to llGetOwner. + + llGetDate + + + return + string + arguments + + tooltip + Returns the current date in the UTC time zone in the format YYYY-MM-DD.\nReturns the current UTC date as YYYY-MM-DD. + + llGetDisplayName + + return + string + arguments + + + AvatarID + + type + key + tooltip + Avatar UUID that is in the same region, or is otherwise known to the region. + + + + tooltip + Returns the display name of an avatar, if the avatar is connected to the current region, or if the name has been cached. Otherwise, returns an empty string. Use llRequestDisplayName if the avatar may be absent from the region. + + llGetEnergy + + return + float + arguments + + tooltip + Returns how much energy is in the object as a percentage of maximum. + + llGetEnv + + return + string + arguments + + + DataRequest + + type + string + tooltip + The type of data to request. Any other string will cause an empty string to be returned. + + + + tooltip + Returns a string with the requested data about the region. + + llGetForce + + return + vector + arguments + + tooltip + Returns the force (if the script is physical).\nReturns the current force if the script is physical. + + llGetFreeMemory + + return + integer + arguments + + tooltip + Returns the number of free bytes of memory the script can use.\nReturns the available free space for the current script. This is inaccurate with LSO. + + llGetFreeURLs + + + return + integer + arguments + + tooltip + Returns the number of available URLs for the current script.\nReturns an integer that is the number of available URLs. + + llGetGeometricCenter + + return + vector + arguments + + tooltip + Returns the vector that is the geometric center of the object relative to the root prim. + + llGetGMTclock + + return + float + arguments + + tooltip + Returns the time in seconds since midnight GMT.\nGets the time in seconds since midnight in GMT/UTC. + + llGetHTTPHeader + + return + string + arguments + + + HTTPRequestID + + type + key + tooltip + A valid HTTP request key + + + + Header + + type + string + tooltip + Header value name + + + + tooltip + Returns the value for header for request_id.\nReturns a string that is the value of the Header for HTTPRequestID. + + llGetInventoryCreator + + return + key + arguments + + + InventoryItem + + type + string + tooltip + + + + + tooltip + Returns a key for the creator of the inventory item.\nThis function returns the UUID of the creator of item. If item is not found in inventory, the object says "No item named 'name'". + + llGetInventoryKey + + return + key + arguments + + + InventoryItem + + type + string + tooltip + + + + + tooltip + Returns the key that is the UUID of the inventory named.\nReturns the key of the inventory named. + + llGetInventoryName + + return + string + arguments + + + InventoryType + + type + integer + tooltip + Inventory item type + + + + Index + + type + integer + tooltip + Index number of inventory item. + + + + tooltip + Returns the name of the inventory item of a given type, specified by index number.\nUse the inventory constants INVENTORY_* to specify the type. + + llGetInventoryNumber + + return + integer + arguments + + + InventoryType + + type + integer + tooltip + Inventory item type + + + + tooltip + Returns the quantity of items of a given type (INVENTORY_* flag) in the prim's inventory.\nUse the inventory constants INVENTORY_* to specify the type. + + llGetInventoryPermMask + + return + integer + arguments + + + InventoryItem + + type + string + tooltip + Inventory item name. + + + + BitMask + + type + integer + tooltip + MASK_BASE, MASK_OWNER, MASK_GROUP, MASK_EVERYONE or MASK_NEXT + + + + tooltip + Returns the requested permission mask for the inventory item.\nReturns the requested permission mask for the inventory item defined by InventoryItem. If item is not in the object's inventory, llGetInventoryPermMask returns FALSE and causes the object to say "No item named '<item>'", where "<item>" is item. + + llGetInventoryType + + return + integer + arguments + + + InventoryItem + + type + string + tooltip + + + + + tooltip + Returns the type of the named inventory item.\nLike all inventory functions, llGetInventoryType is case-sensitive. + + llGetKey + + return + key + arguments + + tooltip + Returns the key of the prim the script is attached to.\nGet the key for the object which has this script. + + llGetLandOwnerAt + + + return + key + arguments + + + Position + + type + vector + tooltip + + + + + tooltip + Returns the key of the land owner, returns NULL_KEY if public.\nReturns the key of the land owner at Position, or NULL_KEY if public. + + llGetLinkKey + + return + key + arguments + + + LinkNumber + + type + integer + tooltip + + + + + tooltip + Returns the key of the linked prim LinkNumber.\nReturns the key of LinkNumber in the link set. + + llGetLinkMedia + + return + list + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag + + + + Face + + type + integer + tooltip + The prim's side number + + + + Parameters + + type + list + tooltip + A list of PRIM_* property constants to return values of. + + + + tooltip + Get the media parameters for a particular face on linked prim, given the desired list of parameter names. Returns a list of values in the order requested. Returns an empty list if no media exists on the face. + + llGetLinkName + + return + string + arguments + + + LinkNumber + + type + integer + tooltip + + + + + tooltip + Returns the name of LinkNumber in a link set.\nReturns the name of LinkNumber the link set. + + llGetLinkNumber + + return + integer + arguments + + tooltip + Returns the link number of the prim containing the script (0 means not linked, 1 the prim is the root, 2 the prim is the first child, etc.).\nReturns the link number of the prim containing the script. 0 means no link, 1 the root, 2 for first child, etc. + + llGetLinkNumberOfSides + + return + integer + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. + + + + tooltip + Returns the number of sides of the specified linked prim.\nReturns an integer that is the number of faces (or sides) of the prim link. + + llGetLinkPrimitiveParams + + return + list + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. + + + + Parameters + + type + list + tooltip + PRIM_* flags. + + + + tooltip + Returns the list of primitive attributes requested in the Parameters list for LinkNumber.\nPRIM_* flags can be broken into three categories, face flags, prim flags, and object flags.\n* Supplying a prim or object flag will return that flags attributes.\n* Face flags require the user to also supply a face index parameter. + + llGetListEntryType + + return + integer + arguments + + + ListVariable + + type + list + tooltip + + + + + Index + + type + integer + tooltip + + + + + tooltip + Returns the type of the index entry in the list (TYPE_INTEGER, TYPE_FLOAT, TYPE_STRING, TYPE_KEY, TYPE_VECTOR, TYPE_ROTATION, or TYPE_INVALID if index is off list).\nReturns the type of the variable at Index in ListVariable. + + llGetListLength + + return + integer + arguments + + + ListVariable + + type + list + tooltip + + + + + tooltip + Returns the number of elements in the list.\nReturns the number of elements in ListVariable. + + llGetLocalPos + + return + vector + arguments + + tooltip + Returns the position relative to the root.\nReturns the local position of a child object relative to the root. + + llGetLocalRot + + return + rotation + arguments + + tooltip + Returns the rotation local to the root.\nReturns the local rotation of a child object relative to the root. + + llGetMass + + return + float + arguments + + tooltip + Returns the mass of object that the script is attached to.\nReturns the scripted object's mass. When called from a script in a link-set, the parent will return the sum of the link-set weights, while a child will return just its own mass. When called from a script inside an attachment, this function will return the mass of the avatar it's attached to, not its own. + + llGetMassMKS + + return + float + arguments + + tooltip + Acts as llGetMass(), except that the units of the value returned are Kg. + + llGetMaxScaleFactor + + + return + float + arguments + + tooltip + Returns a float that is the largest scaling factor that can be used with llScaleByFactor to resize the object. This maximum is determined by the Linkability Rules and prim scale limits. + + llGetMemoryLimit + + return + integer + arguments + + tooltip + Get the maximum memory a script can use, in bytes. + + llGetMinScaleFactor + + return + float + arguments + + tooltip + Returns a float that is the smallest scaling factor that can be used with llScaleByFactor to resize the object. This minimum is determined by the prim scale limits. + + llGetNextEmail + + return + void + arguments + + + Address + + type + string + tooltip + + + + + Subject + + type + string + tooltip + + + + + tooltip + Fetch the next queued email with that matches the given address and/or subject, via the email event.\nIf the parameters are blank, they are not used for filtering. + + llGetNotecardLine + + sleep + 0.1 + return + key + arguments + + + NotecardName + + type + string + tooltip + + + + + LineNumber + + type + integer + tooltip + + + + + tooltip + Returns LineNumber from NotecardName via the dataserver event. The line index starts at zero.\nIf the requested line is passed the end of the note-card the dataserver event will return the constant EOF string.\nThe key returned by this function is a unique identifier which will be supplied to the dataserver event in the requested parameter. + + llGetNumberOfNotecardLines + + sleep + 0.1 + return + key + arguments + + + NotecardName + + type + string + tooltip + + + + + tooltip + Returns the number of lines contained within a notecard via the dataserver event.\nThe key returned by this function is a query ID for identifying the dataserver reply. + + llGetNumberOfPrims + + return + integer + arguments + + tooltip + Returns the number of prims in a link set the script is attached to.\nReturns the number of prims in (and avatars seated on) the object the script is in. + + llGetNumberOfSides + + return + integer + arguments + + tooltip + Returns the number of faces (or sides) of the prim.\nReturns the number of sides of the prim which has the script. + + llGetObjectDesc + + + return + string + arguments + + tooltip + Returns the description of the prim the script is attached to.\nReturns the description of the scripted object/prim. You can set the description using llSetObjectDesc. + + llGetObjectDetails + + return + list + arguments + + + ID + + type + key + tooltip + Prim or avatar UUID that is in the same region. + + + + Parameters + + type + list + tooltip + List of OBJECT_* flags. + + + + tooltip + Returns a list of object details specified in the Parameters list for the object or avatar in the region with key ID.\nParameters are specified by the OBJECT_* constants. + + llGetObjectMass + + return + float + arguments + + + ID + + type + key + tooltip + + + + + tooltip + Returns the mass of the avatar or object in the region.\nGets the mass of the object or avatar corresponding to ID. + + llGetObjectName + + return + string + arguments + + tooltip + Returns the name of the prim which the script is attached to.\nReturns the name of the prim (not object) which contains the script. + + llGetObjectPermMask + + return + integer + arguments + + + Category + + type + integer + tooltip + Category is one of MASK_BASE, MASK_OWNER, MASK_GROUP, MASK_EVERYONE, or MASK_NEXT + + + + tooltip + Returns the permission mask of the requested category for the object. + + llGetObjectPrimCount + + return + integer + arguments + + + ObjectID + + type + key + tooltip + + + + + tooltip + Returns the total number of prims for an object in the region.\nReturns the prim count for any object id in the same region. + + llGetOmega + + return + vector + arguments + + tooltip + Returns the rotation velocity in radians per second.\nReturns a vector that is the rotation velocity of the object in radians per second. + + llGetOwner + + + return + key + arguments + + tooltip + Returns the object owner's UUID.\nReturns the key for the owner of the object. + + llGetOwnerKey + + return + key + arguments + + + ObjectID + + type + key + tooltip + + + + + tooltip + Returns the owner of ObjectID.\nReturns the key for the owner of object ObjectID. + + llGetParcelDetails + + return + list + arguments + + + Position + + type + vector + tooltip + Location within the region. + + + + ParcelDetails + + type + list + tooltip + List of details requested for the specified parcel location. + + + + tooltip + Returns a list of parcel details specified in the ParcelDetails list for the parcel at Position.\nParameters is one or more of: PARCEL_DETAILS_NAME, _DESC, _OWNER, _GROUP, _AREA, _ID, _SEE_AVATARS.\nReturns a list that is the parcel details specified in ParcelDetails (in the same order) for the parcel at Position. + + llGetParcelFlags + + return + integer + arguments + + + Position + + type + vector + tooltip + + + + + tooltip + Returns a mask of the parcel flags (PARCEL_FLAG_*) for the parcel that includes the point Position.\nReturns a bit-field specifying the parcel flags (PARCEL_FLAG_*) for the parcel at Position. + + llGetParcelMaxPrims + + return + integer + arguments + + + Position + + type + vector + tooltip + Region coordinates (z is ignored) of parcel. + + + + SimWide + + type + integer + tooltip + Boolean. If FALSE then the return is the maximum prims supported by the parcel. If TRUE then it is the combined number of prims on all parcels in the region owned by the specified parcel's owner. + + + + tooltip + Returns the maximum number of prims allowed on the parcel at Position for a given scope.\nThe scope may be set to an individual parcel or the combined resources of all parcels with the same ownership in the region. + + llGetParcelMusicURL + + return + string + arguments + + tooltip + Gets the streaming audio URL for the parcel object is on.\nThe object owner, avatar or group, must also be the land owner. + + llGetParcelPrimCount + + return + integer + arguments + + + Position + + type + vector + tooltip + Region coordinates of parcel to query. + + + + Category + + type + integer + tooltip + A PARCEL_COUNT_* flag. + + + + SimWide + + type + integer + tooltip + Boolean. If FALSE then the return is the maximum prims supported by the parcel. If TRUE then it is the combined number of prims on all parcels in the region owned by the specified parcel's owner. + + + + tooltip + Returns the number of prims on the parcel at Position of the given category.\nCategories: PARCEL_COUNT_TOTAL, _OWNER, _GROUP, _OTHER, _SELECTED, _TEMP.\nReturns the number of prims used on the parcel at Position which are in Category.\nIf SimWide is TRUE, it returns the total number of objects for all parcels with matching ownership in the category specified.\nIf SimWide is FALSE, it returns the number of objects on this specific parcel in the category specified + + llGetParcelPrimOwners + + sleep + 2.0 + return + list + arguments + + + Position + + type + vector + tooltip + + + + + tooltip + Returns a list of up to 100 residents who own objects on the parcel at Position, with per-owner land impact totals.\nRequires owner-like permissions for the parcel, and for the script owner to be present in the region.\nThe list is formatted as [ key agentKey1, integer agentLI1, key agentKey2, integer agentLI2, ... ], sorted by agent key.\nThe integers are the combined land impacts of the objects owned by the corresponding agents. + + llGetPermissions + + return + integer + arguments + + tooltip + Returns an integer bitmask of the permissions that have been granted to the script. Individual permissions can be determined using a bit-wise "and" operation against the PERMISSION_* constants + + llGetPermissionsKey + + return + key + arguments + + tooltip + Returns the key of the avatar that last granted or declined permissions to the script.\nReturns NULL_KEY if permissions were never granted or declined. + + llGetPhysicsMaterial + + return + list + arguments + + tooltip + Returns a list of the form [float gravity_multiplier, float restitution, float friction, float density]. + + llGetPos + + return + vector + arguments + + tooltip + Returns the position of the task in region coordinates.\nReturns the vector position of the task in region coordinates. + + llGetPrimitiveParams + + sleep + 0.2 + return + list + arguments + + + Parameters + + type + list + tooltip + PRIM_* flags and face parameters + + + + tooltip + Returns the primitive parameters specified in the parameters list.\nReturns primitive parameters specified in the Parameters list. + + llGetPrimMediaParams + + sleep + 0.1 + return + list + arguments + + + Face + + type + integer + tooltip + face number + + + + Parameters + + type + list + tooltip + One or more PRIM_MEDIA_* flags + + + + tooltip + Returns the media parameters for a particular face on an object, given the desired list of parameter names, in the order requested. Returns an empty list if no media exists on the face. + + llGetRegionAgentCount + + return + integer + arguments + + tooltip + Returns the number of avatars in the region.\nReturns an integer that is the number of avatars in the region. + + llGetRegionCorner + + + return + vector + arguments + + tooltip + Returns a vector, in meters, that is the global location of the south-west corner of the region which the object is in.\nReturns the Region-Corner of the simulator containing the task. The region-corner is a vector (values in meters) representing distance from the first region. + + llGetRegionFlags + + return + integer + arguments + + tooltip + Returns the region flags (REGION_FLAG_*) for the region the object is in.\nReturns a bit-field specifying the region flags (REGION_FLAG_*) for the region the object is in. + + llGetRegionFPS + + return + float + arguments + + tooltip + Returns the mean region frames per second. + + llGetRegionName + + return + string + arguments + + tooltip + Returns the current region name. + + llGetRegionTimeDilation + + return + float + arguments + + tooltip + Returns the current time dilation as a float between 0.0 (full dilation) and 1.0 (no dilation).\nReturns the current time dilation as a float between 0.0 and 1.0. + + llGetRootPosition + + return + vector + arguments + + tooltip + Returns the position (in region coordinates) of the root prim of the object which the script is attached to.\nThis is used to allow a child prim to determine where the root is. + + llGetRootRotation + + return + rotation + arguments + + tooltip + Returns the rotation (relative to the region) of the root prim of the object which the script is attached to.\nGets the global rotation of the root object of the object script is attached to. + + llGetRot + + return + rotation + arguments + + tooltip + Returns the rotation relative to the region's axes.\nReturns the rotation. + + llGetScale + + return + vector + arguments + + tooltip + Returns the scale of the prim.\nReturns a vector that is the scale (dimensions) of the prim. + + llGetScriptName + + return + string + arguments + + tooltip + Returns the name of the script that this function is used in.\nReturns the name of this script. + + llGetScriptState + + return + integer + arguments + + + ScriptName + + type + string + tooltip + + + + + tooltip + Returns TRUE if the script named is running.\nReturns TRUE if ScriptName is running. + + llGetSimStats + + return + float + arguments + + + StatType + + type + integer + tooltip + Statistic type. Currently only SIM_STAT_PCT_CHARS_STEPPED is supported. + + + + tooltip + Returns a float that is the requested statistic. + + llGetSimulatorHostname + + + sleep + 10.0 + return + string + arguments + + tooltip + Returns the host-name of the machine which the script is running on.\nFor example, "sim225.agni.lindenlab.com". + + llGetSPMaxMemory + + return + integer + arguments + + tooltip + Returns the maximum used memory for the current script. Only valid after using PROFILE_SCRIPT_MEMORY. Non-mono scripts always use 16k.\nReturns the integer of the most bytes used while llScriptProfiler was last active. + + llGetStartParameter + + return + integer + arguments + + tooltip + Returns an integer that is the script rez parameter.\nIf the object was rezzed by an agent, this function returns 0. + + llGetStatus + + return + integer + arguments + + + StatusFlag + + type + integer + tooltip + A STATUS_* flag + + + + tooltip + Returns boolean value of the specified status (e.g. STATUS_PHANTOM) of the object the script is attached to. + + llGetSubString + + return + string + arguments + + + String + + type + string + tooltip + + + + + Start + + type + integer + tooltip + + + + + End + + type + integer + tooltip + + + + + tooltip + Returns a sub-string from String, in a range specified by the Start and End indicies (inclusive).\nUsing negative numbers for Start and/or End causes the index to count backwards from the length of the string, so 0, -1 would capture the entire string.\nIf Start is greater than End, the sub string is the exclusion of the entries. + + llGetSunDirection + + return + vector + arguments + + tooltip + Returns a normalized vector of the direction of the sun in the region.\nReturns the sun's direction on the simulator. + + llGetTexture + + return + string + arguments + + + Face + + type + integer + tooltip + + + + + tooltip + Returns a string that is the texture on face (the inventory name if it is a texture in the prim's inventory, otherwise the key).\nReturns the texture of a face, if it is found in object inventory, its key otherwise. + + llGetTextureOffset + + return + vector + arguments + + + Face + + type + integer + tooltip + + + + + tooltip + Returns the texture offset of face in the x and y components of a vector. + + llGetTextureRot + + return + float + arguments + + + Face + + type + integer + tooltip + + + + + tooltip + Returns the texture rotation of side. + + llGetTextureScale + + return + vector + arguments + + + Face + + type + integer + tooltip + + + + + tooltip + Returns the texture scale of side in the x and y components of a vector.\nReturns the texture scale of a side in the x and y components of a vector. + + llGetTime + + return + float + arguments + + tooltip + Returns the time in seconds since the last region reset, script reset, or call to either llResetTime or llGetAndResetTime. + + llGetTimeOfDay + + return + float + arguments + + tooltip + Returns the time in seconds since Second Life midnight or since region up-time, whichever is smaller.\nThe Second Life day cycle is 4 hours. + + llGetTimestamp + + return + string + arguments + + tooltip + Returns a time-stamp (UTC time zone) in the format: YYYY-MM-DDThh:mm:ss.ff..fZ. + + llGetTorque + + return + vector + arguments + + tooltip + Returns the torque (if the script is physical).\nReturns a vector that is the torque (if the script is physical). + + llGetUnixTime + + return + integer + arguments + + tooltip + Returns the number of seconds elapsed since 00:00 hours, Jan 1, 1970 UTC from the system clock. + + llGetUsedMemory + + return + integer + arguments + + tooltip + Returns the current used memory for the current script. Non-mono scripts always use 16K.\nReturns the integer of the number of bytes of memory currently in use by the script. Non-mono scripts always use 16K. + + llGetUsername + + return + string + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Returns the username of an avatar, if the avatar is connected to the current region, or if the name has been cached. Otherwise, returns an empty string. Use llRequestUsername if the avatar may be absent from the region. + + llGetVel + + return + vector + arguments + + tooltip + Returns the velocity of the object.\nReturns a vector that is the velocity of the object. + + llGetWallclock + + return + float + arguments + + tooltip + Returns the time in seconds since midnight California Pacific time (PST/PDT).\nReturns the time in seconds since simulator's time-zone midnight (Pacific Time). + + llGiveInventory + + return + void + arguments + + + TargetID + + type + key + tooltip + + + + + InventoryItem + + type + string + tooltip + + + + + tooltip + Give InventoryItem to destination represented by TargetID, as permitted by the permissions system.\nTargetID may be any agent or an object in the same region. + + llGiveInventoryList + + sleep + 3.0 + return + void + arguments + + + TargetID + + type + key + tooltip + + + + + FolderName + + type + string + tooltip + + + + + InventoryItems + + type + list + tooltip + + + + + tooltip + Give InventoryItems to destination (represented by TargetID) as a new folder of items, as permitted by the permissions system.\nTargetID may be any agent or an object in the same region. If TargetID is an object, the items are passed directly to the object inventory (no folder is created). + + llGiveMoney + + return + integer + arguments + + + AvatarID + + type + key + tooltip + + + + + Amount + + type + integer + tooltip + + + + + tooltip + Transfers Amount of L$ from script owner to AvatarID.\nThis call will silently fail if PERMISSION_DEBIT has not been granted. + + llGodLikeRezObject + + god-mode + true + return + void + arguments + + + InventoryItemID + + type + key + tooltip + + + + + Position + + type + vector + tooltip + + + + + tooltip + Rez directly off of a UUID if owner has god-bit set. + + llGround + + return + float + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Returns the ground height at the object position + offset.\nReturns the ground height at the object's position + Offset. + + llGroundContour + + + return + vector + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Returns the ground contour direction below the object position + Offset.\nReturns the ground contour at the object's position + Offset. + + llGroundNormal + + return + vector + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Returns the ground normal below the object position + offset.\nReturns the ground contour at the object's position + Offset. + + llGroundRepel + + return + void + arguments + + + Height + + type + float + tooltip + Distance above the ground. + + + + Water + + type + integer + tooltip + Boolean, if TRUE then hover above water too. + + + + Tau + + type + float + tooltip + Seconds to critically damp in. + + + + tooltip + + Critically damps to height if within height * 0.5 of level (either above ground level or above the higher of land and water if water == TRUE).\nCritically damps to fHeight if within fHeight * 0.5 of ground or water level.\n + The height is above ground level if iWater is FALSE or above the higher of land and water if iWater is TRUE.\n + Do not use with vehicles. Only works in physics-enabled objects. + + + llGroundSlope + + return + vector + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Returns the ground slope below the object position + Offset.\nReturns the ground slope at the object position + Offset. + + llHTTPRequest + + return + key + arguments + + + URL + + type + string + tooltip + A valid HTTP/HTTPS URL. + + + + Parameters + + type + list + tooltip + Configuration parameters, specified as HTTP_* flag-value pairs. + + + + Body + + type + string + tooltip + Contents of the request. + + + + tooltip + Sends an HTTP request to the specified URL with the Body of the request and Parameters.\nReturns a key that is a handle identifying the HTTP request made. + + llHTTPResponse + + return + void + arguments + + + HTTPRequestID + + type + key + tooltip + A valid HTTP request key. + + + + Status + + type + integer + tooltip + HTTP Status (200, 400, 404, etc.). + + + + Body + + type + string + tooltip + Contents of the response. + + + + tooltip + Responds to an incoming HTTP request which was triggerd by an http_request event within the script. HTTPRequestID specifies the request to respond to (this ID is supplied in the http_request event handler). Status and Body specify the status code and message to respond with. + + llInsertString + + return + string + arguments + + + TargetVariable + + type + string + tooltip + + + + + Position + + type + integer + tooltip + + + + + SourceVariable + + type + string + tooltip + + + + + tooltip + Inserts SourceVariable into TargetVariable at Position, and returns the result.\nInserts SourceVariable into TargetVariable at Position and returns the result. Note this does not alter TargetVariable. + + llInstantMessage + + sleep + 2.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + Text + + type + string + tooltip + + + + + tooltip + IMs Text to the user identified.\nSend Text to the user as an instant message. + + llIntegerToBase64 + + return + string + arguments + + + Value + + type + integer + tooltip + + + + + tooltip + Returns a string that is a Base64 big endian encode of Value.\nEncodes the Value as an 8-character Base64 string. + + llJson2List + + energy + 0.0 + return + list + arguments + + + JSON + + type + string + tooltip + + + + + tooltip + Converts the top level of the JSON string to a list. + + llJsonGetValue + + return + string + arguments + + + JSON + + type + string + tooltip + + + + + Specifiers + + type + list + tooltip + + + + + tooltip + Gets the value indicated by Specifiers from the JSON string. + + llJsonSetValue + + return + string + arguments + + + JSON + + type + string + tooltip + + + + + Specifiers + + type + list + tooltip + + + + + Value + + type + string + tooltip + + + + + tooltip + Returns a new JSON string that is the JSON given with the Value indicated by Specifiers set to Value. + + llJsonValueType + + return + string + arguments + + + JSON + + type + string + tooltip + + + + + Specifiers + + type + list + tooltip + + + + + tooltip + Returns the type constant (JSON_*) for the value in JSON indicated by Specifiers. + + llKey2Name + + return + string + arguments + + + ID + + type + key + tooltip + Avatar or rezzed prim UUID. + + + + tooltip + Returns the name of the prim or avatar specified by ID. The ID must be a valid rezzed prim or avatar key in the current simulator, otherwise an empty string is returned.\nFor avatars, the returned name is the legacy name + + llLinkParticleSystem + + return + void + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag + + + + Rules + + type + list + tooltip + Particle system rules list in the format [ rule1, data1, rule2, data2 . . . ruleN, dataN ] + + + + tooltip + Creates a particle system in prim LinkNumber based on Rules. An empty list removes a particle system from object.\nList format is [ rule-1, data-1, rule-2, data-2 ... rule-n, data-n ].\nThis is identical to llParticleSystem except that it applies to a specified linked prim and not just the prim the script is in. + + llLinkSitTarget + + return + void + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag of the prim. + + + + Offset + + type + vector + tooltip + Position for the sit target, relative to the prim's position. + + + + Rotation + + type + rotation + tooltip + Rotation (relative to the prim's rotation) for the avatar. + + + + tooltip + Set the sit location for the linked prim(s). If Offset == <0,0,0> clear it.\nSet the sit location for the linked prim(s). The sit location is relative to the prim's position and rotation. + + llList2CSV + + return + string + arguments + + + ListVariable + + type + list + tooltip + + + + + tooltip + Creates a string of comma separated values from the list.\nCreate a string of comma separated values from the specified list. + + llList2Float + + return + float + arguments + + + ListVariable + + type + list + tooltip + + + + + Index + + type + integer + tooltip + + + + + tooltip + Copies the float at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to a float, then zero is returned. + + llList2Integer + + return + integer + arguments + + + ListVariable + + type + list + tooltip + + + + + Index + + type + integer + tooltip + + + + + tooltip + Copies the integer at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to an integer, then zero is returned. + + llList2Json + + return + string + arguments + + + JsonType + + type + string + tooltip + Type is JSON_ARRAY or JSON_OBJECT. + + + + Values + + type + list + tooltip + List of values to convert. + + + + tooltip + Converts either a strided list of key:value pairs to a JSON_OBJECT, or a list of values to a JSON_ARRAY. + + llList2Key + + return + key + arguments + + + ListVariable + + type + list + tooltip + + + + + Index + + type + integer + tooltip + + + + + tooltip + Copies the key at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to a key, then null string is returned. + + llList2List + + return + list + arguments + + + ListVariable + + type + list + tooltip + + + + + Start + + type + integer + tooltip + + + + + End + + type + integer + tooltip + + + + + tooltip + Returns a subset of entries from ListVariable, in a range specified by the Start and End indicies (inclusive).\nUsing negative numbers for Start and/or End causes the index to count backwards from the length of the string, so 0, -1 would capture the entire string.\nIf Start is greater than End, the sub string is the exclusion of the entries. + + llList2ListStrided + + return + list + arguments + + + ListVariable + + type + list + tooltip + + + + + Start + + type + integer + tooltip + + + + + End + + type + integer + tooltip + + + + + Stride + + type + integer + tooltip + + + + + tooltip + Copies the strided slice of the list from Start to End.\nReturns a copy of the strided slice of the specified list from Start to End. + + llList2Rot + + return + rotation + arguments + + + ListVariable + + type + list + tooltip + + + + + Index + + type + integer + tooltip + + + + + tooltip + Copies the rotation at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to rotation, thenZERO_ROTATION is returned. + + llList2String + + return + string + arguments + + + ListVariable + + type + list + tooltip + + + + + Index + + type + integer + tooltip + + + + + tooltip + Copies the string at Index in the list.\nReturns the value at Index in the specified list as a string. If Index describes a location not in the list then null string is returned. + + llList2Vector + + + return + vector + arguments + + + ListVariable + + type + list + tooltip + + + + + Index + + type + integer + tooltip + + + + + tooltip + Copies the vector at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to a vector, then ZERO_VECTOR is returned. + + llListen + + return + integer + arguments + + + Channel + + type + integer + tooltip + + + + + SpeakersName + + type + string + tooltip + + + + + SpeakersID + + type + key + tooltip + + + + + Text + + type + string + tooltip + + + + + tooltip + Creates a listen callback for Text on Channel from SpeakersName and SpeakersID (SpeakersName, SpeakersID, and/or Text can be empty) and returns an identifier that can be used to deactivate or remove the listen.\nNon-empty values for SpeakersName, SpeakersID, and Text will filter the results accordingly, while empty strings and NULL_KEY will not filter the results, for string and key parameters respectively.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. + + llListenControl + + return + void + arguments + + + ChannelHandle + + type + integer + tooltip + + + + + Active + + type + integer + tooltip + + + + + tooltip + Makes a listen event callback active or inactive. Pass in the value returned from llListen to the iChannelHandle parameter to specify which listener you are controlling.\nUse boolean values to specify Active + + llListenRemove + + return + void + arguments + + + ChannelHandle + + type + integer + tooltip + + + + + tooltip + Removes a listen event callback. Pass in the value returned from llListen to the iChannelHandle parameter to specify which listener to remove. + + llListFindList + + return + integer + arguments + + + ListVariable + + type + list + tooltip + + + + + Find + + type + list + tooltip + + + + + tooltip + Returns the index of the first instance of Find in ListVariable. Returns -1 if not found.\nReturns the position of the first instance of the Find list in the ListVariable. Returns -1 if not found. + + llListInsertList + + return + list + arguments + + + Target + + type + list + tooltip + + + + + ListVariable + + type + list + tooltip + + + + + Position + + type + integer + tooltip + + + + + tooltip + Returns a list that contains all the elements from Target but with the elements from ListVariable inserted at Position start.\nReturns a new list, created by inserting ListVariable into the Target list at Position. Note this does not alter the Target. + + llListRandomize + + return + list + arguments + + + ListVariable + + type + list + tooltip + + + + + Stride + + type + integer + tooltip + + + + + tooltip + Returns a version of the input ListVariable which has been randomized by blocks of size Stride.\nIf the remainder from the length of the list, divided by the stride is non-zero, this function does not randomize the list. + + llListReplaceList + + return + list + arguments + + + Target + + type + list + tooltip + + + + + ListVariable + + type + list + tooltip + + + + + Start + + type + integer + tooltip + + + + + End + + type + integer + tooltip + + + + + tooltip + Returns a list that is Target with Start through End removed and ListVariable inserted at Start.\nReturns a list replacing the slice of the Target list from Start to End with the specified ListVariable. Start and End are inclusive, so 0, 1 would replace the first two entries and 0, 0 would replace only the first list entry. + + llListSort + + return + list + arguments + + + ListVariable + + type + list + tooltip + List to sort. + + + + Stride + + type + integer + tooltip + Stride length. + + + + Ascending + + type + integer + tooltip + Boolean. TRUE = result in ascending order, FALSE = result in descending order. + + + + tooltip + Returns the specified list, sorted into blocks of stride in ascending order (if Ascending is TRUE, otherwise descending). Note that sort only works if the first entry of each block is the same datatype. + + llListStatistics + + return + float + arguments + + + Operation + + type + integer + tooltip + One of LIST_STAT_* values + + + + ListVariable + + type + list + tooltip + Variable to analyze. + + + + tooltip + Performs a statistical aggregate function, specified by a LIST_STAT_* constant, on ListVariables.\nThis function allows a script to perform a statistical operation as defined by operation on a list composed of integers and floats. + + llLoadURL + + sleep + 0.1 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + Text + + type + string + tooltip + + + + + URL + + type + string + tooltip + + + + + tooltip + Shows dialog to avatar AvatarID offering to load web page at URL. If user clicks yes, launches their web browser.\nllLoadURL displays a dialogue box to the user, offering to load the specified web page using the default web browser. + + llLog + + return + float + arguments + + + Value + + type + float + tooltip + + + + + tooltip + Returns the natural logarithm of Value. Returns zero if Value <= 0.\nReturns the base e (natural) logarithm of the specified Value. + + llLog10 + + return + float + arguments + + + Value + + type + float + tooltip + + + + + tooltip + Returns the base 10 logarithm of Value. Returns zero if Value <= 0.\nReturns the base 10 (common) logarithm of the specified Value. + + llLookAt + + return + void + arguments + + + Target + + type + vector + tooltip + + + + + Strength + + type + float + tooltip + + + + + Damping + + type + float + tooltip + + + + + tooltip + Cause object name to point its forward axis towards Target, at a force controlled by Strength and Damping.\nGood Strength values are around half the mass of the object and good Damping values are less than 1/10th of the Strength.\nAsymmetrical shapes require smaller Damping. A Strength of 0.0 cancels the look at. + + llLoopSound + + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + tooltip + Plays specified Sound, looping indefinitely, at Volume (0.0 - 1.0).\nOnly one sound may be attached to an object at a time.\nA second call to llLoopSound with the same key will not restart the sound, but the new volume will be used. This allows control over the volume of already playing sounds.\nSetting the volume to 0 is not the same as calling llStopSound; a sound with 0 volume will continue to loop.\nTo restart the sound from the beginning, call llStopSound before calling llLoopSound again. + + llLoopSoundMaster + + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + tooltip + Plays attached Sound, looping at volume (0.0 - 1.0), and declares it a sync master.\nBehaviour is identical to llLoopSound, with the addition of marking the source as a "Sync Master", causing "Slave" sounds to sync to it. If there are multiple masters within a viewers interest area, the most audible one (a function of both distance and volume) will win out as the master.\nThe use of multiple masters within a small area is unlikely to produce the desired effect. + + llLoopSoundSlave + + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + tooltip + Plays attached sound looping at volume (0.0 - 1.0), synced to most audible sync master.\nBehaviour is identical to llLoopSound, unless there is a "Sync Master" present.\nIf a Sync Master is already playing the Slave sound will begin playing from the same point the master is in its loop synchronizing the loop points of both sounds.\nIf a Sync Master is started when the Slave is already playing, the Slave will skip to the correct position to sync with the Master. + + llManageEstateAccess + + return + integer + arguments + + + Action + + type + integer + tooltip + One of the ESTATE_ACCESS_ALLOWED_* actions. + + + + AvatarID + + type + key + tooltip + UUID of the avatar or group to act upon. + + + + tooltip + Adds or removes agents from the estate's agent access or ban lists, or groups to the estate's group access list. Action is one of the ESTATE_ACCESS_ALLOWED_* operations to perform.\nReturns an integer representing a boolean, TRUE if the call was successful; FALSE if throttled, invalid action, invalid or null id or object owner is not allowed to manage the estate.\nThe object owner is notified of any changes, unless PERMISSION_SILENT_ESTATE_MANAGEMENT has been granted to the script. + + llMapDestination + + sleep + 1.0 + return + void + arguments + + + RegionName + + type + string + tooltip + + + + + Position + + type + vector + tooltip + + + + + Direction + + type + vector + tooltip + + + + + tooltip + Opens world map for avatar who touched is is wearing the script, centred on RegionName with Position highlighted. Only works for scripts attached to avatar, or during touch events.\nDirection currently has no effect. + + llMD5String + + return + string + arguments + + + Text + + type + string + tooltip + + + + + Nonce + + type + integer + tooltip + + + + + tooltip + Returns a string of 32 hex characters that is an RSA Data Security Inc., MD5 Message-Digest Algorithm of Text with Nonce used as the salt.\nReturns a 32-character hex string. (128-bit in binary.) + + llMessageLinked + + return + void + arguments + + + LinkNumber + + type + integer + tooltip + + + + + Number + + type + integer + tooltip + + + + + Text + + type + string + tooltip + + + + + ID + + type + key + tooltip + + + + + tooltip + Sends Number, Text, and ID to members of the link set identified by LinkNumber.\nLinkNumber is either a linked number (available through llGetLinkNumber) or a LINK_* constant. + + llMinEventDelay + + return + void + arguments + + + Delay + + type + float + tooltip + + + + + tooltip + Set the minimum time between events being handled. + + llModifyLand + + return + void + arguments + + + Action + + type + integer + tooltip + LAND_LEVEL, LAND_RAISE, LAND_LOWER, LAND_SMOOTH, LAND_NOISE or LAND_REVERT + + + + Area + + type + integer + tooltip + 0, 1, 2 (2m x 2m, 4m x 4m, or 8m x 8m) + + + + tooltip + Modify land with action (LAND_LEVEL, LAND_RAISE, LAND_LOWER, LAND_SMOOTH, LAND_NOISE, LAND_REVERT) on size (0, 1, 2, corresponding to 2m x 2m, 4m x 4m, 8m x 8m). + + llModPow + + sleep + 1.0 + return + integer + arguments + + + Value + + type + integer + tooltip + + + + + Power + + type + integer + tooltip + + + + + Modulus + + type + integer + tooltip + + + + + tooltip + Returns a Value raised to the Power, mod Modulus. ((a**b)%c) b is capped at 0xFFFF (16 bits).\nReturns (Value ^ Power) % Modulus. (Value raised to the Power, Modulus). Value is capped at 0xFFFF (16 bits). + + llMoveToTarget + + return + void + arguments + + + Target + + type + vector + tooltip + + + + + Tau + + type + float + tooltip + + + + + tooltip + Critically damp to Target in Tau seconds (if the script is physical).\nCritically damp to position target in tau-seconds if the script is physical. Good tau-values are greater than 0.2. A tau of 0.0 stops the critical damping. + + llOffsetTexture + + sleep + 0.2 + return + void + arguments + + + OffsetS + + type + float + tooltip + + + + + OffsetT + + type + float + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Sets the texture S and T offsets for the chosen Face.\nIf Face is ALL_SIDES this function sets the texture offsets for all faces. + + llOverMyLand + + return + integer + arguments + + + ID + + type + key + tooltip + + + + + tooltip + Returns TRUE if id ID over land owned by the script owner, otherwise FALSE.\nReturns TRUE if key ID is over land owned by the object owner, FALSE otherwise. + + llOwnerSay + + return + void + arguments + + + Text + + type + string + tooltip + + + + + tooltip + says Text to owner only (if owner is in region).\nSays Text to the owner of the object running the script, if the owner has been within the object's simulator since logging into Second Life, regardless of where they may be in-world. + + llParcelMediaCommandList + + sleep + 2.0 + return + void + arguments + + + CommandList + + type + list + tooltip + A list of PARCEL_MEDIA_COMMAND_* flags and their parameters + + + + tooltip + Controls the playback of multimedia resources on a parcel or for an agent, via one or more PARCEL_MEDIA_COMMAND_* arguments specified in CommandList. + + llParcelMediaQuery + + sleep + 2.0 + return + list + arguments + + + QueryList + + type + list + tooltip + + + + + tooltip + Queries the media properties of the parcel containing the script, via one or more PARCEL_MEDIA_COMMAND_* arguments specified in CommandList.\nThis function will only work if the script is contained within an object owned by the land-owner (or if the land is owned by a group, only if the object has been deeded to the group). + + llParseString2List + + return + list + arguments + + + Text + + type + string + tooltip + + + + + Separators + + type + list + tooltip + + + + + Spacers + + type + list + tooltip + + + + + tooltip + Converts Text into a list, discarding Separators, keeping Spacers (Separators and Spacers must be lists of strings, maximum of 8 each).\nSeparators and Spacers are lists of strings with a maximum of 8 entries each. + + llParseStringKeepNulls + + return + list + arguments + + + Text + + type + string + tooltip + + + + + Separators + + type + list + tooltip + + + + + Spacers + + type + list + tooltip + + + + + tooltip + Breaks Text into a list, discarding separators, keeping spacers, keeping any null values generated. (separators and spacers must be lists of strings, maximum of 8 each).\nllParseStringKeepNulls works almost exactly like llParseString2List, except that if a null is found it will add a null-string instead of discarding it like llParseString2List does. + + llParticleSystem + + return + void + arguments + + + Parameters + + type + list + tooltip + + + + + tooltip + Creates a particle system in the prim the script is attached to, based on Parameters. An empty list removes a particle system from object.\nList format is [ rule-1, data-1, rule-2, data-2 ... rule-n, data-n ]. + + llPassCollisions + + return + void + arguments + + + Pass + + type + integer + tooltip + Boolean, if TRUE, collisions are passed from children on to parents. + + + + tooltip + Configures how collision events are passed to scripts in the linkset.\nIf Pass == TRUE, collisions involving collision-handling scripted child prims are also passed on to the root prim. If Pass == FALSE (default behavior), such collisions will only trigger events in the affected child prim. + + llPassTouches + + return + void + arguments + + + Pass + + type + integer + tooltip + Boolean, if TRUE, touches are passed from children on to parents. + + + + tooltip + Configures how touch events are passed to scripts in the linkset.\nIf Pass == TRUE, touches involving touch-handling scripted child prims are also passed on to the root prim. If Pass == FALSE (default behavior), such touches will only trigger events in the affected child prim. + + llPlaySound + + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + tooltip + Plays Sound once, at Volume (0.0 - 1.0) and attached to the object.\nOnly one sound may be attached to an object at a time, and attaching a new sound or calling llStopSound will stop the previously attached sound.\nA second call to llPlaySound with the same sound will not restart the sound, but the new volume will be used, which allows control over the volume of already playing sounds.\nTo restart the sound from the beginning, call llStopSound before calling llPlaySound again. + + llPlaySoundSlave + + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + tooltip + Plays attached Sound once, at Volume (0.0 - 1.0), synced to next loop of most audible sync master.\nBehaviour is identical to llPlaySound, unless there is a "Sync Master" present. If a Sync Master is already playing, the Slave sound will not be played until the Master hits its loop point and returns to the beginning.\nllPlaySoundSlave will play the sound exactly once; if it is desired to have the sound play every time the Master loops, either use llLoopSoundSlave with extra silence padded on the end of the sound or ensure that llPlaySoundSlave is called at least once per loop of the Master. + + llPow + + return + float + arguments + + + Value + + type + float + tooltip + + + + + Exponent + + type + float + tooltip + + + + + tooltip + Returns the Value raised to the power Exponent, or returns 0 and triggers Math Error for imaginary results.\nReturns the Value raised to the Exponent. + + llPreloadSound + + sleep + 1.0 + return + void + arguments + + + Sound + + type + string + tooltip + + + + + tooltip + Causes nearby viewers to preload the Sound from the object's inventory.\nThis is intended to prevent delays in starting new sounds when called upon. + + llPushObject + + return + void + arguments + + + ObjectID + + type + key + tooltip + + + + + Impulse + + type + vector + tooltip + + + + + AngularImpulse + + type + vector + tooltip + + + + + Local + + type + integer + tooltip + + + + + tooltip + Applies Impulse and AngularImpulse to ObjectID.\nApplies the supplied impulse and angular impulse to the object specified. + + llRefreshPrimURL + + sleep + 20.0 + return + void + arguments + + tooltip + Reloads the web page shown on the sides of the object. + + llRegionSay + + return + void + arguments + + + Channel + + type + integer + tooltip + Any integer value except zero. + + + + Text + + type + string + tooltip + Message to be transmitted. + + + + tooltip + Broadcasts Text to entire region on Channel (except for channel 0). + + llRegionSayTo + + return + void + arguments + + + TargetID + + type + key + tooltip + Avatar or object to say to. + + + + Channel + + type + integer + tooltip + Output channel, any integer value. + + + + Text + + type + string + tooltip + Message to be transmitted. + + + + tooltip + Says Text, on Channel, to avatar or object indicated by TargetID (if within region).\nIf TargetID is an avatar and Channel is nonzero, Text can be heard by any attachment on the avatar. + + llReleaseCamera + + deprecated + true + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Return camera to agent.\nDeprecated: Use llClearCameraParams instead. + + llReleaseControls + + return + void + arguments + + tooltip + Stop taking inputs.\nStop taking inputs from the avatar. + + llReleaseURL + + + return + void + arguments + + + URL + + type + string + tooltip + URL to release. + + + + tooltip + Releases the specified URL, which was previously obtained using llRequestURL. Once released, the URL will no longer be usable. + + llRemoteDataReply + + deprecated + true + sleep + 3.0 + return + void + arguments + + + ChannelID + + type + key + tooltip + + + + + MessageID + + type + key + tooltip + + + + + sData + + type + string + tooltip + String data to send + + + + iData + + type + integer + tooltip + Integer data to send + + + + tooltip + Send an XML-RPC reply to MessageID on ChannelID with payload of string sData and integer iData. Deprecated: Use HTTP functions/events instead.\nThe size of sData is limited to 254 characters. + + llRemoteLoadScriptPin + + sleep + 3.0 + return + void + arguments + + + ObjectID + + type + key + tooltip + Target prim to attempt copying into. + + + + ScriptName + + type + string + tooltip + Name of the script in current inventory to copy. + + + + PIN + + type + integer + tooltip + Integer set on target prim as a Personal Information Number code. + + + + Running + + type + integer + tooltip + If the script should be set running in the target prim. + + + + StartParameter + + type + integer + tooltip + Integer. Parameter passed to the script if set to be running. + + + + tooltip + If the owner of the object containing this script can modify the object identified by the specified object key, and if the PIN matches the PIN previously set using llSetRemoteScriptAccessPin (on the target prim), then the script will be copied into target. Running is a boolean specifying whether the script should be enabled once copied into the target object. + + llRemoveFromLandBanList + + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Remove avatar from the land ban list.\nRemove specified avatar from the land parcel ban list. + + llRemoveFromLandPassList + + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Remove avatar from the land pass list.\nRemove specified avatar from the land parcel pass list. + + llRemoveInventory + + return + void + arguments + + + InventoryItem + + type + string + tooltip + + + + + tooltip + Remove the named inventory item.\nRemove the named inventory item from the object inventory. + + llRemoveVehicleFlags + + return + void + arguments + + + Vehiclelags + + type + integer + tooltip + + + + + tooltip + Removes the enabled bits in 'flags'.\nSets the vehicle flags to FALSE. Valid parameters can be found in the vehicle flags constants section. + + llRequestAgentData + + sleep + 0.1 + return + key + arguments + + + AvatarID + + type + key + tooltip + + + + + Data + + type + integer + tooltip + + + + + tooltip + Requests data about AvatarID. When data is available the dataserver event will be raised.\nThis function requests data about an avatar. If and when the information is collected, the dataserver event is triggered with the key returned from this function passed in the requested parameter. See the agent data constants (DATA_*) for details about valid values of data and what each will return in the dataserver event. + + llRequestDisplayName + + return + key + arguments + + + AvatarID + + type + key + tooltip + Avatar UUID + + + + tooltip + Requests the display name of the agent. When the display name is available the dataserver event will be raised.\nThe avatar identified does not need to be in the same region or online at the time of the request.\nReturns a key that is used to identify the dataserver event when it is raised. + + llRequestInventoryData + + sleep + 1.0 + return + key + arguments + + + InventoryItem + + type + string + tooltip + + + + + tooltip + Requests data for the named InventoryItem.\nWhen data is available, the dataserver event will be raised with the key returned from this function in the requested parameter.\nThe only request currently implemented is to request data from landmarks, where the data returned is in the form "<float, float, float>" which can be cast to a vector. This position is in region local coordinates. + + llRequestPermissions + + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + PermissionMask + + type + integer + tooltip + + + + + tooltip + Ask AvatarID to allow the script to perform certain actions, specified in the PermissionMask bitmask. PermissionMask should be one or more PERMISSION_* constants. Multiple permissions can be requested simultaneously by ORing the constants together. Many of the permissions requests can only go to object owner.\nThis call will not stop script execution. If the avatar grants the requested permissions, the run_time_permissions event will be called. + + llRequestSecureURL + + return + key + arguments + + tooltip + Requests one HTTPS:// (SSL) URL for use by this object. The http_request event is triggered with results.\nReturns a key that is the handle used for identifying the request in the http_request event. + + llRequestSimulatorData + + sleep + 1.0 + return + key + arguments + + + RegionName + + type + string + tooltip + + + + + Data + + type + integer + tooltip + + + + + tooltip + Requests the specified Data about RegionName. When the specified data is available, the dataserver event is raised.\nData should use one of the DATA_SIM_* constants.\nReturns a dataserver query ID and triggers the dataserver event when data is found. + + llRequestURL + + return + key + arguments + + tooltip + Requests one HTTP:// URL for use by this script. The http_request event is triggered with the result of the request.\nReturns a key that is the handle used for identifying the result in the http_request event. + + llRequestUsername + + return + key + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Requests single-word user-name of an avatar. When data is available the dataserver event will be raised.\nRequests the user-name of the identified agent. When the user-name is available the dataserver event is raised.\nThe agent identified does not need to be in the same region or online at the time of the request.\nReturns a key that is used to identify the dataserver event when it is raised. + + llResetAnimationOverride + + return + void + arguments + + + AnimationState + + type + string + tooltip + + + + + tooltip + Resets the animation of the specified animation state to the default value.\nIf animation state equals "ALL", then all animation states are reset. + + llResetLandBanList + + + return + void + arguments + + tooltip + Removes all residents from the land ban list. + + llResetLandPassList + + return + void + arguments + + tooltip + Removes all residents from the land access/pass list. + + llResetOtherScript + + return + void + arguments + + + ScriptName + + type + string + tooltip + + + + + tooltip + Resets the named script. + + llResetScript + + return + void + arguments + + tooltip + Resets the script. + + llResetTime + + return + void + arguments + + tooltip + Sets the time to zero.\nSets the internal timer to zero. + + llReturnObjectsByID + + return + integer + arguments + + + ObjectIDs + + type + list + tooltip + List of object UUIDs to be returned. + + + + tooltip + Return objects using their UUIDs.\nRequires the PERMISSION_RETURN_OBJECTS permission and that the script owner owns the parcel the returned objects are in, or is an estate manager or region owner. + + llReturnObjectsByOwner + + return + integer + arguments + + + ID + + type + key + tooltip + Object owner's UUID. + + + + Scope + + type + integer + tooltip + + + + + tooltip + Return objects based upon their owner and a scope of parcel, parcel owner, or region.\nRequires the PERMISSION_RETURN_OBJECTS permission and that the script owner owns the parcel the returned objects are in, or is an estate manager or region owner. + + llRezAtRoot + + sleep + 0.1 + return + void + arguments + + + InventoryItem + + type + string + tooltip + + + + + Position + + type + vector + tooltip + + + + + Velocity + + type + vector + tooltip + + + + + Rotation + + type + rotation + tooltip + + + + + StartParameter + + type + integer + tooltip + + + + + tooltip + Instantiate owner's InventoryItem at Position with Velocity, Rotation and with StartParameter. The last selected root object's location will be set to Position.\nCreates object's inventory item at the given Position, with Velocity, Rotation, and StartParameter. + + llRezObject + + sleep + 0.1 + return + void + arguments + + + InventoryItem + + type + string + tooltip + + + + + Position + + type + vector + tooltip + + + + + Velocity + + type + vector + tooltip + + + + + Rotation + + type + rotation + tooltip + + + + + StartParameter + + type + integer + tooltip + + + + + tooltip + Instantiate owners InventoryItem at Position with Velocity, Rotation and with start StartParameter.\nCreates object's inventory item at Position with Velocity and Rotation supplied. The StartParameter value will be available to the newly created object in the on_rez event or through the llGetStartParameter function.\nThe Velocity parameter is ignored if the rezzed object is not physical. + + llRot2Angle + + return + float + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Returns the rotation angle represented by Rotation.\nReturns the angle represented by the Rotation. + + llRot2Axis + + return + vector + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Returns the rotation axis represented by Rotation.\nReturns the axis represented by the Rotation. + + llRot2Euler + + return + vector + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Returns the Euler representation (roll, pitch, yaw) of Rotation.\nReturns the Euler Angle representation of the Rotation. + + llRot2Fwd + + return + vector + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Returns the forward vector defined by Rotation.\nReturns the forward axis represented by the Rotation. + + llRot2Left + + return + vector + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Returns the left vector defined by Rotation.\nReturns the left axis represented by the Rotation. + + llRot2Up + + return + vector + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Returns the up vector defined by Rotation.\nReturns the up axis represented by the Rotation. + + llRotateTexture + + sleep + 0.2 + return + void + arguments + + + Radians + + type + float + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Sets the texture rotation for the specified Face to angle Radians.\nIf Face is ALL_SIDES, rotates the texture of all sides. + + llRotBetween + + return + rotation + arguments + + + Vector1 + + type + vector + tooltip + + + + + Vector2 + + type + vector + tooltip + + + + + tooltip + Returns the rotation to rotate Vector1 to Vector2.\nReturns the rotation needed to rotate Vector1 to Vector2. + + llRotLookAt + + + return + void + arguments + + + Rotation + + type + rotation + tooltip + + + + + Strength + + type + float + tooltip + + + + + Damping + + type + float + tooltip + + + + + tooltip + Cause object to rotate to Rotation, with a force function defined by Strength and Damping parameters. Good strength values are around half the mass of the object and good damping values are less than 1/10th of the strength.\nAsymmetrical shapes require smaller damping.\nA strength of 0.0 cancels the look at. + + llRotTarget + + return + integer + arguments + + + Rotation + + type + rotation + tooltip + + + + + LeeWay + + type + float + tooltip + + + + + tooltip + Set rotations with error of LeeWay radians as a rotational target, and return an ID for the rotational target.\nThe returned number is a handle that can be used in at_rot_target and llRotTargetRemove. + + llRotTargetRemove + + return + void + arguments + + + Handle + + type + integer + tooltip + + + + + tooltip + Removes rotational target number.\nRemove rotational target indicated by the handle. + + llRound + + return + integer + arguments + + + Value + + type + float + tooltip + + + + + tooltip + Returns Value rounded to the nearest integer.\nReturns the Value rounded to the nearest integer. + + llSameGroup + + return + integer + arguments + + + ID + + type + key + tooltip + + + + + tooltip + Returns TRUE if avatar ID is in the same region and has the same active group, otherwise FALSE.\nReturns TRUE if the object or agent identified is in the same simulator and has the same active group as this object. Otherwise, returns FALSE. + + llSay + + return + void + arguments + + + Channel + + type + integer + tooltip + Channel to use to say text on. + + + + Text + + type + string + tooltip + Text to say. + + + + tooltip + Says Text on Channel.\nThis chat method has a range of 20m radius.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. + + llScaleByFactor + + return + integer + arguments + + + ScalingFactor + + type + float + tooltip + The multiplier to be used with the prim sizes and their local positions. + + + + tooltip + Attempts to resize the entire object by ScalingFactor, maintaining the size-position ratios of the prims.\n\nResizing is subject to prim scale limits and linkability limits. This function can not resize the object if the linkset is physical, a pathfinding character, in a keyframed motion, or if resizing would cause the parcel to overflow.\nReturns a boolean (an integer) TRUE if it succeeds, FALSE if it fails. + + llScaleTexture + + sleep + 0.2 + return + void + arguments + + + Horizontal + + type + float + tooltip + + + + + Vertical + + type + float + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Sets the diffuse texture Horizontal and Vertical repeats on Face of the prim the script is attached to.\nIf Face == ALL_SIDES, all sides are set in one call.\nNegative values for horizontal and vertical will flip the texture. + + llScriptDanger + + return + integer + arguments + + + Position + + type + vector + tooltip + + + + + tooltip + Returns TRUE if Position is over public land, sandbox land, land that doesn't allow everyone to edit and build, or land that doesn't allow outside scripts.\nReturns true if the position is over public land, land that doesn't allow everyone to edit and build, or land that doesn't allow outside scripts. + + llScriptProfiler + + return + void + arguments + + + State + + type + integer + tooltip + PROFILE_NONE or PROFILE_SCRIPT_MEMORY flags to control the state. + + + + tooltip + Enables or disables script profiling options. Currently only supports PROFILE_SCRIPT_MEMORY (Mono only) and PROFILE_NONE.\nMay significantly reduce script performance. + + llSendRemoteData + + deprecated + true + sleep + 3.0 + return + key + arguments + + + ChannelID + + type + key + tooltip + + + + + Destination + + type + string + tooltip + + + + + Value + + type + integer + tooltip + + + + + Text + + type + string + tooltip + + + + + tooltip + Deprecated: use HTTP functions and events instead.\nSends an XML-RPC request to Destination through ChannelID with payload of ChannelID (in a string), integer Value and string Text.\nReturns a key that is the message_id for the resulting remote_data events. + + llSensor + + return + void + arguments + + + Name + + type + string + tooltip + Object or avatar name. + + + + ID + + type + key + tooltip + Object or avatar UUID. + + + + Type + + type + integer + tooltip + Bit-field mask of AGENT, AGENT_BY_LEGACY_NAME, AGENT_BY_USERNAME, ACTIVE, PASSIVE, and/or SCRIPTED + + + + Range + + type + float + tooltip + Distance to scan. 0.0 - 96.0m. + + + + Arc + + type + float + tooltip + Angle, in radians, from the local x-axis of the prim to scan. + + + + tooltip + Performs a single scan for Name and ID with Type (AGENT, ACTIVE, PASSIVE, and/or SCRIPTED) within Range meters and Arc radians of forward vector.\nSpecifying a blank Name, 0 Type, or NULL_KEY ID will prevent filtering results based on that parameter. A range of 0.0 does not perform a scan.\nResults are returned in the sensor and no_sensor events. + + llSensorRemove + + return + void + arguments + + tooltip + removes sensor.\nRemoves the sensor set by llSensorRepeat. + + llSensorRepeat + + return + void + arguments + + + Name + + type + string + tooltip + Object or avatar name. + + + + ID + + type + key + tooltip + Object or avatar UUID. + + + + Type + + type + integer + tooltip + Bit-field mask of AGENT, AGENT_BY_LEGACY_NAME, AGENT_BY_USERNAME, ACTIVE, PASSIVE, and/or SCRIPTED + + + + Range + + type + float + tooltip + Distance to scan. 0.0 - 96.0m. + + + + Arc + + type + float + tooltip + Angle, in radians, from the local x-axis of the prim to scan. + + + + Rate + + type + float + tooltip + Period, in seconds, between scans. + + + + tooltip + Initiates a periodic scan every Rate seconds, for Name and ID with Type (AGENT, ACTIVE, PASSIVE, and/or SCRIPTED) within Range meters and Arc radians of forward vector.\nSpecifying a blank Name, 0 Type, or NULL_KEY ID will prevent filtering results based on that parameter. A range of 0.0 does not perform a scan.\nResults are returned in the sensor and no_sensor events. + + llSetAlpha + + return + void + arguments + + + Opacity + + type + float + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Sets the alpha (opacity) of Face.\nSets the alpha (opacity) value for Face. If Face is ALL_SIDES, sets the alpha for all faces. The alpha value is interpreted as an opacity percentage (1.0 is fully opaque, and 0.2 is mostly transparent). This function will clamp alpha values less than 0.1 to 0.1 and greater than 1.0 to 1. + + llSetAngularVelocity + + return + void + arguments + + + AngVel + + type + vector + tooltip + The angular velocity to set the object to. + + + + Local + + type + integer + tooltip + If TRUE, the AngVel is treated as a local directional vector instead of a regional directional vector. + + + + tooltip + Sets an object's angular velocity to AngVel, in local coordinates if Local == TRUE (if the script is physical).\nHas no effect on non-physical objects. + + llSetAnimationOverride + + return + void + arguments + + + AnimationState + + type + string + tooltip + + + + + AnimationName + + type + string + tooltip + + + + + tooltip + Sets the animation (in object inventory) that will play for the given animation state.\nTo use this function the script must obtain the PERMISSION_OVERRIDE_ANIMATIONS permission. + + llSetBuoyancy + + return + void + arguments + + + Buoyancy + + type + float + tooltip + + + + + tooltip + Set the tasks buoyancy (0 is none, < 1.0 sinks, 1.0 floats, > 1.0 rises).\nSet the object buoyancy. A value of 0 is none, less than 1.0 sinks, 1.0 floats, and greater than 1.0 rises. + + llSetCameraAtOffset + + return + void + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Sets the camera used in this object, at offset, if an avatar sits on it.\nSets the offset that an avatar's camera will be moved to if the avatar sits on the object. + + llSetCameraEyeOffset + + return + void + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Sets the camera eye offset used in this object if an avatar sits on it. + + llSetCameraParams + + return + void + arguments + + + Parameters + + type + list + tooltip + + + + + tooltip + Sets multiple camera parameters at once. List format is [ rule-1, data-1, rule-2, data-2 . . . rule-n, data-n ]. + + llSetClickAction + + return + void + arguments + + + Action + + type + integer + tooltip + A CLICK_ACTION_* flag + + + + tooltip + Sets the action performed when a prim is clicked upon. + + llSetColor + + return + void + arguments + + + Color + + type + vector + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Sets the color, for the face.\nSets the color of the side specified. If Face is ALL_SIDES, sets the color on all faces. + + llSetContentType + + return + void + arguments + + + HTTPRequestID + + type + key + tooltip + A valid http_request() key + + + + ContentType + + type + integer + tooltip + Media type to use with any following llHTTPResponse(HTTPRequestID, ...) + + + + tooltip + Set the media type of an LSL HTTP server response to ContentType.\nHTTPRequestID must be a valid http_request ID. ContentType must be one of the CONTENT_TYPE_* constants. + + llSetDamage + + return + void + arguments + + + Damage + + type + float + tooltip + + + + + tooltip + Sets the amount of damage that will be done to an avatar that this task hits. Task will be killed.\nSets the amount of damage that will be done to an avatar that this object hits. This object will be destroyed on damaging an avatar, and no collision event is triggered. + + llSetForce + + return + void + arguments + + + Force + + type + vector + tooltip + Directional force. + + + + Local + + type + integer + tooltip + Boolean, if TRUE uses local axis, if FALSE uses region axis. + + + + tooltip + Sets Force on object, in object-local coordinates if Local == TRUE (otherwise, the region reference frame is used).\nOnly works on physical objects. + + llSetForceAndTorque + + return + void + arguments + + + Force + + type + vector + tooltip + Directional force. + + + + Torque + + type + vector + tooltip + Torque force. + + + + Local + + type + integer + tooltip + Boolean, if TRUE uses local axis, if FALSE uses region axis. + + + + tooltip + Sets the Force and Torque of object, in object-local coordinates if Local == TRUE (otherwise, the region reference frame is used).\nOnly works on physical objects. + + llSetHoverHeight + + return + void + arguments + + + Height + + type + float + tooltip + Distance above the ground. + + + + Water + + type + integer + tooltip + Boolean, if TRUE then hover above water too. + + + + Tau + + type + float + tooltip + Seconds to critically damp in. + + + + tooltip + Critically damps a physical object to a Height (either above ground level or above the higher of land and water if water == TRUE).\nDo not use with vehicles. Use llStopHover to stop hovering. + + llSetInventoryPermMask + + god-mode + true + return + void + arguments + + + InventoryItem + + type + string + tooltip + An item in the prim's inventory + + + + PermissionFlag + + type + integer + tooltip + MASK_* flag + + + + PermissionMask + + type + integer + tooltip + Permission bit-field (PERM_* flags) + + + + tooltip + Sets the given permission mask to the new value on the inventory item. + + llSetKeyframedMotion + + return + void + arguments + + + Keyframes + + type + list + tooltip + Strided keyframe list of the form: position, orientation, time. Each keyframe is interpreted relative to the previous transform of the object. + + + + Options + + type + list + tooltip + + + + + tooltip + Requests that a non-physical object be key-framed according to key-frame list.\nSpecify a list of times, positions, and orientations to be followed by an object. The object will be smoothly moved between key-frames by the simulator. Collisions with other non-physical or key-framed objects will be ignored (no script events will fire and collision processing will not occur). Collisions with physical objects will be computed and reported, but the key-framed object will be unaffected by those collisions.\nKeyframes is a strided list containing positional, rotational, and time data for each step in the motion. Options is a list containing optional arguments and parameters (specified by KFM_* constants). + + llSetLinkAlpha + + return + void + arguments + + + LinkNumber + + type + integer + tooltip + + + + + Opacity + + type + float + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + If a prim exists in the link chain at LinkNumber, set Face to Opacity.\nSets the Face, on the linked prim specified, to the Opacity. + + llSetLinkCamera + + return + void + arguments + + + LinkNumber + + type + integer + tooltip + Prim link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag + + + + EyeOffset + + type + vector + tooltip + Offset, relative to the object's centre and expressed in local coordinates, that the camera looks from. + + + + LookOffset + + type + vector + tooltip + Offset, relative to the object's centre and expressed in local coordinates, that the camera looks toward. + + + + tooltip + Sets the camera eye offset, and the offset that camera is looking at, for avatars that sit on the linked prim. + + llSetLinkColor + + return + void + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. + + + + Color + + type + vector + tooltip + Color in RGB <R.R, G.G, B.B> + + + + Face + + type + integer + tooltip + Side number or ALL_SIDES. + + + + tooltip + If a task exists in the link chain at LinkNumber, set the Face to color.\nSets the color of the linked child's side, specified by LinkNumber. + + llSetLinkMedia + + return + integer + arguments + + + Link + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims). + + + + Face + + type + integer + tooltip + Face number. + + + + Parameters + + type + list + tooltip + A set of name/value pairs (in no particular order) + + + + tooltip + Set the media parameters for a particular face on linked prim, specified by Link. Returns an integer that is a STATUS_* flag which details the success/failure of the operation(s).\nMediaParameters is a set of name/value pairs in no particular order. Parameters not specified are unchanged, or if new media is added then set to the default specified. + + llSetLinkPrimitiveParams + + sleep + 0.2 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag + + + + Parameters + + type + list + tooltip + + + + + tooltip + Set primitive parameters for LinkNumber based on Parameters.\nSets the parameters (or properties) of any linked prim in one step. + + llSetLinkPrimitiveParamsFast + + return + void + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag + + + + Parameters + + type + list + tooltip + + + + + tooltip + Set primitive parameters for LinkNumber based on Parameters, without a delay.\nSet parameters for link number, from the list of Parameters, with no built-in script sleep. This function is identical to llSetLinkPrimitiveParams, except without the delay. + + llSetLinkTexture + + sleep + 0.2 + return + void + arguments + + + LinkNumber + + type + integer + tooltip + + + + + Texture + + type + string + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Sets the Texture of Face on a linked prim, specified by LinkNumber. Texture may be a UUID or name of a texture in prim inventory. + + llSetLinkTextureAnim + + return + void + arguments + + + LinkNumber + + type + integer + tooltip + Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag to effect + + + + Mode + + type + integer + tooltip + Bitmask of animation options. + + + + Face + + type + integer + tooltip + Specifies which object face to animate or ALL_SIDES. + + + + SizeX + + type + integer + tooltip + Horizontal frames (ignored for ROTATE and SCALE). + + + + SizeY + + type + integer + tooltip + Vertical frames (ignored for ROTATE and SCALE). + + + + Start + + type + float + tooltip + Start position/frame number (or radians for ROTATE). + + + + Length + + type + float + tooltip + Specifies the animation duration, in frames (or radians for ROTATE). + + + + Rate + + type + float + tooltip + Specifies the animation playback rate, in frames per second (must be greater than zero). + + + + tooltip + Animates a texture on the prim specified by LinkNumber, by setting the texture scale and offset.\nMode is a bitmask of animation options.\nFace specifies which object face to animate.\nSizeX and SizeY specify the number of horizontal and vertical frames.Start specifes the animation start point.\nLength specifies the animation duration.\nRate specifies the animation playback rate. + + llSetLocalRot + + sleep + 0.2 + return + void + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Sets the rotation of a child prim relative to the root prim. + + llSetMemoryLimit + + return + integer + arguments + + + Limit + + type + integer + tooltip + The amount to reserve, which must be less than the allowed maximum (currently 64KB) and not already have been exceeded. + + + + tooltip + Requests Limit bytes to be reserved for this script.\nReturns TRUE or FALSE indicating whether the limit was set successfully.\nThis function has no effect if the script is running in the LSO VM. + + llSetObjectDesc + + + return + void + arguments + + + Description + + type + string + tooltip + + + + + tooltip + Sets the description of the prim to Description.\nThe description field is limited to 127 characters. + + llSetObjectName + + return + void + arguments + + + Name + + type + string + tooltip + + + + + tooltip + Sets the prim's name to Name. + + llSetObjectPermMask + + god-mode + true + return + void + arguments + + + PermissionFlag + + type + integer + tooltip + MASK_* flag + + + + PermissionMask + + type + integer + tooltip + Permission bit-field (PERM_* flags) + + + + tooltip + Sets the specified PermissionFlag permission to the value specified by PermissionMask on the object the script is attached to. + + llSetParcelMusicURL + + sleep + 2.0 + return + void + arguments + + + URL + + type + string + tooltip + + + + + tooltip + Sets the streaming audio URL for the parcel the object is on.\nThe object must be owned by the owner of the parcel; if the parcel is group owned the object must be owned by that group. + + llSetPayPrice + + return + void + arguments + + + Price + + type + integer + tooltip + The default price shown in the textu input field. + + + + QuickButtons + + type + list + tooltip + Specifies the 4 payment values shown in the payment dialog's buttons (or PAY_HIDE). + + + + tooltip + Sets the default amount when someone chooses to pay this object.\nPrice is the default price shown in the textu input field. QuickButtons specifies the 4 payment values shown in the payment dialog's buttons.\nInput field and buttons may be hidden with PAY_HIDE constant, and may be set to their default values using PAY_DEFAULT. + + llSetPhysicsMaterial + + energy + 0.0 + return + void + arguments + + + MaterialBits + + type + integer + tooltip + A bitmask specifying which of the parameters in the other arguments should be applied to the object. + + + + GravityMultiplier + + type + float + tooltip + + + + + Restitution + + type + float + tooltip + + + + + Friction + + type + float + tooltip + + + + + Density + + type + float + tooltip + + + + + tooltip + Sets the selected parameters of the object's physics behavior.\nMaterialBits is a bitmask specifying which of the parameters in the other arguments should be applied to the object. GravityMultiplier, Restitution, Friction, and Density are the possible parameters to manipulate. + + llSetPos + + sleep + 0.2 + return + void + arguments + + + Position + + type + vector + tooltip + Region coordinates to move to (within 10m). + + + + tooltip + If the object is not physical, this function sets the position of the prim.\nIf the script is in a child prim, Position is treated as root relative and the link-set is adjusted.\nIf the prim is the root prim, the entire object is moved (up to 10m) to Position in region coordinates. + + llSetPrimitiveParams + + sleep + 0.2 + return + void + arguments + + + Parameters + + type + list + tooltip + A list of changes. + + + + tooltip + This function changes the many properties (or "parameters") of a prim in one operation. Parameters is a list of changes. + + llSetPrimMediaParams + + sleep + 1.0 + return + integer + arguments + + + Face + + type + integer + tooltip + Face number + + + + MediaParameters + + type + list + tooltip + A set of name/value pairs (in no particular order) + + + + tooltip + Sets the MediaParameters for a particular Face on the prim. Returns an integer that is a STATUS_* flag which details the success/failure of the operation(s).\nMediaParameters is a set of name/value pairs in no particular order. Parameters not specified are unchanged, or if new media is added then set to the default specified. + + llSetPrimURL + + deprecated + true + sleep + 20.0 + return + void + arguments + + + URL + + type + string + tooltip + + + + + tooltip + Deprecated: Use llSetPrimMediaParams instead. + + llSetRegionPos + + energy + 0.0 + return + integer + arguments + + + Position + + type + vector + tooltip + Vector. The location to move to, in region coordinates. + + + + tooltip + Attempts to move the object so that the root prim is within 0.1m of Position.\nReturns an integer boolean, TRUE if the object is successfully placed within 0.1 m of Position, FALSE otherwise.\nPosition may be any location within the region or up to 10m across a region border.\nIf the position is below ground, it will be set to the ground level at that x,y location. + + llSetRemoteScriptAccessPin + + sleep + 0.2 + return + void + arguments + + + PIN + + type + integer + tooltip + + + + + tooltip + If PIN is set to a non-zero number, the task will accept remote script loads via llRemoteLoadScriptPin() if it passes in the correct PIN. Othersise, llRemoteLoadScriptPin() is ignored. + + llSetRot + + sleep + 0.2 + return + void + arguments + + + Rotation + + type + rotation + tooltip + + + + + tooltip + If the object is not physical, this function sets the rotation of the prim.\nIf the script is in a child prim, Rotation is treated as root relative and the link-set is adjusted.\nIf the prim is the root prim, the entire object is rotated to Rotation in the global reference frame. + + llSetScale + + return + void + arguments + + + Scale + + type + vector + tooltip + + + + + tooltip + Sets the prim's scale (size) to Scale. + + llSetScriptState + + return + void + arguments + + + ScriptName + + type + string + tooltip + + + + + Running + + type + integer + tooltip + + + + + tooltip + Enable or disable the script Running state of Script in the prim. + + llSetSitText + + return + void + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Displays Text rather than 'Sit' in the viewer's context menu. + + llSetSoundQueueing + + return + void + arguments + + + QueueEnable + + type + integer + tooltip + Boolean, sound queuing: TRUE enables, FALSE disables (default). + + + + tooltip + Sets whether successive calls to llPlaySound, llLoopSound, etc., (attached sounds) interrupt the currently playing sound.\nThe default for objects is FALSE. Setting this value to TRUE will make the sound wait until the current playing sound reaches its end. The queue is one level deep. + + llSetSoundRadius + + return + void + arguments + + + Radius + + type + float + tooltip + Maximum distance that sounds can be heard. + + + + tooltip + Limits radius for audibility of scripted sounds (both attached and triggered) to distance Radius. + + llSetStatus + + return + void + arguments + + + Status + + type + integer + tooltip + + + + + Value + + type + integer + tooltip + + + + + tooltip + Sets object status specified in Status bitmask (e.g. STATUS_PHYSICS|STATUS_PHANTOM) to boolean Value.\nFor a full list of STATUS_* constants, see wiki documentation. + + llSetText + + return + void + arguments + + + Text + + type + string + tooltip + + + + + Color + + type + vector + tooltip + + + + + Opacity + + type + float + tooltip + + + + + tooltip + Causes Text to float above the prim, using the specified Color and Opacity. + + llSetTexture + + sleep + 0.2 + return + void + arguments + + + Texture + + type + string + tooltip + + + + + Face + + type + integer + tooltip + + + + + tooltip + Applies Texture to Face of prim.\nTexture may be a UUID or name of a texture in prim inventory.\nIf Face is ALL_SIDES, set the texture on all faces. + + llSetTextureAnim + + return + void + arguments + + + Mode + + type + integer + tooltip + Mask of Mode flags. + + + + Face + + type + integer + tooltip + Face number or ALL_SIDES. + + + + SizeX + + type + integer + tooltip + Horizontal frames (ignored for ROTATE and SCALE). + + + + SizeY + + type + integer + tooltip + Vertical frames (ignored for ROTATE and SCALE). + + + + Start + + type + float + tooltip + Start position/frame number (or radians for ROTATE). + + + + Length + + type + float + tooltip + number of frames to display (or radians for ROTATE). + + + + Rate + + type + float + tooltip + Frames per second (must not greater than zero). + + + + tooltip + Animates a texture by setting the texture scale and offset.\nMode is a bitmask of animation options.\nFace specifies which object face to animate.\nSizeX and SizeY specify the number of horizontal and vertical frames.Start specifes the animation start point.\nLength specifies the animation duration.\nRate specifies the animation playback rate. + + llSetTimerEvent + + return + void + arguments + + + Rate + + type + float + tooltip + + + + + tooltip + Causes the timer event to be triggered every Rate seconds.\n Passing in 0.0 stops further timer events. + + llSetTorque + + return + void + arguments + + + Torque + + type + vector + tooltip + Torque force. + + + + Local + + type + integer + tooltip + Boolean, if TRUE uses local axis, if FALSE uses region axis. + + + + tooltip + Sets the Torque acting on the script's object, in object-local coordinates if Local == TRUE (otherwise, the region reference frame is used).\nOnly works on physical objects. + + llSetTouchText + + return + void + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Displays Text in the viewer context menu that acts on a touch. + + llSetVehicleFlags + + + return + void + arguments + + + Flags + + type + integer + tooltip + + + + + tooltip + Enables the vehicle flags specified in the Flags bitmask.\nValid parameters can be found in the wiki documentation. + + llSetVehicleFloatParam + + return + void + arguments + + + ParameterName + + type + integer + tooltip + + + + + ParameterValue + + type + float + tooltip + + + + + tooltip + Sets a vehicle float parameter.\nValid parameters can be found in the wiki documentation. + + llSetVehicleRotationParam + + return + void + arguments + + + ParameterName + + type + integer + tooltip + + + + + ParameterValue + + type + rotation + tooltip + + + + + tooltip + Sets a vehicle rotation parameter.\nValid parameters can be found in the wiki documentation. + + llSetVehicleType + + return + void + arguments + + + Type + + type + integer + tooltip + + + + + tooltip + Activates the vehicle action on the object with vehicle preset Type.\nValid Types and an explanation of their characteristics can be found in wiki documentation. + + llSetVehicleVectorParam + + return + void + arguments + + + ParameterName + + type + integer + tooltip + + + + + ParameterValue + + type + vector + tooltip + + + + + tooltip + Sets a vehicle vector parameter.\nValid parameters can be found in the wiki documentation. + + llSetVelocity + + return + void + arguments + + + Velocity + + type + vector + tooltip + The velocity to apply. + + + + Local + + type + integer + tooltip + If TRUE, the Velocity is treated as a local directional vector instead of a regional directional vector. + + + + tooltip + If the object is physics-enabled, sets the object's linear velocity to Velocity.\nIf Local==TRUE, Velocity is treated as a local directional vector; otherwise, Velocity is treated as a global directional vector. + + llSHA1String + + return + string + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Returns a string of 40 hex characters that is the SHA1 security Hash of Text. + + llShout + + return + void + arguments + + + Channel + + type + integer + tooltip + + + + + Text + + type + string + tooltip + + + + + tooltip + Shouts Text on Channel.\nThis chat method has a range of 100m radius.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. + + llSin + + return + float + arguments + + + Theta + + type + float + tooltip + + + + + tooltip + Returns the sine of Theta (Theta in radians). + + llSitTarget + + return + void + arguments + + + Offset + + type + vector + tooltip + + + + + Rotation + + type + rotation + tooltip + + + + + tooltip + Set the sit location for this object. If offset == ZERO_VECTOR, clears the sit target. + + llSleep + + return + void + arguments + + + Time + + type + float + tooltip + + + + + tooltip + Put script to sleep for Time seconds. + + llSound + + deprecated + true + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + Queue + + type + integer + tooltip + + + + + Loop + + type + integer + tooltip + + + + + tooltip + Deprecated: Use llPlaySound instead.\nPlays Sound at Volume and specifies whether the sound should loop and/or be enqueued. + + llSoundPreload + + deprecated + true + return + void + arguments + + + Sound + + type + string + tooltip + + + + + tooltip + Deprecated: Use llPreloadSound instead.\nPreloads a sound on viewers within range. + + llSqrt + + return + float + arguments + + + Value + + type + float + tooltip + + + + + tooltip + Returns the square root of Value.\nTriggers a math runtime error for imaginary results (if Value < 0.0). + + llStartAnimation + + return + void + arguments + + + Animation + + type + string + tooltip + + + + + tooltip + This function plays the specified animation from playing on the avatar who received the script's most recent permissions request.\nAnimation may be an animation in task inventory or a built-in animation.\nRequires PERMISSION_TRIGGER_ANIMATION. + + llStopAnimation + + return + void + arguments + + + Animation + + type + string + tooltip + + + + + tooltip + This function stops the specified animation on the avatar who received the script's most recent permissions request.\nAnimation may be an animation in task inventory, a built-in animation, or the uuid of an animation.\nRequires PERMISSION_TRIGGER_ANIMATION. + + llStopHover + + return + void + arguments + + tooltip + Stop hovering to a height (due to llSetHoverHeight()). + + llStopLookAt + + return + void + arguments + + tooltip + Stop causing object to point at a target (due to llLookAt() or llRotLookAt()). + + llStopMoveToTarget + + return + void + arguments + + tooltip + Stops critically damped motion (due to llMoveToTarget()). + + llStopSound + + return + void + arguments + + tooltip + Stops playback of the currently attached sound. + + llStringLength + + return + integer + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Returns an integer that is the number of characters in Text (not counting the null). + + llStringToBase64 + + return + string + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Returns the string Base64 representation of the input string. + + llStringTrim + + return + string + arguments + + + Text + + type + string + tooltip + String to trim + + + + TrimType + + type + integer + tooltip + STRING_TRIM_HEAD, STRING_TRIM_TAIL, or STRING_TRIM. + + + + tooltip + Outputs a string, eliminating white-space from the start and/or end of the input string Text.\nValid options for TrimType:\nSTRING_TRIM_HEAD: trim all leading spaces in Text\nSTRING_TRIM_TAIL: trim all trailing spaces in Text\nSTRING_TRIM: trim all leading and trailing spaces in Text. + + llSubStringIndex + + return + integer + arguments + + + Text + + type + string + tooltip + + + + + Sequence + + type + string + tooltip + + + + + tooltip + Returns an integer that is the index in Text where string pattern Sequence first appears. Returns -1 if not found. + + llTakeCamera + + deprecated + true + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Deprecated: Use llSetCameraParams instead. + + llTakeControls + + return + void + arguments + + + Controls + + type + integer + tooltip + Bit-field of CONTROL_* flags. + + + + Accept + + type + integer + tooltip + Boolean, determines whether control events are generated. + + + + PassOn + + type + integer + tooltip + Boolean, determines whether controls are disabled. + + + + tooltip + Take controls from the agent the script has permissions for.\nIf (Accept == (Controls & input)), send input to the script. PassOn determines whether Controls also perform their normal functions.\nRequires the PERMISSION_TAKE_CONTROLS permission to run. + + llTan + + return + float + arguments + + + Theta + + type + float + tooltip + + + + + tooltip + Returns the tangent of Theta (Theta in radians). + + llTarget + + return + integer + arguments + + + Position + + type + vector + tooltip + + + + + Range + + type + float + tooltip + + + + + tooltip + This function is to have the script know when it has reached a position.\nIt registers a Position with a Range that triggers at_target and not_at_target events continuously until unregistered. + + llTargetOmega + + + return + void + arguments + + + Axis + + type + vector + tooltip + + + + + SpinRate + + type + float + tooltip + + + + + Gain + + type + float + tooltip + + + + + tooltip + Attempt to spin at SpinRate with strength Gain on Axis.\nA spin rate of 0.0 cancels the spin. This function always works in object-local coordinates. + + llTargetRemove + + return + void + arguments + + + Target + + type + integer + tooltip + + + + + tooltip + Removes positional target Handle registered with llTarget. + + llTeleportAgent + + return + void + arguments + + + AvatarID + + type + key + tooltip + UUID of avatar. + + + + LandmarkName + + type + string + tooltip + Name of landmark (in object contents), or empty string, to use. + + + + Position + + type + vector + tooltip + If no landmark was provided, the position within the current region to teleport the avatar to. + + + + LookAtPoint + + type + vector + tooltip + The position within the target region that the avatar should be turned to face upon arrival. + + + + tooltip + Requests a teleport of avatar to a landmark stored in the object's inventory. If no landmark is provided (an empty string), the avatar is teleported to the location position in the current region. In either case, the avatar is turned to face the position given by look_at in local coordinates.\nRequires the PERMISSION_TELEPORT permission. This function can only teleport the owner of the object. + + llTeleportAgentGlobalCoords + + return + void + arguments + + + AvatarID + + type + key + tooltip + UUID of avatar. + + + + GlobalPosition + + type + vector + tooltip + Global coordinates of the destination region. Can be retrieved by using llRequestSimulatorData(region_name, DATA_SIM_POS). + + + + RegionPosition + + type + vector + tooltip + The position within the target region to teleport the avatar to, if no landmark was provided. + + + + LookAtPoint + + type + vector + tooltip + The position within the target region that the avatar should be turned to face upon arrival. + + + + tooltip + Teleports an agent to the RegionPosition local coordinates within a region which is specified by the GlobalPosition global coordinates. The agent lands facing the position defined by LookAtPoint local coordinates.\nRequires the PERMISSION_TELEPORT permission. This function can only teleport the owner of the object. + + llTeleportAgentHome + + sleep + 5.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + Teleport agent over the owner's land to agent's home location. + + llTextBox + + sleep + 1.0 + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + Text + + type + string + tooltip + + + + + Channel + + type + integer + tooltip + + + + + tooltip + Opens a dialog for the specified avatar with message Text, which contains a text box for input. Any text that is entered is said on the specified Channel (as if by the avatar) when the "OK" button is clicked. + + llToLower + + return + string + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Returns a string that is Text with all lower-case characters. + + llToUpper + + return + string + arguments + + + Text + + type + string + tooltip + + + + + tooltip + Returns a string that is Text with all upper-case characters. + + llTransferLindenDollars + + return + key + arguments + + + AvatarID + + type + key + tooltip + + + + + Amount + + type + integer + tooltip + + + + + tooltip + Transfer Amount of linden dollars (L$) from script owner to AvatarID. Returns a key to a corresponding transaction_result event for the success of the transfer.\nAttempts to send the amount of money to the specified avatar, and trigger a transaction_result event identified by the returned key. + + llTriggerSound + + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + tooltip + Plays Sound at Volume (0.0 - 1.0), centered at but not attached to object.\nThere is no limit to the number of triggered sounds which can be generated by an object, and calling llTriggerSound does not affect the attached sounds created by llPlaySound and llLoopSound. This is very useful for things like collision noises, explosions, etc. There is no way to stop or alter the volume of a sound triggered by this function. + + llTriggerSoundLimited + + return + void + arguments + + + Sound + + type + string + tooltip + + + + + Volume + + type + float + tooltip + + + + + TNE + + type + vector + tooltip + + + + + BSW + + type + vector + tooltip + + + + + tooltip + Plays Sound at Volume (0.0 - 1.0), centered at but not attached to object, limited to axis-aligned bounding box defined by vectors top-north-east (TNE) and bottom-south-west (BSW).\nThere is no limit to the number of triggered sounds which can be generated by an object, and calling llTriggerSound does not affect the attached sounds created by llPlaySound and llLoopSound. This is very useful for things like collision noises, explosions, etc. There is no way to stop or alter the volume of a sound triggered by this function. + + llUnescapeURL + + return + string + arguments + + + URL + + type + string + tooltip + + + + + tooltip + Returns the string that is the URL unescaped, replacing "%20" with spaces, etc., version of URL.\nThis function can output raw UTF-8 strings. + + llUnSit + + return + void + arguments + + + AvatarID + + type + key + tooltip + + + + + tooltip + If agent identified by AvatarID is sitting on the object the script is attached to or is over land owned by the objects owner, the agent is forced to stand up. + + llVecDist + + return + float + arguments + + + Location1 + + type + vector + tooltip + + + + + Location2 + + type + vector + tooltip + + + + + tooltip + Returns the distance between Location1 and Location2. + + llVecMag + + return + float + arguments + + + Vector + + type + vector + tooltip + + + + + tooltip + Returns the magnitude of the vector. + + llVecNorm + + return + vector + arguments + + + Vector + + type + vector + tooltip + + + + + tooltip + Returns normalized vector. + + llVolumeDetect + + + return + void + arguments + + + DetectEnabled + + type + integer + tooltip + TRUE enables, FALSE disables. + + + + tooltip + If DetectEnabled = TRUE, object becomes phantom but triggers collision_start and collision_end events when other objects start and stop interpenetrating.\nIf another object (including avatars) interpenetrates it, it will get a collision_start event.\nWhen an object stops interpenetrating, a collision_end event is generated. While the other is inter-penetrating, collision events are NOT generated. + + llWater + + return + float + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Returns the water height below the object position + Offset. + + llWhisper + + return + void + arguments + + + Channel + + type + integer + tooltip + + + + + Text + + type + string + tooltip + + + + + tooltip + Whispers Text on Channel.\nThis chat method has a range of 10m radius.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. + + llWind + + return + vector + arguments + + + Offset + + type + vector + tooltip + + + + + tooltip + Returns the wind velocity at the object position + Offset. + + llXorBase64 + + return + string + arguments + + + Text1 + + type + string + tooltip + + + + + Text2 + + type + string + tooltip + + + + + tooltip + Performs an exclusive OR on two Base64 strings and returns a Base64 string. Text2 repeats if it is shorter than Text1. + + llXorBase64Strings + + deprecated + true + sleep + 0.3 + return + string + arguments + + + Text1 + + type + string + tooltip + + + + + Text2 + + type + string + tooltip + + + + + tooltip + Deprecated: Please use llXorBase64 instead.\nIncorrectly performs an exclusive OR on two Base64 strings and returns a Base64 string. Text2 repeats if it is shorter than Text1.\nRetained for backwards compatibility. + + llXorBase64StringsCorrect + + deprecated + true + return + string + arguments + + + Text1 + + type + string + tooltip + + + + + Text2 + + type + string + tooltip + + + + + tooltip + Deprecated: Please use llXorBase64 instead.\nCorrectly (unless nulls are present) performs an exclusive OR on two Base64 strings and returns a Base64 string.\nText2 repeats if it is shorter than Text1. + + llGetMinScaleFactor + + return + float + arguments + + tooltip + Returns the smallest multiplicative uniform scale factor that can be successfully applied (via llScaleByFactor()) to the object without violating prim size or linkability rules. + + llGetMaxScaleFactor + + return + float + arguments + + tooltip + Returns the largest multiplicative uniform scale factor that can be successfully applied (via llScaleByFactor()) to the object without violating prim size or linkability rules. + + osAgentSaveAppearance + + return + key + arguments + + + AvatarID + + type + key + tooltip + + + + + notecard + + type + string + tooltip + + + + + tooltip + Creates a notecard with the specified avatar's current appearance inside the object + + osTest + + return + key + arguments + + + AvatarID + + type + key + tooltip + + + + + notecard + + type + string + tooltip + + + + + tooltip + dummy to test lslsyntax + + -- cgit v1.1 From 76f8a09bb313eb13d64dcb9cad9d36a27c9bc788 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 19 Oct 2018 19:37:13 +0100 Subject: LSLSyntax some cleanup --- bin/ScriptSyntax.xml | 1584 ++------------------------------------------------ 1 file changed, 43 insertions(+), 1541 deletions(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index 81d36b7..31e889b 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -108,8 +108,6 @@ integer value 0x1000 - tooltip - AGENT_ATTACHMENTS @@ -126,8 +124,6 @@ integer value 0x2000 - tooltip - AGENT_AWAY @@ -135,8 +131,6 @@ integer value 0x40 - tooltip - AGENT_BUSY @@ -144,8 +138,6 @@ integer value 0x800 - tooltip - AGENT_BY_LEGACY_NAME @@ -153,8 +145,6 @@ integer value 0x1 - tooltip - AGENT_BY_USERNAME @@ -162,8 +152,6 @@ integer value 0x10 - tooltip - AGENT_CROUCHING @@ -171,8 +159,6 @@ integer value 0x400 - tooltip - AGENT_FLYING @@ -189,8 +175,6 @@ integer value 0x100 - tooltip - AGENT_LIST_PARCEL @@ -234,8 +218,6 @@ integer value 0x40000000 - tooltip - AGENT_MOUSELOOK @@ -243,8 +225,6 @@ integer value 0x8 - tooltip - AGENT_ON_OBJECT @@ -252,8 +232,6 @@ integer value 0x20 - tooltip - AGENT_SCRIPTED @@ -270,8 +248,6 @@ integer value 0x10 - tooltip - AGENT_TYPING @@ -279,8 +255,6 @@ integer value 0x200 - tooltip - AGENT_WALKING @@ -288,8 +262,6 @@ integer value 0x80 - tooltip - ALL_SIDES @@ -297,8 +269,6 @@ integer value -1 - tooltip - ANIM_ON @@ -369,8 +339,6 @@ integer value 37 - tooltip - ATTACH_HUD_BOTTOM_LEFT @@ -378,8 +346,6 @@ integer value 36 - tooltip - ATTACH_HUD_BOTTOM_RIGHT @@ -387,8 +353,6 @@ integer value 38 - tooltip - ATTACH_HUD_CENTER_1 @@ -396,8 +360,6 @@ integer value 35 - tooltip - ATTACH_HUD_CENTER_2 @@ -405,8 +367,6 @@ integer value 31 - tooltip - ATTACH_HUD_TOP_CENTER @@ -414,8 +374,6 @@ integer value 33 - tooltip - ATTACH_HUD_TOP_LEFT @@ -423,8 +381,6 @@ integer value 34 - tooltip - ATTACH_HUD_TOP_RIGHT @@ -432,8 +388,6 @@ integer value 32 - tooltip - ATTACH_LEAR @@ -832,8 +786,6 @@ integer value 12 - tooltip - CAMERA_BEHINDNESS_ANGLE @@ -841,8 +793,6 @@ integer value 8 - tooltip - CAMERA_BEHINDNESS_LAG @@ -850,8 +800,6 @@ integer value 9 - tooltip - CAMERA_DISTANCE @@ -859,8 +807,6 @@ integer value 7 - tooltip - CAMERA_FOCUS @@ -868,8 +814,6 @@ integer value 17 - tooltip - CAMERA_FOCUS_X @@ -877,8 +821,6 @@ integer value 18 - tooltip - CAMERA_FOCUS_Y @@ -886,8 +828,6 @@ integer value 19 - tooltip - CAMERA_FOCUS_Z @@ -895,8 +835,6 @@ integer value 19 - tooltip - CAMERA_FOCUS_LAG @@ -904,8 +842,6 @@ integer value 6 - tooltip - CAMERA_FOCUS_LOCKED @@ -913,8 +849,6 @@ integer value 22 - tooltip - CAMERA_FOCUS_OFFSET @@ -922,8 +856,6 @@ integer value 1 - tooltip - CAMERA_FOCUS_OFFSET_X @@ -931,8 +863,6 @@ integer value 2 - tooltip - CAMERA_FOCUS_OFFSET_Y @@ -940,8 +870,6 @@ integer value 3 - tooltip - CAMERA_FOCUS_OFFSET_Z @@ -949,8 +877,6 @@ integer value 4 - tooltip - CAMERA_FOCUS_THRESHOLD @@ -958,8 +884,6 @@ integer value 11 - tooltip - CAMERA_PITCH @@ -967,8 +891,6 @@ integer value 0 - tooltip - CAMERA_POSITION @@ -976,8 +898,6 @@ integer value 13 - tooltip - CAMERA_POSITION_X @@ -985,8 +905,6 @@ integer value 14 - tooltip - CAMERA_POSITION_Y @@ -994,8 +912,6 @@ integer value 15 - tooltip - CAMERA_POSITION_Z @@ -1003,8 +919,6 @@ integer value 16 - tooltip - CAMERA_POSITION_LAG @@ -1012,8 +926,6 @@ integer value 5 - tooltip - CAMERA_POSITION_LOCKED @@ -1021,8 +933,6 @@ integer value 21 - tooltip - CAMERA_POSITION_THRESHOLD @@ -1030,8 +940,6 @@ integer value 10 - tooltip - CHANGED_ALLOWED_DROP @@ -1084,8 +992,6 @@ integer value 0x800 - tooltip - CHANGED_OWNER @@ -1093,8 +999,6 @@ integer value 0x80 - tooltip - CHANGED_REGION @@ -1102,8 +1006,6 @@ integer value 0x100 - tooltip - CHANGED_REGION_START @@ -1147,8 +1049,6 @@ integer value 0x200 - tooltip - CHANGED_TEXTURE @@ -1435,8 +1335,6 @@ integer value 8 - tooltip - DATA_SIM_POS @@ -1444,8 +1342,6 @@ integer value 5 - tooltip - DATA_SIM_RATING @@ -1453,8 +1349,6 @@ integer value 7 - tooltip - DATA_SIM_STATUS @@ -1462,8 +1356,6 @@ integer value 6 - tooltip - DEBUG_CHANNEL @@ -1510,8 +1402,6 @@ integer value -1 - tooltip - ERR_MALFORMED_PARAMS @@ -1519,8 +1409,6 @@ integer value -3 - tooltip - ERR_PARCEL_PERMISSIONS @@ -1528,8 +1416,6 @@ integer value -2 - tooltip - ERR_RUNTIME_PERMISSIONS @@ -1537,8 +1423,6 @@ integer value -4 - tooltip - ERR_THROTTLED @@ -1546,8 +1430,6 @@ integer value -5 - tooltip - ESTATE_ACCESS_ALLOWED_AGENT_ADD @@ -1636,8 +1518,6 @@ integer value 1 - tooltip - HTTP_BODY_MAXLENGTH @@ -1645,8 +1525,6 @@ integer value 2 - tooltip - HTTP_BODY_TRUNCATED @@ -1654,8 +1532,6 @@ integer value 0 - tooltip - HTTP_CUSTOM_HEADER @@ -1672,8 +1548,6 @@ integer value 0 - tooltip - HTTP_MIMETYPE @@ -1681,8 +1555,6 @@ integer value 1 - tooltip - HTTP_PRAGMA_NO_CACHE @@ -1699,8 +1571,6 @@ integer value 4 - tooltip - HTTP_VERIFY_CERT @@ -1708,8 +1578,6 @@ integer value 3 - tooltip - INVENTORY_ALL @@ -1717,8 +1585,6 @@ integer value -1 - tooltip - INVENTORY_ANIMATION @@ -1726,8 +1592,6 @@ integer value 20 - tooltip - INVENTORY_BODYPART @@ -1735,8 +1599,6 @@ integer value 13 - tooltip - INVENTORY_CLOTHING @@ -1744,8 +1606,6 @@ integer value 5 - tooltip - INVENTORY_GESTURE @@ -1753,8 +1613,6 @@ integer value 21 - tooltip - INVENTORY_LANDMARK @@ -1762,8 +1620,6 @@ integer value 3 - tooltip - INVENTORY_NONE @@ -1771,8 +1627,6 @@ integer value -1 - tooltip - INVENTORY_NOTECARD @@ -1780,8 +1634,6 @@ integer value 7 - tooltip - INVENTORY_OBJECT @@ -1789,8 +1641,6 @@ integer value 6 - tooltip - INVENTORY_SCRIPT @@ -1798,8 +1648,6 @@ integer value 10 - tooltip - INVENTORY_SOUND @@ -1807,8 +1655,6 @@ integer value 1 - tooltip - INVENTORY_TEXTURE @@ -1816,8 +1662,6 @@ integer value 0 - tooltip - JSON_APPEND @@ -1825,8 +1669,6 @@ integer value -1 - tooltip - JSON_ARRAY @@ -1834,8 +1676,6 @@ string value U+FDD2 - tooltip - JSON_DELETE @@ -1843,8 +1683,6 @@ string value U+FDD8 - tooltip - JSON_FALSE @@ -1852,8 +1690,6 @@ string value U+FDD7 - tooltip - JSON_INVALID @@ -1861,8 +1697,6 @@ string value U+FDD0 - tooltip - JSON_NULL @@ -1870,8 +1704,6 @@ string value U+FDD5 - tooltip - JSON_NUMBER @@ -1879,8 +1711,6 @@ string value U+FDD3 - tooltip - JSON_OBJECT @@ -1888,8 +1718,6 @@ string value U+FDD1 - tooltip - JSON_STRING @@ -1897,8 +1725,6 @@ string value U+FDD4 - tooltip - JSON_TRUE @@ -1906,8 +1732,6 @@ string value U+FDD6 - tooltip - KFM_CMD_PAUSE @@ -1942,8 +1766,6 @@ integer value 0 - tooltip - KFM_DATA @@ -1951,8 +1773,6 @@ integer value 2 - tooltip - KFM_FORWARD @@ -1978,8 +1798,6 @@ integer value 1 - tooltip - KFM_PING_PONG @@ -2059,8 +1877,6 @@ integer value 4 - tooltip - LAND_RAISE @@ -2077,8 +1893,6 @@ integer value 5 - tooltip - LAND_SMALL_BRUSH @@ -2095,8 +1909,6 @@ integer value 3 - tooltip - LINK_ALL_CHILDREN @@ -2167,8 +1979,6 @@ integer value 2 - tooltip - LIST_STAT_MEAN @@ -2176,8 +1986,6 @@ integer value 3 - tooltip - LIST_STAT_MEDIAN @@ -2185,8 +1993,6 @@ integer value 4 - tooltip - LIST_STAT_MIN @@ -2194,8 +2000,6 @@ integer value 1 - tooltip - LIST_STAT_NUM_COUNT @@ -2203,8 +2007,6 @@ integer value 8 - tooltip - LIST_STAT_RANGE @@ -2212,8 +2014,6 @@ integer value 0 - tooltip - LIST_STAT_STD_DEV @@ -2221,8 +2021,6 @@ integer value 5 - tooltip - LIST_STAT_SUM @@ -2230,8 +2028,6 @@ integer value 6 - tooltip - LIST_STAT_SUM_SQUARES @@ -2239,8 +2035,6 @@ integer value 7 - tooltip - LOOP @@ -2257,8 +2051,6 @@ integer value 0 - tooltip - MASK_EVERYONE @@ -2266,8 +2058,6 @@ integer value 3 - tooltip - MASK_GROUP @@ -2275,8 +2065,6 @@ integer value 2 - tooltip - MASK_NEXT @@ -2284,8 +2072,6 @@ integer value 4 - tooltip - MASK_OWNER @@ -2293,8 +2079,6 @@ integer value 1 - tooltip - NPC @@ -2302,8 +2086,6 @@ integer value 0x20 - tooltip - NULL_KEY @@ -2311,8 +2093,6 @@ string value 00000000-0000-0000-0000-000000000000 - tooltip - OBJECT_ATTACHED_POINT @@ -2446,8 +2226,6 @@ integer value 16 - tooltip - OBJECT_POS @@ -2464,8 +2242,7 @@ integer value 13 - tooltip - + OBJECT_RENDER_WEIGHT @@ -2482,8 +2259,6 @@ integer value 1 - tooltip - OBJECT_RETURN_PARCEL_OWNER @@ -2491,8 +2266,6 @@ integer value 2 - tooltip - OBJECT_RETURN_REGION @@ -2500,8 +2273,6 @@ integer value 4 - tooltip - OBJECT_REZZER_KEY @@ -2509,8 +2280,6 @@ integer value 32 - tooltip - OBJECT_ROOT @@ -2536,8 +2305,6 @@ integer value 9 - tooltip - OBJECT_SCRIPT_MEMORY @@ -2545,8 +2312,6 @@ integer value 11 - tooltip - OBJECT_SCRIPT_TIME @@ -2554,8 +2319,6 @@ integer value 12 - tooltip - OBJECT_SERVER_COST @@ -2563,8 +2326,6 @@ integer value 14 - tooltip - OBJECT_STREAMING_COST @@ -2572,8 +2333,6 @@ integer value 15 - tooltip - OBJECT_TEMP_ON_REZ @@ -2599,8 +2358,6 @@ integer value 10 - tooltip - OBJECT_UNKNOWN_DETAIL @@ -2608,8 +2365,6 @@ integer value -1 - tooltip - OBJECT_VELOCITY @@ -2689,8 +2444,7 @@ integer value 0 - tooltip - + OS_NPC_NO_FLY @@ -2698,8 +2452,6 @@ integer value 1 - tooltip - OS_NPC_LAND_AT_TARGET @@ -2707,8 +2459,6 @@ integer value 2 - tooltip - OS_NPC_SIT_NOW @@ -2716,8 +2466,6 @@ integer value 0 - tooltip - OS_NPC_CREATOR_OWNED @@ -2725,8 +2473,6 @@ integer value 0x1 - tooltip - OS_NPC_NOT_OWNED @@ -2734,8 +2480,6 @@ integer value 0x2 - tooltip - OS_NPC_SENSE_AS_AGENT @@ -2743,8 +2487,6 @@ integer value 0x4 - tooltip - OS_NPC_OBJECT_GROUP @@ -2752,8 +2494,6 @@ integer value 0x8 - tooltip - OS_NPC_RUNNING @@ -2761,8 +2501,6 @@ integer value 4 - tooltip - OSTPOBJ_NONE @@ -2806,8 +2544,6 @@ integer value 2 - tooltip - PARCEL_COUNT_OTHER @@ -2815,8 +2551,6 @@ integer value 3 - tooltip - PARCEL_COUNT_OWNER @@ -2824,8 +2558,6 @@ integer value 1 - tooltip - PARCEL_COUNT_SELECTED @@ -2833,8 +2565,6 @@ integer value 4 - tooltip - PARCEL_COUNT_TEMP @@ -2842,8 +2572,6 @@ integer value 5 - tooltip - PARCEL_COUNT_TOTAL @@ -2851,8 +2579,6 @@ integer value 0 - tooltip - PARCEL_DETAILS_AREA @@ -2932,8 +2658,6 @@ integer value 0x08000000 - tooltip - PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS @@ -2941,8 +2665,6 @@ integer value 0x4000000 - tooltip - PARCEL_FLAG_ALLOW_CREATE_OBJECTS @@ -2950,8 +2672,6 @@ integer value 0x40 - tooltip - PARCEL_FLAG_ALLOW_DAMAGE @@ -2959,8 +2679,6 @@ integer value 0x20 - tooltip - PARCEL_FLAG_ALLOW_FLY @@ -2968,8 +2686,6 @@ integer value 0x1 - tooltip - PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY @@ -2977,8 +2693,6 @@ integer value 0x10000000 - tooltip - PARCEL_FLAG_ALLOW_GROUP_SCRIPTS @@ -2986,8 +2700,6 @@ integer value 0x2000000 - tooltip - PARCEL_FLAG_ALLOW_LANDMARK @@ -2995,8 +2707,6 @@ integer value 0x8 - tooltip - PARCEL_FLAG_ALLOW_SCRIPTS @@ -3004,8 +2714,6 @@ integer value 0x2 - tooltip - PARCEL_FLAG_ALLOW_TERRAFORM @@ -3013,8 +2721,6 @@ integer value 0x10 - tooltip - PARCEL_FLAG_LOCAL_SOUND_ONLY @@ -3022,8 +2728,6 @@ integer value 0x8000 - tooltip - PARCEL_FLAG_RESTRICT_PUSHOBJECT @@ -3031,8 +2735,6 @@ integer value 0x200000 - tooltip - PARCEL_FLAG_USE_ACCESS_GROUP @@ -3040,8 +2742,6 @@ integer value 0x100 - tooltip - PARCEL_FLAG_USE_ACCESS_LIST @@ -3049,8 +2749,6 @@ integer value 0x200 - tooltip - PARCEL_FLAG_USE_BAN_LIST @@ -3058,8 +2756,6 @@ integer value 0x400 - tooltip - PARCEL_FLAG_USE_LAND_PASS_LIST @@ -3067,8 +2763,6 @@ integer value 0x800 - tooltip - PARCEL_MEDIA_COMMAND_AGENT @@ -3076,8 +2770,6 @@ integer value 7 - tooltip - PARCEL_MEDIA_COMMAND_AUTO_ALIGN @@ -3085,8 +2777,6 @@ integer value 9 - tooltip - PARCEL_MEDIA_COMMAND_DESC @@ -3103,8 +2793,6 @@ integer value 3 - tooltip - PARCEL_MEDIA_COMMAND_LOOP_SET @@ -3121,8 +2809,6 @@ integer value 1 - tooltip - PARCEL_MEDIA_COMMAND_PLAY @@ -3130,8 +2816,6 @@ integer value 2 - tooltip - PARCEL_MEDIA_COMMAND_SIZE @@ -3148,8 +2832,6 @@ integer value 0 - tooltip - PARCEL_MEDIA_COMMAND_TEXTURE @@ -3157,8 +2839,6 @@ integer value 4 - tooltip - PARCEL_MEDIA_COMMAND_TIME @@ -3166,8 +2846,6 @@ integer value 6 - tooltip - PARCEL_MEDIA_COMMAND_TYPE @@ -3184,8 +2862,6 @@ integer value 8 - tooltip - PARCEL_MEDIA_COMMAND_URL @@ -3193,8 +2869,7 @@ integer value 5 - tooltip - + PASS_ALWAYS @@ -3232,23 +2907,12 @@ tooltip Static in-world objects. - PATROL_PAUSE_AT_WAYPOINTS - - type - integer - value - 0 - tooltip - - PAY_DEFAULT type integer value -2 - tooltip - PAY_HIDE @@ -3256,8 +2920,6 @@ integer value -1 - tooltip - PAYMENT_INFO_ON_FILE @@ -3265,8 +2927,6 @@ integer value 1 - tooltip - PAYMENT_INFO_USED @@ -3274,8 +2934,6 @@ integer value 2 - tooltip - PERM_ALL @@ -3283,8 +2941,6 @@ integer value 0x7FFFFFFF - tooltip - PERM_COPY @@ -3292,8 +2948,6 @@ integer value 0x8000 - tooltip - PERM_MODIFY @@ -3301,8 +2955,6 @@ integer value 0x4000 - tooltip - PERM_MOVE @@ -3310,8 +2962,6 @@ integer value 0x80000 - tooltip - PERM_TRANSFER @@ -3319,8 +2969,6 @@ integer value 0x2000 - tooltip - PERMISSION_ATTACH @@ -3355,8 +3003,6 @@ integer value 0x800 - tooltip - PERMISSION_DEBIT @@ -3400,8 +3046,6 @@ integer value 65536 - tooltip - PERMISSION_SILENT_ESTATE_MANAGEMENT @@ -3427,8 +3071,6 @@ integer value 0x1000 - tooltip - PERMISSION_TRACK_CAMERA @@ -3436,8 +3078,6 @@ integer value 0x400 - tooltip - PERMISSION_TRIGGER_ANIMATION @@ -3526,8 +3166,6 @@ integer value 4 - tooltip - PRIM_BUMP_BLOBS @@ -3535,8 +3173,6 @@ integer value 12 - tooltip - PRIM_BUMP_BRICKS @@ -3544,8 +3180,6 @@ integer value 5 - tooltip - PRIM_BUMP_BRIGHT @@ -3553,8 +3187,6 @@ integer value 1 - tooltip - PRIM_BUMP_CHECKER @@ -3562,8 +3194,6 @@ integer value 6 - tooltip - PRIM_BUMP_CONCRETE @@ -3571,8 +3201,6 @@ integer value 7 - tooltip - PRIM_BUMP_DARK @@ -3580,8 +3208,6 @@ integer value 2 - tooltip - PRIM_BUMP_DISKS @@ -3589,8 +3215,6 @@ integer value 10 - tooltip - PRIM_BUMP_GRAVEL @@ -3598,8 +3222,6 @@ integer value 11 - tooltip - PRIM_BUMP_LARGETILE @@ -3607,8 +3229,6 @@ integer value 14 - tooltip - PRIM_BUMP_NONE @@ -3616,8 +3236,7 @@ integer value 0 - tooltip - + PRIM_BUMP_SHINY @@ -3625,8 +3244,6 @@ integer value 19 - tooltip - PRIM_BUMP_SIDING @@ -3634,8 +3251,6 @@ integer value 13 - tooltip - PRIM_BUMP_STONE @@ -3643,8 +3258,6 @@ integer value 9 - tooltip - PRIM_BUMP_STUCCO @@ -3652,8 +3265,6 @@ integer value 15 - tooltip - PRIM_BUMP_SUCTION @@ -3661,8 +3272,6 @@ integer value 16 - tooltip - PRIM_BUMP_TILE @@ -3670,8 +3279,6 @@ integer value 8 - tooltip - PRIM_BUMP_WEAVE @@ -3679,8 +3286,6 @@ integer value 17 - tooltip - PRIM_BUMP_WOOD @@ -3688,8 +3293,6 @@ integer value 3 - tooltip - PRIM_CAST_SHADOWS @@ -3699,8 +3302,6 @@ integer value 24 - tooltip - PRIM_COLOR @@ -3708,8 +3309,6 @@ integer value 18 - tooltip - PRIM_DESC @@ -3717,8 +3316,6 @@ integer value 28 - tooltip - PRIM_FLEXIBLE @@ -3726,8 +3323,6 @@ integer value 21 - tooltip - PRIM_FULLBRIGHT @@ -3735,8 +3330,6 @@ integer value 20 - tooltip - PRIM_GLOW @@ -3753,8 +3346,6 @@ integer value 0x10 - tooltip - PRIM_HOLE_DEFAULT @@ -3762,8 +3353,6 @@ integer value 0x00 - tooltip - PRIM_HOLE_SQUARE @@ -3771,8 +3360,6 @@ integer value 0x20 - tooltip - PRIM_HOLE_TRIANGLE @@ -3780,8 +3367,6 @@ integer value 0x30 - tooltip - PRIM_LINK_TARGET @@ -3789,8 +3374,6 @@ integer value 34 - tooltip - PRIM_MATERIAL @@ -3798,8 +3381,6 @@ integer value 2 - tooltip - PRIM_MATERIAL_FLESH @@ -3807,8 +3388,6 @@ integer value 4 - tooltip - PRIM_MATERIAL_GLASS @@ -3816,8 +3395,6 @@ integer value 2 - tooltip - PRIM_MATERIAL_LIGHT @@ -3825,8 +3402,6 @@ integer value 7 - tooltip - PRIM_MATERIAL_METAL @@ -3834,8 +3409,6 @@ integer value 1 - tooltip - PRIM_MATERIAL_PLASTIC @@ -3843,8 +3416,6 @@ integer value 5 - tooltip - PRIM_MATERIAL_RUBBER @@ -3852,8 +3423,6 @@ integer value 6 - tooltip - PRIM_MATERIAL_STONE @@ -3861,8 +3430,6 @@ integer value 0 - tooltip - PRIM_MATERIAL_WOOD @@ -3870,8 +3437,6 @@ integer value 3 - tooltip - PRIM_MEDIA_ALT_IMAGE_ENABLE @@ -3987,8 +3552,6 @@ integer value 2048 - tooltip - PRIM_MEDIA_MAX_URL_LENGTH @@ -3996,8 +3559,6 @@ integer value 1024 - tooltip - PRIM_MEDIA_MAX_WHITELIST_COUNT @@ -4005,8 +3566,6 @@ integer value 64 - tooltip - PRIM_MEDIA_MAX_WHITELIST_SIZE @@ -4014,8 +3573,6 @@ integer value 1024 - tooltip - PRIM_MEDIA_MAX_WIDTH_PIXELS @@ -4023,8 +3580,6 @@ integer value 2048 - tooltip - PRIM_MEDIA_PARAM_MAX @@ -4032,8 +3587,6 @@ integer value 14 - tooltip - PRIM_MEDIA_PERM_ANYONE @@ -4041,8 +3594,6 @@ integer value 4 - tooltip - PRIM_MEDIA_PERM_GROUP @@ -4050,8 +3601,6 @@ integer value 2 - tooltip - PRIM_MEDIA_PERM_NONE @@ -4059,8 +3608,6 @@ integer value 0 - tooltip - PRIM_MEDIA_PERM_OWNER @@ -4068,8 +3615,6 @@ integer value 1 - tooltip - PRIM_MEDIA_PERMS_CONTROL @@ -4122,8 +3667,6 @@ integer value 27 - tooltip - PRIM_NORMAL @@ -4140,8 +3683,6 @@ integer value 32 - tooltip - PRIM_PHANTOM @@ -4149,8 +3690,6 @@ integer value 5 - tooltip - PRIM_PHYSICS @@ -4158,8 +3697,6 @@ integer value 3 - tooltip - PRIM_PHYSICS_SHAPE_CONVEX @@ -4206,8 +3743,6 @@ integer value 23 - tooltip - PRIM_POS_LOCAL @@ -4215,8 +3750,6 @@ integer value 33 - tooltip - PRIM_POSITION @@ -4224,8 +3757,6 @@ integer value 6 - tooltip - PRIM_ROT_LOCAL @@ -4233,8 +3764,6 @@ integer value 29 - tooltip - PRIM_ROTATION @@ -4242,8 +3771,6 @@ integer value 8 - tooltip - PRIM_SCULPT_FLAG_INVERT @@ -4269,8 +3796,6 @@ integer value 4 - tooltip - PRIM_SCULPT_TYPE_MASK @@ -4278,8 +3803,6 @@ integer value 7 - tooltip - PRIM_SCULPT_TYPE_PLANE @@ -4287,8 +3810,6 @@ integer value 3 - tooltip - PRIM_SCULPT_TYPE_SPHERE @@ -4296,8 +3817,6 @@ integer value 1 - tooltip - PRIM_SCULPT_TYPE_TORUS @@ -4305,8 +3824,6 @@ integer value 2 - tooltip - PRIM_SHINY_HIGH @@ -4314,8 +3831,6 @@ integer value 3 - tooltip - PRIM_SHINY_LOW @@ -4323,8 +3838,6 @@ integer value 1 - tooltip - PRIM_SHINY_MEDIUM @@ -4332,8 +3845,6 @@ integer value 2 - tooltip - PRIM_SHINY_NONE @@ -4341,8 +3852,6 @@ integer value 0 - tooltip - PRIM_SIZE @@ -4350,8 +3859,6 @@ integer value 7 - tooltip - PRIM_SLICE @@ -4359,8 +3866,6 @@ integer value 35 - tooltip - PRIM_SPECULAR @@ -4377,8 +3882,6 @@ integer value 4 - tooltip - PRIM_TEXGEN @@ -4386,8 +3889,6 @@ integer value 22 - tooltip - PRIM_TEXGEN_DEFAULT @@ -4395,8 +3896,6 @@ integer value 0 - tooltip - PRIM_TEXGEN_PLANAR @@ -4404,8 +3903,6 @@ integer value 1 - tooltip - PRIM_TEXT @@ -4413,8 +3910,6 @@ integer value 26 - tooltip - PRIM_TEXTURE @@ -4422,8 +3917,6 @@ integer value 17 - tooltip - PRIM_TYPE @@ -4431,8 +3924,6 @@ integer value 9 - tooltip - PRIM_TYPE_BOX @@ -4440,8 +3931,7 @@ integer value 0 - tooltip - + PRIM_TYPE_CYLINDER @@ -4449,8 +3939,6 @@ integer value 1 - tooltip - PRIM_TYPE_PRISM @@ -4458,8 +3946,6 @@ integer value 2 - tooltip - PRIM_TYPE_RING @@ -4467,8 +3953,6 @@ integer value 6 - tooltip - PRIM_TYPE_SCULPT @@ -4476,8 +3960,6 @@ integer value 7 - tooltip - PRIM_TYPE_SPHERE @@ -4485,8 +3967,6 @@ integer value 3 - tooltip - PRIM_TYPE_TORUS @@ -4494,8 +3974,6 @@ integer value 4 - tooltip - PRIM_TYPE_TUBE @@ -4503,8 +3981,6 @@ integer value 5 - tooltip - PROFILE_NONE @@ -4530,8 +4006,6 @@ integer value 2 - tooltip - PSYS_PART_BF_ONE @@ -4539,8 +4013,6 @@ integer value 0 - tooltip - PSYS_PART_BF_ONE_MINUS_DEST_COLOR @@ -4548,8 +4020,7 @@ integer value 4 - tooltip - + PSYS_PART_BF_ONE_MINUS_SOURCE_COLOR @@ -4557,8 +4028,6 @@ integer value 5 - tooltip - PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA @@ -4566,8 +4035,6 @@ integer value 9 - tooltip - PSYS_PART_BF_SOURCE_ALPHA @@ -4575,8 +4042,6 @@ integer value 7 - tooltip - PSYS_PART_BF_SOURCE_COLOR @@ -4584,8 +4049,6 @@ integer value 3 - tooltip - PSYS_PART_BF_ZERO @@ -4593,8 +4056,6 @@ integer value 1 - tooltip - PSYS_PART_BLEND_FUNC_DEST @@ -4602,8 +4063,6 @@ integer value 25 - tooltip - PSYS_PART_BLEND_FUNC_SOURCE @@ -4611,8 +4070,6 @@ integer value 24 - tooltip - PSYS_PART_BOUNCE_MASK @@ -4656,8 +4113,6 @@ integer value 27 - tooltip - PSYS_PART_END_SCALE @@ -4728,8 +4183,7 @@ integer value 0x400 - tooltip - + PSYS_PART_START_ALPHA @@ -4755,8 +4209,6 @@ integer value 26 - tooltip - PSYS_PART_START_SCALE @@ -4773,8 +4225,6 @@ integer value 0x80 - tooltip - PSYS_PART_TARGET_POS_MASK @@ -4938,8 +4388,6 @@ integer value 0x10 - tooltip - PSYS_SRC_PATTERN_DROP @@ -5001,8 +4449,6 @@ integer value 2 - tooltip - RC_DETECT_PHANTOM @@ -5010,8 +4456,6 @@ integer value 1 - tooltip - RC_GET_LINK_NUM @@ -5019,8 +4463,6 @@ integer value 4 - tooltip - RC_GET_NORMAL @@ -5028,8 +4470,6 @@ integer value 1 - tooltip - RC_GET_ROOT_KEY @@ -5037,8 +4477,6 @@ integer value 2 - tooltip - RC_MAX_HITS @@ -5046,8 +4484,6 @@ integer value 3 - tooltip - RC_REJECT_AGENTS @@ -5055,8 +4491,6 @@ integer value 1 - tooltip - RC_REJECT_LAND @@ -5064,8 +4498,6 @@ integer value 8 - tooltip - RC_REJECT_NONPHYSICAL @@ -5073,8 +4505,6 @@ integer value 4 - tooltip - RC_REJECT_PHYSICAL @@ -5082,8 +4512,6 @@ integer value 2 - tooltip - RC_REJECT_TYPES @@ -5091,8 +4519,6 @@ integer value 0 - tooltip - RCERR_CAST_TIME_EXCEEDED @@ -5100,8 +4526,6 @@ integer value -3 - tooltip - RCERR_SIM_PERF_LOW @@ -5109,8 +4533,6 @@ integer value -2 - tooltip - RCERR_UNKNOWN @@ -5118,8 +4540,6 @@ integer value -1 - tooltip - REGION_FLAG_ALLOW_DAMAGE @@ -5127,8 +4547,6 @@ integer value 0x1 - tooltip - REGION_FLAG_ALLOW_DIRECT_TELEPORT @@ -5136,8 +4554,7 @@ integer value 0x100000 - tooltip - + REGION_FLAG_BLOCK_FLY @@ -5145,8 +4562,6 @@ integer value 0x80000 - tooltip - REGION_FLAG_BLOCK_FLYOVER @@ -5154,8 +4569,6 @@ integer value 0x8000000 - tooltip - REGION_FLAG_BLOCK_TERRAFORM @@ -5163,8 +4576,6 @@ integer value 0x40 - tooltip - REGION_FLAG_DISABLE_COLLISIONS @@ -5172,8 +4583,6 @@ integer value 0x1000 - tooltip - REGION_FLAG_DISABLE_PHYSICS @@ -5181,8 +4590,6 @@ integer value 0x4000 - tooltip - REGION_FLAG_FIXED_SUN @@ -5190,8 +4597,6 @@ integer value 0x10 - tooltip - REGION_FLAG_RESTRICT_PUSHOBJECT @@ -5199,8 +4604,6 @@ integer value 0x400000 - tooltip - REGION_FLAG_SANDBOX @@ -5208,8 +4611,6 @@ integer value 0x100 - tooltip - REMOTE_DATA_CHANNEL @@ -5217,8 +4618,6 @@ integer value 1 - tooltip - REMOTE_DATA_REPLY @@ -5226,8 +4625,6 @@ integer value 3 - tooltip - REMOTE_DATA_REQUEST @@ -5235,8 +4632,6 @@ integer value 2 - tooltip - REQUIRE_LINE_OF_SIGHT @@ -5532,8 +4927,7 @@ integer value 0x200 - tooltip - + STATUS_DIE_AT_EDGE @@ -5613,8 +5007,6 @@ integer value 0x100 - tooltip - STATUS_ROTATE_X @@ -5676,8 +5068,6 @@ integer value 0x03 - tooltip - STRING_TRIM_HEAD @@ -5685,8 +5075,6 @@ integer value 0x01 - tooltip - STRING_TRIM_TAIL @@ -5694,8 +5082,6 @@ integer value 0x02 - tooltip - TEXTURE_BLANK @@ -5703,8 +5089,6 @@ string value 5748decc-f629-461c-9a36-a35a221fe21f - tooltip - TEXTURE_DEFAULT @@ -5712,8 +5096,6 @@ string value 89556747-24cb-43ed-920b-47caed15465f - tooltip - TEXTURE_MEDIA @@ -5721,8 +5103,6 @@ string value 8b5fec65-8d8d-9dc5-cda8-8fdf2716e361 - tooltip - TEXTURE_PLYWOOD @@ -5730,8 +5110,6 @@ string value 89556747-24cb-43ed-920b-47caed15465f - tooltip - TEXTURE_TRANSPARENT @@ -5739,8 +5117,6 @@ string value 8dcd4a48-2d37-4909-9f78-f7a9eb4ef903 - tooltip - TOUCH_INVALID_FACE @@ -5748,8 +5124,6 @@ integer value 0xFFFFFFFF - tooltip - TOUCH_INVALID_TEXCOORD @@ -5757,8 +5131,6 @@ vector value <-1.0, -1.0, 0.0> - tooltip - TOUCH_INVALID_VECTOR @@ -5766,8 +5138,6 @@ vector value <0.0, 0.0, 0.0> - tooltip - TRUE @@ -5856,8 +5226,6 @@ string value URL_REQUEST_DENIED - tooltip - URL_REQUEST_GRANTED @@ -5865,8 +5233,6 @@ string value URL_REQUEST_GRANTED - tooltip - VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY @@ -5967,8 +5333,6 @@ integer value 0x200 - tooltip - VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT @@ -6030,8 +5394,6 @@ integer value 0x100 - tooltip - VEHICLE_FLAG_MOUSELOOK_STEER @@ -6039,8 +5401,6 @@ integer value 0x80 - tooltip - VEHICLE_FLAG_NO_DEFLECTION_UP @@ -6146,8 +5506,7 @@ integer value 20 - tooltip - + VEHICLE_LINEAR_MOTOR_TIMESCALE @@ -6209,8 +5568,6 @@ integer value 0 - tooltip - VEHICLE_TYPE_SLED @@ -6245,8 +5602,6 @@ integer value 0 - tooltip - ZERO_ROTATION @@ -6254,8 +5609,6 @@ rotation value <0.0, 0.0, 0.0, 1.0> - tooltip - ZERO_VECTOR @@ -6263,8 +5616,6 @@ vector value <0.0, 0.0, 0.0> - tooltip - default @@ -6283,8 +5634,6 @@ type integer - tooltip - @@ -6292,8 +5641,6 @@ type rotation - tooltip - @@ -6301,8 +5648,6 @@ type rotation - tooltip - @@ -6318,8 +5663,6 @@ type integer - tooltip - @@ -6327,8 +5670,6 @@ type vector - tooltip - @@ -6336,8 +5677,6 @@ type vector - tooltip - @@ -6353,8 +5692,6 @@ type key - tooltip - @@ -6370,8 +5707,6 @@ type integer - tooltip - @@ -6387,8 +5722,6 @@ type integer - tooltip - @@ -6407,8 +5740,6 @@ type integer - tooltip - @@ -6427,8 +5758,6 @@ type integer - tooltip - @@ -6447,8 +5776,6 @@ type key - tooltip - @@ -6456,8 +5783,6 @@ type integer - tooltip - @@ -6465,8 +5790,6 @@ type integer - tooltip - @@ -6485,8 +5808,6 @@ type key - tooltip - @@ -6494,8 +5815,6 @@ type string - tooltip - @@ -6514,8 +5833,6 @@ type string - tooltip - @@ -6523,8 +5840,6 @@ type string - tooltip - @@ -6532,8 +5847,6 @@ type string - tooltip - @@ -6541,8 +5854,6 @@ type string - tooltip - @@ -6550,8 +5861,6 @@ type integer - tooltip - @@ -6570,8 +5879,6 @@ type key - tooltip - @@ -6579,8 +5886,6 @@ type string - tooltip - @@ -6588,8 +5893,6 @@ type string - tooltip - @@ -6605,8 +5908,6 @@ type key - tooltip - @@ -6614,8 +5915,6 @@ type integer - tooltip - @@ -6623,8 +5922,6 @@ type list - tooltip - @@ -6632,8 +5929,6 @@ type string - tooltip - @@ -6649,8 +5944,6 @@ type vector - tooltip - @@ -6666,8 +5959,6 @@ type vector - tooltip - @@ -6683,8 +5974,6 @@ type vector - tooltip - @@ -6700,8 +5989,6 @@ type integer - tooltip - @@ -6709,8 +5996,6 @@ type integer - tooltip - @@ -6718,8 +6003,6 @@ type string - tooltip - @@ -6727,8 +6010,6 @@ type key - tooltip - @@ -6744,8 +6025,6 @@ type integer - tooltip - @@ -6753,8 +6032,6 @@ type string - tooltip - @@ -6762,8 +6039,6 @@ type key - tooltip - @@ -6771,8 +6046,6 @@ type string - tooltip - @@ -6791,8 +6064,6 @@ type key - tooltip - @@ -6800,8 +6071,6 @@ type integer - tooltip - @@ -6852,8 +6121,7 @@ type key - tooltip - + @@ -6869,8 +6137,6 @@ type integer - tooltip - @@ -6886,8 +6152,7 @@ type integer - tooltip - + @@ -6895,8 +6160,6 @@ type key - tooltip - @@ -6904,8 +6167,6 @@ type key - tooltip - @@ -6913,8 +6174,6 @@ type string - tooltip - @@ -6922,8 +6181,7 @@ type integer - tooltip - + @@ -6931,8 +6189,6 @@ type string - tooltip - @@ -6948,8 +6204,6 @@ type integer - tooltip - @@ -6968,8 +6222,6 @@ type integer - tooltip - @@ -7009,8 +6261,6 @@ type integer - tooltip - @@ -7030,8 +6280,6 @@ type integer - tooltip - @@ -7050,8 +6298,6 @@ type integer - tooltip - @@ -7070,8 +6316,6 @@ type key - tooltip - @@ -7079,8 +6323,6 @@ type integer - tooltip - @@ -7088,8 +6330,6 @@ type string - tooltip - @@ -7219,7 +6459,6 @@ llAllowInventoryDrop - return void arguments @@ -7332,8 +6571,6 @@ type float - tooltip - A floating-point value. @@ -7352,8 +6589,6 @@ type float - tooltip - A floating-point value. @@ -7361,8 +6596,6 @@ type float - tooltip - A floating-point value. @@ -7380,8 +6613,7 @@ type integer - tooltip - + @@ -7511,8 +6743,7 @@ type string - tooltip - + @@ -7521,7 +6752,6 @@ llBase64ToString - return string arguments @@ -7531,8 +6761,6 @@ type string - tooltip - @@ -7559,8 +6787,6 @@ type integer - tooltip - @@ -7578,8 +6804,7 @@ type vector - tooltip - + @@ -7587,8 +6812,6 @@ type vector - tooltip - @@ -7596,8 +6819,6 @@ type list - tooltip - @@ -7615,8 +6836,7 @@ type float - tooltip - + @@ -7625,7 +6845,6 @@ llClearCameraParams - return void arguments @@ -7644,8 +6863,6 @@ type integer - tooltip - @@ -7653,8 +6870,7 @@ type integer - tooltip - + @@ -7695,8 +6911,6 @@ type key - tooltip - @@ -7714,8 +6928,6 @@ type vector - tooltip - @@ -7733,8 +6945,6 @@ type string - tooltip - @@ -7742,8 +6952,6 @@ type key - tooltip - @@ -7770,8 +6978,6 @@ type string - tooltip - @@ -7779,8 +6985,6 @@ type float - tooltip - @@ -7798,8 +7002,7 @@ type string - tooltip - + @@ -7808,7 +7011,6 @@ llCos - return float arguments @@ -7818,8 +7020,6 @@ type float - tooltip - @@ -7867,8 +7067,6 @@ type string - tooltip - @@ -7877,7 +7075,6 @@ llDeleteSubList - return list arguments @@ -7887,8 +7084,7 @@ type list - tooltip - + @@ -7896,8 +7092,7 @@ type integer - tooltip - + @@ -7905,8 +7100,6 @@ type integer - tooltip - @@ -7924,8 +7117,6 @@ type string - tooltip - @@ -7933,8 +7124,6 @@ type integer - tooltip - @@ -7942,8 +7131,6 @@ type integer - tooltip - @@ -7970,8 +7157,6 @@ type integer - tooltip - @@ -7989,8 +7174,6 @@ type integer - tooltip - @@ -8008,8 +7191,6 @@ type integer - tooltip - @@ -8027,8 +7208,6 @@ type integer - tooltip - @@ -8046,8 +7225,6 @@ type integer - tooltip - @@ -8065,8 +7242,6 @@ type integer - tooltip - @@ -8084,8 +7259,6 @@ type integer - tooltip - @@ -8103,8 +7276,6 @@ type integer - tooltip - @@ -8236,8 +7407,6 @@ type integer - tooltip - @@ -8255,8 +7424,6 @@ type integer - tooltip - @@ -8276,8 +7443,6 @@ type key - tooltip - @@ -8285,8 +7450,6 @@ type string - tooltip - @@ -8294,8 +7457,6 @@ type list - tooltip - @@ -8303,8 +7464,6 @@ type integer - tooltip - @@ -8342,8 +7501,6 @@ type list - tooltip - @@ -8351,8 +7508,6 @@ type string - tooltip - @@ -8370,8 +7525,6 @@ type vector - tooltip - @@ -8379,8 +7532,6 @@ type vector - tooltip - @@ -8398,8 +7549,6 @@ type key - tooltip - @@ -8419,8 +7568,6 @@ type string - tooltip - @@ -8428,8 +7575,6 @@ type string - tooltip - @@ -8437,8 +7582,6 @@ type string - tooltip - @@ -8456,8 +7599,6 @@ type string - tooltip - @@ -8478,8 +7619,6 @@ type vector - tooltip - @@ -8488,7 +7627,6 @@ llFabs - return float arguments @@ -8498,8 +7636,6 @@ type float - tooltip - @@ -8517,8 +7653,6 @@ type float - tooltip - @@ -8546,7 +7680,6 @@ llFrand - return float arguments @@ -8556,8 +7689,6 @@ type float - tooltip - @@ -8575,7 +7706,6 @@ llGetAccel - return vector arguments @@ -8594,8 +7724,6 @@ type key - tooltip - @@ -8607,7 +7735,6 @@ llGetAgentLanguage - return string arguments @@ -8617,8 +7744,6 @@ type key - tooltip - @@ -8664,8 +7789,6 @@ type key - tooltip - @@ -8683,8 +7806,6 @@ type integer - tooltip - @@ -8711,8 +7832,6 @@ type key - tooltip - @@ -8730,8 +7849,6 @@ type key - tooltip - @@ -8749,8 +7866,6 @@ type string - tooltip - @@ -8796,8 +7911,6 @@ type key - tooltip - @@ -8842,8 +7955,6 @@ type integer - tooltip - @@ -8861,7 +7972,6 @@ llGetDate - return string arguments @@ -8936,7 +8046,6 @@ llGetFreeURLs - return integer arguments @@ -9001,8 +8110,6 @@ type string - tooltip - @@ -9020,8 +8127,6 @@ type string - tooltip - @@ -9114,8 +8219,6 @@ type string - tooltip - @@ -9143,8 +8246,6 @@ type vector - tooltip - @@ -9162,8 +8263,6 @@ type integer - tooltip - @@ -9218,8 +8317,6 @@ type integer - tooltip - @@ -9293,8 +8390,7 @@ type list - tooltip - + @@ -9302,8 +8398,7 @@ type integer - tooltip - + @@ -9321,8 +8416,6 @@ type list - tooltip - @@ -9367,7 +8460,6 @@ llGetMaxScaleFactor - return float arguments @@ -9404,8 +8496,6 @@ type string - tooltip - @@ -9413,8 +8503,6 @@ type string - tooltip - @@ -9434,8 +8522,6 @@ type string - tooltip - @@ -9443,8 +8529,6 @@ type integer - tooltip - @@ -9464,8 +8548,7 @@ type string - tooltip - + @@ -9539,8 +8622,6 @@ type key - tooltip - @@ -9586,8 +8667,6 @@ type key - tooltip - @@ -9624,8 +8703,6 @@ type key - tooltip - @@ -9671,8 +8748,6 @@ type vector - tooltip - @@ -9766,8 +8841,6 @@ type vector - tooltip - @@ -9972,8 +9045,6 @@ type string - tooltip - @@ -10001,7 +9072,6 @@ llGetSimulatorHostname - sleep 10.0 return @@ -10059,8 +9129,6 @@ type string - tooltip - @@ -10068,8 +9136,6 @@ type integer - tooltip - @@ -10077,8 +9143,6 @@ type integer - tooltip - @@ -10105,8 +9169,6 @@ type integer - tooltip - @@ -10124,8 +9186,6 @@ type integer - tooltip - @@ -10143,8 +9203,6 @@ type integer - tooltip - @@ -10162,8 +9220,6 @@ type integer - tooltip - @@ -10235,8 +9291,6 @@ type key - tooltip - @@ -10272,8 +9326,6 @@ type key - tooltip - @@ -10281,8 +9333,6 @@ type string - tooltip - @@ -10302,8 +9352,6 @@ type key - tooltip - @@ -10311,8 +9359,6 @@ type string - tooltip - @@ -10320,8 +9366,6 @@ type list - tooltip - @@ -10339,8 +9383,6 @@ type key - tooltip - @@ -10348,8 +9390,6 @@ type integer - tooltip - @@ -10369,8 +9409,6 @@ type key - tooltip - @@ -10378,8 +9416,6 @@ type vector - tooltip - @@ -10397,8 +9433,6 @@ type vector - tooltip - @@ -10417,8 +9451,6 @@ type vector - tooltip - @@ -10436,8 +9468,6 @@ type vector - tooltip - @@ -10496,8 +9526,6 @@ type vector - tooltip - @@ -10589,8 +9617,6 @@ type string - tooltip - @@ -10598,8 +9624,6 @@ type integer - tooltip - @@ -10607,8 +9631,6 @@ type string - tooltip - @@ -10628,8 +9650,6 @@ type key - tooltip - @@ -10637,8 +9657,6 @@ type string - tooltip - @@ -10656,8 +9674,6 @@ type integer - tooltip - @@ -10677,8 +9693,6 @@ type string - tooltip - @@ -10696,8 +9710,6 @@ type string - tooltip - @@ -10705,8 +9717,6 @@ type list - tooltip - @@ -10724,8 +9734,6 @@ type string - tooltip - @@ -10733,8 +9741,6 @@ type list - tooltip - @@ -10742,8 +9748,6 @@ type string - tooltip - @@ -10761,8 +9765,6 @@ type string - tooltip - @@ -10770,8 +9772,6 @@ type list - tooltip - @@ -10873,8 +9873,6 @@ type list - tooltip - @@ -10892,8 +9890,6 @@ type list - tooltip - @@ -10901,8 +9897,6 @@ type integer - tooltip - @@ -10920,8 +9914,6 @@ type list - tooltip - @@ -10929,8 +9921,6 @@ type integer - tooltip - @@ -10976,8 +9966,7 @@ type list - tooltip - + @@ -10985,8 +9974,6 @@ type integer - tooltip - @@ -11004,8 +9991,6 @@ type list - tooltip - @@ -11013,8 +9998,6 @@ type integer - tooltip - @@ -11022,8 +10005,6 @@ type integer - tooltip - @@ -11041,8 +10022,6 @@ type list - tooltip - @@ -11050,8 +10029,6 @@ type integer - tooltip - @@ -11059,8 +10036,6 @@ type integer - tooltip - @@ -11068,8 +10043,6 @@ type integer - tooltip - @@ -11087,8 +10060,6 @@ type list - tooltip - @@ -11096,8 +10067,6 @@ type integer - tooltip - @@ -11115,8 +10084,6 @@ type list - tooltip - @@ -11124,8 +10091,6 @@ type integer - tooltip - @@ -11144,8 +10109,6 @@ type list - tooltip - @@ -11153,8 +10116,6 @@ type integer - tooltip - @@ -11172,8 +10133,6 @@ type integer - tooltip - @@ -11181,8 +10140,6 @@ type string - tooltip - @@ -11190,8 +10147,6 @@ type key - tooltip - @@ -11199,8 +10154,6 @@ type string - tooltip - @@ -11218,8 +10171,6 @@ type integer - tooltip - @@ -11227,8 +10178,6 @@ type integer - tooltip - @@ -11246,8 +10195,6 @@ type integer - tooltip - @@ -11265,8 +10212,6 @@ type list - tooltip - @@ -11274,8 +10219,6 @@ type list - tooltip - @@ -11293,8 +10236,6 @@ type list - tooltip - @@ -11302,8 +10243,6 @@ type list - tooltip - @@ -11311,8 +10250,6 @@ type integer - tooltip - @@ -11330,8 +10267,6 @@ type list - tooltip - @@ -11339,8 +10274,6 @@ type integer - tooltip - @@ -11358,8 +10291,6 @@ type list - tooltip - @@ -11367,8 +10298,6 @@ type list - tooltip - @@ -11376,8 +10305,6 @@ type integer - tooltip - @@ -11385,8 +10312,6 @@ type integer - tooltip - @@ -11471,8 +10396,6 @@ type key - tooltip - @@ -11480,8 +10403,6 @@ type string - tooltip - @@ -11489,8 +10410,6 @@ type string - tooltip - @@ -11508,8 +10427,6 @@ type float - tooltip - @@ -11527,8 +10444,6 @@ type float - tooltip - @@ -11546,8 +10461,7 @@ type vector - tooltip - + @@ -11555,8 +10469,7 @@ type float - tooltip - + @@ -11564,8 +10477,6 @@ type float - tooltip - @@ -11583,8 +10494,6 @@ type string - tooltip - @@ -11592,8 +10501,6 @@ type float - tooltip - @@ -11611,8 +10518,6 @@ type string - tooltip - @@ -11620,8 +10525,6 @@ type float - tooltip - @@ -11639,8 +10542,7 @@ type string - tooltip - + @@ -11648,8 +10550,6 @@ type float - tooltip - @@ -11697,8 +10597,6 @@ type string - tooltip - @@ -11706,8 +10604,6 @@ type vector - tooltip - @@ -11715,8 +10611,6 @@ type vector - tooltip - @@ -11734,8 +10628,6 @@ type string - tooltip - @@ -11743,8 +10635,6 @@ type integer - tooltip - @@ -11762,8 +10652,6 @@ type integer - tooltip - @@ -11771,8 +10659,6 @@ type integer - tooltip - @@ -11780,8 +10666,6 @@ type string - tooltip - @@ -11789,8 +10673,7 @@ type key - tooltip - + @@ -11808,8 +10691,6 @@ type float - tooltip - @@ -11857,8 +10738,7 @@ type integer - tooltip - + @@ -11866,8 +10746,7 @@ type integer - tooltip - + @@ -11875,8 +10754,6 @@ type integer - tooltip - @@ -11894,8 +10771,6 @@ type vector - tooltip - @@ -11903,8 +10778,6 @@ type float - tooltip - @@ -11924,8 +10797,6 @@ type float - tooltip - @@ -11933,8 +10804,6 @@ type float - tooltip - @@ -11942,8 +10811,6 @@ type integer - tooltip - @@ -11961,8 +10828,6 @@ type key - tooltip - @@ -11980,8 +10845,6 @@ type string - tooltip - @@ -12022,8 +10885,6 @@ type list - tooltip - @@ -12041,8 +10902,6 @@ type string - tooltip - @@ -12050,8 +10909,6 @@ type list - tooltip - @@ -12059,8 +10916,6 @@ type list - tooltip - @@ -12078,8 +10933,6 @@ type string - tooltip - @@ -12087,8 +10940,6 @@ type list - tooltip - @@ -12096,8 +10947,6 @@ type list - tooltip - @@ -12115,8 +10964,6 @@ type list - tooltip - @@ -12172,8 +11019,6 @@ type string - tooltip - @@ -12181,8 +11026,6 @@ type float - tooltip - @@ -12200,8 +11043,6 @@ type string - tooltip - @@ -12209,8 +11050,6 @@ type float - tooltip - @@ -12228,8 +11067,6 @@ type float - tooltip - @@ -12237,8 +11074,6 @@ type float - tooltip - @@ -12258,8 +11093,6 @@ type string - tooltip - @@ -12277,8 +11110,6 @@ type key - tooltip - @@ -12286,8 +11117,6 @@ type vector - tooltip - @@ -12295,8 +11124,6 @@ type vector - tooltip - @@ -12304,8 +11131,6 @@ type integer - tooltip - @@ -12401,8 +11226,6 @@ type key - tooltip - @@ -12453,8 +11276,6 @@ type key - tooltip - @@ -12462,8 +11283,6 @@ type key - tooltip - @@ -12556,8 +11375,6 @@ type key - tooltip - @@ -12575,8 +11392,6 @@ type key - tooltip - @@ -12594,8 +11409,6 @@ type string - tooltip - @@ -12613,8 +11426,6 @@ type integer - tooltip - @@ -12634,8 +11445,6 @@ type key - tooltip - @@ -12643,8 +11452,6 @@ type integer - tooltip - @@ -12683,8 +11490,6 @@ type string - tooltip - @@ -12702,8 +11507,6 @@ type key - tooltip - @@ -12711,8 +11514,6 @@ type integer - tooltip - @@ -12741,8 +11542,6 @@ type string - tooltip - @@ -12750,8 +11549,6 @@ type integer - tooltip - @@ -12778,8 +11575,6 @@ type key - tooltip - @@ -12797,8 +11592,7 @@ type string - tooltip - + @@ -12807,7 +11601,6 @@ llResetLandBanList - return void arguments @@ -12835,8 +11628,6 @@ type string - tooltip - @@ -12900,8 +11691,6 @@ type integer - tooltip - @@ -12921,8 +11710,6 @@ type string - tooltip - @@ -12930,8 +11717,7 @@ type vector - tooltip - + @@ -12939,8 +11725,6 @@ type vector - tooltip - @@ -12948,8 +11732,6 @@ type rotation - tooltip - @@ -12957,8 +11739,6 @@ type integer - tooltip - @@ -12978,8 +11758,6 @@ type string - tooltip - @@ -12987,8 +11765,6 @@ type vector - tooltip - @@ -12996,8 +11772,6 @@ type vector - tooltip - @@ -13005,8 +11779,6 @@ type rotation - tooltip - @@ -13014,8 +11786,6 @@ type integer - tooltip - @@ -13033,8 +11803,6 @@ type rotation - tooltip - @@ -13052,8 +11820,6 @@ type rotation - tooltip - @@ -13071,8 +11837,6 @@ type rotation - tooltip - @@ -13090,8 +11854,6 @@ type rotation - tooltip - @@ -13109,8 +11871,6 @@ type rotation - tooltip - @@ -13128,8 +11888,6 @@ type rotation - tooltip - @@ -13149,8 +11907,6 @@ type float - tooltip - @@ -13158,8 +11914,6 @@ type integer - tooltip - @@ -13177,8 +11931,6 @@ type vector - tooltip - @@ -13186,8 +11938,6 @@ type vector - tooltip - @@ -13206,8 +11956,6 @@ type rotation - tooltip - @@ -13215,8 +11963,6 @@ type float - tooltip - @@ -13224,8 +11970,6 @@ type float - tooltip - @@ -13243,8 +11987,6 @@ type rotation - tooltip - @@ -13252,8 +11994,6 @@ type float - tooltip - @@ -13271,8 +12011,6 @@ type integer - tooltip - @@ -13290,8 +12028,6 @@ type float - tooltip - @@ -13309,8 +12045,6 @@ type key - tooltip - @@ -13377,8 +12111,6 @@ type float - tooltip - @@ -13386,8 +12118,7 @@ type float - tooltip - + @@ -13395,8 +12126,6 @@ type integer - tooltip - @@ -13414,8 +12143,6 @@ type vector - tooltip - @@ -13456,8 +12183,6 @@ type key - tooltip - @@ -13465,8 +12190,6 @@ type string - tooltip - @@ -13474,8 +12197,6 @@ type integer - tooltip - @@ -13483,8 +12204,6 @@ type string - tooltip - @@ -13630,8 +12349,6 @@ type float - tooltip - @@ -13639,8 +12356,6 @@ type integer - tooltip - @@ -13686,8 +12401,6 @@ type string - tooltip - @@ -13695,8 +12408,6 @@ type string - tooltip - @@ -13714,8 +12425,6 @@ type float - tooltip - @@ -13733,8 +12442,6 @@ type vector - tooltip - @@ -13752,8 +12459,7 @@ type vector - tooltip - + @@ -13771,8 +12477,6 @@ type list - tooltip - @@ -13809,8 +12513,6 @@ type vector - tooltip - @@ -13818,8 +12520,6 @@ type integer - tooltip - @@ -13865,8 +12565,7 @@ type float - tooltip - + @@ -14034,8 +12733,7 @@ type list - tooltip - + @@ -14053,8 +12751,6 @@ type integer - tooltip - @@ -14062,8 +12758,6 @@ type float - tooltip - @@ -14071,8 +12765,6 @@ type integer - tooltip - @@ -14212,8 +12904,7 @@ type list - tooltip - + @@ -14240,8 +12931,6 @@ type list - tooltip - @@ -14261,8 +12950,6 @@ type integer - tooltip - @@ -14270,8 +12957,6 @@ type string - tooltip - @@ -14279,8 +12964,6 @@ type integer - tooltip - @@ -14382,8 +13065,7 @@ type rotation - tooltip - + @@ -14421,8 +13103,6 @@ type string - tooltip - @@ -14440,8 +13120,6 @@ type string - tooltip - @@ -14491,8 +13169,6 @@ type string - tooltip - @@ -14549,8 +13225,6 @@ type float - tooltip - @@ -14558,8 +13232,6 @@ type float - tooltip - @@ -14567,8 +13239,6 @@ type float - tooltip - @@ -14576,8 +13246,6 @@ type float - tooltip - @@ -14671,8 +13339,6 @@ type string - tooltip - @@ -14713,8 +13379,6 @@ type integer - tooltip - @@ -14734,8 +13398,6 @@ type rotation - tooltip - @@ -14753,8 +13415,7 @@ type vector - tooltip - + @@ -14772,8 +13433,6 @@ type string - tooltip - @@ -14781,8 +13440,6 @@ type integer - tooltip - @@ -14800,8 +13457,6 @@ type string - tooltip - @@ -14857,8 +13512,6 @@ type integer - tooltip - @@ -14866,8 +13519,6 @@ type integer - tooltip - @@ -14885,8 +13536,6 @@ type string - tooltip - @@ -14894,8 +13543,6 @@ type vector - tooltip - @@ -14903,8 +13550,6 @@ type float - tooltip - @@ -14924,8 +13569,6 @@ type string - tooltip - @@ -14933,8 +13576,6 @@ type integer - tooltip - @@ -15025,8 +13666,6 @@ type float - tooltip - @@ -15072,8 +13711,7 @@ type string - tooltip - + @@ -15092,8 +13730,7 @@ type integer - tooltip - + @@ -15111,8 +13748,6 @@ type integer - tooltip - @@ -15120,8 +13755,6 @@ type float - tooltip - @@ -15139,8 +13772,6 @@ type integer - tooltip - @@ -15148,8 +13779,6 @@ type rotation - tooltip - @@ -15167,8 +13796,6 @@ type integer - tooltip - @@ -15186,8 +13813,6 @@ type integer - tooltip - @@ -15195,8 +13820,6 @@ type vector - tooltip - @@ -15242,8 +13865,6 @@ type string - tooltip - @@ -15261,8 +13882,6 @@ type integer - tooltip - @@ -15270,8 +13889,6 @@ type string - tooltip - @@ -15289,8 +13906,6 @@ type float - tooltip - @@ -15308,8 +13923,6 @@ type vector - tooltip - @@ -15317,8 +13930,6 @@ type rotation - tooltip - @@ -15336,8 +13947,6 @@ type float - tooltip - @@ -15357,8 +13966,6 @@ type string - tooltip - @@ -15366,8 +13973,6 @@ type float - tooltip - @@ -15375,8 +13980,6 @@ type integer - tooltip - @@ -15384,8 +13987,6 @@ type integer - tooltip - @@ -15405,8 +14006,6 @@ type string - tooltip - @@ -15424,8 +14023,6 @@ type float - tooltip - @@ -15443,8 +14040,6 @@ type string - tooltip - @@ -15462,8 +14057,6 @@ type string - tooltip - @@ -15517,8 +14110,6 @@ type string - tooltip - @@ -15536,8 +14127,6 @@ type string - tooltip - @@ -15583,8 +14172,6 @@ type string - tooltip - @@ -15592,8 +14179,6 @@ type string - tooltip - @@ -15613,8 +14198,6 @@ type key - tooltip - @@ -15669,8 +14252,6 @@ type float - tooltip - @@ -15688,8 +14269,6 @@ type vector - tooltip - @@ -15697,8 +14276,6 @@ type float - tooltip - @@ -15717,8 +14294,6 @@ type vector - tooltip - @@ -15726,8 +14301,6 @@ type float - tooltip - @@ -15735,8 +14308,6 @@ type float - tooltip - @@ -15754,8 +14325,6 @@ type integer - tooltip - @@ -15867,8 +14436,6 @@ type key - tooltip - @@ -15888,8 +14455,6 @@ type key - tooltip - @@ -15897,8 +14462,6 @@ type string - tooltip - @@ -15906,8 +14469,6 @@ type integer - tooltip - @@ -15925,8 +14486,6 @@ type string - tooltip - @@ -15944,8 +14503,6 @@ type string - tooltip - @@ -15963,8 +14520,6 @@ type key - tooltip - @@ -15972,8 +14527,6 @@ type integer - tooltip - @@ -15991,8 +14544,7 @@ type string - tooltip - + @@ -16000,8 +14552,6 @@ type float - tooltip - @@ -16019,8 +14569,6 @@ type string - tooltip - @@ -16028,8 +14576,6 @@ type float - tooltip - @@ -16037,8 +14583,6 @@ type vector - tooltip - @@ -16046,8 +14590,6 @@ type vector - tooltip - @@ -16065,8 +14607,6 @@ type string - tooltip - @@ -16084,8 +14624,6 @@ type key - tooltip - @@ -16103,8 +14641,6 @@ type vector - tooltip - @@ -16112,8 +14648,6 @@ type vector - tooltip - @@ -16131,8 +14665,6 @@ type vector - tooltip - @@ -16150,8 +14682,6 @@ type vector - tooltip - @@ -16189,8 +14719,6 @@ type vector - tooltip - @@ -16208,8 +14736,6 @@ type integer - tooltip - @@ -16217,8 +14743,6 @@ type string - tooltip - @@ -16236,8 +14760,6 @@ type vector - tooltip - @@ -16255,8 +14777,6 @@ type string - tooltip - @@ -16264,8 +14784,6 @@ type string - tooltip - @@ -16287,8 +14805,6 @@ type string - tooltip - @@ -16296,8 +14812,6 @@ type string - tooltip - @@ -16317,8 +14831,6 @@ type string - tooltip - @@ -16326,8 +14838,6 @@ type string - tooltip - @@ -16363,8 +14873,6 @@ type key - tooltip - @@ -16372,8 +14880,6 @@ type string - tooltip - @@ -16391,8 +14897,6 @@ type key - tooltip - @@ -16400,8 +14904,6 @@ type string - tooltip - -- cgit v1.1 From d9018cf517b71112b214adca710056541947f263 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 20 Oct 2018 00:21:40 +0100 Subject: add a few more things to SrcriptSyntax --- bin/ScriptSyntax.xml | 687 +++++++++++++++++++++++++-------------------------- 1 file changed, 339 insertions(+), 348 deletions(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index 31e889b..cbe9130 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -2242,7 +2242,6 @@ integer value 13 - OBJECT_RENDER_WEIGHT @@ -2444,7 +2443,6 @@ integer value 0 - OS_NPC_NO_FLY @@ -2869,7 +2867,6 @@ integer value 5 - PASS_ALWAYS @@ -3236,7 +3233,6 @@ integer value 0 - PRIM_BUMP_SHINY @@ -3931,7 +3927,6 @@ integer value 0 - PRIM_TYPE_CYLINDER @@ -5603,6 +5598,265 @@ value 0 + WL_WATER_COLOR + + type + integer + value + 0 + + WL_WATER_FOG_DENSITY_EXPONENT + + type + integer + value + 1 + + WL_UNDERWATER_FOG_MODIFIER + + type + integer + value + 2 + + WL_REFLECTION_WAVELET_SCALE + + type + integer + value + 3 + + WL_FRESNEL_SCALE + + type + integer + value + 4 + + WL_FRESNEL_OFFSET + + type + integer + value + 5 + + WL_REFRACT_SCALE_ABOVE + + type + integer + value + 6 + + WL_REFRACT_SCALE_BELOW + + type + integer + value + 7 + + WL_BLUR_MULTIPLIER + + type + integer + value + 8 + + WL_BIG_WAVE_DIRECTION + + type + integer + value + 9 + + WL_LITTLE_WAVE_DIRECTION + + type + integer + value + 10 + + WL_NORMAL_MAP_TEXTURE + + type + integer + value + 11 + + WL_HORIZON + + type + integer + value + 12 + + WL_HAZE_HORIZON + + type + integer + value + 13 + + WL_BLUE_DENSITY + + type + integer + value + 14 + + WL_HAZE_DENSITY + + type + integer + value + 15 + + WL_DENSITY_MULTIPLIER + + type + integer + value + 16 + + WL_DISTANCE_MULTIPLIER + + type + integer + value + 17 + + WL_MAX_ALTITUDE + + type + integer + value + 18 + + WL_SUN_MOON_COLOR + + type + integer + value + 19 + + WL_AMBIENT + + type + integer + value + 20 + + WL_EAST_ANGLE + + type + integer + value + 21 + + WL_SUN_GLOW_FOCUS + + type + integer + value + 22 + + WL_SUN_GLOW_SIZE + + type + integer + value + 23 + + WL_SCENE_GAMMA + + type + integer + value + 24 + + WL_STAR_BRIGHTNESS + + type + integer + value + 25 + + WL_CLOUD_COLOR + + type + integer + value + 26 + + WL_CLOUD_XY_DENSITY + + type + integer + value + 27 + + WL_CLOUD_COVERAGE + + type + integer + value + 28 + + WL_CLOUD_SCALE + + type + integer + value + 29 + + WL_CLOUD_DETAIL_XY_DENSITY + + type + integer + value + 30 + + WL_CLOUD_SCROLL_X + + type + integer + value + 31 + + WL_CLOUD_SCROLL_Y + + type + integer + value + 32 + + WL_CLOUD_SCROLL_Y_LOCK + + type + integer + value + 33 + + WL_CLOUD_SCROLL_X_LOCK + + type + integer + value + 34 + + WL_DRAW_CLASSIC_CLOUDS + + type + integer + value + 35 + + WL_SUN_MOON_POSITION + + type + integer + value + 36 + ZERO_ROTATION type @@ -6121,7 +6375,6 @@ type key - @@ -6380,8 +6633,6 @@ llAddToLandBanList - return - void arguments @@ -6410,8 +6661,6 @@ sleep 0.1 - return - void arguments @@ -6440,8 +6689,6 @@ sleep 0.1 - return - void arguments @@ -6459,8 +6706,6 @@ llAllowInventoryDrop - return - void arguments @@ -6506,8 +6751,7 @@ llApplyImpulse - return - void + arguments @@ -6534,8 +6778,6 @@ llApplyRotationalImpulse - return - void arguments @@ -6579,7 +6821,6 @@ llAtan2 - return float arguments @@ -6604,8 +6845,7 @@ llAttachToAvatar - return - void + arguments @@ -6622,8 +6862,6 @@ llAttachToAvatarTemp - return - void arguments @@ -6769,8 +7007,7 @@ llBreakAllLinks - return - void + arguments tooltip @@ -6778,8 +7015,6 @@ llBreakLink - return - void arguments @@ -6845,8 +7080,6 @@ llClearCameraParams - return - void arguments tooltip @@ -6902,8 +7135,7 @@ sleep 1.0 - return - void + arguments @@ -6936,8 +7168,7 @@ llCollisionFilter - return - void + arguments @@ -6969,8 +7200,7 @@ llCollisionSound - return - void + arguments @@ -6993,8 +7223,7 @@ llCollisionSprite - return - void + arguments @@ -7030,8 +7259,7 @@ sleep 1.0 - return - void + arguments @@ -7139,8 +7367,6 @@ llDetachFromAvatar - return - void arguments tooltip @@ -7434,8 +7660,6 @@ sleep 0.1 - return - void arguments @@ -7483,8 +7707,6 @@ llDie - return - void arguments tooltip @@ -7540,8 +7762,7 @@ llEjectFromLand - return - void + arguments @@ -7559,8 +7780,6 @@ sleep 20.0 - return - void arguments @@ -7661,8 +7880,6 @@ llForceMouselook - return - void arguments @@ -8236,7 +8453,6 @@ llGetLandOwnerAt - return key arguments @@ -8390,7 +8606,6 @@ type list - @@ -8398,7 +8613,6 @@ type integer - @@ -8487,8 +8701,6 @@ llGetNextEmail - return - void arguments @@ -9317,8 +9529,6 @@ llGiveInventory - return - void arguments @@ -9343,8 +9553,6 @@ sleep 3.0 - return - void arguments @@ -9400,8 +9608,6 @@ god-mode true - return - void arguments @@ -9441,7 +9647,6 @@ llGroundContour - return vector arguments @@ -9476,8 +9681,6 @@ llGroundRepel - return - void arguments @@ -9571,8 +9774,6 @@ llHTTPResponse - return - void arguments @@ -9641,8 +9842,6 @@ sleep 2.0 - return - void arguments @@ -9682,8 +9881,6 @@ llJson2List - energy - 0.0 return list arguments @@ -9799,8 +9996,7 @@ llLinkParticleSystem - return - void + arguments @@ -9827,8 +10023,7 @@ llLinkSitTarget - return - void + arguments @@ -10099,7 +10294,6 @@ llList2Vector - return vector arguments @@ -10162,8 +10356,6 @@ llListenControl - return - void arguments @@ -10186,8 +10378,7 @@ llListenRemove - return - void + arguments @@ -10387,8 +10578,6 @@ sleep 0.1 - return - void arguments @@ -10452,8 +10641,6 @@ llLookAt - return - void arguments @@ -10461,7 +10648,6 @@ type vector - @@ -10469,7 +10655,6 @@ type float - @@ -10485,8 +10670,6 @@ llLoopSound - return - void arguments @@ -10509,8 +10692,7 @@ llLoopSoundMaster - return - void + arguments @@ -10533,8 +10715,6 @@ llLoopSoundSlave - return - void arguments @@ -10588,8 +10768,6 @@ sleep 1.0 - return - void arguments @@ -10643,8 +10821,6 @@ llMessageLinked - return - void arguments @@ -10682,8 +10858,6 @@ llMinEventDelay - return - void arguments @@ -10699,8 +10873,7 @@ llModifyLand - return - void + arguments @@ -10746,7 +10919,6 @@ type integer - @@ -10762,8 +10934,6 @@ llMoveToTarget - return - void arguments @@ -10788,8 +10958,7 @@ sleep 0.2 - return - void + arguments @@ -10836,8 +11005,6 @@ llOwnerSay - return - void arguments @@ -10855,8 +11022,7 @@ sleep 2.0 - return - void + arguments @@ -10955,8 +11121,7 @@ llParticleSystem - return - void + arguments @@ -10972,8 +11137,6 @@ llPassCollisions - return - void arguments @@ -10991,8 +11154,6 @@ llPassTouches - return - void arguments @@ -11010,8 +11171,7 @@ llPlaySound - return - void + arguments @@ -11034,8 +11194,6 @@ llPlaySoundSlave - return - void arguments @@ -11084,8 +11242,6 @@ sleep 1.0 - return - void arguments @@ -11101,8 +11257,6 @@ llPushObject - return - void arguments @@ -11141,8 +11295,6 @@ sleep 20.0 - return - void arguments tooltip @@ -11150,8 +11302,6 @@ llRegionSay - return - void arguments @@ -11178,8 +11328,6 @@ llRegionSayTo - return - void arguments @@ -11217,8 +11365,7 @@ deprecated true - return - void + arguments @@ -11234,8 +11381,6 @@ llReleaseControls - return - void arguments tooltip @@ -11243,9 +11388,6 @@ llReleaseURL - - return - void arguments @@ -11267,8 +11409,6 @@ true sleep 3.0 - return - void arguments @@ -11311,8 +11451,6 @@ sleep 3.0 - return - void arguments @@ -11366,8 +11504,6 @@ llRemoveFromLandBanList - return - void arguments @@ -11383,8 +11519,7 @@ llRemoveFromLandPassList - return - void + arguments @@ -11400,8 +11535,6 @@ llRemoveInventory - return - void arguments @@ -11417,8 +11550,7 @@ llRemoveVehicleFlags - return - void + arguments @@ -11498,8 +11630,6 @@ llRequestPermissions - return - void arguments @@ -11583,8 +11713,6 @@ llResetAnimationOverride - return - void arguments @@ -11601,8 +11729,7 @@ llResetLandBanList - return - void + arguments tooltip @@ -11610,8 +11737,6 @@ llResetLandPassList - return - void arguments tooltip @@ -11619,8 +11744,6 @@ llResetOtherScript - return - void arguments @@ -11636,8 +11759,7 @@ llResetScript - return - void + arguments tooltip @@ -11645,8 +11767,6 @@ llResetTime - return - void arguments tooltip @@ -11701,8 +11821,7 @@ sleep 0.1 - return - void + arguments @@ -11717,7 +11836,6 @@ type vector - @@ -11749,8 +11867,6 @@ sleep 0.1 - return - void arguments @@ -11898,8 +12014,6 @@ sleep 0.2 - return - void arguments @@ -11946,9 +12060,6 @@ llRotLookAt - - return - void arguments @@ -12002,8 +12113,7 @@ llRotTargetRemove - return - void + arguments @@ -12053,8 +12163,6 @@ llSay - return - void arguments @@ -12102,8 +12210,6 @@ sleep 0.2 - return - void arguments @@ -12151,8 +12257,7 @@ llScriptProfiler - return - void + arguments @@ -12212,8 +12317,6 @@ llSensor - return - void arguments @@ -12267,8 +12370,6 @@ llSensorRemove - return - void arguments tooltip @@ -12276,8 +12377,6 @@ llSensorRepeat - return - void arguments @@ -12340,8 +12439,6 @@ llSetAlpha - return - void arguments @@ -12364,8 +12461,6 @@ llSetAngularVelocity - return - void arguments @@ -12392,8 +12487,6 @@ llSetAnimationOverride - return - void arguments @@ -12416,8 +12509,7 @@ llSetBuoyancy - return - void + arguments @@ -12433,8 +12525,6 @@ llSetCameraAtOffset - return - void arguments @@ -12450,8 +12540,7 @@ llSetCameraEyeOffset - return - void + arguments @@ -12468,8 +12557,6 @@ llSetCameraParams - return - void arguments @@ -12485,8 +12572,7 @@ llSetClickAction - return - void + arguments @@ -12504,8 +12590,6 @@ llSetColor - return - void arguments @@ -12528,8 +12612,6 @@ llSetContentType - return - void arguments @@ -12556,8 +12638,6 @@ llSetDamage - return - void arguments @@ -12574,8 +12654,7 @@ llSetForce - return - void + arguments @@ -12602,8 +12681,6 @@ llSetForceAndTorque - return - void arguments @@ -12639,8 +12716,6 @@ llSetHoverHeight - return - void arguments @@ -12678,8 +12753,6 @@ god-mode true - return - void arguments @@ -12715,8 +12788,7 @@ llSetKeyframedMotion - return - void + arguments @@ -12742,8 +12814,7 @@ llSetLinkAlpha - return - void + arguments @@ -12773,8 +12844,6 @@ llSetLinkCamera - return - void arguments @@ -12810,8 +12879,6 @@ llSetLinkColor - return - void arguments @@ -12886,8 +12953,6 @@ sleep 0.2 - return - void arguments @@ -12913,8 +12978,6 @@ llSetLinkPrimitiveParamsFast - return - void arguments @@ -12941,8 +13004,7 @@ sleep 0.2 - return - void + arguments @@ -12972,8 +13034,6 @@ llSetLinkTextureAnim - return - void arguments @@ -13056,8 +13116,6 @@ sleep 0.2 - return - void arguments @@ -13093,9 +13151,6 @@ llSetObjectDesc - - return - void arguments @@ -13111,8 +13166,6 @@ llSetObjectName - return - void arguments @@ -13130,8 +13183,7 @@ god-mode true - return - void + arguments @@ -13160,8 +13212,6 @@ sleep 2.0 - return - void arguments @@ -13177,8 +13227,6 @@ llSetPayPrice - return - void arguments @@ -13205,10 +13253,6 @@ llSetPhysicsMaterial - energy - 0.0 - return - void arguments @@ -13256,8 +13300,6 @@ sleep 0.2 - return - void arguments @@ -13277,8 +13319,6 @@ sleep 0.2 - return - void arguments @@ -13330,8 +13370,7 @@ true sleep 20.0 - return - void + arguments @@ -13347,8 +13386,6 @@ llSetRegionPos - energy - 0.0 return integer arguments @@ -13370,8 +13407,6 @@ sleep 0.2 - return - void arguments @@ -13389,8 +13424,7 @@ sleep 0.2 - return - void + arguments @@ -13406,8 +13440,6 @@ llSetScale - return - void arguments @@ -13424,8 +13456,7 @@ llSetScriptState - return - void + arguments @@ -13448,8 +13479,6 @@ llSetSitText - return - void arguments @@ -13465,8 +13494,7 @@ llSetSoundQueueing - return - void + arguments @@ -13484,8 +13512,7 @@ llSetSoundRadius - return - void + arguments @@ -13503,8 +13530,6 @@ llSetStatus - return - void arguments @@ -13527,8 +13552,7 @@ llSetText - return - void + arguments @@ -13560,8 +13584,7 @@ sleep 0.2 - return - void + arguments @@ -13584,8 +13607,6 @@ llSetTextureAnim - return - void arguments @@ -13657,8 +13678,7 @@ llSetTimerEvent - return - void + arguments @@ -13674,8 +13694,6 @@ llSetTorque - return - void arguments @@ -13702,8 +13720,6 @@ llSetTouchText - return - void arguments @@ -13721,8 +13737,7 @@ llSetVehicleFlags - return - void + arguments @@ -13739,8 +13754,6 @@ llSetVehicleFloatParam - return - void arguments @@ -13763,8 +13776,7 @@ llSetVehicleRotationParam - return - void + arguments @@ -13787,8 +13799,7 @@ llSetVehicleType - return - void + arguments @@ -13804,8 +13815,6 @@ llSetVehicleVectorParam - return - void arguments @@ -13828,8 +13837,7 @@ llSetVelocity - return - void + arguments @@ -13873,8 +13881,6 @@ llShout - return - void arguments @@ -13914,8 +13920,6 @@ llSitTarget - return - void arguments @@ -13938,8 +13942,6 @@ llSleep - return - void arguments @@ -13957,8 +13959,7 @@ deprecated true - return - void + arguments @@ -13997,8 +13998,7 @@ deprecated true - return - void + arguments @@ -14031,8 +14031,7 @@ llStartAnimation - return - void + arguments @@ -14048,8 +14047,6 @@ llStopAnimation - return - void arguments @@ -14065,8 +14062,7 @@ llStopHover - return - void + arguments tooltip @@ -14074,8 +14070,6 @@ llStopLookAt - return - void arguments tooltip @@ -14083,8 +14077,7 @@ llStopMoveToTarget - return - void + arguments tooltip @@ -14092,8 +14085,7 @@ llStopSound - return - void + arguments tooltip @@ -14189,8 +14181,6 @@ deprecated true - return - void arguments @@ -14206,8 +14196,6 @@ llTakeControls - return - void arguments @@ -14284,9 +14272,6 @@ llTargetOmega - - return - void arguments @@ -14316,8 +14301,6 @@ llTargetRemove - return - void arguments @@ -14333,8 +14316,7 @@ llTeleportAgent - return - void + arguments @@ -14379,8 +14361,6 @@ llTeleportAgentGlobalCoords - return - void arguments @@ -14427,8 +14407,6 @@ sleep 5.0 - return - void arguments @@ -14446,8 +14424,7 @@ sleep 1.0 - return - void + arguments @@ -14535,8 +14512,7 @@ llTriggerSound - return - void + arguments @@ -14560,8 +14536,6 @@ llTriggerSoundLimited - return - void arguments @@ -14615,8 +14589,7 @@ llUnSit - return - void + arguments @@ -14690,9 +14663,6 @@ llVolumeDetect - - return - void arguments @@ -14727,8 +14697,7 @@ llWhisper - return - void + arguments @@ -14886,13 +14855,35 @@ tooltip Creates a notecard with the specified avatar's current appearance inside the object - osTest + osAvatarName2Key return key arguments + firstname + + type + string + + + + lastname + + type + string + + + + tooltip + Returns the avatar's key + + osTest + + arguments + + AvatarID type -- cgit v1.1 From 94a5e5b9b7b838a9ce0caf4439fb9a8ac64f153f Mon Sep 17 00:00:00 2001 From: lickx Date: Sun, 7 Oct 2018 14:46:19 +0200 Subject: Add non-transparent water asset Used by all viewers when 'Transparent Water' is unchecked in the viewer prefs Signed-off-by: UbitUmarov --- .../43c32285-d658-1793-c123-bf86315de055.jp2 | Bin 0 -> 24347 bytes bin/assets/TexturesAssetSet/TexturesAssetSet.xml | 8 ++++++++ 2 files changed, 8 insertions(+) create mode 100644 bin/assets/TexturesAssetSet/43c32285-d658-1793-c123-bf86315de055.jp2 (limited to 'bin') diff --git a/bin/assets/TexturesAssetSet/43c32285-d658-1793-c123-bf86315de055.jp2 b/bin/assets/TexturesAssetSet/43c32285-d658-1793-c123-bf86315de055.jp2 new file mode 100644 index 0000000..e9906a0 Binary files /dev/null and b/bin/assets/TexturesAssetSet/43c32285-d658-1793-c123-bf86315de055.jp2 differ diff --git a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml index 6994822..ab07419 100644 --- a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml +++ b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml @@ -771,4 +771,12 @@
+ +
+ + + + +
+ -- cgit v1.1 From fdb4fb3f3f474ec016dddca64797420eee639c04 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 21 Oct 2018 17:53:02 +0100 Subject: update script syntax --- bin/ScriptSyntax.xml | 4336 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 4293 insertions(+), 43 deletions(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index cbe9130..17362fa 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,3 +1,4 @@ +llsd-lsl-syntax-version2 controls @@ -9996,7 +9997,6 @@ llLinkParticleSystem - arguments @@ -10023,7 +10023,6 @@ llLinkSitTarget - arguments @@ -10692,7 +10691,6 @@ llLoopSoundMaster - arguments @@ -10849,7 +10847,6 @@ type key - @@ -10873,7 +10870,6 @@ llModifyLand - arguments @@ -10911,7 +10907,6 @@ type integer - @@ -10958,7 +10953,6 @@ sleep 0.2 - arguments @@ -11022,7 +11016,6 @@ sleep 2.0 - arguments @@ -11171,7 +11164,6 @@ llPlaySound - arguments @@ -11720,7 +11712,6 @@ type string - @@ -11821,7 +11812,6 @@ sleep 0.1 - arguments @@ -12572,7 +12562,6 @@ llSetClickAction - arguments @@ -12805,7 +12794,6 @@ type list - @@ -13004,7 +12992,6 @@ sleep 0.2 - arguments @@ -14316,7 +14303,6 @@ llTeleportAgent - arguments @@ -14512,7 +14498,6 @@ llTriggerSound - arguments @@ -14589,7 +14574,6 @@ llUnSit - arguments @@ -14831,74 +14815,4340 @@ tooltip Returns the largest multiplicative uniform scale factor that can be successfully applied (via llScaleByFactor()) to the object without violating prim size or linkability rules. + cmDetectedCountry + + return + string + arguments + + + number + + type + integer + + + + + cmGetAgentCountry + + return + string + arguments + + + key + + type + string + + + + + lsClearWindlightScene + + arguments + + + lsGetWindlightScene + + return + list + arguments + + + rules + + type + list + + + + + lsSetWindlightScene + + return + integer + arguments + + + rules + + type + list + + + + + lsSetWindlightSceneTargeted + + return + integer + arguments + + + rules + + type + list + + + + target + + type + string + + + + + osAdjustSoundVolume + + arguments + + + linknum + + type + integer + + + + volume + + type + float + + + + osAgentSaveAppearance return - key + string arguments - AvatarID - + avatarId + type - key - + string + notecard - + type string - + + + + + osAngleBetween + + return + float + arguments + + + a + + type + vector + + + + b + + type + vector + - tooltip - Creates a notecard with the specified avatar's current appearance inside the object osAvatarName2Key return - key + string arguments firstname - + type string - + lastname - + type string - + - tooltip - Returns the avatar's key - osTest + osAvatarPlayAnimation arguments - AvatarID - + avatar + type - key - + string + - notecard - + animation + type string - + - tooltip - dummy to test lslsyntax + + osAvatarStopAnimation + + arguments + + + avatar + + type + string + + + + animation + + type + string + + + + + osCauseDamage + + arguments + + + avatar + + type + string + + + + damage + + type + float + + + + + osCauseHealing + + arguments + + + avatar + + type + string + + + + healing + + type + float + + + + + osCheckODE + + return + integer + arguments + + + osClearInertia + + arguments + + + osCollisionSound + + arguments + + + impact_sound + + type + string + + + + impact_volume + + type + float + + + + + osConsoleCommand + + return + integer + arguments + + + command + + type + string + + + + + osDie + + arguments + + + objectUUID + + type + string + + + + + osDrawEllipse + + return + string + arguments + + + drawList + + type + string + + + + width + + type + integer + + + + height + + type + integer + + + + + osDrawFilledEllipse + + return + string + arguments + + + drawList + + type + string + + + + width + + type + integer + + + + height + + type + integer + + + + + osDrawFilledPolygon + + return + string + arguments + + + drawList + + type + string + + + + x + + type + list + + + + y + + type + list + + + + + osDrawFilledRectangle + + return + string + arguments + + + drawList + + type + string + + + + width + + type + integer + + + + height + + type + integer + + + + + osDrawImage + + return + string + arguments + + + drawList + + type + string + + + + width + + type + integer + + + + height + + type + integer + + + + imageUrl + + type + string + + + + + osDrawLine + + return + string + arguments + + + drawList + + type + string + + + + startX + + type + integer + + + + startY + + type + integer + + + + endX + + type + integer + + + + endY + + type + integer + + + + + osDrawLine + + return + string + arguments + + + drawList + + type + string + + + + endX + + type + integer + + + + endY + + type + integer + + + + + osDrawPolygon + + return + string + arguments + + + drawList + + type + string + + + + x + + type + list + + + + y + + type + list + + + + + osDrawRectangle + + return + string + arguments + + + drawList + + type + string + + + + width + + type + integer + + + + height + + type + integer + + + + + osDrawResetTransform + + return + string + arguments + + + drawList + + type + string + + + + + osDrawRotationTransform + + return + string + arguments + + + drawList + + type + string + + + + x + + type + float + + + + + osDrawScaleTransform + + return + string + arguments + + + drawList + + type + string + + + + x + + type + float + + + + y + + type + float + + + + + osDrawText + + return + string + arguments + + + drawList + + type + string + + + + text + + type + string + + + + + osDrawTranslationTransform + + return + string + arguments + + + drawList + + type + string + + + + x + + type + float + + + + y + + type + float + + + + + osDropAttachment + + arguments + + + osDropAttachmentAt + + arguments + + + pos + + type + vector + + + + rot + + type + rotation + + + + + osEjectFromGroup + + return + integer + arguments + + + agentId + + type + string + + + + + osForceAttachToAvatar + + arguments + + + attachmentPoint + + type + integer + + + + + osForceAttachToAvatarFromInventory + + arguments + + + itemName + + type + string + + + + attachmentPoint + + type + integer + + + + + osForceAttachToOtherAvatarFromInventory + + arguments + + + rawAvatarId + + type + string + + + + itemName + + type + string + + + + attachmentPoint + + type + integer + + + + + osForceBreakAllLinks + + arguments + + + osForceBreakLink + + arguments + + + linknum + + type + integer + + + + + osForceCreateLink + + arguments + + + target + + type + string + + + + parent + + type + integer + + + + + osForceDetachFromAvatar + + arguments + + + osForceDropAttachment + + arguments + + + osForceDropAttachmentAt + + arguments + + + pos + + type + vector + + + + rot + + type + rotation + + + + + osForceOtherSit + + arguments + + + avatar + + type + string + + + + + osForceOtherSit + + arguments + + + avatar + + type + string + + + + target + + type + string + + + + + osFormatString + + return + string + arguments + + + str + + type + string + + + + strings + + type + list + + + + + osGetAgentIP + + return + string + arguments + + + agent + + type + string + + + + + osGetAgents + + return + list + arguments + + + osGetAvatarHomeURI + + return + string + arguments + + + uuid + + type + string + + + + + osGetAvatarList + + return + list + arguments + + + osGetCurrentSunHour + + return + float + arguments + + + osGetDrawStringSize + + return + vector + arguments + + + contentType + + type + string + + + + text + + type + string + + + + fontName + + type + string + + + + fontSize + + type + integer + + + + + osGetGender + + return + string + arguments + + + rawAvatarId + + type + string + + + + + osGetGridCustom + + return + string + arguments + + + key + + type + string + + + + + osGetGridGatekeeperURI + + return + string + arguments + + + osGetGridHomeURI + + return + string + arguments + + + osGetGridLoginURI + + return + string + arguments + + + osGetGridName + + return + string + arguments + + + osGetGridNick + + return + string + arguments + + + osGetHealRate + + return + float + arguments + + + avatar + + type + string + + + + + osGetHealth + + return + float + arguments + + + avatar + + type + string + + + + + osGetInertiaData + + return + list + arguments + + + osGetInventoryDesc + + return + string + arguments + + + item + + type + string + + + + + osGetLinkNumber + + return + integer + arguments + + + name + + type + string + + + + + osGetLinkPrimitiveParams + + return + list + arguments + + + linknumber + + type + integer + + + + rules + + type + list + + + + + osGetMapTexture + + return + string + arguments + + + osGetNotecard + + return + string + arguments + + + name + + type + string + + + + + osGetNotecardLine + + return + string + arguments + + + name + + type + string + + + + line + + type + integer + + + + + osGetNPCList + + return + list + arguments + + + osGetNumberOfAttachments + + return + list + arguments + + + avatar + + type + string + + + + attachmentPoints + + type + list + + + + + osGetNumberOfNotecardLines + + return + integer + arguments + + + name + + type + string + + + + + osGetPhysicsEngineName + + return + string + arguments + + + osGetPhysicsEngineType + + return + string + arguments + + + osGetPrimitiveParams + + return + list + arguments + + + prim + + type + string + + + + rules + + type + list + + + + + osGetRegionMapTexture + + return + string + arguments + + + regionName + + type + string + + + + + osGetRegionSize + + return + vector + arguments + + + osGetRegionStats + + return + list + arguments + + + osGetRezzingObject + + return + string + arguments + + + osGetScriptEngineName + + return + string + arguments + + + osGetSimulatorMemory + + return + integer + arguments + + + osGetSimulatorMemoryKB + + return + integer + arguments + + + osGetSimulatorVersion + + return + string + arguments + + + osGetSunParam + + return + float + arguments + + + param + + type + string + + + + + osGetTerrainHeight + + return + float + arguments + + + x + + type + integer + + + + y + + type + integer + + + + + osGetWindParam + + return + float + arguments + + + plugin + + type + string + + + + param + + type + string + + + + + osInviteToGroup + + return + integer + arguments + + + agentId + + type + string + + + + + osIsNpc + + return + integer + arguments + + + npc + + type + string + + + + + osIsUUID + + return + integer + arguments + + + thing + + type + string + + + + + osKey2Name + + return + string + arguments + + + id + + type + string + + + + + osKickAvatar + + arguments + + + FirstName + + type + string + + + + SurName + + type + string + + + + alert + + type + string + + + + + osList2Double + + return + float + arguments + + + src + + type + list + + + + index + + type + integer + + + + + osListenRegex + + return + integer + arguments + + + channelID + + type + integer + + + + name + + type + string + + + + ID + + type + string + + + + msg + + type + string + + + + regexBitfield + + type + integer + + + + + osLoadedCreationDate + + return + string + arguments + + + osLoadedCreationID + + return + string + arguments + + + osLoadedCreationTime + + return + string + arguments + + + osLoopSound + + arguments + + + linknum + + type + integer + + + + sound + + type + string + + + + volume + + type + float + + + + + osLoopSoundMaster + + arguments + + + linknum + + type + integer + + + + sound + + type + string + + + + volume + + type + float + + + + + osLoopSoundSlave + + arguments + + + linknum + + type + integer + + + + sound + + type + string + + + + volume + + type + float + + + + + osMakeNotecard + + arguments + + + notecardName + + type + string + + + + contents + + type + list + + + + + osMatchString + + return + list + arguments + + + src + + type + string + + + + pattern + + type + string + + + + start + + type + integer + + + + + osMax + + return + float + arguments + + + a + + type + float + + + + b + + type + float + + + + + osMessageAttachments + + arguments + + + avatar + + type + string + + + + message + + type + string + + + + attachmentPoints + + type + list + + + + options + + type + integer + + + + + osMessageObject + + arguments + + + objectUUID + + type + string + + + + message + + type + string + + + + + osMin + + return + float + arguments + + + a + + type + float + + + + b + + type + float + + + + + osMovePen + + return + string + arguments + + + drawList + + type + string + + + + x + + type + integer + + + + y + + type + integer + + + + + osNpcCreate + + return + string + arguments + + + firstname + + type + string + + + + lastname + + type + string + + + + position + + type + vector + + + + notecard + + type + string + + + + options + + type + integer + + + + + osNpcCreate + + return + string + arguments + + + firstname + + type + string + + + + lastname + + type + string + + + + position + + type + vector + + + + notecard + + type + string + + + + + osNpcGetOwner + + return + string + arguments + + + npc + + type + string + + + + + osNpcGetPos + + return + vector + arguments + + + npc + + type + string + + + + + osNpcGetRot + + return + rotation + arguments + + + npc + + type + string + + + + + osNpcLoadAppearance + + arguments + + + npc + + type + string + + + + notecard + + type + string + + + + + osNpcMoveTo + + arguments + + + npc + + type + string + + + + pos + + type + vector + + + + + osNpcMoveToTarget + + arguments + + + npc + + type + string + + + + target + + type + vector + + + + options + + type + integer + + + + + osNpcPlayAnimation + + arguments + + + npc + + type + string + + + + animation + + type + string + + + + + osNpcRemove + + arguments + + + npc + + type + string + + + + + osNpcSaveAppearance + + return + string + arguments + + + npc + + type + string + + + + notecard + + type + string + + + + + osNpcSay + + arguments + + + npc + + type + string + + + + message + + type + string + + + + + osNpcSay + + arguments + + + npc + + type + string + + + + channel + + type + integer + + + + message + + type + string + + + + + osNpcSetProfileAbout + + arguments + + + npc + + type + string + + + + about + + type + string + + + + + osNpcSetProfileImage + + arguments + + + npc + + type + string + + + + image + + type + string + + + + + osNpcSetRot + + arguments + + + npc + + type + string + + + + rotation + + type + rotation + + + + + osNpcShout + + arguments + + + npc + + type + string + + + + channel + + type + integer + + + + message + + type + string + + + + + osNpcSit + + arguments + + + npc + + type + string + + + + target + + type + string + + + + options + + type + integer + + + + + osNpcStand + + arguments + + + npc + + type + string + + + + + osNpcStopAnimation + + arguments + + + npc + + type + string + + + + animation + + type + string + + + + + osNpcStopMoveToTarget + + arguments + + + npc + + type + string + + + + + osNpcTouch + + arguments + + + npcLSL_Key + + type + string + + + + object_key + + type + string + + + + link_num + + type + integer + + + + + osNpcWhisper + + arguments + + + npc + + type + string + + + + channel + + type + integer + + + + message + + type + string + + + + + osOwnerSaveAppearance + + return + string + arguments + + + notecard + + type + string + + + + + osParcelJoin + + arguments + + + pos1 + + type + vector + + + + pos2 + + type + vector + + + + + osParcelSetDetails + + arguments + + + pos + + type + vector + + + + rules + + type + list + + + + + osParcelSubdivide + + arguments + + + pos1 + + type + vector + + + + pos2 + + type + vector + + + + + osParseJSON + + arguments + + + JSON + + type + string + + + + + osParseJSONNew + + arguments + + + JSON + + type + string + + + + + osPlaySound + + arguments + + + linknum + + type + integer + + + + sound + + type + string + + + + volume + + type + float + + + + + osPlaySoundSlave + + arguments + + + linknum + + type + integer + + + + sound + + type + string + + + + volume + + type + float + + + + + osPreloadSound + + arguments + + + linknum + + type + integer + + + + sound + + type + string + + + + + osRegexIsMatch + + return + integer + arguments + + + input + + type + string + + + + pattern + + type + string + + + + + osRegionNotice + + arguments + + + msg + + type + string + + + + + osRegionNotice + + arguments + + + agentID + + type + string + + + + msg + + type + string + + + + + osRegionRestart + + return + integer + arguments + + + seconds + + type + float + + + + + osRegionRestart + + return + integer + arguments + + + seconds + + type + float + + + + msg + + type + string + + + + + osReplaceString + + return + string + arguments + + + src + + type + string + + + + pattern + + type + string + + + + replace + + type + string + + + + count + + type + integer + + + + start + + type + integer + + + + + osRequestSecureURL + + return + string + arguments + + + options + + type + list + + + + + osRequestURL + + return + string + arguments + + + options + + type + list + + + + + osRound + + return + float + arguments + + + value + + type + float + + + + ndigits + + type + integer + + + + + osSetContentType + + arguments + + + id + + type + string + + + + type + + type + string + + + + + osSetDynamicTextureData + + return + string + arguments + + + dynamicID + + type + string + + + + contentType + + type + string + + + + data + + type + string + + + + extraParams + + type + string + + + + timer + + type + integer + + + + + osSetDynamicTextureDataBlend + + return + string + arguments + + + dynamicID + + type + string + + + + contentType + + type + string + + + + data + + type + string + + + + extraParams + + type + string + + + + timer + + type + integer + + + + alpha + + type + integer + + + + + osSetDynamicTextureDataBlendFace + + return + string + arguments + + + dynamicID + + type + string + + + + contentType + + type + string + + + + data + + type + string + + + + extraParams + + type + string + + + + blend + + type + integer + + + + disp + + type + integer + + + + timer + + type + integer + + + + alpha + + type + integer + + + + face + + type + integer + + + + + osSetDynamicTextureDataFace + + return + string + arguments + + + dynamicID + + type + string + + + + contentType + + type + string + + + + data + + type + string + + + + extraParams + + type + string + + + + timer + + type + integer + + + + face + + type + integer + + + + + osSetDynamicTextureURL + + return + string + arguments + + + dynamicID + + type + string + + + + contentType + + type + string + + + + url + + type + string + + + + extraParams + + type + string + + + + timer + + type + integer + + + + + osSetDynamicTextureURLBlend + + return + string + arguments + + + dynamicID + + type + string + + + + contentType + + type + string + + + + url + + type + string + + + + extraParams + + type + string + + + + timer + + type + integer + + + + alpha + + type + integer + + + + + osSetDynamicTextureURLBlendFace + + return + string + arguments + + + dynamicID + + type + string + + + + contentType + + type + string + + + + url + + type + string + + + + extraParams + + type + string + + + + blend + + type + integer + + + + disp + + type + integer + + + + timer + + type + integer + + + + alpha + + type + integer + + + + face + + type + integer + + + + + osSetEstateSunSettings + + arguments + + + sunFixed + + type + integer + + + + sunHour + + type + float + + + + + osSetFontName + + return + string + arguments + + + drawList + + type + string + + + + fontName + + type + string + + + + + osSetFontSize + + return + string + arguments + + + drawList + + type + string + + + + fontSize + + type + integer + + + + + osSetHealRate + + arguments + + + avatar + + type + string + + + + healrate + + type + float + + + + + osSetHealth + + arguments + + + avatar + + type + string + + + + health + + type + float + + + + + osSetInertia + + arguments + + + mass + + type + float + + + + centerOfMass + + type + vector + + + + principalInertiaScaled + + type + vector + + + + lslrot + + type + rotation + + + + + osSetInertiaAsBox + + arguments + + + mass + + type + float + + + + boxSize + + type + vector + + + + centerOfMass + + type + vector + + + + lslrot + + type + rotation + + + + + osSetInertiaAsCylinder + + arguments + + + mass + + type + float + + + + radius + + type + float + + + + lenght + + type + float + + + + centerOfMass + + type + vector + + + + lslrot + + type + rotation + + + + + osSetInertiaAsSphere + + arguments + + + mass + + type + float + + + + radius + + type + float + + + + centerOfMass + + type + vector + + + + + osSetOwnerSpeed + + arguments + + + SpeedModifier + + type + float + + + + + osSetParcelDetails + + arguments + + + pos + + type + vector + + + + rules + + type + list + + + + + osSetParcelMediaURL + + arguments + + + url + + type + string + + + + + osSetParcelSIPAddress + + arguments + + + SIPAddress + + type + string + + + + + osSetPenCap + + return + string + arguments + + + drawList + + type + string + + + + direction + + type + string + + + + type + + type + string + + + + + osSetPenColor + + return + string + arguments + + + drawList + + type + string + + + + color + + type + string + + + + + osSetPenColour + + return + string + arguments + + + drawList + + type + string + + + + colour + + type + string + + + + + osSetPenSize + + return + string + arguments + + + drawList + + type + string + + + + penSize + + type + integer + + + + + osSetPrimFloatOnWater + + arguments + + + floatYN + + type + integer + + + + + osSetPrimitiveParams + + arguments + + + prim + + type + string + + + + rules + + type + list + + + + + osSetProjectionParams + + arguments + + + projection + + type + integer + + + + texture + + type + string + + + + fov + + type + float + + + + focus + + type + float + + + + amb + + type + float + + + + + osSetProjectionParams + + arguments + + + prim + + type + string + + + + projection + + type + integer + + + + texture + + type + string + + + + fov + + type + float + + + + focus + + type + float + + + + amb + + type + float + + + + + osSetRegionSunSettings + + arguments + + + useEstateSun + + type + integer + + + + sunFixed + + type + integer + + + + sunHour + + type + float + + + + + osSetRegionWaterHeight + + arguments + + + height + + type + float + + + + + osSetRot + + arguments + + + target + + type + + + + + rotation + + type + rotation + + + + + osSetSoundRadius + + arguments + + + linknum + + type + integer + + + + radius + + type + float + + + + + osSetSpeed + + arguments + + + ID + + type + string + + + + SpeedModifier + + type + float + + + + + osSetStateEvents + + arguments + + + events + + type + integer + + + + + osSetSunParam + + arguments + + + param + + type + string + + + + value + + type + float + + + + + osSetTerrainHeight + + return + integer + arguments + + + x + + type + integer + + + + y + + type + integer + + + + val + + type + float + + + + + osSetTerrainTexture + + arguments + + + level + + type + integer + + + + texture + + type + string + + + + + osSetTerrainTextureHeight + + arguments + + + corner + + type + integer + + + + low + + type + float + + + + high + + type + float + + + + + osSetWindParam + + arguments + + + plugin + + type + string + + + + param + + type + string + + + + value + + type + float + + + + + osStopSound + + arguments + + + linknum + + type + integer + + + + + osSunGetParam + + return + float + arguments + + + param + + type + string + + + + + osSunSetParam + + arguments + + + param + + type + string + + + + value + + type + float + + + + + osTeleportAgent + + arguments + + + agent + + type + string + + + + regionGridX + + type + integer + + + + regionGridY + + type + integer + + + + position + + type + vector + + + + lookat + + type + vector + + + + + osTeleportAgent + + arguments + + + agent + + type + string + + + + regionName + + type + string + + + + position + + type + vector + + + + lookat + + type + vector + + + + + osTeleportAgent + + arguments + + + agent + + type + string + + + + position + + type + vector + + + + lookat + + type + vector + + + + + osTeleportObject + + return + integer + arguments + + + objectUUID + + type + string + + + + targetPos + + type + vector + + + + rotation + + type + rotation + + + + flags + + type + integer + + + + + osTeleportOwner + + arguments + + + position + + type + vector + + + + lookat + + type + vector + + + + + osTeleportOwner + + arguments + + + regionGridX + + type + integer + + + + regionGridY + + type + integer + + + + position + + type + vector + + + + lookat + + type + vector + + + + + osTeleportOwner + + arguments + + + regionName + + type + string + + + + position + + type + vector + + + + lookat + + type + vector + + + + + osTerrainFlush + + arguments + + + osTerrainGetHeight + + return + float + arguments + + + x + + type + integer + + + + y + + type + integer + + + + + osTerrainSetHeight + + return + integer + arguments + + + x + + type + integer + + + + y + + type + integer + + + + val + + type + float + + + + + osTriggerSound + + arguments + + + linknum + + type + integer + + + + sound + + type + string + + + + volume + + type + float + + + + + osTriggerSoundLimited + + arguments + + + linknum + + type + integer + + + + sound + + type + string + + + + volume + + type + float + + + + top_north_east + + type + vector + + + + bottom_south_west + + type + vector + + + + + osUnixTimeToTimestamp + + return + string + arguments + + + time + + type + integer + + + + + osVecDistSquare + + return + float + arguments + + + a + + type + vector + + + + b + + type + vector + + + + + osVecMagSquare + + return + float + arguments + + + a + + type + vector + + + + + osVolumeDetect + + arguments + + + detect + + type + integer + + + + + osWindActiveModelPluginName + + return + string + arguments + + \ No newline at end of file -- cgit v1.1 From 050d53fe5bb8b4b266badf6fc5cdaebfb9320a2b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 22 Oct 2018 02:18:55 +0100 Subject: fix opensim.ini.examplewq coments on mutes module --- bin/OpenSim.ini.example | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 2b241f5..b2299f9 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -730,19 +730,10 @@ ; StorageProvider = OpenSim.Data.MySQL.dll ; Mute list handler - ; the provided MuteListModule is just a Dummy - ; you will need a external module for proper suport. - ; if you keep both 2 following settings comment, viewers will use mutes in their caches - ; if you uncoment both (url is ignored) the mutes will be deleted at login on this instance regions - ; WARNING: viewers mutes cache seems to shared by all grids, including SL - ; this may cause some confusion. - ;# {MuteListModule} {MuteListModule:MuteListModule} {} {} None + ; Disabled by default ; MuteListModule = MuteListModule - ;# {MuteListURL} {MuteListModule:MuteListModule} {} {} http://yourserver/Mute.php - ; MuteListURL = http://yourserver/Mute.php - ;; Control whether group invites and notices are stored for offline users. ;; Default is true. ;; This applies to both core groups module. -- cgit v1.1 From d842f835a6c74e14175e26277ec3fb1c4d6b30ea Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 23 Oct 2018 10:27:09 +0100 Subject: remove ThrottlePer100PrimsRezzed option, do not delay attachments with thread.sleep --- bin/OpenSimDefaults.ini | 6 ------ 1 file changed, 6 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index e821c1a..6429faf 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -947,12 +947,6 @@ ; Defaults to true - only set to false for debugging purposes Enabled = true - ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments - ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit - ; or when multiple avatars with medium level attachments login/change outfit simultaneously. - ; If 0 then no throttling is performed. - ThrottlePer100PrimsRezzed = 0 - [Mesh] ; enable / disable mesh asset uploads -- cgit v1.1 From 82a0fa7dfe0d4e386d2269a27b1d72190ad79ee9 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 24 Oct 2018 17:29:31 +0100 Subject: update script syntax file --- bin/ScriptSyntax.xml | 16891 +++++++++++++------------------------------------ 1 file changed, 4335 insertions(+), 12556 deletions(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index 17362fa..4efa118 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -6594,12561 +6594,4340 @@ functions - llAbs - - return - integer - arguments - - - Value - - type - integer - tooltip - An integer value. - - - - tooltip - Returns the absolute (positive) version of Value. - - llAcos - - return - float - arguments - - - Value - - type - float - tooltip - A floating-point value. - - - - tooltip - Returns the arc-cosine of Value, in radians. - - llAddToLandBanList - - arguments - - - ID - - type - key - tooltip - Agent UUID to add to ban-list. - - - - Hours - - type - float - tooltip - Period, in hours, to ban the avatar for. - - - - tooltip - Add avatar ID to the parcel ban list for the specified number of Hours.\nA value of 0 for Hours will add the agent indefinitely.\nThe smallest value that Hours will accept is 0.01; anything smaller will be seen as 0.\nWhen values that small are used, it seems the function bans in approximately 30 second increments (Probably 36 second increments, as 0.01 of an hour is 36 seconds).\nResidents teleporting to a parcel where they are banned will be redirected to a neighbouring parcel. - - llAddToLandPassList - - sleep - 0.1 - arguments - - - ID - - type - key - tooltip - Agent UUID to add to pass-list. - - - - Hours - - type - float - tooltip - Period, in hours, to allow the avatar for. - - - - tooltip - Add avatar ID to the land pass list, for a duration of Hours. - - llAdjustSoundVolume - - sleep - 0.1 - arguments - - - Volume - - type - float - tooltip - The volume to set. - - - - tooltip - Adjusts the volume (0.0 - 1.0) of the currently playing attached sound.\nThis function has no effect on sounds started with llTriggerSound. - - llAllowInventoryDrop - - arguments - - - Flag - - type - integer - tooltip - Boolean, If TRUE allows anyone to drop inventory on prim, FALSE revokes. - - - - tooltip - If Flag == TRUE, users without object modify permissions can still drop inventory items into the object. - - llAngleBetween - - return - float - arguments - - - Rot1 - - type - rotation - tooltip - First rotation. - - - - Rot2 - - type - rotation - tooltip - Second rotation. - - - - tooltip - Returns the angle, in radians, between rotations Rot1 and Rot2. - - llApplyImpulse - - - arguments - - - Force - - type - vector - tooltip - Amount of impulse force to apply. - - - - Local - - type - integer - tooltip - Boolean, if TRUE, force is treated as a local directional vector instead of region directional vector. - - - - tooltip - Applies impulse to the object.\nIf Local == TRUE, apply the Force in local coordinates; otherwise, apply the Force in global coordinates.\nThis function only works on physical objects. - - llApplyRotationalImpulse - - arguments - - - Force - - type - vector - tooltip - Amount of impulse force to apply. - - - - Local - - type - integer - tooltip - Boolean, if TRUE, uses local axis, if FALSE, uses region axis. - - - - tooltip - Applies rotational impulse to the object.\nIf Local == TRUE, apply the Force in local coordinates; otherwise, apply the Force in global coordinates.\nThis function only works on physical objects. - - llAsin - - return - float - arguments - - - Value - - type - float - - - - tooltip - Returns the arc-sine, in radians, of Value. - - llAtan2 - - return - float - arguments - - - y - - type - float - - - - x - - type - float - - - - tooltip - Returns the arc-tangent2 of y, x. - - llAttachToAvatar - - - arguments - - - AttachmentPoint - - type - integer - - - - - tooltip - Attach to avatar at point AttachmentPoint.\nRequires the PERMISSION_ATTACH runtime permission. - - llAttachToAvatarTemp - - arguments - - - AttachPoint - - type - integer - tooltip - Valid attachment point or ATTACH_* constant. - - - - tooltip - Follows the same convention as llAttachToAvatar, with the exception that the object will not create new inventory for the user, and will disappear on detach or disconnect. - - llAvatarOnLinkSitTarget - - return - key - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. - - - - tooltip - If an avatar is sitting on the link's sit target, return the avatar's key, NULL_KEY otherwise.\nReturns a key that is the UUID of the user seated on the specified link's prim. - - llAvatarOnSitTarget - - return - key - arguments - - tooltip - If an avatar is seated on the sit target, returns the avatar's key, otherwise NULL_KEY.\nThis only will detect avatars sitting on sit targets defined with llSitTarget. - - llAxes2Rot - - return - rotation - arguments - - - Forward - - type - vector - tooltip - Forward/Back part of rotation. - - - - Left - - type - vector - tooltip - Left/Right part of rotation. - - - - Up - - type - vector - tooltip - Up/Down part of rotation. - - - - tooltip - Returns the rotation represented by coordinate axes Forward, Left, and Up. - - llAxisAngle2Rot - - return - rotation - arguments - - - Axis - - type - vector - tooltip - Axis. - - - - Angle - - type - float - tooltip - Angle in radians. - - - - tooltip - Returns the rotation that is a generated Angle about Axis. - - llBase64ToInteger - - return - integer - arguments - - - Text - - type - string - - - - - tooltip - Returns an integer that is the Text, Base64 decoded as a big endian integer.\nReturns zero if Text is longer then 8 characters. If Text contains fewer then 6 characters, the return value is unpredictable. - - llBase64ToString - - return - string - arguments - - - Text - - type - string - - - - tooltip - Converts a Base64 string to a conventional string.\nIf the conversion creates any unprintable characters, they are converted to question marks. - - llBreakAllLinks - - - arguments - - tooltip - De-links all prims in the link set (requires permission PERMISSION_CHANGE_LINKS be set). - - llBreakLink - - arguments - - - LinkNumber - - type - integer - - - - tooltip - De-links the prim with the given link number (requires permission PERMISSION_CHANGE_LINKS be set). - - llCastRay - - return - list - arguments - - - Start - - type - vector - - - - - End - - type - vector - - - - Options - - type - list - - - - tooltip - Casts a ray into the physics world from 'start' to 'end' and returns data according to details in Options.\nReports collision data for intersections with objects.\nReturn value: [UUID_1, {link_number_1}, hit_position_1, {hit_normal_1}, UUID_2, {link_number_2}, hit_position_2, {hit_normal_2}, ... , status_code] where {} indicates optional data. - - llCeil - - return - integer - arguments - - - Value - - type - float - - - - - tooltip - Returns smallest integer value >= Value. - - llClearCameraParams - - arguments - - tooltip - Resets all camera parameters to default values and turns off scripted camera control. - - llClearLinkMedia - - return - integer - arguments - - - Link - - type - integer - - - - Face - - type - integer - - - - - tooltip - Clears (deletes) the media and all parameters from the given Face on the linked prim.\nReturns an integer that is a STATUS_* flag, which details the success/failure of the operation. - - llClearPrimMedia - - sleep - 0.1 - return - integer - arguments - - - Face - - type - integer - tooltip - Number of side to clear. - - - - tooltip - Clears (deletes) the media and all parameters from the given Face.\nReturns an integer that is a STATUS_* flag which details the success/failure of the operation. - - llCloseRemoteDataChannel - - sleep - 1.0 - - arguments - - - ChannelID - - type - key - - - - tooltip - Closes the specified XML-RPC channel. - - llCloud - - return - float - arguments - - - Offset - - type - vector - - - - tooltip - Returns the cloud density at the object's position + Offset. - - llCollisionFilter - - - arguments - - - ObjectName - - type - string - - - - ObjectID - - type - key - - - - Accept - - type - integer - tooltip - If TRUE, only accept collisions with ObjectName name AND ObjectID (either is optional), otherwise with objects not ObjectName AND ObjectID. - - - - tooltip - Specify an empty string or NULL_KEY for Accept, to not filter on the corresponding parameter. - - llCollisionSound - - - arguments - - - ImpactSound - - type - string - - - - ImpactVolume - - type - float - - - - tooltip - Suppress default collision sounds, replace default impact sounds with ImpactSound.\nThe ImpactSound must be in the object inventory.\nSupply an empty string to suppress collision sounds. - - llCollisionSprite - - - arguments - - - ImpactSprite - - type - string - - - - - tooltip - Suppress default collision sprites, replace default impact sprite with ImpactSprite; found in the object inventory (empty string to just suppress). - - llCos - - return - float - arguments - - - Theta - - type - float - - - - tooltip - Returns the cosine of Theta (Theta in radians). - - llCreateLink - - sleep - 1.0 - - arguments - - - TargetPrim - - type - key - tooltip - Object UUID that is in the same region. - - - - Parent - - type - integer - tooltip - If FALSE, then TargetPrim becomes the root. If TRUE, then the script's object becomes the root. - - - - tooltip - Attempt to link the object the script is in, to target (requires permission PERMISSION_CHANGE_LINKS be set).\nRequires permission PERMISSION_CHANGE_LINKS be set. - - llCSV2List - - return - list - arguments - - - Text - - type - string - - - - tooltip - Create a list from a string of comma separated values specified in Text. - - llDeleteSubList - - return - list - arguments - - - Source - - type - list - - - - - Start - - type - integer - - - - - End - - type - integer - - - - tooltip - Removes the slice from start to end and returns the remainder of the list.\nRemove a slice from the list and return the remainder, start and end are inclusive.\nUsing negative numbers for start and/or end causes the index to count backwards from the length of the list, so 0, -1 would delete the entire list.\nIf Start is larger than End the list deleted is the exclusion of the entries; so 6, 4 would delete the entire list except for the 5th. list entry. - - llDeleteSubString - - return - string - arguments - - - Source - - type - string - - - - Start - - type - integer - - - - End - - type - integer - - - - tooltip - Removes the indicated sub-string and returns the result.\nStart and End are inclusive.\nUsing negative numbers for Start and/or End causes the index to count backwards from the length of the string, so 0, -1 would delete the entire string.\nIf Start is larger than End, the sub-string is the exclusion of the entries; so 6, 4 would delete the entire string except for the 5th. character. - - llDetachFromAvatar - - arguments - - tooltip - Remove the object containing the script from the avatar. - - llDetectedGrab - - return - vector - arguments - - - Number - - type - integer - - - - tooltip - Returns the grab offset of a user touching the object.\nReturns <0.0, 0.0, 0.0> if Number is not a valid object. - - llDetectedGroup - - return - integer - arguments - - - Number - - type - integer - - - - tooltip - Returns TRUE if detected object or agent Number has the same user group active as this object.\nIt will return FALSE if the object or agent is in the group, but the group is not active. - - llDetectedKey - - return - key - arguments - - - Number - - type - integer - - - - tooltip - Returns the key of detected object or avatar number.\nReturns NULL_KEY if Number is not a valid index. - - llDetectedLinkNumber - - return - integer - arguments - - - Number - - type - integer - - - - tooltip - Returns the link position of the triggered event for touches and collisions only.\n0 for a non-linked object, 1 for the root of a linked object, 2 for the first child, etc. - - llDetectedName - - return - string - arguments - - - Number - - type - integer - - - - tooltip - Returns the name of detected object or avatar number.\nReturns the name of detected object number.\nReturns empty string if Number is not a valid index. - - llDetectedOwner - - return - key - arguments - - - Number - - type - integer - - - - tooltip - Returns the key of detected object's owner.\nReturns invalid key if Number is not a valid index. - - llDetectedPos - - return - vector - arguments - - - Number - - type - integer - - - - tooltip - Returns the position of detected object or avatar number.\nReturns <0.0, 0.0, 0.0> if Number is not a valid index. - - llDetectedRot - - return - rotation - arguments - - - Number - - type - integer - - - - tooltip - Returns the rotation of detected object or avatar number.\nReturns <0.0, 0.0, 0.0, 1.0> if Number is not a valid offset. - - llDetectedTouchBinormal - - return - vector - arguments - - - Index - - type - integer - tooltip - Index of detection information - - - - tooltip - Returns the surface bi-normal for a triggered touch event.\nReturns a vector that is the surface bi-normal (tangent to the surface) where the touch event was triggered. - - llDetectedTouchFace - - return - integer - arguments - - - Index - - type - integer - tooltip - Index of detection information - - - - tooltip - Returns the index of the face where the avatar clicked in a triggered touch event. - - llDetectedTouchNormal - - return - vector - arguments - - - Index - - type - integer - tooltip - Index of detection information - - - - tooltip - Returns the surface normal for a triggered touch event.\nReturns a vector that is the surface normal (perpendicular to the surface) where the touch event was triggered. - - llDetectedTouchPos - - return - vector - arguments - - - Index - - type - integer - tooltip - Index of detected information - - - - tooltip - Returns the position, in region coordinates, where the object was touched in a triggered touch event.\nUnless it is a HUD, in which case it returns the position relative to the attach point. - - llDetectedTouchST - - return - vector - arguments - - - Index - - type - integer - tooltip - Index of detection information - - - - tooltip - Returns a vector that is the surface coordinates where the prim was touched.\nThe X and Y vector positions contain the horizontal (S) and vertical (T) face coordinates respectively.\nEach component is in the interval [0.0, 1.0].\nTOUCH_INVALID_TEXCOORD is returned if the surface coordinates cannot be determined (e.g. when the viewer does not support this function). - - llDetectedTouchUV - - return - vector - arguments - - - Index - - type - integer - tooltip - Index of detection information - - - - tooltip - Returns a vector that is the texture coordinates for where the prim was touched.\nThe X and Y vector positions contain the U and V face coordinates respectively.\nTOUCH_INVALID_TEXCOORD is returned if the touch UV coordinates cannot be determined (e.g. when the viewer does not support this function). - - llDetectedType - - return - integer - arguments - - - Number - - type - integer - - - - tooltip - Returns the type (AGENT, ACTIVE, PASSIVE, SCRIPTED) of detected object.\nReturns 0 if number is not a valid index.\nNote that number is a bit-field, so comparisons need to be a bitwise checked. e.g.:\ninteger iType = llDetectedType(0);\n{\n // ...do stuff with the agent\n} - - llDetectedVel - - return - vector - arguments - - - Number - - type - integer - - - - tooltip - Returns the velocity of the detected object Number.\nReturns<0.0, 0.0, 0.0> if Number is not a valid offset. - - llDialog - - sleep - 0.1 - arguments - - - AvatarID - - type - key - - - - Text - - type - string - - - - Buttons - - type - list - - - - Channel - - type - integer - - - - tooltip - - Shows a dialog box on the avatar's screen with the message.\n - Up to 12 strings in the list form buttons.\n - If a button is clicked, the name is chatted on Channel.\nOpens a "notify box" in the given avatars screen displaying the message.\n - Up to twelve buttons can be specified in a list of strings. When the user clicks a button, the name of the button is said on the specified channel.\n - Channels work just like llSay(), so channel 0 can be heard by everyone.\n - The chat originates at the object's position, not the avatar's position, even though it is said as the avatar (uses avatar's UUID and Name etc.).\n - Examples:\n - llDialog(who, "Are you a boy or a girl?", [ "Boy", "Girl" ], -4913);\n - llDialog(who, "This shows only an OK button.", [], -192);\n - llDialog(who, "This chats so you can 'hear' it.", ["Hooray"], 0); - - - llDie - - arguments - - tooltip - Delete the object which holds the script. - - llDumpList2String - - return - string - arguments - - - Source - - type - list - - - - Separator - - type - string - - - - tooltip - Returns the list as a single string, using Separator between the entries.\nWrite the list out as a single string, using Separator between values. - - llEdgeOfWorld - - return - integer - arguments - - - Position - - type - vector - - - - Direction - - type - vector - - - - tooltip - Checks to see whether the border hit by Direction from Position is the edge of the world (has no neighboring region).\nReturns TRUE if the line along Direction from Position hits the edge of the world in the current simulator, returns FALSE if that edge crosses into another simulator. - - llEjectFromLand - - - arguments - - - AvatarID - - type - key - - - - tooltip - Ejects AvatarID from land that you own.\nEjects AvatarID from land that the object owner (group or resident) owns. - - llEmail - - sleep - 20.0 - arguments - - - Address - - type - string - - - - Subject - - type - string - - - - Text - - type - string - - - - tooltip - Sends email to Address with Subject and Message.\nSends an email to Address with Subject and Message. - - llEscapeURL - - return - string - arguments - - - URL - - type - string - - - - tooltip - - Returns an escaped/encoded version of url, replacing spaces with %20 etc.\nReturns the string that is the URL-escaped version of URL (replacing spaces with %20, etc.).\n - This function returns the UTF-8 encoded escape codes for selected characters. - - - llEuler2Rot - - return - rotation - arguments - - - Vector - - type - vector - - - - tooltip - Returns the rotation representation of the Euler angles.\nReturns the rotation represented by the Euler Angle. - - llFabs - - return - float - arguments - - - Value - - type - float - - - - tooltip - Returns the positive version of Value.\nReturns the absolute value of Value. - - llFloor - - return - integer - arguments - - - Value - - type - float - - - - tooltip - Returns largest integer value <= Value. - - llForceMouselook - - arguments - - - Enable - - type - integer - tooltip - Boolean, if TRUE when an avatar sits on the prim, the avatar will be forced into mouse-look mode.\nFALSE is the default setting and will undo a previously set TRUE or do nothing. - - - - tooltip - If Enable is TRUE any avatar that sits on this object is forced into mouse-look mode.\nAfter calling this function with Enable set to TRUE, any agent sitting down on the prim will be forced into mouse-look.\nJust like llSitTarget, this changes a permanent property of the prim (not the object) and needs to be reset by calling this function with Enable set to FALSE in order to disable it. - - llFrand - - return - float - arguments - - - Magnitude - - type - float - - - - tooltip - Returns a pseudo random number in the range [0, Magnitude] or [Magnitude, 0].\nReturns a pseudo-random number between [0, Magnitude]. - - llGenerateKey - - return - key - arguments - - tooltip - Generates a key (SHA-1 hash) using UUID generation to create a unique key.\nAs the UUID produced is versioned, it should never return a value of NULL_KEY.\nThe specific UUID version is an implementation detail that has changed in the past and may change again in the future. Do not depend upon the UUID that is returned to be version 5 SHA-1 hash. - - llGetAccel - - return - vector - arguments - - tooltip - Returns the acceleration of the object relative to the region's axes.\nGets the acceleration of the object. - - llGetAgentInfo - - return - integer - arguments - - - AvatarID - - type - key - - - - tooltip - - Returns an integer bit-field containing the agent information about id.\n - Returns AGENT_FLYING, AGENT_ATTACHMENTS, AGENT_SCRIPTED, AGENT_SITTING, AGENT_ON_OBJECT, AGENT_MOUSELOOK, AGENT_AWAY, AGENT_BUSY, AGENT_TYPING, AGENT_CROUCHING, AGENT_ALWAYS_RUN, AGENT_WALKING and/or AGENT_IN_AIR.\nReturns information about the given agent ID as a bit-field of agent info constants. - - - llGetAgentLanguage - - return - string - arguments - - - AvatarID - - type - key - - - - tooltip - Returns the language code of the preferred interface language of the avatar.\nReturns a string that is the language code of the preferred interface language of the resident. - - llGetAgentList - - return - list - arguments - - - Scope - - type - integer - tooltip - The scope (region, parcel, parcel same owner) to return agents for. - - - - Options - - type - list - tooltip - List of options to apply. Current unused. - - - - tooltip - Requests a list of agents currently in the region, limited by the scope parameter.\nReturns a list [key UUID-0, key UUID-1, ..., key UUID-n] or [string error_msg] - returns avatar keys for all agents in the region limited to the area(s) specified by scope - - llGetAgentSize - - return - vector - arguments - - - AvatarID - - type - key - - - - tooltip - If the avatar is in the same region, returns the size of the bounding box of the requested avatar by id, otherwise returns ZERO_VECTOR.\nIf the agent is in the same region as the object, returns the size of the avatar. - - llGetAlpha - - return - float - arguments - - - Face - - type - integer - - - - tooltip - Returns the alpha value of Face.\nReturns the 'alpha' of the given face. If face is ALL_SIDES the value returned is the mean average of all faces. - - llGetAndResetTime - - return - float - arguments - - tooltip - Returns the script time in seconds and then resets the script timer to zero.\nGets the time in seconds since starting and resets the time to zero. - - llGetAnimation - - return - string - arguments - - - AvatarID - - type - key - - - - tooltip - Returns the name of the currently playing locomotion animation for the avatar id.\nReturns the currently playing animation for the specified avatar ID. - - llGetAnimationList - - return - list - arguments - - - AvatarID - - type - key - - - - tooltip - Returns a list of keys of playing animations for an avatar.\nReturns a list of keys of all playing animations for the specified avatar ID. - - llGetAnimationOverride - - return - string - arguments - - - AnimationState - - type - string - - - - tooltip - Returns a string that is the name of the animation that is used for the specified animation state\nTo use this function the script must obtain either the PERMISSION_OVERRIDE_ANIMATIONS or PERMISSION_TRIGGER_ANIMATION permission (automatically granted to attached objects). - - llGetAttached - - return - integer - arguments - - tooltip - Returns the object's attachment point, or 0 if not attached. - - llGetAttachedList - - return - list - arguments - - - ID - - type - key - tooltip - Avatar to get attachments - - - - tooltip - Returns a list of keys of all visible (not HUD) attachments on the avatar identified by the ID argument - - llGetBoundingBox - - return - list - arguments - - - ID - - type - key - - - - tooltip - Returns the bounding box around the object (including any linked prims) relative to its root prim, as a list in the format [ (vector) min_corner, (vector) max_corner ]. - - llGetCameraPos - - return - vector - arguments - - tooltip - Returns the current camera position for the agent the task has permissions for.\nReturns the position of the camera, of the user that granted the script PERMISSION_TRACK_CAMERA. If no user has granted the permission, it returns ZERO_VECTOR. - - llGetCameraRot - - return - rotation - arguments - - tooltip - Returns the current camera orientation for the agent the task has permissions for. If no user has granted the PERMISSION_TRACK_CAMERA permission, returns ZERO_ROTATION. - - llGetCenterOfMass - - return - vector - arguments - - tooltip - Returns the prim's centre of mass (unless called from the root prim, where it returns the object's centre of mass). - - llGetColor - - return - vector - arguments - - - Face - - type - integer - - - - tooltip - Returns the color on Face.\nReturns the color of Face as a vector of red, green, and blue values between 0 and 1. If face is ALL_SIDES the color returned is the mean average of each channel. - - llGetCreator - - return - key - arguments - - tooltip - Returns a key for the creator of the prim.\nReturns the key of the object's original creator. Similar to llGetOwner. - - llGetDate - - return - string - arguments - - tooltip - Returns the current date in the UTC time zone in the format YYYY-MM-DD.\nReturns the current UTC date as YYYY-MM-DD. - - llGetDisplayName - - return - string - arguments - - - AvatarID - - type - key - tooltip - Avatar UUID that is in the same region, or is otherwise known to the region. - - - - tooltip - Returns the display name of an avatar, if the avatar is connected to the current region, or if the name has been cached. Otherwise, returns an empty string. Use llRequestDisplayName if the avatar may be absent from the region. - - llGetEnergy - - return - float - arguments - - tooltip - Returns how much energy is in the object as a percentage of maximum. - - llGetEnv - - return - string - arguments - - - DataRequest - - type - string - tooltip - The type of data to request. Any other string will cause an empty string to be returned. - - - - tooltip - Returns a string with the requested data about the region. - - llGetForce - - return - vector - arguments - - tooltip - Returns the force (if the script is physical).\nReturns the current force if the script is physical. - - llGetFreeMemory - - return - integer - arguments - - tooltip - Returns the number of free bytes of memory the script can use.\nReturns the available free space for the current script. This is inaccurate with LSO. - - llGetFreeURLs - - return - integer - arguments - - tooltip - Returns the number of available URLs for the current script.\nReturns an integer that is the number of available URLs. - - llGetGeometricCenter - - return - vector - arguments - - tooltip - Returns the vector that is the geometric center of the object relative to the root prim. - - llGetGMTclock - - return - float - arguments - - tooltip - Returns the time in seconds since midnight GMT.\nGets the time in seconds since midnight in GMT/UTC. - - llGetHTTPHeader - - return - string - arguments - - - HTTPRequestID - - type - key - tooltip - A valid HTTP request key - - - - Header - - type - string - tooltip - Header value name - - - - tooltip - Returns the value for header for request_id.\nReturns a string that is the value of the Header for HTTPRequestID. - - llGetInventoryCreator - - return - key - arguments - - - InventoryItem - - type - string - - - - tooltip - Returns a key for the creator of the inventory item.\nThis function returns the UUID of the creator of item. If item is not found in inventory, the object says "No item named 'name'". - - llGetInventoryKey - - return - key - arguments - - - InventoryItem - - type - string - - - - tooltip - Returns the key that is the UUID of the inventory named.\nReturns the key of the inventory named. - - llGetInventoryName - - return - string - arguments - - - InventoryType - - type - integer - tooltip - Inventory item type - - - - Index - - type - integer - tooltip - Index number of inventory item. - - - - tooltip - Returns the name of the inventory item of a given type, specified by index number.\nUse the inventory constants INVENTORY_* to specify the type. - - llGetInventoryNumber - - return - integer - arguments - - - InventoryType - - type - integer - tooltip - Inventory item type - - - - tooltip - Returns the quantity of items of a given type (INVENTORY_* flag) in the prim's inventory.\nUse the inventory constants INVENTORY_* to specify the type. - - llGetInventoryPermMask - - return - integer - arguments - - - InventoryItem - - type - string - tooltip - Inventory item name. - - - - BitMask - - type - integer - tooltip - MASK_BASE, MASK_OWNER, MASK_GROUP, MASK_EVERYONE or MASK_NEXT - - - - tooltip - Returns the requested permission mask for the inventory item.\nReturns the requested permission mask for the inventory item defined by InventoryItem. If item is not in the object's inventory, llGetInventoryPermMask returns FALSE and causes the object to say "No item named '<item>'", where "<item>" is item. - - llGetInventoryType - - return - integer - arguments - - - InventoryItem - - type - string - - - - tooltip - Returns the type of the named inventory item.\nLike all inventory functions, llGetInventoryType is case-sensitive. - - llGetKey - - return - key - arguments - - tooltip - Returns the key of the prim the script is attached to.\nGet the key for the object which has this script. - - llGetLandOwnerAt - - return - key - arguments - - - Position - - type - vector - - - - tooltip - Returns the key of the land owner, returns NULL_KEY if public.\nReturns the key of the land owner at Position, or NULL_KEY if public. - - llGetLinkKey - - return - key - arguments - - - LinkNumber - - type - integer - - - - tooltip - Returns the key of the linked prim LinkNumber.\nReturns the key of LinkNumber in the link set. - - llGetLinkMedia - - return - list - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag - - - - Face - - type - integer - tooltip - The prim's side number - - - - Parameters - - type - list - tooltip - A list of PRIM_* property constants to return values of. - - - - tooltip - Get the media parameters for a particular face on linked prim, given the desired list of parameter names. Returns a list of values in the order requested. Returns an empty list if no media exists on the face. - - llGetLinkName - - return - string - arguments - - - LinkNumber - - type - integer - - - - tooltip - Returns the name of LinkNumber in a link set.\nReturns the name of LinkNumber the link set. - - llGetLinkNumber - - return - integer - arguments - - tooltip - Returns the link number of the prim containing the script (0 means not linked, 1 the prim is the root, 2 the prim is the first child, etc.).\nReturns the link number of the prim containing the script. 0 means no link, 1 the root, 2 for first child, etc. - - llGetLinkNumberOfSides - - return - integer - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. - - - - tooltip - Returns the number of sides of the specified linked prim.\nReturns an integer that is the number of faces (or sides) of the prim link. - - llGetLinkPrimitiveParams - - return - list - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. - - - - Parameters - - type - list - tooltip - PRIM_* flags. - - - - tooltip - Returns the list of primitive attributes requested in the Parameters list for LinkNumber.\nPRIM_* flags can be broken into three categories, face flags, prim flags, and object flags.\n* Supplying a prim or object flag will return that flags attributes.\n* Face flags require the user to also supply a face index parameter. - - llGetListEntryType - - return - integer - arguments - - - ListVariable - - type - list - - - - Index - - type - integer - - - - tooltip - Returns the type of the index entry in the list (TYPE_INTEGER, TYPE_FLOAT, TYPE_STRING, TYPE_KEY, TYPE_VECTOR, TYPE_ROTATION, or TYPE_INVALID if index is off list).\nReturns the type of the variable at Index in ListVariable. - - llGetListLength - - return - integer - arguments - - - ListVariable - - type - list - - - - tooltip - Returns the number of elements in the list.\nReturns the number of elements in ListVariable. - - llGetLocalPos - - return - vector - arguments - - tooltip - Returns the position relative to the root.\nReturns the local position of a child object relative to the root. - - llGetLocalRot - - return - rotation - arguments - - tooltip - Returns the rotation local to the root.\nReturns the local rotation of a child object relative to the root. - - llGetMass - - return - float - arguments - - tooltip - Returns the mass of object that the script is attached to.\nReturns the scripted object's mass. When called from a script in a link-set, the parent will return the sum of the link-set weights, while a child will return just its own mass. When called from a script inside an attachment, this function will return the mass of the avatar it's attached to, not its own. - - llGetMassMKS - - return - float - arguments - - tooltip - Acts as llGetMass(), except that the units of the value returned are Kg. - - llGetMaxScaleFactor - - return - float - arguments - - tooltip - Returns a float that is the largest scaling factor that can be used with llScaleByFactor to resize the object. This maximum is determined by the Linkability Rules and prim scale limits. - - llGetMemoryLimit - - return - integer - arguments - - tooltip - Get the maximum memory a script can use, in bytes. - - llGetMinScaleFactor - - return - float - arguments - - tooltip - Returns a float that is the smallest scaling factor that can be used with llScaleByFactor to resize the object. This minimum is determined by the prim scale limits. - - llGetNextEmail - - arguments - - - Address - - type - string - - - - Subject - - type - string - - - - tooltip - Fetch the next queued email with that matches the given address and/or subject, via the email event.\nIf the parameters are blank, they are not used for filtering. - - llGetNotecardLine - - sleep - 0.1 - return - key - arguments - - - NotecardName - - type - string - - - - LineNumber - - type - integer - - - - tooltip - Returns LineNumber from NotecardName via the dataserver event. The line index starts at zero.\nIf the requested line is passed the end of the note-card the dataserver event will return the constant EOF string.\nThe key returned by this function is a unique identifier which will be supplied to the dataserver event in the requested parameter. - - llGetNumberOfNotecardLines - - sleep - 0.1 - return - key - arguments - - - NotecardName - - type - string - - - - - tooltip - Returns the number of lines contained within a notecard via the dataserver event.\nThe key returned by this function is a query ID for identifying the dataserver reply. - - llGetNumberOfPrims - - return - integer - arguments - - tooltip - Returns the number of prims in a link set the script is attached to.\nReturns the number of prims in (and avatars seated on) the object the script is in. - - llGetNumberOfSides - - return - integer - arguments - - tooltip - Returns the number of faces (or sides) of the prim.\nReturns the number of sides of the prim which has the script. - - llGetObjectDesc - - - return - string - arguments - - tooltip - Returns the description of the prim the script is attached to.\nReturns the description of the scripted object/prim. You can set the description using llSetObjectDesc. - - llGetObjectDetails - - return - list - arguments - - - ID - - type - key - tooltip - Prim or avatar UUID that is in the same region. - - - - Parameters - - type - list - tooltip - List of OBJECT_* flags. - - - - tooltip - Returns a list of object details specified in the Parameters list for the object or avatar in the region with key ID.\nParameters are specified by the OBJECT_* constants. - - llGetObjectMass - - return - float - arguments - - - ID - - type - key - - - - tooltip - Returns the mass of the avatar or object in the region.\nGets the mass of the object or avatar corresponding to ID. - - llGetObjectName - - return - string - arguments - - tooltip - Returns the name of the prim which the script is attached to.\nReturns the name of the prim (not object) which contains the script. - - llGetObjectPermMask - - return - integer - arguments - - - Category - - type - integer - tooltip - Category is one of MASK_BASE, MASK_OWNER, MASK_GROUP, MASK_EVERYONE, or MASK_NEXT - - - - tooltip - Returns the permission mask of the requested category for the object. - - llGetObjectPrimCount - - return - integer - arguments - - - ObjectID - - type - key - - - - tooltip - Returns the total number of prims for an object in the region.\nReturns the prim count for any object id in the same region. - - llGetOmega - - return - vector - arguments - - tooltip - Returns the rotation velocity in radians per second.\nReturns a vector that is the rotation velocity of the object in radians per second. - - llGetOwner - - - return - key - arguments - - tooltip - Returns the object owner's UUID.\nReturns the key for the owner of the object. - - llGetOwnerKey - - return - key - arguments - - - ObjectID - - type - key - - - - tooltip - Returns the owner of ObjectID.\nReturns the key for the owner of object ObjectID. - - llGetParcelDetails - - return - list - arguments - - - Position - - type - vector - tooltip - Location within the region. - - - - ParcelDetails - - type - list - tooltip - List of details requested for the specified parcel location. - - - - tooltip - Returns a list of parcel details specified in the ParcelDetails list for the parcel at Position.\nParameters is one or more of: PARCEL_DETAILS_NAME, _DESC, _OWNER, _GROUP, _AREA, _ID, _SEE_AVATARS.\nReturns a list that is the parcel details specified in ParcelDetails (in the same order) for the parcel at Position. - - llGetParcelFlags - - return - integer - arguments - - - Position - - type - vector - - - - tooltip - Returns a mask of the parcel flags (PARCEL_FLAG_*) for the parcel that includes the point Position.\nReturns a bit-field specifying the parcel flags (PARCEL_FLAG_*) for the parcel at Position. - - llGetParcelMaxPrims - - return - integer - arguments - - - Position - - type - vector - tooltip - Region coordinates (z is ignored) of parcel. - - - - SimWide - - type - integer - tooltip - Boolean. If FALSE then the return is the maximum prims supported by the parcel. If TRUE then it is the combined number of prims on all parcels in the region owned by the specified parcel's owner. - - - - tooltip - Returns the maximum number of prims allowed on the parcel at Position for a given scope.\nThe scope may be set to an individual parcel or the combined resources of all parcels with the same ownership in the region. - - llGetParcelMusicURL - - return - string - arguments - - tooltip - Gets the streaming audio URL for the parcel object is on.\nThe object owner, avatar or group, must also be the land owner. - - llGetParcelPrimCount - - return - integer - arguments - - - Position - - type - vector - tooltip - Region coordinates of parcel to query. - - - - Category - - type - integer - tooltip - A PARCEL_COUNT_* flag. - - - - SimWide - - type - integer - tooltip - Boolean. If FALSE then the return is the maximum prims supported by the parcel. If TRUE then it is the combined number of prims on all parcels in the region owned by the specified parcel's owner. - - - - tooltip - Returns the number of prims on the parcel at Position of the given category.\nCategories: PARCEL_COUNT_TOTAL, _OWNER, _GROUP, _OTHER, _SELECTED, _TEMP.\nReturns the number of prims used on the parcel at Position which are in Category.\nIf SimWide is TRUE, it returns the total number of objects for all parcels with matching ownership in the category specified.\nIf SimWide is FALSE, it returns the number of objects on this specific parcel in the category specified - - llGetParcelPrimOwners - - sleep - 2.0 - return - list - arguments - - - Position - - type - vector - - - - tooltip - Returns a list of up to 100 residents who own objects on the parcel at Position, with per-owner land impact totals.\nRequires owner-like permissions for the parcel, and for the script owner to be present in the region.\nThe list is formatted as [ key agentKey1, integer agentLI1, key agentKey2, integer agentLI2, ... ], sorted by agent key.\nThe integers are the combined land impacts of the objects owned by the corresponding agents. - - llGetPermissions - - return - integer - arguments - - tooltip - Returns an integer bitmask of the permissions that have been granted to the script. Individual permissions can be determined using a bit-wise "and" operation against the PERMISSION_* constants - - llGetPermissionsKey - - return - key - arguments - - tooltip - Returns the key of the avatar that last granted or declined permissions to the script.\nReturns NULL_KEY if permissions were never granted or declined. - - llGetPhysicsMaterial - - return - list - arguments - - tooltip - Returns a list of the form [float gravity_multiplier, float restitution, float friction, float density]. - - llGetPos - - return - vector - arguments - - tooltip - Returns the position of the task in region coordinates.\nReturns the vector position of the task in region coordinates. - - llGetPrimitiveParams - - sleep - 0.2 - return - list - arguments - - - Parameters - - type - list - tooltip - PRIM_* flags and face parameters - - - - tooltip - Returns the primitive parameters specified in the parameters list.\nReturns primitive parameters specified in the Parameters list. - - llGetPrimMediaParams - - sleep - 0.1 - return - list - arguments - - - Face - - type - integer - tooltip - face number - - - - Parameters - - type - list - tooltip - One or more PRIM_MEDIA_* flags - - - - tooltip - Returns the media parameters for a particular face on an object, given the desired list of parameter names, in the order requested. Returns an empty list if no media exists on the face. - - llGetRegionAgentCount - - return - integer - arguments - - tooltip - Returns the number of avatars in the region.\nReturns an integer that is the number of avatars in the region. - - llGetRegionCorner - - - return - vector - arguments - - tooltip - Returns a vector, in meters, that is the global location of the south-west corner of the region which the object is in.\nReturns the Region-Corner of the simulator containing the task. The region-corner is a vector (values in meters) representing distance from the first region. - - llGetRegionFlags - - return - integer - arguments - - tooltip - Returns the region flags (REGION_FLAG_*) for the region the object is in.\nReturns a bit-field specifying the region flags (REGION_FLAG_*) for the region the object is in. - - llGetRegionFPS - - return - float - arguments - - tooltip - Returns the mean region frames per second. - - llGetRegionName - - return - string - arguments - - tooltip - Returns the current region name. - - llGetRegionTimeDilation - - return - float - arguments - - tooltip - Returns the current time dilation as a float between 0.0 (full dilation) and 1.0 (no dilation).\nReturns the current time dilation as a float between 0.0 and 1.0. - - llGetRootPosition - - return - vector - arguments - - tooltip - Returns the position (in region coordinates) of the root prim of the object which the script is attached to.\nThis is used to allow a child prim to determine where the root is. - - llGetRootRotation - - return - rotation - arguments - - tooltip - Returns the rotation (relative to the region) of the root prim of the object which the script is attached to.\nGets the global rotation of the root object of the object script is attached to. - - llGetRot - - return - rotation - arguments - - tooltip - Returns the rotation relative to the region's axes.\nReturns the rotation. - - llGetScale - - return - vector - arguments - - tooltip - Returns the scale of the prim.\nReturns a vector that is the scale (dimensions) of the prim. - - llGetScriptName - - return - string - arguments - - tooltip - Returns the name of the script that this function is used in.\nReturns the name of this script. - - llGetScriptState - - return - integer - arguments - - - ScriptName - - type - string - - - - tooltip - Returns TRUE if the script named is running.\nReturns TRUE if ScriptName is running. - - llGetSimStats - - return - float - arguments - - - StatType - - type - integer - tooltip - Statistic type. Currently only SIM_STAT_PCT_CHARS_STEPPED is supported. - - - - tooltip - Returns a float that is the requested statistic. - - llGetSimulatorHostname - - sleep - 10.0 - return - string - arguments - - tooltip - Returns the host-name of the machine which the script is running on.\nFor example, "sim225.agni.lindenlab.com". - - llGetSPMaxMemory - - return - integer - arguments - - tooltip - Returns the maximum used memory for the current script. Only valid after using PROFILE_SCRIPT_MEMORY. Non-mono scripts always use 16k.\nReturns the integer of the most bytes used while llScriptProfiler was last active. - - llGetStartParameter - - return - integer - arguments - - tooltip - Returns an integer that is the script rez parameter.\nIf the object was rezzed by an agent, this function returns 0. - - llGetStatus - - return - integer - arguments - - - StatusFlag - - type - integer - tooltip - A STATUS_* flag - - - - tooltip - Returns boolean value of the specified status (e.g. STATUS_PHANTOM) of the object the script is attached to. - - llGetSubString - - return - string - arguments - - - String - - type - string - - - - Start - - type - integer - - - - End - - type - integer - - - - tooltip - Returns a sub-string from String, in a range specified by the Start and End indicies (inclusive).\nUsing negative numbers for Start and/or End causes the index to count backwards from the length of the string, so 0, -1 would capture the entire string.\nIf Start is greater than End, the sub string is the exclusion of the entries. - - llGetSunDirection - - return - vector - arguments - - tooltip - Returns a normalized vector of the direction of the sun in the region.\nReturns the sun's direction on the simulator. - - llGetTexture - - return - string - arguments - - - Face - - type - integer - - - - tooltip - Returns a string that is the texture on face (the inventory name if it is a texture in the prim's inventory, otherwise the key).\nReturns the texture of a face, if it is found in object inventory, its key otherwise. - - llGetTextureOffset - - return - vector - arguments - - - Face - - type - integer - - - - tooltip - Returns the texture offset of face in the x and y components of a vector. - - llGetTextureRot - - return - float - arguments - - - Face - - type - integer - - - - tooltip - Returns the texture rotation of side. - - llGetTextureScale - - return - vector - arguments - - - Face - - type - integer - - - - tooltip - Returns the texture scale of side in the x and y components of a vector.\nReturns the texture scale of a side in the x and y components of a vector. - - llGetTime - - return - float - arguments - - tooltip - Returns the time in seconds since the last region reset, script reset, or call to either llResetTime or llGetAndResetTime. - - llGetTimeOfDay - - return - float - arguments - - tooltip - Returns the time in seconds since Second Life midnight or since region up-time, whichever is smaller.\nThe Second Life day cycle is 4 hours. - - llGetTimestamp - - return - string - arguments - - tooltip - Returns a time-stamp (UTC time zone) in the format: YYYY-MM-DDThh:mm:ss.ff..fZ. - - llGetTorque - - return - vector - arguments - - tooltip - Returns the torque (if the script is physical).\nReturns a vector that is the torque (if the script is physical). - - llGetUnixTime - - return - integer - arguments - - tooltip - Returns the number of seconds elapsed since 00:00 hours, Jan 1, 1970 UTC from the system clock. - - llGetUsedMemory - - return - integer - arguments - - tooltip - Returns the current used memory for the current script. Non-mono scripts always use 16K.\nReturns the integer of the number of bytes of memory currently in use by the script. Non-mono scripts always use 16K. - - llGetUsername - - return - string - arguments - - - AvatarID - - type - key - - - - tooltip - Returns the username of an avatar, if the avatar is connected to the current region, or if the name has been cached. Otherwise, returns an empty string. Use llRequestUsername if the avatar may be absent from the region. - - llGetVel - - return - vector - arguments - - tooltip - Returns the velocity of the object.\nReturns a vector that is the velocity of the object. - - llGetWallclock - - return - float - arguments - - tooltip - Returns the time in seconds since midnight California Pacific time (PST/PDT).\nReturns the time in seconds since simulator's time-zone midnight (Pacific Time). - - llGiveInventory - - arguments - - - TargetID - - type - key - - - - InventoryItem - - type - string - - - - tooltip - Give InventoryItem to destination represented by TargetID, as permitted by the permissions system.\nTargetID may be any agent or an object in the same region. - - llGiveInventoryList - - sleep - 3.0 - arguments - - - TargetID - - type - key - - - - FolderName - - type - string - - - - InventoryItems - - type - list - - - - tooltip - Give InventoryItems to destination (represented by TargetID) as a new folder of items, as permitted by the permissions system.\nTargetID may be any agent or an object in the same region. If TargetID is an object, the items are passed directly to the object inventory (no folder is created). - - llGiveMoney - - return - integer - arguments - - - AvatarID - - type - key - - - - Amount - - type - integer - - - - tooltip - Transfers Amount of L$ from script owner to AvatarID.\nThis call will silently fail if PERMISSION_DEBIT has not been granted. - - llGodLikeRezObject - - god-mode - true - arguments - - - InventoryItemID - - type - key - - - - Position - - type - vector - - - - tooltip - Rez directly off of a UUID if owner has god-bit set. - - llGround - - return - float - arguments - - - Offset - - type - vector - - - - tooltip - Returns the ground height at the object position + offset.\nReturns the ground height at the object's position + Offset. - - llGroundContour - - return - vector - arguments - - - Offset - - type - vector - - - - tooltip - Returns the ground contour direction below the object position + Offset.\nReturns the ground contour at the object's position + Offset. - - llGroundNormal - - return - vector - arguments - - - Offset - - type - vector - - - - tooltip - Returns the ground normal below the object position + offset.\nReturns the ground contour at the object's position + Offset. - - llGroundRepel - - arguments - - - Height - - type - float - tooltip - Distance above the ground. - - - - Water - - type - integer - tooltip - Boolean, if TRUE then hover above water too. - - - - Tau - - type - float - tooltip - Seconds to critically damp in. - - - - tooltip - - Critically damps to height if within height * 0.5 of level (either above ground level or above the higher of land and water if water == TRUE).\nCritically damps to fHeight if within fHeight * 0.5 of ground or water level.\n - The height is above ground level if iWater is FALSE or above the higher of land and water if iWater is TRUE.\n - Do not use with vehicles. Only works in physics-enabled objects. - - - llGroundSlope - - return - vector - arguments - - - Offset - - type - vector - - - - tooltip - Returns the ground slope below the object position + Offset.\nReturns the ground slope at the object position + Offset. - - llHTTPRequest - - return - key - arguments - - - URL - - type - string - tooltip - A valid HTTP/HTTPS URL. - - - - Parameters - - type - list - tooltip - Configuration parameters, specified as HTTP_* flag-value pairs. - - - - Body - - type - string - tooltip - Contents of the request. - - - - tooltip - Sends an HTTP request to the specified URL with the Body of the request and Parameters.\nReturns a key that is a handle identifying the HTTP request made. - - llHTTPResponse - - arguments - - - HTTPRequestID - - type - key - tooltip - A valid HTTP request key. - - - - Status - - type - integer - tooltip - HTTP Status (200, 400, 404, etc.). - - - - Body - - type - string - tooltip - Contents of the response. - - - - tooltip - Responds to an incoming HTTP request which was triggerd by an http_request event within the script. HTTPRequestID specifies the request to respond to (this ID is supplied in the http_request event handler). Status and Body specify the status code and message to respond with. - - llInsertString - - return - string - arguments - - - TargetVariable - - type - string - - - - Position - - type - integer - - - - SourceVariable - - type - string - - - - tooltip - Inserts SourceVariable into TargetVariable at Position, and returns the result.\nInserts SourceVariable into TargetVariable at Position and returns the result. Note this does not alter TargetVariable. - - llInstantMessage - - sleep - 2.0 - arguments - - - AvatarID - - type - key - - - - Text - - type - string - - - - tooltip - IMs Text to the user identified.\nSend Text to the user as an instant message. - - llIntegerToBase64 - - return - string - arguments - - - Value - - type - integer - - - - tooltip - Returns a string that is a Base64 big endian encode of Value.\nEncodes the Value as an 8-character Base64 string. - - llJson2List - - return - list - arguments - - - JSON - - type - string - - - - tooltip - Converts the top level of the JSON string to a list. - - llJsonGetValue - - return - string - arguments - - - JSON - - type - string - - - - Specifiers - - type - list - - - - tooltip - Gets the value indicated by Specifiers from the JSON string. - - llJsonSetValue - - return - string - arguments - - - JSON - - type - string - - - - Specifiers - - type - list - - - - Value - - type - string - - - - tooltip - Returns a new JSON string that is the JSON given with the Value indicated by Specifiers set to Value. - - llJsonValueType - - return - string - arguments - - - JSON - - type - string - - - - Specifiers - - type - list - - - - tooltip - Returns the type constant (JSON_*) for the value in JSON indicated by Specifiers. - - llKey2Name - - return - string - arguments - - - ID - - type - key - tooltip - Avatar or rezzed prim UUID. - - - - tooltip - Returns the name of the prim or avatar specified by ID. The ID must be a valid rezzed prim or avatar key in the current simulator, otherwise an empty string is returned.\nFor avatars, the returned name is the legacy name - - llLinkParticleSystem - - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag - - - - Rules - - type - list - tooltip - Particle system rules list in the format [ rule1, data1, rule2, data2 . . . ruleN, dataN ] - - - - tooltip - Creates a particle system in prim LinkNumber based on Rules. An empty list removes a particle system from object.\nList format is [ rule-1, data-1, rule-2, data-2 ... rule-n, data-n ].\nThis is identical to llParticleSystem except that it applies to a specified linked prim and not just the prim the script is in. - - llLinkSitTarget - - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag of the prim. - - - - Offset - - type - vector - tooltip - Position for the sit target, relative to the prim's position. - - - - Rotation - - type - rotation - tooltip - Rotation (relative to the prim's rotation) for the avatar. - - - - tooltip - Set the sit location for the linked prim(s). If Offset == <0,0,0> clear it.\nSet the sit location for the linked prim(s). The sit location is relative to the prim's position and rotation. - - llList2CSV - - return - string - arguments - - - ListVariable - - type - list - - - - tooltip - Creates a string of comma separated values from the list.\nCreate a string of comma separated values from the specified list. - - llList2Float - - return - float - arguments - - - ListVariable - - type - list - - - - Index - - type - integer - - - - tooltip - Copies the float at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to a float, then zero is returned. - - llList2Integer - - return - integer - arguments - - - ListVariable - - type - list - - - - Index - - type - integer - - - - tooltip - Copies the integer at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to an integer, then zero is returned. - - llList2Json - - return - string - arguments - - - JsonType - - type - string - tooltip - Type is JSON_ARRAY or JSON_OBJECT. - - - - Values - - type - list - tooltip - List of values to convert. - - - - tooltip - Converts either a strided list of key:value pairs to a JSON_OBJECT, or a list of values to a JSON_ARRAY. - - llList2Key - - return - key - arguments - - - ListVariable - - type - list - - - - - Index - - type - integer - - - - tooltip - Copies the key at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to a key, then null string is returned. - - llList2List - - return - list - arguments - - - ListVariable - - type - list - - - - Start - - type - integer - - - - End - - type - integer - - - - tooltip - Returns a subset of entries from ListVariable, in a range specified by the Start and End indicies (inclusive).\nUsing negative numbers for Start and/or End causes the index to count backwards from the length of the string, so 0, -1 would capture the entire string.\nIf Start is greater than End, the sub string is the exclusion of the entries. - - llList2ListStrided - - return - list - arguments - - - ListVariable - - type - list - - - - Start - - type - integer - - - - End - - type - integer - - - - Stride - - type - integer - - - - tooltip - Copies the strided slice of the list from Start to End.\nReturns a copy of the strided slice of the specified list from Start to End. - - llList2Rot - - return - rotation - arguments - - - ListVariable - - type - list - - - - Index - - type - integer - - - - tooltip - Copies the rotation at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to rotation, thenZERO_ROTATION is returned. - - llList2String - - return - string - arguments - - - ListVariable - - type - list - - - - Index - - type - integer - - - - tooltip - Copies the string at Index in the list.\nReturns the value at Index in the specified list as a string. If Index describes a location not in the list then null string is returned. - - llList2Vector - - return - vector - arguments - - - ListVariable - - type - list - - - - Index - - type - integer - - - - tooltip - Copies the vector at Index in the list.\nReturns the value at Index in the specified list. If Index describes a location not in the list, or the value cannot be type-cast to a vector, then ZERO_VECTOR is returned. - - llListen - - return - integer - arguments - - - Channel - - type - integer - - - - SpeakersName - - type - string - - - - SpeakersID - - type - key - - - - Text - - type - string - - - - tooltip - Creates a listen callback for Text on Channel from SpeakersName and SpeakersID (SpeakersName, SpeakersID, and/or Text can be empty) and returns an identifier that can be used to deactivate or remove the listen.\nNon-empty values for SpeakersName, SpeakersID, and Text will filter the results accordingly, while empty strings and NULL_KEY will not filter the results, for string and key parameters respectively.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. - - llListenControl - - arguments - - - ChannelHandle - - type - integer - - - - Active - - type - integer - - - - tooltip - Makes a listen event callback active or inactive. Pass in the value returned from llListen to the iChannelHandle parameter to specify which listener you are controlling.\nUse boolean values to specify Active - - llListenRemove - - - arguments - - - ChannelHandle - - type - integer - - - - tooltip - Removes a listen event callback. Pass in the value returned from llListen to the iChannelHandle parameter to specify which listener to remove. - - llListFindList - - return - integer - arguments - - - ListVariable - - type - list - - - - Find - - type - list - - - - tooltip - Returns the index of the first instance of Find in ListVariable. Returns -1 if not found.\nReturns the position of the first instance of the Find list in the ListVariable. Returns -1 if not found. - - llListInsertList - - return - list - arguments - - - Target - - type - list - - - - ListVariable - - type - list - - - - Position - - type - integer - - - - tooltip - Returns a list that contains all the elements from Target but with the elements from ListVariable inserted at Position start.\nReturns a new list, created by inserting ListVariable into the Target list at Position. Note this does not alter the Target. - - llListRandomize - - return - list - arguments - - - ListVariable - - type - list - - - - Stride - - type - integer - - - - tooltip - Returns a version of the input ListVariable which has been randomized by blocks of size Stride.\nIf the remainder from the length of the list, divided by the stride is non-zero, this function does not randomize the list. - - llListReplaceList - - return - list - arguments - - - Target - - type - list - - - - ListVariable - - type - list - - - - Start - - type - integer - - - - End - - type - integer - - - - tooltip - Returns a list that is Target with Start through End removed and ListVariable inserted at Start.\nReturns a list replacing the slice of the Target list from Start to End with the specified ListVariable. Start and End are inclusive, so 0, 1 would replace the first two entries and 0, 0 would replace only the first list entry. - - llListSort - - return - list - arguments - - - ListVariable - - type - list - tooltip - List to sort. - - - - Stride - - type - integer - tooltip - Stride length. - - - - Ascending - - type - integer - tooltip - Boolean. TRUE = result in ascending order, FALSE = result in descending order. - - - - tooltip - Returns the specified list, sorted into blocks of stride in ascending order (if Ascending is TRUE, otherwise descending). Note that sort only works if the first entry of each block is the same datatype. - - llListStatistics - - return - float - arguments - - - Operation - - type - integer - tooltip - One of LIST_STAT_* values - - - - ListVariable - - type - list - tooltip - Variable to analyze. - - - - tooltip - Performs a statistical aggregate function, specified by a LIST_STAT_* constant, on ListVariables.\nThis function allows a script to perform a statistical operation as defined by operation on a list composed of integers and floats. - - llLoadURL - - sleep - 0.1 - arguments - - - AvatarID - - type - key - - - - Text - - type - string - - - - URL - - type - string - - - - tooltip - Shows dialog to avatar AvatarID offering to load web page at URL. If user clicks yes, launches their web browser.\nllLoadURL displays a dialogue box to the user, offering to load the specified web page using the default web browser. - - llLog - - return - float - arguments - - - Value - - type - float - - - - tooltip - Returns the natural logarithm of Value. Returns zero if Value <= 0.\nReturns the base e (natural) logarithm of the specified Value. - - llLog10 - - return - float - arguments - - - Value - - type - float - - - - tooltip - Returns the base 10 logarithm of Value. Returns zero if Value <= 0.\nReturns the base 10 (common) logarithm of the specified Value. - - llLookAt - - arguments - - - Target - - type - vector - - - - Strength - - type - float - - - - Damping - - type - float - - - - tooltip - Cause object name to point its forward axis towards Target, at a force controlled by Strength and Damping.\nGood Strength values are around half the mass of the object and good Damping values are less than 1/10th of the Strength.\nAsymmetrical shapes require smaller Damping. A Strength of 0.0 cancels the look at. - - llLoopSound - - arguments - - - Sound - - type - string - - - - Volume - - type - float - - - - tooltip - Plays specified Sound, looping indefinitely, at Volume (0.0 - 1.0).\nOnly one sound may be attached to an object at a time.\nA second call to llLoopSound with the same key will not restart the sound, but the new volume will be used. This allows control over the volume of already playing sounds.\nSetting the volume to 0 is not the same as calling llStopSound; a sound with 0 volume will continue to loop.\nTo restart the sound from the beginning, call llStopSound before calling llLoopSound again. - - llLoopSoundMaster - - arguments - - - Sound - - type - string - - - - Volume - - type - float - - - - tooltip - Plays attached Sound, looping at volume (0.0 - 1.0), and declares it a sync master.\nBehaviour is identical to llLoopSound, with the addition of marking the source as a "Sync Master", causing "Slave" sounds to sync to it. If there are multiple masters within a viewers interest area, the most audible one (a function of both distance and volume) will win out as the master.\nThe use of multiple masters within a small area is unlikely to produce the desired effect. - - llLoopSoundSlave - - arguments - - - Sound - - type - string - - - - - Volume - - type - float - - - - tooltip - Plays attached sound looping at volume (0.0 - 1.0), synced to most audible sync master.\nBehaviour is identical to llLoopSound, unless there is a "Sync Master" present.\nIf a Sync Master is already playing the Slave sound will begin playing from the same point the master is in its loop synchronizing the loop points of both sounds.\nIf a Sync Master is started when the Slave is already playing, the Slave will skip to the correct position to sync with the Master. - - llManageEstateAccess - - return - integer - arguments - - - Action - - type - integer - tooltip - One of the ESTATE_ACCESS_ALLOWED_* actions. - - - - AvatarID - - type - key - tooltip - UUID of the avatar or group to act upon. - - - - tooltip - Adds or removes agents from the estate's agent access or ban lists, or groups to the estate's group access list. Action is one of the ESTATE_ACCESS_ALLOWED_* operations to perform.\nReturns an integer representing a boolean, TRUE if the call was successful; FALSE if throttled, invalid action, invalid or null id or object owner is not allowed to manage the estate.\nThe object owner is notified of any changes, unless PERMISSION_SILENT_ESTATE_MANAGEMENT has been granted to the script. - - llMapDestination - - sleep - 1.0 - arguments - - - RegionName - - type - string - - - - Position - - type - vector - - - - Direction - - type - vector - - - - tooltip - Opens world map for avatar who touched is is wearing the script, centred on RegionName with Position highlighted. Only works for scripts attached to avatar, or during touch events.\nDirection currently has no effect. - - llMD5String - - return - string - arguments - - - Text - - type - string - - - - Nonce - - type - integer - - - - tooltip - Returns a string of 32 hex characters that is an RSA Data Security Inc., MD5 Message-Digest Algorithm of Text with Nonce used as the salt.\nReturns a 32-character hex string. (128-bit in binary.) - - llMessageLinked - - arguments - - - LinkNumber - - type - integer - - - - Number - - type - integer - - - - Text - - type - string - - - - ID - - type - key - - - - tooltip - Sends Number, Text, and ID to members of the link set identified by LinkNumber.\nLinkNumber is either a linked number (available through llGetLinkNumber) or a LINK_* constant. - - llMinEventDelay - - arguments - - - Delay - - type - float - - - - tooltip - Set the minimum time between events being handled. - - llModifyLand - - arguments - - - Action - - type - integer - tooltip - LAND_LEVEL, LAND_RAISE, LAND_LOWER, LAND_SMOOTH, LAND_NOISE or LAND_REVERT - - - - Area - - type - integer - tooltip - 0, 1, 2 (2m x 2m, 4m x 4m, or 8m x 8m) - - - - tooltip - Modify land with action (LAND_LEVEL, LAND_RAISE, LAND_LOWER, LAND_SMOOTH, LAND_NOISE, LAND_REVERT) on size (0, 1, 2, corresponding to 2m x 2m, 4m x 4m, 8m x 8m). - - llModPow - - sleep - 1.0 - return - integer - arguments - - - Value - - type - integer - - - - Power - - type - integer - - - - Modulus - - type - integer - - - - tooltip - Returns a Value raised to the Power, mod Modulus. ((a**b)%c) b is capped at 0xFFFF (16 bits).\nReturns (Value ^ Power) % Modulus. (Value raised to the Power, Modulus). Value is capped at 0xFFFF (16 bits). - - llMoveToTarget - - arguments - - - Target - - type - vector - - - - Tau - - type - float - - - - tooltip - Critically damp to Target in Tau seconds (if the script is physical).\nCritically damp to position target in tau-seconds if the script is physical. Good tau-values are greater than 0.2. A tau of 0.0 stops the critical damping. - - llOffsetTexture - - sleep - 0.2 - arguments - - - OffsetS - - type - float - - - - OffsetT - - type - float - - - - Face - - type - integer - - - - tooltip - Sets the texture S and T offsets for the chosen Face.\nIf Face is ALL_SIDES this function sets the texture offsets for all faces. - - llOverMyLand - - return - integer - arguments - - - ID - - type - key - - - - tooltip - Returns TRUE if id ID over land owned by the script owner, otherwise FALSE.\nReturns TRUE if key ID is over land owned by the object owner, FALSE otherwise. - - llOwnerSay - - arguments - - - Text - - type - string - - - - tooltip - says Text to owner only (if owner is in region).\nSays Text to the owner of the object running the script, if the owner has been within the object's simulator since logging into Second Life, regardless of where they may be in-world. - - llParcelMediaCommandList - - sleep - 2.0 - arguments - - - CommandList - - type - list - tooltip - A list of PARCEL_MEDIA_COMMAND_* flags and their parameters - - - - tooltip - Controls the playback of multimedia resources on a parcel or for an agent, via one or more PARCEL_MEDIA_COMMAND_* arguments specified in CommandList. - - llParcelMediaQuery - - sleep - 2.0 - return - list - arguments - - - QueryList - - type - list - - - - tooltip - Queries the media properties of the parcel containing the script, via one or more PARCEL_MEDIA_COMMAND_* arguments specified in CommandList.\nThis function will only work if the script is contained within an object owned by the land-owner (or if the land is owned by a group, only if the object has been deeded to the group). - - llParseString2List - - return - list - arguments - - - Text - - type - string - - - - Separators - - type - list - - - - Spacers - - type - list - - - - tooltip - Converts Text into a list, discarding Separators, keeping Spacers (Separators and Spacers must be lists of strings, maximum of 8 each).\nSeparators and Spacers are lists of strings with a maximum of 8 entries each. - - llParseStringKeepNulls - - return - list - arguments - - - Text - - type - string - - - - Separators - - type - list - - - - Spacers - - type - list - - - - tooltip - Breaks Text into a list, discarding separators, keeping spacers, keeping any null values generated. (separators and spacers must be lists of strings, maximum of 8 each).\nllParseStringKeepNulls works almost exactly like llParseString2List, except that if a null is found it will add a null-string instead of discarding it like llParseString2List does. - - llParticleSystem - - - arguments - - - Parameters - - type - list - - - - tooltip - Creates a particle system in the prim the script is attached to, based on Parameters. An empty list removes a particle system from object.\nList format is [ rule-1, data-1, rule-2, data-2 ... rule-n, data-n ]. - - llPassCollisions - - arguments - - - Pass - - type - integer - tooltip - Boolean, if TRUE, collisions are passed from children on to parents. - - - - tooltip - Configures how collision events are passed to scripts in the linkset.\nIf Pass == TRUE, collisions involving collision-handling scripted child prims are also passed on to the root prim. If Pass == FALSE (default behavior), such collisions will only trigger events in the affected child prim. - - llPassTouches - - arguments - - - Pass - - type - integer - tooltip - Boolean, if TRUE, touches are passed from children on to parents. - - - - tooltip - Configures how touch events are passed to scripts in the linkset.\nIf Pass == TRUE, touches involving touch-handling scripted child prims are also passed on to the root prim. If Pass == FALSE (default behavior), such touches will only trigger events in the affected child prim. - - llPlaySound - - arguments - - - Sound - - type - string - - - - Volume - - type - float - - - - tooltip - Plays Sound once, at Volume (0.0 - 1.0) and attached to the object.\nOnly one sound may be attached to an object at a time, and attaching a new sound or calling llStopSound will stop the previously attached sound.\nA second call to llPlaySound with the same sound will not restart the sound, but the new volume will be used, which allows control over the volume of already playing sounds.\nTo restart the sound from the beginning, call llStopSound before calling llPlaySound again. - - llPlaySoundSlave - - arguments - - - Sound - - type - string - - - - Volume - - type - float - - - - tooltip - Plays attached Sound once, at Volume (0.0 - 1.0), synced to next loop of most audible sync master.\nBehaviour is identical to llPlaySound, unless there is a "Sync Master" present. If a Sync Master is already playing, the Slave sound will not be played until the Master hits its loop point and returns to the beginning.\nllPlaySoundSlave will play the sound exactly once; if it is desired to have the sound play every time the Master loops, either use llLoopSoundSlave with extra silence padded on the end of the sound or ensure that llPlaySoundSlave is called at least once per loop of the Master. - - llPow - - return - float - arguments - - - Value - - type - float - - - - Exponent - - type - float - - - - tooltip - Returns the Value raised to the power Exponent, or returns 0 and triggers Math Error for imaginary results.\nReturns the Value raised to the Exponent. - - llPreloadSound - - sleep - 1.0 - arguments - - - Sound - - type - string - - - - tooltip - Causes nearby viewers to preload the Sound from the object's inventory.\nThis is intended to prevent delays in starting new sounds when called upon. - - llPushObject - - arguments - - - ObjectID - - type - key - - - - Impulse - - type - vector - - - - AngularImpulse - - type - vector - - - - Local - - type - integer - - - - tooltip - Applies Impulse and AngularImpulse to ObjectID.\nApplies the supplied impulse and angular impulse to the object specified. - - llRefreshPrimURL - - sleep - 20.0 - arguments - - tooltip - Reloads the web page shown on the sides of the object. - - llRegionSay - - arguments - - - Channel - - type - integer - tooltip - Any integer value except zero. - - - - Text - - type - string - tooltip - Message to be transmitted. - - - - tooltip - Broadcasts Text to entire region on Channel (except for channel 0). - - llRegionSayTo - - arguments - - - TargetID - - type - key - tooltip - Avatar or object to say to. - - - - Channel - - type - integer - tooltip - Output channel, any integer value. - - - - Text - - type - string - tooltip - Message to be transmitted. - - - - tooltip - Says Text, on Channel, to avatar or object indicated by TargetID (if within region).\nIf TargetID is an avatar and Channel is nonzero, Text can be heard by any attachment on the avatar. - - llReleaseCamera - - deprecated - true - - arguments - - - AvatarID - - type - key - - - - tooltip - Return camera to agent.\nDeprecated: Use llClearCameraParams instead. - - llReleaseControls - - arguments - - tooltip - Stop taking inputs.\nStop taking inputs from the avatar. - - llReleaseURL - - arguments - - - URL - - type - string - tooltip - URL to release. - - - - tooltip - Releases the specified URL, which was previously obtained using llRequestURL. Once released, the URL will no longer be usable. - - llRemoteDataReply - - deprecated - true - sleep - 3.0 - arguments - - - ChannelID - - type - key - - - - MessageID - - type - key - - - - sData - - type - string - tooltip - String data to send - - - - iData - - type - integer - tooltip - Integer data to send - - - - tooltip - Send an XML-RPC reply to MessageID on ChannelID with payload of string sData and integer iData. Deprecated: Use HTTP functions/events instead.\nThe size of sData is limited to 254 characters. - - llRemoteLoadScriptPin - - sleep - 3.0 - arguments - - - ObjectID - - type - key - tooltip - Target prim to attempt copying into. - - - - ScriptName - - type - string - tooltip - Name of the script in current inventory to copy. - - - - PIN - - type - integer - tooltip - Integer set on target prim as a Personal Information Number code. - - - - Running - - type - integer - tooltip - If the script should be set running in the target prim. - - - - StartParameter - - type - integer - tooltip - Integer. Parameter passed to the script if set to be running. - - - - tooltip - If the owner of the object containing this script can modify the object identified by the specified object key, and if the PIN matches the PIN previously set using llSetRemoteScriptAccessPin (on the target prim), then the script will be copied into target. Running is a boolean specifying whether the script should be enabled once copied into the target object. - - llRemoveFromLandBanList - - arguments - - - AvatarID - - type - key - - - - tooltip - Remove avatar from the land ban list.\nRemove specified avatar from the land parcel ban list. - - llRemoveFromLandPassList - - - arguments - - - AvatarID - - type - key - - - - tooltip - Remove avatar from the land pass list.\nRemove specified avatar from the land parcel pass list. - - llRemoveInventory - - arguments - - - InventoryItem - - type - string - - - - tooltip - Remove the named inventory item.\nRemove the named inventory item from the object inventory. - - llRemoveVehicleFlags - - - arguments - - - Vehiclelags - - type - integer - - - - tooltip - Removes the enabled bits in 'flags'.\nSets the vehicle flags to FALSE. Valid parameters can be found in the vehicle flags constants section. - - llRequestAgentData - - sleep - 0.1 - return - key - arguments - - - AvatarID - - type - key - - - - Data - - type - integer - - - - tooltip - Requests data about AvatarID. When data is available the dataserver event will be raised.\nThis function requests data about an avatar. If and when the information is collected, the dataserver event is triggered with the key returned from this function passed in the requested parameter. See the agent data constants (DATA_*) for details about valid values of data and what each will return in the dataserver event. - - llRequestDisplayName - - return - key - arguments - - - AvatarID - - type - key - tooltip - Avatar UUID - - - - tooltip - Requests the display name of the agent. When the display name is available the dataserver event will be raised.\nThe avatar identified does not need to be in the same region or online at the time of the request.\nReturns a key that is used to identify the dataserver event when it is raised. - - llRequestInventoryData - - sleep - 1.0 - return - key - arguments - - - InventoryItem - - type - string - - - - tooltip - Requests data for the named InventoryItem.\nWhen data is available, the dataserver event will be raised with the key returned from this function in the requested parameter.\nThe only request currently implemented is to request data from landmarks, where the data returned is in the form "<float, float, float>" which can be cast to a vector. This position is in region local coordinates. - - llRequestPermissions - - arguments - - - AvatarID - - type - key - - - - PermissionMask - - type - integer - - - - tooltip - Ask AvatarID to allow the script to perform certain actions, specified in the PermissionMask bitmask. PermissionMask should be one or more PERMISSION_* constants. Multiple permissions can be requested simultaneously by ORing the constants together. Many of the permissions requests can only go to object owner.\nThis call will not stop script execution. If the avatar grants the requested permissions, the run_time_permissions event will be called. - - llRequestSecureURL - - return - key - arguments - - tooltip - Requests one HTTPS:// (SSL) URL for use by this object. The http_request event is triggered with results.\nReturns a key that is the handle used for identifying the request in the http_request event. - - llRequestSimulatorData - - sleep - 1.0 - return - key - arguments - - - RegionName - - type - string - - - - Data - - type - integer - - - - tooltip - Requests the specified Data about RegionName. When the specified data is available, the dataserver event is raised.\nData should use one of the DATA_SIM_* constants.\nReturns a dataserver query ID and triggers the dataserver event when data is found. - - llRequestURL - - return - key - arguments - - tooltip - Requests one HTTP:// URL for use by this script. The http_request event is triggered with the result of the request.\nReturns a key that is the handle used for identifying the result in the http_request event. - - llRequestUsername - - return - key - arguments - - - AvatarID - - type - key - - - - tooltip - Requests single-word user-name of an avatar. When data is available the dataserver event will be raised.\nRequests the user-name of the identified agent. When the user-name is available the dataserver event is raised.\nThe agent identified does not need to be in the same region or online at the time of the request.\nReturns a key that is used to identify the dataserver event when it is raised. - - llResetAnimationOverride - - arguments - - - AnimationState - - type - string - - - - tooltip - Resets the animation of the specified animation state to the default value.\nIf animation state equals "ALL", then all animation states are reset. - - llResetLandBanList - - - arguments - - tooltip - Removes all residents from the land ban list. - - llResetLandPassList - - arguments - - tooltip - Removes all residents from the land access/pass list. - - llResetOtherScript - - arguments - - - ScriptName - - type - string - - - - tooltip - Resets the named script. - - llResetScript - - - arguments - - tooltip - Resets the script. - - llResetTime - - arguments - - tooltip - Sets the time to zero.\nSets the internal timer to zero. - - llReturnObjectsByID - - return - integer - arguments - - - ObjectIDs - - type - list - tooltip - List of object UUIDs to be returned. - - - - tooltip - Return objects using their UUIDs.\nRequires the PERMISSION_RETURN_OBJECTS permission and that the script owner owns the parcel the returned objects are in, or is an estate manager or region owner. - - llReturnObjectsByOwner - - return - integer - arguments - - - ID - - type - key - tooltip - Object owner's UUID. - - - - Scope - - type - integer - - - - tooltip - Return objects based upon their owner and a scope of parcel, parcel owner, or region.\nRequires the PERMISSION_RETURN_OBJECTS permission and that the script owner owns the parcel the returned objects are in, or is an estate manager or region owner. - - llRezAtRoot - - sleep - 0.1 - arguments - - - InventoryItem - - type - string - - - - Position - - type - vector - - - - Velocity - - type - vector - - - - Rotation - - type - rotation - - - - StartParameter - - type - integer - - - - tooltip - Instantiate owner's InventoryItem at Position with Velocity, Rotation and with StartParameter. The last selected root object's location will be set to Position.\nCreates object's inventory item at the given Position, with Velocity, Rotation, and StartParameter. - - llRezObject - - sleep - 0.1 - arguments - - - InventoryItem - - type - string - - - - Position - - type - vector - - - - Velocity - - type - vector - - - - Rotation - - type - rotation - - - - StartParameter - - type - integer - - - - tooltip - Instantiate owners InventoryItem at Position with Velocity, Rotation and with start StartParameter.\nCreates object's inventory item at Position with Velocity and Rotation supplied. The StartParameter value will be available to the newly created object in the on_rez event or through the llGetStartParameter function.\nThe Velocity parameter is ignored if the rezzed object is not physical. - - llRot2Angle - - return - float - arguments - - - Rotation - - type - rotation - - - - tooltip - Returns the rotation angle represented by Rotation.\nReturns the angle represented by the Rotation. - - llRot2Axis - - return - vector - arguments - - - Rotation - - type - rotation - - - - tooltip - Returns the rotation axis represented by Rotation.\nReturns the axis represented by the Rotation. - - llRot2Euler - - return - vector - arguments - - - Rotation - - type - rotation - - - - tooltip - Returns the Euler representation (roll, pitch, yaw) of Rotation.\nReturns the Euler Angle representation of the Rotation. - - llRot2Fwd - - return - vector - arguments - - - Rotation - - type - rotation - - - - tooltip - Returns the forward vector defined by Rotation.\nReturns the forward axis represented by the Rotation. - - llRot2Left - - return - vector - arguments - - - Rotation - - type - rotation - - - - tooltip - Returns the left vector defined by Rotation.\nReturns the left axis represented by the Rotation. - - llRot2Up - - return - vector - arguments - - - Rotation - - type - rotation - - - - tooltip - Returns the up vector defined by Rotation.\nReturns the up axis represented by the Rotation. - - llRotateTexture - - sleep - 0.2 - arguments - - - Radians - - type - float - - - - Face - - type - integer - - - - tooltip - Sets the texture rotation for the specified Face to angle Radians.\nIf Face is ALL_SIDES, rotates the texture of all sides. - - llRotBetween - - return - rotation - arguments - - - Vector1 - - type - vector - - - - Vector2 - - type - vector - - - - tooltip - Returns the rotation to rotate Vector1 to Vector2.\nReturns the rotation needed to rotate Vector1 to Vector2. - - llRotLookAt - - arguments - - - Rotation - - type - rotation - - - - Strength - - type - float - - - - Damping - - type - float - - - - tooltip - Cause object to rotate to Rotation, with a force function defined by Strength and Damping parameters. Good strength values are around half the mass of the object and good damping values are less than 1/10th of the strength.\nAsymmetrical shapes require smaller damping.\nA strength of 0.0 cancels the look at. - - llRotTarget - - return - integer - arguments - - - Rotation - - type - rotation - - - - LeeWay - - type - float - - - - tooltip - Set rotations with error of LeeWay radians as a rotational target, and return an ID for the rotational target.\nThe returned number is a handle that can be used in at_rot_target and llRotTargetRemove. - - llRotTargetRemove - - - arguments - - - Handle - - type - integer - - - - tooltip - Removes rotational target number.\nRemove rotational target indicated by the handle. - - llRound - - return - integer - arguments - - - Value - - type - float - - - - tooltip - Returns Value rounded to the nearest integer.\nReturns the Value rounded to the nearest integer. - - llSameGroup - - return - integer - arguments - - - ID - - type - key - - - - tooltip - Returns TRUE if avatar ID is in the same region and has the same active group, otherwise FALSE.\nReturns TRUE if the object or agent identified is in the same simulator and has the same active group as this object. Otherwise, returns FALSE. - - llSay - - arguments - - - Channel - - type - integer - tooltip - Channel to use to say text on. - - - - Text - - type - string - tooltip - Text to say. - - - - tooltip - Says Text on Channel.\nThis chat method has a range of 20m radius.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. - - llScaleByFactor - - return - integer - arguments - - - ScalingFactor - - type - float - tooltip - The multiplier to be used with the prim sizes and their local positions. - - - - tooltip - Attempts to resize the entire object by ScalingFactor, maintaining the size-position ratios of the prims.\n\nResizing is subject to prim scale limits and linkability limits. This function can not resize the object if the linkset is physical, a pathfinding character, in a keyframed motion, or if resizing would cause the parcel to overflow.\nReturns a boolean (an integer) TRUE if it succeeds, FALSE if it fails. - - llScaleTexture - - sleep - 0.2 - arguments - - - Horizontal - - type - float - - - - Vertical - - type - float - - - - - Face - - type - integer - - - - tooltip - Sets the diffuse texture Horizontal and Vertical repeats on Face of the prim the script is attached to.\nIf Face == ALL_SIDES, all sides are set in one call.\nNegative values for horizontal and vertical will flip the texture. - - llScriptDanger - - return - integer - arguments - - - Position - - type - vector - - - - tooltip - Returns TRUE if Position is over public land, sandbox land, land that doesn't allow everyone to edit and build, or land that doesn't allow outside scripts.\nReturns true if the position is over public land, land that doesn't allow everyone to edit and build, or land that doesn't allow outside scripts. - - llScriptProfiler - - - arguments - - - State - - type - integer - tooltip - PROFILE_NONE or PROFILE_SCRIPT_MEMORY flags to control the state. - - - - tooltip - Enables or disables script profiling options. Currently only supports PROFILE_SCRIPT_MEMORY (Mono only) and PROFILE_NONE.\nMay significantly reduce script performance. - - llSendRemoteData - - deprecated - true - sleep - 3.0 - return - key - arguments - - - ChannelID - - type - key - - - - Destination - - type - string - - - - Value - - type - integer - - - - Text - - type - string - - - - tooltip - Deprecated: use HTTP functions and events instead.\nSends an XML-RPC request to Destination through ChannelID with payload of ChannelID (in a string), integer Value and string Text.\nReturns a key that is the message_id for the resulting remote_data events. - - llSensor - - arguments - - - Name - - type - string - tooltip - Object or avatar name. - - - - ID - - type - key - tooltip - Object or avatar UUID. - - - - Type - - type - integer - tooltip - Bit-field mask of AGENT, AGENT_BY_LEGACY_NAME, AGENT_BY_USERNAME, ACTIVE, PASSIVE, and/or SCRIPTED - - - - Range - - type - float - tooltip - Distance to scan. 0.0 - 96.0m. - - - - Arc - - type - float - tooltip - Angle, in radians, from the local x-axis of the prim to scan. - - - - tooltip - Performs a single scan for Name and ID with Type (AGENT, ACTIVE, PASSIVE, and/or SCRIPTED) within Range meters and Arc radians of forward vector.\nSpecifying a blank Name, 0 Type, or NULL_KEY ID will prevent filtering results based on that parameter. A range of 0.0 does not perform a scan.\nResults are returned in the sensor and no_sensor events. - - llSensorRemove - - arguments - - tooltip - removes sensor.\nRemoves the sensor set by llSensorRepeat. - - llSensorRepeat - - arguments - - - Name - - type - string - tooltip - Object or avatar name. - - - - ID - - type - key - tooltip - Object or avatar UUID. - - - - Type - - type - integer - tooltip - Bit-field mask of AGENT, AGENT_BY_LEGACY_NAME, AGENT_BY_USERNAME, ACTIVE, PASSIVE, and/or SCRIPTED - - - - Range - - type - float - tooltip - Distance to scan. 0.0 - 96.0m. - - - - Arc - - type - float - tooltip - Angle, in radians, from the local x-axis of the prim to scan. - - - - Rate - - type - float - tooltip - Period, in seconds, between scans. - - - - tooltip - Initiates a periodic scan every Rate seconds, for Name and ID with Type (AGENT, ACTIVE, PASSIVE, and/or SCRIPTED) within Range meters and Arc radians of forward vector.\nSpecifying a blank Name, 0 Type, or NULL_KEY ID will prevent filtering results based on that parameter. A range of 0.0 does not perform a scan.\nResults are returned in the sensor and no_sensor events. - - llSetAlpha - - arguments - - - Opacity - - type - float - - - - Face - - type - integer - - - - tooltip - Sets the alpha (opacity) of Face.\nSets the alpha (opacity) value for Face. If Face is ALL_SIDES, sets the alpha for all faces. The alpha value is interpreted as an opacity percentage (1.0 is fully opaque, and 0.2 is mostly transparent). This function will clamp alpha values less than 0.1 to 0.1 and greater than 1.0 to 1. - - llSetAngularVelocity - - arguments - - - AngVel - - type - vector - tooltip - The angular velocity to set the object to. - - - - Local - - type - integer - tooltip - If TRUE, the AngVel is treated as a local directional vector instead of a regional directional vector. - - - - tooltip - Sets an object's angular velocity to AngVel, in local coordinates if Local == TRUE (if the script is physical).\nHas no effect on non-physical objects. - - llSetAnimationOverride - - arguments - - - AnimationState - - type - string - - - - AnimationName - - type - string - - - - tooltip - Sets the animation (in object inventory) that will play for the given animation state.\nTo use this function the script must obtain the PERMISSION_OVERRIDE_ANIMATIONS permission. - - llSetBuoyancy - - - arguments - - - Buoyancy - - type - float - - - - tooltip - Set the tasks buoyancy (0 is none, < 1.0 sinks, 1.0 floats, > 1.0 rises).\nSet the object buoyancy. A value of 0 is none, less than 1.0 sinks, 1.0 floats, and greater than 1.0 rises. - - llSetCameraAtOffset - - arguments - - - Offset - - type - vector - - - - tooltip - Sets the camera used in this object, at offset, if an avatar sits on it.\nSets the offset that an avatar's camera will be moved to if the avatar sits on the object. - - llSetCameraEyeOffset - - - arguments - - - Offset - - type - vector - - - - - tooltip - Sets the camera eye offset used in this object if an avatar sits on it. - - llSetCameraParams - - arguments - - - Parameters - - type - list - - - - tooltip - Sets multiple camera parameters at once. List format is [ rule-1, data-1, rule-2, data-2 . . . rule-n, data-n ]. - - llSetClickAction - - arguments - - - Action - - type - integer - tooltip - A CLICK_ACTION_* flag - - - - tooltip - Sets the action performed when a prim is clicked upon. - - llSetColor - - arguments - - - Color - - type - vector - - - - Face - - type - integer - - - - tooltip - Sets the color, for the face.\nSets the color of the side specified. If Face is ALL_SIDES, sets the color on all faces. - - llSetContentType - - arguments - - - HTTPRequestID - - type - key - tooltip - A valid http_request() key - - - - ContentType - - type - integer - tooltip - Media type to use with any following llHTTPResponse(HTTPRequestID, ...) - - - - tooltip - Set the media type of an LSL HTTP server response to ContentType.\nHTTPRequestID must be a valid http_request ID. ContentType must be one of the CONTENT_TYPE_* constants. - - llSetDamage - - arguments - - - Damage - - type - float - - - - - tooltip - Sets the amount of damage that will be done to an avatar that this task hits. Task will be killed.\nSets the amount of damage that will be done to an avatar that this object hits. This object will be destroyed on damaging an avatar, and no collision event is triggered. - - llSetForce - - - arguments - - - Force - - type - vector - tooltip - Directional force. - - - - Local - - type - integer - tooltip - Boolean, if TRUE uses local axis, if FALSE uses region axis. - - - - tooltip - Sets Force on object, in object-local coordinates if Local == TRUE (otherwise, the region reference frame is used).\nOnly works on physical objects. - - llSetForceAndTorque - - arguments - - - Force - - type - vector - tooltip - Directional force. - - - - Torque - - type - vector - tooltip - Torque force. - - - - Local - - type - integer - tooltip - Boolean, if TRUE uses local axis, if FALSE uses region axis. - - - - tooltip - Sets the Force and Torque of object, in object-local coordinates if Local == TRUE (otherwise, the region reference frame is used).\nOnly works on physical objects. - - llSetHoverHeight - - arguments - - - Height - - type - float - tooltip - Distance above the ground. - - - - Water - - type - integer - tooltip - Boolean, if TRUE then hover above water too. - - - - Tau - - type - float - tooltip - Seconds to critically damp in. - - - - tooltip - Critically damps a physical object to a Height (either above ground level or above the higher of land and water if water == TRUE).\nDo not use with vehicles. Use llStopHover to stop hovering. - - llSetInventoryPermMask - - god-mode - true - arguments - - - InventoryItem - - type - string - tooltip - An item in the prim's inventory - - - - PermissionFlag - - type - integer - tooltip - MASK_* flag - - - - PermissionMask - - type - integer - tooltip - Permission bit-field (PERM_* flags) - - - - tooltip - Sets the given permission mask to the new value on the inventory item. - - llSetKeyframedMotion - - - arguments - - - Keyframes - - type - list - tooltip - Strided keyframe list of the form: position, orientation, time. Each keyframe is interpreted relative to the previous transform of the object. - - - - Options - - type - list - - - - tooltip - Requests that a non-physical object be key-framed according to key-frame list.\nSpecify a list of times, positions, and orientations to be followed by an object. The object will be smoothly moved between key-frames by the simulator. Collisions with other non-physical or key-framed objects will be ignored (no script events will fire and collision processing will not occur). Collisions with physical objects will be computed and reported, but the key-framed object will be unaffected by those collisions.\nKeyframes is a strided list containing positional, rotational, and time data for each step in the motion. Options is a list containing optional arguments and parameters (specified by KFM_* constants). - - llSetLinkAlpha - - - arguments - - - LinkNumber - - type - integer - - - - Opacity - - type - float - - - - Face - - type - integer - - - - tooltip - If a prim exists in the link chain at LinkNumber, set Face to Opacity.\nSets the Face, on the linked prim specified, to the Opacity. - - llSetLinkCamera - - arguments - - - LinkNumber - - type - integer - tooltip - Prim link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag - - - - EyeOffset - - type - vector - tooltip - Offset, relative to the object's centre and expressed in local coordinates, that the camera looks from. - - - - LookOffset - - type - vector - tooltip - Offset, relative to the object's centre and expressed in local coordinates, that the camera looks toward. - - - - tooltip - Sets the camera eye offset, and the offset that camera is looking at, for avatars that sit on the linked prim. - - llSetLinkColor - - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag. - - - - Color - - type - vector - tooltip - Color in RGB <R.R, G.G, B.B> - - - - Face - - type - integer - tooltip - Side number or ALL_SIDES. - - - - tooltip - If a task exists in the link chain at LinkNumber, set the Face to color.\nSets the color of the linked child's side, specified by LinkNumber. - - llSetLinkMedia - - return - integer - arguments - - - Link - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims). - - - - Face - - type - integer - tooltip - Face number. - - - - Parameters - - type - list - tooltip - A set of name/value pairs (in no particular order) - - - - tooltip - Set the media parameters for a particular face on linked prim, specified by Link. Returns an integer that is a STATUS_* flag which details the success/failure of the operation(s).\nMediaParameters is a set of name/value pairs in no particular order. Parameters not specified are unchanged, or if new media is added then set to the default specified. - - llSetLinkPrimitiveParams - - sleep - 0.2 - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag - - - - Parameters - - type - list - - - - - tooltip - Set primitive parameters for LinkNumber based on Parameters.\nSets the parameters (or properties) of any linked prim in one step. - - llSetLinkPrimitiveParamsFast - - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag - - - - Parameters - - type - list - - - - tooltip - Set primitive parameters for LinkNumber based on Parameters, without a delay.\nSet parameters for link number, from the list of Parameters, with no built-in script sleep. This function is identical to llSetLinkPrimitiveParams, except without the delay. - - llSetLinkTexture - - sleep - 0.2 - arguments - - - LinkNumber - - type - integer - - - - Texture - - type - string - - - - Face - - type - integer - - - - tooltip - Sets the Texture of Face on a linked prim, specified by LinkNumber. Texture may be a UUID or name of a texture in prim inventory. - - llSetLinkTextureAnim - - arguments - - - LinkNumber - - type - integer - tooltip - Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag to effect - - - - Mode - - type - integer - tooltip - Bitmask of animation options. - - - - Face - - type - integer - tooltip - Specifies which object face to animate or ALL_SIDES. - - - - SizeX - - type - integer - tooltip - Horizontal frames (ignored for ROTATE and SCALE). - - - - SizeY - - type - integer - tooltip - Vertical frames (ignored for ROTATE and SCALE). - - - - Start - - type - float - tooltip - Start position/frame number (or radians for ROTATE). - - - - Length - - type - float - tooltip - Specifies the animation duration, in frames (or radians for ROTATE). - - - - Rate - - type - float - tooltip - Specifies the animation playback rate, in frames per second (must be greater than zero). - - - - tooltip - Animates a texture on the prim specified by LinkNumber, by setting the texture scale and offset.\nMode is a bitmask of animation options.\nFace specifies which object face to animate.\nSizeX and SizeY specify the number of horizontal and vertical frames.Start specifes the animation start point.\nLength specifies the animation duration.\nRate specifies the animation playback rate. - - llSetLocalRot - - sleep - 0.2 - arguments - - - Rotation - - type - rotation - - - - - tooltip - Sets the rotation of a child prim relative to the root prim. - - llSetMemoryLimit - - return - integer - arguments - - - Limit - - type - integer - tooltip - The amount to reserve, which must be less than the allowed maximum (currently 64KB) and not already have been exceeded. - - - - tooltip - Requests Limit bytes to be reserved for this script.\nReturns TRUE or FALSE indicating whether the limit was set successfully.\nThis function has no effect if the script is running in the LSO VM. - - llSetObjectDesc - - arguments - - - Description - - type - string - - - - tooltip - Sets the description of the prim to Description.\nThe description field is limited to 127 characters. - - llSetObjectName - - arguments - - - Name - - type - string - - - - tooltip - Sets the prim's name to Name. - - llSetObjectPermMask - - god-mode - true - - arguments - - - PermissionFlag - - type - integer - tooltip - MASK_* flag - - - - PermissionMask - - type - integer - tooltip - Permission bit-field (PERM_* flags) - - - - tooltip - Sets the specified PermissionFlag permission to the value specified by PermissionMask on the object the script is attached to. - - llSetParcelMusicURL - - sleep - 2.0 - arguments - - - URL - - type - string - - - - tooltip - Sets the streaming audio URL for the parcel the object is on.\nThe object must be owned by the owner of the parcel; if the parcel is group owned the object must be owned by that group. - - llSetPayPrice - - arguments - - - Price - - type - integer - tooltip - The default price shown in the textu input field. - - - - QuickButtons - - type - list - tooltip - Specifies the 4 payment values shown in the payment dialog's buttons (or PAY_HIDE). - - - - tooltip - Sets the default amount when someone chooses to pay this object.\nPrice is the default price shown in the textu input field. QuickButtons specifies the 4 payment values shown in the payment dialog's buttons.\nInput field and buttons may be hidden with PAY_HIDE constant, and may be set to their default values using PAY_DEFAULT. - - llSetPhysicsMaterial - - arguments - - - MaterialBits - - type - integer - tooltip - A bitmask specifying which of the parameters in the other arguments should be applied to the object. - - - - GravityMultiplier - - type - float - - - - Restitution - - type - float - - - - Friction - - type - float - - - - Density - - type - float - - - - tooltip - Sets the selected parameters of the object's physics behavior.\nMaterialBits is a bitmask specifying which of the parameters in the other arguments should be applied to the object. GravityMultiplier, Restitution, Friction, and Density are the possible parameters to manipulate. - - llSetPos - - sleep - 0.2 - arguments - - - Position - - type - vector - tooltip - Region coordinates to move to (within 10m). - - - - tooltip - If the object is not physical, this function sets the position of the prim.\nIf the script is in a child prim, Position is treated as root relative and the link-set is adjusted.\nIf the prim is the root prim, the entire object is moved (up to 10m) to Position in region coordinates. - - llSetPrimitiveParams - - sleep - 0.2 - arguments - - - Parameters - - type - list - tooltip - A list of changes. - - - - tooltip - This function changes the many properties (or "parameters") of a prim in one operation. Parameters is a list of changes. - - llSetPrimMediaParams - - sleep - 1.0 - return - integer - arguments - - - Face - - type - integer - tooltip - Face number - - - - MediaParameters - - type - list - tooltip - A set of name/value pairs (in no particular order) - - - - tooltip - Sets the MediaParameters for a particular Face on the prim. Returns an integer that is a STATUS_* flag which details the success/failure of the operation(s).\nMediaParameters is a set of name/value pairs in no particular order. Parameters not specified are unchanged, or if new media is added then set to the default specified. - - llSetPrimURL - - deprecated - true - sleep - 20.0 - - arguments - - - URL - - type - string - - - - tooltip - Deprecated: Use llSetPrimMediaParams instead. - - llSetRegionPos - - return - integer - arguments - - - Position - - type - vector - tooltip - Vector. The location to move to, in region coordinates. - - - - tooltip - Attempts to move the object so that the root prim is within 0.1m of Position.\nReturns an integer boolean, TRUE if the object is successfully placed within 0.1 m of Position, FALSE otherwise.\nPosition may be any location within the region or up to 10m across a region border.\nIf the position is below ground, it will be set to the ground level at that x,y location. - - llSetRemoteScriptAccessPin - - sleep - 0.2 - arguments - - - PIN - - type - integer - - - - tooltip - If PIN is set to a non-zero number, the task will accept remote script loads via llRemoteLoadScriptPin() if it passes in the correct PIN. Othersise, llRemoteLoadScriptPin() is ignored. - - llSetRot - - sleep - 0.2 - - arguments - - - Rotation - - type - rotation - - - - tooltip - If the object is not physical, this function sets the rotation of the prim.\nIf the script is in a child prim, Rotation is treated as root relative and the link-set is adjusted.\nIf the prim is the root prim, the entire object is rotated to Rotation in the global reference frame. - - llSetScale - - arguments - - - Scale - - type - vector - - - - - tooltip - Sets the prim's scale (size) to Scale. - - llSetScriptState - - - arguments - - - ScriptName - - type - string - - - - Running - - type - integer - - - - tooltip - Enable or disable the script Running state of Script in the prim. - - llSetSitText - - arguments - - - Text - - type - string - - - - tooltip - Displays Text rather than 'Sit' in the viewer's context menu. - - llSetSoundQueueing - - - arguments - - - QueueEnable - - type - integer - tooltip - Boolean, sound queuing: TRUE enables, FALSE disables (default). - - - - tooltip - Sets whether successive calls to llPlaySound, llLoopSound, etc., (attached sounds) interrupt the currently playing sound.\nThe default for objects is FALSE. Setting this value to TRUE will make the sound wait until the current playing sound reaches its end. The queue is one level deep. - - llSetSoundRadius - - - arguments - - - Radius - - type - float - tooltip - Maximum distance that sounds can be heard. - - - - tooltip - Limits radius for audibility of scripted sounds (both attached and triggered) to distance Radius. - - llSetStatus - - arguments - - - Status - - type - integer - - - - Value - - type - integer - - - - tooltip - Sets object status specified in Status bitmask (e.g. STATUS_PHYSICS|STATUS_PHANTOM) to boolean Value.\nFor a full list of STATUS_* constants, see wiki documentation. - - llSetText - - - arguments - - - Text - - type - string - - - - Color - - type - vector - - - - Opacity - - type - float - - - - tooltip - Causes Text to float above the prim, using the specified Color and Opacity. - - llSetTexture - - sleep - 0.2 - - arguments - - - Texture - - type - string - - - - Face - - type - integer - - - - tooltip - Applies Texture to Face of prim.\nTexture may be a UUID or name of a texture in prim inventory.\nIf Face is ALL_SIDES, set the texture on all faces. - - llSetTextureAnim - - arguments - - - Mode - - type - integer - tooltip - Mask of Mode flags. - - - - Face - - type - integer - tooltip - Face number or ALL_SIDES. - - - - SizeX - - type - integer - tooltip - Horizontal frames (ignored for ROTATE and SCALE). - - - - SizeY - - type - integer - tooltip - Vertical frames (ignored for ROTATE and SCALE). - - - - Start - - type - float - tooltip - Start position/frame number (or radians for ROTATE). - - - - Length - - type - float - tooltip - number of frames to display (or radians for ROTATE). - - - - Rate - - type - float - tooltip - Frames per second (must not greater than zero). - - - - tooltip - Animates a texture by setting the texture scale and offset.\nMode is a bitmask of animation options.\nFace specifies which object face to animate.\nSizeX and SizeY specify the number of horizontal and vertical frames.Start specifes the animation start point.\nLength specifies the animation duration.\nRate specifies the animation playback rate. - - llSetTimerEvent - - - arguments - - - Rate - - type - float - - - - tooltip - Causes the timer event to be triggered every Rate seconds.\n Passing in 0.0 stops further timer events. - - llSetTorque - - arguments - - - Torque - - type - vector - tooltip - Torque force. - - - - Local - - type - integer - tooltip - Boolean, if TRUE uses local axis, if FALSE uses region axis. - - - - tooltip - Sets the Torque acting on the script's object, in object-local coordinates if Local == TRUE (otherwise, the region reference frame is used).\nOnly works on physical objects. - - llSetTouchText - - arguments - - - Text - - type - string - - - - - tooltip - Displays Text in the viewer context menu that acts on a touch. - - llSetVehicleFlags - - - - arguments - - - Flags - - type - integer - - - - - tooltip - Enables the vehicle flags specified in the Flags bitmask.\nValid parameters can be found in the wiki documentation. - - llSetVehicleFloatParam - - arguments - - - ParameterName - - type - integer - - - - ParameterValue - - type - float - - - - tooltip - Sets a vehicle float parameter.\nValid parameters can be found in the wiki documentation. - - llSetVehicleRotationParam - - - arguments - - - ParameterName - - type - integer - - - - ParameterValue - - type - rotation - - - - tooltip - Sets a vehicle rotation parameter.\nValid parameters can be found in the wiki documentation. - - llSetVehicleType - - - arguments - - - Type - - type - integer - - - - tooltip - Activates the vehicle action on the object with vehicle preset Type.\nValid Types and an explanation of their characteristics can be found in wiki documentation. - - llSetVehicleVectorParam - - arguments - - - ParameterName - - type - integer - - - - ParameterValue - - type - vector - - - - tooltip - Sets a vehicle vector parameter.\nValid parameters can be found in the wiki documentation. - - llSetVelocity - - - arguments - - - Velocity - - type - vector - tooltip - The velocity to apply. - - - - Local - - type - integer - tooltip - If TRUE, the Velocity is treated as a local directional vector instead of a regional directional vector. - - - - tooltip - If the object is physics-enabled, sets the object's linear velocity to Velocity.\nIf Local==TRUE, Velocity is treated as a local directional vector; otherwise, Velocity is treated as a global directional vector. - - llSHA1String - - return - string - arguments - - - Text - - type - string - - - - tooltip - Returns a string of 40 hex characters that is the SHA1 security Hash of Text. - - llShout - - arguments - - - Channel - - type - integer - - - - Text - - type - string - - - - tooltip - Shouts Text on Channel.\nThis chat method has a range of 100m radius.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. - - llSin - - return - float - arguments - - - Theta - - type - float - - - - tooltip - Returns the sine of Theta (Theta in radians). - - llSitTarget - - arguments - - - Offset - - type - vector - - - - Rotation - - type - rotation - - - - tooltip - Set the sit location for this object. If offset == ZERO_VECTOR, clears the sit target. - - llSleep - - arguments - - - Time - - type - float - - - - tooltip - Put script to sleep for Time seconds. - - llSound - - deprecated - true - - arguments - - - Sound - - type - string - - - - Volume - - type - float - - - - Queue - - type - integer - - - - Loop - - type - integer - - - - tooltip - Deprecated: Use llPlaySound instead.\nPlays Sound at Volume and specifies whether the sound should loop and/or be enqueued. - - llSoundPreload - - deprecated - true - - arguments - - - Sound - - type - string - - - - tooltip - Deprecated: Use llPreloadSound instead.\nPreloads a sound on viewers within range. - - llSqrt - - return - float - arguments - - - Value - - type - float - - - - tooltip - Returns the square root of Value.\nTriggers a math runtime error for imaginary results (if Value < 0.0). - - llStartAnimation - - - arguments - - - Animation - - type - string - - - - tooltip - This function plays the specified animation from playing on the avatar who received the script's most recent permissions request.\nAnimation may be an animation in task inventory or a built-in animation.\nRequires PERMISSION_TRIGGER_ANIMATION. - - llStopAnimation - - arguments - - - Animation - - type - string - - - - tooltip - This function stops the specified animation on the avatar who received the script's most recent permissions request.\nAnimation may be an animation in task inventory, a built-in animation, or the uuid of an animation.\nRequires PERMISSION_TRIGGER_ANIMATION. - - llStopHover - - - arguments - - tooltip - Stop hovering to a height (due to llSetHoverHeight()). - - llStopLookAt - - arguments - - tooltip - Stop causing object to point at a target (due to llLookAt() or llRotLookAt()). - - llStopMoveToTarget - - - arguments - - tooltip - Stops critically damped motion (due to llMoveToTarget()). - - llStopSound - - - arguments - - tooltip - Stops playback of the currently attached sound. - - llStringLength - - return - integer - arguments - - - Text - - type - string - - - - tooltip - Returns an integer that is the number of characters in Text (not counting the null). - - llStringToBase64 - - return - string - arguments - - - Text - - type - string - - - - tooltip - Returns the string Base64 representation of the input string. - - llStringTrim - - return - string - arguments - - - Text - - type - string - tooltip - String to trim - - - - TrimType - - type - integer - tooltip - STRING_TRIM_HEAD, STRING_TRIM_TAIL, or STRING_TRIM. - - - - tooltip - Outputs a string, eliminating white-space from the start and/or end of the input string Text.\nValid options for TrimType:\nSTRING_TRIM_HEAD: trim all leading spaces in Text\nSTRING_TRIM_TAIL: trim all trailing spaces in Text\nSTRING_TRIM: trim all leading and trailing spaces in Text. - - llSubStringIndex - - return - integer - arguments - - - Text - - type - string - - - - Sequence - - type - string - - - - tooltip - Returns an integer that is the index in Text where string pattern Sequence first appears. Returns -1 if not found. - - llTakeCamera - - deprecated - true - arguments - - - AvatarID - - type - key - - - - tooltip - Deprecated: Use llSetCameraParams instead. - - llTakeControls - - arguments - - - Controls - - type - integer - tooltip - Bit-field of CONTROL_* flags. - - - - Accept - - type - integer - tooltip - Boolean, determines whether control events are generated. - - - - PassOn - - type - integer - tooltip - Boolean, determines whether controls are disabled. - - - - tooltip - Take controls from the agent the script has permissions for.\nIf (Accept == (Controls & input)), send input to the script. PassOn determines whether Controls also perform their normal functions.\nRequires the PERMISSION_TAKE_CONTROLS permission to run. - - llTan - - return - float - arguments - - - Theta - - type - float - - - - tooltip - Returns the tangent of Theta (Theta in radians). - - llTarget - - return - integer - arguments - - - Position - - type - vector - - - - Range - - type - float - - - - tooltip - This function is to have the script know when it has reached a position.\nIt registers a Position with a Range that triggers at_target and not_at_target events continuously until unregistered. - - llTargetOmega - - arguments - - - Axis - - type - vector - - - - SpinRate - - type - float - - - - Gain - - type - float - - - - tooltip - Attempt to spin at SpinRate with strength Gain on Axis.\nA spin rate of 0.0 cancels the spin. This function always works in object-local coordinates. - - llTargetRemove - - arguments - - - Target - - type - integer - - - - tooltip - Removes positional target Handle registered with llTarget. - - llTeleportAgent - - arguments - - - AvatarID - - type - key - tooltip - UUID of avatar. - - - - LandmarkName - - type - string - tooltip - Name of landmark (in object contents), or empty string, to use. - - - - Position - - type - vector - tooltip - If no landmark was provided, the position within the current region to teleport the avatar to. - - - - LookAtPoint - - type - vector - tooltip - The position within the target region that the avatar should be turned to face upon arrival. - - - - tooltip - Requests a teleport of avatar to a landmark stored in the object's inventory. If no landmark is provided (an empty string), the avatar is teleported to the location position in the current region. In either case, the avatar is turned to face the position given by look_at in local coordinates.\nRequires the PERMISSION_TELEPORT permission. This function can only teleport the owner of the object. - - llTeleportAgentGlobalCoords - - arguments - - - AvatarID - - type - key - tooltip - UUID of avatar. - - - - GlobalPosition - - type - vector - tooltip - Global coordinates of the destination region. Can be retrieved by using llRequestSimulatorData(region_name, DATA_SIM_POS). - - - - RegionPosition - - type - vector - tooltip - The position within the target region to teleport the avatar to, if no landmark was provided. - - - - LookAtPoint - - type - vector - tooltip - The position within the target region that the avatar should be turned to face upon arrival. - - - - tooltip - Teleports an agent to the RegionPosition local coordinates within a region which is specified by the GlobalPosition global coordinates. The agent lands facing the position defined by LookAtPoint local coordinates.\nRequires the PERMISSION_TELEPORT permission. This function can only teleport the owner of the object. - - llTeleportAgentHome - - sleep - 5.0 - arguments - - - AvatarID - - type - key - - - - tooltip - Teleport agent over the owner's land to agent's home location. - - llTextBox - - sleep - 1.0 - - arguments - - - AvatarID - - type - key - - - - Text - - type - string - - - - Channel - - type - integer - - - - tooltip - Opens a dialog for the specified avatar with message Text, which contains a text box for input. Any text that is entered is said on the specified Channel (as if by the avatar) when the "OK" button is clicked. - - llToLower - - return - string - arguments - - - Text - - type - string - - - - tooltip - Returns a string that is Text with all lower-case characters. - - llToUpper - - return - string - arguments - - - Text - - type - string - - - - tooltip - Returns a string that is Text with all upper-case characters. - - llTransferLindenDollars - - return - key - arguments - - - AvatarID - - type - key - - - - Amount - - type - integer - - - - tooltip - Transfer Amount of linden dollars (L$) from script owner to AvatarID. Returns a key to a corresponding transaction_result event for the success of the transfer.\nAttempts to send the amount of money to the specified avatar, and trigger a transaction_result event identified by the returned key. - - llTriggerSound - - arguments - - - Sound - - type - string - - - - - Volume - - type - float - - - - tooltip - Plays Sound at Volume (0.0 - 1.0), centered at but not attached to object.\nThere is no limit to the number of triggered sounds which can be generated by an object, and calling llTriggerSound does not affect the attached sounds created by llPlaySound and llLoopSound. This is very useful for things like collision noises, explosions, etc. There is no way to stop or alter the volume of a sound triggered by this function. - - llTriggerSoundLimited - - arguments - - - Sound - - type - string - - - - Volume - - type - float - - - - TNE - - type - vector - - - - BSW - - type - vector - - - - tooltip - Plays Sound at Volume (0.0 - 1.0), centered at but not attached to object, limited to axis-aligned bounding box defined by vectors top-north-east (TNE) and bottom-south-west (BSW).\nThere is no limit to the number of triggered sounds which can be generated by an object, and calling llTriggerSound does not affect the attached sounds created by llPlaySound and llLoopSound. This is very useful for things like collision noises, explosions, etc. There is no way to stop or alter the volume of a sound triggered by this function. - - llUnescapeURL - - return - string - arguments - - - URL - - type - string - - - - tooltip - Returns the string that is the URL unescaped, replacing "%20" with spaces, etc., version of URL.\nThis function can output raw UTF-8 strings. - - llUnSit - - arguments - - - AvatarID - - type - key - - - - tooltip - If agent identified by AvatarID is sitting on the object the script is attached to or is over land owned by the objects owner, the agent is forced to stand up. - - llVecDist - - return - float - arguments - - - Location1 - - type - vector - - - - Location2 - - type - vector - - - - tooltip - Returns the distance between Location1 and Location2. - - llVecMag - - return - float - arguments - - - Vector - - type - vector - - - - tooltip - Returns the magnitude of the vector. - - llVecNorm - - return - vector - arguments - - - Vector - - type - vector - - - - tooltip - Returns normalized vector. - - llVolumeDetect - - arguments - - - DetectEnabled - - type - integer - tooltip - TRUE enables, FALSE disables. - - - - tooltip - If DetectEnabled = TRUE, object becomes phantom but triggers collision_start and collision_end events when other objects start and stop interpenetrating.\nIf another object (including avatars) interpenetrates it, it will get a collision_start event.\nWhen an object stops interpenetrating, a collision_end event is generated. While the other is inter-penetrating, collision events are NOT generated. - - llWater - - return - float - arguments - - - Offset - - type - vector - - - - tooltip - Returns the water height below the object position + Offset. - - llWhisper - - - arguments - - - Channel - - type - integer - - - - Text - - type - string - - - - tooltip - Whispers Text on Channel.\nThis chat method has a range of 10m radius.\nPUBLIC_CHANNEL is the public chat channel that all avatars see as chat text. DEBUG_CHANNEL is the script debug channel, and is also visible to nearby avatars. All other channels are are not sent to avatars, but may be used to communicate with scripts. - - llWind - - return - vector - arguments - - - Offset - - type - vector - - - - tooltip - Returns the wind velocity at the object position + Offset. - - llXorBase64 - - return - string - arguments - - - Text1 - - type - string - - - - Text2 - - type - string - - - - tooltip - Performs an exclusive OR on two Base64 strings and returns a Base64 string. Text2 repeats if it is shorter than Text1. - - llXorBase64Strings - - deprecated - true - sleep - 0.3 - return - string - arguments - - - Text1 - - type - string - - - - Text2 - - type - string - - - - tooltip - Deprecated: Please use llXorBase64 instead.\nIncorrectly performs an exclusive OR on two Base64 strings and returns a Base64 string. Text2 repeats if it is shorter than Text1.\nRetained for backwards compatibility. - - llXorBase64StringsCorrect - - deprecated - true - return - string - arguments - - - Text1 - - type - string - - - - Text2 - - type - string - - - - tooltip - Deprecated: Please use llXorBase64 instead.\nCorrectly (unless nulls are present) performs an exclusive OR on two Base64 strings and returns a Base64 string.\nText2 repeats if it is shorter than Text1. - - llGetMinScaleFactor - - return - float - arguments - - tooltip - Returns the smallest multiplicative uniform scale factor that can be successfully applied (via llScaleByFactor()) to the object without violating prim size or linkability rules. - - llGetMaxScaleFactor - - return - float - arguments - - tooltip - Returns the largest multiplicative uniform scale factor that can be successfully applied (via llScaleByFactor()) to the object without violating prim size or linkability rules. - - cmDetectedCountry - - return - string - arguments - - - number - - type - integer - - - - - cmGetAgentCountry - - return - string - arguments - - - key - - type - string - - - - - lsClearWindlightScene - - arguments - - - lsGetWindlightScene - - return - list - arguments - - - rules - - type - list - - - - - lsSetWindlightScene - - return - integer - arguments - - - rules - - type - list - - - - - lsSetWindlightSceneTargeted - - return - integer - arguments - - - rules - - type - list - - - - target - - type - string - - - - - osAdjustSoundVolume - - arguments - - - linknum - - type - integer - - - - volume - - type - float - - - - - osAgentSaveAppearance - - return - string - arguments - - - avatarId - - type - string - - - - notecard - - type - string - - - - - osAngleBetween - - return - float - arguments - - - a - - type - vector - - - - b - - type - vector - - - - - osAvatarName2Key - - return - string - arguments - - - firstname - - type - string - - - - lastname - - type - string - - - - - osAvatarPlayAnimation - - arguments - - - avatar - - type - string - - - - animation - - type - string - - - - - osAvatarStopAnimation - - arguments - - - avatar - - type - string - - - - animation - - type - string - - - - - osCauseDamage - - arguments - - - avatar - - type - string - - - - damage - - type - float - - - - - osCauseHealing - - arguments - - - avatar - - type - string - - - - healing - - type - float - - - - - osCheckODE - - return - integer - arguments - - - osClearInertia - - arguments - - - osCollisionSound - - arguments - - - impact_sound - - type - string - - - - impact_volume - - type - float - - - - - osConsoleCommand - - return - integer - arguments - - - command - - type - string - - - - - osDie - - arguments - - - objectUUID - - type - string - - - - - osDrawEllipse - - return - string - arguments - - - drawList - - type - string - - - - width - - type - integer - - - - height - - type - integer - - - - - osDrawFilledEllipse - - return - string - arguments - - - drawList - - type - string - - - - width - - type - integer - - - - height - - type - integer - - - - - osDrawFilledPolygon - - return - string - arguments - - - drawList - - type - string - - - - x - - type - list - - - - y - - type - list - - - - - osDrawFilledRectangle - - return - string - arguments - - - drawList - - type - string - - - - width - - type - integer - - - - height - - type - integer - - - - - osDrawImage - - return - string - arguments - - - drawList - - type - string - - - - width - - type - integer - - - - height - - type - integer - - - - imageUrl - - type - string - - - - - osDrawLine - - return - string - arguments - - - drawList - - type - string - - - - startX - - type - integer - - - - startY - - type - integer - - - - endX - - type - integer - - - - endY - - type - integer - - - - - osDrawLine - - return - string - arguments - - - drawList - - type - string - - - - endX - - type - integer - - - - endY - - type - integer - - - - - osDrawPolygon - - return - string - arguments - - - drawList - - type - string - - - - x - - type - list - - - - y - - type - list - - - - - osDrawRectangle - - return - string - arguments - - - drawList - - type - string - - - - width - - type - integer - - - - height - - type - integer - - - - - osDrawResetTransform - - return - string - arguments - - - drawList - - type - string - - - - - osDrawRotationTransform - - return - string - arguments - - - drawList - - type - string - - - - x - - type - float - - - - - osDrawScaleTransform - - return - string - arguments - - - drawList - - type - string - - - - x - - type - float - - - - y - - type - float - - - - - osDrawText - - return - string - arguments - - - drawList - - type - string - - - - text - - type - string - - - - - osDrawTranslationTransform - - return - string - arguments - - - drawList - - type - string - - - - x - - type - float - - - - y - - type - float - - - - - osDropAttachment - - arguments - - - osDropAttachmentAt - - arguments - - - pos - - type - vector - - - - rot - - type - rotation - - - - - osEjectFromGroup - - return - integer - arguments - - - agentId - - type - string - - - - - osForceAttachToAvatar - - arguments - - - attachmentPoint - - type - integer - - - - - osForceAttachToAvatarFromInventory - - arguments - - - itemName - - type - string - - - - attachmentPoint - - type - integer - - - - - osForceAttachToOtherAvatarFromInventory - - arguments - - - rawAvatarId - - type - string - - - - itemName - - type - string - - - - attachmentPoint - - type - integer - - - - - osForceBreakAllLinks - - arguments - - - osForceBreakLink - - arguments - - - linknum - - type - integer - - - - - osForceCreateLink - - arguments - - - target - - type - string - - - - parent - - type - integer - - - - - osForceDetachFromAvatar - - arguments - - - osForceDropAttachment - - arguments - - - osForceDropAttachmentAt - - arguments - - - pos - - type - vector - - - - rot - - type - rotation - - - - - osForceOtherSit - - arguments - - - avatar - - type - string - - - - - osForceOtherSit - - arguments - - - avatar - - type - string - - - - target - - type - string - - - - - osFormatString - - return - string - arguments - - - str - - type - string - - - - strings - - type - list - - - - - osGetAgentIP - - return - string - arguments - - - agent - - type - string - - - - - osGetAgents - - return - list - arguments - - - osGetAvatarHomeURI - - return - string - arguments - - - uuid - - type - string - - - - - osGetAvatarList - - return - list - arguments - - - osGetCurrentSunHour - - return - float - arguments - - - osGetDrawStringSize - - return - vector - arguments - - - contentType - - type - string - - - - text - - type - string - - - - fontName - - type - string - - - - fontSize - - type - integer - - - - - osGetGender - - return - string - arguments - - - rawAvatarId - - type - string - - - - - osGetGridCustom - - return - string - arguments - - - key - - type - string - - - - - osGetGridGatekeeperURI - - return - string - arguments - - - osGetGridHomeURI - - return - string - arguments - - - osGetGridLoginURI - - return - string - arguments - - - osGetGridName - - return - string - arguments - - - osGetGridNick - - return - string - arguments - - - osGetHealRate - - return - float - arguments - - - avatar - - type - string - - - - - osGetHealth - - return - float - arguments - - - avatar - - type - string - - - - - osGetInertiaData - - return - list - arguments - - - osGetInventoryDesc - - return - string - arguments - - - item - - type - string - - - - - osGetLinkNumber - - return - integer - arguments - - - name - - type - string - - - - - osGetLinkPrimitiveParams - - return - list - arguments - - - linknumber - - type - integer - - - - rules - - type - list - - - - - osGetMapTexture - - return - string - arguments - - - osGetNotecard - - return - string - arguments - - - name - - type - string - - - - - osGetNotecardLine - - return - string - arguments - - - name - - type - string - - - - line - - type - integer - - - - - osGetNPCList - - return - list - arguments - - - osGetNumberOfAttachments - - return - list - arguments - - - avatar - - type - string - - - - attachmentPoints - - type - list - - - - - osGetNumberOfNotecardLines - - return - integer - arguments - - - name - - type - string - - - - - osGetPhysicsEngineName - - return - string - arguments - - - osGetPhysicsEngineType - - return - string - arguments - - - osGetPrimitiveParams - - return - list - arguments - - - prim - - type - string - - - - rules - - type - list - - - - - osGetRegionMapTexture - - return - string - arguments - - - regionName - - type - string - - - - - osGetRegionSize - - return - vector - arguments - - - osGetRegionStats - - return - list - arguments - - - osGetRezzingObject - - return - string - arguments - - - osGetScriptEngineName - - return - string - arguments - - - osGetSimulatorMemory - - return - integer - arguments - - - osGetSimulatorMemoryKB - - return - integer - arguments - - - osGetSimulatorVersion - - return - string - arguments - - - osGetSunParam - - return - float - arguments - - - param - - type - string - - - - - osGetTerrainHeight - - return - float - arguments - - - x - - type - integer - - - - y - - type - integer - - - - - osGetWindParam - - return - float - arguments - - - plugin - - type - string - - - - param - - type - string - - - - - osInviteToGroup - - return - integer - arguments - - - agentId - - type - string - - - - - osIsNpc - - return - integer - arguments - - - npc - - type - string - - - - - osIsUUID - - return - integer - arguments - - - thing - - type - string - - - - - osKey2Name - - return - string - arguments - - - id - - type - string - - - - - osKickAvatar - - arguments - - - FirstName - - type - string - - - - SurName - - type - string - - - - alert - - type - string - - - - - osList2Double - - return - float - arguments - - - src - - type - list - - - - index - - type - integer - - - - - osListenRegex - - return - integer - arguments - - - channelID - - type - integer - - - - name - - type - string - - - - ID - - type - string - - - - msg - - type - string - - - - regexBitfield - - type - integer - - - - - osLoadedCreationDate - - return - string - arguments - - - osLoadedCreationID - - return - string - arguments - - - osLoadedCreationTime - - return - string - arguments - - - osLoopSound - - arguments - - - linknum - - type - integer - - - - sound - - type - string - - - - volume - - type - float - - - - - osLoopSoundMaster - - arguments - - - linknum - - type - integer - - - - sound - - type - string - - - - volume - - type - float - - - - - osLoopSoundSlave - - arguments - - - linknum - - type - integer - - - - sound - - type - string - - - - volume - - type - float - - - - - osMakeNotecard - - arguments - - - notecardName - - type - string - - - - contents - - type - list - - - - - osMatchString - - return - list - arguments - - - src - - type - string - - - - pattern - - type - string - - - - start - - type - integer - - - - - osMax - - return - float - arguments - - - a - - type - float - - - - b - - type - float - - - - - osMessageAttachments - - arguments - - - avatar - - type - string - - - - message - - type - string - - - - attachmentPoints - - type - list - - - - options - - type - integer - - - - - osMessageObject - - arguments - - - objectUUID - - type - string - - - - message - - type - string - - - - - osMin - - return - float - arguments - - - a - - type - float - - - - b - - type - float - - - - - osMovePen - - return - string - arguments - - - drawList - - type - string - - - - x - - type - integer - - - - y - - type - integer - - - - - osNpcCreate - - return - string - arguments - - - firstname - - type - string - - - - lastname - - type - string - - - - position - - type - vector - - - - notecard - - type - string - - - - options - - type - integer - - - - - osNpcCreate - - return - string - arguments - - - firstname - - type - string - - - - lastname - - type - string - - - - position - - type - vector - - - - notecard - - type - string - - - - - osNpcGetOwner - - return - string - arguments - - - npc - - type - string - - - - - osNpcGetPos - - return - vector - arguments - - - npc - - type - string - - - - - osNpcGetRot - - return - rotation - arguments - - - npc - - type - string - - - - - osNpcLoadAppearance - - arguments - - - npc - - type - string - - - - notecard - - type - string - - - - - osNpcMoveTo - - arguments - - - npc - - type - string - - - - pos - - type - vector - - - - - osNpcMoveToTarget - - arguments - - - npc - - type - string - - - - target - - type - vector - - - - options - - type - integer - - - - - osNpcPlayAnimation - - arguments - - - npc - - type - string - - - - animation - - type - string - - - - - osNpcRemove - - arguments - - - npc - - type - string - - - - - osNpcSaveAppearance - - return - string - arguments - - - npc - - type - string - - - - notecard - - type - string - - - - - osNpcSay - - arguments - - - npc - - type - string - - - - message - - type - string - - - - - osNpcSay - - arguments - - - npc - - type - string - - - - channel - - type - integer - - - - message - - type - string - - - - - osNpcSetProfileAbout - - arguments - - - npc - - type - string - - - - about - - type - string - - - - - osNpcSetProfileImage - - arguments - - - npc - - type - string - - - - image - - type - string - - - - - osNpcSetRot - - arguments - - - npc - - type - string - - - - rotation - - type - rotation - - - - - osNpcShout - - arguments - - - npc - - type - string - - - - channel - - type - integer - - - - message - - type - string - - - - - osNpcSit - - arguments - - - npc - - type - string - - - - target - - type - string - - - - options - - type - integer - - - - - osNpcStand - - arguments - - - npc - - type - string - - - - - osNpcStopAnimation - - arguments - - - npc - - type - string - - - - animation - - type - string - - - - - osNpcStopMoveToTarget - - arguments - - - npc - - type - string - - - - - osNpcTouch - - arguments - - - npcLSL_Key - - type - string - - - - object_key - - type - string - - - - link_num - - type - integer - - - - - osNpcWhisper - - arguments - - - npc - - type - string - - - - channel - - type - integer - - - - message - - type - string - - - - - osOwnerSaveAppearance - - return - string - arguments - - - notecard - - type - string - - - - - osParcelJoin - - arguments - - - pos1 - - type - vector - - - - pos2 - - type - vector - - - - - osParcelSetDetails - - arguments - - - pos - - type - vector - - - - rules - - type - list - - - - - osParcelSubdivide - - arguments - - - pos1 - - type - vector - - - - pos2 - - type - vector - - - - - osParseJSON - - arguments - - - JSON - - type - string - - - - - osParseJSONNew - - arguments - - - JSON - - type - string - - - - - osPlaySound - - arguments - - - linknum - - type - integer - - - - sound - - type - string - - - - volume - - type - float - - - - - osPlaySoundSlave - - arguments - - - linknum - - type - integer - - - - sound - - type - string - - - - volume - - type - float - - - - - osPreloadSound - - arguments - - - linknum - - type - integer - - - - sound - - type - string - - - - - osRegexIsMatch - - return - integer - arguments - - - input - - type - string - - - - pattern - - type - string - - - - - osRegionNotice - - arguments - - - msg - - type - string - - - - - osRegionNotice - - arguments - - - agentID - - type - string - - - - msg - - type - string - - - - - osRegionRestart - - return - integer - arguments - - - seconds - - type - float - - - - - osRegionRestart - - return - integer - arguments - - - seconds - - type - float - - - - msg - - type - string - - - - - osReplaceString - - return - string - arguments - - - src - - type - string - - - - pattern - - type - string - - - - replace - - type - string - - - - count - - type - integer - - - - start - - type - integer - - - - - osRequestSecureURL - - return - string - arguments - - - options - - type - list - - - - - osRequestURL - - return - string - arguments - - - options - - type - list - - - - - osRound - - return - float - arguments - - - value - - type - float - - - - ndigits - - type - integer - - - - - osSetContentType - - arguments - - - id - - type - string - - - - type - - type - string - - - - - osSetDynamicTextureData - - return - string - arguments - - - dynamicID - - type - string - - - - contentType - - type - string - - - - data - - type - string - - - - extraParams - - type - string - - - - timer - - type - integer - - - - - osSetDynamicTextureDataBlend - - return - string - arguments - - - dynamicID - - type - string - - - - contentType - - type - string - - - - data - - type - string - - - - extraParams - - type - string - - - - timer - - type - integer - - - - alpha - - type - integer - - - - - osSetDynamicTextureDataBlendFace - - return - string - arguments - - - dynamicID - - type - string - - - - contentType - - type - string - - - - data - - type - string - - - - extraParams - - type - string - - - - blend - - type - integer - - - - disp - - type - integer - - - - timer - - type - integer - - - - alpha - - type - integer - - - - face - - type - integer - - - - - osSetDynamicTextureDataFace - - return - string - arguments - - - dynamicID - - type - string - - - - contentType - - type - string - - - - data - - type - string - - - - extraParams - - type - string - - - - timer - - type - integer - - - - face - - type - integer - - - - - osSetDynamicTextureURL - - return - string - arguments - - - dynamicID - - type - string - - - - contentType - - type - string - - - - url - - type - string - - - - extraParams - - type - string - - - - timer - - type - integer - - - - - osSetDynamicTextureURLBlend - - return - string - arguments - - - dynamicID - - type - string - - - - contentType - - type - string - - - - url - - type - string - - - - extraParams - - type - string - - - - timer - - type - integer - - - - alpha - - type - integer - - - - - osSetDynamicTextureURLBlendFace - - return - string - arguments - - - dynamicID - - type - string - - - - contentType - - type - string - - - - url - - type - string - - - - extraParams - - type - string - - - - blend - - type - integer - - - - disp - - type - integer - - - - timer - - type - integer - - - - alpha - - type - integer - - - - face - - type - integer - - - - - osSetEstateSunSettings - - arguments - - - sunFixed - - type - integer - - - - sunHour - - type - float - - - - - osSetFontName - - return - string - arguments - - - drawList - - type - string - - - - fontName - - type - string - - - - - osSetFontSize - - return - string - arguments - - - drawList - - type - string - - - - fontSize - - type - integer - - - - - osSetHealRate - - arguments - - - avatar - - type - string - - - - healrate - - type - float - - - - - osSetHealth - - arguments - - - avatar - - type - string - - - - health - - type - float - - - - - osSetInertia - - arguments - - - mass - - type - float - - - - centerOfMass - - type - vector - - - - principalInertiaScaled - - type - vector - - - - lslrot - - type - rotation - - - - - osSetInertiaAsBox - - arguments - - - mass - - type - float - - - - boxSize - - type - vector - - - - centerOfMass - - type - vector - - - - lslrot - - type - rotation - - - - - osSetInertiaAsCylinder - - arguments - - - mass - - type - float - - - - radius - - type - float - - - - lenght - - type - float - - - - centerOfMass - - type - vector - - - - lslrot - - type - rotation - - - - - osSetInertiaAsSphere - - arguments - - - mass - - type - float - - - - radius - - type - float - - - - centerOfMass - - type - vector - - - - - osSetOwnerSpeed - - arguments - - - SpeedModifier - - type - float - - - - - osSetParcelDetails - - arguments - - - pos - - type - vector - - - - rules - - type - list - - - - - osSetParcelMediaURL - - arguments - - - url - - type - string - - - - - osSetParcelSIPAddress - - arguments - - - SIPAddress - - type - string - - - - - osSetPenCap - - return - string - arguments - - - drawList - - type - string - - - - direction - - type - string - - - - type - - type - string - - - - - osSetPenColor - - return - string - arguments - - - drawList - - type - string - - - - color - - type - string - - - - - osSetPenColour - - return - string - arguments - - - drawList - - type - string - - - - colour - - type - string - - - - - osSetPenSize - - return - string - arguments - - - drawList - - type - string - - - - penSize - - type - integer - - - - - osSetPrimFloatOnWater - - arguments - - - floatYN - - type - integer - - - - - osSetPrimitiveParams - - arguments - - - prim - - type - string - - - - rules - - type - list - - - - - osSetProjectionParams - - arguments - - - projection - - type - integer - - - - texture - - type - string - - - - fov - - type - float - - - - focus - - type - float - - - - amb - - type - float - - - - - osSetProjectionParams - - arguments - - - prim - - type - string - - - - projection - - type - integer - - - - texture - - type - string - - - - fov - - type - float - - - - focus - - type - float - - - - amb - - type - float - - - - - osSetRegionSunSettings - - arguments - - - useEstateSun - - type - integer - - - - sunFixed - - type - integer - - - - sunHour - - type - float - - - - - osSetRegionWaterHeight - - arguments - - - height - - type - float - - - - - osSetRot - - arguments - - - target - - type - - - - - rotation - - type - rotation - - - - - osSetSoundRadius - - arguments - - - linknum - - type - integer - - - - radius - - type - float - - - - - osSetSpeed - - arguments - - - ID - - type - string - - - - SpeedModifier - - type - float - - - - - osSetStateEvents - - arguments - - - events - - type - integer - - - - - osSetSunParam - - arguments - - - param - - type - string - - - - value - - type - float - - - - - osSetTerrainHeight - - return - integer - arguments - - - x - - type - integer - - - - y - - type - integer - - - - val - - type - float - - - - - osSetTerrainTexture - - arguments - - - level - - type - integer - - - - texture - - type - string - - - - - osSetTerrainTextureHeight - - arguments - - - corner - - type - integer - - - - low - - type - float - - - - high - - type - float - - - - - osSetWindParam - - arguments - - - plugin - - type - string - - - - param - - type - string - - - - value - - type - float - - - - - osStopSound - - arguments - - - linknum - - type - integer - - - - - osSunGetParam - - return - float - arguments - - - param - - type - string - - - - - osSunSetParam - - arguments - - - param - - type - string - - - - value - - type - float - - - - - osTeleportAgent - - arguments - - - agent - - type - string - - - - regionGridX - - type - integer - - - - regionGridY - - type - integer - - - - position - - type - vector - - - - lookat - - type - vector - - - - - osTeleportAgent - - arguments - - - agent - - type - string - - - - regionName - - type - string - - - - position - - type - vector - - - - lookat - - type - vector - - - - - osTeleportAgent - - arguments - - - agent - - type - string - - - - position - - type - vector - - - - lookat - - type - vector - - - - - osTeleportObject - - return - integer - arguments - - - objectUUID - - type - string - - - - targetPos - - type - vector - - - - rotation - - type - rotation - - - - flags - - type - integer - - - - - osTeleportOwner - - arguments - - - position - - type - vector - - - - lookat - - type - vector - - - - - osTeleportOwner - - arguments - - - regionGridX - - type - integer - - - - regionGridY - - type - integer - - - - position - - type - vector - - - - lookat - - type - vector - - - - - osTeleportOwner - - arguments - - - regionName - - type - string - - - - position - - type - vector - - - - lookat - - type - vector - - - - - osTerrainFlush - - arguments - - - osTerrainGetHeight - - return - float - arguments - - - x - - type - integer - - - - y - - type - integer - - - - - osTerrainSetHeight - - return - integer - arguments - - - x - - type - integer - - - - y - - type - integer - - - - val - - type - float - - - - - osTriggerSound - - arguments - - - linknum - - type - integer - - - - sound - - type - string - - - - volume - - type - float - - - - - osTriggerSoundLimited - - arguments - - - linknum - - type - integer - - - - sound - - type - string - - - - volume - - type - float - - - - top_north_east - - type - vector - - - - bottom_south_west - - type - vector - - - - - osUnixTimeToTimestamp - - return - string - arguments - - - time - - type - integer - - - - - osVecDistSquare - - return - float - arguments - - - a - - type - vector - - - - b - - type - vector - - - - - osVecMagSquare - - return - float - arguments - - - a - - type - vector - - - - - osVolumeDetect - - arguments - - - detect - - type - integer - - - - - osWindActiveModelPluginName - - return - string - arguments - - + cmDetectedCountry + + returnstring + arguments + numbertypeinteger + + + cmGetAgentCountry + + returnstring + arguments + keytypestring + + + llAbs + + returninteger + arguments + itypeinteger + + + llAcos + + returnfloat + arguments + valtypefloat + + + llAddToLandBanList + + arguments + avatartypestring + hourstypefloat + + + llAddToLandPassList + + arguments + avatartypestring + hourstypefloat + + + llAdjustSoundVolume + + arguments + volumetypefloat + + + llAllowInventoryDrop + + arguments + addtypeinteger + + + llAngleBetween + + returnfloat + arguments + atyperotation + btyperotation + + + llApplyImpulse + + arguments + forcetypevector + localtypeinteger + + + llApplyRotationalImpulse + + arguments + forcetypevector + localtypeinteger + + + llAsin + + returnfloat + arguments + valtypefloat + + + llAtan2 + + returnfloat + arguments + xtypefloat + ytypefloat + + + llAttachToAvatar + + arguments + attachmentPointtypeinteger + + + llAttachToAvatarTemp + + arguments + attachmentPointtypeinteger + + + llAvatarOnLinkSitTarget + + returnstring + arguments + linknumtypeinteger + + + llAvatarOnSitTarget + + returnstring + arguments + + llAxes2Rot + + returnrotation + arguments + fwdtypevector + lefttypevector + uptypevector + + + llAxisAngle2Rot + + returnrotation + arguments + axistypevector + angletypefloat + + + llBase64ToInteger + + returninteger + arguments + strtypestring + + + llBase64ToString + + returnstring + arguments + strtypestring + + + llBreakAllLinks + + arguments + + llBreakLink + + arguments + linknumtypeinteger + + + llCastRay + + returnlist + arguments + starttypevector + endtypevector + optionstypelist + + + llCastRayV3 + + returnlist + arguments + starttypevector + endtypevector + optionstypelist + + + llCeil + + returninteger + arguments + ftypefloat + + + llClearCameraParams + + arguments + + llClearLinkMedia + + returninteger + arguments + linktypeinteger + facetypeinteger + + + llClearPrimMedia + + returninteger + arguments + facetypeinteger + + + llCloseRemoteDataChannel + + arguments + channeltypestring + + + llCloud + + returnfloat + arguments + offsettypevector + + + llCollisionFilter + + arguments + nametypestring + idtypestring + accepttypeinteger + + + llCollisionSound + + arguments + impact_soundtypestring + impact_volumetypefloat + + + llCollisionSprite + + arguments + impact_spritetypestring + + + llCos + + returnfloat + arguments + ftypefloat + + + llCreateLink + + arguments + targettypestring + parenttypeinteger + + + llCSV2List + + returnlist + arguments + srctypestring + + + llDeleteSubList + + returnlist + arguments + srctypelist + starttypeinteger + endtypeinteger + + + llDeleteSubString + + returnstring + arguments + srctypestring + starttypeinteger + endtypeinteger + + + llDetachFromAvatar + + arguments + + llDetectedGrab + + returnvector + arguments + numbertypeinteger + + + llDetectedGroup + + returninteger + arguments + numbertypeinteger + + + llDetectedKey + + returnstring + arguments + numbertypeinteger + + + llDetectedLinkNumber + + returninteger + arguments + numbertypeinteger + + + llDetectedName + + returnstring + arguments + numbertypeinteger + + + llDetectedOwner + + returnstring + arguments + numbertypeinteger + + + llDetectedPos + + returnvector + arguments + numbertypeinteger + + + llDetectedRot + + returnrotation + arguments + numbertypeinteger + + + llDetectedTouchBinormal + + returnvector + arguments + indextypeinteger + + + llDetectedTouchFace + + returninteger + arguments + indextypeinteger + + + llDetectedTouchNormal + + returnvector + arguments + indextypeinteger + + + llDetectedTouchPos + + returnvector + arguments + indextypeinteger + + + llDetectedTouchST + + returnvector + arguments + indextypeinteger + + + llDetectedTouchUV + + returnvector + arguments + indextypeinteger + + + llDetectedType + + returninteger + arguments + numbertypeinteger + + + llDetectedVel + + returnvector + arguments + numbertypeinteger + + + llDialog + + arguments + avatartypestring + messagetypestring + buttonstypelist + chat_channeltypeinteger + + + llDie + + arguments + + llDumpList2String + + returnstring + arguments + srctypelist + seperatortypestring + + + llEdgeOfWorld + + returninteger + arguments + postypevector + dirtypevector + + + llEjectFromLand + + arguments + pesttypestring + + + llEmail + + arguments + addresstypestring + subjecttypestring + messagetypestring + + + llEscapeURL + + returnstring + arguments + urltypestring + + + llEuler2Rot + + returnrotation + arguments + vtypevector + + + llFabs + + returnfloat + arguments + ftypefloat + + + llFloor + + returninteger + arguments + ftypefloat + + + llForceMouselook + + arguments + mouselooktypeinteger + + + llFrand + + returnfloat + arguments + magtypefloat + + + llGenerateKey + + returnstring + arguments + + llGetAccel + + returnvector + arguments + + llGetAgentInfo + + returninteger + arguments + idtypestring + + + llGetAgentLanguage + + returnstring + arguments + idtypestring + + + llGetAgentList + + returnlist + arguments + scopetypeinteger + optionstypelist + + + llGetAgentSize + + returnvector + arguments + idtypestring + + + llGetAlpha + + returnfloat + arguments + facetypeinteger + + + llGetAndResetTime + + returnfloat + arguments + + llGetAnimation + + returnstring + arguments + idtypestring + + + llGetAnimationList + + returnlist + arguments + idtypestring + + + llGetAnimationOverride + + returnstring + arguments + animStatetypestring + + + llGetAttached + + returninteger + arguments + + llGetAttachedList + + returnlist + arguments + idtypestring + + + llGetBoundingBox + + returnlist + arguments + objtypestring + + + llGetCameraPos + + returnvector + arguments + + llGetCameraRot + + returnrotation + arguments + + llGetCenterOfMass + + returnvector + arguments + + llGetColor + + returnvector + arguments + facetypeinteger + + + llGetCreator + + returnstring + arguments + + llGetDate + + returnstring + arguments + + llGetDisplayName + + returnstring + arguments + idtypestring + + + llGetEnergy + + returnfloat + arguments + + llGetEnv + + returnstring + arguments + nametypestring + + + llGetForce + + returnvector + arguments + + llGetFreeMemory + + returninteger + arguments + + llGetFreeURLs + + returninteger + arguments + + llGetGeometricCenter + + returnvector + arguments + + llGetGMTclock + + returnfloat + arguments + + llGetHTTPHeader + + returnstring + arguments + request_idtypestring + headertypestring + + + llGetInventoryCreator + + returnstring + arguments + itemNametypestring + + + llGetInventoryKey + + returnstring + arguments + nametypestring + + + llGetInventoryName + + returnstring + arguments + typetypeinteger + numbertypeinteger + + + llGetInventoryNumber + + returninteger + arguments + typetypeinteger + + + llGetInventoryPermMask + + returninteger + arguments + itemNametypestring + masktypeinteger + + + llGetInventoryType + + returninteger + arguments + nametypestring + + + llGetKey + + returnstring + arguments + + llGetLandOwnerAt + + returnstring + arguments + postypevector + + + llGetLinkKey + + returnstring + arguments + linknumtypeinteger + + + llGetLinkMedia + + returnlist + arguments + linktypeinteger + facetypeinteger + rulestypelist + + + llGetLinkName + + returnstring + arguments + linknumtypeinteger + + + llGetLinkNumber + + returninteger + arguments + + llGetLinkNumberOfSides + + returninteger + arguments + linktypeinteger + + + llGetLinkNumberOfSides + + returninteger + arguments + linktypeinteger + + + llGetLinkPrimitiveParams + + returnlist + arguments + linknumbertypeinteger + rulestypelist + + + llGetListEntryType + + returninteger + arguments + srctypelist + indextypeinteger + + + llGetListLength + + returninteger + arguments + srctypelist + + + llGetLocalPos + + returnvector + arguments + + llGetLocalRot + + returnrotation + arguments + + llGetMass + + returnfloat + arguments + + llGetMassMKS + + returnfloat + arguments + + llGetMaxScaleFactor + + returnfloat + arguments + + llGetMemoryLimit + + returninteger + arguments + + llGetMinScaleFactor + + returnfloat + arguments + + llGetNextEmail + + arguments + addresstypestring + subjecttypestring + + + llGetNotecardLine + + returnstring + arguments + nametypestring + linetypeinteger + + + llGetNumberOfNotecardLines + + returnstring + arguments + nametypestring + + + llGetNumberOfPrims + + returninteger + arguments + + llGetNumberOfSides + + returninteger + arguments + + llGetObjectDesc + + returnstring + arguments + + llGetObjectDetails + + returnlist + arguments + idtypestring + argstypelist + + + llGetObjectMass + + returnfloat + arguments + idtypestring + + + llGetObjectName + + returnstring + arguments + + llGetObjectPermMask + + returninteger + arguments + masktypeinteger + + + llGetObjectPrimCount + + returninteger + arguments + object_idtypestring + + + llGetOmega + + returnvector + arguments + + llGetOwner + + returnstring + arguments + + llGetOwnerKey + + returnstring + arguments + idtypestring + + + llGetParcelDetails + + returnlist + arguments + postypevector + paramtypelist + + + llGetParcelFlags + + returninteger + arguments + postypevector + + + llGetParcelMaxPrims + + returninteger + arguments + postypevector + sim_widetypeinteger + + + llGetParcelMusicURL + + returnstring + arguments + + llGetParcelPrimCount + + returninteger + arguments + postypevector + categorytypeinteger + sim_widetypeinteger + + + llGetParcelPrimOwners + + returnlist + arguments + postypevector + + + llGetPermissions + + returninteger + arguments + + llGetPermissionsKey + + returnstring + arguments + + llGetPhysicsMaterial + + returnlist + arguments + + llGetPos + + returnvector + arguments + + llGetPrimitiveParams + + returnlist + arguments + rulestypelist + + + llGetPrimMediaParams + + returnlist + arguments + facetypeinteger + rulestypelist + + + llGetRegionAgentCount + + returninteger + arguments + + llGetRegionCorner + + returnvector + arguments + + llGetRegionFlags + + returninteger + arguments + + llGetRegionFPS + + returnfloat + arguments + + llGetRegionName + + returnstring + arguments + + llGetRegionTimeDilation + + returnfloat + arguments + + llGetRootPosition + + returnvector + arguments + + llGetRootRotation + + returnrotation + arguments + + llGetRot + + returnrotation + arguments + + llGetScale + + returnvector + arguments + + llGetScriptName + + returnstring + arguments + + llGetScriptState + + returninteger + arguments + nametypestring + + + llGetSimulatorHostname + + returnstring + arguments + + llGetSPMaxMemory + + returninteger + arguments + + llGetStartParameter + + returninteger + arguments + + llGetStatus + + returninteger + arguments + statustypeinteger + + + llGetSubString + + returnstring + arguments + srctypestring + starttypeinteger + endtypeinteger + + + llGetSunDirection + + returnvector + arguments + + llGetTexture + + returnstring + arguments + facetypeinteger + + + llGetTextureOffset + + returnvector + arguments + facetypeinteger + + + llGetTextureRot + + returnfloat + arguments + facetypeinteger + + + llGetTextureScale + + returnvector + arguments + sidetypeinteger + + + llGetTime + + returnfloat + arguments + + llGetTimeOfDay + + returnfloat + arguments + + llGetTimestamp + + returnstring + arguments + + llGetTorque + + returnvector + arguments + + llGetUnixTime + + returninteger + arguments + + llGetUsedMemory + + returninteger + arguments + + llGetUsername + + returnstring + arguments + idtypestring + + + llGetVel + + returnvector + arguments + + llGetWallclock + + returnfloat + arguments + + llGiveInventory + + arguments + destinationtypestring + inventorytypestring + + + llGiveInventoryList + + arguments + destinationtypestring + categorytypestring + inventorytypelist + + + llGiveMoney + + returninteger + arguments + destinationtypestring + amounttypeinteger + + + llGodLikeRezObject + + arguments + inventorytypestring + postypevector + + + llGround + + returnfloat + arguments + offsettypevector + + + llGroundContour + + returnvector + arguments + offsettypevector + + + llGroundNormal + + returnvector + arguments + offsettypevector + + + llGroundRepel + + arguments + heighttypefloat + watertypeinteger + tautypefloat + + + llGroundSlope + + returnvector + arguments + offsettypevector + + + llHTTPRequest + + returnstring + arguments + urltypestring + parameterstypelist + bodytypestring + + + llHTTPResponse + + arguments + idtypestring + statustypeinteger + bodytypestring + + + llInsertString + + returnstring + arguments + desttypestring + indextypeinteger + srctypestring + + + llInstantMessage + + arguments + usertypestring + messagetypestring + + + llIntegerToBase64 + + returnstring + arguments + numbertypeinteger + + + llJson2List + + returnlist + arguments + jsontypestring + + + llJsonGetValue + + returnstring + arguments + jsontypestring + specifierstypelist + + + llJsonSetValue + + returnstring + arguments + jsontypestring + specifierstypelist + valuetypestring + + + llJsonValueType + + returnstring + arguments + jsontypestring + specifierstypelist + + + llKey2Name + + returnstring + arguments + idtypestring + + + llLinkParticleSystem + + arguments + linknumbertypeinteger + rulestypelist + + + llLinkSitTarget + + arguments + linktypeinteger + offsettypevector + rottyperotation + + + llList2CSV + + returnstring + arguments + srctypelist + + + llList2Float + + returnfloat + arguments + srctypelist + indextypeinteger + + + llList2Integer + + returninteger + arguments + srctypelist + indextypeinteger + + + llList2Json + + returnstring + arguments + typetypestring + valuestypelist + + + llList2Key + + returnstring + arguments + srctypelist + indextypeinteger + + + llList2List + + returnlist + arguments + srctypelist + starttypeinteger + endtypeinteger + + + llList2ListStrided + + returnlist + arguments + srctypelist + starttypeinteger + endtypeinteger + stridetypeinteger + + + llList2Rot + + returnrotation + arguments + srctypelist + indextypeinteger + + + llList2String + + returnstring + arguments + srctypelist + indextypeinteger + + + llList2Vector + + returnvector + arguments + srctypelist + indextypeinteger + + + llListen + + returninteger + arguments + channelIDtypeinteger + nametypestring + IDtypestring + msgtypestring + + + llListenControl + + arguments + numbertypeinteger + activetypeinteger + + + llListenRemove + + arguments + numbertypeinteger + + + llListFindList + + returninteger + arguments + srctypelist + testtypelist + + + llListInsertList + + returnlist + arguments + desttypelist + srctypelist + indextypeinteger + + + llListRandomize + + returnlist + arguments + srctypelist + stridetypeinteger + + + llListReplaceList + + returnlist + arguments + desttypelist + srctypelist + starttypeinteger + endtypeinteger + + + llListSort + + returnlist + arguments + srctypelist + stridetypeinteger + ascendingtypeinteger + + + llListStatistics + + returnfloat + arguments + operationtypeinteger + srctypelist + + + llLoadURL + + arguments + avatar_idtypestring + messagetypestring + urltypestring + + + llLog + + returnfloat + arguments + valtypefloat + + + llLog10 + + returnfloat + arguments + valtypefloat + + + llLookAt + + arguments + targettypevector + strengthtypefloat + dampingtypefloat + + + llLoopSound + + arguments + soundtypestring + volumetypefloat + + + llLoopSoundMaster + + arguments + soundtypestring + volumetypefloat + + + llLoopSoundSlave + + arguments + soundtypestring + volumetypefloat + + + llMakeExplosion + + arguments + particlestypeinteger + scaletypefloat + veltypefloat + lifetimetypefloat + arctypefloat + texturetypestring + offsettypevector + + + llMakeFire + + arguments + particlestypeinteger + scaletypefloat + veltypefloat + lifetimetypefloat + arctypefloat + texturetypestring + offsettypevector + + + llMakeFountain + + arguments + particlestypeinteger + scaletypefloat + veltypefloat + lifetimetypefloat + arctypefloat + bouncetypeinteger + texturetypestring + offsettypevector + bounce_offsettypefloat + + + llMakeSmoke + + arguments + particlestypeinteger + scaletypefloat + veltypefloat + lifetimetypefloat + arctypefloat + texturetypestring + offsettypevector + + + llManageEstateAccess + + returninteger + arguments + actiontypeinteger + avatartypestring + + + llMapDestination + + arguments + simnametypestring + postypevector + lookAttypevector + + + llMD5String + + returnstring + arguments + srctypestring + noncetypeinteger + + + llMessageLinked + + arguments + linknumbertypeinteger + numtypeinteger + msgtypestring + idtypestring + + + llMinEventDelay + + arguments + delaytypefloat + + + llModifyLand + + arguments + actiontypeinteger + brushtypeinteger + + + llModPow + + returninteger + arguments + atypeinteger + btypeinteger + ctypeinteger + + + llMoveToTarget + + arguments + targettypevector + tautypefloat + + + llName2Key + + returnstring + arguments + nametypestring + + + llOffsetTexture + + arguments + utypefloat + vtypefloat + facetypeinteger + + + llOpenRemoteDataChannel + + arguments + + llOverMyLand + + returninteger + arguments + idtypestring + + + llOwnerSay + + arguments + msgtypestring + + + llParcelMediaCommandList + + arguments + commandListtypelist + + + llParcelMediaQuery + + returnlist + arguments + aListtypelist + + + llParseString2List + + returnlist + arguments + strtypestring + separatorstypelist + in_spacerstypelist + + + llParseStringKeepNulls + + returnlist + arguments + srctypestring + separatorstypelist + spacerstypelist + + + llParticleSystem + + arguments + rulestypelist + + + llPassCollisions + + arguments + passtypeinteger + + + llPassTouches + + arguments + passtypeinteger + + + llPlaySound + + arguments + soundtypestring + volumetypefloat + + + llPlaySoundSlave + + arguments + soundtypestring + volumetypefloat + + + llPointAt + + arguments + postypevector + + + llPow + + returnfloat + arguments + fbasetypefloat + fexponenttypefloat + + + llPreloadSound + + arguments + soundtypestring + + + llPushObject + + arguments + targettypestring + impulsetypevector + ang_impulsetypevector + localtypeinteger + + + llRefreshPrimURL + + arguments + + llRegionSay + + arguments + channelIDtypeinteger + texttypestring + + + llRegionSayTo + + arguments + targettypestring + channeltypeinteger + msgtypestring + + + llReleaseCamera + + arguments + avatartypestring + + + llReleaseControls + + arguments + + llReleaseURL + + arguments + urltypestring + + + llRemoteDataReply + + arguments + channeltypestring + message_idtypestring + sdatatypestring + idatatypeinteger + + + llRemoteDataSetRegion + + arguments + + llRemoteLoadScript + + arguments + targettypestring + nametypestring + runningtypeinteger + start_paramtypeinteger + + + llRemoteLoadScriptPin + + arguments + targettypestring + nametypestring + pintypeinteger + runningtypeinteger + start_paramtypeinteger + + + llRemoveFromLandBanList + + arguments + avatartypestring + + + llRemoveFromLandPassList + + arguments + avatartypestring + + + llRemoveInventory + + arguments + nametypestring + + + llRemoveVehicleFlags + + arguments + flagstypeinteger + + + llRequestAgentData + + returnstring + arguments + idtypestring + datatypeinteger + + + llRequestDisplayName + + returnstring + arguments + idtypestring + + + llRequestInventoryData + + returnstring + arguments + nametypestring + + + llRequestPermissions + + arguments + agenttypestring + permtypeinteger + + + llRequestSecureURL + + returnstring + arguments + + llRequestSimulatorData + + returnstring + arguments + simulatortypestring + datatypeinteger + + + llRequestURL + + returnstring + arguments + + llRequestUsername + + returnstring + arguments + idtypestring + + + llResetAnimationOverride + + arguments + animStatetypestring + + + llResetLandBanList + + arguments + + llResetLandPassList + + arguments + + llResetOtherScript + + arguments + nametypestring + + + llResetScript + + arguments + + llResetTime + + arguments + + llRezAtRoot + + arguments + inventorytypestring + postypevector + veltypevector + rottyperotation + paramtypeinteger + + + llRezObject + + arguments + inventorytypestring + postypevector + veltypevector + rottyperotation + paramtypeinteger + + + llRot2Angle + + returnfloat + arguments + rottyperotation + + + llRot2Axis + + returnvector + arguments + rottyperotation + + + llRot2Euler + + returnvector + arguments + q1typerotation + + + llRot2Fwd + + returnvector + arguments + rtyperotation + + + llRot2Left + + returnvector + arguments + rtyperotation + + + llRot2Up + + returnvector + arguments + rtyperotation + + + llRotateTexture + + arguments + rotationtypefloat + facetypeinteger + + + llRotBetween + + returnrotation + arguments + atypevector + btypevector + + + llRotLookAt + + arguments + targettyperotation + strengthtypefloat + dampingtypefloat + + + llRotTarget + + returninteger + arguments + rottyperotation + errortypefloat + + + llRotTargetRemove + + arguments + numbertypeinteger + + + llRound + + returninteger + arguments + ftypefloat + + + llSameGroup + + returninteger + arguments + idtypestring + + + llSay + + arguments + channelIDtypeinteger + texttypestring + + + llScaleByFactor + + returninteger + arguments + scaling_factortypefloat + + + llScaleTexture + + arguments + utypefloat + vtypefloat + facetypeinteger + + + llScriptDanger + + returninteger + arguments + postypevector + + + llScriptProfiler + + arguments + flagstypeinteger + + + llSendRemoteData + + returnstring + arguments + channeltypestring + desttypestring + idatatypeinteger + sdatatypestring + + + llSensor + + arguments + nametypestring + idtypestring + typetypeinteger + rangetypefloat + arctypefloat + + + llSensorRemove + + arguments + + llSensorRepeat + + arguments + nametypestring + idtypestring + typetypeinteger + rangetypefloat + arctypefloat + ratetypefloat + + + llSetAlpha + + arguments + alphatypefloat + facetypeinteger + + + llSetAngularVelocity + + arguments + aveltypevector + localtypeinteger + + + llSetAnimationOverride + + arguments + animStatetypestring + animtypestring + + + llSetBuoyancy + + arguments + buoyancytypefloat + + + llSetCameraAtOffset + + arguments + offsettypevector + + + llSetCameraEyeOffset + + arguments + offsettypevector + + + llSetCameraParams + + arguments + rulestypelist + + + llSetClickAction + + arguments + actiontypeinteger + + + llSetColor + + arguments + colortypevector + facetypeinteger + + + llSetContentType + + arguments + idtypestring + typetypeinteger + + + llSetDamage + + arguments + damagetypefloat + + + llSetForce + + arguments + forcetypevector + localtypeinteger + + + llSetForceAndTorque + + arguments + forcetypevector + torquetypevector + localtypeinteger + + + llSetHoverHeight + + arguments + heighttypefloat + watertypeinteger + tautypefloat + + + llSetInventoryPermMask + + arguments + itemNametypestring + masktypeinteger + valuetypeinteger + + + llSetKeyframedMotion + + arguments + framestypelist + optionstypelist + + + llSetLinkAlpha + + arguments + linknumbertypeinteger + alphatypefloat + facetypeinteger + + + llSetLinkCamera + + arguments + linktypeinteger + eyetypevector + attypevector + + + llSetLinkColor + + arguments + linknumbertypeinteger + colortypevector + facetypeinteger + + + llSetLinkMedia + + returninteger + arguments + linktypeinteger + facetypeinteger + rulestypelist + + + llSetLinkPrimitiveParams + + arguments + linknumbertypeinteger + rulestypelist + + + llSetLinkPrimitiveParamsFast + + arguments + linknumbertypeinteger + rulestypelist + + + llSetLinkTexture + + arguments + linknumbertypeinteger + texturetypestring + facetypeinteger + + + llSetLinkTextureAnim + + arguments + linknumbertypeinteger + modetypeinteger + facetypeinteger + sizextypeinteger + sizeytypeinteger + starttypefloat + lengthtypefloat + ratetypefloat + + + llSetLocalRot + + arguments + rottyperotation + + + llSetMemoryLimit + + returninteger + arguments + limittypeinteger + + + llSetObjectDesc + + arguments + desctypestring + + + llSetObjectName + + arguments + nametypestring + + + llSetObjectPermMask + + arguments + masktypeinteger + valuetypeinteger + + + llSetParcelMusicURL + + arguments + urltypestring + + + llSetPayPrice + + arguments + pricetypeinteger + quick_pay_buttonstypelist + + + llSetPhysicsMaterial + + arguments + material_bitstypeinteger + material_gravity_modifiertypefloat + material_restitutiontypefloat + material_frictiontypefloat + material_densitytypefloat + + + llSetPos + + arguments + postypevector + + + llSetPrimitiveParams + + arguments + rulestypelist + + + llSetPrimMediaParams + + returninteger + arguments + facetypeinteger + rulestypelist + + + llSetPrimURL + + arguments + urltypestring + + + llSetRegionPos + + returninteger + arguments + postypevector + + + llSetRemoteScriptAccessPin + + arguments + pintypeinteger + + + llSetRot + + arguments + rottyperotation + + + llSetScale + + arguments + scaletypevector + + + llSetScriptState + + arguments + nametypestring + runtypeinteger + + + llSetSitText + + arguments + texttypestring + + + llSetSoundQueueing + + arguments + queuetypeinteger + + + llSetSoundRadius + + arguments + radiustypefloat + + + llSetStatus + + arguments + statustypeinteger + valuetypeinteger + + + llSetText + + arguments + texttypestring + colortypevector + alphatypefloat + + + llSetTexture + + arguments + texturetypestring + facetypeinteger + + + llSetTextureAnim + + arguments + modetypeinteger + facetypeinteger + sizextypeinteger + sizeytypeinteger + starttypefloat + lengthtypefloat + ratetypefloat + + + llSetTimerEvent + + arguments + sectypefloat + + + llSetTorque + + arguments + torquetypevector + localtypeinteger + + + llSetTouchText + + arguments + texttypestring + + + llSetVehicleFlags + + arguments + flagstypeinteger + + + llSetVehicleFloatParam + + arguments + paramtypeinteger + valuetypefloat + + + llSetVehicleRotationParam + + arguments + paramtypeinteger + rottyperotation + + + llSetVehicleType + + arguments + typetypeinteger + + + llSetVehicleVectorParam + + arguments + paramtypeinteger + vectypevector + + + llSetVelocity + + arguments + veltypevector + localtypeinteger + + + llSHA1String + + returnstring + arguments + srctypestring + + + llShout + + arguments + channelIDtypeinteger + texttypestring + + + llSin + + returnfloat + arguments + ftypefloat + + + llSitTarget + + arguments + offsettypevector + rottyperotation + + + llSleep + + arguments + sectypefloat + + + llSound + + arguments + soundtypestring + volumetypefloat + queuetypeinteger + looptypeinteger + + + llSoundPreload + + arguments + soundtypestring + + + llSqrt + + returnfloat + arguments + ftypefloat + + + llStartAnimation + + arguments + animtypestring + + + llStopAnimation + + arguments + animtypestring + + + llStopHover + + arguments + + llStopLookAt + + arguments + + llStopMoveToTarget + + arguments + + llStopPointAt + + arguments + + llStopSound + + arguments + + llStringLength + + returninteger + arguments + strtypestring + + + llStringToBase64 + + returnstring + arguments + strtypestring + + + llStringTrim + + returnstring + arguments + srctypestring + typetypeinteger + + + llSubStringIndex + + returninteger + arguments + sourcetypestring + patterntypestring + + + llTakeCamera + + arguments + avatartypestring + + + llTakeControls + + arguments + controlstypeinteger + accepttypeinteger + pass_ontypeinteger + + + llTan + + returnfloat + arguments + ftypefloat + + + llTarget + + returninteger + arguments + positiontypevector + rangetypefloat + + + llTargetOmega + + arguments + axistypevector + spinratetypefloat + gaintypefloat + + + llTargetRemove + + arguments + numbertypeinteger + + + llTeleportAgent + + arguments + agenttypestring + destinationtypestring + targetPostypevector + targetLookAttypevector + + + llTeleportAgentGlobalCoords + + arguments + agenttypestring + global_coordstypevector + targetPostypevector + targetLookAttypevector + + + llTeleportAgentHome + + arguments + agenttypestring + + + llTextBox + + arguments + agenttypestring + messagetypestring + chatChanneltypeinteger + + + llToLower + + returnstring + arguments + srctypestring + + + llToUpper + + returnstring + arguments + srctypestring + + + llTransferLindenDollars + + returnstring + arguments + destinationtypestring + amounttypeinteger + + + llTriggerSound + + arguments + soundtypestring + volumetypefloat + + + llTriggerSoundLimited + + arguments + soundtypestring + volumetypefloat + top_north_easttypevector + bottom_south_westtypevector + + + llUnescapeURL + + returnstring + arguments + urltypestring + + + llUnSit + + arguments + idtypestring + + + llVecDist + + returnfloat + arguments + atypevector + btypevector + + + llVecMag + + returnfloat + arguments + vtypevector + + + llVecNorm + + returnvector + arguments + vtypevector + + + llVolumeDetect + + arguments + detecttypeinteger + + + llWater + + returnfloat + arguments + offsettypevector + + + llWhisper + + arguments + channelIDtypeinteger + texttypestring + + + llWind + + returnvector + arguments + offsettypevector + + + llXorBase64Strings + + returnstring + arguments + str1typestring + str2typestring + + + llXorBase64StringsCorrect + + returnstring + arguments + str1typestring + str2typestring + + + lsClearWindlightScene + + arguments + + lsGetWindlightScene + + returnlist + arguments + rulestypelist + + + lsSetWindlightScene + + returninteger + arguments + rulestypelist + + + lsSetWindlightSceneTargeted + + returninteger + arguments + rulestypelist + targettypestring + + + osAdjustSoundVolume + + arguments + linknumtypeinteger + volumetypefloat + + + osAgentSaveAppearance + + returnstring + arguments + avatarIdtypestring + notecardtypestring + + + osAngleBetween + + returnfloat + arguments + atypevector + btypevector + + + osAvatarName2Key + + returnstring + arguments + firstnametypestring + lastnametypestring + + + osAvatarPlayAnimation + + arguments + avatartypestring + animationtypestring + + + osAvatarStopAnimation + + arguments + avatartypestring + animationtypestring + + + osCauseDamage + + arguments + avatartypestring + damagetypefloat + + + osCauseHealing + + arguments + avatartypestring + healingtypefloat + + + osCheckODE + + returninteger + arguments + + osClearInertia + + arguments + + osCollisionSound + + arguments + impact_soundtypestring + impact_volumetypefloat + + + osConsoleCommand + + returninteger + arguments + commandtypestring + + + osDie + + arguments + objectUUIDtypestring + + + osDrawEllipse + + returnstring + arguments + drawListtypestring + widthtypeinteger + heighttypeinteger + + + osDrawFilledEllipse + + returnstring + arguments + drawListtypestring + widthtypeinteger + heighttypeinteger + + + osDrawFilledPolygon + + returnstring + arguments + drawListtypestring + xtypelist + ytypelist + + + osDrawFilledRectangle + + returnstring + arguments + drawListtypestring + widthtypeinteger + heighttypeinteger + + + osDrawImage + + returnstring + arguments + drawListtypestring + widthtypeinteger + heighttypeinteger + imageUrltypestring + + + osDrawLine + + returnstring + arguments + drawListtypestring + startXtypeinteger + startYtypeinteger + endXtypeinteger + endYtypeinteger + + + osDrawLine + + returnstring + arguments + drawListtypestring + endXtypeinteger + endYtypeinteger + + + osDrawPolygon + + returnstring + arguments + drawListtypestring + xtypelist + ytypelist + + + osDrawRectangle + + returnstring + arguments + drawListtypestring + widthtypeinteger + heighttypeinteger + + + osDrawResetTransform + + returnstring + arguments + drawListtypestring + + + osDrawRotationTransform + + returnstring + arguments + drawListtypestring + xtypefloat + + + osDrawScaleTransform + + returnstring + arguments + drawListtypestring + xtypefloat + ytypefloat + + + osDrawText + + returnstring + arguments + drawListtypestring + texttypestring + + + osDrawTranslationTransform + + returnstring + arguments + drawListtypestring + xtypefloat + ytypefloat + + + osDropAttachment + + arguments + + osDropAttachmentAt + + arguments + postypevector + rottyperotation + + + osEjectFromGroup + + returninteger + arguments + agentIdtypestring + + + osForceAttachToAvatar + + arguments + attachmentPointtypeinteger + + + osForceAttachToAvatarFromInventory + + arguments + itemNametypestring + attachmentPointtypeinteger + + + osForceAttachToOtherAvatarFromInventory + + arguments + rawAvatarIdtypestring + itemNametypestring + attachmentPointtypeinteger + + + osForceBreakAllLinks + + arguments + + osForceBreakLink + + arguments + linknumtypeinteger + + + osForceCreateLink + + arguments + targettypestring + parenttypeinteger + + + osForceDetachFromAvatar + + arguments + + osForceDropAttachment + + arguments + + osForceDropAttachmentAt + + arguments + postypevector + rottyperotation + + + osForceOtherSit + + arguments + avatartypestring + + + osForceOtherSit + + arguments + avatartypestring + targettypestring + + + osFormatString + + returnstring + arguments + strtypestring + stringstypelist + + + osGetAgentIP + + returnstring + arguments + agenttypestring + + + osGetAgents + + returnlist + arguments + + osGetAvatarHomeURI + + returnstring + arguments + uuidtypestring + + + osGetAvatarList + + returnlist + arguments + + osGetCurrentSunHour + + returnfloat + arguments + + osGetDrawStringSize + + returnvector + arguments + contentTypetypestring + texttypestring + fontNametypestring + fontSizetypeinteger + + + osGetGender + + returnstring + arguments + rawAvatarIdtypestring + + + osGetGridCustom + + returnstring + arguments + keytypestring + + + osGetGridGatekeeperURI + + returnstring + arguments + + osGetGridHomeURI + + returnstring + arguments + + osGetGridLoginURI + + returnstring + arguments + + osGetGridName + + returnstring + arguments + + osGetGridNick + + returnstring + arguments + + osGetHealRate + + returnfloat + arguments + avatartypestring + + + osGetHealth + + returnfloat + arguments + avatartypestring + + + osGetInertiaData + + returnlist + arguments + + osGetInventoryDesc + + returnstring + arguments + itemtypestring + + + osGetLinkNumber + + returninteger + arguments + nametypestring + + + osGetLinkPrimitiveParams + + returnlist + arguments + linknumbertypeinteger + rulestypelist + + + osGetMapTexture + + returnstring + arguments + + osGetNotecard + + returnstring + arguments + nametypestring + + + osGetNotecardLine + + returnstring + arguments + nametypestring + linetypeinteger + + + osGetNPCList + + returnlist + arguments + + osGetNumberOfAttachments + + returnlist + arguments + avatartypestring + attachmentPointstypelist + + + osGetNumberOfNotecardLines + + returninteger + arguments + nametypestring + + + osGetPhysicsEngineName + + returnstring + arguments + + osGetPhysicsEngineType + + returnstring + arguments + + osGetPrimitiveParams + + returnlist + arguments + primtypestring + rulestypelist + + + osGetRegionMapTexture + + returnstring + arguments + regionNametypestring + + + osGetRegionSize + + returnvector + arguments + + osGetRegionStats + + returnlist + arguments + + osGetRezzingObject + + returnstring + arguments + + osGetScriptEngineName + + returnstring + arguments + + osGetSimulatorMemory + + returninteger + arguments + + osGetSimulatorMemoryKB + + returninteger + arguments + + osGetSimulatorVersion + + returnstring + arguments + + osGetSunParam + + returnfloat + arguments + paramtypestring + + + osGetTerrainHeight + + returnfloat + arguments + xtypeinteger + ytypeinteger + + + osGetWindParam + + returnfloat + arguments + plugintypestring + paramtypestring + + + osInviteToGroup + + returninteger + arguments + agentIdtypestring + + + osIsNpc + + returninteger + arguments + npctypestring + + + osIsUUID + + returninteger + arguments + thingtypestring + + + osKey2Name + + returnstring + arguments + idtypestring + + + osKickAvatar + + arguments + FirstNametypestring + SurNametypestring + alerttypestring + + + osList2Double + + returnfloat + arguments + srctypelist + indextypeinteger + + + osListenRegex + + returninteger + arguments + channelIDtypeinteger + nametypestring + IDtypestring + msgtypestring + regexBitfieldtypeinteger + + + osLoadedCreationDate + + returnstring + arguments + + osLoadedCreationID + + returnstring + arguments + + osLoadedCreationTime + + returnstring + arguments + + osLoopSound + + arguments + linknumtypeinteger + soundtypestring + volumetypefloat + + + osLoopSoundMaster + + arguments + linknumtypeinteger + soundtypestring + volumetypefloat + + + osLoopSoundSlave + + arguments + linknumtypeinteger + soundtypestring + volumetypefloat + + + osMakeNotecard + + arguments + notecardNametypestring + contentstypelist + + + osMatchString + + returnlist + arguments + srctypestring + patterntypestring + starttypeinteger + + + osMax + + returnfloat + arguments + atypefloat + btypefloat + + + osMessageAttachments + + arguments + avatartypestring + messagetypestring + attachmentPointstypelist + optionstypeinteger + + + osMessageObject + + arguments + objectUUIDtypestring + messagetypestring + + + osMin + + returnfloat + arguments + atypefloat + btypefloat + + + osMovePen + + returnstring + arguments + drawListtypestring + xtypeinteger + ytypeinteger + + + osNpcCreate + + returnstring + arguments + firstnametypestring + lastnametypestring + positiontypevector + notecardtypestring + + + osNpcCreate + + returnstring + arguments + firstnametypestring + lastnametypestring + positiontypevector + notecardtypestring + optionstypeinteger + + + osNpcGetOwner + + returnstring + arguments + npctypestring + + + osNpcGetPos + + returnvector + arguments + npctypestring + + + osNpcGetRot + + returnrotation + arguments + npctypestring + + + osNpcLoadAppearance + + arguments + npctypestring + notecardtypestring + + + osNpcMoveTo + + arguments + npctypestring + postypevector + + + osNpcMoveToTarget + + arguments + npctypestring + targettypevector + optionstypeinteger + + + osNpcPlayAnimation + + arguments + npctypestring + animationtypestring + + + osNpcRemove + + arguments + npctypestring + + + osNpcSaveAppearance + + returnstring + arguments + npctypestring + notecardtypestring + + + osNpcSay + + arguments + npctypestring + messagetypestring + + + osNpcSay + + arguments + npctypestring + channeltypeinteger + messagetypestring + + + osNpcSetProfileAbout + + arguments + npctypestring + abouttypestring + + + osNpcSetProfileImage + + arguments + npctypestring + imagetypestring + + + osNpcSetRot + + arguments + npctypestring + rotationtyperotation + + + osNpcShout + + arguments + npctypestring + channeltypeinteger + messagetypestring + + + osNpcSit + + arguments + npctypestring + targettypestring + optionstypeinteger + + + osNpcStand + + arguments + npctypestring + + + osNpcStopAnimation + + arguments + npctypestring + animationtypestring + + + osNpcStopMoveToTarget + + arguments + npctypestring + + + osNpcTouch + + arguments + npcLSL_Keytypestring + object_keytypestring + link_numtypeinteger + + + osNpcWhisper + + arguments + npctypestring + channeltypeinteger + messagetypestring + + + osOwnerSaveAppearance + + returnstring + arguments + notecardtypestring + + + osParcelJoin + + arguments + pos1typevector + pos2typevector + + + osParcelSetDetails + + arguments + postypevector + rulestypelist + + + osParcelSubdivide + + arguments + pos1typevector + pos2typevector + + + osParseJSON + + arguments + JSONtypestring + + + osParseJSONNew + + arguments + JSONtypestring + + + osPlaySound + + arguments + linknumtypeinteger + soundtypestring + volumetypefloat + + + osPlaySoundSlave + + arguments + linknumtypeinteger + soundtypestring + volumetypefloat + + + osPreloadSound + + arguments + linknumtypeinteger + soundtypestring + + + osRegexIsMatch + + returninteger + arguments + inputtypestring + patterntypestring + + + osRegionNotice + + arguments + agentIDtypestring + msgtypestring + + + osRegionNotice + + arguments + msgtypestring + + + osRegionRestart + + returninteger + arguments + secondstypefloat + msgtypestring + + + osRegionRestart + + returninteger + arguments + secondstypefloat + + + osReplaceString + + returnstring + arguments + srctypestring + patterntypestring + replacetypestring + counttypeinteger + starttypeinteger + + + osRequestSecureURL + + returnstring + arguments + optionstypelist + + + osRequestURL + + returnstring + arguments + optionstypelist + + + osRound + + returnfloat + arguments + valuetypefloat + ndigitstypeinteger + + + osSetContentType + + arguments + idtypestring + typetypestring + + + osSetDynamicTextureData + + returnstring + arguments + dynamicIDtypestring + contentTypetypestring + datatypestring + extraParamstypestring + timertypeinteger + + + osSetDynamicTextureDataBlend + + returnstring + arguments + dynamicIDtypestring + contentTypetypestring + datatypestring + extraParamstypestring + timertypeinteger + alphatypeinteger + + + osSetDynamicTextureDataBlendFace + + returnstring + arguments + dynamicIDtypestring + contentTypetypestring + datatypestring + extraParamstypestring + blendtypeinteger + disptypeinteger + timertypeinteger + alphatypeinteger + facetypeinteger + + + osSetDynamicTextureDataFace + + returnstring + arguments + dynamicIDtypestring + contentTypetypestring + datatypestring + extraParamstypestring + timertypeinteger + facetypeinteger + + + osSetDynamicTextureURL + + returnstring + arguments + dynamicIDtypestring + contentTypetypestring + urltypestring + extraParamstypestring + timertypeinteger + + + osSetDynamicTextureURLBlend + + returnstring + arguments + dynamicIDtypestring + contentTypetypestring + urltypestring + extraParamstypestring + timertypeinteger + alphatypeinteger + + + osSetDynamicTextureURLBlendFace + + returnstring + arguments + dynamicIDtypestring + contentTypetypestring + urltypestring + extraParamstypestring + blendtypeinteger + disptypeinteger + timertypeinteger + alphatypeinteger + facetypeinteger + + + osSetEstateSunSettings + + arguments + sunFixedtypeinteger + sunHourtypefloat + + + osSetFontName + + returnstring + arguments + drawListtypestring + fontNametypestring + + + osSetFontSize + + returnstring + arguments + drawListtypestring + fontSizetypeinteger + + + osSetHealRate + + arguments + avatartypestring + healratetypefloat + + + osSetHealth + + arguments + avatartypestring + healthtypefloat + + + osSetInertia + + arguments + masstypefloat + centerOfMasstypevector + principalInertiaScaledtypevector + lslrottyperotation + + + osSetInertiaAsBox + + arguments + masstypefloat + boxSizetypevector + centerOfMasstypevector + lslrottyperotation + + + osSetInertiaAsCylinder + + arguments + masstypefloat + radiustypefloat + lenghttypefloat + centerOfMasstypevector + lslrottyperotation + + + osSetInertiaAsSphere + + arguments + masstypefloat + radiustypefloat + centerOfMasstypevector + + + osSetOwnerSpeed + + arguments + SpeedModifiertypefloat + + + osSetParcelDetails + + arguments + postypevector + rulestypelist + + + osSetParcelMediaURL + + arguments + urltypestring + + + osSetParcelSIPAddress + + arguments + SIPAddresstypestring + + + osSetPenCap + + returnstring + arguments + drawListtypestring + directiontypestring + typetypestring + + + osSetPenColor + + returnstring + arguments + drawListtypestring + colortypestring + + + osSetPenColour + + returnstring + arguments + drawListtypestring + colourtypestring + + + osSetPenSize + + returnstring + arguments + drawListtypestring + penSizetypeinteger + + + osSetPrimFloatOnWater + + arguments + floatYNtypeinteger + + + osSetPrimitiveParams + + arguments + primtypestring + rulestypelist + + + osSetProjectionParams + + arguments + projectiontypeinteger + texturetypestring + fovtypefloat + focustypefloat + ambtypefloat + + + osSetProjectionParams + + arguments + primtypestring + projectiontypeinteger + texturetypestring + fovtypefloat + focustypefloat + ambtypefloat + + + osSetRegionSunSettings + + arguments + useEstateSuntypeinteger + sunFixedtypeinteger + sunHourtypefloat + + + osSetRegionWaterHeight + + arguments + heighttypefloat + + + osSetRot + + arguments + targettype + rotationtyperotation + + + osSetSoundRadius + + arguments + linknumtypeinteger + radiustypefloat + + + osSetSpeed + + arguments + IDtypestring + SpeedModifiertypefloat + + + osSetStateEvents + + arguments + eventstypeinteger + + + osSetSunParam + + arguments + paramtypestring + valuetypefloat + + + osSetTerrainHeight + + returninteger + arguments + xtypeinteger + ytypeinteger + valtypefloat + + + osSetTerrainTexture + + arguments + leveltypeinteger + texturetypestring + + + osSetTerrainTextureHeight + + arguments + cornertypeinteger + lowtypefloat + hightypefloat + + + osSetWindParam + + arguments + plugintypestring + paramtypestring + valuetypefloat + + + osStopSound + + arguments + linknumtypeinteger + + + osSunGetParam + + returnfloat + arguments + paramtypestring + + + osSunSetParam + + arguments + paramtypestring + valuetypefloat + + + osTeleportAgent + + arguments + agenttypestring + positiontypevector + lookattypevector + + + osTeleportAgent + + arguments + agenttypestring + regionGridXtypeinteger + regionGridYtypeinteger + positiontypevector + lookattypevector + + + osTeleportAgent + + arguments + agenttypestring + regionNametypestring + positiontypevector + lookattypevector + + + osTeleportObject + + returninteger + arguments + objectUUIDtypestring + targetPostypevector + rotationtyperotation + flagstypeinteger + + + osTeleportOwner + + arguments + positiontypevector + lookattypevector + + + osTeleportOwner + + arguments + regionNametypestring + positiontypevector + lookattypevector + + + osTeleportOwner + + arguments + regionGridXtypeinteger + regionGridYtypeinteger + positiontypevector + lookattypevector + + + osTerrainFlush + + arguments + + osTerrainGetHeight + + returnfloat + arguments + xtypeinteger + ytypeinteger + + + osTerrainSetHeight + + returninteger + arguments + xtypeinteger + ytypeinteger + valtypefloat + + + osTriggerSound + + arguments + linknumtypeinteger + soundtypestring + volumetypefloat + + + osTriggerSoundLimited + + arguments + linknumtypeinteger + soundtypestring + volumetypefloat + top_north_easttypevector + bottom_south_westtypevector + + + osUnixTimeToTimestamp + + returnstring + arguments + timetypeinteger + + + osVecDistSquare + + returnfloat + arguments + atypevector + btypevector + + + osVecMagSquare + + returnfloat + arguments + atypevector + + + osVolumeDetect + + arguments + detecttypeinteger + + + osWindActiveModelPluginName + + returnstring + arguments + \ No newline at end of file -- cgit v1.1 From a95397e8f52e5d5b7f7ab8230eb7dc4f10bb5d7b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 25 Oct 2018 02:12:23 +0100 Subject: update syntax file --- bin/ScriptSyntax.xml | 10311 ++++++++++++++++--------------------------------- 1 file changed, 3322 insertions(+), 6989 deletions(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index 4efa118..41b669d 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,6611 +1,3233 @@ llsd-lsl-syntax-version2 - controls - do - - tooltip - do / while loop\ndo {\n...\n} while (<condition>); - - else - - tooltip - if / else block\nif (<condition>) {\n...\n[} else [if (<condition>) {\n...]]\n} - - for - - tooltip - for loop\nfor (<initializer>; <condition>; <post-iteration-statement>)\n{ ...\n} - - if - - tooltip - if / else block\nif (<condition>) {\n...\n[} else [if (<condition>) {\n...]]\n} - - jump - - tooltip - jump statement\njump <label> - - return - - tooltip - Leave current event or function.\nreturn [<variable>];\nOptionally pass back a variable's value, from a function. - - state - - tooltip - state <target>\nIf the target state is not the same as the current one, change to the target state. - - while - - tooltip - while loop\nwhile (<condition>) {\n,,,\n} - + do + + tooltipdo / while loop\ndo {\n...\n} while (<condition>); + + else + + tooltip + if / else block\nif (<condition>) {\n...\n[} else [if (<condition>) {\n...]]\n} + + for + + tooltip + for loop\nfor (<initializer>; <condition>; <post-iteration-statement>)\n{ ...\n} + + if + + tooltip + if / else block\nif (<condition>) {\n...\n[} else [if (<condition>) {\n...]]\n} + + jump + + tooltip + jump statement\njump <label> + + return + + tooltip + Leave current event or function.\nreturn [<variable>];\nOptionally pass back a variable's value, from a function. + + state + + tooltip + state <target>\nIf the target state is not the same as the current one, change to the target state. + + while + + tooltip + while loop\nwhile (<condition>) {\n,,,\n} + - types - float - - tooltip - 32 bit floating point value.\nThe range is 1.175494351E-38 to 3.402823466E+38 - - integer - - tooltip - 32 bit integer value.\n−2,147,483,648 and +2,147,483,647 - - key - - tooltip - A 128 bit unique identifier (UUID) - - list - - tooltip - A collection of other data types. e.g. [0, 1, 2, 3, 4] or ["Yes", "No", "Perhaps"]. - - rotation - - tooltip - The rotation as quaternion <x, y, z, s> - - string - - tooltip - Text data.\nThe editor accepts UTF-8 encoded text. - - vector - - tooltip - A vector <x, y, z, s> - + float + + tooltip + 32 bit floating point value.\nThe range is 1.175494351E-38 to 3.402823466E+38 + + integer + + tooltip + 32 bit integer value.\n−2,147,483,648 and +2,147,483,647 + + key + + tooltip + A 128 bit unique identifier (UUID) + + list + + tooltip + A collection of other data types. e.g. [0, 1, 2, 3, 4] or ["Yes", "No", "Perhaps"]. + + rotation + + tooltip + The rotation as quaternion <x, y, z, s> + + string + + tooltip + Text data.\nThe editor accepts UTF-8 encoded text. + + vector + + tooltip + A vector <x, y, z, s> + - -constants +events - ACTIVE - - type - integer - value - 0x2 - tooltip - Objects in world that are running a script or currently physically moving. - - AGENT - - type - integer - value - 0x1 - tooltip - Objects in world that are agents. - - AGENT_ALWAYS_RUN - - type - integer - value - 0x1000 - - AGENT_ATTACHMENTS - - type - integer - value - 0x2 - tooltip - The agent has attachments. - - AGENT_AUTOPILOT - - type - integer - value - 0x2000 - - AGENT_AWAY - - type - integer - value - 0x40 - - AGENT_BUSY - - type - integer - value - 0x800 - - AGENT_BY_LEGACY_NAME - - type - integer - value - 0x1 - - AGENT_BY_USERNAME - - type - integer - value - 0x10 - - AGENT_CROUCHING - - type - integer - value - 0x400 - - AGENT_FLYING - - type - integer - value - 0x1 - tooltip - The agent is flying. - - AGENT_IN_AIR - - type - integer - value - 0x100 - - AGENT_LIST_PARCEL - - type - integer - value - 1 - tooltip - Agents on the same parcel where the script is running - - AGENT_LIST_PARCEL_OWNER - - type - integer - value - 2 - tooltip - Agents on any parcel in the region where the parcel owner is the same as the owner of the parcel under the scripted object. - - AGENT_LIST_REGION - - type - integer - value - 4 - tooltip - All agents in the region - - AGENT_LIST_EXCLUDENPC - - type - integer - value - 0x4000000 - tooltip - Exclude NPCs - - AGENT_MALE - - type - integer - value - 0x40000000 - - AGENT_MOUSELOOK - - type - integer - value - 0x8 - - AGENT_ON_OBJECT - - type - integer - value - 0x20 - - AGENT_SCRIPTED - - type - integer - value - 0x4 - tooltip - The agent has scripted attachments - - AGENT_SITTING - - type - integer - value - 0x10 - - AGENT_TYPING - - type - integer - value - 0x200 - - AGENT_WALKING - - type - integer - value - 0x80 - - ALL_SIDES - - type - integer - value - -1 - - ANIM_ON - - type - integer - value - 0x1 - tooltip - Texture animation is on. - - ATTACH_AVATAR_CENTER - - type - integer - value - 40 - tooltip - Attach to the avatar's geometric centre - - ATTACH_BACK - - type - integer - value - 9 - tooltip - Attach to the avatar's back - - ATTACH_BELLY - - type - integer - value - 28 - tooltip - Attach to the avatar's belly. - - ATTACH_CHEST - - type - integer - value - 1 - tooltip - Attach to the avatar's chest. - - ATTACH_CHIN - - type - integer - value - 12 - tooltip - Attach to the avatar's chin - - ATTACH_HEAD - - type - integer - value - 2 - tooltip - Attach to the avatar's head - - ATTACH_HUD_BOTTOM - - type - integer - value - 37 - - ATTACH_HUD_BOTTOM_LEFT - - type - integer - value - 36 - - ATTACH_HUD_BOTTOM_RIGHT - - type - integer - value - 38 - - ATTACH_HUD_CENTER_1 - - type - integer - value - 35 - - ATTACH_HUD_CENTER_2 - - type - integer - value - 31 - - ATTACH_HUD_TOP_CENTER - - type - integer - value - 33 - - ATTACH_HUD_TOP_LEFT - - type - integer - value - 34 - - ATTACH_HUD_TOP_RIGHT - - type - integer - value - 32 - - ATTACH_LEAR - - type - integer - value - 13 - tooltip - Attach to the avatar's left ear - - ATTACH_LEFT_PEC - - type - integer - value - 29 - tooltip - Attach to the avatar's left pectoral. - - ATTACH_LEYE - - type - integer - value - 15 - tooltip - Attach to the avatar's left eye. - - ATTACH_LFOOT - - type - integer - value - 7 - tooltip - Attach to the avatar's left foot - - ATTACH_LHAND - - type - integer - value - 5 - tooltip - Attach to the avatar's left hand. - - ATTACH_LHIP - - type - integer - value - 25 - tooltip - Attach to the avatar's left hip. - - ATTACH_LLARM - - type - integer - value - 21 - tooltip - Attach to the avatar's left lower arm - - ATTACH_LLLEG - - type - integer - value - 27 - tooltip - Attach to the avatar's lower left leg. - - ATTACH_LPEC - - deprecated - true - type - integer - value - 30 - tooltip - Attach to the avatar's right pectoral. (Deprecated, use ATTACH_RIGHT_PEC) - - ATTACH_LSHOULDER - - type - integer - value - 3 - tooltip - Attach to the avatar's left shoulder. - - ATTACH_LUARM - - type - integer - value - 20 - tooltip - Attach to the avatar's left upper arm - - ATTACH_LULEG - - type - integer - value - 26 - tooltip - Attach to the avatar's lower upper leg. - - ATTACH_MOUTH - - type - integer - value - 11 - tooltip - Attach to the avatar's mouth. - - ATTACH_NECK - - type - integer - value - 39 - tooltip - Attach to the avatar's neck - - ATTACH_NOSE - - type - integer - value - 17 - tooltip - Attach to the avatar's nose. - - ATTACH_PELVIS - - type - integer - value - 10 - tooltip - Attach to the avatar's pelvis. - - ATTACH_REAR - - type - integer - value - 14 - tooltip - Attach to the avatar's right ear. - - ATTACH_REYE - - type - integer - value - 16 - tooltip - Attach to the avatar's right eye - - ATTACH_RFOOT - - type - integer - value - 8 - tooltip - Attach to the avatar's right foot - - ATTACH_RHAND - - type - integer - value - 6 - tooltip - Attach to the avatar's right hand - - ATTACH_RHIP - - type - integer - value - 22 - tooltip - Attach to the avatar's right hip - - ATTACH_RIGHT_PEC - - type - integer - value - 30 - tooltip - Attach to the avatar's right pectoral. - - ATTACH_RLARM - - type - integer - value - 19 - tooltip - Attach to the avatar's right lower arm. - - ATTACH_RLLEG - - type - integer - value - 24 - tooltip - Attach to the avatar's right lower leg - - ATTACH_RPEC - - deprecated - true - type - integer - value - 29 - tooltip - Attach to the avatar's left pectoral. (deprecated, use ATTACH_LEFT_PEC) - - ATTACH_RSHOULDER - - type - integer - value - 4 - tooltip - Attach to the avatar's right shoulder - - ATTACH_RUARM - - type - integer - value - 18 - tooltip - Attach to the avatar's right upper arm - - ATTACH_RULEG - - type - integer - value - 23 - tooltip - Attach to the avatar's right upper leg - - ATTACH_LHAND_RING1 - - type - integer - value - 41 - tooltip - Attach to the avatar's left ring finger - - ATTACH_RHAND_RING1 - - type - integer - value - 42 - tooltip - Attach to the avatar's right ring finger - - ATTACH_TAIL_BASE - - type - integer - value - 43 - tooltip - Attach to the avatar's tail base - - ATTACH_TAIL_TIP - - type - integer - value - 44 - tooltip - Attach to the avatar's tail tip - - ATTACH_LWING - - type - integer - value - 45 - tooltip - Attach to the avatar's left wing - - ATTACH_RWING - - type - integer - value - 46 - tooltip - Attach to the avatar's right wing - - ATTACH_FACE_JAW - - type - integer - value - 47 - tooltip - Attach to the avatar's jaw. - - ATTACH_FACE_LEAR - - type - integer - value - 48 - tooltip - Attach to the avatar's left ear (extended) - - ATTACH_FACE_REAR - - type - integer - value - 49 - tooltip - Attach to the avatar's right ear - - ATTACH_FACE_LEYE - - type - integer - value - 50 - tooltip - Attach to the avatar's left eye (extended) - - ATTACH_FACE_REYE - - type - integer - value - 51 - tooltip - Attach to the avatar's right eye (extended) - - ATTACH_FACE_TONGUE - - type - integer - value - 52 - tooltip - Attach to the avatar's tongue - - ATTACH_GROIN - - type - integer - value - 53 - tooltip - Attach to the avatar's groin - - ATTACH_HIND_LFOOT - - type - integer - value - 54 - tooltip - Attach to the avatar's left hind foot - - ATTACH_HIND_RFOOT - - type - integer - value - 55 - tooltip - Attach to the avatar's right hind foot - - CAMERA_ACTIVE - - type - integer - value - 12 - - CAMERA_BEHINDNESS_ANGLE - - type - integer - value - 8 - - CAMERA_BEHINDNESS_LAG - - type - integer - value - 9 - - CAMERA_DISTANCE - - type - integer - value - 7 - - CAMERA_FOCUS - - type - integer - value - 17 - - CAMERA_FOCUS_X - - type - integer - value - 18 - - CAMERA_FOCUS_Y - - type - integer - value - 19 - - CAMERA_FOCUS_Z - - type - integer - value - 19 - - CAMERA_FOCUS_LAG - - type - integer - value - 6 - - CAMERA_FOCUS_LOCKED - - type - integer - value - 22 - - CAMERA_FOCUS_OFFSET - - type - integer - value - 1 - - CAMERA_FOCUS_OFFSET_X - - type - integer - value - 2 - - CAMERA_FOCUS_OFFSET_Y - - type - integer - value - 3 - - CAMERA_FOCUS_OFFSET_Z - - type - integer - value - 4 - - CAMERA_FOCUS_THRESHOLD - - type - integer - value - 11 - - CAMERA_PITCH - - type - integer - value - 0 - - CAMERA_POSITION - - type - integer - value - 13 - - CAMERA_POSITION_X - - type - integer - value - 14 - - CAMERA_POSITION_Y - - type - integer - value - 15 - - CAMERA_POSITION_Z - - type - integer - value - 16 - - CAMERA_POSITION_LAG - - type - integer - value - 5 - - CAMERA_POSITION_LOCKED - - type - integer - value - 21 - - CAMERA_POSITION_THRESHOLD - - type - integer - value - 10 - - CHANGED_ALLOWED_DROP - - type - integer - value - 0x40 - tooltip - The object inventory has changed because an item was added through the llAllowInventoryDrop interface. - - CHANGED_ANIMATION - - type - integer - value - 0x4000 - tooltip - The set of animations playing on the avatar to whom this object is attached has been changed. - - CHANGED_COLOR - - type - integer - value - 0x2 - tooltip - The object color has changed. - - CHANGED_INVENTORY - - type - integer - value - 0x1 - tooltip - The object inventory has changed. - - CHANGED_LINK - - type - integer - value - 0x20 - tooltip - The object has linked or its links were broken. - - CHANGED_MEDIA - - type - integer - value - 0x800 - - CHANGED_OWNER - - type - integer - value - 0x80 - - CHANGED_REGION - - type - integer - value - 0x100 - - CHANGED_REGION_START - - type - integer - value - 0x400 - tooltip - Parameter of changed event handler used to indicate the region has been restarted same as CHANGED_REGION_RESTART. - - CHANGED_REGION_RESTART - - type - integer - value - 0x400 - tooltip - Parameter of changed event handler used to indicate the region has been restarted same as CHANGED_REGION_START. - - CHANGED_SCALE - - type - integer - value - 0x8 - tooltip - The object scale (size) has changed. - - CHANGED_SHAPE - - type - integer - value - 0x4 - tooltip - The object base shape has changed, e.g., a box to a cylinder. - - CHANGED_TELEPORT - - type - integer - value - 0x200 - - CHANGED_TEXTURE - - type - integer - value - 0x10 - tooltip - The texture offset, scale rotation, or simply the object texture has changed. - - CLICK_ACTION_BUY - - type - integer - value - 2 - tooltip - When the prim is clicked, the buy dialog is opened. - - CLICK_ACTION_NONE - - type - integer - value - 0 - tooltip - Performs the default action: when the prim is clicked, touch events are triggered. - - CLICK_ACTION_OPEN - - type - integer - value - 4 - tooltip - When the prim is clicked, the object inventory dialog is opened. - - CLICK_ACTION_OPEN_MEDIA - - type - integer - value - 6 - tooltip - When the prim is touched, the web media dialog is opened. - - CLICK_ACTION_PAY - - type - integer - value - 3 - tooltip - When the prim is clicked, the pay dialog is opened. - - CLICK_ACTION_PLAY - - type - integer - value - 5 - tooltip - When the prim is clicked, html-on-a-prim is enabled? - - CLICK_ACTION_SIT - - type - integer - value - 1 - tooltip - When the prim is clicked, the avatar sits upon it. - - CLICK_ACTION_TOUCH - - type - integer - value - 0 - tooltip - When the prim is clicked, touch events are triggered. - - CONTENT_TYPE_ATOM - - type - integer - value - 4 - tooltip - "application/atom+xml" - - CONTENT_TYPE_FORM - - type - integer - value - 7 - tooltip - "application/x-www-form-urlencoded" - - CONTENT_TYPE_HTML - - type - integer - value - 1 - tooltip - "text/html", only valid for embedded browsers on content owned by the person viewing. Falls back to "text/plain" otherwise. - - CONTENT_TYPE_JSON - - type - integer - value - 5 - tooltip - "application/json" - - CONTENT_TYPE_LLSD - - type - integer - value - 6 - tooltip - "application/llsd+xml" - - CONTENT_TYPE_RSS - - type - integer - value - 8 - tooltip - "application/rss+xml" - - CONTENT_TYPE_TEXT - - type - integer - value - 0 - tooltip - "text/plain" - - CONTENT_TYPE_XHTML - - type - integer - value - 3 - tooltip - "application/xhtml+xml" - - CONTENT_TYPE_XML - - type - integer - value - 2 - tooltip - "application/xml" - - CONTROL_BACK - - type - integer - value - 0x2 - tooltip - Test for the avatar move back control. - - CONTROL_DOWN - - type - integer - value - 0x20 - tooltip - Test for the avatar move down control. - - CONTROL_FWD - - type - integer - value - 0x1 - tooltip - Test for the avatar move forward control. - - CONTROL_LBUTTON - - type - integer - value - 0x10000000 - tooltip - Test for the avatar left button control. - - CONTROL_LEFT - - type - integer - value - 0x4 - tooltip - Test for the avatar move left control. - - CONTROL_ML_LBUTTON - - type - integer - value - 0x40000000 - tooltip - Test for the avatar left button control while in mouse look. - - CONTROL_RIGHT - - type - integer - value - 0x8 - tooltip - Test for the avatar move right control. - - CONTROL_ROT_LEFT - - type - integer - value - 0x100 - tooltip - Test for the avatar rotate left control. - - CONTROL_ROT_RIGHT - - type - integer - value - 0x200 - tooltip - Test for the avatar rotate right control. - - CONTROL_UP - - type - integer - value - 0x10 - tooltip - Test for the avatar move up control. - - DATA_BORN - - type - integer - value - 3 - tooltip - The date the agent was born, returned in ISO 8601 format of YYYY-MM-DD. - - DATA_NAME - - type - integer - value - 2 - tooltip - The name of the agent. - - DATA_ONLINE - - type - integer - value - 1 - tooltip - TRUE for online, FALSE for offline. - - DATA_PAYINFO - - type - integer - value - 8 - - DATA_SIM_POS - - type - integer - value - 5 - - DATA_SIM_RATING - - type - integer - value - 7 - - DATA_SIM_STATUS - - type - integer - value - 6 - - DEBUG_CHANNEL - - type - integer - value - 2147483647 - tooltip - DEBUG_CHANNEL is an integer constant that, when passed to llSay, llWhisper, or llShout as a channel parameter, will print text to the Script Warning/Error Window. - - DEG_TO_RAD - - type - float - value - 0.017453293 - tooltip - - 0.017453293 - Number of radians per degree. - You can use this to convert degrees to radians by multiplying the degrees by this number. - - - DENSITY - - type - integer - value - 1 - tooltip - Used with llSetPhysicsMaterial to enable the density value. Must be between 1.0 and 22587.0 (in Kg/m^3 -- see if you can figure out what 22587 represents) - - EOF - - type - string - value - \\n\\n\\n - tooltip - Indicates the last line of a notecard was read. - - ERR_GENERIC - - type - integer - value - -1 - - ERR_MALFORMED_PARAMS - - type - integer - value - -3 - - ERR_PARCEL_PERMISSIONS - - type - integer - value - -2 - - ERR_RUNTIME_PERMISSIONS - - type - integer - value - -4 - - ERR_THROTTLED - - type - integer - value - -5 - - ESTATE_ACCESS_ALLOWED_AGENT_ADD - - type - integer - value - 4 - tooltip - Add the agent to this estate's Allowed Residents list. - - ESTATE_ACCESS_ALLOWED_AGENT_REMOVE - - type - integer - value - 8 - tooltip - Remove the agent from this estate's Allowed Residents list. - - ESTATE_ACCESS_ALLOWED_GROUP_ADD - - type - integer - value - 16 - tooltip - Add the group to this estate's Allowed groups list. - - ESTATE_ACCESS_ALLOWED_GROUP_REMOVE - - type - integer - value - 32 - tooltip - Remove the group from this estate's Allowed groups list. - - ESTATE_ACCESS_BANNED_AGENT_ADD - - type - integer - value - 64 - tooltip - Add the agent to this estate's Banned residents list. - - ESTATE_ACCESS_BANNED_AGENT_REMOVE - - type - integer - value - 128 - tooltip - Remove the agent from this estate's Banned residents list. - - FALSE - - type - integer - value - 0 - tooltip - An integer constant for boolean comparisons. Has the value '0'. - - FRICTION - - type - integer - value - 2 - tooltip - Used with llSetPhysicsMaterial to enable the friction value. Must be between 0.0 and 255.0 - - GRAVITY_MULTIPLIER - - type - integer - value - 8 - tooltip - Used with llSetPhysicsMaterial to enable the gravity multiplier value. Must be between -1.0 and +28.0 - - HORIZONTAL - - type - integer - value - 1 - - HTTP_BODY_MAXLENGTH - - type - integer - value - 2 - - HTTP_BODY_TRUNCATED - - type - integer - value - 0 - - HTTP_CUSTOM_HEADER - - type - integer - value - 5 - tooltip - Add an extra custom HTTP header to the request. The first string is the name of the parameter to change, e.g. "Pragma", and the second string is the value, e.g. "no-cache". Up to 8 custom headers may be configured per request. Note that certain headers, such as the default headers, are blocked for security reasons. - - HTTP_METHOD - - type - integer - value - 0 - - HTTP_MIMETYPE - - type - integer - value - 1 - - HTTP_PRAGMA_NO_CACHE - - type - integer - value - 6 - tooltip - Allows enabling/disbling of the "Pragma: no-cache" header.\nUsage: [HTTP_PRAGMA_NO_CACHE, integer SendHeader]. When SendHeader is TRUE, the "Pragma: no-cache" header is sent by the script. This matches the default behavior. When SendHeader is FALSE, no "Pragma" header is sent by the script. - - HTTP_VERBOSE_THROTTLE - - type - integer - value - 4 - - HTTP_VERIFY_CERT - - type - integer - value - 3 - - INVENTORY_ALL - - type - integer - value - -1 - - INVENTORY_ANIMATION - - type - integer - value - 20 - - INVENTORY_BODYPART - - type - integer - value - 13 - - INVENTORY_CLOTHING - - type - integer - value - 5 - - INVENTORY_GESTURE - - type - integer - value - 21 - - INVENTORY_LANDMARK - - type - integer - value - 3 - - INVENTORY_NONE - - type - integer - value - -1 - - INVENTORY_NOTECARD - - type - integer - value - 7 - - INVENTORY_OBJECT - - type - integer - value - 6 - - INVENTORY_SCRIPT - - type - integer - value - 10 - - INVENTORY_SOUND - - type - integer - value - 1 - - INVENTORY_TEXTURE - - type - integer - value - 0 - - JSON_APPEND - - type - integer - value - -1 - - JSON_ARRAY - - type - string - value - U+FDD2 - - JSON_DELETE - - type - string - value - U+FDD8 - - JSON_FALSE - - type - string - value - U+FDD7 - - JSON_INVALID - - type - string - value - U+FDD0 - - JSON_NULL - - type - string - value - U+FDD5 - - JSON_NUMBER - - type - string - value - U+FDD3 - - JSON_OBJECT - - type - string - value - U+FDD1 - - JSON_STRING - - type - string - value - U+FDD4 - - JSON_TRUE - - type - string - value - U+FDD6 - - KFM_CMD_PAUSE - - type - integer - value - 2 - tooltip - For use with KFM_COMMAND. - - KFM_CMD_PLAY - - type - integer - value - 0 - tooltip - For use with KFM_COMMAND. - - KFM_CMD_STOP - - type - integer - value - 1 - tooltip - For use with KFM_COMMAND. - - KFM_COMMAND - - type - integer - value - 0 - - KFM_DATA - - type - integer - value - 2 - - KFM_FORWARD - - type - integer - value - 0 - tooltip - For use with KFM_MODE. - - KFM_LOOP - - type - integer - value - 1 - tooltip - For use with KFM_MODE. - - KFM_MODE - - type - integer - value - 1 - - KFM_PING_PONG - - type - integer - value - 2 - tooltip - For use with KFM_MODE. - - KFM_REVERSE - - type - integer - value - 3 - tooltip - For use with KFM_MODE. - - KFM_ROTATION - - type - integer - value - 1 - tooltip - For use with KFM_DATA. - - KFM_TRANSLATION - - type - integer - value - 2 - tooltip - For use with KFM_DATA. - - LAND_LARGE_BRUSH - - type - integer - value - 3 - tooltip - Use a large brush size.\nNOTE: This value is incorrect, a large brush should be 2. - - LAND_LEVEL - - type - integer - value - 0 - tooltip - Action to level the land. - - LAND_LOWER - - type - integer - value - 2 - tooltip - Action to lower the land. - - LAND_MEDIUM_BRUSH - - type - integer - value - 2 - tooltip - Use a medium brush size.\nNOTE: This value is incorrect, a medium brush should be 1. - - LAND_NOISE - - type - integer - value - 4 - - LAND_RAISE - - type - integer - value - 1 - tooltip - Action to raise the land. - - LAND_REVERT - - type - integer - value - 5 - - LAND_SMALL_BRUSH - - type - integer - value - 1 - tooltip - Use a small brush size.\nNOTE: This value is incorrect, a small brush should be 0. - - LAND_SMOOTH - - type - integer - value - 3 - - LINK_ALL_CHILDREN - - type - integer - value - -3 - tooltip - This targets every object except the root in the linked set. - - LINK_ALL_OTHERS - - type - integer - value - -2 - tooltip - This targets every object in the linked set except the object with the script. - - LINK_ROOT - - type - integer - value - 1 - tooltip - This targets the root of the linked set. - - LINK_SET - - type - integer - value - -1 - tooltip - This targets every object in the linked set. - - LINK_THIS - - type - integer - value - -4 - tooltip - The link number of the prim containing the script. - - LIST_STAT_GEOMETRIC_MEAN - - type - integer - value - 9 - tooltip - Returns the geometric mean of a list of numbers - - LIST_STAT_HARMONIC_MEAN - - type - integer - value - 100 - tooltip - Returns the harmonic mean of a list of numbers - - LIST_STAT_MAX - - type - integer - value - 2 - - LIST_STAT_MEAN - - type - integer - value - 3 - - LIST_STAT_MEDIAN - - type - integer - value - 4 - - LIST_STAT_MIN - - type - integer - value - 1 - - LIST_STAT_NUM_COUNT - - type - integer - value - 8 - - LIST_STAT_RANGE - - type - integer - value - 0 - - LIST_STAT_STD_DEV - - type - integer - value - 5 - - LIST_STAT_SUM - - type - integer - value - 6 - - LIST_STAT_SUM_SQUARES - - type - integer - value - 7 - - LOOP - - type - integer - value - 0x2 - tooltip - Loop the texture animation. - - MASK_BASE - - type - integer - value - 0 - - MASK_EVERYONE - - type - integer - value - 3 - - MASK_GROUP - - type - integer - value - 2 - - MASK_NEXT - - type - integer - value - 4 - - MASK_OWNER - - type - integer - value - 1 - - NPC - - type - integer - value - 0x20 - - NULL_KEY - - type - string - value - 00000000-0000-0000-0000-000000000000 - - OBJECT_ATTACHED_POINT - - type - integer - value - 19 - tooltip - Gets the attachment point to which the object is attached.\nReturns 0 if the object is not an attachment (or is an avatar, etc). - - OBJECT_BODY_SHAPE_TYPE - - type - integer - value - 26 - tooltip - This is a flag used with llGetObjectDetails to get the body type of the avatar, based on shape data.\nIf no data is available, -1.0 is returned.\nThis is normally between 0 and 1.0, with 0.5 and larger considered 'male' - - OBJECT_CLICK_ACTION - - type - integer - value - 28 - tooltip - This is a flag used with llGetObjectDetails to get the click action.\nThe default is 0 - - OBJECT_CREATOR - - type - integer - value - 8 - tooltip - Gets the object's creator key. If id is an avatar, a NULL_KEY is returned. - - OBJECT_DESC - - type - integer - value - 2 - tooltip - Gets the object's description. If id is an avatar, an empty string is returned. - - OBJECT_GROUP - - type - integer - value - 7 - tooltip - Gets the prims's group key. If id is an avatar, a NULL_KEY is returned. - - OBJECT_HOVER_HEIGHT - - type - integer - value - 25 - tooltip - This is a flag used with llGetObjectDetails to get hover height of the avatar\nIf no data is available, 0.0 is returned. - - OBJECT_LAST_OWNER_ID - - type - integer - value - 27 - tooltip - Gets the object's last owner ID. - - OBJECT_NAME - - type - integer - value - 1 - tooltip - Gets the object's name. - - OBJECT_OMEGA - - type - integer - value - 29 - tooltip - Gets an object's angular velocity. - - OBJECT_OWNER - - type - integer - value - 6 - tooltip - Gets an object's owner's key. If id is group owned, a NULL_KEY is returned. - - OBJECT_PRIM_COUNT - - type - integer - value - 30 - tooltip - Gets the prim count of the object. The script and target object must be owned by the same owner - - OBJECT_PHANTOM - - type - integer - value - 22 - tooltip - Returns boolean, detailing if phantom is enabled or disabled on the object.\nIf id is an avatar or attachment, 0 is returned. - - OBJECT_PHYSICS - - type - integer - value - 21 - tooltip - Returns boolean, detailing if physics is enabled or disabled on the object.\nIf id is an avatar or attachment, 0 is returned. - - OBJECT_PHYSICS_COST - - type - integer - value - 16 - - OBJECT_POS - - type - integer - value - 3 - tooltip - Gets the object's position in region coordinates. - - OBJECT_PRIM_EQUIVALENCE - - type - integer - value - 13 - - OBJECT_RENDER_WEIGHT - - type - integer - value - 24 - tooltip - This is a flag used with llGetObjectDetails to get the Avatar_Rendering_Cost of an avatar, based on values reported by nearby viewers.\nIf no data is available, -1 is returned.\nThe maximum render weight stored by the simulator is 500000. When called against an object, 0 is returned. - - OBJECT_RETURN_PARCEL - - type - integer - value - 1 - - OBJECT_RETURN_PARCEL_OWNER - - type - integer - value - 2 - - OBJECT_RETURN_REGION - - type - integer - value - 4 - - OBJECT_REZZER_KEY - - type - integer - value - 32 - - OBJECT_ROOT - - type - integer - value - 18 - tooltip - Gets the id of the root prim of the object requested.\nIf id is an avatar, return the id of the root prim of the linkset the avatar is sitting on (or the avatar's own id if the avatar is not sitting on an object within the region). - - OBJECT_ROT - - type - integer - value - 4 - tooltip - Gets the object's rotation. - - OBJECT_RUNNING_SCRIPT_COUNT - - type - integer - value - 9 - - OBJECT_SCRIPT_MEMORY - - type - integer - value - 11 - - OBJECT_SCRIPT_TIME - - type - integer - value - 12 - - OBJECT_SERVER_COST - - type - integer - value - 14 - - OBJECT_STREAMING_COST - - type - integer - value - 15 - - OBJECT_TEMP_ON_REZ - - type - integer - value - 23 - tooltip - Returns boolean, detailing if temporary is enabled or disabled on the object. - - OBJECT_TOTAL_INVENTORY_COUNT - - type - integer - value - 31 - tooltip - Gets the total inventory count of the object. The script and target object must be owned by the same owner - - OBJECT_TOTAL_SCRIPT_COUNT - - type - integer - value - 10 - - OBJECT_UNKNOWN_DETAIL - - type - integer - value - -1 - - OBJECT_VELOCITY - - type - integer - value - 5 - tooltip - Gets the object's velocity. - - OS_ATTACH_MSG_ALL - - type - integer - value - -65535 - tooltip - Send the message to attachments on every point. - - OS_ATTACH_MSG_INVERT_POINTS - - type - integer - value - 1 - tooltip - Invert how the attachment points list should be treated. - - OS_ATTACH_MSG_OBJECT_CREATOR - - type - integer - value - 2 - tooltip - Send only to those have the same CreatorID with host object CreatorID. - - OS_LISTEN_REGEX_NAME - - type - integer - value - 0x1 - tooltip - Process name parameter as regex - - OS_LISTEN_REGEX_MESSAGE - - type - integer - value - 0x2 - tooltip - Process message parameter as regex - - OS_ATTACH_MSG_SCRIPT_CREATOR - - type - integer - value - 4 - tooltip - Send only to those have the same CreatorID with sender script CreatorID. - - OS_NPC - - type - integer - value - 0x20 - tooltip - Same as NPC - - OS_NPC_FLY - - type - integer - value - 0 - - OS_NPC_NO_FLY - - type - integer - value - 1 - - OS_NPC_LAND_AT_TARGET - - type - integer - value - 2 - - OS_NPC_SIT_NOW - - type - integer - value - 0 - - OS_NPC_CREATOR_OWNED - - type - integer - value - 0x1 - - OS_NPC_NOT_OWNED - - type - integer - value - 0x2 - - OS_NPC_SENSE_AS_AGENT - - type - integer - value - 0x4 - - OS_NPC_OBJECT_GROUP - - type - integer - value - 0x8 - - OS_NPC_RUNNING - - type - integer - value - 4 - - OSTPOBJ_NONE - - type - integer - value - 0x0 - tooltip - osTeleportObject flag - - OSTPOBJ_STOPATTARRGET - - type - integer - value - 0x1 - tooltip - osTeleportObject flag: object is stopped at destination - - OSTPOBJ_STOPONFAIL - - type - integer - value - 0x2 - tooltip - osTeleportObject flag: object stops at start point if tp fails - - OSTPOBJ_SETROT - - type - integer - value - 0x2 - tooltip - osTeleportObject flag: the rotation is the final object rotation, otherwise is a added rotation - - PARCEL_COUNT_GROUP - - type - integer - value - 2 - - PARCEL_COUNT_OTHER - - type - integer - value - 3 - - PARCEL_COUNT_OWNER - - type - integer - value - 1 - - PARCEL_COUNT_SELECTED - - type - integer - value - 4 - - PARCEL_COUNT_TEMP - - type - integer - value - 5 - - PARCEL_COUNT_TOTAL - - type - integer - value - 0 - - PARCEL_DETAILS_AREA - - type - integer - value - 4 - tooltip - The parcel's area, in square meters. (5 chars.). - - PARCEL_DETAILS_CLAIMDATE - - type - integer - value - 10 - tooltip - Set parcel claim date. - - PARCEL_DETAILS_DESC - - type - integer - value - 1 - tooltip - The description of the parcel. (127 chars). - - PARCEL_DETAILS_GROUP - - type - integer - value - 3 - tooltip - The parcel group's key. (36 chars.). - - PARCEL_DETAILS_ID - - type - integer - value - 5 - tooltip - The parcel's key. (36 chars.). - - PARCEL_DETAILS_NAME - - type - integer - value - 0 - tooltip - The name of the parcel. (63 chars.). - - PARCEL_DETAILS_OWNER - - type - integer - value - 2 - tooltip - The parcel owner's key. (36 chars.). - - PARCEL_DETAILS_SEE_AVATARS - - type - integer - value - 6 - tooltip - The parcel's avatar visibility setting. (1 char.). - - PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY - - type - integer - value - 0x08000000 - - PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS - - type - integer - value - 0x4000000 - - PARCEL_FLAG_ALLOW_CREATE_OBJECTS - - type - integer - value - 0x40 - - PARCEL_FLAG_ALLOW_DAMAGE - - type - integer - value - 0x20 - - PARCEL_FLAG_ALLOW_FLY - - type - integer - value - 0x1 - - PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY - - type - integer - value - 0x10000000 - - PARCEL_FLAG_ALLOW_GROUP_SCRIPTS - - type - integer - value - 0x2000000 - - PARCEL_FLAG_ALLOW_LANDMARK - - type - integer - value - 0x8 - - PARCEL_FLAG_ALLOW_SCRIPTS - - type - integer - value - 0x2 - - PARCEL_FLAG_ALLOW_TERRAFORM - - type - integer - value - 0x10 - - PARCEL_FLAG_LOCAL_SOUND_ONLY - - type - integer - value - 0x8000 - - PARCEL_FLAG_RESTRICT_PUSHOBJECT - - type - integer - value - 0x200000 - - PARCEL_FLAG_USE_ACCESS_GROUP - - type - integer - value - 0x100 - - PARCEL_FLAG_USE_ACCESS_LIST - - type - integer - value - 0x200 - - PARCEL_FLAG_USE_BAN_LIST - - type - integer - value - 0x400 - - PARCEL_FLAG_USE_LAND_PASS_LIST - - type - integer - value - 0x800 - - PARCEL_MEDIA_COMMAND_AGENT - - type - integer - value - 7 - - PARCEL_MEDIA_COMMAND_AUTO_ALIGN - - type - integer - value - 9 - - PARCEL_MEDIA_COMMAND_DESC - - type - integer - value - 12 - tooltip - Use this to get or set the parcel media description. - - PARCEL_MEDIA_COMMAND_LOOP - - type - integer - value - 3 - - PARCEL_MEDIA_COMMAND_LOOP_SET - - type - integer - value - 13 - tooltip - Used to get or set the parcel's media looping variable. - - PARCEL_MEDIA_COMMAND_PAUSE - - type - integer - value - 1 - - PARCEL_MEDIA_COMMAND_PLAY - - type - integer - value - 2 - - PARCEL_MEDIA_COMMAND_SIZE - - type - integer - value - 11 - tooltip - Use this to get or set the parcel media pixel resolution. - - PARCEL_MEDIA_COMMAND_STOP - - type - integer - value - 0 - - PARCEL_MEDIA_COMMAND_TEXTURE - - type - integer - value - 4 - - PARCEL_MEDIA_COMMAND_TIME - - type - integer - value - 6 - - PARCEL_MEDIA_COMMAND_TYPE - - type - integer - value - 10 - tooltip - Use this to get or set the parcel media MIME type (e.g. "text/html"). - - PARCEL_MEDIA_COMMAND_UNLOAD - - type - integer - value - 8 - - PARCEL_MEDIA_COMMAND_URL - - type - integer - value - 5 - - PASS_ALWAYS - - type - integer - value - 1 - tooltip - Always pass the event. - - PASS_NEVER - - type - integer - value - 2 - tooltip - Always pass the event. - - PASS_IF_NOT_HANDLED - - type - integer - value - 0 - tooltip - Pass the event if there is no script handling the event in the prim. - - PASSIVE - - type - integer - value - 0x4 - tooltip - Static in-world objects. - - PAY_DEFAULT - - type - integer - value - -2 - - PAY_HIDE - - type - integer - value - -1 - - PAYMENT_INFO_ON_FILE - - type - integer - value - 1 - - PAYMENT_INFO_USED - - type - integer - value - 2 - - PERM_ALL - - type - integer - value - 0x7FFFFFFF - - PERM_COPY - - type - integer - value - 0x8000 - - PERM_MODIFY - - type - integer - value - 0x4000 - - PERM_MOVE - - type - integer - value - 0x80000 - - PERM_TRANSFER - - type - integer - value - 0x2000 - - PERMISSION_ATTACH - - type - integer - value - 0x20 - tooltip - If this permission is enabled, the object can successfully call llAttachToAvatar to attach to the given avatar. - - PERMISSION_CHANGE_LINKS - - type - integer - value - 0x80 - tooltip - If this permission is enabled, the object can successfully call llCreateLink, llBreakLink, and llBreakAllLinks to change links to other objects. - - PERMISSION_CHANGE_PERMISSIONS - - type - integer - value - 0x200 - tooltip - (not yet implemented) - - PERMISSION_CONTROL_CAMERA - - type - integer - value - 0x800 - - PERMISSION_DEBIT - - type - integer - value - 0x2 - tooltip - If this permission is enabled, the object can successfully call llGiveMoney or llTransferLindenDollars to debit the owners account. - - PERMISSION_OVERRIDE_ANIMATIONS - - type - integer - value - 0x8000 - tooltip - Permission to override default animations. - - PERMISSION_RELEASE_OWNERSHIP - - type - integer - value - 0x40 - tooltip - (not yet implemented) - - PERMISSION_REMAP_CONTROLS - - type - integer - value - 0x8 - tooltip - (not yet implemented) - - PERMISSION_RETURN_OBJECTS - - type - integer - value - 65536 - - PERMISSION_SILENT_ESTATE_MANAGEMENT - - type - integer - value - 0x4000 - tooltip - A script with this permission does not notify the object owner when it modifies estate access rules via llManageEstateAccess. - - PERMISSION_TAKE_CONTROLS - - type - integer - value - 0x4 - tooltip - If this permission enabled, the object can successfully call the llTakeControls libray call. - - PERMISSION_TELEPORT - - type - integer - value - 0x1000 - - PERMISSION_TRACK_CAMERA - - type - integer - value - 0x400 - - PERMISSION_TRIGGER_ANIMATION - - type - integer - value - 0x10 - tooltip - If this permission is enabled, the object can successfully call llStartAnimation for the avatar that owns this. - - PI - - type - float - value - 3.14159265 - tooltip - 3.14159265 - The number of radians in a semi-circle. - - PI_BY_TWO - - type - float - value - 1.57079633 - tooltip - 1.57079633 - The number of radians in a quarter circle. - - PING_PONG - - type - integer - value - 0x8 - tooltip - Play animation going forwards, then backwards. - - PRIM_ALPHA_MODE - - type - integer - value - 38 - tooltip - Prim parameter for materials using integer face, integer alpha_mode, integer alpha_cutoff.\nDefines how the alpha channel of the diffuse texture should be rendered.\nValid options for alpha_mode are PRIM_ALPHA_MODE_BLEND, _NONE, _MASK, and _EMISSIVE.\nalpha_cutoff is used only for PRIM_ALPHA_MODE_MASK. - - PRIM_ALPHA_MODE_NONE - - type - integer - value - 0 - tooltip - Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be ignored. - - PRIM_ALPHA_MODE_BLEND - - type - integer - value - 1 - tooltip - Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be rendered as alpha-blended. - - PRIM_ALPHA_MODE_MASK - - type - integer - value - 2 - tooltip - Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be rendered as fully opaque for alpha values above alpha_cutoff and fully transparent otherwise. - - PRIM_ALPHA_MODE_EMISSIVE - - type - integer - value - 3 - tooltip - Prim parameter setting for PRIM_ALPHA_MODE.\nIndicates that the diffuse texture's alpha channel should be rendered as an emissivity mask. - - PRIM_BUMP_BARK - - type - integer - value - 4 - - PRIM_BUMP_BLOBS - - type - integer - value - 12 - - PRIM_BUMP_BRICKS - - type - integer - value - 5 - - PRIM_BUMP_BRIGHT - - type - integer - value - 1 - - PRIM_BUMP_CHECKER - - type - integer - value - 6 - - PRIM_BUMP_CONCRETE - - type - integer - value - 7 - - PRIM_BUMP_DARK - - type - integer - value - 2 - - PRIM_BUMP_DISKS - - type - integer - value - 10 - - PRIM_BUMP_GRAVEL - - type - integer - value - 11 - - PRIM_BUMP_LARGETILE - - type - integer - value - 14 - - PRIM_BUMP_NONE - - type - integer - value - 0 - - PRIM_BUMP_SHINY - - type - integer - value - 19 - - PRIM_BUMP_SIDING - - type - integer - value - 13 - - PRIM_BUMP_STONE - - type - integer - value - 9 - - PRIM_BUMP_STUCCO - - type - integer - value - 15 - - PRIM_BUMP_SUCTION - - type - integer - value - 16 - - PRIM_BUMP_TILE - - type - integer - value - 8 - - PRIM_BUMP_WEAVE - - type - integer - value - 17 - - PRIM_BUMP_WOOD - - type - integer - value - 3 - - PRIM_CAST_SHADOWS - - deprecated - true - type - integer - value - 24 - - PRIM_COLOR - - type - integer - value - 18 - - PRIM_DESC - - type - integer - value - 28 - - PRIM_FLEXIBLE - - type - integer - value - 21 - - PRIM_FULLBRIGHT - - type - integer - value - 20 - - PRIM_GLOW - - type - integer - value - 25 - tooltip - PRIM_GLOW is used to get or set the glow status of the face. - - PRIM_HOLE_CIRCLE - - type - integer - value - 0x10 - - PRIM_HOLE_DEFAULT - - type - integer - value - 0x00 - - PRIM_HOLE_SQUARE - - type - integer - value - 0x20 - - PRIM_HOLE_TRIANGLE - - type - integer - value - 0x30 - - PRIM_LINK_TARGET - - type - integer - value - 34 - - PRIM_MATERIAL - - type - integer - value - 2 - - PRIM_MATERIAL_FLESH - - type - integer - value - 4 - - PRIM_MATERIAL_GLASS - - type - integer - value - 2 - - PRIM_MATERIAL_LIGHT - - type - integer - value - 7 - - PRIM_MATERIAL_METAL - - type - integer - value - 1 - - PRIM_MATERIAL_PLASTIC - - type - integer - value - 5 - - PRIM_MATERIAL_RUBBER - - type - integer - value - 6 - - PRIM_MATERIAL_STONE - - type - integer - value - 0 - - PRIM_MATERIAL_WOOD - - type - integer - value - 3 - - PRIM_MEDIA_ALT_IMAGE_ENABLE - - type - integer - value - 0 - tooltip - Boolean. Gets/Sets the default image state (the image that the user sees before a piece of media is active) for the chosen face. The default image is specified by Second Life's server for that media type. - - PRIM_MEDIA_AUTO_LOOP - - type - integer - value - 4 - tooltip - Boolean. Gets/Sets whether auto-looping is enabled. - - PRIM_MEDIA_AUTO_PLAY - - type - integer - value - 5 - tooltip - Boolean. Gets/Sets whether the media auto-plays when a Resident can view it. - - PRIM_MEDIA_AUTO_SCALE - - type - integer - value - 6 - tooltip - Boolean. Gets/Sets whether auto-scaling is enabled. Auto-scaling forces the media to the full size of the texture. - - PRIM_MEDIA_AUTO_ZOOM - - type - integer - value - 7 - tooltip - Boolean. Gets/Sets whether clicking the media triggers auto-zoom and auto-focus on the media. - - PRIM_MEDIA_CONTROLS - - type - integer - value - 1 - tooltip - Integer. Gets/Sets the style of controls. Can be either PRIM_MEDIA_CONTROLS_STANDARD or PRIM_MEDIA_CONTROLS_MINI. - - PRIM_MEDIA_CONTROLS_MINI - - type - integer - value - 1 - tooltip - Mini web navigation controls; does not include an address bar. - - PRIM_MEDIA_CONTROLS_STANDARD - - type - integer - value - 0 - tooltip - Standard web navigation controls. - - PRIM_MEDIA_CURRENT_URL - - type - integer - value - 2 - tooltip - String. Gets/Sets the current url displayed on the chosen face. Changing this URL causes navigation. 1024 characters Maximum. - - PRIM_MEDIA_FIRST_CLICK_INTERACT - - type - integer - value - 8 - tooltip - Boolean. Gets/Sets whether the first click interaction is enabled. - - PRIM_MEDIA_HEIGHT_PIXELS - - type - integer - value - 10 - tooltip - Integer. Gets/Sets the height of the media in pixels. - - PRIM_MEDIA_HOME_URL - - type - integer - value - 3 - tooltip - String. Gets/Sets the home URL for the chosen face. 1024 characters maximum. - - PRIM_MEDIA_MAX_HEIGHT_PIXELS - - type - integer - value - 2048 - - PRIM_MEDIA_MAX_URL_LENGTH - - type - integer - value - 1024 - - PRIM_MEDIA_MAX_WHITELIST_COUNT - - type - integer - value - 64 - - PRIM_MEDIA_MAX_WHITELIST_SIZE - - type - integer - value - 1024 - - PRIM_MEDIA_MAX_WIDTH_PIXELS - - type - integer - value - 2048 - - PRIM_MEDIA_PARAM_MAX - - type - integer - value - 14 - - PRIM_MEDIA_PERM_ANYONE - - type - integer - value - 4 - - PRIM_MEDIA_PERM_GROUP - - type - integer - value - 2 - - PRIM_MEDIA_PERM_NONE - - type - integer - value - 0 - - PRIM_MEDIA_PERM_OWNER - - type - integer - value - 1 - - PRIM_MEDIA_PERMS_CONTROL - - type - integer - value - 14 - tooltip - Integer. Gets/Sets the permissions mask that control who can see the media control bar above the object:: PRIM_MEDIA_PERM_ANYONE, PRIM_MEDIA_PERM_GROUP, PRIM_MEDIA_PERM_NONE, PRIM_MEDIA_PERM_OWNER - - PRIM_MEDIA_PERMS_INTERACT - - type - integer - value - 13 - tooltip - Integer. Gets/Sets the permissions mask that control who can interact with the object: PRIM_MEDIA_PERM_ANYONE, PRIM_MEDIA_PERM_GROUP, PRIM_MEDIA_PERM_NONE, PRIM_MEDIA_PERM_OWNER - - PRIM_MEDIA_WHITELIST - - type - integer - value - 12 - tooltip - String. Gets/Sets the white-list as a string of escaped, comma-separated URLs. This string can hold up to 64 URLs or 1024 characters, whichever comes first. - - PRIM_MEDIA_WHITELIST_ENABLE - - type - integer - value - 11 - tooltip - Boolean. Gets/Sets whether navigation is restricted to URLs in PRIM_MEDIA_WHITELIST. - - PRIM_MEDIA_WIDTH_PIXELS - - type - integer - value - 9 - tooltip - Integer. Gets/Sets the width of the media in pixels. - - PRIM_NAME - - type - integer - value - 27 - - PRIM_NORMAL - - type - integer - value - 37 - tooltip - Prim parameter for materials using integer face, string texture, vector repeats, vector offsets, float rotation_in_radians - - PRIM_OMEGA - - type - integer - value - 32 - - PRIM_PHANTOM - - type - integer - value - 5 - - PRIM_PHYSICS - - type - integer - value - 3 - - PRIM_PHYSICS_SHAPE_CONVEX - - type - integer - value - 2 - tooltip - Use the convex hull of the prim shape for physics (this is the default for mesh objects). - - PRIM_PHYSICS_SHAPE_NONE - - type - integer - value - 1 - tooltip - Ignore this prim in the physics shape. NB: This cannot be applied to the root prim. - - PRIM_PHYSICS_SHAPE_PRIM - - type - integer - value - 0 - tooltip - Use the normal prim shape for physics (this is the default for all non-mesh objects). - - PRIM_PHYSICS_SHAPE_TYPE - - type - integer - value - 30 - tooltip - - Allows you to set the physics shape type of a prim via lsl. Permitted values are: - PRIM_PHYSICS_SHAPE_NONE, PRIM_PHYSICS_SHAPE_PRIM, PRIM_PHYSICS_SHAPE_CONVEX - - - PRIM_POINT_LIGHT - - type - integer - value - 23 - - PRIM_POS_LOCAL - - type - integer - value - 33 - - PRIM_POSITION - - type - integer - value - 6 - - PRIM_ROT_LOCAL - - type - integer - value - 29 - - PRIM_ROTATION - - type - integer - value - 8 - - PRIM_SCULPT_FLAG_INVERT - - type - integer - value - 64 - tooltip - Render inside out (inverts the normals). - - PRIM_SCULPT_FLAG_MIRROR - - type - integer - value - 128 - tooltip - Render an X axis mirror of the sculpty. - - PRIM_SCULPT_TYPE_CYLINDER - - type - integer - value - 4 - - PRIM_SCULPT_TYPE_MASK - - type - integer - value - 7 - - PRIM_SCULPT_TYPE_PLANE - - type - integer - value - 3 - - PRIM_SCULPT_TYPE_SPHERE - - type - integer - value - 1 - - PRIM_SCULPT_TYPE_TORUS - - type - integer - value - 2 - - PRIM_SHINY_HIGH - - type - integer - value - 3 - - PRIM_SHINY_LOW - - type - integer - value - 1 - - PRIM_SHINY_MEDIUM - - type - integer - value - 2 - - PRIM_SHINY_NONE - - type - integer - value - 0 - - PRIM_SIZE - - type - integer - value - 7 - - PRIM_SLICE - - type - integer - value - 35 - - PRIM_SPECULAR - - type - integer - value - 36 - tooltip - Prim parameter for materials using integer face, string texture, vector repeats, vector offsets, float rotation_in_radians, vector color, integer glossy, integer environment - - PRIM_TEMP_ON_REZ - - type - integer - value - 4 - - PRIM_TEXGEN - - type - integer - value - 22 - - PRIM_TEXGEN_DEFAULT - - type - integer - value - 0 - - PRIM_TEXGEN_PLANAR - - type - integer - value - 1 - - PRIM_TEXT - - type - integer - value - 26 - - PRIM_TEXTURE - - type - integer - value - 17 - - PRIM_TYPE - - type - integer - value - 9 - - PRIM_TYPE_BOX - - type - integer - value - 0 - - PRIM_TYPE_CYLINDER - - type - integer - value - 1 - - PRIM_TYPE_PRISM - - type - integer - value - 2 - - PRIM_TYPE_RING - - type - integer - value - 6 - - PRIM_TYPE_SCULPT - - type - integer - value - 7 - - PRIM_TYPE_SPHERE - - type - integer - value - 3 - - PRIM_TYPE_TORUS - - type - integer - value - 4 - - PRIM_TYPE_TUBE - - type - integer - value - 5 - - PROFILE_NONE - - type - integer - value - 0 - tooltip - Disables profiling - - PROFILE_SCRIPT_MEMORY - - type - integer - value - 1 - tooltip - Enables memory profiling - - PSYS_PART_BF_DEST_COLOR - - type - integer - value - 2 - - PSYS_PART_BF_ONE - - type - integer - value - 0 - - PSYS_PART_BF_ONE_MINUS_DEST_COLOR - - type - integer - value - 4 - - - PSYS_PART_BF_ONE_MINUS_SOURCE_COLOR - - type - integer - value - 5 - - PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA - - type - integer - value - 9 - - PSYS_PART_BF_SOURCE_ALPHA - - type - integer - value - 7 - - PSYS_PART_BF_SOURCE_COLOR - - type - integer - value - 3 - - PSYS_PART_BF_ZERO - - type - integer - value - 1 - - PSYS_PART_BLEND_FUNC_DEST - - type - integer - value - 25 - - PSYS_PART_BLEND_FUNC_SOURCE - - type - integer - value - 24 - - PSYS_PART_BOUNCE_MASK - - type - integer - value - 0x4 - tooltip - Particles bounce off of a plane at the objects Z height. - - PSYS_PART_EMISSIVE_MASK - - type - integer - value - 0x100 - tooltip - The particle glows. - - PSYS_PART_END_ALPHA - - type - integer - value - 4 - tooltip - A float which determines the ending alpha of the object. - - PSYS_PART_END_COLOR - - type - integer - value - 3 - tooltip - A vector <r, g, b> which determines the ending color of the object. - - PSYS_PART_END_GLOW - - type - integer - value - 27 - - PSYS_PART_END_SCALE - - type - integer - value - 6 - tooltip - A vector <sx, sy, z>, which is the ending size of the particle billboard in meters (z is ignored). - - PSYS_PART_FLAGS - - type - integer - value - 0 - tooltip - Each particle that is emitted by the particle system is simulated based on the following flags. To use multiple flags, bitwise or (|) them together. - - PSYS_PART_FOLLOW_SRC_MASK - - type - integer - value - 0x10 - tooltip - The particle position is relative to the source objects position. - - PSYS_PART_FOLLOW_VELOCITY_MASK - - type - integer - value - 0x20 - tooltip - The particle orientation is rotated so the vertical axis faces towards the particle velocity. - - PSYS_PART_INTERP_COLOR_MASK - - type - integer - value - 0x1 - tooltip - Interpolate both the color and alpha from the start value to the end value. - - PSYS_PART_INTERP_SCALE_MASK - - type - integer - value - 0x2 - tooltip - Interpolate the particle scale from the start value to the end value. - - PSYS_PART_MAX_AGE - - type - integer - value - 7 - tooltip - Age in seconds of a particle at which it dies. - - PSYS_PART_RIBBON_MASK - - type - integer - value - 0x400 - - - PSYS_PART_START_ALPHA - - type - integer - value - 2 - tooltip - A float which determines the starting alpha of the object. - - PSYS_PART_START_COLOR - - type - integer - value - 1 - tooltip - A vector <r.r, g.g, b.b> which determines the starting color of the object. - - PSYS_PART_START_GLOW - - type - integer - value - 26 - - PSYS_PART_START_SCALE - - type - integer - value - 5 - tooltip - A vector <sx, sy, z>, which is the starting size of the particle billboard in meters (z is ignored). - - PSYS_PART_TARGET_LINEAR_MASK - - type - integer - value - 0x80 - - PSYS_PART_TARGET_POS_MASK - - type - integer - value - 0x40 - tooltip - The particle heads towards the location of the target object as defined by PSYS_SRC_TARGET_KEY. - - PSYS_PART_WIND_MASK - - type - integer - value - 0x8 - tooltip - Particles have their velocity damped towards the wind velocity. - - PSYS_SRC_ACCEL - - type - integer - value - 8 - tooltip - A vector <x, y, z> which is the acceleration to apply on particles. - - PSYS_SRC_ANGLE_BEGIN - - type - integer - value - 22 - tooltip - Area in radians specifying where particles will NOT be created (for ANGLE patterns) - - PSYS_SRC_ANGLE_END - - type - integer - value - 23 - tooltip - Area in radians filled with particles (for ANGLE patterns) (if lower than PSYS_SRC_ANGLE_BEGIN, acts as PSYS_SRC_ANGLE_BEGIN itself, and PSYS_SRC_ANGLE_BEGIN acts as PSYS_SRC_ANGLE_END). - - PSYS_SRC_BURST_PART_COUNT - - type - integer - value - 15 - tooltip - How many particles to release in a burst. - - PSYS_SRC_BURST_RADIUS - - type - integer - value - 16 - tooltip - What distance from the center of the object to create the particles. - - PSYS_SRC_BURST_RATE - - type - integer - value - 13 - tooltip - How often to release a particle burst (float seconds). - - PSYS_SRC_BURST_SPEED_MAX - - type - integer - value - 18 - tooltip - Maximum speed that a particle should be moving. - - PSYS_SRC_BURST_SPEED_MIN - - type - integer - value - 17 - tooltip - Minimum speed that a particle should be moving. - - PSYS_SRC_INNERANGLE - - type - integer - value - 10 - tooltip - - Specifies the inner angle of the arc created by the PSYS_SRC_PATTERN_ANGLE or PSYS_SRC_PATTERN_ANGLE_CONE source pattern. - The area specified will NOT have particles in it. - - - PSYS_SRC_MAX_AGE - - type - integer - value - 19 - tooltip - How long this particle system should last, 0.0 means forever. - - PSYS_SRC_OMEGA - - type - integer - value - 21 - tooltip - Sets the angular velocity to rotate the axis that SRC_PATTERN_ANGLE and SRC_PATTERN_ANGLE_CONE use. - - PSYS_SRC_OUTERANGLE - - type - integer - value - 11 - tooltip - Specifies the outer angle of the arc created by the PSYS_SRC_PATTERN_ANGLE or PSYS_SRC_PATTERN_ANGLE_CONE source pattern.The area between the outer and inner angle will be filled with particles. - - PSYS_SRC_PATTERN - - type - integer - value - 9 - tooltip - The pattern which is used to generate particles. Use one of the following values: PSYS_SRC_PATTERN Values. - - PSYS_SRC_PATTERN_ANGLE - - type - integer - value - 0x04 - tooltip - Shoot particles across a 2 dimensional area defined by the arc created from PSYS_SRC_OUTERANGLE. There will be an open area defined by PSYS_SRC_INNERANGLE within the larger arc. - - PSYS_SRC_PATTERN_ANGLE_CONE - - type - integer - value - 0x08 - tooltip - Shoot particles out in a 3 dimensional cone with an outer arc of PSYS_SRC_OUTERANGLE and an inner open area defined by PSYS_SRC_INNERANGLE. - - PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY - - type - integer - value - 0x10 - - PSYS_SRC_PATTERN_DROP - - type - integer - value - 0x01 - tooltip - Drop particles at the source position. - - PSYS_SRC_PATTERN_EXPLODE - - type - integer - value - 0x02 - tooltip - Shoot particles out in all directions, using the burst parameters. - - PSYS_SRC_TARGET_KEY - - type - integer - value - 20 - tooltip - The key of a target object to move towards if PSYS_PART_TARGET_POS_MASK is enabled. - - PSYS_SRC_TEXTURE - - type - integer - value - 12 - tooltip - An asset name for the texture to use for the particles. - - PUBLIC_CHANNEL - - type - integer - value - 0 - tooltip - PUBLIC_CHANNEL is an integer constant that, when passed to llSay, llWhisper, or llShout as a channel parameter, will print text to the publicly heard chat channel. - - RAD_TO_DEG - - type - float - value - 57.2957795 - tooltip - 57.2957795 - Number of degrees per radian. You can use this number to convert radians to degrees by multiplying the radians by this number. - - RC_DATA_FLAGS - - type - integer - value - 2 - - RC_DETECT_PHANTOM - - type - integer - value - 1 - - RC_GET_LINK_NUM - - type - integer - value - 4 - - RC_GET_NORMAL - - type - integer - value - 1 - - RC_GET_ROOT_KEY - - type - integer - value - 2 - - RC_MAX_HITS - - type - integer - value - 3 - - RC_REJECT_AGENTS - - type - integer - value - 1 - - RC_REJECT_LAND - - type - integer - value - 8 - - RC_REJECT_NONPHYSICAL - - type - integer - value - 4 - - RC_REJECT_PHYSICAL - - type - integer - value - 2 - - RC_REJECT_TYPES - - type - integer - value - 0 - - RCERR_CAST_TIME_EXCEEDED - - type - integer - value - -3 - - RCERR_SIM_PERF_LOW - - type - integer - value - -2 - - RCERR_UNKNOWN - - type - integer - value - -1 - - REGION_FLAG_ALLOW_DAMAGE - - type - integer - value - 0x1 - - REGION_FLAG_ALLOW_DIRECT_TELEPORT - - type - integer - value - 0x100000 - - - REGION_FLAG_BLOCK_FLY - - type - integer - value - 0x80000 - - REGION_FLAG_BLOCK_FLYOVER - - type - integer - value - 0x8000000 - - REGION_FLAG_BLOCK_TERRAFORM - - type - integer - value - 0x40 - - REGION_FLAG_DISABLE_COLLISIONS - - type - integer - value - 0x1000 - - REGION_FLAG_DISABLE_PHYSICS - - type - integer - value - 0x4000 - - REGION_FLAG_FIXED_SUN - - type - integer - value - 0x10 - - REGION_FLAG_RESTRICT_PUSHOBJECT - - type - integer - value - 0x400000 - - REGION_FLAG_SANDBOX - - type - integer - value - 0x100 - - REMOTE_DATA_CHANNEL - - type - integer - value - 1 - - REMOTE_DATA_REPLY - - type - integer - value - 3 - - REMOTE_DATA_REQUEST - - type - integer - value - 2 - - REQUIRE_LINE_OF_SIGHT - - type - integer - value - 2 - tooltip - Define whether the character needs a line-of-sight to give chase. - - RESTITUTION - - type - integer - value - 4 - tooltip - Used with llSetPhysicsMaterial to enable the density value. Must be between 0.0 and 1.0 - - REVERSE - - type - integer - value - 0x4 - tooltip - Play animation in reverse direction. - - ROTATE - - type - integer - value - 0x20 - tooltip - Animate texture rotation. - - SCALE - - type - integer - value - 0x40 - tooltip - Animate the texture scale. - - SCRIPTED - - type - integer - value - 0x8 - tooltip - Scripted in-world objects. - - SMOOTH - - type - integer - value - 0x10 - tooltip - Slide in the X direction, instead of playing separate frames. - - SQRT2 - - type - float - value - 1.41421356 - tooltip - 1.41421356 - The square root of 2. - - STATUS_BLOCK_GRAB - - type - integer - value - 0x40 - tooltip - Controls whether the object can be grabbed.\nA grab is the default action when in third person, and is available as the hand tool in build mode. This is useful for physical objects that you don't want other people to be able to trivially disturb. The default is FALSE - - STATS_TIME_DILATION - - type - integer - value - 0 - tooltip - osGetRegionStats Time Dilation - - STATS_SIM_FPS - - type - integer - value - 1 - tooltip - osGetRegionStats Sim FPS - - STATS_PHYSICS_FPS - - type - integer - value - 2 - tooltip - osGetRegionStats Physics FPS - - STATS_AGENT_UPDATES - - type - integer - value - 3 - tooltip - osGetRegionStats Agent Updates/Sec - - STATS_ROOT_AGENTS - - type - integer - value - 4 - tooltip - osGetRegionStats Main Agents - - STATS_CHILD_AGENTS - - type - integer - value - 5 - tooltip - osGetRegionStats Child Agents - - STATS_TOTAL_PRIMS - - type - integer - value - 6 - tooltip - osGetRegionStats Objects - - STATS_ACTIVE_PRIMS - - type - integer - value - 7 - tooltip - osGetRegionStats Active Objects - - STATS_FRAME_MS - - type - integer - value - 8 - tooltip - osGetRegionStats Total Frame Time - - STATS_NET_MS - - type - integer - value - 9 - tooltip - osGetRegionStats Net Time - - STATS_PHYSICS_MS - - type - integer - value - 10 - tooltip - osGetRegionStats Physics Time - - STATS_IMAGE_MS - - type - integer - value - 11 - tooltip - osGetRegionStats Image Time - - STATS_OTHER_MS - - type - integer - value - 12 - tooltip - osGetRegionStats Other Time - - STATS_IN_PACKETS_PER_SECOND - - type - integer - value - 13 - tooltip - osGetRegionStats Packets in - - STATS_OUT_PACKETS_PER_SECOND - - type - integer - value - 14 - tooltip - osGetRegionStats Packets out - - STATS_UNACKED_BYTES - - type - integer - value - 15 - tooltip - osGetRegionStats Total Unacked Bytes - - STATS_AGENT_MS - - type - integer - value - 16 - tooltip - osGetRegionStats Agent Time - - STATS_PENDING_DOWNLOADS - - type - integer - value - 17 - tooltip - osGetRegionStats Pending Downloads - - STATS_PENDING_UPLOADS - - type - integer - value - 18 - tooltip - osGetRegionStats Pending Uploads - - STATS_ACTIVE_SCRIPTS - - type - integer - value - 19 - tooltip - osGetRegionStats Active Scripts - - STATS_SCRIPT_LPS - - type - integer - value - 20 - tooltip - osGetRegionStats Script Line Per Second - - STATUS_BLOCK_GRAB_OBJECT - - type - integer - value - 0x400 - tooltip - Prevent click-and-drag movement on all prims in the object. - - STATUS_BOUNDS_ERROR - - type - integer - value - 1002 - tooltip - Argument(s) passed to function had a bounds error. - - STATUS_CAST_SHADOWS - - type - integer - value - 0x200 - - - STATUS_DIE_AT_EDGE - - type - integer - value - 0x80 - tooltip - Controls whether the object is returned to the owners inventory if it wanders off the edge of the world.\nIt is useful to set this status TRUE for things like bullets or rockets. The default is TRUE - - STATUS_INTERNAL_ERROR - - type - integer - value - 1999 - tooltip - An internal error occurred. - - STATUS_MALFORMED_PARAMS - - type - integer - value - 1000 - tooltip - Function was called with malformed parameters. - - STATUS_NOT_FOUND - - type - integer - value - 1003 - tooltip - Object or other item was not found. - - STATUS_NOT_SUPPORTED - - type - integer - value - 1004 - tooltip - Feature not supported. - - STATUS_OK - - type - integer - value - 0 - tooltip - Result of function call was a success. - - STATUS_PHANTOM - - type - integer - value - 0x10 - tooltip - Controls/indicates whether the object collides or not.\nSetting the value to TRUE makes the object non-colliding with all objects. It is a good idea to use this for most objects that move or rotate, but are non-physical. It is also useful for simulating volumetric lighting. The default is FALSE. - - STATUS_PHYSICS - - type - integer - value - 0x1 - tooltip - Controls/indicates whether the object moves physically.\nThis controls the same flag that the UI check-box for Physical controls. The default is FALSE. - - STATUS_RETURN_AT_EDGE - - type - integer - value - 0x100 - - STATUS_ROTATE_X - - type - integer - value - 0x2 - tooltip - enable (TRUE) or disable (FALSE) rotation around Y axis of physical objects - - STATUS_ROTATE_Y - - type - integer - value - 0x4 - tooltip - enable (TRUE) or disable (FALSE) rotation around Y axis of physical objects - - STATUS_ROTATE_Z - - type - integer - value - 0x8 - tooltip - enable (TRUE) or disable (FALSE) rotation around Z axis of physical objects - - STATUS_SANDBOX - - type - integer - value - 0x20 - tooltip - Controls/indicates whether the object can cross region boundaries and move more than 20 meters from its creation point. The default if FALSE. - - STATUS_TYPE_MISMATCH - - type - integer - value - 1001 - tooltip - Argument(s) passed to function had a type mismatch. - - STATUS_WHITELIST_FAILED - - type - integer - value - 2001 - tooltip - Whitelist Failed. - - STRING_TRIM - - type - integer - value - 0x03 - - STRING_TRIM_HEAD - - type - integer - value - 0x01 - - STRING_TRIM_TAIL - - type - integer - value - 0x02 - - TEXTURE_BLANK - - type - string - value - 5748decc-f629-461c-9a36-a35a221fe21f - - TEXTURE_DEFAULT - - type - string - value - 89556747-24cb-43ed-920b-47caed15465f - - TEXTURE_MEDIA - - type - string - value - 8b5fec65-8d8d-9dc5-cda8-8fdf2716e361 - - TEXTURE_PLYWOOD - - type - string - value - 89556747-24cb-43ed-920b-47caed15465f - - TEXTURE_TRANSPARENT - - type - string - value - 8dcd4a48-2d37-4909-9f78-f7a9eb4ef903 - - TOUCH_INVALID_FACE - - type - integer - value - 0xFFFFFFFF - - TOUCH_INVALID_TEXCOORD - - type - vector - value - <-1.0, -1.0, 0.0> - - TOUCH_INVALID_VECTOR - - type - vector - value - <0.0, 0.0, 0.0> - - TRUE - - type - integer - value - 1 - tooltip - An integer constant for boolean comparisons. Has the value '1'. - - TWO_PI - - type - float - value - 6.28318530 - tooltip - 6.28318530 - The radians of a circle. - - TYPE_FLOAT - - type - integer - value - 2 - tooltip - The list entry is a float. - - TYPE_INTEGER - - type - integer - value - 1 - tooltip - The list entry is an integer. - - TYPE_INVALID - - type - integer - value - 0 - tooltip - The list entry is invalid. - - TYPE_KEY - - type - integer - value - 4 - tooltip - The list entry is a key. - - TYPE_ROTATION - - type - integer - value - 6 - tooltip - The list entry is a rotation. - - TYPE_STRING - - type - integer - value - 3 - tooltip - The list entry is a string. - - TYPE_VECTOR - - type - integer - value - 5 - tooltip - The list entry is a vector. - - URL_REQUEST_DENIED - - type - string - value - URL_REQUEST_DENIED - - URL_REQUEST_GRANTED - - type - string - value - URL_REQUEST_GRANTED - - VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY - - type - integer - value - 32 - tooltip - A slider between minimum (0.0) and maximum (1.0) deflection of angular orientation. That is, its a simple scalar for modulating the strength of angular deflection such that the vehicles preferred axis of motion points toward its real velocity. - - VEHICLE_ANGULAR_DEFLECTION_TIMESCALE - - type - integer - value - 33 - tooltip - The time-scale for exponential success of linear deflection deflection. Its another way to specify the strength of the vehicles tendency to reorient itself so that its preferred axis of motion agrees with its true velocity. - - VEHICLE_ANGULAR_FRICTION_TIMESCALE - - type - integer - value - 17 - tooltip - - A vector of timescales for exponential decay of the vehicles angular velocity about its preferred axes of motion (at, left, up). - Range = [0.07, inf) seconds for each element of the vector. - - - VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE - - type - integer - value - 35 - tooltip - The timescale for exponential decay of the angular motors magnitude. - - VEHICLE_ANGULAR_MOTOR_DIRECTION - - type - integer - value - 19 - tooltip - The direction and magnitude (in preferred frame) of the vehicles angular motor.The vehicle will accelerate (or decelerate if necessary) to match its velocity to its motor. - - VEHICLE_ANGULAR_MOTOR_TIMESCALE - - type - integer - value - 34 - tooltip - The timescale for exponential approach to full angular motor velocity. - - VEHICLE_BANKING_EFFICIENCY - - type - integer - value - 38 - tooltip - A slider between anti (-1.0), none (0.0), and maxmum (1.0) banking strength. - - VEHICLE_BANKING_MIX - - type - integer - value - 39 - tooltip - A slider between static (0.0) and dynamic (1.0) banking. "Static" means the banking scales only with the angle of roll, whereas "dynamic" is a term that also scales with the vehicles linear speed. - - VEHICLE_BANKING_TIMESCALE - - type - integer - value - 40 - tooltip - The timescale for banking to exponentially approach its maximum effect. This is another way to scale the strength of the banking effect, however it affects the term that is proportional to the difference between what the banking behavior is trying to do, and what the vehicle is actually doing. - - VEHICLE_BUOYANCY - - type - integer - value - 27 - tooltip - A slider between minimum (0.0) and maximum anti-gravity (1.0). - - VEHICLE_FLAG_CAMERA_DECOUPLED - - type - integer - value - 0x200 - - VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT - - type - integer - value - 0x10 - tooltip - Hover at global height. - - VEHICLE_FLAG_HOVER_TERRAIN_ONLY - - type - integer - value - 0x8 - tooltip - Ignore water height when hovering. - - VEHICLE_FLAG_HOVER_UP_ONLY - - type - integer - value - 0x20 - tooltip - Hover does not push down. Use this flag for hovering vehicles that should be able to jump above their hover height. - - VEHICLE_FLAG_HOVER_WATER_ONLY - - type - integer - value - 0x4 - tooltip - Ignore terrain height when hovering. - - VEHICLE_FLAG_LIMIT_MOTOR_UP - - type - integer - value - 0x40 - tooltip - Prevents ground vehicles from motoring into the sky. - - VEHICLE_FLAG_LIMIT_ROLL_ONLY - - type - integer - value - 0x2 - tooltip - For vehicles with vertical attractor that want to be able to climb/dive, for instance, aeroplanes that want to use the banking feature. - - VEHICLE_FLAG_MOUSELOOK_BANK - - type - integer - value - 0x100 - - VEHICLE_FLAG_MOUSELOOK_STEER - - type - integer - value - 0x80 - - VEHICLE_FLAG_NO_DEFLECTION_UP - - type - integer - value - 0x1 - tooltip - This flag prevents linear deflection parallel to world z-axis. This is useful for preventing ground vehicles with large linear deflection, like bumper cars, from climbing their linear deflection into the sky. - - VEHICLE_FLAG_NO_FLY_UP - - deprecated - true - type - integer - value - 0x1 - tooltip - Old, changed to VEHICLE_FLAG_NO_DEFLECTION_UP - - VEHICLE_HOVER_EFFICIENCY - - type - integer - value - 25 - tooltip - A slider between minimum (0.0 = bouncy) and maximum (1.0 = fast as possible) damped motion of the hover behavior. - - VEHICLE_HOVER_HEIGHT - - type - integer - value - 24 - tooltip - The height (above the terrain or water, or global) at which the vehicle will try to hover. - - VEHICLE_HOVER_TIMESCALE - - type - integer - value - 26 - tooltip - Period of time (in seconds) for the vehicle to achieve its hover height. - - VEHICLE_LINEAR_DEFLECTION_EFFICIENCY - - type - integer - value - 28 - tooltip - A slider between minimum (0.0) and maximum (1.0) deflection of linear velocity. That is, its a simple scalar for modulating the strength of linear deflection. - - VEHICLE_LINEAR_DEFLECTION_TIMESCALE - - type - integer - value - 29 - tooltip - The timescale for exponential success of linear deflection deflection. It is another way to specify how much time it takes for the vehicles linear velocity to be redirected to its preferred axis of motion. - - VEHICLE_LINEAR_FRICTION_TIMESCALE - - type - integer - value - 16 - tooltip - - A vector of timescales for exponential decay of the vehicles linear velocity along its preferred axes of motion (at, left, up). - Range = [0.07, inf) seconds for each element of the vector. - - - VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE - - type - integer - value - 31 - tooltip - The timescale for exponential decay of the linear motors magnitude. - - VEHICLE_LINEAR_MOTOR_DIRECTION - - type - integer - value - 18 - tooltip - - The direction and magnitude (in preferred frame) of the vehicles linear motor. The vehicle will accelerate (or decelerate if necessary) to match its velocity to its motor. - Range of magnitude = [0, 30] meters/second. - - - VEHICLE_LINEAR_MOTOR_OFFSET - - type - integer - value - 20 - - - VEHICLE_LINEAR_MOTOR_TIMESCALE - - type - integer - value - 30 - tooltip - The timescale for exponential approach to full linear motor velocity. - - VEHICLE_REFERENCE_FRAME - - type - integer - value - 44 - tooltip - A rotation of the vehicles preferred axes of motion and orientation (at, left, up) with respect to the vehicles local frame (x, y, z). - - VEHICLE_TYPE_AIRPLANE - - type - integer - value - 4 - tooltip - Uses linear deflection for lift, no hover, and banking to turn.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_AIRPLANE - - VEHICLE_TYPE_BALLOON - - type - integer - value - 5 - tooltip - Hover, and friction, but no deflection.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_BALLOON - - VEHICLE_TYPE_BOAT - - type - integer - value - 3 - tooltip - Hovers over water with lots of friction and some anglar deflection.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_BOAT - - VEHICLE_TYPE_CAR - - type - integer - value - 2 - tooltip - Another vehicle that bounces along the ground but needs the motors to be driven from external controls or timer events.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_CAR - - VEHICLE_TYPE_NONE - - type - integer - value - 0 - - VEHICLE_TYPE_SLED - - type - integer - value - 1 - tooltip - Simple vehicle that bumps along the ground, and likes to move along its local x-axis.\nSee http://wiki.secondlife.com/wiki/VEHICLE_TYPE_SLED - - VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY - - type - integer - value - 36 - tooltip - A slider between minimum (0.0 = wobbly) and maximum (1.0 = firm as possible) stability of the vehicle to keep itself upright. - - VEHICLE_VERTICAL_ATTRACTION_TIMESCALE - - type - integer - value - 37 - tooltip - The period of wobble, or timescale for exponential approach, of the vehicle to rotate such that its preferred "up" axis is oriented along the worlds "up" axis. - - VERTICAL - - type - integer - value - 0 - - WL_WATER_COLOR - - type - integer - value - 0 - - WL_WATER_FOG_DENSITY_EXPONENT - - type - integer - value - 1 - - WL_UNDERWATER_FOG_MODIFIER - - type - integer - value - 2 - - WL_REFLECTION_WAVELET_SCALE - - type - integer - value - 3 - - WL_FRESNEL_SCALE - - type - integer - value - 4 - - WL_FRESNEL_OFFSET - - type - integer - value - 5 - - WL_REFRACT_SCALE_ABOVE - - type - integer - value - 6 - - WL_REFRACT_SCALE_BELOW - - type - integer - value - 7 - - WL_BLUR_MULTIPLIER - - type - integer - value - 8 - - WL_BIG_WAVE_DIRECTION - - type - integer - value - 9 - - WL_LITTLE_WAVE_DIRECTION - - type - integer - value - 10 - - WL_NORMAL_MAP_TEXTURE - - type - integer - value - 11 - - WL_HORIZON - - type - integer - value - 12 - - WL_HAZE_HORIZON - - type - integer - value - 13 - - WL_BLUE_DENSITY - - type - integer - value - 14 - - WL_HAZE_DENSITY - - type - integer - value - 15 - - WL_DENSITY_MULTIPLIER - - type - integer - value - 16 - - WL_DISTANCE_MULTIPLIER - - type - integer - value - 17 - - WL_MAX_ALTITUDE - - type - integer - value - 18 - - WL_SUN_MOON_COLOR - - type - integer - value - 19 - - WL_AMBIENT - - type - integer - value - 20 - - WL_EAST_ANGLE - - type - integer - value - 21 - - WL_SUN_GLOW_FOCUS - - type - integer - value - 22 - - WL_SUN_GLOW_SIZE - - type - integer - value - 23 - - WL_SCENE_GAMMA - - type - integer - value - 24 - - WL_STAR_BRIGHTNESS - - type - integer - value - 25 - - WL_CLOUD_COLOR - - type - integer - value - 26 - - WL_CLOUD_XY_DENSITY - - type - integer - value - 27 - - WL_CLOUD_COVERAGE - - type - integer - value - 28 - - WL_CLOUD_SCALE - - type - integer - value - 29 - - WL_CLOUD_DETAIL_XY_DENSITY - - type - integer - value - 30 - - WL_CLOUD_SCROLL_X - - type - integer - value - 31 - - WL_CLOUD_SCROLL_Y - - type - integer - value - 32 - - WL_CLOUD_SCROLL_Y_LOCK - - type - integer - value - 33 - - WL_CLOUD_SCROLL_X_LOCK - - type - integer - value - 34 - - WL_DRAW_CLASSIC_CLOUDS - - type - integer - value - 35 - - WL_SUN_MOON_POSITION - - type - integer - value - 36 - - ZERO_ROTATION - - type - rotation - value - <0.0, 0.0, 0.0, 1.0> - - ZERO_VECTOR - - type - vector - value - <0.0, 0.0, 0.0> - - default - - tooltip - All scripts must have a default state, which is the first state entered when the script starts.\nIf another state is defined before the default state, the compiler will report a syntax error. - + at_rot_target + arguments + TargetNumbertypeinteger + TargetRotationtyperotation + CurrentRotationtyperotation + + tooltipTriggered when a script comes within a defined angle of a target rotation. The range and rotation, are set by a call to llRotTarget + + at_target + arguments + TargetNumbertypeinteger + TargetPositiontypevector + CurrentPositiontypevector + + tooltipTriggered when the scripted object comes within a defined range of the target position, defined by the llTarget function call + + attach + arguments + AvatarIDtypekey + + tooltipTriggered whenever an object is attached or detached from an avatar. If it is attached, the key of the avatar it is attached to is passed in, otherwise NULL_KEY is + + changed + arguments + Changedtypeinteger + + tooltipTriggered when various events change the object. The change argument will be a bit-field of CHANGED_* constants + + collision + arguments + NumberOfCollisionstypeinteger + + tooltipRaised while another object, or avatar, is colliding with the object the script is attached to. The number of detected objects is passed to the script. Information on those objects may be gathered via the llDetected* functions + + collision_end + arguments + NumberOfCollisionstypeinteger + + tooltipRaised when another object, or avatar, stops colliding with the object the script is attached to. Information on objects may be gathered via the llDetected* library functions + + collision_start + arguments + NumberOfCollisionstypeinteger + + tooltipRaised when another object, or avatar, starts colliding with the object the script is attached to. Information on objects may be gathered via the llDetected* library functions + + control + arguments + AvatarIDtypekey + Levelstypeinteger + Edgestypeinteger + + tooltipOnce a script has the ability to grab control inputs from the avatar, this event will be used to pass the commands into the script.The levels and edges are bit-fields of control constants + + dataserver + arguments + RequestIDtypekey + Datatypestring + + tooltipTriggered when the requested data is returned to the script. + Data may be requested by the llRequestAgentData, llRequestInventoryData, and llGetNotecardLine function calls, for example + + email + arguments + Timetypestring + Addresstypestring + Subjecttypestring + Bodytypestring + NumberRemainingtypeinteger + + tooltipTriggered when an email sent to this script arrives. + The number remaining tells how many more emails are known to be still pending + + http_request + arguments + HTTPRequestIDtypekey + HTTPMethodtypestring + Bodytypestring + + tooltipTriggered when task receives an HTTP request. + + http_response + arguments + HTTPRequestIDtypekey + Statustypeinteger + Metadatatypelist + Bodytypestring + + tooltipInvoked when an HTTP response is received for a pending llHTTPRequest request or if a pending request fails or times out + + land_collision + arguments + Positiontypevector + + tooltipRaised when the object the script is attached to is colliding with the ground + + land_collision_end + arguments + Positiontypevector + + tooltipRaised when the object the script is attached to stops colliding with the ground + + land_collision_start + arguments + Positiontypevector + + tooltipRaised when the object the script is attached to begins to collide with the ground + + link_message + arguments + SendersLinktypeinteger + Valuetypeinteger + Texttypestring + IDtypekey + + tooltipTriggered when object receives a link message via llMessageLinked function call + + listen + arguments + Channeltypeinteger + Nametypestring + IDtypekey + Texttypestring + + tooltip Raised whenever a chat message matching the constraints set in the llListen command is received. The name and ID of the speaker, as well as the message, are passed in as parameters. Channel 0 is the public chat channel that all avatars see as chat text. Channels 1 through 2,147,483,648 are private channels that are not sent to avatars but other scripts can listen on those channels + + money + arguments + Payertypekey + Amounttypeinteger + + tooltipTriggered when a resident has given an amount of Linden dollars to the object + + moving_end + arguments + tooltipTriggered whenever an object with this script stops moving. + + moving_start + arguments + tooltipTriggered whenever an object with this script starts moving. + + no_sensor + arguments + tooltipRaised when sensors are active, via the llSensor function call, but are not sensing anything. + + not_at_rot_target + arguments + tooltipWhen a target is set via the llRotTarget function call, but the script is outside the specified angle Raised. + + not_at_target + arguments + tooltipWhen a target is set via the llTarget library call, but the script is outside the specified range Raised. + + object_rez + arguments + RezzedObjectsIDtypekey + + tooltipTriggered when an object rezzes another object from its inventory via the llRezObject, or similar, functions. The id is the globally unique key for the object rezzed. + + on_rez + arguments + StartParametertypeinteger + + tooltipTriggered whenever an object is rezzed from inventory or by another object. The start parameter is passed in from the llRezObject call, or zero if from inventory. + + remote_data + arguments + EventTypetypeinteger + ChannelIDtypekey + MessageIDtypekey + Sendertypestring + iDatatypeinteger + sDatatypestring + + tooltipTriggered by various XML-RPC calls with event_type specifying the type of data + + run_time_permissions + arguments + PermissionFlagstypeinteger + + tooltipScripts need permission from either the owner or the avatar they wish to act on before they may perform certain functions, such as debiting money from their owners account, triggering an animation on an avatar, or capturing control inputs. The llRequestPermissions library function is used to request these permissions and the various permissions integer constants can be supplied. The integer returned to this event handler contains the current set of permissions flags, so if permissions equal 0 then no permissions are set + + sensor + arguments + NumberDetectedtypeinteger + + tooltipRaised whenever objects matching the constraints of the llSensor command are detected. The number of detected objects is passed to the script in the parameter. Information on those objects may be gathered via the llDetected* functions + + state_entry + arguments + tooltipThe state_entry event occurs whenever a new state is entered, including at program start, and is always the first event handled + + state_exit + arguments + tooltipThe state_exit event occurs whenever the state command is used to transition to another state. It is handled before the new states state_entry event + + timer + arguments + tooltipRaised at regular intervals set by the llSetTimerEvent library function + + touch + arguments + NumberOfTouchestypeinteger + + tooltip + Raised while a user is touching the object the script is attached to. + The number of touching objects is passed to the script in the parameter. + Information on those objects may be gathered via the llDetected* library functions + + touch_end + arguments + NumberOfTouchestypeinteger + + tooltipRaised when a user stops touching the object the script is attached to. The number of touches is passed to the script in the parameter. Information on those objects may be gathered via the llDetected* library functions + + touch_start + arguments + NumberOfTouchestypeinteger + + tooltipRaised when a user first touches the object the script is attached to. The number of touches is passed to the script in the parameter. Information on those objects may be gathered via the llDetected() library functions + + transaction_result + arguments + RequestIDtypekey + Successtypeinteger + Messagetypestring + + tooltipTriggered by llTransferMoney() function + -events +constants - at_rot_target - - arguments - - - TargetNumber - - type - integer - - - - TargetRotation - - type - rotation - - - - CurrentRotation - - type - rotation - - - - tooltip - This event is triggered when a script comes within a defined angle of a target rotation. The range and rotation, are set by a call to llRotTarget. - - at_target - - arguments - - - TargetNumber - - type - integer - - - - TargetPosition - - type - vector - - - - CurrentPosition - - type - vector - - - - tooltip - This event is triggered when the scripted object comes within a defined range of the target position, defined by the llTarget function call. - - attach - - arguments - - - AvatarID - - type - key - - - - tooltip - This event is triggered whenever an object is attached or detached from an avatar. If it is attached, the key of the avatar it is attached to is passed in, otherwise NULL_KEY is. - - changed - - arguments - - - Changed - - type - integer - - - - tooltip - Triggered when various events change the object. The change argument will be a bit-field of CHANGED_* constants. - - collision - - arguments - - - NumberOfCollisions - - type - integer - - - - tooltip - - This event is raised while another object, or avatar, is colliding with the object the script is attached to. - The number of detected objects is passed to the script. Information on those objects may be gathered via the llDetected* functions. - - - collision_end - - arguments - - - NumberOfCollisions - - type - integer - - - - tooltip - - This event is raised when another object, or avatar, stops colliding with the object the script is attached to. - The number of detected objects is passed to the script. Information on those objects may be gathered via the llDetected* library functions. - - - collision_start - - arguments - - - NumberOfCollisions - - type - integer - - - - tooltip - - This event is raised when another object, or avatar, starts colliding with the object the script is attached to. - The number of detected objects is passed to the script. Information on those objects may be gathered via the llDetected* library functions. - - - control - - arguments - - - AvatarID - - type - key - - - - Levels - - type - integer - - - - Edges - - type - integer - - - - tooltip - - Once a script has the ability to grab control inputs from the avatar, this event will be used to pass the commands into the script. - The levels and edges are bit-fields of control constants. - - - dataserver - - arguments - - - RequestID - - type - key - - - - Data - - type - string - - - - tooltip - - This event is triggered when the requested data is returned to the script. - Data may be requested by the llRequestAgentData, llRequestInventoryData, and llGetNotecardLine function calls, for example. - - - email - - arguments - - - Time - - type - string - - - - Address - - type - string - - - - Subject - - type - string - - - - Body - - type - string - - - - NumberRemaining - - type - integer - - - - tooltip - - This event is triggered when an email sent to this script arrives. - The number remaining tells how many more emails are known to be still pending. - - - http_request - - arguments - - - HTTPRequestID - - type - key - - - - HTTPMethod - - type - string - - - - Body - - type - string - - - - tooltip - Triggered when task receives an HTTP request. - - http_response - - arguments - - - HTTPRequestID - - type - key - - - - Status - - type - integer - - - - Metadata - - type - list - - - - Body - - type - string - - - - tooltip - This event handler is invoked when an HTTP response is received for a pending llHTTPRequest request or if a pending request fails or times out. - - land_collision - - arguments - - - Position - - type - vector - - - - tooltip - This event is raised when the object the script is attached to is colliding with the ground. - - land_collision_end - - arguments - - - Position - - type - vector - - - - tooltip - This event is raised when the object the script is attached to stops colliding with the ground. - - land_collision_start - - arguments - - - Position - - type - vector - - - - tooltip - This event is raised when the object the script is attached to begins to collide with the ground. - - link_message - - arguments - - - SendersLink - - type - integer - - - - Value - - type - integer - - - - Text - - type - string - - - - ID - - type - key - - - - tooltip - Triggered when object receives a link message via llMessageLinked function call. - - listen - - arguments - - - Channel - - type - integer - - - - Name - - type - string - - - - ID - - type - key - - - - Text - - type - string - - - - tooltip - - This event is raised whenever a chat message matching the constraints set in the llListen command is received. The name and ID of the speaker, as well as the message, are passed in as parameters. - Channel 0 is the public chat channel that all avatars see as chat text. Channels 1 through 2,147,483,648 are private channels that are not sent to avatars but other scripts can listen on those channels. - - - money - - arguments - - - Payer - - type - key - - - - Amount - - type - integer - - - - tooltip - This event is triggered when a resident has given an amount of Linden dollars to the object. - - moving_end - - arguments - - tooltip - Triggered whenever an object with this script stops moving. - - moving_start - - arguments - - tooltip - Triggered whenever an object with this script starts moving. - - no_sensor - - arguments - - tooltip - This event is raised when sensors are active, via the llSensor function call, but are not sensing anything. - - not_at_rot_target - - arguments - - tooltip - When a target is set via the llRotTarget function call, but the script is outside the specified angle this event is raised. - - not_at_target - - arguments - - tooltip - When a target is set via the llTarget library call, but the script is outside the specified range this event is raised. - - object_rez - - arguments - - - RezzedObjectsID - - type - key - - - - tooltip - Triggered when an object rezzes another object from its inventory via the llRezObject, or similar, functions. The id is the globally unique key for the object rezzed. - - on_rez - - arguments - - - StartParameter - - type - integer - - - - tooltip - Triggered whenever an object is rezzed from inventory or by another object. The start parameter is passed in from the llRezObject call, or zero if from inventory. - - remote_data - - arguments - - - EventType - - type - integer - - - - - ChannelID - - type - key - - - - MessageID - - type - key - - - - Sender - - type - string - - - - Data - - type - integer - - - - - Data - - type - string - - - - tooltip - Triggered by various XML-RPC calls with event_type specifying the type of data. - - run_time_permissions - - arguments - - - PermissionFlags - - type - integer - - - - tooltip - - Scripts need permission from either the owner or the avatar they wish to act on before they may perform certain functions, such as debiting money from their owners account, triggering an animation on an avatar, or capturing control inputs. The llRequestPermissions library function is used to request these permissions and the various permissions integer constants can be supplied. - The integer returned to this event handler contains the current set of permissions flags, so if permissions equal 0 then no permissions are set. - - - sensor - - arguments - - - NumberDetected - - type - integer - - - - tooltip - - This event is raised whenever objects matching the constraints of the llSensor command are detected. - The number of detected objects is passed to the script in the parameter. Information on those objects may be gathered via the llDetected* functions. - - - state_entry - - arguments - - tooltip - The state_entry event occurs whenever a new state is entered, including at program start, and is always the first event handled. - - state_exit - - arguments - - tooltip - The state_exit event occurs whenever the state command is used to transition to another state. It is handled before the new states state_entry event. - - timer - - arguments - - tooltip - This event is raised at regular intervals set by the llSetTimerEvent library function. - - touch - - arguments - - - NumberOfTouches - - type - integer - - - - tooltip - - This event is raised while a user is touching the object the script is attached to. - The number of touching objects is passed to the script in the parameter. - Information on those objects may be gathered via the llDetected* library functions. - - - touch_end - - arguments - - - NumberOfTouches - - type - integer - - - - tooltip - - This event is raised when a user stops touching the object the script is attached to. The number of touches is passed to the script in the parameter. - Information on those objects may be gathered via the llDetected* library functions. - - - touch_start - - arguments - - - NumberOfTouches - - type - integer - - - - tooltip - - This event is raised when a user first touches the object the script is attached to. The number of touches is passed to the script in the parameter. - Information on those objects may be gathered via the llDetected() library functions. - - - transaction_result - - arguments - - - RequestID - - type - key - - - - Success - - type - integer - - - - Message - - type - string - - - - tooltip - Triggered by llTransferMoney() function. - + ACTIVE + typeinteger + value2 + tooltipObjects running a script or physically moving + + AGENT + typeinteger + value1 + + AGENT_ALWAYS_RUN + typeinteger + value0x1000 + + AGENT_ATTACHMENTS + typeinteger + value0x2 + tooltipThe agent has attachments + + AGENT_AUTOPILOT + typeinteger + value0x2000 + + AGENT_AWAY + typeinteger + value0x40 + + AGENT_BUSY + typeinteger + value0x800 + + AGENT_BY_LEGACY_NAME + typeinteger + value1 + + AGENT_BY_USERNAME + typeinteger + value0x10 + + AGENT_CROUCHING + typeinteger + value0x400 + + AGENT_FLYING + typeinteger + value0x1 + + AGENT_IN_AIR + typeinteger + value0x100 + + AGENT_LIST_EXCLUDENPC + typeinteger + value0x4000000 + + AGENT_LIST_PARCEL + typeinteger + value1 + + AGENT_LIST_PARCEL_OWNER + typeinteger + value2 + + AGENT_LIST_REGION + typeinteger + value4 + + AGENT_MALE + typeinteger + value0x40000000 + + AGENT_MOUSELOOK + typeinteger + value0x8 + + AGENT_ON_OBJECT + typeinteger + value0x20 + + AGENT_SCRIPTED + typeinteger + value0x4 + tooltipThe agent has scripted attachments + + AGENT_SITTING + typeinteger + value0x10 + + AGENT_TYPING + typeinteger + value0x200 + + AGENT_WALKING + typeinteger + value0x80 + + ALL_SIDES + typeinteger + value-1 + + ANIM_ON + typeinteger + value1 + + ATTACH_AVATAR_CENTER + typeinteger + value40 + + ATTACH_BACK + typeinteger + value9 + + ATTACH_BELLY + typeinteger + value28 + + ATTACH_CHEST + typeinteger + value1 + + ATTACH_CHIN + typeinteger + value12 + + ATTACH_FACE_JAW + typeinteger + value47 + + ATTACH_FACE_LEAR + typeinteger + value48 + + ATTACH_FACE_LEYE + typeinteger + value50 + + ATTACH_FACE_REAR + typeinteger + value49 + + ATTACH_FACE_REYE + typeinteger + value51 + + ATTACH_FACE_TONGUE + typeinteger + value52 + + ATTACH_GROIN + typeinteger + value53 + + ATTACH_HEAD + typeinteger + value2 + + ATTACH_HIND_LFOOT + typeinteger + value54 + + ATTACH_HIND_RFOOT + typeinteger + value55 + + ATTACH_HUD_BOTTOM + typeinteger + value37 + + ATTACH_HUD_BOTTOM_LEFT + typeinteger + value36 + + ATTACH_HUD_BOTTOM_RIGHT + typeinteger + value38 + + ATTACH_HUD_CENTER_1 + typeinteger + value35 + + ATTACH_HUD_CENTER_2 + typeinteger + value31 + + ATTACH_HUD_TOP_CENTER + typeinteger + value33 + + ATTACH_HUD_TOP_LEFT + typeinteger + value34 + + ATTACH_HUD_TOP_RIGHT + typeinteger + value32 + + ATTACH_LEAR + typeinteger + value13 + + ATTACH_LEFT_PEC + typeinteger + value29 + + ATTACH_LEYE + typeinteger + value15 + + ATTACH_LFOOT + typeinteger + value7 + + ATTACH_LHAND + typeinteger + value5 + + ATTACH_LHAND_RING1 + typeinteger + value41 + + ATTACH_LHIP + typeinteger + value25 + + ATTACH_LLARM + typeinteger + value21 + + ATTACH_LLLEG + typeinteger + value27 + + ATTACH_LPEC + typeinteger + value30 + + ATTACH_LSHOULDER + typeinteger + value3 + + ATTACH_LUARM + typeinteger + value20 + + ATTACH_LULEG + typeinteger + value26 + + ATTACH_LWING + typeinteger + value45 + + ATTACH_MOUTH + typeinteger + value11 + + ATTACH_NECK + typeinteger + value39 + + ATTACH_NOSE + typeinteger + value17 + + ATTACH_PELVIS + typeinteger + value10 + + ATTACH_REAR + typeinteger + value14 + + ATTACH_REYE + typeinteger + value16 + + ATTACH_RFOOT + typeinteger + value8 + + ATTACH_RHAND + typeinteger + value6 + + ATTACH_RHAND_RING1 + typeinteger + value42 + + ATTACH_RHIP + typeinteger + value22 + + ATTACH_RIGHT_PEC + typeinteger + value30 + + ATTACH_RLARM + typeinteger + value19 + + ATTACH_RLLEG + typeinteger + value24 + + ATTACH_RPEC + typeinteger + value29 + + ATTACH_RSHOULDER + typeinteger + value4 + + ATTACH_RUARM + typeinteger + value18 + + ATTACH_RULEG + typeinteger + value23 + + ATTACH_RWING + typeinteger + value46 + + ATTACH_TAIL_BASE + typeinteger + value43 + + ATTACH_TAIL_TIP + typeinteger + value44 + + CAMERA_ACTIVE + typeinteger + value12 + + CAMERA_BEHINDNESS_ANGLE + typeinteger + value8 + + CAMERA_BEHINDNESS_LAG + typeinteger + value9 + + CAMERA_DISTANCE + typeinteger + value7 + + CAMERA_FOCUS + typeinteger + value17 + + CAMERA_FOCUS_LAG + typeinteger + value6 + + CAMERA_FOCUS_LOCKED + typeinteger + value22 + + CAMERA_FOCUS_OFFSET + typeinteger + value1 + + CAMERA_FOCUS_OFFSET_X + typeinteger + value2 + + CAMERA_FOCUS_OFFSET_Y + typeinteger + value3 + + CAMERA_FOCUS_OFFSET_Z + typeinteger + value4 + + CAMERA_FOCUS_THRESHOLD + typeinteger + value11 + + CAMERA_FOCUS_X + typeinteger + value18 + + CAMERA_FOCUS_Y + typeinteger + value19 + + CAMERA_FOCUS_Z + typeinteger + value20 + + CAMERA_PITCH + typeinteger + value0 + + CAMERA_POSITION + typeinteger + value13 + + CAMERA_POSITION_LAG + typeinteger + value5 + + CAMERA_POSITION_LOCKED + typeinteger + value21 + + CAMERA_POSITION_THRESHOLD + typeinteger + value10 + + CAMERA_POSITION_X + typeinteger + value14 + + CAMERA_POSITION_Y + typeinteger + value15 + + CAMERA_POSITION_Z + typeinteger + value16 + + CHANGED_ALLOWED_DROP + typeinteger + value64 + + CHANGED_ANIMATION + typeinteger + value16384 + + CHANGED_COLOR + typeinteger + value2 + + CHANGED_INVENTORY + typeinteger + value1 + + CHANGED_LINK + typeinteger + value32 + + CHANGED_MEDIA + typeinteger + value2048 + + CHANGED_OWNER + typeinteger + value128 + + CHANGED_POSITION + typeinteger + value32768 + + CHANGED_REGION + typeinteger + value256 + + CHANGED_REGION_RESTART + typeinteger + value1024 + + CHANGED_REGION_START + typeinteger + value1024 + + CHANGED_SCALE + typeinteger + value8 + + CHANGED_SHAPE + typeinteger + value4 + + CHANGED_TELEPORT + typeinteger + value512 + + CHANGED_TEXTURE + typeinteger + value16 + + CLICK_ACTION_BUY + typeinteger + value2 + + CLICK_ACTION_NONE + typeinteger + value0 + + CLICK_ACTION_OPEN + typeinteger + value4 + + CLICK_ACTION_OPEN_MEDIA + typeinteger + value6 + + CLICK_ACTION_PAY + typeinteger + value3 + + CLICK_ACTION_PLAY + typeinteger + value5 + + CLICK_ACTION_SIT + typeinteger + value1 + + CLICK_ACTION_TOUCH + typeinteger + value0 + + CLICK_ACTION_ZOOM + typeinteger + value7 + + CONTENT_TYPE_ATOM + typeinteger + value4 + + CONTENT_TYPE_FORM + typeinteger + value7 + + CONTENT_TYPE_HTML + typeinteger + value1 + + CONTENT_TYPE_JSON + typeinteger + value5 + + CONTENT_TYPE_LLSD + typeinteger + value6 + + CONTENT_TYPE_RSS + typeinteger + value8 + + CONTENT_TYPE_TEXT + typeinteger + value0 + + CONTENT_TYPE_XHTML + typeinteger + value3 + + CONTENT_TYPE_XML + typeinteger + value2 + + CONTROL_BACK + typeinteger + value2 + + CONTROL_DOWN + typeinteger + value32 + + CONTROL_FWD + typeinteger + value1 + + CONTROL_LBUTTON + typeinteger + value268435456 + + CONTROL_LEFT + typeinteger + value4 + + CONTROL_ML_LBUTTON + typeinteger + value1073741824 + + CONTROL_RIGHT + typeinteger + value8 + + CONTROL_ROT_LEFT + typeinteger + value256 + + CONTROL_ROT_RIGHT + typeinteger + value512 + + CONTROL_UP + typeinteger + value16 + + DATA_BORN + typeinteger + value3 + + DATA_NAME + typeinteger + value2 + + DATA_ONLINE + typeinteger + value1 + + DATA_PAYINFO + typeinteger + value8 + + DATA_RATING + typeinteger + value4 + + DATA_SIM_POS + typeinteger + value5 + + DATA_SIM_RATING + typeinteger + value7 + + DATA_SIM_RELEASE + typeinteger + value128 + + DATA_SIM_STATUS + typeinteger + value6 + + DEBUG_CHANNEL + typeinteger + value0x7FFFFFFF + + DEG_TO_RAD + typefloat + value0.01745329238 + + DENSITY + typeinteger + value1 + + EOF + typestring + value\n\n\n + + ESTATE_ACCESS_ALLOWED_AGENT_ADD + typeinteger + value0 + + ESTATE_ACCESS_ALLOWED_AGENT_REMOVE + typeinteger + value1 + + ESTATE_ACCESS_ALLOWED_GROUP_ADD + typeinteger + value2 + + ESTATE_ACCESS_ALLOWED_GROUP_REMOVE + typeinteger + value3 + + ESTATE_ACCESS_BANNED_AGENT_ADD + typeinteger + value4 + + ESTATE_ACCESS_BANNED_AGENT_REMOVE + typeinteger + value5 + + FALSE + typeinteger + value0 + + FRICTION + typeinteger + value2 + + GRAVITY_MULTIPLIER + typeinteger + value8 + + HTTP_BODY_MAXLENGTH + typeinteger + value2 + + HTTP_CUSTOM_HEADER + typeinteger + value5 + + HTTP_METHOD + typeinteger + value0 + + HTTP_MIMETYPE + typeinteger + value1 + + HTTP_PRAGMA_NO_CACHE + typeinteger + value6 + + HTTP_VERBOSE_THROTTLE + typeinteger + value4 + + HTTP_VERIFY_CERT + typeinteger + value3 + + INVENTORY_ALL + typeinteger + value-1 + + INVENTORY_ANIMATION + typeinteger + value20 + + INVENTORY_BODYPART + typeinteger + value13 + + INVENTORY_CLOTHING + typeinteger + value5 + + INVENTORY_GESTURE + typeinteger + value21 + + INVENTORY_LANDMARK + typeinteger + value3 + + INVENTORY_NONE + typeinteger + value-1 + + INVENTORY_NOTECARD + typeinteger + value7 + + INVENTORY_OBJECT + typeinteger + value6 + + INVENTORY_SCRIPT + typeinteger + value10 + + INVENTORY_SOUND + typeinteger + value1 + + INVENTORY_TEXTURE + typeinteger + value0 + + JSON_APPEND + typestring + value-1 + + JSON_ARRAY + typestring + valueU+FDD2 + + JSON_DELETE + typestring + valueU+FDD8 + + JSON_FALSE + typestring + valueU+FDD7 + + JSON_INVALID + typestring + valueU+FDD0 + + JSON_NULL + typestring + valueU+FDD5 + + JSON_NUMBER + typestring + valueU+FDD3 + + JSON_OBJECT + typestring + valueU+FDD1 + + JSON_STRING + typestring + valueU+FDD4 + + JSON_TRUE + typestring + valueU+FDD6 + + KFM_CMD_PAUSE + typeinteger + value2 + + KFM_CMD_PLAY + typeinteger + value0 + + KFM_CMD_STOP + typeinteger + value1 + + KFM_COMMAND + typeinteger + value0 + + KFM_DATA + typeinteger + value2 + + KFM_FORWARD + typeinteger + value0 + + KFM_LOOP + typeinteger + value1 + + KFM_MODE + typeinteger + value1 + + KFM_PING_PONG + typeinteger + value2 + + KFM_REVERSE + typeinteger + value3 + + KFM_ROTATION + typeinteger + value1 + + KFM_TRANSLATION + typeinteger + value2 + + LAND_LARGE_BRUSH + typeinteger + value3 + + LAND_LEVEL + typeinteger + value0 + + LAND_LOWER + typeinteger + value2 + + LAND_MEDIUM_BRUSH + typeinteger + value2 + + LAND_NOISE + typeinteger + value4 + + LAND_RAISE + typeinteger + value1 + + LAND_REVERT + typeinteger + value5 + + LAND_SMALL_BRUSH + typeinteger + value1 + + LAND_SMOOTH + typeinteger + value3 + + LINK_ALL_CHILDREN + typeinteger + value-3 + + LINK_ALL_OTHERS + typeinteger + value-2 + + LINK_ROOT + typeinteger + value1 + + LINK_SET + typeinteger + value-1 + + LINK_THIS + typeinteger + value-4 + + LIST_STAT_GEOMETRIC_MEAN + typeinteger + value9 + + LIST_STAT_HARMONIC_MEAN + typeinteger + value100 + + LIST_STAT_MAX + typeinteger + value2 + + LIST_STAT_MEAN + typeinteger + value3 + + LIST_STAT_MEDIAN + typeinteger + value4 + + LIST_STAT_MIN + typeinteger + value1 + + LIST_STAT_NUM_COUNT + typeinteger + value8 + + LIST_STAT_RANGE + typeinteger + value0 + + LIST_STAT_STD_DEV + typeinteger + value5 + + LIST_STAT_SUM + typeinteger + value6 + + LIST_STAT_SUM_SQUARES + typeinteger + value7 + + LOOP + typeinteger + value2 + + LSL_STATUS_BOUNDS_ERROR + typeinteger + value1002 + + LSL_STATUS_INTERNAL_ERROR + typeinteger + value1999 + + LSL_STATUS_MALFORMED_PARAMS + typeinteger + value1000 + + LSL_STATUS_NOT_FOUND + typeinteger + value1003 + + LSL_STATUS_NOT_SUPPORTED + typeinteger + value1004 + + LSL_STATUS_OK + typeinteger + value0 + + LSL_STATUS_TYPE_MISMATCH + typeinteger + value1001 + + LSL_STATUS_WHITELIST_FAILED + typeinteger + value2001 + + MASK_BASE + typeinteger + value0 + + MASK_EVERYONE + typeinteger + value3 + + MASK_GROUP + typeinteger + value2 + + MASK_NEXT + typeinteger + value4 + + MASK_OWNER + typeinteger + value1 + + NPC + typeinteger + value0x20 + + NULL_KEY + typestring + value00000000-0000-0000-0000-000000000000 + + OBJECT_ATTACHED_POINT + typeinteger + value19 + + OBJECT_ATTACHED_SLOTS_AVAILABLE + typeinteger + value35 + + OBJECT_BODY_SHAPE_TYPE + typeinteger + value26 + + OBJECT_CHARACTER_TIME + typeinteger + value17 + + OBJECT_CLICK_ACTION + typeinteger + value28 + + OBJECT_CREATOR + typeinteger + value8 + + OBJECT_DESC + typeinteger + value2 + + OBJECT_GROUP + typeinteger + value7 + + OBJECT_GROUP_TAG + typeinteger + value33 + + OBJECT_HOVER_HEIGHT + typeinteger + value25 + + OBJECT_LAST_OWNER_ID + typeinteger + value27 + + OBJECT_NAME + typeinteger + value1 + + OBJECT_OMEGA + typeinteger + value29 + + OBJECT_OWNER + typeinteger + value6 + + OBJECT_PATHFINDING_TYPE + typeinteger + value20 + + OBJECT_PHANTOM + typeinteger + value22 + + OBJECT_PHYSICS + typeinteger + value21 + + OBJECT_PHYSICS_COST + typeinteger + value16 + + OBJECT_POS + typeinteger + value3 + + OBJECT_PRIM_COUNT + typeinteger + value30 + + OBJECT_PRIM_EQUIVALENCE + typeinteger + value13 + + OBJECT_RENDER_WEIGHT + typeinteger + value24 + + OBJECT_REZZER_KEY + typeinteger + value32 + + OBJECT_ROOT + typeinteger + value18 + + OBJECT_ROT + typeinteger + value4 + + OBJECT_RUNNING_SCRIPT_COUNT + typeinteger + value9 + + OBJECT_SCRIPT_MEMORY + typeinteger + value11 + + OBJECT_SCRIPT_TIME + typeinteger + value12 + + OBJECT_SERVER_COST + typeinteger + value14 + + OBJECT_STREAMING_COST + typeinteger + value15 + + OBJECT_TEMP_ATTACHED + typeinteger + value34 + + OBJECT_TEMP_ON_REZ + typeinteger + value23 + + OBJECT_TOTAL_INVENTORY_COUNT + typeinteger + value31 + + OBJECT_TOTAL_SCRIPT_COUNT + typeinteger + value10 + + OBJECT_UNKNOWN_DETAIL + typeinteger + value-1 + + OBJECT_VELOCITY + typeinteger + value5 + + OPT_AVATAR + typeinteger + value1 + + OPT_CHARACTER + typeinteger + value2 + + OPT_EXCLUSION_VOLUME + typeinteger + value6 + + OPT_LEGACY_LINKSET + typeinteger + value0 + + OPT_MATERIAL_VOLUME + typeinteger + value5 + + OPT_OTHER + typeinteger + value-1 + + OPT_STATIC_OBSTACLE + typeinteger + value4 + + OPT_WALKABLE + typeinteger + value3 + + OS_ATTACH_MSG_ALL + typeinteger + value-65535 + + OS_ATTACH_MSG_INVERT_POINTS + typeinteger + value1 + + OS_ATTACH_MSG_OBJECT_CREATOR + typeinteger + value2 + + OS_ATTACH_MSG_SCRIPT_CREATOR + typeinteger + value4 + + OS_LISTEN_REGEX_MESSAGE + typeinteger + value0x2 + + OS_LISTEN_REGEX_NAME + typeinteger + value0x1 + + OS_NPC_CREATOR_OWNED + typeinteger + value0x1 + + OS_NPC_FLY + typeinteger + value0 + + OS_NPC_LAND_AT_TARGET + typeinteger + value2 + + OS_NPC_NO_FLY + typeinteger + value1 + + OS_NPC_NOT_OWNED + typeinteger + value0x2 + + OS_NPC_OBJECT_GROUP + typeinteger + value0x08 + + OS_NPC_RUNNING + typeinteger + value4 + + OS_NPC_SENSE_AS_AGENT + typeinteger + value0x4 + + OS_NPC_SIT_NOW + typeinteger + value0 + + OSTPOBJ_NONE + typeinteger + value0x0 + tooltiposTeleportObject no flags + + OSTPOBJ_SETROT + typeinteger + value0x4 + tooltiposTeleportObject flag the rotation is the final rotation, otherwise is a added rotation + + OSTPOBJ_STOPATTARGET + typeinteger + value0x1 + tooltiposTeleportObject flag stop at destination + + OSTPOBJ_STOPONFAIL + typeinteger + value0x2 + tooltiposTeleportObject flag stop at jump point if tp fails + + PARCEL_COUNT_GROUP + typeinteger + value2 + + PARCEL_COUNT_OTHER + typeinteger + value3 + + PARCEL_COUNT_OWNER + typeinteger + value1 + + PARCEL_COUNT_SELECTED + typeinteger + value4 + + PARCEL_COUNT_TEMP + typeinteger + value5 + + PARCEL_COUNT_TOTAL + typeinteger + value0 + + PARCEL_DETAILS_ANY_AVATAR_SOUNDS + typeinteger + value7 + + PARCEL_DETAILS_AREA + typeinteger + value4 + + PARCEL_DETAILS_CLAIMDATE + typeinteger + value10 + + PARCEL_DETAILS_DESC + typeinteger + value1 + + PARCEL_DETAILS_GROUP + typeinteger + value3 + + PARCEL_DETAILS_GROUP_SOUNDS + typeinteger + value8 + + PARCEL_DETAILS_ID + typeinteger + value5 + + PARCEL_DETAILS_NAME + typeinteger + value0 + + PARCEL_DETAILS_OWNER + typeinteger + value2 + + PARCEL_DETAILS_SEE_AVATARS + typeinteger + value6 + + PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY + typeinteger + value0x8000000 + + PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS + typeinteger + value0x4000000 + + PARCEL_FLAG_ALLOW_CREATE_OBJECTS + typeinteger + value0x40 + + PARCEL_FLAG_ALLOW_DAMAGE + typeinteger + value0x20 + + PARCEL_FLAG_ALLOW_FLY + typeinteger + value0x1 + + PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY + typeinteger + value0x10000000 + + PARCEL_FLAG_ALLOW_GROUP_SCRIPTS + typeinteger + value0x2000000 + + PARCEL_FLAG_ALLOW_LANDMARK + typeinteger + value0x8 + + PARCEL_FLAG_ALLOW_SCRIPTS + typeinteger + value0x2 + + PARCEL_FLAG_ALLOW_TERRAFORM + typeinteger + value0x10 + + PARCEL_FLAG_LOCAL_SOUND_ONLY + typeinteger + value0x8000 + + PARCEL_FLAG_RESTRICT_PUSHOBJECT + typeinteger + value0x200000 + + PARCEL_FLAG_USE_ACCESS_GROUP + typeinteger + value0x100 + + PARCEL_FLAG_USE_ACCESS_LIST + typeinteger + value0x200 + + PARCEL_FLAG_USE_BAN_LIST + typeinteger + value0x400 + + PARCEL_FLAG_USE_LAND_PASS_LIST + typeinteger + value0x800 + + PARCEL_MEDIA_COMMAND_AGENT + typeinteger + value7 + + PARCEL_MEDIA_COMMAND_AUTO_ALIGN + typeinteger + value9 + + PARCEL_MEDIA_COMMAND_DESC + typeinteger + value12 + + PARCEL_MEDIA_COMMAND_LOOP + typeinteger + value3 + + PARCEL_MEDIA_COMMAND_PAUSE + typeinteger + value1 + + PARCEL_MEDIA_COMMAND_PLAY + typeinteger + value2 + + PARCEL_MEDIA_COMMAND_SIZE + typeinteger + value11 + + PARCEL_MEDIA_COMMAND_STOP + typeinteger + value0 + + PARCEL_MEDIA_COMMAND_TEXTURE + typeinteger + value4 + + PARCEL_MEDIA_COMMAND_TIME + typeinteger + value6 + + PARCEL_MEDIA_COMMAND_TYPE + typeinteger + value10 + + PARCEL_MEDIA_COMMAND_UNLOAD + typeinteger + value8 + + PARCEL_MEDIA_COMMAND_URL + typeinteger + value5 + + PASSIVE + typeinteger + value4 + + PAY_DEFAULT + typeinteger + value-2 + + PAY_HIDE + typeinteger + value-1 + + PERM_ALL + typeinteger + value2147483647 + + PERM_COPY + typeinteger + value32768 + + PERM_MODIFY + typeinteger + value16384 + + PERM_MOVE + typeinteger + value524288 + + PERM_TRANSFER + typeinteger + value8192 + + PERMISSION_ATTACH + typeinteger + value32 + + PERMISSION_CHANGE_JOINTS + typeinteger + value256 + + PERMISSION_CHANGE_LINKS + typeinteger + value128 + + PERMISSION_CHANGE_PERMISSIONS + typeinteger + value512 + + PERMISSION_CONTROL_CAMERA + typeinteger + value2048 + + PERMISSION_DEBIT + typeinteger + value2 + + PERMISSION_OVERRIDE_ANIMATIONS + typeinteger + value0x8000 + + PERMISSION_RELEASE_OWNERSHIP + typeinteger + value64 + + PERMISSION_REMAP_CONTROLS + typeinteger + value8 + + PERMISSION_TAKE_CONTROLS + typeinteger + value4 + + PERMISSION_TELEPORT + typeinteger + value4096 + + PERMISSION_TRACK_CAMERA + typeinteger + value1024 + + PERMISSION_TRIGGER_ANIMATION + typeinteger + value16 + + PI + typefloat + value3.14159274 + + PI_BY_TWO + typefloat + value1.57079637 + + PING_PONG + typeinteger + value8 + + PRIM_ALLOW_UNSIT + typeinteger + value39 + + PRIM_ALPHA_MODE + typeinteger + value38 + + PRIM_ALPHA_MODE_BLEND + typeinteger + value1 + + PRIM_ALPHA_MODE_EMISSIVE + typeinteger + value3 + + PRIM_ALPHA_MODE_MASK + typeinteger + value2 + + PRIM_ALPHA_MODE_NONE + typeinteger + value0 + + PRIM_BUMP_BARK + typeinteger + value4 + + PRIM_BUMP_BLOBS + typeinteger + value12 + + PRIM_BUMP_BRICKS + typeinteger + value5 + + PRIM_BUMP_BRIGHT + typeinteger + value1 + + PRIM_BUMP_CHECKER + typeinteger + value6 + + PRIM_BUMP_CONCRETE + typeinteger + value7 + + PRIM_BUMP_DARK + typeinteger + value2 + + PRIM_BUMP_DISKS + typeinteger + value10 + + PRIM_BUMP_GRAVEL + typeinteger + value11 + + PRIM_BUMP_LARGETILE + typeinteger + value14 + + PRIM_BUMP_NONE + typeinteger + value0 + + PRIM_BUMP_SHINY + typeinteger + value19 + + PRIM_BUMP_SIDING + typeinteger + value13 + + PRIM_BUMP_STONE + typeinteger + value9 + + PRIM_BUMP_STUCCO + typeinteger + value15 + + PRIM_BUMP_SUCTION + typeinteger + value16 + + PRIM_BUMP_TILE + typeinteger + value8 + + PRIM_BUMP_WEAVE + typeinteger + value17 + + PRIM_BUMP_WOOD + typeinteger + value3 + + PRIM_CAST_SHADOWS + typeinteger + value24 + + PRIM_COLOR + typeinteger + value18 + + PRIM_DESC + typeinteger + value28 + + PRIM_FLEXIBLE + typeinteger + value21 + + PRIM_FULLBRIGHT + typeinteger + value20 + + PRIM_GLOW + typeinteger + value25 + + PRIM_HOLE_CIRCLE + typeinteger + value16 + + PRIM_HOLE_DEFAULT + typeinteger + value0 + + PRIM_HOLE_SQUARE + typeinteger + value32 + + PRIM_HOLE_TRIANGLE + typeinteger + value48 + + PRIM_LINK_TARGET + typeinteger + value34 + + PRIM_MATERIAL + typeinteger + value2 + + PRIM_MATERIAL_FLESH + typeinteger + value4 + + PRIM_MATERIAL_GLASS + typeinteger + value2 + + PRIM_MATERIAL_LIGHT + typeinteger + value7 + + PRIM_MATERIAL_METAL + typeinteger + value1 + + PRIM_MATERIAL_PLASTIC + typeinteger + value5 + + PRIM_MATERIAL_RUBBER + typeinteger + value6 + + PRIM_MATERIAL_STONE + typeinteger + value0 + + PRIM_MATERIAL_WOOD + typeinteger + value3 + + PRIM_MEDIA_ALT_IMAGE_ENABLE + typeinteger + value0 + + PRIM_MEDIA_AUTO_LOOP + typeinteger + value4 + + PRIM_MEDIA_AUTO_PLAY + typeinteger + value5 + + PRIM_MEDIA_AUTO_SCALE + typeinteger + value6 + + PRIM_MEDIA_AUTO_ZOOM + typeinteger + value7 + + PRIM_MEDIA_CONTROLS + typeinteger + value1 + + PRIM_MEDIA_CONTROLS_MINI + typeinteger + value1 + + PRIM_MEDIA_CONTROLS_STANDARD + typeinteger + value0 + + PRIM_MEDIA_CURRENT_URL + typeinteger + value2 + + PRIM_MEDIA_FIRST_CLICK_INTERACT + typeinteger + value8 + + PRIM_MEDIA_HEIGHT_PIXELS + typeinteger + value10 + + PRIM_MEDIA_HOME_URL + typeinteger + value3 + + PRIM_MEDIA_PERM_ANYONE + typeinteger + value4 + + PRIM_MEDIA_PERM_GROUP + typeinteger + value2 + + PRIM_MEDIA_PERM_NONE + typeinteger + value0 + + PRIM_MEDIA_PERM_OWNER + typeinteger + value1 + + PRIM_MEDIA_PERMS_CONTROL + typeinteger + value14 + + PRIM_MEDIA_PERMS_INTERACT + typeinteger + value13 + + PRIM_MEDIA_WHITELIST + typeinteger + value12 + + PRIM_MEDIA_WHITELIST_ENABLE + typeinteger + value11 + + PRIM_MEDIA_WIDTH_PIXELS + typeinteger + value9 + + PRIM_NAME + typeinteger + value27 + + PRIM_NORMAL + typeinteger + value37 + + PRIM_OMEGA + typeinteger + value32 + + PRIM_PHANTOM + typeinteger + value5 + + PRIM_PHYSICS + typeinteger + value3 + + PRIM_PHYSICS_MATERIAL + typeinteger + value31 + + PRIM_PHYSICS_SHAPE_CONVEX + typeinteger + value2 + + PRIM_PHYSICS_SHAPE_NONE + typeinteger + value1 + + PRIM_PHYSICS_SHAPE_PRIM + typeinteger + value0 + + PRIM_PHYSICS_SHAPE_TYPE + typeinteger + value30 + + PRIM_POINT_LIGHT + typeinteger + value23 + + PRIM_POS_LOCAL + typeinteger + value33 + + PRIM_POSITION + typeinteger + value6 + + PRIM_ROT_LOCAL + typeinteger + value29 + + PRIM_ROTATION + typeinteger + value8 + + PRIM_SCRIPTED_SIT_ONLY + typeinteger + value40 + + PRIM_SCULPT_FLAG_INVERT + typeinteger + value0x40 + + PRIM_SCULPT_FLAG_MIRROR + typeinteger + value0x80 + + PRIM_SCULPT_TYPE_CYLINDER + typeinteger + value4 + + PRIM_SCULPT_TYPE_MASK + typeinteger + value0x07 + tooltipAuxiliar to clear flags keeping scultp type + + PRIM_SCULPT_TYPE_PLANE + typeinteger + value3 + + PRIM_SCULPT_TYPE_SPHERE + typeinteger + value1 + + PRIM_SCULPT_TYPE_TORUS + typeinteger + value2 + + PRIM_SHINY_HIGH + typeinteger + value3 + + PRIM_SHINY_LOW + typeinteger + value1 + + PRIM_SHINY_MEDIUM + typeinteger + value2 + + PRIM_SHINY_NONE + typeinteger + value0 + + PRIM_SIT_TARGET + typeinteger + value41 + + PRIM_SIZE + typeinteger + value7 + + PRIM_SLICE + typeinteger + value35 + + PRIM_SPECULAR + typeinteger + value36 + + PRIM_TEMP_ON_REZ + typeinteger + value4 + + PRIM_TEXGEN + typeinteger + value22 + + PRIM_TEXGEN_DEFAULT + typeinteger + value0 + + PRIM_TEXGEN_PLANAR + typeinteger + value1 + + PRIM_TEXT + typeinteger + value26 + + PRIM_TEXTURE + typeinteger + value17 + + PRIM_TYPE + typeinteger + value9 + + PRIM_TYPE_BOX + typeinteger + value0 + + PRIM_TYPE_CYLINDER + typeinteger + value1 + + PRIM_TYPE_PRISM + typeinteger + value2 + + PRIM_TYPE_RING + typeinteger + value6 + + PRIM_TYPE_SCULPT + typeinteger + value7 + + PRIM_TYPE_SPHERE + typeinteger + value3 + + PRIM_TYPE_TORUS + typeinteger + value4 + + PRIM_TYPE_TUBE + typeinteger + value5 + + PROFILE_NONE + typeinteger + value0 + + PROFILE_SCRIPT_MEMORY + typeinteger + value1 + + PSYS_PART_BF_DEST_COLOR + typeinteger + value2 + + PSYS_PART_BF_ONE + typeinteger + value0 + + PSYS_PART_BF_ONE_MINUS_DEST_COLOR + typeinteger + value4 + + PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA + typeinteger + value9 + + PSYS_PART_BF_ONE_MINUS_SOURCE_COLOR + typeinteger + value5 + + PSYS_PART_BF_SOURCE_ALPHA + typeinteger + value7 + + PSYS_PART_BF_SOURCE_COLOR + typeinteger + value3 + + PSYS_PART_BF_ZERO + typeinteger + value1 + + PSYS_PART_BLEND_FUNC_DEST + typeinteger + value25 + + PSYS_PART_BLEND_FUNC_SOURCE + typeinteger + value24 + + PSYS_PART_BOUNCE_MASK + typeinteger + value4 + + PSYS_PART_EMISSIVE_MASK + typeinteger + value256 + + PSYS_PART_END_ALPHA + typeinteger + value4 + + PSYS_PART_END_COLOR + typeinteger + value3 + + PSYS_PART_END_GLOW + typeinteger + value27 + + PSYS_PART_END_SCALE + typeinteger + value6 + + PSYS_PART_FLAGS + typeinteger + value0 + + PSYS_PART_FOLLOW_SRC_MASK + typeinteger + value16 + + PSYS_PART_FOLLOW_VELOCITY_MASK + typeinteger + value32 + + PSYS_PART_INTERP_COLOR_MASK + typeinteger + value1 + + PSYS_PART_INTERP_SCALE_MASK + typeinteger + value2 + + PSYS_PART_MAX_AGE + typeinteger + value7 + + PSYS_PART_RIBBON_MASK + typeinteger + value1024 + + PSYS_PART_START_ALPHA + typeinteger + value2 + + PSYS_PART_START_COLOR + typeinteger + value1 + + PSYS_PART_START_GLOW + typeinteger + value26 + + PSYS_PART_START_SCALE + typeinteger + value5 + + PSYS_PART_TARGET_LINEAR_MASK + typeinteger + value128 + + PSYS_PART_TARGET_POS_MASK + typeinteger + value64 + + PSYS_PART_WIND_MASK + typeinteger + value8 + + PSYS_SRC_ACCEL + typeinteger + value8 + + PSYS_SRC_ANGLE_BEGIN + typeinteger + value22 + + PSYS_SRC_ANGLE_END + typeinteger + value23 + + PSYS_SRC_BURST_PART_COUNT + typeinteger + value15 + + PSYS_SRC_BURST_RADIUS + typeinteger + value16 + + PSYS_SRC_BURST_RATE + typeinteger + value13 + + PSYS_SRC_BURST_SPEED_MAX + typeinteger + value18 + + PSYS_SRC_BURST_SPEED_MIN + typeinteger + value17 + + PSYS_SRC_INNERANGLE + typeinteger + value10 + + PSYS_SRC_MAX_AGE + typeinteger + value19 + + PSYS_SRC_OMEGA + typeinteger + value21 + + PSYS_SRC_OUTERANGLE + typeinteger + value11 + + PSYS_SRC_PATTERN + typeinteger + value9 + + PSYS_SRC_PATTERN_ANGLE + typeinteger + value4 + + PSYS_SRC_PATTERN_ANGLE_CONE + typeinteger + value8 + + PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY + typeinteger + value16 + + PSYS_SRC_PATTERN_DROP + typeinteger + value1 + + PSYS_SRC_PATTERN_EXPLODE + typeinteger + value2 + + PSYS_SRC_TARGET_KEY + typeinteger + value20 + + PSYS_SRC_TEXTURE + typeinteger + value12 + + PUBLIC_CHANNEL + typeinteger + value0x00000000 + + RAD_TO_DEG + typefloat + value57.29578 + + RC_DATA_FLAGS + typeinteger + value2 + + RC_DETECT_PHANTOM + typeinteger + value1 + + RC_GET_LINK_NUM + typeinteger + value4 + + RC_GET_NORMAL + typeinteger + value1 + + RC_GET_ROOT_KEY + typeinteger + value2 + + RC_MAX_HITS + typeinteger + value3 + + RC_REJECT_AGENTS + typeinteger + value1 + + RC_REJECT_LAND + typeinteger + value8 + + RC_REJECT_NONPHYSICAL + typeinteger + value4 + + RC_REJECT_PHYSICAL + typeinteger + value2 + + RC_REJECT_TYPES + typeinteger + value0 + + RCERR_CAST_TIME_EXCEEDED + typeinteger + value-3 + + RCERR_SIM_PERF_LOW + typeinteger + value-2 + + RCERR_UNKNOWN + typeinteger + value-1 + + REGION_FLAG_ALLOW_DAMAGE + typeinteger + value0x1 + + REGION_FLAG_ALLOW_DIRECT_TELEPORT + typeinteger + value0x100000 + + REGION_FLAG_BLOCK_FLY + typeinteger + value0x80000 + + REGION_FLAG_BLOCK_TERRAFORM + typeinteger + value0x40 + + REGION_FLAG_DISABLE_COLLISIONS + typeinteger + value0x1000 + + REGION_FLAG_DISABLE_PHYSICS + typeinteger + value0x4000 + + REGION_FLAG_FIXED_SUN + typeinteger + value0x10 + + REGION_FLAG_RESTRICT_PUSHOBJECT + typeinteger + value0x400000 + + REGION_FLAG_SANDBOX + typeinteger + value0x100 + + REMOTE_DATA_CHANNEL + typeinteger + value1 + + REMOTE_DATA_REPLY + typeinteger + value3 + + REMOTE_DATA_REQUEST + typeinteger + value2 + + RESTITUTION + typeinteger + value4 + + REVERSE + typeinteger + value4 + + ROTATE + typeinteger + value32 + + SCALE + typeinteger + value64 + + SCRIPTED + typeinteger + value8 + + SMOOTH + typeinteger + value16 + + SQRT2 + typefloat + value1.414213538 + + STATS_ACTIVE_PRIMS + typeinteger + value7 + + STATS_ACTIVE_SCRIPTS + typeinteger + value19 + + STATS_AGENT_MS + typeinteger + value16 + + STATS_AGENT_UPDATES + typeinteger + value3 + + STATS_CHILD_AGENTS + typeinteger + value5 + + STATS_FRAME_MS + typeinteger + value8 + + STATS_IMAGE_MS + typeinteger + value11 + + STATS_IN_PACKETS_PER_SECOND + typeinteger + value13 + + STATS_NET_MS + typeinteger + value9 + + STATS_OTHER_MS + typeinteger + value12 + + STATS_OUT_PACKETS_PER_SECOND + typeinteger + value14 + + STATS_PENDING_DOWNLOADS + typeinteger + value17 + + STATS_PENDING_UPLOADS + typeinteger + value18 + + STATS_PHYSICS_FPS + typeinteger + value2 + + STATS_PHYSICS_MS + typeinteger + value10 + + STATS_ROOT_AGENTS + typeinteger + value4 + + STATS_SCRIPT_LPS + typeinteger + value20 + + STATS_SIM_FPS + typeinteger + value1 + + STATS_TIME_DILATION + typeinteger + value0 + + STATS_TOTAL_PRIMS + typeinteger + value6 + + STATS_UNACKED_BYTES + typeinteger + value15 + + STATUS_BLOCK_GRAB + typeinteger + value64 + + STATUS_BLOCK_GRAB_OBJECT + typeinteger + value1024 + + STATUS_CAST_SHADOWS + typeinteger + value512 + + STATUS_DIE_AT_EDGE + typeinteger + value128 + + STATUS_PHANTOM + typeinteger + value16 + + STATUS_PHYSICS + typeinteger + value1 + + STATUS_RETURN_AT_EDGE + typeinteger + value256 + + STATUS_ROTATE_X + typeinteger + value2 + + STATUS_ROTATE_Y + typeinteger + value4 + + STATUS_ROTATE_Z + typeinteger + value8 + + STATUS_SANDBOX + typeinteger + value32 + + STRING_TRIM + typeinteger + value3 + + STRING_TRIM_HEAD + typeinteger + value1 + + STRING_TRIM_TAIL + typeinteger + value2 + + TEXTURE_BLANK + typestring + value5748decc-f629-461c-9a36-a35a221fe21f + + TEXTURE_DEFAULT + typestring + value89556747-24cb-43ed-920b-47caed15465f + + TEXTURE_MEDIA + typestring + value8b5fec65-8d8d-9dc5-cda8-8fdf2716e361 + + TEXTURE_PLYWOOD + typestring + value89556747-24cb-43ed-920b-47caed15465f + + TEXTURE_TRANSPARENT + typestring + value8dcd4a48-2d37-4909-9f78-f7a9eb4ef903 + + TOUCH_INVALID_FACE + typeinteger + value-1 + + TOUCH_INVALID_TEXCOORD + typevector + value>-1.0,-1.0,0.0< + + TOUCH_INVALID_VECTOR + typevector + value>0,0,0< + + TRUE + typeinteger + value1 + + TWO_PI + typefloat + value6.28318548 + + TYPE_FLOAT + typeinteger + value2 + + TYPE_INTEGER + typeinteger + value1 + + TYPE_INVALID + typeinteger + value0 + + TYPE_KEY + typeinteger + value4 + + TYPE_ROTATION + typeinteger + value6 + + TYPE_STRING + typeinteger + value3 + + TYPE_VECTOR + typeinteger + value5 + + URL_REQUEST_DENIED + typestring + valueURL_REQUEST_DENIED + + URL_REQUEST_GRANTED + typestring + valueURL_REQUEST_GRANTED + + VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY + typeinteger + value32 + + VEHICLE_ANGULAR_DEFLECTION_TIMESCALE + typeinteger + value33 + + VEHICLE_ANGULAR_FRICTION_TIMESCALE + typeinteger + value17 + + VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE + typeinteger + value35 + + VEHICLE_ANGULAR_MOTOR_DIRECTION + typeinteger + value19 + + VEHICLE_ANGULAR_MOTOR_TIMESCALE + typeinteger + value34 + + VEHICLE_BANKING_EFFICIENCY + typeinteger + value38 + + VEHICLE_BANKING_MIX + typeinteger + value39 + + VEHICLE_BANKING_TIMESCALE + typeinteger + value40 + + VEHICLE_BUOYANCY + typeinteger + value27 + + VEHICLE_FLAG_CAMERA_DECOUPLED + typeinteger + value512 + + VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT + typeinteger + value16 + + VEHICLE_FLAG_HOVER_TERRAIN_ONLY + typeinteger + value8 + + VEHICLE_FLAG_HOVER_UP_ONLY + typeinteger + value32 + + VEHICLE_FLAG_HOVER_WATER_ONLY + typeinteger + value4 + + VEHICLE_FLAG_LIMIT_MOTOR_UP + typeinteger + value64 + + VEHICLE_FLAG_LIMIT_ROLL_ONLY + typeinteger + value2 + + VEHICLE_FLAG_LOCK_HOVER_HEIGHT + typeinteger + value8192 + + VEHICLE_FLAG_LOCK_ROTATION + typeinteger + value32784 + + VEHICLE_FLAG_MOUSELOOK_BANK + typeinteger + value256 + + VEHICLE_FLAG_MOUSELOOK_STEER + typeinteger + value128 + + VEHICLE_FLAG_NO_DEFLECTION + typeinteger + value16392 + + VEHICLE_FLAG_NO_DEFLECTION_UP + typeinteger + value1 + + VEHICLE_FLAG_NO_X + typeinteger + value1024 + + VEHICLE_FLAG_NO_Y + typeinteger + value2048 + + VEHICLE_FLAG_NO_Z + typeinteger + value4096 + + VEHICLE_HOVER_EFFICIENCY + typeinteger + value25 + + VEHICLE_HOVER_HEIGHT + typeinteger + value24 + + VEHICLE_HOVER_TIMESCALE + typeinteger + value26 + + VEHICLE_LINEAR_DEFLECTION_EFFICIENCY + typeinteger + value28 + + VEHICLE_LINEAR_DEFLECTION_TIMESCALE + typeinteger + value29 + + VEHICLE_LINEAR_FRICTION_TIMESCALE + typeinteger + value16 + + VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE + typeinteger + value31 + + VEHICLE_LINEAR_MOTOR_DIRECTION + typeinteger + value18 + + VEHICLE_LINEAR_MOTOR_OFFSET + typeinteger + value20 + + VEHICLE_LINEAR_MOTOR_TIMESCALE + typeinteger + value30 + + VEHICLE_RANGE_BLOCK + typeinteger + value45 + + VEHICLE_REFERENCE_FRAME + typeinteger + value44 + + VEHICLE_ROLL_FRAME + typeinteger + value46 + + VEHICLE_TYPE_AIRPLANE + typeinteger + value4 + + VEHICLE_TYPE_BALLOON + typeinteger + value5 + + VEHICLE_TYPE_BOAT + typeinteger + value3 + + VEHICLE_TYPE_CAR + typeinteger + value2 + + VEHICLE_TYPE_NONE + typeinteger + value0 + + VEHICLE_TYPE_SLED + typeinteger + value1 + + VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY + typeinteger + value36 + + VEHICLE_VERTICAL_ATTRACTION_TIMESCALE + typeinteger + value37 + + WL_AMBIENT + typeinteger + value20 + + WL_BIG_WAVE_DIRECTION + typeinteger + value9 + + WL_BLUE_DENSITY + typeinteger + value14 + + WL_BLUR_MULTIPLIER + typeinteger + value8 + + WL_CLOUD_COLOR + typeinteger + value26 + + WL_CLOUD_COVERAGE + typeinteger + value28 + + WL_CLOUD_DETAIL_XY_DENSITY + typeinteger + value30 + + WL_CLOUD_SCALE + typeinteger + value29 + + WL_CLOUD_SCROLL_X + typeinteger + value31 + + WL_CLOUD_SCROLL_X_LOCK + typeinteger + value34 + + WL_CLOUD_SCROLL_Y + typeinteger + value32 + + WL_CLOUD_SCROLL_Y_LOCK + typeinteger + value33 + + WL_CLOUD_XY_DENSITY + typeinteger + value27 + + WL_DENSITY_MULTIPLIER + typeinteger + value16 + + WL_DISTANCE_MULTIPLIER + typeinteger + value17 + + WL_DRAW_CLASSIC_CLOUDS + typeinteger + value35 + + WL_EAST_ANGLE + typeinteger + value21 + + WL_FRESNEL_OFFSET + typeinteger + value5 + + WL_FRESNEL_SCALE + typeinteger + value4 + + WL_HAZE_DENSITY + typeinteger + value15 + + WL_HAZE_HORIZON + typeinteger + value13 + + WL_HORIZON + typeinteger + value12 + + WL_LITTLE_WAVE_DIRECTION + typeinteger + value10 + + WL_MAX_ALTITUDE + typeinteger + value18 + + WL_NORMAL_MAP_TEXTURE + typeinteger + value11 + + WL_REFLECTION_WAVELET_SCALE + typeinteger + value3 + + WL_REFRACT_SCALE_ABOVE + typeinteger + value6 + + WL_REFRACT_SCALE_BELOW + typeinteger + value7 + + WL_SCENE_GAMMA + typeinteger + value24 + + WL_STAR_BRIGHTNESS + typeinteger + value25 + + WL_SUN_GLOW_FOCUS + typeinteger + value22 + + WL_SUN_GLOW_SIZE + typeinteger + value23 + + WL_SUN_MOON_COLOR + typeinteger + value19 + + WL_SUN_MOON_POSITION + typeinteger + value36 + + WL_UNDERWATER_FOG_MODIFIER + typeinteger + value2 + + WL_WATER_COLOR + typeinteger + value0 + + WL_WATER_FOG_DENSITY_EXPONENT + typeinteger + value1 + + ZERO_ROTATION + typerotation + value>0.0,0.0,0.0,1.0< + + ZERO_VECTOR + typevector + value>0.0,0.0,0.0< + - functions cmDetectedCountry - returnstring + returnkey arguments - numbertypeinteger + detectedNumbertypeinteger cmGetAgentCountry returnstring arguments - keytypestring + agentIdtypekey llAbs @@ -6688,7 +3310,7 @@ llAttachToAvatar arguments - attachmentPointtypeinteger + attachmenttypeinteger llAttachToAvatarTemp @@ -6699,14 +3321,14 @@ llAvatarOnLinkSitTarget - returnstring + returnkey arguments linknumtypeinteger llAvatarOnSitTarget - returnstring + returnkey arguments llAxes2Rot @@ -6759,15 +3381,6 @@ optionstypelist - llCastRayV3 - - returnlist - arguments - starttypevector - endtypevector - optionstypelist - - llCeil returninteger @@ -6887,7 +3500,7 @@ llDetectedKey - returnstring + returnkey arguments numbertypeinteger @@ -6908,7 +3521,7 @@ llDetectedOwner - returnstring + returnkey arguments numbertypeinteger @@ -7069,7 +3682,7 @@ llGenerateKey - returnstring + returnkey arguments llGetAccel @@ -7136,7 +3749,7 @@ returnstring arguments - animStatetypestring + anim_statetypestring llGetAttached @@ -7180,11 +3793,6 @@ facetypeinteger - llGetCreator - - returnstring - arguments - llGetDate returnstring @@ -7238,20 +3846,20 @@ returnstring arguments - request_idtypestring + request_idtypekey headertypestring llGetInventoryCreator - returnstring + returnkey arguments - itemNametypestring + itemtypestring llGetInventoryKey - returnstring + returnkey arguments nametypestring @@ -7275,7 +3883,7 @@ returninteger arguments - itemNametypestring + itemtypestring masktypeinteger @@ -7288,19 +3896,19 @@ llGetKey - returnstring + returnkey arguments llGetLandOwnerAt - returnstring + returnkey arguments postypevector llGetLinkKey - returnstring + returnkey arguments linknumtypeinteger @@ -7344,7 +3952,7 @@ returnlist arguments - linknumbertypeinteger + linknumtypeinteger rulestypelist @@ -7383,21 +3991,11 @@ returnfloat arguments - llGetMaxScaleFactor - - returnfloat - arguments - llGetMemoryLimit returninteger arguments - llGetMinScaleFactor - - returnfloat - arguments - llGetNextEmail arguments @@ -7407,7 +4005,7 @@ llGetNotecardLine - returnstring + returnkey arguments nametypestring linetypeinteger @@ -7415,7 +4013,7 @@ llGetNumberOfNotecardLines - returnstring + returnkey arguments nametypestring @@ -7476,12 +4074,12 @@ llGetOwner - returnstring + returnkey arguments llGetOwnerKey - returnstring + returnkey arguments idtypestring @@ -7537,13 +4135,16 @@ llGetPermissionsKey - returnstring + returnkey arguments llGetPhysicsMaterial returnlist - arguments + arguments + primtypekey + rulestypelist + llGetPos @@ -7681,7 +4282,7 @@ returnfloat arguments - facetypeinteger + sidetypeinteger llGetTextureScale @@ -7806,7 +4407,7 @@ llHTTPRequest - returnstring + returnkey arguments urltypestring parameterstypelist @@ -7816,7 +4417,7 @@ llHTTPResponse arguments - idtypestring + idtypekey statustypeinteger bodytypestring @@ -7825,8 +4426,8 @@ returnstring arguments - desttypestring - indextypeinteger + dsttypestring + positiontypeinteger srctypestring @@ -7886,7 +4487,7 @@ llLinkParticleSystem arguments - linknumbertypeinteger + linknumtypeinteger rulestypelist @@ -7931,7 +4532,7 @@ llList2Key - returnstring + returnkey arguments srctypelist indextypeinteger @@ -8017,7 +4618,7 @@ arguments desttypelist srctypelist - indextypeinteger + starttypeinteger llListRandomize @@ -8169,7 +4770,7 @@ arguments simnametypestring postypevector - lookAttypevector + look_attypevector llMD5String @@ -8183,9 +4784,9 @@ llMessageLinked arguments - linknumbertypeinteger + linknumtypeinteger numtypeinteger - msgtypestring + strtypestring idtypestring @@ -8220,7 +4821,7 @@ llName2Key - returnstring + returnkey arguments nametypestring @@ -8269,7 +4870,7 @@ arguments strtypestring separatorstypelist - in_spacerstypelist + spacerstypelist llParseStringKeepNulls @@ -8277,7 +4878,7 @@ returnlist arguments srctypestring - separatorstypelist + seperatorstypelist spacerstypelist @@ -8357,8 +4958,8 @@ arguments targettypestring - channeltypeinteger - msgtypestring + channelIDtypeinteger + texttypestring llReleaseCamera @@ -8424,7 +5025,7 @@ llRemoveInventory arguments - nametypestring + itemtypestring llRemoveVehicleFlags @@ -8435,7 +5036,7 @@ llRequestAgentData - returnstring + returnkey arguments idtypestring datatypeinteger @@ -8443,14 +5044,14 @@ llRequestDisplayName - returnstring + returnkey arguments idtypestring llRequestInventoryData - returnstring + returnkey arguments nametypestring @@ -8464,12 +5065,12 @@ llRequestSecureURL - returnstring + returnkey arguments llRequestSimulatorData - returnstring + returnkey arguments simulatortypestring datatypeinteger @@ -8477,12 +5078,12 @@ llRequestURL - returnstring + returnkey arguments llRequestUsername - returnstring + returnkey arguments idtypestring @@ -8490,7 +5091,7 @@ llResetAnimationOverride arguments - animStatetypestring + anim_statetypestring llResetLandBanList @@ -8519,8 +5120,8 @@ arguments inventorytypestring - postypevector - veltypevector + positiontypevector + velocitytypevector rottyperotation paramtypeinteger @@ -8553,7 +5154,7 @@ returnvector arguments - q1typerotation + rtyperotation llRot2Fwd @@ -8588,8 +5189,8 @@ returnrotation arguments - atypevector - btypevector + starttypevector + endtypevector llRotLookAt @@ -8625,7 +5226,7 @@ returninteger arguments - idtypestring + agenttypestring llSay @@ -8660,12 +5261,12 @@ llScriptProfiler arguments - flagstypeinteger + flagtypeinteger llSendRemoteData - returnstring + returnkey arguments channeltypestring desttypestring @@ -8708,7 +5309,7 @@ llSetAngularVelocity arguments - aveltypevector + angularVelocitytypevector localtypeinteger @@ -8759,7 +5360,7 @@ llSetContentType arguments - idtypestring + idtypekey typetypeinteger @@ -8795,7 +5396,7 @@ llSetInventoryPermMask arguments - itemNametypestring + itemtypestring masktypeinteger valuetypeinteger @@ -8850,7 +5451,7 @@ llSetLinkPrimitiveParamsFast arguments - linknumbertypeinteger + linknumtypeinteger rulestypelist @@ -8865,7 +5466,7 @@ llSetLinkTextureAnim arguments - linknumbertypeinteger + linknumtypeinteger modetypeinteger facetypeinteger sizextypeinteger @@ -9264,18 +5865,18 @@ arguments agenttypestring - destinationtypestring - targetPostypevector - targetLookAttypevector + simnametypestring + postypevector + lookAttypevector llTeleportAgentGlobalCoords arguments agenttypestring - global_coordstypevector - targetPostypevector - targetLookAttypevector + globaltypevector + postypevector + lookAttypevector llTeleportAgentHome @@ -9287,28 +5888,28 @@ llTextBox arguments - agenttypestring + avatartypestring messagetypestring - chatChanneltypeinteger + chat_channeltypeinteger llToLower returnstring arguments - srctypestring + sourcetypestring llToUpper returnstring arguments - srctypestring + sourcetypestring llTransferLindenDollars - returnstring + returnkey arguments destinationtypestring amounttypeinteger @@ -9431,7 +6032,7 @@ returninteger arguments rulestypelist - targettypestring + targettypekey osAdjustSoundVolume @@ -9441,14 +6042,6 @@ volumetypefloat - osAgentSaveAppearance - - returnstring - arguments - avatarIdtypestring - notecardtypestring - - osAngleBetween returnfloat @@ -9513,13 +6106,13 @@ returninteger arguments - commandtypestring + Commandtypestring osDie arguments - objectUUIDtypestring + objectUUIDtypekey osDrawEllipse @@ -9573,8 +6166,6 @@ returnstring arguments drawListtypestring - startXtypeinteger - startYtypeinteger endXtypeinteger endYtypeinteger @@ -9584,6 +6175,8 @@ returnstring arguments drawListtypestring + startXtypeinteger + startYtypeinteger endXtypeinteger endYtypeinteger @@ -9662,20 +6255,20 @@ returninteger arguments - agentIdtypestring + agentIdtypekey osForceAttachToAvatar arguments - attachmentPointtypeinteger + attachmenttypeinteger osForceAttachToAvatarFromInventory arguments itemNametypestring - attachmentPointtypeinteger + attachmenttypeinteger osForceAttachToOtherAvatarFromInventory @@ -9780,9 +6373,9 @@ osGetGender - returnstring + returnkey arguments - rawAvatarIdtypestring + rawAvatarIdtypekey osGetGridCustom @@ -9860,7 +6453,7 @@ osGetMapTexture - returnstring + returnkey arguments osGetNotecard @@ -9887,7 +6480,7 @@ returnlist arguments - avatartypestring + avatartypekey attachmentPointstypelist @@ -9912,13 +6505,13 @@ returnlist arguments - primtypestring + primtypekey rulestypelist osGetRegionMapTexture - returnstring + returnkey arguments regionNametypestring @@ -9935,7 +6528,7 @@ osGetRezzingObject - returnstring + returnkey arguments osGetScriptEngineName @@ -9985,14 +6578,14 @@ returninteger arguments - agentIdtypestring + agentIdtypekey osIsNpc returninteger arguments - npctypestring + npctypekey osIsUUID @@ -10025,17 +6618,6 @@ indextypeinteger - osListenRegex - - returninteger - arguments - channelIDtypeinteger - nametypestring - IDtypestring - msgtypestring - regexBitfieldtypeinteger - - osLoadedCreationDate returnstring @@ -10102,16 +6684,16 @@ osMessageAttachments arguments - avatartypestring + avatartypekey messagetypestring attachmentPointstypelist - optionstypeinteger + flagstypeinteger osMessageObject arguments - objectUUIDtypestring + objectUUIDtypekey messagetypestring @@ -10132,185 +6714,6 @@ ytypeinteger - osNpcCreate - - returnstring - arguments - firstnametypestring - lastnametypestring - positiontypevector - notecardtypestring - - - osNpcCreate - - returnstring - arguments - firstnametypestring - lastnametypestring - positiontypevector - notecardtypestring - optionstypeinteger - - - osNpcGetOwner - - returnstring - arguments - npctypestring - - - osNpcGetPos - - returnvector - arguments - npctypestring - - - osNpcGetRot - - returnrotation - arguments - npctypestring - - - osNpcLoadAppearance - - arguments - npctypestring - notecardtypestring - - - osNpcMoveTo - - arguments - npctypestring - postypevector - - - osNpcMoveToTarget - - arguments - npctypestring - targettypevector - optionstypeinteger - - - osNpcPlayAnimation - - arguments - npctypestring - animationtypestring - - - osNpcRemove - - arguments - npctypestring - - - osNpcSaveAppearance - - returnstring - arguments - npctypestring - notecardtypestring - - - osNpcSay - - arguments - npctypestring - messagetypestring - - - osNpcSay - - arguments - npctypestring - channeltypeinteger - messagetypestring - - - osNpcSetProfileAbout - - arguments - npctypestring - abouttypestring - - - osNpcSetProfileImage - - arguments - npctypestring - imagetypestring - - - osNpcSetRot - - arguments - npctypestring - rotationtyperotation - - - osNpcShout - - arguments - npctypestring - channeltypeinteger - messagetypestring - - - osNpcSit - - arguments - npctypestring - targettypestring - optionstypeinteger - - - osNpcStand - - arguments - npctypestring - - - osNpcStopAnimation - - arguments - npctypestring - animationtypestring - - - osNpcStopMoveToTarget - - arguments - npctypestring - - - osNpcTouch - - arguments - npcLSL_Keytypestring - object_keytypestring - link_numtypeinteger - - - osNpcWhisper - - arguments - npctypestring - channeltypeinteger - messagetypestring - - - osOwnerSaveAppearance - - returnstring - arguments - notecardtypestring - - osParcelJoin arguments @@ -10378,13 +6781,13 @@ osRegionNotice arguments - agentIDtypestring msgtypestring osRegionNotice arguments + agentIDtypekey msgtypestring @@ -10433,13 +6836,13 @@ returnfloat arguments valuetypefloat - ndigitstypeinteger + digitstypeinteger osSetContentType arguments - idtypestring + idtypekey typetypestring @@ -10454,33 +6857,6 @@ timertypeinteger - osSetDynamicTextureDataBlend - - returnstring - arguments - dynamicIDtypestring - contentTypetypestring - datatypestring - extraParamstypestring - timertypeinteger - alphatypeinteger - - - osSetDynamicTextureDataBlendFace - - returnstring - arguments - dynamicIDtypestring - contentTypetypestring - datatypestring - extraParamstypestring - blendtypeinteger - disptypeinteger - timertypeinteger - alphatypeinteger - facetypeinteger - - osSetDynamicTextureDataFace returnstring @@ -10504,33 +6880,6 @@ timertypeinteger - osSetDynamicTextureURLBlend - - returnstring - arguments - dynamicIDtypestring - contentTypetypestring - urltypestring - extraParamstypestring - timertypeinteger - alphatypeinteger - - - osSetDynamicTextureURLBlendFace - - returnstring - arguments - dynamicIDtypestring - contentTypetypestring - urltypestring - extraParamstypestring - blendtypeinteger - disptypeinteger - timertypeinteger - alphatypeinteger - facetypeinteger - - osSetEstateSunSettings arguments @@ -10558,7 +6907,7 @@ arguments avatartypestring - healratetypefloat + healthtypefloat osSetHealth @@ -10574,7 +6923,7 @@ masstypefloat centerOfMasstypevector principalInertiaScaledtypevector - lslrottyperotation + rottyperotation osSetInertiaAsBox @@ -10583,7 +6932,7 @@ masstypefloat boxSizetypevector centerOfMasstypevector - lslrottyperotation + rottyperotation osSetInertiaAsCylinder @@ -10671,15 +7020,16 @@ osSetPrimitiveParams arguments - primtypestring + primtypekey rulestypelist osSetProjectionParams arguments + primtypekey projectiontypeinteger - texturetypestring + texturetypekey fovtypefloat focustypefloat ambtypefloat @@ -10688,9 +7038,8 @@ osSetProjectionParams arguments - primtypestring projectiontypeinteger - texturetypestring + texturetypekey fovtypefloat focustypefloat ambtypefloat @@ -10710,13 +7059,6 @@ heighttypefloat - osSetRot - - arguments - targettype - rotationtyperotation - - osSetSoundRadius arguments @@ -10727,7 +7069,7 @@ osSetSpeed arguments - IDtypestring + UUIDtypestring SpeedModifiertypefloat @@ -10757,7 +7099,7 @@ arguments leveltypeinteger - texturetypestring + texturetypekey osSetTerrainTextureHeight @@ -10808,8 +7150,8 @@ arguments agenttypestring - regionGridXtypeinteger - regionGridYtypeinteger + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector @@ -10827,15 +7169,16 @@ returninteger arguments - objectUUIDtypestring + objectUUIDtypekey targetPostypevector - rotationtyperotation + targetrotationtyperotation flagstypeinteger osTeleportOwner arguments + regionNametypestring positiontypevector lookattypevector @@ -10843,7 +7186,6 @@ osTeleportOwner arguments - regionNametypestring positiontypevector lookattypevector @@ -10851,8 +7193,8 @@ osTeleportOwner arguments - regionGridXtypeinteger - regionGridYtypeinteger + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector @@ -10860,6 +7202,7 @@ osTerrainFlush arguments + tooltipSend terrain to all agents osTerrainGetHeight @@ -10886,16 +7229,6 @@ volumetypefloat - osTriggerSoundLimited - - arguments - linknumtypeinteger - soundtypestring - volumetypefloat - top_north_easttypevector - bottom_south_westtypevector - - osUnixTimeToTimestamp returnstring -- cgit v1.1 From a1d132d3ca29eee50de3d77387e8079642fbafdb Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 25 Oct 2018 02:36:36 +0100 Subject: let the syntax file include its id again --- bin/ScriptSyntax.xml | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index 41b669d..78b1a39 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,3 +1,4 @@ +a6ccf55f-ded5-9093-571c-478cadca66de llsd-lsl-syntax-version2 controls -- cgit v1.1 From 292a9c9cd7e7d0da65c6395f435e5e57e528dc57 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 30 Oct 2018 23:24:59 +0000 Subject: update httpserver.dll --- bin/HttpServer_OpenSim.dll | Bin 120320 -> 120320 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 4d6819e..7a462cd 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ -- cgit v1.1 From 6ea394467d6eed0e11958b19c17924b7bb3e557f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 6 Nov 2018 15:09:49 +0000 Subject: if viewer asks for range reply in same format even if its full data --- bin/OpenSimDefaults.ini | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 6429faf..23f96d5 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -57,16 +57,8 @@ ; ## ; Sets the method that OpenSim will use to fire asynchronous - ; events. Valid values are UnsafeQueueUserWorkItem, - ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread. - ; - ; SmartThreadPool is reported to work well on Mono/Linux, but - ; UnsafeQueueUserWorkItem has been benchmarked with better - ; performance on .NET/Windows - ; - ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security - ; privileges. However, as calling code is trusted anyway this is safe (if you set - ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons). + ; events. Valid values are , + ; QueueUserWorkItem, SmartThreadPool, and Thread. async_call_method = SmartThreadPool ; Max threads to allocate on the FireAndForget thread pool -- cgit v1.1 From 31e49a7ab39c9d2ef6081215bb120d45c378276c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 8 Nov 2018 01:14:32 +0000 Subject: update ini files comments on InterestManagement --- bin/OpenSim.ini.example | 13 ++++++++----- bin/OpenSimDefaults.ini | 11 +++++++---- 2 files changed, 15 insertions(+), 9 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index b2299f9..67bbb79 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1176,14 +1176,17 @@ [InterestManagement] - ;# {UpdatePrioritizationScheme} {} {Update prioritization scheme?} {BestAvatarResponsiveness Time Distance SimpleAngularDistance FrontBack} BestAvatarResponsiveness ;; This section controls how state updates are prioritized for each client - ;; Valid values are BestAvatarResponsiveness, Time, Distance, - ;; SimpleAngularDistance, FrontBack + + ;# {UpdatePrioritizationScheme} {} {Update prioritization scheme?} {BestAvatarResponsiveness SimpleAngularDistance} BestAvatarResponsiveness + ;; Valid values are BestAvatarResponsiveness and SimpleAngularDistance + ;; SimpleAngularDistance does use more cpu ; UpdatePrioritizationScheme = BestAvatarResponsiveness - ; TEST OPTION KEEP AS FALSE - ; if true, don't send object updates if outside view range + ;; ObjectsCullingByDistance, if true, don't send object updates if outside view range + ;; currently viewers are also told to delete objects that leave view range + ;; only avater position is considered, free camera may not see objects + ;; does increase cpu load ; ObjectsCullingByDistance = false [MediaOnAPrim] diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 23f96d5..da934c1 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -2098,16 +2098,19 @@ [InterestManagement] ; This section controls how state updates are prioritized for each client - ; Valid values are BestAvatarResponsiveness, Time, Distance, - ; SimpleAngularDistance, and FrontBack + + ; UpdatePrioritizationScheme valid values are BestAvatarResponsiveness and SimpleAngularDistance + ; SimpleAngularDistance does use more cpu UpdatePrioritizationScheme = BestAvatarResponsiveness ReprioritizationEnabled = true ReprioritizationInterval = 2000.0 RootReprioritizationDistance = 10.0 ChildReprioritizationDistance = 20.0 - ; TEST OPTION KEEP AS FALSE - ; if true, don't send object updates if outside view range + ; ObjectsCullingByDistance, if true, don't send object updates if outside view range + ; currently viewers are also told to delete objects that leave view range + ; only avater position is considered, free camera may not see objects + ; does increase cpu load ObjectsCullingByDistance = false ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region -- cgit v1.1 From 9185d397df9526ed6218fccddb68a5331927e2a9 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 10 Nov 2018 21:00:04 +0000 Subject: add a bit more things to ScriptSyntax, change a few more incoerent lsl types in function arguments --- bin/ScriptSyntax.xml | 47 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 13 deletions(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index 78b1a39..8e89834 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,4 +1,4 @@ -a6ccf55f-ded5-9093-571c-478cadca66de +21c53711-f48d-a201-a7f0-8cb35768e7e2 llsd-lsl-syntax-version2 controls @@ -67,7 +67,7 @@ a6ccf55f-ded5-9093-571c-478cadca66de rotation tooltip - The rotation as quaternion <x, y, z, s> + A rotation as quaternion <x, y, z, s> string @@ -77,7 +77,7 @@ a6ccf55f-ded5-9093-571c-478cadca66de vector tooltip - A vector <x, y, z, s> + A vector <x, y, z> events @@ -370,7 +370,7 @@ a6ccf55f-ded5-9093-571c-478cadca66de AGENT_LIST_PARCEL typeinteger - value1 + value0x1 AGENT_LIST_PARCEL_OWNER typeinteger @@ -744,6 +744,7 @@ a6ccf55f-ded5-9093-571c-478cadca66de CHANGED_ANIMATION typeinteger value16384 + tooltipopensim specific CHANGED_COLOR typeinteger @@ -768,6 +769,7 @@ a6ccf55f-ded5-9093-571c-478cadca66de CHANGED_POSITION typeinteger value32768 + tooltipopensim specific CHANGED_REGION typeinteger @@ -1472,34 +1474,42 @@ a6ccf55f-ded5-9093-571c-478cadca66de OPT_AVATAR typeinteger value1 + tooltipnot supported OPT_CHARACTER typeinteger value2 + tooltipnot supported OPT_EXCLUSION_VOLUME typeinteger value6 + tooltipnot supported OPT_LEGACY_LINKSET typeinteger value0 + tooltipnot supported OPT_MATERIAL_VOLUME typeinteger value5 + tooltipnot supported OPT_OTHER typeinteger value-1 + tooltipnot supported OPT_STATIC_OBSTACLE typeinteger value4 + tooltipnot supported OPT_WALKABLE typeinteger value3 + tooltipnot supported OS_ATTACH_MSG_ALL typeinteger @@ -1569,17 +1579,17 @@ a6ccf55f-ded5-9093-571c-478cadca66de OSTPOBJ_SETROT typeinteger value0x4 - tooltiposTeleportObject flag the rotation is the final rotation, otherwise is a added rotation + tooltiposTeleportObject flag: the rotation is the final rotation, otherwise is a added rotation OSTPOBJ_STOPATTARGET typeinteger value0x1 - tooltiposTeleportObject flag stop at destination + tooltiposTeleportObject flag: stop at destination OSTPOBJ_STOPONFAIL typeinteger value0x2 - tooltiposTeleportObject flag stop at jump point if tp fails + tooltiposTeleportObject flag: stop at jump point if tp fails PARCEL_COUNT_GROUP typeinteger @@ -1860,6 +1870,7 @@ a6ccf55f-ded5-9093-571c-478cadca66de PRIM_ALLOW_UNSIT typeinteger value39 + tooltipnot supported PRIM_ALPHA_MODE typeinteger @@ -1960,6 +1971,7 @@ a6ccf55f-ded5-9093-571c-478cadca66de PRIM_CAST_SHADOWS typeinteger value24 + tooltipnot supported PRIM_COLOR typeinteger @@ -2184,6 +2196,7 @@ a6ccf55f-ded5-9093-571c-478cadca66de PRIM_SCRIPTED_SIT_ONLY typeinteger value40 + tooltipnot supported PRIM_SCULPT_FLAG_INVERT typeinteger @@ -3235,7 +3248,7 @@ a6ccf55f-ded5-9093-571c-478cadca66de returninteger arguments - itypeinteger + valtypeinteger llAcos @@ -3248,22 +3261,25 @@ a6ccf55f-ded5-9093-571c-478cadca66de llAddToLandBanList arguments - avatartypestring + avatarIdtypekey hourstypefloat + tooltipSleep 0.1 llAddToLandPassList arguments - avatartypestring + avatarIdtypekey hourstypefloat + tooltipSleep 0.1 llAdjustSoundVolume arguments volumetypefloat + tooltipSleep 0.1 llAllowInventoryDrop @@ -3407,12 +3423,14 @@ a6ccf55f-ded5-9093-571c-478cadca66de arguments facetypeinteger + tooltipSleep 0.1 llCloseRemoteDataChannel arguments channeltypestring + tooltipSleep 1.0 llCloud @@ -3441,6 +3459,7 @@ a6ccf55f-ded5-9093-571c-478cadca66de arguments impact_spritetypestring + tooltipNot Supported - does nothing llCos @@ -3452,9 +3471,10 @@ a6ccf55f-ded5-9093-571c-478cadca66de llCreateLink arguments - targettypestring + targetIdtypestring parenttypeinteger + tooltipSleep 1.0 llCSV2List @@ -3600,7 +3620,7 @@ a6ccf55f-ded5-9093-571c-478cadca66de llDialog arguments - avatartypestring + avatarIdtypekey messagetypestring buttonstypelist chat_channeltypeinteger @@ -3629,8 +3649,9 @@ a6ccf55f-ded5-9093-571c-478cadca66de llEjectFromLand arguments - pesttypestring + avatarIdtypekey + tooltipSleep 1.0 llEmail -- cgit v1.1 From 06fef1569b2a861f86f62a5a53885167b1d95241 Mon Sep 17 00:00:00 2001 From: Kevin Cozens Date: Wed, 14 Nov 2018 13:37:44 -0500 Subject: De-tabified OpenSim.ini and made trivial fixes to two comments. --- bin/OpenSim.ini.example | 124 ++++++++++++++++++++++++------------------------ 1 file changed, 62 insertions(+), 62 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 67bbb79..2c3ad63 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -46,8 +46,8 @@ [Const] - ; this section defines constants for grid services - ; to simplify other configuration files default settings + ; this section defines constants for grid services + ; to simplify other configuration files default settings ;# {BaseHostname} {} {BaseHostname} {"example.com" "127.0.0.1"} "127.0.0.1" BaseHostname = "127.0.0.1" @@ -58,7 +58,7 @@ ;# {PublicPort} {} {PublicPort} {8002 9000} "8002" PublicPort = "8002" - ;grid default private port 8003, not used in standalone + ;grid default private port 8003, not used in standalone ;# {PrivatePort} {} {PrivatePort} {8003} "8003" ; port to access private grid services. ; grids that run all their regions should deny access to this port @@ -90,7 +90,7 @@ ;# {ConsoleHistoryTimeStamp} {} {Time stamp commands in history file} {} false ;; Time stamp commands in history file (default false) ; ConsoleHistoryTimeStamp = false - + ;# {save_crashes} {} {Save crashes to disk?} {true false} false ;; Set this to true if you want to log crashes to disk ;; this can be useful when submitting bug reports. @@ -242,7 +242,7 @@ ;; Default is Meshmerizer ; meshing = Meshmerizer ; meshing = ZeroMesher - ;; select ubODEMeshmerizer only with ubOde physics engine + ;; select ubODEMeshmerizer only with ubOde physics engine ; meshing = ubODEMeshmerizer ;; Choose one of the physics engines below @@ -257,8 +257,8 @@ ; physics = BulletSim ; physics = basicphysics ; physics = POS - ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also - ; physics = ubODE + ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also + ; physics = ubODE ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions @@ -269,7 +269,7 @@ ; DefaultScriptEngine = "XEngine" ;; ***DANGER***DANGER*** ;; experimental engine - ;; see section [YEngine} below + ;; see section [YEngine] below ; DefaultScriptEngine = "YEngine" ;# {HttpProxy} {} {Proxy URL for llHTTPRequest and dynamic texture loading} {} http://proxy.com:8080 @@ -304,7 +304,7 @@ ;; default is false ; TelehubAllowLandmark = false - + ;; SSL certificate validation options ;; you can allow selfsigned certificates or no official CA with next option set to true ;# {NoVerifyCertChain} {} {do not verify SSL Cert Chain} {true false} true @@ -335,7 +335,7 @@ ;; - "Imprudence" has no access ;; - "Imprudence 1.3" has no access ;; - "Imprudence 1.3.1" has access - ;; + ;; ; DeniedClients = "" @@ -522,39 +522,39 @@ ;; the region ports use UDP. ; http_listener_port = 9000 - ; optional main server secure http (ssl) - ; to use ssl you need a ssl certificate in PKCS12 format that validates the ExternalHostnames - ; or their domains - ; some viewers by default only accept certificates signed by a oficial CA - ; to use others like self signed certificates with those viewers, - ; their debug option NoVerifySSLCert needs to be set true, You need to inform users about this - ; the main unsecure port will still open for some services. this may change in future. - - ; set http_listener_ssl to enable main server ssl. it will replace unsecure port on most functions - ;# {http_listener_ssl}{} {enable main server ssl port)} {} false + ; optional main server secure http (ssl) + ; to use ssl you need a ssl certificate in PKCS12 format that validates the ExternalHostnames + ; or their domains + ; some viewers by default only accept certificates signed by a oficial CA + ; to use others like self signed certificates with those viewers, + ; their debug option NoVerifySSLCert needs to be set true, You need to inform users about this + ; the main unsecure port will still open for some services. this may change in future. + + ; set http_listener_ssl to enable main server ssl. it will replace unsecure port on most functions + ;# {http_listener_ssl}{} {enable main server ssl port)} {} false ;http_listener_ssl = false - - ; Set port for main SSL connections - ;# {http_listener_sslport}{} {main server ssl port)} {} 9001 + + ; Set port for main SSL connections + ;# {http_listener_sslport}{} {main server ssl port)} {} 9001 ;http_listener_sslport = 9001 ; - - ; currently if using ssl, regions ExternalHostName must the the same and equal to http_listener_cn - ; this may be removed in future - ;# {http_listener_cn}{} {main server ssl externalHostName)} {} "" + + ; currently if using ssl, regions ExternalHostName must the the same and equal to http_listener_cn + ; this may be removed in future + ;# {http_listener_cn}{} {main server ssl externalHostName)} {} "" ;http_listener_cn = "myRegionsExternalHostName" - ; the path for the certificate path - ;# {http_listener_cert_path}{} {main server ssl certificate file path)} {} "" + ; the path for the certificate path + ;# {http_listener_cert_path}{} {main server ssl certificate file path)} {} "" ;http_listener_cert_path = "mycert.p12" - - ;# {http_listener_cert_pass}{} {main server ssl certificate password)} {} "" - ;http_listener_cert_pass = "mycertpass" ; the cert passwork - + + ;# {http_listener_cert_pass}{} {main server ssl certificate password)} {} "" + ;http_listener_cert_pass = "mycertpass" ; the cert passwork + ; By default, OpenSimulator does not allow scripts to make HTTP calls to addresses on the simulator's LAN. ; See the OutboundDisallowForUserScripts parameter in OpenSimDefaults.ini for more information on this filter. ; If you need to allow scripts to make some LAN calls use the OutboundDisallowForUserScriptsExcept parameter below. ; We recommend that you do not override OutboundDisallowForUserScripts directly unless you are very sure about what you're doing. - ; this HTTP calls can also use ssl see opensimDefaults.ini + ; this HTTP calls can also use ssl see opensimDefaults.ini ; ; You can whitelist individual endpoints by IP or FQDN, e.g. ; @@ -707,10 +707,10 @@ ;DisableInterRegionTeleportCancellation = false ;# {LandingPointBehavior} {} {How to honor landing points and telehubs for gods.} {LandingPointBehavior_OS LandingPointBehavior_SL} LandingPointBehavior_OS - ;; This option exists to control the behavior of teleporting gods into places that have landing points - ;; and telehubs. Historically, there has been a difference: OpenSim (OS) has honored landing points and telehubs even for - ;; avatars with god permissions; SL lets gods land wherever they want. - ;LandingPointBehavior = LandingPointBehavior_OS + ;; This option exists to control the behavior of teleporting gods into places that have landing points + ;; and telehubs. Historically, there has been a difference: OpenSim (OS) has honored landing points and telehubs even for + ;; avatars with god permissions; SL lets gods land wherever they want. + ;LandingPointBehavior = LandingPointBehavior_OS [Messaging] ;# {OfflineMessageModule} {} {Module to use for offline message storage} {OfflineMessageModule "Offline Message Module V2" *} @@ -729,9 +729,9 @@ ;; For standalones, this is the storage dll. ; StorageProvider = OpenSim.Data.MySQL.dll - ; Mute list handler + ; Mute list handler ;# {MuteListModule} {MuteListModule:MuteListModule} {} {} None - ; Disabled by default + ; Disabled by default ; MuteListModule = MuteListModule ;; Control whether group invites and notices are stored for offline users. @@ -949,8 +949,8 @@ ;; Time a thread must be idle (in seconds) before it dies ; IdleTimeout = 60 - ;; llSetTimerEvent minimum value. Default 0.5s, 0.05s whould be more resonable - ; MinTimerInterval = 0.5 + ;; llSetTimerEvent minimum value. Default 0.5s, 0.05s whould be more resonable + ; MinTimerInterval = 0.5 ;# {Priority} {Enabled:true} {Priority for script engine threads?} {Lowest BelowNormal Normal AboveNormal Highest} BelowNormal ;; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", @@ -977,7 +977,7 @@ ;; at this time some mono versions seem to have problems with the true option ;; so default is now false until a fix is found, to simply life of less technical skilled users. ;; this should only be a issue if regions stay alive for a long time with lots of scripts added or edited. - AppDomainLoading = false + AppDomainLoading = false ;; Controls whether scripts are stopped by aborting their threads externally (abort) or by co-operative checks from the compiled script (co-op) ;; co-op will be more stable but this option is currently experimental. @@ -1163,7 +1163,7 @@ ; Applies Flotsam Group only. V2 has this always on, no other option ; MessageOnlineUsersOnly = false - ;; This makes the Group module very chatty on the console. + ;; This makes the Groups module very chatty on the console. ; DebugEnabled = false ; This makes the Group Messaging module very chatty on the console. @@ -1177,17 +1177,17 @@ [InterestManagement] ;; This section controls how state updates are prioritized for each client - + ;# {UpdatePrioritizationScheme} {} {Update prioritization scheme?} {BestAvatarResponsiveness SimpleAngularDistance} BestAvatarResponsiveness ;; Valid values are BestAvatarResponsiveness and SimpleAngularDistance - ;; SimpleAngularDistance does use more cpu + ;; SimpleAngularDistance does use more cpu ; UpdatePrioritizationScheme = BestAvatarResponsiveness - ;; ObjectsCullingByDistance, if true, don't send object updates if outside view range - ;; currently viewers are also told to delete objects that leave view range - ;; only avater position is considered, free camera may not see objects - ;; does increase cpu load - ; ObjectsCullingByDistance = false + ;; ObjectsCullingByDistance, if true, don't send object updates if outside view range + ;; currently viewers are also told to delete objects that leave view range + ;; only avater position is considered, free camera may not see objects + ;; does increase cpu load + ; ObjectsCullingByDistance = false [MediaOnAPrim] ;# {Enabled} {} {Enable Media-on-a-Prim (MOAP)} {true false} true @@ -1199,22 +1199,22 @@ ;# {Enabled} {} {Enable Non Player Character (NPC) facilities} {true false} false ; Enabled = false - ;; several options to control NPCs creation + ;; several options to control NPCs creation ;# {AllowNotOwned} {} {allow NPCs to be created not Owned} {true false} true - ;; allow NPCs to be created not Owned {true false} default: true + ;; allow NPCs to be created not Owned {true false} default: true ; AllowNotOwned = true ;# {AllowSenseAsAvatar} {} {allow NPCs to set to be sensed as Avatars} {true false} true - ;; allow NPCs to set to be sensed as Avatars {true false} default: true + ;; allow NPCs to set to be sensed as Avatars {true false} default: true ; AllowSenseAsAvatar = true ;# {AllowCloneOtherAvatars} {} {allow NPCs to created cloning any avatar in region} {true false} true - ;; allow NPCs to created cloning any avatar in region {true false} default: true + ;; allow NPCs to created cloning any avatar in region {true false} default: true ; AllowCloneOtherAvatars = true ;# {NoNPCGroup} {} {if true NPCs will have no group title, if false display "- NPC -"} {true false} true - ;; if true NPCs will have no group title, if false display "- NPC -" for easy identification {true false} default: true + ;; if true NPCs will have no group title, if false display "- NPC -" for easy identification {true false} default: true ; NoNPCGroup = true @@ -1223,8 +1223,8 @@ ; InitialTerrain = "pinhead-island" [LandManagement] - ;; set this to false to not display parcel ban lines - ;ShowParcelBansLines = true + ;; set this to false to not display parcel ban lines + ;ShowParcelBansLines = true [UserProfiles] ;# {ProfileServiceURL} {} {Set url to UserProfilesService} {} @@ -1248,9 +1248,9 @@ ;; Uncomment and customize appropriately if you want this behavior. ;; ;[GodNames] -; Enabled = false -; FullNames = "Test User, Foo Bar" -; Surnames = "Kryztlsk" +; Enabled = false +; FullNames = "Test User, Foo Bar" +; Surnames = "Kryztlsk" [Architecture] ;# {Include-Architecture} {} {Choose one of the following architectures} {config-include/Standalone.ini config-include/StandaloneHypergrid.ini config-include/Grid.ini config-include/GridHypergrid.ini config-include/SimianGrid.ini config-include/HyperSimianGrid.ini} config-include/Standalone.ini @@ -1264,7 +1264,7 @@ ;; "config-include/StandaloneCommon.ini.example" to "config-include/StandaloneCommon.ini" before ;; editing it to set the database and backend services that OpenSim will use. ;; - Include-Architecture = "config-include/Standalone.ini" + Include-Architecture = "config-include/Standalone.ini" ; Include-Architecture = "config-include/StandaloneHypergrid.ini" ; Include-Architecture = "config-include/Grid.ini" ; Include-Architecture = "config-include/GridHypergrid.ini" -- cgit v1.1 From 9234613ed528a24c36b6657221744ce72052112c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 15 Nov 2018 20:49:15 +0000 Subject: update script syntax --- bin/ScriptSyntax.xml | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index 8e89834..9f48561 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,4 +1,4 @@ -21c53711-f48d-a201-a7f0-8cb35768e7e2 +065ac300-52fe-3cd0-f691-1896f6d48c67 llsd-lsl-syntax-version2 controls @@ -3230,20 +3230,6 @@ functions - cmDetectedCountry - - returnkey - arguments - detectedNumbertypeinteger - - - cmGetAgentCountry - - returnstring - arguments - agentIdtypekey - - llAbs returninteger @@ -6054,7 +6040,7 @@ returninteger arguments rulestypelist - targettypekey + targetIdtypekey osAdjustSoundVolume @@ -6131,6 +6117,13 @@ Commandtypestring + osDetectedCountry + + returnstring + arguments + numbertypeinteger + + osDie arguments @@ -6188,6 +6181,8 @@ returnstring arguments drawListtypestring + startXtypeinteger + startYtypeinteger endXtypeinteger endYtypeinteger @@ -6197,8 +6192,6 @@ returnstring arguments drawListtypestring - startXtypeinteger - startYtypeinteger endXtypeinteger endYtypeinteger @@ -6337,13 +6330,13 @@ arguments avatartypestring + targettypestring osForceOtherSit arguments avatartypestring - targettypestring osFormatString @@ -6354,6 +6347,13 @@ stringstypelist + osGetAgentCountry + + returnstring + arguments + agentIdtypekey + + osGetAgentIP returnstring @@ -7164,6 +7164,8 @@ arguments agenttypestring + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector @@ -7172,8 +7174,6 @@ arguments agenttypestring - regionXtypeinteger - regionYtypeinteger positiontypevector lookattypevector @@ -7200,7 +7200,8 @@ osTeleportOwner arguments - regionNametypestring + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector @@ -7208,6 +7209,7 @@ osTeleportOwner arguments + regionNametypestring positiontypevector lookattypevector @@ -7215,8 +7217,6 @@ osTeleportOwner arguments - regionXtypeinteger - regionYtypeinteger positiontypevector lookattypevector -- cgit v1.1 From 5b2fab99a620e3e002b1f3f4328d14e9522eafa2 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 18 Nov 2018 19:45:22 +0000 Subject: update osslEnable --- bin/config-include/osslEnable.ini | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 8524a55..e74817b 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -128,7 +128,9 @@ ; ThreatLevel Moderate Allow_osDropAttachment = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osDetectedCountry = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osDropAttachmentAt = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetAgentCountry = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetGridCustom = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetGridGatekeeperURI = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetGridHomeURI = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER @@ -254,7 +256,6 @@ ; Allow_osGetDrawStringSize = true ; Allow_osIsNpc = true ; Allow_osIsUUID = true -; Allow_osList2Double = true ; Allow_osLoopSound = true ; Allow_osLoopSoundMaster = true ; Allow_osLoopSoundSlave = true -- cgit v1.1 From 5f2a76437e5d1e6b4221fb393a10ae0c19a9e960 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 18 Nov 2018 22:45:53 +0000 Subject: update script syntax --- bin/ScriptSyntax.xml | 129 ++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 107 insertions(+), 22 deletions(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index 9f48561..77c49c2 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,4 +1,4 @@ -065ac300-52fe-3cd0-f691-1896f6d48c67 +9e55237f-19be-984f-6bdc-a8fd07eb2447 llsd-lsl-syntax-version2 controls @@ -4045,7 +4045,7 @@ returnlist arguments - idtypestring + objectIdtypekey argstypelist @@ -4053,7 +4053,7 @@ returnfloat arguments - idtypestring + objectIdtypekey llGetObjectName @@ -4072,7 +4072,7 @@ returninteger arguments - object_idtypestring + objectIdtypekey llGetOmega @@ -6181,8 +6181,6 @@ returnstring arguments drawListtypestring - startXtypeinteger - startYtypeinteger endXtypeinteger endYtypeinteger @@ -6192,6 +6190,8 @@ returnstring arguments drawListtypestring + startXtypeinteger + startYtypeinteger endXtypeinteger endYtypeinteger @@ -6330,13 +6330,13 @@ arguments avatartypestring - targettypestring osForceOtherSit arguments avatartypestring + targettypestring osFormatString @@ -6632,14 +6632,6 @@ alerttypestring - osList2Double - - returnfloat - arguments - srctypelist - indextypeinteger - - osLoadedCreationDate returnstring @@ -6818,7 +6810,6 @@ returninteger arguments secondstypefloat - msgtypestring osRegionRestart @@ -6826,6 +6817,7 @@ returninteger arguments secondstypefloat + msgtypestring osReplaceString @@ -7146,6 +7138,99 @@ linknumtypeinteger + osStringEndsWith + + returninteger + arguments + srctypestring + valuetypestring + ignorecasetypeinteger + + + osStringIndexOf + + returninteger + arguments + srctypestring + valuetypestring + ignorecasetypeinteger + + + osStringIndexOf + + returninteger + arguments + srctypestring + valuetypestring + starttypeinteger + counttypeinteger + ignorecasetypeinteger + + + osStringLastIndexOf + + returninteger + arguments + srctypestring + valuetypestring + ignorecasetypeinteger + + + osStringLastIndexOf + + returninteger + arguments + srctypestring + valuetypestring + starttypeinteger + counttypeinteger + ignorecasetypeinteger + + + osStringRemove + + returnstring + arguments + srctypestring + starttypeinteger + counttypeinteger + + + osStringReplace + + returnstring + arguments + srctypestring + oldvaluetypestring + newvaluetypestring + + + osStringStartsWith + + returninteger + arguments + srctypestring + valuetypestring + ignorecasetypeinteger + + + osStringSubString + + returnstring + arguments + srctypestring + starttypeinteger + lengthtypeinteger + + + osStringSubString + + returnstring + arguments + srctypestring + starttypeinteger + + osSunGetParam returnfloat @@ -7164,8 +7249,7 @@ arguments agenttypestring - regionXtypeinteger - regionYtypeinteger + regionNametypestring positiontypevector lookattypevector @@ -7182,7 +7266,8 @@ arguments agenttypestring - regionNametypestring + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector @@ -7200,8 +7285,7 @@ osTeleportOwner arguments - regionXtypeinteger - regionYtypeinteger + regionNametypestring positiontypevector lookattypevector @@ -7209,7 +7293,8 @@ osTeleportOwner arguments - regionNametypestring + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector -- cgit v1.1 From 2fb82f84d24d39c465b748d1e1500ad84206b630 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 18 Nov 2018 23:35:16 +0000 Subject: update osslEnable --- bin/config-include/osslEnable.ini | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index e74817b..1658163 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -277,6 +277,16 @@ ; Allow_osSetPenSize = true ; Allow_osSetSoundRadius = true ; Allow_osStopSound = true +; Allow_osStringSubString = true +; Allow_osStringSubString = true +; Allow_osStringStartsWith = true +; Allow_osStringEndsWith = true +; Allow_osStringIndexOf = true +; Allow_osStringIndexOf = true +; Allow_osStringLastIndexOf = true +; Allow_osStringLastIndexOf = true +; Allow_osStringRemove = true +; Allow_osStringReplace = true ; Allow_osTriggerSound = true ; Allow_osTriggerSoundLimited = true ; Allow_osVecDistSquare = true -- cgit v1.1 From 8474af04e15c3e619c4559b2e06bc89242dd665e Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 19 Nov 2018 00:56:10 +0000 Subject: removed repeated lines --- bin/config-include/osslEnable.ini | 3 --- 1 file changed, 3 deletions(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 1658163..4918d34 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -278,12 +278,9 @@ ; Allow_osSetSoundRadius = true ; Allow_osStopSound = true ; Allow_osStringSubString = true -; Allow_osStringSubString = true ; Allow_osStringStartsWith = true ; Allow_osStringEndsWith = true ; Allow_osStringIndexOf = true -; Allow_osStringIndexOf = true -; Allow_osStringLastIndexOf = true ; Allow_osStringLastIndexOf = true ; Allow_osStringRemove = true ; Allow_osStringReplace = true -- cgit v1.1 From cb1ebd1604315226e67012cc202c8845d05ddce4 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 20 Nov 2018 18:12:18 +0000 Subject: add osApproxEquals for float, vector and rotation, note that default margin is 1e-6 to match strings rounding --- bin/ScriptSyntax.xml | 67 ++++++++++++++++++++++++++++++++++----- bin/config-include/osslEnable.ini | 3 +- 2 files changed, 61 insertions(+), 9 deletions(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index 77c49c2..b3e03c1 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,4 +1,4 @@ -9e55237f-19be-984f-6bdc-a8fd07eb2447 +0acc12d6-3dc9-9574-7bd6-d298c045f046 llsd-lsl-syntax-version2 controls @@ -6058,6 +6058,57 @@ btypevector + osApproxEquals + + returninteger + arguments + vatypevector + vbtypevector + margintypefloat + + + osApproxEquals + + returninteger + arguments + vatypevector + vbtypevector + + + osApproxEquals + + returninteger + arguments + atypefloat + btypefloat + margintypefloat + + + osApproxEquals + + returninteger + arguments + atypefloat + btypefloat + + + osApproxEquals + + returninteger + arguments + ratyperotation + rbtyperotation + margintypefloat + + + osApproxEquals + + returninteger + arguments + ratyperotation + rbtyperotation + + osAvatarName2Key returnstring @@ -6795,13 +6846,13 @@ osRegionNotice arguments + agentIDtypekey msgtypestring osRegionNotice arguments - agentIDtypekey msgtypestring @@ -6810,6 +6861,7 @@ returninteger arguments secondstypefloat + msgtypestring osRegionRestart @@ -6817,7 +6869,6 @@ returninteger arguments secondstypefloat - msgtypestring osReplaceString @@ -7153,6 +7204,8 @@ arguments srctypestring valuetypestring + starttypeinteger + counttypeinteger ignorecasetypeinteger @@ -7162,8 +7215,6 @@ arguments srctypestring valuetypestring - starttypeinteger - counttypeinteger ignorecasetypeinteger @@ -7173,6 +7224,8 @@ arguments srctypestring valuetypestring + starttypeinteger + counttypeinteger ignorecasetypeinteger @@ -7182,8 +7235,6 @@ arguments srctypestring valuetypestring - starttypeinteger - counttypeinteger ignorecasetypeinteger @@ -7249,7 +7300,6 @@ arguments agenttypestring - regionNametypestring positiontypevector lookattypevector @@ -7258,6 +7308,7 @@ arguments agenttypestring + regionNametypestring positiontypevector lookattypevector diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 4918d34..fa33880 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -127,8 +127,8 @@ Allow_osDie = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel Moderate - Allow_osDropAttachment = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osDetectedCountry = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osDropAttachment = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osDropAttachmentAt = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetAgentCountry = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetGridCustom = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER @@ -228,6 +228,7 @@ ; available functions out of Threat level control (for reference only) ; Allow_osAdjustSoundVolume = true ; Allow_osAngleBetween = true +; Allow_osApproxEquals = true ; Allow_osCheckODE = true ; Allow_osClearInertia = true ; Allow_osCollisionSound = true -- cgit v1.1 From 87acd20d9546e23c9431c5473bcfdb9fab8e4ca2 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 26 Nov 2018 16:45:04 +0000 Subject: add script constant OS_APIVERSION, we should inc this on any change on any api. a few changes to os npc and avatar animation functions --- bin/ScriptSyntax.xml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index b3e03c1..46f7712 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,4 +1,4 @@ -0acc12d6-3dc9-9574-7bd6-d298c045f046 +a56cd39c-7cce-5185-6e57-d5284505356d llsd-lsl-syntax-version2 controls @@ -1511,6 +1511,10 @@ value3 tooltipnot supported + OS_APIVERSION + typeinteger + value1 + OS_ATTACH_MSG_ALL typeinteger value-65535 @@ -6120,14 +6124,14 @@ osAvatarPlayAnimation arguments - avatartypestring + avatarIdtypekey animationtypestring osAvatarStopAnimation arguments - avatartypestring + avatarIdtypekey animationtypestring -- cgit v1.1 From c98f4d015826875b3692dc93a55158083ab25f0e Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 27 Nov 2018 13:40:09 +0000 Subject: remove unmaintaned and obsolete GlynnTucker.Cache --- bin/GlynnTucker.Cache.dll | Bin 22016 -> 0 bytes bin/config-include/GridCommon.ini.example | 2 -- bin/config-include/StandaloneCommon.ini.example | 2 -- 3 files changed, 4 deletions(-) delete mode 100755 bin/GlynnTucker.Cache.dll (limited to 'bin') diff --git a/bin/GlynnTucker.Cache.dll b/bin/GlynnTucker.Cache.dll deleted file mode 100755 index c6ab8d5..0000000 Binary files a/bin/GlynnTucker.Cache.dll and /dev/null differ diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index e93ce3c..4b1914b 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -63,8 +63,6 @@ ;AssetCaching = "CenomeMemoryAssetCache" ;Include-CenomeCache = "config-include/CenomeCache.ini" - ;AssetCaching = "GlynnTuckerAssetCache" - ;; Optionally, the port for the LLProxyLoginModule module can be changed ;Setup_LLProxyLoginModule = "9090/" diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index 8931557..a4be88e9 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -64,8 +64,6 @@ ;AssetCaching = "CenomeMemoryAssetCache" ;Include-CenomeCache = "config-include/CenomeCache.ini" - ;AssetCaching = "GlynnTuckerAssetCache" - ;; Authorization is not on by default, as it depends on external php ;AuthorizationServices = "LocalAuthorizationServicesConnector" -- cgit v1.1 From 834a8fac2faf89aa41ec753cd64c7c598511386f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 27 Nov 2018 14:11:43 +0000 Subject: update DotNetOpenMail.dll --- bin/DotNetOpenMail.dll | Bin 57344 -> 53248 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/DotNetOpenMail.dll b/bin/DotNetOpenMail.dll index 70af3bf..fb31e66 100755 Binary files a/bin/DotNetOpenMail.dll and b/bin/DotNetOpenMail.dll differ -- cgit v1.1 From 47bc1fb25717c0203d1b7db4d14b8765d382a371 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 28 Nov 2018 08:20:38 +0000 Subject: OSSL remove functions with illegal lsl types, also redundante --- bin/ScriptSyntax.xml | 36 ++++++++++++------------------------ bin/config-include/osslEnable.ini | 2 -- 2 files changed, 12 insertions(+), 26 deletions(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index 46f7712..5f5c421 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,4 +1,4 @@ -a56cd39c-7cce-5185-6e57-d5284505356d +94172d61-5659-3578-82df-8eef2e48ef45 llsd-lsl-syntax-version2 controls @@ -1513,7 +1513,7 @@ a56cd39c-7cce-5185-6e57-d5284505356d OS_APIVERSION typeinteger - value1 + value2 OS_ATTACH_MSG_ALL typeinteger @@ -6804,18 +6804,6 @@ a56cd39c-7cce-5185-6e57-d5284505356d pos2typevector - osParseJSON - - arguments - JSONtypestring - - - osParseJSONNew - - arguments - JSONtypestring - - osPlaySound arguments @@ -6865,7 +6853,6 @@ a56cd39c-7cce-5185-6e57-d5284505356d returninteger arguments secondstypefloat - msgtypestring osRegionRestart @@ -6873,6 +6860,7 @@ a56cd39c-7cce-5185-6e57-d5284505356d returninteger arguments secondstypefloat + msgtypestring osReplaceString @@ -7208,8 +7196,6 @@ a56cd39c-7cce-5185-6e57-d5284505356d arguments srctypestring valuetypestring - starttypeinteger - counttypeinteger ignorecasetypeinteger @@ -7219,6 +7205,8 @@ a56cd39c-7cce-5185-6e57-d5284505356d arguments srctypestring valuetypestring + starttypeinteger + counttypeinteger ignorecasetypeinteger @@ -7228,8 +7216,6 @@ a56cd39c-7cce-5185-6e57-d5284505356d arguments srctypestring valuetypestring - starttypeinteger - counttypeinteger ignorecasetypeinteger @@ -7239,6 +7225,8 @@ a56cd39c-7cce-5185-6e57-d5284505356d arguments srctypestring valuetypestring + starttypeinteger + counttypeinteger ignorecasetypeinteger @@ -7275,7 +7263,6 @@ a56cd39c-7cce-5185-6e57-d5284505356d arguments srctypestring starttypeinteger - lengthtypeinteger osStringSubString @@ -7284,6 +7271,7 @@ a56cd39c-7cce-5185-6e57-d5284505356d arguments srctypestring starttypeinteger + lengthtypeinteger osSunGetParam @@ -7304,6 +7292,7 @@ a56cd39c-7cce-5185-6e57-d5284505356d arguments agenttypestring + regionNametypestring positiontypevector lookattypevector @@ -7312,7 +7301,6 @@ a56cd39c-7cce-5185-6e57-d5284505356d arguments agenttypestring - regionNametypestring positiontypevector lookattypevector @@ -7340,7 +7328,6 @@ a56cd39c-7cce-5185-6e57-d5284505356d osTeleportOwner arguments - regionNametypestring positiontypevector lookattypevector @@ -7348,8 +7335,7 @@ a56cd39c-7cce-5185-6e57-d5284505356d osTeleportOwner arguments - regionXtypeinteger - regionYtypeinteger + regionNametypestring positiontypevector lookattypevector @@ -7357,6 +7343,8 @@ a56cd39c-7cce-5185-6e57-d5284505356d osTeleportOwner arguments + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index fa33880..6b1bf73 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -80,8 +80,6 @@ Allow_osGetNPCList = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetRezzingObject = true Allow_osNpcGetOwner = ${OSSL|osslNPC} - Allow_osParseJSON = true - Allow_osParseJSONNew = true Allow_osSetSunParam = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osTeleportOwner = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osWindActiveModelPluginName = true -- cgit v1.1 From 0ba13b9b008f7a40d54b47bff0d9383b5399c14f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 30 Nov 2018 12:28:37 +0000 Subject: recover GetMesh2 cap --- bin/OpenSimDefaults.ini | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index da934c1..60db143 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -791,6 +791,7 @@ Cap_GetDisplayNames = "localhost" Cap_GetTexture = "localhost" Cap_GetMesh = "localhost" + Cap_GetMesh2 = "localhost" Cap_GetObjectCost = "" Cap_GetObjectPhysicsData = "" Cap_GroupProposalBallot = "" -- cgit v1.1 From 7554e6286197d80197b1c32b919ee4294813a6a1 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 30 Nov 2018 22:03:30 +0000 Subject: add a sound --- .../CollisionSoundsAssetSet/CollisionSoundsAssetSet.xml | 7 ++++++- bin/assets/CollisionSoundsAssetSet/snd_SandStep.ogg | Bin 0 -> 9243 bytes 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 bin/assets/CollisionSoundsAssetSet/snd_SandStep.ogg (limited to 'bin') diff --git a/bin/assets/CollisionSoundsAssetSet/CollisionSoundsAssetSet.xml b/bin/assets/CollisionSoundsAssetSet/CollisionSoundsAssetSet.xml index b570c55..56c26e1 100644 --- a/bin/assets/CollisionSoundsAssetSet/CollisionSoundsAssetSet.xml +++ b/bin/assets/CollisionSoundsAssetSet/CollisionSoundsAssetSet.xml @@ -338,4 +338,9 @@
- +
+ + + + +
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_SandStep.ogg b/bin/assets/CollisionSoundsAssetSet/snd_SandStep.ogg new file mode 100644 index 0000000..c330e06 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_SandStep.ogg differ -- cgit v1.1 From 4ced4fed33c35599502c67a060139475fadafdb6 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 1 Dec 2018 23:13:24 +0000 Subject: replace GetMeshModule and GetTextureModule --- bin/OpenSimDefaults.ini | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 60db143..2ee5534 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -792,6 +792,7 @@ Cap_GetTexture = "localhost" Cap_GetMesh = "localhost" Cap_GetMesh2 = "localhost" + Cap_GetAsset = "localhost" Cap_GetObjectCost = "" Cap_GetObjectPhysicsData = "" Cap_GroupProposalBallot = "" -- cgit v1.1 From 79234795fd28c413f4a7d973a64a16ac7d6bd939 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 3 Dec 2018 10:17:22 +0000 Subject: avoid a data copy --- bin/HttpServer_OpenSim.dll | Bin 120320 -> 121344 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 7a462cd..bbcb752 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ -- cgit v1.1 From ede7f281841a8ec5dd024c2292c33660f4ed3b83 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 7 Dec 2018 03:31:38 +0000 Subject: disable GetAsset (ViewerAsset) cap. Current viewers implementation is not compatible with opensim --- bin/OpenSimDefaults.ini | 1 - 1 file changed, 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 2ee5534..60db143 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -792,7 +792,6 @@ Cap_GetTexture = "localhost" Cap_GetMesh = "localhost" Cap_GetMesh2 = "localhost" - Cap_GetAsset = "localhost" Cap_GetObjectCost = "" Cap_GetObjectPhysicsData = "" Cap_GroupProposalBallot = "" -- cgit v1.1 From f8c3fc5e055905e440119b27eb33aec28fe8c69c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 8 Dec 2018 02:26:36 +0000 Subject: mantis 8416: test --- bin/OpenSimDefaults.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 60db143..f36dab0 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -361,7 +361,7 @@ ; http://simulatorHTTPport/ManagedStats/?cat=Category&cont=Container&stat=Statistic ; ManagedStatsRemoteFetchURI = "ManagedStats" - ; Make OpenSim start all regions woth logins disabled. They will need + ; Make OpenSim start all regions with logins disabled. They will need ; to be enabled from the console if this is set ; StartDisabled = false -- cgit v1.1 From 2c2b887c8a36bd1d213aa22ff6ea86c3b52f93a4 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 11 Dec 2018 14:55:32 +0000 Subject: change osSetContentType threat level --- bin/config-include/osslEnable.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 6b1bf73..05eb16f 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -184,7 +184,6 @@ Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetContentType = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetPrimitiveParams = false Allow_osSetProjectionParams = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER @@ -221,6 +220,7 @@ ; ThreatLevel Severe with additional internal restrictions Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable) + Allow_osSetContentType = $ESTATE_OWNER ; available functions out of Threat level control (for reference only) -- cgit v1.1 From 0881840946019caddffd89311416606e19c3cf3b Mon Sep 17 00:00:00 2001 From: Bill Blight Date: Mon, 10 Dec 2018 21:52:36 -0800 Subject: Add osNpcSayTo(key npc, key target, integer channel, string message) Signed-off-by: UbitUmarov --- bin/config-include/osslEnable.ini | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 05eb16f..0d2461a 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -171,6 +171,7 @@ Allow_osNpcRemove = ${OSSL|osslNPC} Allow_osNpcSaveAppearance = ${OSSL|osslNPC} Allow_osNpcSay = ${OSSL|osslNPC} + Allow_osNpcSayTo = ${OSSL|osslNPC} Allow_osNpcSetRot = ${OSSL|osslNPC} Allow_osNpcShout = ${OSSL|osslNPC} Allow_osNpcSit = ${OSSL|osslNPC} -- cgit v1.1 From d6c9ddfdeebf8c18daacb421ab59a2bcd6481ab2 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 11 Dec 2018 18:23:26 +0000 Subject: cleanup last patch --- bin/ScriptSyntax.xml | 239 +++++++++++++++++++++++++++++++++++--- bin/config-include/osslEnable.ini | 2 +- 2 files changed, 226 insertions(+), 15 deletions(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index 5f5c421..fb6969e 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,4 +1,4 @@ -94172d61-5659-3578-82df-8eef2e48ef45 +fe7d5416-2379-feca-3b16-6b9854799c50 llsd-lsl-syntax-version2 controls @@ -3805,6 +3805,11 @@ facetypeinteger + llGetCreator + + returnkey + arguments + llGetDate returnstring @@ -4003,11 +4008,21 @@ returnfloat arguments + llGetMaxScaleFactor + + returnfloat + arguments + llGetMemoryLimit returninteger arguments + llGetMinScaleFactor + + returnfloat + arguments + llGetNextEmail arguments @@ -6054,6 +6069,14 @@ volumetypefloat + osAgentSaveAppearance + + returnkey + arguments + agentIdtypekey + notecardtypestring + + osAngleBetween returnfloat @@ -6068,15 +6091,15 @@ arguments vatypevector vbtypevector - margintypefloat osApproxEquals returninteger arguments - vatypevector - vbtypevector + atypefloat + btypefloat + margintypefloat osApproxEquals @@ -6085,15 +6108,15 @@ arguments atypefloat btypefloat - margintypefloat osApproxEquals returninteger arguments - atypefloat - btypefloat + vatypevector + vbtypevector + margintypefloat osApproxEquals @@ -6783,6 +6806,194 @@ ytypeinteger + osNpcCreate + + returnkey + arguments + usertypestring + nametypestring + positiontypevector + notecardtypestring + + + osNpcCreate + + returnkey + arguments + usertypestring + nametypestring + positiontypevector + notecardtypestring + optionstypeinteger + + + osNpcGetOwner + + returnkey + arguments + npctypekey + + + osNpcGetPos + + returnvector + arguments + npctypekey + + + osNpcGetRot + + returnrotation + arguments + npctypekey + + + osNpcLoadAppearance + + arguments + npctypekey + notecardtypestring + + + osNpcMoveTo + + arguments + npctypekey + positiontypevector + + + osNpcMoveToTarget + + arguments + npctypekey + targettypevector + optionstypeinteger + + + osNpcPlayAnimation + + arguments + npctypekey + animationtypestring + + + osNpcRemove + + arguments + npctypekey + + + osNpcSaveAppearance + + returnkey + arguments + npctypekey + notecardtypestring + + + osNpcSay + + arguments + npctypekey + messagetypestring + + + osNpcSay + + arguments + npctypekey + channeltypeinteger + messagetypestring + + + osNpcSayTo + + arguments + npctypekey + targettypekey + channeltypeinteger + msgtypestring + + + osNpcSetProfileAbout + + arguments + npctypekey + abouttypestring + + + osNpcSetProfileImage + + arguments + npctypekey + imagetypestring + + + osNpcSetRot + + arguments + npctypekey + rottyperotation + + + osNpcShout + + arguments + npctypekey + channeltypeinteger + messagetypestring + + + osNpcSit + + arguments + npctypekey + targettypekey + optionstypeinteger + + + osNpcStand + + arguments + npctypekey + + + osNpcStopAnimation + + arguments + npctypekey + animationtypestring + + + osNpcStopMoveToTarget + + arguments + npctypekey + + + osNpcTouch + + arguments + npcLSL_Keytypekey + object_keytypekey + link_numtypeinteger + + + osNpcWhisper + + arguments + npctypekey + channeltypeinteger + messagetypestring + + + osOwnerSaveAppearance + + returnkey + arguments + notecardtypestring + + osParcelJoin arguments @@ -6853,6 +7064,7 @@ returninteger arguments secondstypefloat + msgtypestring osRegionRestart @@ -6860,7 +7072,6 @@ returninteger arguments secondstypefloat - msgtypestring osReplaceString @@ -7084,7 +7295,6 @@ osSetProjectionParams arguments - primtypekey projectiontypeinteger texturetypekey fovtypefloat @@ -7095,6 +7305,7 @@ osSetProjectionParams arguments + primtypekey projectiontypeinteger texturetypekey fovtypefloat @@ -7196,6 +7407,8 @@ arguments srctypestring valuetypestring + starttypeinteger + counttypeinteger ignorecasetypeinteger @@ -7205,8 +7418,6 @@ arguments srctypestring valuetypestring - starttypeinteger - counttypeinteger ignorecasetypeinteger @@ -7328,6 +7539,7 @@ osTeleportOwner arguments + regionNametypestring positiontypevector lookattypevector @@ -7335,7 +7547,8 @@ osTeleportOwner arguments - regionNametypestring + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector @@ -7343,8 +7556,6 @@ osTeleportOwner arguments - regionXtypeinteger - regionYtypeinteger positiontypevector lookattypevector diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 0d2461a..674b2ab 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -171,7 +171,7 @@ Allow_osNpcRemove = ${OSSL|osslNPC} Allow_osNpcSaveAppearance = ${OSSL|osslNPC} Allow_osNpcSay = ${OSSL|osslNPC} - Allow_osNpcSayTo = ${OSSL|osslNPC} + Allow_osNpcSayTo = ${OSSL|osslNPC} Allow_osNpcSetRot = ${OSSL|osslNPC} Allow_osNpcShout = ${OSSL|osslNPC} Allow_osNpcSit = ${OSSL|osslNPC} -- cgit v1.1 From 18947d93fcaefa7609faccdf435a24017a688bf0 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 13 Dec 2018 13:38:32 +0000 Subject: actually disable osSetContentType on osslEnable.ini, so is only enabled by machine owner intentionally --- bin/config-include/osslEnable.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 674b2ab..a96459a 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -221,7 +221,7 @@ ; ThreatLevel Severe with additional internal restrictions Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable) - Allow_osSetContentType = $ESTATE_OWNER + Allow_osSetContentType = false ; available functions out of Threat level control (for reference only) -- cgit v1.1 From ed039a5fe068847bc6774c84cd452f1aaefc5c5a Mon Sep 17 00:00:00 2001 From: fly-man- Date: Wed, 26 Sep 2018 15:06:04 +0200 Subject: Enables the buildin Caps ServerReleaseNotes ~ Dedicated to Quill Littlefeather ~ Signed-off-by: UbitUmarov --- bin/OpenSimDefaults.ini | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index f36dab0..8253b4e 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -2269,6 +2269,13 @@ ;; This enables the built in basic dwell module DwellModule = DefaultDwellModule +[ServerReleaseNotes] + ;; This enabled the build in Server Release Notes + Enabled = false + ;; Set this to the URL of your Release Notes + ;; {ServerReleaseNotesURL} {} {Set this to the URL of your Release Notes} {} + ServerReleaseNotesURL = http://localhost/ReleaseNotes.html + [Modules] Include-modules = "addon-modules/*/config/*.ini" -- cgit v1.1 From 921364e877438e4dff9a4a8a582453a0140431bc Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 16 Dec 2018 20:18:26 +0000 Subject: several changes to last patch --- bin/OpenSimDefaults.ini | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 8253b4e..7d744ac 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -816,7 +816,7 @@ Cap_SendPostcard = "" Cap_SendUserReport = "" Cap_SendUserReportWithScreenshot = "" - Cap_ServerReleaseNotes = "" + Cap_ServerReleaseNotes = "localhost" Cap_SimConsole = "" Cap_SimulatorFeatures = "" Cap_SetDisplayName = "" @@ -2270,11 +2270,8 @@ DwellModule = DefaultDwellModule [ServerReleaseNotes] - ;; This enabled the build in Server Release Notes - Enabled = false - ;; Set this to the URL of your Release Notes - ;; {ServerReleaseNotesURL} {} {Set this to the URL of your Release Notes} {} - ServerReleaseNotesURL = http://localhost/ReleaseNotes.html + ;; Comment to disable + ServerReleaseNotesURL = http://opensimulator.org/wiki/0.9.0.1_Release [Modules] Include-modules = "addon-modules/*/config/*.ini" -- cgit v1.1 From f94b6c3ead2ecbeb5b65c9e0c127dcd66dcb62c8 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 16 Dec 2018 21:22:45 +0000 Subject: update url to 0.9.1.0 page --- bin/OpenSimDefaults.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 7d744ac..8a8d162 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -2270,8 +2270,8 @@ DwellModule = DefaultDwellModule [ServerReleaseNotes] - ;; Comment to disable - ServerReleaseNotesURL = http://opensimulator.org/wiki/0.9.0.1_Release + ;; Comment or set to "" to disable + ServerReleaseNotesURL = "http://opensimulator.org/wiki/0.9.1.0_Release" [Modules] Include-modules = "addon-modules/*/config/*.ini" -- cgit v1.1 From 530a6a40edeff13d2e26c3c7d912efe4520014b3 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 17 Dec 2018 10:57:09 +0000 Subject: mantis 8427: add new reject flags, change default, see mantis --- bin/ScriptSyntax.xml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index fb6969e..60daa89 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,4 +1,4 @@ -fe7d5416-2379-feca-3b16-6b9854799c50 +41ccf83c-178f-6070-7960-1448d28dcdab llsd-lsl-syntax-version2 controls @@ -2567,6 +2567,14 @@ fe7d5416-2379-feca-3b16-6b9854799c50 typeinteger value1 + RC_REJECT_HOST + typeinteger + value0x20000000 + + RC_REJECT_HOSTGROUP + typeinteger + value0x40000000 + RC_REJECT_LAND typeinteger value8 -- cgit v1.1 From 810ab5f1a371884be06d2a248f51711a41001728 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 21 Dec 2018 16:10:31 +0000 Subject: update OpenSimDefaults.ini --- bin/OpenSimDefaults.ini | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 8a8d162..38b4e0f 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -451,6 +451,15 @@ ; Attempt to render meshes and sculpties on the map RenderMeshes = false + + ; warp3D rendering height limits for prims (relative to rez position not bounding box) + ; prims above RenderMaxHeight are excluded + ; valid values: 100 t0 4086 + ;RenderMaxHeight = 4086 + + ; prims below RenderMinHeight are excluded + ; valid values: -100 to RenderMaxHeight - 10 + ;RenderMinHeight = -100 [Permissions] ; ## -- cgit v1.1 From 47563564b79b4af572f13dc676f24c767c9df08b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 27 Dec 2018 17:35:21 +0000 Subject: update libopenmetaverse --- bin/MsgPack.dll | Bin 37376 -> 0 bytes bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 24576 bytes bin/OpenMetaverse.StructuredData.dll | Bin 106496 -> 106496 bytes bin/OpenMetaverse.dll | Bin 2195456 -> 2215936 bytes bin/OpenMetaverseTypes.dll | Bin 106496 -> 110592 bytes 5 files changed, 0 insertions(+), 0 deletions(-) delete mode 100755 bin/MsgPack.dll (limited to 'bin') diff --git a/bin/MsgPack.dll b/bin/MsgPack.dll deleted file mode 100755 index 90e6b7b..0000000 Binary files a/bin/MsgPack.dll and /dev/null differ diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index f047f58..a9c71ed 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 62aecd4..a495ddf 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 64f79c2..1199508 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 135b5b0..44ce06c 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From c14209e362a3994ecf078fbe251968e380c1bd47 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 28 Dec 2018 14:40:51 +0000 Subject: add some LSL --- bin/ScriptSyntax.xml | 53 ++++++++++++++++++++++++++++++++++------------------ 1 file changed, 35 insertions(+), 18 deletions(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index 60daa89..862a66d 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,4 +1,4 @@ -41ccf83c-178f-6070-7960-1448d28dcdab +a0b4b514-3c14-6b98-ca98-e18a79e9792f llsd-lsl-syntax-version2 controls @@ -4063,6 +4063,11 @@ returninteger arguments + llGetObjectAnimationNames + + returnlist + arguments + llGetObjectDesc returnstring @@ -5797,6 +5802,12 @@ animtypestring + llStartObjectAnimation + + arguments + animtypestring + + llStopAnimation arguments @@ -5815,6 +5826,12 @@ arguments + llStopObjectAnimation + + arguments + animtypestring + + llStopPointAt arguments @@ -6099,15 +6116,15 @@ arguments vatypevector vbtypevector + margintypefloat osApproxEquals returninteger arguments - atypefloat - btypefloat - margintypefloat + vatypevector + vbtypevector osApproxEquals @@ -6116,15 +6133,15 @@ arguments atypefloat btypefloat + margintypefloat osApproxEquals returninteger arguments - vatypevector - vbtypevector - margintypefloat + atypefloat + btypefloat osApproxEquals @@ -6267,6 +6284,8 @@ returnstring arguments drawListtypestring + startXtypeinteger + startYtypeinteger endXtypeinteger endYtypeinteger @@ -6276,8 +6295,6 @@ returnstring arguments drawListtypestring - startXtypeinteger - startYtypeinteger endXtypeinteger endYtypeinteger @@ -6416,13 +6433,13 @@ arguments avatartypestring + targettypestring osForceOtherSit arguments avatartypestring - targettypestring osFormatString @@ -6822,6 +6839,7 @@ nametypestring positiontypevector notecardtypestring + optionstypeinteger osNpcCreate @@ -6832,7 +6850,6 @@ nametypestring positiontypevector notecardtypestring - optionstypeinteger osNpcGetOwner @@ -7415,8 +7432,6 @@ arguments srctypestring valuetypestring - starttypeinteger - counttypeinteger ignorecasetypeinteger @@ -7426,6 +7441,8 @@ arguments srctypestring valuetypestring + starttypeinteger + counttypeinteger ignorecasetypeinteger @@ -7520,6 +7537,8 @@ arguments agenttypestring + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector @@ -7528,8 +7547,6 @@ arguments agenttypestring - regionXtypeinteger - regionYtypeinteger positiontypevector lookattypevector @@ -7547,7 +7564,8 @@ osTeleportOwner arguments - regionNametypestring + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector @@ -7555,8 +7573,7 @@ osTeleportOwner arguments - regionXtypeinteger - regionYtypeinteger + regionNametypestring positiontypevector lookattypevector -- cgit v1.1 From 488e2bcde2ffc7c27e04522424e3dca091dcef47 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 30 Dec 2018 16:15:35 +0000 Subject: update libopenmetaverse --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 24576 bytes bin/OpenMetaverse.StructuredData.dll | Bin 106496 -> 106496 bytes bin/OpenMetaverse.dll | Bin 2215936 -> 2215936 bytes bin/OpenMetaverseTypes.dll | Bin 110592 -> 110592 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index a9c71ed..c5296e4 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index a495ddf..e78a796 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 1199508..503d590 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 44ce06c..9b6a197 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 2ccaf54a1f0e206e1f98efa06e6181e0675d70d2 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 8 Jan 2019 03:37:48 +0000 Subject: update libomv --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 24576 bytes bin/OpenMetaverse.StructuredData.dll | Bin 106496 -> 106496 bytes bin/OpenMetaverse.dll | Bin 2215936 -> 2215936 bytes bin/OpenMetaverseTypes.dll | Bin 110592 -> 122880 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index c5296e4..02cfcb1 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index e78a796..abf44a2 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 503d590..9ad6bdb 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 9b6a197..15a200d 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From ff8f70418b092eb6fb5d03c9289e0416d2c42997 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 8 Jan 2019 18:02:07 +0000 Subject: a few more changes to terraincompressor and libomv --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 24576 bytes bin/OpenMetaverse.StructuredData.dll | Bin 106496 -> 106496 bytes bin/OpenMetaverse.dll | Bin 2215936 -> 2215936 bytes bin/OpenMetaverseTypes.dll | Bin 122880 -> 122880 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 02cfcb1..1cd9cfa 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index abf44a2..e407dba 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 9ad6bdb..51d8420 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 15a200d..53078e5 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 5bd16eaf9e4662b2feed0c16338c90dc17605cfd Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 9 Jan 2019 14:49:01 +0000 Subject: mantis 8445: fix PackFixed(...) --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 24576 bytes bin/OpenMetaverse.dll | Bin 2215936 -> 2215936 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 1cd9cfa..6be8636 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 51d8420..3851ee4 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ -- cgit v1.1 From a98b7fc389b1769a9d5c31e58e5c3051c52235c8 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 10 Jan 2019 18:20:46 +0000 Subject: update libovm --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 24576 bytes bin/OpenMetaverse.StructuredData.dll | Bin 106496 -> 106496 bytes bin/OpenMetaverse.dll | Bin 2215936 -> 2187264 bytes bin/OpenMetaverseTypes.dll | Bin 122880 -> 110592 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 6be8636..5ebb8cd 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index e407dba..40e0f04 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 3851ee4..8a6de56 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 53078e5..f321894 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From f7619b6ee092b2e76926ec35976240920c2ce4fe Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 11 Jan 2019 04:06:34 +0000 Subject: update libomv --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 24576 bytes bin/OpenMetaverse.StructuredData.dll | Bin 106496 -> 106496 bytes bin/OpenMetaverse.dll | Bin 2187264 -> 2387968 bytes bin/OpenMetaverseTypes.dll | Bin 110592 -> 122880 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 5ebb8cd..c4939f6 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 40e0f04..c4e22d9 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 8a6de56..338326a 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index f321894..f65c22c 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From ab35bf5b9de791f5eb8d9f68d18e6f30b215af08 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 11 Jan 2019 09:43:49 +0000 Subject: update libomv (fix bug on last) --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 24576 bytes bin/OpenMetaverse.dll | Bin 2387968 -> 2187264 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index c4939f6..7036d22 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 338326a..c9b9e55 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ -- cgit v1.1 From 4cfcf805b3199e235d8467d2f645053e0e3706dc Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 11 Jan 2019 17:26:33 +0000 Subject: mantis 8448: remove silly typos from libomv --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 24576 bytes bin/OpenMetaverse.StructuredData.dll | Bin 106496 -> 106496 bytes bin/OpenMetaverse.dll | Bin 2187264 -> 2187264 bytes bin/OpenMetaverseTypes.dll | Bin 122880 -> 122880 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 7036d22..ae79057 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index c4e22d9..ff7b4f6 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index c9b9e55..e39a4d4 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index f65c22c..ca1017b 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 8bb644159efc3a45502208208f8da1b3b8daefa2 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 14 Jan 2019 00:35:45 +0000 Subject: a few more changes to texturesentry handling on libomv and os --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 24576 bytes bin/OpenMetaverse.StructuredData.dll | Bin 106496 -> 106496 bytes bin/OpenMetaverse.dll | Bin 2187264 -> 2191360 bytes bin/OpenMetaverseTypes.dll | Bin 122880 -> 110592 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index ae79057..d416048 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index ff7b4f6..8131e5c 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index e39a4d4..44bd2ad 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index ca1017b..2c3e778 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 3cf9a257f7a226931ec52ae615d817ddad868274 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 14 Jan 2019 17:56:23 +0000 Subject: fix te media --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 24576 bytes bin/OpenMetaverse.dll | Bin 2191360 -> 2191360 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index d416048..8c9dade 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 44bd2ad..08199c6 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ -- cgit v1.1 From df14ed7d312e2f38e21912447835d9f078b97a95 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 14 Jan 2019 18:39:16 +0000 Subject: more on TP --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 24576 bytes bin/OpenMetaverse.dll | Bin 2191360 -> 2191360 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 8c9dade..b0e3021 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 08199c6..c62d73b 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ -- cgit v1.1 From 0c85517e9e99de8dd67ea96de0780fa6a74ee8e9 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 17 Jan 2019 21:50:07 +0000 Subject: update libomv with more changes to low level code --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 24576 bytes bin/OpenMetaverse.StructuredData.dll | Bin 106496 -> 106496 bytes bin/OpenMetaverse.dll | Bin 2191360 -> 2191360 bytes bin/OpenMetaverseTypes.dll | Bin 110592 -> 114688 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index b0e3021..63b7a17 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 8131e5c..c5f7c85 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index c62d73b..30f89fe 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 2c3e778..fe9b8e2 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 3897774424712aa1e8e92d4705efed260a41c660 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 20 Jan 2019 22:50:00 +0000 Subject: cosmetics on warp3d --- bin/Warp3D.dll | Bin 74240 -> 75776 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Warp3D.dll b/bin/Warp3D.dll index 7d662d9..523d67f 100755 Binary files a/bin/Warp3D.dll and b/bin/Warp3D.dll differ -- cgit v1.1 From d5059d650f606e53266b5eace047a43fc0907701 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 22 Jan 2019 11:32:51 +0000 Subject: mantis 8452: possible fix --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 24576 bytes bin/OpenMetaverse.StructuredData.dll | Bin 106496 -> 106496 bytes bin/OpenMetaverse.dll | Bin 2191360 -> 2191360 bytes bin/OpenMetaverseTypes.dll | Bin 114688 -> 114688 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 63b7a17..7bae706 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index c5f7c85..67041c6 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 30f89fe..803f702 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index fe9b8e2..0d9e51a 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 15c28bb2d42a179ee641b657d99ba1f884734fcc Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 25 Jan 2019 00:23:59 +0000 Subject: update libomv with a few more 'useless' changes --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 24576 bytes bin/OpenMetaverse.StructuredData.dll | Bin 106496 -> 106496 bytes bin/OpenMetaverse.dll | Bin 2191360 -> 2191360 bytes bin/OpenMetaverseTypes.dll | Bin 114688 -> 114688 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 7bae706..f767beb 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 67041c6..c235c12 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 803f702..12e5048 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 0d9e51a..c67a02d 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 76b777b1fb385cba345b0f6d5454689fb68ce428 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 31 Jan 2019 12:14:29 +0000 Subject: remove MRM module (minimodule). Its outdated and we have no maintainers. Thanks to all that worked on it. You should either use scripts or a full region module. Or revert this commit and update its code ;) --- bin/OpenSim.ini.example | 24 ------------------------ bin/OpenSimDefaults.ini | 25 ------------------------- 2 files changed, 49 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 2c3ad63..58deb5e 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1054,30 +1054,6 @@ Include-osslEnable = "config-include/osslEnable.ini" -[MRM] - ;; Enables the Mini Region Modules Script Engine. - ; Enabled = false - - ;; Runs MRM in a Security Sandbox - ;; WARNING: DISABLING IS A SECURITY RISK. - ; Sandboxed = true - - ;; The level sandbox to use, adjust at your OWN RISK. - ;; Valid values are: - ;; * FullTrust - ;; * SkipVerification - ;; * Execution - ;; * Nothing - ;; * LocalIntranet - ;; * Internet - ;; * Everything - ; SandboxLevel = "Internet" - - ;; Only allow Region Owners to run MRMs - ;; May represent a security risk if you disable this. - ; OwnerOnly = true - - [FreeSwitchVoice] ;; In order for this to work you need a functioning FreeSWITCH PBX set up. ;; Configuration details at http://opensimulator.org/wiki/Freeswitch_Module diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 38b4e0f..0dd501b 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1952,31 +1952,6 @@ ;broker = "http://broker.place.com/{1}" -[MRM] - ; Enables the Mini Region Modules Script Engine. - ; default is false - Enabled = false - - ; Runs MRM in a Security Sandbox - ; WARNING: DISABLING IS A SECURITY RISK. - Sandboxed = true - - ; The level sandbox to use, adjust at your OWN RISK. - ; Valid values are: - ; * FullTrust - ; * SkipVerification - ; * Execution - ; * Nothing - ; * LocalIntranet - ; * Internet - ; * Everything - SandboxLevel = "Internet" - - ; Only allow Region Owners to run MRMs - ; May represent a security risk if you disable this. - OwnerOnly = true - - [Hypergrid] ; Keep it false for now. Making it true requires the use of a special client in order to access inventory safemode = false -- cgit v1.1 From b16ee749eded43115cbb1d0066b4bfd010a5482e Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 31 Jan 2019 18:02:21 +0000 Subject: change default config: allow grid gods by default, if you don't trust grid admins what are you doing there?; disable most god powers unless god level is requested on viewer --- bin/OpenSim.ini.example | 11 +++++++++-- bin/OpenSimDefaults.ini | 5 +++-- 2 files changed, 12 insertions(+), 4 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 58deb5e..02c9958 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -417,10 +417,17 @@ ;; If set to true, then all permissions checks are carried out ; serverside_object_permissions = true - ;# {allow_grid_gods} {} {Allow grid gods?} {true false} false + ; if next 2 are false, several admin powers are only active if god powers requested on viewer + ; this reduces mistakes + ; set both to true to enable previus behavour + automatic_gods = false + implicit_gods = false + + ;# {allow_grid_gods} {} {Allow grid gods?} {true false} false ;; This allows users with a UserLevel of 200 or more to assume god ;; powers in the regions in this simulator. - ; allow_grid_gods = false + ;; if you don't trust grid admins, what are you doing there? + allow_grid_gods = true ;; This allows some control over permissions ;; please note that this still doesn't duplicate SL, and is not intended to diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 0dd501b..3a80dbe 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -482,7 +482,8 @@ ; This allows grid users with a UserLevel of 200 or more to assume god ; powers in the regions in this simulator. - allow_grid_gods = false + ; if you don't trust grid admins, what are you doing there? + allow_grid_gods = true ; Allow region owners to assume god powers in their regions ;region_owner_is_god = true @@ -498,7 +499,7 @@ ; The user can execute any and all god functions, as ; permitted by the viewer UI, without actually "godding ; up". This is the default state in 0.8.2. - implicit_gods = true + implicit_gods = false ; Control user types that are allowed to create new scripts ; Only enforced if serviceside_object_permissions is true -- cgit v1.1 From 2f3101e1d21bab45bfbd5cdfda33c9c03ac69f38 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 1 Feb 2019 18:43:39 +0000 Subject: typos, thx --- bin/OpenSim.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 02c9958..8b77ee9 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -419,7 +419,7 @@ ; if next 2 are false, several admin powers are only active if god powers requested on viewer ; this reduces mistakes - ; set both to true to enable previus behavour + ; set both to true to enable previous behaviour automatic_gods = false implicit_gods = false -- cgit v1.1 From ef3b424b26f2a3bc7a286b1072900bc773268bfc Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 3 Feb 2019 00:47:43 +0000 Subject: optimizers are silly --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 106496 -> 106496 bytes bin/OpenMetaverse.dll | Bin 2191360 -> 2179072 bytes bin/OpenMetaverseTypes.dll | Bin 114688 -> 114688 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index f767beb..53e9600 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index c235c12..f9c8c4f 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 12e5048..b7ddd0b 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index c67a02d..befbcf2 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 009af3122f8005ae5b8ed82f8ed1da89e9843e90 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 22 Feb 2019 22:42:07 +0000 Subject: update script sintaxe --- bin/ScriptSyntax.xml | 90 +++++++++++++++++++++++++++++++++------------------- 1 file changed, 58 insertions(+), 32 deletions(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index 862a66d..8f2f6002 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,4 +1,4 @@ -a0b4b514-3c14-6b98-ca98-e18a79e9792f +20392e48-fad2-094e-bc5b-cda003a1e940 llsd-lsl-syntax-version2 controls @@ -1513,7 +1513,7 @@ a0b4b514-3c14-6b98-ca98-e18a79e9792f OS_APIVERSION typeinteger - value2 + value3 OS_ATTACH_MSG_ALL typeinteger @@ -6114,34 +6114,34 @@ a0b4b514-3c14-6b98-ca98-e18a79e9792f returninteger arguments - vatypevector - vbtypevector - margintypefloat + atypefloat + btypefloat osApproxEquals returninteger arguments - vatypevector - vbtypevector + atypefloat + btypefloat + margintypefloat osApproxEquals returninteger arguments - atypefloat - btypefloat - margintypefloat + ratyperotation + rbtyperotation osApproxEquals returninteger arguments - atypefloat - btypefloat + vatypevector + vbtypevector + margintypefloat osApproxEquals @@ -6157,8 +6157,8 @@ a0b4b514-3c14-6b98-ca98-e18a79e9792f returninteger arguments - ratyperotation - rbtyperotation + vatypevector + vbtypevector osAvatarName2Key @@ -6186,14 +6186,14 @@ a0b4b514-3c14-6b98-ca98-e18a79e9792f osCauseDamage arguments - avatartypestring + avatartypekey damagetypefloat osCauseHealing arguments - avatartypestring + agentIdtypekey healingtypefloat @@ -6284,8 +6284,6 @@ a0b4b514-3c14-6b98-ca98-e18a79e9792f returnstring arguments drawListtypestring - startXtypeinteger - startYtypeinteger endXtypeinteger endYtypeinteger @@ -6295,6 +6293,8 @@ a0b4b514-3c14-6b98-ca98-e18a79e9792f returnstring arguments drawListtypestring + startXtypeinteger + startYtypeinteger endXtypeinteger endYtypeinteger @@ -6539,14 +6539,14 @@ a0b4b514-3c14-6b98-ca98-e18a79e9792f returnfloat arguments - avatartypestring + agentIdtypekey osGetHealth returnfloat arguments - avatartypestring + agentIdtypekey osGetInertiaData @@ -6558,9 +6558,28 @@ a0b4b514-3c14-6b98-ca98-e18a79e9792f returnstring arguments - itemtypestring + itemNameOrIdtypestring + + + osGetInventoryLastOwner + + returnkey + arguments + itemNameOrIdtypestring + osGetInventoryName + + returnstring + arguments + itemIdtypekey + + + osGetLastChangedEventKey + + returnkey + arguments + osGetLinkNumber returninteger @@ -6735,6 +6754,13 @@ a0b4b514-3c14-6b98-ca98-e18a79e9792f alerttypestring + osKickAvatar + + arguments + agentIdtypekey + alerttypestring + + osLoadedCreationDate returnstring @@ -6839,7 +6865,6 @@ a0b4b514-3c14-6b98-ca98-e18a79e9792f nametypestring positiontypevector notecardtypestring - optionstypeinteger osNpcCreate @@ -6850,6 +6875,7 @@ a0b4b514-3c14-6b98-ca98-e18a79e9792f nametypestring positiontypevector notecardtypestring + optionstypeinteger osNpcGetOwner @@ -7089,7 +7115,6 @@ a0b4b514-3c14-6b98-ca98-e18a79e9792f returninteger arguments secondstypefloat - msgtypestring osRegionRestart @@ -7097,6 +7122,7 @@ a0b4b514-3c14-6b98-ca98-e18a79e9792f returninteger arguments secondstypefloat + msgtypestring osReplaceString @@ -7199,14 +7225,14 @@ a0b4b514-3c14-6b98-ca98-e18a79e9792f osSetHealRate arguments - avatartypestring + agentIdtypekey healthtypefloat osSetHealth arguments - avatartypestring + agentIdtypekey healthtypefloat @@ -7432,6 +7458,8 @@ a0b4b514-3c14-6b98-ca98-e18a79e9792f arguments srctypestring valuetypestring + starttypeinteger + counttypeinteger ignorecasetypeinteger @@ -7441,8 +7469,6 @@ a0b4b514-3c14-6b98-ca98-e18a79e9792f arguments srctypestring valuetypestring - starttypeinteger - counttypeinteger ignorecasetypeinteger @@ -7528,7 +7554,8 @@ a0b4b514-3c14-6b98-ca98-e18a79e9792f arguments agenttypestring - regionNametypestring + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector @@ -7537,8 +7564,6 @@ a0b4b514-3c14-6b98-ca98-e18a79e9792f arguments agenttypestring - regionXtypeinteger - regionYtypeinteger positiontypevector lookattypevector @@ -7547,6 +7572,7 @@ a0b4b514-3c14-6b98-ca98-e18a79e9792f arguments agenttypestring + regionNametypestring positiontypevector lookattypevector @@ -7564,8 +7590,6 @@ a0b4b514-3c14-6b98-ca98-e18a79e9792f osTeleportOwner arguments - regionXtypeinteger - regionYtypeinteger positiontypevector lookattypevector @@ -7581,6 +7605,8 @@ a0b4b514-3c14-6b98-ca98-e18a79e9792f osTeleportOwner arguments + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector -- cgit v1.1 From 4dd89ce094a9b1d5e7c4de684278ed6faeeef58d Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 24 Feb 2019 10:07:48 +0000 Subject: make the options visible on OpenSimDefaults --- bin/OpenSimDefaults.ini | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 3a80dbe..bf271ea 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -661,6 +661,25 @@ ; many simultaneous requests, default is 30 and is currently applied only to assets ;MaxRequestConcurrency = 30 +[ScriptsHttpRequestModule] + ; options for llHttpRequest + + ; max number of concurrent connections per instance (all scenes), default 8 + ; MaxPoolThreads = 8 + + ; max requests per second for all scripts on a prim, default 1 + ;PrimRequestsPerSec = 1.0 + ; initial unthrottled burst for all scripts on a prim, default 3 + ;PrimRequestsBurst = 3.0 + + ; max requests per second for the objects owner (per instance), default 25 + ;PrimOwnerRequestsPerSec = 25.0 + ; initial unthrottled burst for the objects owner (per instance), default 5 + ;PrimOwnerRequestsBurst = 5.0 + + ; requests timeout in miliseconds, range 200 to 60000, default 30000 + ;RequestsTimeOut = 30000 + [AccessControl] ; Viewer-based access control. |-separated list of allowed viewers. ; AllowedClients = "" -- cgit v1.1 From 8a8ce8b10a4f595ebe25d52e439b1f1708c4262c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 1 Mar 2019 11:57:52 +0000 Subject: put back assetViewer cap code, to allow viewers testing. It is disabled at OpenSimDefaults, and should not be enabled until all major viewers do it right on opensim --- bin/OpenSimDefaults.ini | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index bf271ea..3068fee 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -821,6 +821,7 @@ Cap_GetTexture = "localhost" Cap_GetMesh = "localhost" Cap_GetMesh2 = "localhost" + ; Cap_GetAsset = "localhost" DO not ucoment this line. Some popular viewers still dont do it right for opensim. Here to easy testing Cap_GetObjectCost = "" Cap_GetObjectPhysicsData = "" Cap_GroupProposalBallot = "" -- cgit v1.1 From 9da1ca2b44556d8c27fb3db104aa2ace2501e4ea Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 2 Mar 2019 15:38:36 +0000 Subject: ll rez objects: silent ginore null object id; remove redundante llSetColor code --- bin/config-include/osslEnable.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index a96459a..f127b1f 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -155,7 +155,6 @@ Allow_osForceDropAttachmentAt = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetLinkPrimitiveParams = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetPhysicsEngineType = true - Allow_osGetPrimitiveParams = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetRegionMapTexture = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetScriptEngineName = true Allow_osGetSimulatorVersion = true @@ -185,7 +184,6 @@ Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetPrimitiveParams = false Allow_osSetProjectionParams = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetStateEvents = false ; deprecated @@ -250,6 +248,7 @@ ; Allow_osGetLinkNumber = true ; Allow_osGetMapTexture = true ; Allow_osGetPhysicsEngineName = true +; Allow_osGetPrimitiveParams = true ; Allow_osGetRegionSize = true ; Allow_osGetSunParam = true ; Allow_osGetTerrainHeight = true @@ -275,6 +274,7 @@ ; Allow_osSetPenCap = true ; Allow_osSetPenColor = true ; Allow_osSetPenSize = true +; Allow_osSetPrimitiveParams = true ; Allow_osSetSoundRadius = true ; Allow_osStopSound = true ; Allow_osStringSubString = true -- cgit v1.1 From 0944a965172668827a3f1cd83c1f99230299cbb7 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 5 Mar 2019 16:01:29 +0000 Subject: llupd direct encode object updates for agents; let terse updates be zeroencoded. This is not as spec but does work --- bin/OpenSimDefaults.ini | 21 --------------------- 1 file changed, 21 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 3068fee..cede84d 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -747,17 +747,6 @@ ;texture_default = 18500 ;asset_default = 10500 - ; Configures how ObjectUpdates are aggregated. These numbers - ; do not literally mean how many updates will be put in each - ; packet that goes over the wire, as packets are - ; automatically split on a 1400 byte boundary. These control - ; the balance between responsiveness of interest list updates - ; and total throughput. Higher numbers will ensure more full- - ; sized packets and faster sending of data, but more delay in - ; updating interest lists - ; - ;PrimUpdatesPerCallback = 100 - ; TextureSendLimit determines how many packets will be put on ; the outgoing queue each cycle. Like the settings above, this ; is a balance between responsiveness to priority updates and @@ -767,16 +756,6 @@ ; ;TextureSendLimit = 20 - ; CannibalizeTextureRate allows bandwidth to be moved from the - ; UDP texture throttle to the task throttle. Since most viewers - ; use HTTP textures, this provides a means of using what is largely - ; unused bandwidth in the total throttle. The value is the proportion - ; of the texture rate to move to the task queue. It must be between - ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the - ; bandwidth is grabbed) - ; - ; CannibalizeTextureRate = 0.5 - ; Quash and remove any light properties from attachments not on the ; hands. This allows flashlights and lanterns to function, but kills ; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps -- cgit v1.1 From fbd741ece37b688d7ec2860f4e4f35767213e09f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 7 Mar 2019 12:12:11 +0000 Subject: prims have at most 9 face textures --- bin/OpenMetaverse.dll | Bin 2179072 -> 2179072 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index b7ddd0b..02edd6c 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ -- cgit v1.1 From fe6317f009cbdbe9b075c32584e1188cb59ddf94 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 19 Mar 2019 21:37:58 +0000 Subject: LSL update texture entry is heavy, set all parameters on same update --- bin/OpenSimDefaults.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index cede84d..20dbd2e 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -454,7 +454,7 @@ ; warp3D rendering height limits for prims (relative to rez position not bounding box) ; prims above RenderMaxHeight are excluded - ; valid values: 100 t0 4086 + ; valid values: 100 to 4086 ;RenderMaxHeight = 4086 ; prims below RenderMinHeight are excluded -- cgit v1.1 From b6626739e2b74dc0f66888ab9f383bd39a574945 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 23 Mar 2019 04:28:22 +0000 Subject: make the text enable option visible for testing --- bin/OpenSimDefaults.ini | 2 ++ 1 file changed, 2 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 20dbd2e..0b56163 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -776,6 +776,8 @@ ; ;PausedAckTimeout = 300 + ; experimental feature, things may still go very wrong + ; SupportViewerObjectsCache = false [ClientStack.LindenCaps] ;; Long list of capabilities taken from -- cgit v1.1 From 63321f9ccc1e35db8034da64c510f334e7d5e7d5 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 5 Apr 2019 04:08:14 +0100 Subject: add option RegionViewDistance --- bin/OpenSimDefaults.ini | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 0b56163..9518aaf 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -164,15 +164,10 @@ ; limit the maximum view range ( no effect still (does limit MaxRegionsViewDistance) ) ;MaxDrawDistance = 512 - ; the maximum distance to tell a viewer to connect to a neighbour region, so it can be seen - ; (it is limited by MaxDrawDistance above) - ; less than 256 shows immediate neighbours; 256 to 511 also second imediate neighbours etc - ; more than 511m can cause viewers problems specially in case of dense regions. - ; curretly this distance is from current region borders. - ; Warning: if relevant regions have different setting you may notice strange - ; effects due to that asymmetry - ; ***** + ; Other regions visibilty depends on avatar position and view range + ; the view range considered is limited the maximum and minimum distances: ;MaxRegionsViewDistance = 255 + ;MinRegionsViewDistance = 96 ; If you have only one region in an instance, or to avoid the many bugs ; that you can trigger in modules by restarting a region, set this to -- cgit v1.1 From 7ce45235e61b1ee48a2b5208e5fdfb39a76ad96c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 5 Apr 2019 11:19:38 +0100 Subject: make sure viewer knows where to place a sitting avatar, this will need deep revision with culling --- bin/OpenSimDefaults.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 9518aaf..8696fe8 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -164,7 +164,7 @@ ; limit the maximum view range ( no effect still (does limit MaxRegionsViewDistance) ) ;MaxDrawDistance = 512 - ; Other regions visibilty depends on avatar position and view range + ; Other regions visibility depends on avatar position and view range ; the view range considered is limited the maximum and minimum distances: ;MaxRegionsViewDistance = 255 ;MinRegionsViewDistance = 96 -- cgit v1.1 From a25e18587c4f6757361f15b7e2ad844eade5b40f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 6 Apr 2019 16:30:19 +0100 Subject: set SupportViewerObjectsCache true by default --- bin/OpenSimDefaults.ini | 29 +++++++---------------------- 1 file changed, 7 insertions(+), 22 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 8696fe8..8582b94 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -685,23 +685,6 @@ [ClientStack.LindenUDP] - ; The client socket receive buffer size determines how many - ; incoming requests we can process; the default on .NET is 8192 - ; which is about 2 4k-sized UDP datagrams. On mono this is - ; whatever the underlying operating system has as default; for - ; example, ubuntu 8.04 or SLES11 have about 111k, which is about - ; 27 4k-sized UDP datagrams (on linux platforms you can [as root] - ; do "sysctl net.core.rmem_default" to find out what your system - ; uses a default socket receive buffer size. - ; - ; client_socket_rcvbuf_size allows you to specify the receive - ; buffer size LLUDPServer should use. NOTE: this will be limited - ; by the system's settings for the maximum client receive buffer - ; size (on linux systems you can set that with "sysctl -w - ; net.core.rmem_max=X") - ; - ;client_socket_rcvbuf_size = 8388608 - ; Maximum outbound bytes per second for a single scene. This can be used to ; throttle total outbound UDP traffic for a simulator. The default value is ; 0, meaning no throttling at the scene level. The example given here is @@ -726,8 +709,8 @@ ; Adaptive throttling attempts to limit network overload when multiple ; clients login by starting each connection more slowly. Disabled by ; default - ; - enable_adaptive_throttles = false + ; currently disabled + ;enable_adaptive_throttles = false ; Per-client bytes per second rates for the various throttle categories. ; These are default values that will be overridden by clients. These @@ -743,7 +726,7 @@ ;asset_default = 10500 ; TextureSendLimit determines how many packets will be put on - ; the outgoing queue each cycle. Like the settings above, this + ; the lludp outgoing queue each cycle. Like the settings above, this ; is a balance between responsiveness to priority updates and ; total throughput. Higher numbers will give a better ; throughput at the cost of reduced responsiveness to client @@ -771,8 +754,10 @@ ; ;PausedAckTimeout = 300 - ; experimental feature, things may still go very wrong - ; SupportViewerObjectsCache = false + ; Support viewers object cache, default true + ; users may need to reduce viewer bandwitdh if some prims or terrain parts fail to rez. + ; + ; SupportViewerObjectsCache = true [ClientStack.LindenCaps] ;; Long list of capabilities taken from -- cgit v1.1 From 442ef1cc9e5c7d2c9dce17ee525f6adb41cdc5ce Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 6 Apr 2019 21:27:54 +0100 Subject: change a comment --- bin/OpenSimDefaults.ini | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 8582b94..456dcd6 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -756,6 +756,7 @@ ; Support viewers object cache, default true ; users may need to reduce viewer bandwitdh if some prims or terrain parts fail to rez. + ; change to false if you need to use old viewers that do not support this feature ; ; SupportViewerObjectsCache = true -- cgit v1.1 From 539a3a9273a2777f6a42d739e496da2b74b2efa7 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 7 Apr 2019 16:29:31 +0100 Subject: make robust ban by MAC options visible, thx Bill Blight --- bin/Robust.HG.ini.example | 4 ++++ bin/Robust.ini.example | 2 ++ 2 files changed, 6 insertions(+) (limited to 'bin') diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 0f9bb4b..726e468 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -568,6 +568,8 @@ ;; ;; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0. + ;; Allow banning via hashed MAC must be set in both [GatekeeperService] and [LoginService] + ;DeniedMacs = "YOURLONGMACTRSING ANOTHERMAC" [MapImageService] LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" @@ -663,6 +665,8 @@ ;; Leave blank or commented for no exceptions. ; DisallowExcept = "http://myfriendgrid.com:8002, http://myboss.com:8002" + ;; Allow banning via hashed MAC must be set in both [GatekeeperService] and [LoginService] + ;DeniedMacs = "YOURLONGMACTRSING ANOTHERMAC" [UserAgentService] LocalServiceModule = "OpenSim.Services.HypergridService.dll:UserAgentService" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 3222a94..50986de 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -495,6 +495,8 @@ ;; ;; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0. + ;; Allow banning via hashed MAC + ;DeniedMacs = "YOURLONGMACTRSING ANOTHERMAC" [MapImageService] LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" -- cgit v1.1 From b104934a258c34a77c0470b8495d9d286c82f4f5 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 8 Apr 2019 13:50:51 +0100 Subject: add osGetPSTWallclock() returns wall clock in PST or PDT, for those that for some odd reason think need it. OpenSim girds shoudl use UTC (gtm) but whatever --- bin/ScriptSyntax.xml | 47 ++++++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 21 deletions(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index 8f2f6002..989984a 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,4 +1,4 @@ -20392e48-fad2-094e-bc5b-cda003a1e940 +e796a21f-5a66-e4ec-833f-c4896b8e87e4 llsd-lsl-syntax-version2 controls @@ -6116,14 +6116,15 @@ arguments atypefloat btypefloat + margintypefloat osApproxEquals returninteger arguments - atypefloat - btypefloat + ratyperotation + rbtyperotation margintypefloat @@ -6148,17 +6149,16 @@ returninteger arguments - ratyperotation - rbtyperotation - margintypefloat + vatypevector + vbtypevector osApproxEquals returninteger arguments - vatypevector - vbtypevector + atypefloat + btypefloat osAvatarName2Key @@ -6284,6 +6284,8 @@ returnstring arguments drawListtypestring + startXtypeinteger + startYtypeinteger endXtypeinteger endYtypeinteger @@ -6293,8 +6295,6 @@ returnstring arguments drawListtypestring - startXtypeinteger - startYtypeinteger endXtypeinteger endYtypeinteger @@ -6433,13 +6433,13 @@ arguments avatartypestring - targettypestring osForceOtherSit arguments avatartypestring + targettypestring osFormatString @@ -6653,6 +6653,11 @@ rulestypelist + osGetPSTWallclock + + returnfloat + arguments + osGetRegionMapTexture returnkey @@ -6865,6 +6870,7 @@ nametypestring positiontypevector notecardtypestring + optionstypeinteger osNpcCreate @@ -6875,7 +6881,6 @@ nametypestring positiontypevector notecardtypestring - optionstypeinteger osNpcGetOwner @@ -7100,13 +7105,13 @@ osRegionNotice arguments - agentIDtypekey msgtypestring osRegionNotice arguments + agentIDtypekey msgtypestring @@ -7478,6 +7483,8 @@ arguments srctypestring valuetypestring + starttypeinteger + counttypeinteger ignorecasetypeinteger @@ -7487,8 +7494,6 @@ arguments srctypestring valuetypestring - starttypeinteger - counttypeinteger ignorecasetypeinteger @@ -7554,8 +7559,7 @@ arguments agenttypestring - regionXtypeinteger - regionYtypeinteger + regionNametypestring positiontypevector lookattypevector @@ -7564,6 +7568,8 @@ arguments agenttypestring + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector @@ -7572,7 +7578,6 @@ arguments agenttypestring - regionNametypestring positiontypevector lookattypevector @@ -7590,6 +7595,7 @@ osTeleportOwner arguments + regionNametypestring positiontypevector lookattypevector @@ -7597,7 +7603,8 @@ osTeleportOwner arguments - regionNametypestring + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector @@ -7605,8 +7612,6 @@ osTeleportOwner arguments - regionXtypeinteger - regionYtypeinteger positiontypevector lookattypevector -- cgit v1.1 From 2b604fa8894811a6ec4aaf70542c24d974026048 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 11 Apr 2019 23:44:18 +0100 Subject: update warp3d.dll --- bin/Warp3D.dll | Bin 75776 -> 76288 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Warp3D.dll b/bin/Warp3D.dll index 523d67f..4eb3f77 100755 Binary files a/bin/Warp3D.dll and b/bin/Warp3D.dll differ -- cgit v1.1 From cfd39238684b64b66f2f469e803cef409d0dde6f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 12 Apr 2019 00:19:42 +0100 Subject: update warp3d.dll --- bin/Warp3D.dll | Bin 76288 -> 76288 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Warp3D.dll b/bin/Warp3D.dll index 4eb3f77..055b8bc 100755 Binary files a/bin/Warp3D.dll and b/bin/Warp3D.dll differ -- cgit v1.1 From 8994045d5fdfe2c9f61d3a6a92c8dbc97462db7a Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 23 Apr 2019 14:52:15 +0100 Subject: old typo --- bin/ScriptSyntax.xml | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index 989984a..d01414b 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,4 +1,4 @@ -e796a21f-5a66-e4ec-833f-c4896b8e87e4 +5b85f255-466f-238d-90ed-5726eaa2e67b llsd-lsl-syntax-version2 controls @@ -6754,15 +6754,15 @@ e796a21f-5a66-e4ec-833f-c4896b8e87e4 osKickAvatar arguments - FirstNametypestring - SurNametypestring + agentIdtypekey alerttypestring osKickAvatar arguments - agentIdtypekey + FirstNametypestring + SurNametypestring alerttypestring @@ -7351,6 +7351,7 @@ e796a21f-5a66-e4ec-833f-c4896b8e87e4 osSetProjectionParams arguments + primtypekey projectiontypeinteger texturetypekey fovtypefloat @@ -7361,7 +7362,17 @@ e796a21f-5a66-e4ec-833f-c4896b8e87e4 osSetProjectionParams arguments - primtypekey + projectiontypeinteger + texturetypekey + fovtypefloat + focustypefloat + ambtypefloat + + + osSetProjectionParams + + arguments + linknumbertypeinteger projectiontypeinteger texturetypekey fovtypefloat @@ -7595,7 +7606,8 @@ e796a21f-5a66-e4ec-833f-c4896b8e87e4 osTeleportOwner arguments - regionNametypestring + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector @@ -7603,8 +7615,7 @@ e796a21f-5a66-e4ec-833f-c4896b8e87e4 osTeleportOwner arguments - regionXtypeinteger - regionYtypeinteger + regionNametypestring positiontypevector lookattypevector -- cgit v1.1 From 3a055c578d9fb2e1f6c0c9ba47a7b8c9c5d8af48 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 2 May 2019 03:11:16 +0100 Subject: soem cleanup --- bin/ScriptSyntax.xml | 104 +++++++++++++++++++++++++++++++++++---------------- 1 file changed, 72 insertions(+), 32 deletions(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index d01414b..2282ada 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,4 +1,4 @@ -5b85f255-466f-238d-90ed-5726eaa2e67b +24121ec8-c0a3-099d-8d83-64feaa32418c llsd-lsl-syntax-version2 controls @@ -1513,7 +1513,7 @@ OS_APIVERSION typeinteger - value3 + value4 OS_ATTACH_MSG_ALL typeinteger @@ -1539,6 +1539,36 @@ typeinteger value0x1 + OS_LTPAG_ALGNLV + typeinteger + value0x4 + tooltiposLocalTeleportAgent align lookat to velocity + + OS_LTPAG_FORCEFLY + typeinteger + value0x8 + tooltiposLocalTeleportAgent force fly + + OS_LTPAG_FORCENOFLY + typeinteger + value0x16 + tooltiposLocalTeleportAgent force no fly + + OS_LTPAG_NONE + typeinteger + value0x0 + tooltiposLocalTeleportAgent no flags + + OS_LTPAG_USELOOKAT + typeinteger + value0x2 + tooltiposLocalTeleportAgent use lookat + + OS_LTPAG_USEVEL + typeinteger + value0x1 + tooltiposLocalTeleportAgent use velocity + OS_NPC_CREATOR_OWNED typeinteger value0x1 @@ -6116,49 +6146,49 @@ arguments atypefloat btypefloat - margintypefloat osApproxEquals returninteger arguments - ratyperotation - rbtyperotation - margintypefloat + vatypevector + vbtypevector osApproxEquals returninteger arguments - ratyperotation - rbtyperotation + atypefloat + btypefloat + margintypefloat osApproxEquals returninteger arguments - vatypevector - vbtypevector - margintypefloat + ratyperotation + rbtyperotation osApproxEquals returninteger arguments - vatypevector - vbtypevector + ratyperotation + rbtyperotation + margintypefloat osApproxEquals returninteger arguments - atypefloat - btypefloat + vatypevector + vbtypevector + margintypefloat osAvatarName2Key @@ -6284,8 +6314,6 @@ returnstring arguments drawListtypestring - startXtypeinteger - startYtypeinteger endXtypeinteger endYtypeinteger @@ -6295,6 +6323,8 @@ returnstring arguments drawListtypestring + startXtypeinteger + startYtypeinteger endXtypeinteger endYtypeinteger @@ -6433,13 +6463,13 @@ arguments avatartypestring + targettypestring osForceOtherSit arguments avatartypestring - targettypestring osFormatString @@ -6754,15 +6784,15 @@ osKickAvatar arguments - agentIdtypekey + FirstNametypestring + SurNametypestring alerttypestring osKickAvatar arguments - FirstNametypestring - SurNametypestring + agentIdtypekey alerttypestring @@ -6781,6 +6811,16 @@ returnstring arguments + osLocalTeleportAgent + + arguments + agenttypekey + positiontypevector + velocitytypevector + lookattypevector + flagstypeinteger + + osLoopSound arguments @@ -7105,13 +7145,13 @@ osRegionNotice arguments + agentIDtypekey msgtypestring osRegionNotice arguments - agentIDtypekey msgtypestring @@ -7351,7 +7391,6 @@ osSetProjectionParams arguments - primtypekey projectiontypeinteger texturetypekey fovtypefloat @@ -7362,6 +7401,7 @@ osSetProjectionParams arguments + linknumbertypeinteger projectiontypeinteger texturetypekey fovtypefloat @@ -7372,7 +7412,7 @@ osSetProjectionParams arguments - linknumbertypeinteger + primtypekey projectiontypeinteger texturetypekey fovtypefloat @@ -7494,8 +7534,6 @@ arguments srctypestring valuetypestring - starttypeinteger - counttypeinteger ignorecasetypeinteger @@ -7505,6 +7543,8 @@ arguments srctypestring valuetypestring + starttypeinteger + counttypeinteger ignorecasetypeinteger @@ -7541,6 +7581,7 @@ arguments srctypestring starttypeinteger + lengthtypeinteger osStringSubString @@ -7549,7 +7590,6 @@ arguments srctypestring starttypeinteger - lengthtypeinteger osSunGetParam @@ -7579,8 +7619,6 @@ arguments agenttypestring - regionXtypeinteger - regionYtypeinteger positiontypevector lookattypevector @@ -7589,6 +7627,8 @@ arguments agenttypestring + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector @@ -7606,8 +7646,6 @@ osTeleportOwner arguments - regionXtypeinteger - regionYtypeinteger positiontypevector lookattypevector @@ -7615,7 +7653,8 @@ osTeleportOwner arguments - regionNametypestring + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector @@ -7623,6 +7662,7 @@ osTeleportOwner arguments + regionNametypestring positiontypevector lookattypevector -- cgit v1.1 From 9c44dc3384cdc13bc11d6cff8e700e338c564d99 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 19 May 2019 14:20:01 +0100 Subject: change yengine comments on ini file --- bin/OpenSim.ini.example | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 8b77ee9..7db7506 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -927,14 +927,10 @@ [YEngine] ;; experimental engine - ;; ONLY SUPORTS ONE REGION PER INSTANCE at this point ;; implements non preemptive microthreading, so fixing problems like llSleep or long events handlers ;; but those will suffer from timeslicing, so will be slower. - ;; compiles LSL directly to IL, so only suports LSL scripting (no C# etc) - ;; shares the Xengine APIs like LSL, OSSL, etc. - ;; DANGER, do not use with HG, don't leave regions running alone with it. - ;; TPs or crossings to/from Xengine will full recompile scripts losing state. - ;; attachment scripts may misbehave, cars will stop on crossings, etc. + ;; warning: scripts state is lost on TP or cross to Xengine regions (cars stop, etc) + ;; ignore its extensions (subset of original XMRengine), those are still undefined. Enabled = false ScriptStackSize = 256 ScriptHeapSize = 256 -- cgit v1.1 From 38e937f91b08a2e52c47d2353c57556f542a00c1 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 28 May 2019 21:37:59 +0100 Subject: add sim feature AvatarHoverHeightEnabled; mantis 8535: make option MeshModelAllowTextureToInventory visible --- bin/OpenSimDefaults.ini | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 456dcd6..1332ce8 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1712,17 +1712,12 @@ [Economy] ; the economy module in use ; default is the provided BetaGridLikeMoneyModule - ; - This module is for demonstration only - ; The default economy module only implements just enough to allow free actions (transfer of objects, etc). ; There is no intention to implement anything further in core OpenSimulator. ; This functionality has to be provided by third party modules. - ; To use other modules you need to override this setting on OpenSim.ini Economy (or startup) section ; economymodule = BetaGridLikeMoneyModule - ; These economy values get used in the BetaGridLikeMoneyModule. - This module is for demonstration only - - ; The default economy module only implements just enough to allow free actions (transfer of objects, etc). - ; There is no intention to implement anything further in core OpenSimulator. - ; This functionality has to be provided by third party modules. + ; Economy values get used in the BetaGridLikeMoneyModule. ;; Enables selling things for $0. Default is true. ; SellEnabled = true @@ -1750,6 +1745,14 @@ ;PriceObjectRent = 0 ;PriceObjectScaleFactor = 10 ;PriceParcelRent = 0 + + ; Mesh upload settings, independent of economymodule + + ; Create inventory entries for textures uploaded with a model + ; default is false, ie, do not create + ; MeshModelAllowTextureToInventory = true + + [XEngine] ; Enable this engine in this OpenSim instance -- cgit v1.1 From b5b518dc0d1996c3ed0effe7c39b7daff2d1441b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 31 Jul 2019 13:38:49 +0100 Subject: change value of PARCEL_DETAILS_DWELL to a higher value to give more room for standard values, change return types, update script syntaxe --- bin/ScriptSyntax.xml | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index 2282ada..34cd1cc 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,4 +1,4 @@ -24121ec8-c0a3-099d-8d83-64feaa32418c +d2556181-baf5-e5b9-c8ec-99eda597b9f6 llsd-lsl-syntax-version2 controls @@ -1513,7 +1513,7 @@ OS_APIVERSION typeinteger - value4 + value5 OS_ATTACH_MSG_ALL typeinteger @@ -1665,6 +1665,10 @@ typeinteger value1 + PARCEL_DETAILS_DWELL + typeinteger + value64 + PARCEL_DETAILS_GROUP typeinteger value3 @@ -3017,6 +3021,10 @@ typeinteger value1 + VEHICLE_FLAG_NO_FLY_UP + typeinteger + value1 + VEHICLE_FLAG_NO_X typeinteger value1024 @@ -6665,6 +6673,13 @@ nametypestring + osGetParcelDwell + + returninteger + arguments + postypevector + + osGetPhysicsEngineName returnstring @@ -7581,7 +7596,6 @@ arguments srctypestring starttypeinteger - lengthtypeinteger osStringSubString @@ -7590,6 +7604,7 @@ arguments srctypestring starttypeinteger + lengthtypeinteger osSunGetParam @@ -7619,6 +7634,8 @@ arguments agenttypestring + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector @@ -7627,8 +7644,6 @@ arguments agenttypestring - regionXtypeinteger - regionYtypeinteger positiontypevector lookattypevector -- cgit v1.1 From 04eb4744df1383a5ac364a78891df244e9c42b88 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 2 Aug 2019 02:36:19 +0100 Subject: update libopenmetaverse including a ugly hack to try to workaround issues detected with new windows .net4.8 JIT. this can be reverted with that is fixed, this can also go wrong, as usual ;) --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 106496 -> 110592 bytes bin/OpenMetaverse.dll | Bin 2179072 -> 2183168 bytes bin/OpenMetaverseTypes.dll | Bin 114688 -> 114688 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 53e9600..de90191 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index f9c8c4f..e3bc15f 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 02edd6c..06196c3 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index befbcf2..a3f65d2 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 5b39860573f56669ffe870acab72ecae43f19da1 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 2 Aug 2019 13:13:53 +0100 Subject: silly bug in libomv --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 110592 -> 110592 bytes bin/OpenMetaverse.dll | Bin 2183168 -> 2183168 bytes 3 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index de90191..2d0aa08 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index e3bc15f..eb96d19 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 06196c3..4728719 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ -- cgit v1.1 From 1e0984b64c91fa007723801aa4fe5864c045948d Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 7 Aug 2019 16:16:49 +0100 Subject: add cap EstateAccess --- bin/OpenSimDefaults.ini | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 1332ce8..9c53b93 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -771,6 +771,7 @@ Cap_ChatSessionRequest = "" Cap_CopyInventoryFromNotecard = "localhost" Cap_DispatchRegionInfo = "" + Cap_EstateAccess = "localhost" Cap_EstateChangeInfo = "" Cap_EnvironmentSettings = "localhost" Cap_EventQueueGet = "localhost" -- cgit v1.1 From c80926192ae12e60be9d833408e6860bce2006f7 Mon Sep 17 00:00:00 2001 From: Melanie Date: Wed, 7 Aug 2019 18:45:04 +0100 Subject: Make showing NPCs on the world map an option --- bin/OpenSimDefaults.ini | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 9c53b93..0abae11 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -455,6 +455,9 @@ ; prims below RenderMinHeight are excluded ; valid values: -100 to RenderMaxHeight - 10 ;RenderMinHeight = -100 + + ; Show NPCs as green world map dots + ;ShowNPCs = true [Permissions] ; ## -- cgit v1.1 From c043008e04c3cb25b9fc4db62ed064775216d066 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 7 Aug 2019 21:06:20 +0100 Subject: add cap EstateChangeInfo --- bin/OpenSimDefaults.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 9c53b93..d5618bb 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -772,7 +772,7 @@ Cap_CopyInventoryFromNotecard = "localhost" Cap_DispatchRegionInfo = "" Cap_EstateAccess = "localhost" - Cap_EstateChangeInfo = "" + Cap_EstateChangeInfo = "localhost" Cap_EnvironmentSettings = "localhost" Cap_EventQueueGet = "localhost" Cap_FetchInventory = "" -- cgit v1.1 From 64c56fc52bec87395574ba07bd13d7cdde042ff0 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 16 Aug 2019 21:22:16 +0100 Subject: mantis 8577: add key osGetInventoryItemKey(string name) to get a inventory item ID within prim inventory. the llGetInventory does return the asset it, not item. --- bin/ScriptSyntax.xml | 85 ++++++++++++++++++++++++++++------------------------ 1 file changed, 46 insertions(+), 39 deletions(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index 34cd1cc..12c3a30 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,4 +1,4 @@ -d2556181-baf5-e5b9-c8ec-99eda597b9f6 +4c3dbda3-bc1e-b0f0-c532-2c6daf1e2343 llsd-lsl-syntax-version2 controls @@ -1513,7 +1513,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 OS_APIVERSION typeinteger - value5 + value6 OS_ATTACH_MSG_ALL typeinteger @@ -3479,7 +3479,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 arguments nametypestring - idtypestring + idtypekey accepttypeinteger @@ -3507,7 +3507,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 llCreateLink arguments - targetIdtypestring + targetIdtypekey parenttypeinteger tooltipSleep 1.0 @@ -3752,14 +3752,14 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 returninteger arguments - idtypestring + idtypekey llGetAgentLanguage returnstring arguments - idtypestring + idtypekey llGetAgentList @@ -3774,7 +3774,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 returnvector arguments - idtypestring + idtypekey llGetAlpha @@ -3793,14 +3793,14 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 returnstring arguments - idtypestring + idtypekey llGetAnimationList returnlist arguments - idtypestring + idtypekey llGetAnimationOverride @@ -3819,7 +3819,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 returnlist arguments - idtypestring + idtypekey llGetBoundingBox @@ -4404,7 +4404,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 returnstring arguments - idtypestring + idtypekey llGetVel @@ -4420,14 +4420,14 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 llGiveInventory arguments - destinationtypestring + destinationtypekey inventorytypestring llGiveInventoryList arguments - destinationtypestring + destinationtypekey categorytypestring inventorytypelist @@ -4436,7 +4436,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 returninteger arguments - destinationtypestring + destinationtypekey amounttypeinteger @@ -4559,7 +4559,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 returnstring arguments - idtypestring + idtypekey llLinkParticleSystem @@ -6001,7 +6001,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 returnkey arguments - destinationtypestring + destinationtypekey amounttypeinteger @@ -6152,24 +6152,25 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 returninteger arguments - atypefloat - btypefloat + ratyperotation + rbtyperotation + margintypefloat osApproxEquals returninteger arguments - vatypevector - vbtypevector + ratyperotation + rbtyperotation osApproxEquals returninteger arguments - atypefloat - btypefloat + vatypevector + vbtypevector margintypefloat @@ -6177,16 +6178,16 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 returninteger arguments - ratyperotation - rbtyperotation + vatypevector + vbtypevector osApproxEquals returninteger arguments - ratyperotation - rbtyperotation + atypefloat + btypefloat margintypefloat @@ -6194,9 +6195,8 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 returninteger arguments - vatypevector - vbtypevector - margintypefloat + atypefloat + btypefloat osAvatarName2Key @@ -6599,6 +6599,13 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 itemNameOrIdtypestring + osGetInventoryItemKey + + returnkey + arguments + nametypestring + + osGetInventoryLastOwner returnkey @@ -6799,15 +6806,15 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 osKickAvatar arguments - FirstNametypestring - SurNametypestring + agentIdtypekey alerttypestring osKickAvatar arguments - agentIdtypekey + FirstNametypestring + SurNametypestring alerttypestring @@ -6925,7 +6932,6 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 nametypestring positiontypevector notecardtypestring - optionstypeinteger osNpcCreate @@ -6936,6 +6942,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 nametypestring positiontypevector notecardtypestring + optionstypeinteger osNpcGetOwner @@ -7006,6 +7013,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 arguments npctypekey + channeltypeinteger messagetypestring @@ -7013,7 +7021,6 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 arguments npctypekey - channeltypeinteger messagetypestring @@ -7406,6 +7413,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 osSetProjectionParams arguments + primtypekey projectiontypeinteger texturetypekey fovtypefloat @@ -7427,7 +7435,6 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 osSetProjectionParams arguments - primtypekey projectiontypeinteger texturetypekey fovtypefloat @@ -7596,6 +7603,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 arguments srctypestring starttypeinteger + lengthtypeinteger osStringSubString @@ -7604,7 +7612,6 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 arguments srctypestring starttypeinteger - lengthtypeinteger osSunGetParam @@ -7625,7 +7632,8 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 arguments agenttypestring - regionNametypestring + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector @@ -7634,8 +7642,6 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 arguments agenttypestring - regionXtypeinteger - regionYtypeinteger positiontypevector lookattypevector @@ -7644,6 +7650,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6 arguments agenttypestring + regionNametypestring positiontypevector lookattypevector -- cgit v1.1 From 16bf737b267e35611b41753bdee8a292140d8102 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 17 Aug 2019 19:29:37 +0100 Subject: minor update to osslEnable.ini --- bin/config-include/osslEnable.ini | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index f127b1f..84943e7 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -245,6 +245,9 @@ ; Allow_osGetCurrentSunHour = true ; Allow_osGetInertiaData = true ; Allow_osGetInventoryDesc = true +; Allow_osGetInventoryItemKey = true +; Allow_osGetInventoryLastOwner = true +; Allow_osGetInventoryName = true ; Allow_osGetLinkNumber = true ; Allow_osGetMapTexture = true ; Allow_osGetPhysicsEngineName = true -- cgit v1.1 From 030ad7f47ac6abbc7dfc04d442afe972f5fdc4d9 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 24 Aug 2019 07:57:17 +0100 Subject: minor change on httpserver dll --- bin/HttpServer_OpenSim.dll | Bin 121344 -> 121344 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index bbcb752..e2670aa 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ -- cgit v1.1 From 7a82f9ef9f2a33ddf3774a1484283ae1d55c324d Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 27 Aug 2019 22:32:26 +0100 Subject: mantis 8470: add constant PrivURL. Thanks Ai Austin --- bin/OpenSim.ini.example | 7 +++++++ bin/config-include/GridCommon.ini.example | 26 +++++++++++++------------- 2 files changed, 20 insertions(+), 13 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 7db7506..33b2819 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -55,9 +55,16 @@ ;# {BaseURL} {} {BaseURL} {"http://${Const|BaseHostname}} "http://${Const|BaseHostname}" BaseURL = http://${Const|BaseHostname} + ; If you run a grid, several services should not be availble to world, access to them should be blocked on firewall + ; PrivatePort should closed at the firewall. + ;# {PublicPort} {} {PublicPort} {8002 9000} "8002" PublicPort = "8002" + ; you can also have them on a diferent url / IP + ;# {PrivURL} {} {PrivURL} {"http://${Const|BaseURL}} "${Const|BaseURL}" + PrivURL = ${Const|BaseURL} + ;grid default private port 8003, not used in standalone ;# {PrivatePort} {} {PrivatePort} {8003} "8003" ; port to access private grid services. diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index 4b1914b..46b4ded 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -76,13 +76,13 @@ ; ; Change this to your grid-wide asset server. Do not add a slash to the end of any of these addresses. ; - AssetServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + AssetServerURI = "${Const|PrivURL}:${Const|PrivatePort}" [InventoryService] ; ; Change this to your grid-wide inventory server ; - InventoryServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + InventoryServerURI = "${Const|PrivURL}:${Const|PrivatePort}" ;MaxRetries = 0 [GridInfo] @@ -95,7 +95,7 @@ ; ; Change this to your grid-wide grid server ; - GridServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + GridServerURI = "${Const|PrivURL}:${Const|PrivatePort}" ;AllowHypergridMapSearch = true ;; Directory for map tile images of linked regions @@ -115,7 +115,7 @@ ;LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataRemoteConnector" [EstateService] - EstateServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + EstateServerURI = "${Const|PrivURL}:${Const|PrivatePort}" [Messaging] ; === HG ONLY === @@ -128,43 +128,43 @@ ; ; Change this to your grid-wide grid server ; - AvatarServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + AvatarServerURI = "${Const|PrivURL}:${Const|PrivatePort}" [AgentPreferencesService] ; ; Change this to your grid-wide avatar prefs server ; - AgentPreferencesServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + AgentPreferencesServerURI = "${Const|PrivURL}:${Const|PrivatePort}" [PresenceService] ; ; Change this to your grid-wide presence server ; - PresenceServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + PresenceServerURI = "${Const|PrivURL}:${Const|PrivatePort}" [UserAccountService] ; ; Change this to your grid-wide user accounts server ; - UserAccountServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + UserAccountServerURI = "${Const|PrivURL}:${Const|PrivatePort}" [GridUserService] ; ; Change this to your grid-wide user accounts server ; - GridUserServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + GridUserServerURI = "${Const|PrivURL}:${Const|PrivatePort}" [AuthenticationService] ; ; Change this to your grid-wide authentication server ; - AuthenticationServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + AuthenticationServerURI = "${Const|PrivURL}:${Const|PrivatePort}" [FriendsService] ; ; Change this to your grid-wide friends server ; - FriendsServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + FriendsServerURI = "${Const|PrivURL}:${Const|PrivatePort}" [HGInventoryAccessModule] ; @@ -223,7 +223,7 @@ UserAgentServerURI = "${Const|BaseURL}:${Const|PublicPort}" [MapImageService] - MapImageServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + MapImageServerURI = "${Const|PrivURL}:${Const|PrivatePort}" [AuthorizationService] ; If you have regions with access restrictions @@ -244,4 +244,4 @@ ;; SimulatorCapability = "00000000-0000-0000-0000-000000000000" [MuteListService] - MuteListServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + MuteListServerURI = "${Const|PrivURL}:${Const|PrivatePort}" -- cgit v1.1 From 562ec0eed306bf0cb6cde4ddbcd0827caa1bab3c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 28 Aug 2019 04:33:55 +0100 Subject: update libomv --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 110592 -> 110592 bytes bin/OpenMetaverse.dll | Bin 2183168 -> 2187264 bytes bin/OpenMetaverseTypes.dll | Bin 114688 -> 114688 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 2d0aa08..8626de0 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index eb96d19..87e4710 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 4728719..7565eb3 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index a3f65d2..6501ed7 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 85b615309b6d5ca3f567ff17d11af3409769a8ad Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 29 Aug 2019 08:52:16 +0100 Subject: update libomv with simpler Texture.GetBakesBytes --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 110592 -> 110592 bytes bin/OpenMetaverse.dll | Bin 2187264 -> 2183168 bytes bin/OpenMetaverseTypes.dll | Bin 114688 -> 126976 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 8626de0..a38c3e8 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 87e4710..40e134f 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 7565eb3..cbd0e3c 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 6501ed7..e89dbc8 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 8938ae498f733014a12baae45e00f64dbf48f38b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 29 Aug 2019 11:21:26 +0100 Subject: added some texture assets. Thx Ai Austin --- .../TexturesAssetSet/FALLBACK_BAKED_AUX1_32X32.j2k | Bin 0 -> 258 bytes .../TexturesAssetSet/FALLBACK_BAKED_AUX2_32X32.j2k | Bin 0 -> 258 bytes .../TexturesAssetSet/FALLBACK_BAKED_AUX3_32X32.j2k | Bin 0 -> 257 bytes .../TexturesAssetSet/FALLBACK_BAKED_EYES_32X32.j2k | Bin 0 -> 258 bytes .../TexturesAssetSet/FALLBACK_BAKED_HAIR_32X32.j2k | Bin 0 -> 258 bytes .../TexturesAssetSet/FALLBACK_BAKED_HEAD_32X32.j2k | Bin 0 -> 259 bytes .../FALLBACK_BAKED_LEFTARM_32X32.j2k | Bin 0 -> 258 bytes .../FALLBACK_BAKED_LEFTLEG_32X32.j2k | Bin 0 -> 259 bytes .../FALLBACK_BAKED_LOWER_32X32.j2k | Bin 0 -> 258 bytes .../FALLBACK_BAKED_SKIRT_32X32.j2k | Bin 0 -> 258 bytes .../FALLBACK_BAKED_UPPER_32X32.j2k | Bin 0 -> 259 bytes bin/assets/TexturesAssetSet/TexturesAssetSet.xml | 82 +++++++++++++++++++-- 12 files changed, 76 insertions(+), 6 deletions(-) create mode 100644 bin/assets/TexturesAssetSet/FALLBACK_BAKED_AUX1_32X32.j2k create mode 100644 bin/assets/TexturesAssetSet/FALLBACK_BAKED_AUX2_32X32.j2k create mode 100644 bin/assets/TexturesAssetSet/FALLBACK_BAKED_AUX3_32X32.j2k create mode 100644 bin/assets/TexturesAssetSet/FALLBACK_BAKED_EYES_32X32.j2k create mode 100644 bin/assets/TexturesAssetSet/FALLBACK_BAKED_HAIR_32X32.j2k create mode 100644 bin/assets/TexturesAssetSet/FALLBACK_BAKED_HEAD_32X32.j2k create mode 100644 bin/assets/TexturesAssetSet/FALLBACK_BAKED_LEFTARM_32X32.j2k create mode 100644 bin/assets/TexturesAssetSet/FALLBACK_BAKED_LEFTLEG_32X32.j2k create mode 100644 bin/assets/TexturesAssetSet/FALLBACK_BAKED_LOWER_32X32.j2k create mode 100644 bin/assets/TexturesAssetSet/FALLBACK_BAKED_SKIRT_32X32.j2k create mode 100644 bin/assets/TexturesAssetSet/FALLBACK_BAKED_UPPER_32X32.j2k (limited to 'bin') diff --git a/bin/assets/TexturesAssetSet/FALLBACK_BAKED_AUX1_32X32.j2k b/bin/assets/TexturesAssetSet/FALLBACK_BAKED_AUX1_32X32.j2k new file mode 100644 index 0000000..66f0c04 Binary files /dev/null and b/bin/assets/TexturesAssetSet/FALLBACK_BAKED_AUX1_32X32.j2k differ diff --git a/bin/assets/TexturesAssetSet/FALLBACK_BAKED_AUX2_32X32.j2k b/bin/assets/TexturesAssetSet/FALLBACK_BAKED_AUX2_32X32.j2k new file mode 100644 index 0000000..69f548e Binary files /dev/null and b/bin/assets/TexturesAssetSet/FALLBACK_BAKED_AUX2_32X32.j2k differ diff --git a/bin/assets/TexturesAssetSet/FALLBACK_BAKED_AUX3_32X32.j2k b/bin/assets/TexturesAssetSet/FALLBACK_BAKED_AUX3_32X32.j2k new file mode 100644 index 0000000..d5169ec Binary files /dev/null and b/bin/assets/TexturesAssetSet/FALLBACK_BAKED_AUX3_32X32.j2k differ diff --git a/bin/assets/TexturesAssetSet/FALLBACK_BAKED_EYES_32X32.j2k b/bin/assets/TexturesAssetSet/FALLBACK_BAKED_EYES_32X32.j2k new file mode 100644 index 0000000..5794444 Binary files /dev/null and b/bin/assets/TexturesAssetSet/FALLBACK_BAKED_EYES_32X32.j2k differ diff --git a/bin/assets/TexturesAssetSet/FALLBACK_BAKED_HAIR_32X32.j2k b/bin/assets/TexturesAssetSet/FALLBACK_BAKED_HAIR_32X32.j2k new file mode 100644 index 0000000..7ae8358 Binary files /dev/null and b/bin/assets/TexturesAssetSet/FALLBACK_BAKED_HAIR_32X32.j2k differ diff --git a/bin/assets/TexturesAssetSet/FALLBACK_BAKED_HEAD_32X32.j2k b/bin/assets/TexturesAssetSet/FALLBACK_BAKED_HEAD_32X32.j2k new file mode 100644 index 0000000..0bcfe6d Binary files /dev/null and b/bin/assets/TexturesAssetSet/FALLBACK_BAKED_HEAD_32X32.j2k differ diff --git a/bin/assets/TexturesAssetSet/FALLBACK_BAKED_LEFTARM_32X32.j2k b/bin/assets/TexturesAssetSet/FALLBACK_BAKED_LEFTARM_32X32.j2k new file mode 100644 index 0000000..1b37864 Binary files /dev/null and b/bin/assets/TexturesAssetSet/FALLBACK_BAKED_LEFTARM_32X32.j2k differ diff --git a/bin/assets/TexturesAssetSet/FALLBACK_BAKED_LEFTLEG_32X32.j2k b/bin/assets/TexturesAssetSet/FALLBACK_BAKED_LEFTLEG_32X32.j2k new file mode 100644 index 0000000..6752e30 Binary files /dev/null and b/bin/assets/TexturesAssetSet/FALLBACK_BAKED_LEFTLEG_32X32.j2k differ diff --git a/bin/assets/TexturesAssetSet/FALLBACK_BAKED_LOWER_32X32.j2k b/bin/assets/TexturesAssetSet/FALLBACK_BAKED_LOWER_32X32.j2k new file mode 100644 index 0000000..05986f3 Binary files /dev/null and b/bin/assets/TexturesAssetSet/FALLBACK_BAKED_LOWER_32X32.j2k differ diff --git a/bin/assets/TexturesAssetSet/FALLBACK_BAKED_SKIRT_32X32.j2k b/bin/assets/TexturesAssetSet/FALLBACK_BAKED_SKIRT_32X32.j2k new file mode 100644 index 0000000..cbefd24 Binary files /dev/null and b/bin/assets/TexturesAssetSet/FALLBACK_BAKED_SKIRT_32X32.j2k differ diff --git a/bin/assets/TexturesAssetSet/FALLBACK_BAKED_UPPER_32X32.j2k b/bin/assets/TexturesAssetSet/FALLBACK_BAKED_UPPER_32X32.j2k new file mode 100644 index 0000000..ae925b3 Binary files /dev/null and b/bin/assets/TexturesAssetSet/FALLBACK_BAKED_UPPER_32X32.j2k differ diff --git a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml index ab07419..46c9ba2 100644 --- a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml +++ b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml @@ -771,12 +771,82 @@
- -
- - - - +
+ + + + +
+ +
+ + + + +
+ +
+ + + + +
+ +
+ + + + +
+ +
+ + + + +
+ +
+ + + +
+
+ + + + +
+ +
+ + + + +
+ +
+ + + + +
+ +
+ + + + +
+ +
+ + + + +
+ + -- cgit v1.1 From 0bafb36aada4d6a64567fcb9825347e91aa86645 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 30 Aug 2019 23:03:39 +0100 Subject: restore a texture asset removed by mistake --- bin/assets/TexturesAssetSet/TexturesAssetSet.xml | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'bin') diff --git a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml index 46c9ba2..3a8c05d 100644 --- a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml +++ b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml @@ -771,6 +771,14 @@
+ +
+ + + + +
+
-- cgit v1.1 From 695821a93a2980738f007d07e9e109a2aa08234d Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 31 Aug 2019 05:44:14 +0100 Subject: update httpserver.dll reverting a change win does not seem to like --- bin/HttpServer_OpenSim.dll | Bin 121344 -> 121344 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index e2670aa..bc102be 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ -- cgit v1.1 From 7cdce3e276c66de26cd12b9d6bd51976e1e41462 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 31 Aug 2019 15:01:15 +0100 Subject: XbakesModule: allow more textures, older versions will not see --- bin/HttpServer_OpenSim.dll | Bin 121344 -> 121344 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index bc102be..c0752de 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ -- cgit v1.1 From 38dbc0328881af907906597ca19d2f2973448573 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 31 Aug 2019 15:36:18 +0100 Subject: mantis 8585 change assets README --- bin/assets/README.txt | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'bin') diff --git a/bin/assets/README.txt b/bin/assets/README.txt index 02cc78f..bca821b 100644 --- a/bin/assets/README.txt +++ b/bin/assets/README.txt @@ -1,12 +1,11 @@ README -OpenSim comes with a default asset set contained in the OpenSimAssetSet -directory. You can also load up your own asset set to OpenSim on startup by -making a file entry in AssetSets.xml. This file should point towards an XML -file which details the assets in your asset set. The -OpenSimAssetSet/OpenSimAssetSet.xml is a good template for the information -required. - -If you want your assets to show up in the standard inventory library for an -avatar, you will also need to add separate entries to the xml files in the -bin/inventory configuration directory. +This folder contains a collection of asset sets that should be loaded to assets server at startup +Each set has own folder, that contains a xml file, that defines all its assets, and the data files needed. +File AssetSets.xml lists all the sets to include + +You can add more assets or sets. Use the provided ones as example + + +To add items with your assets to OpenSim Inventory library, you need to define them in folder +bin/inventory. See that folder README file -- cgit v1.1 From 9d6c996570377f137f93d16c388746f949b9a841 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 11 Sep 2019 13:51:43 +0100 Subject: extent supported number of avatar textures/bakes/wearables, tell viewers about it on lludp RegionHandShake; propagate agenthover; block teleports/crossings based on worn wearables and peer version; --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 110592 -> 110592 bytes bin/OpenMetaverse.dll | Bin 2183168 -> 2195456 bytes bin/OpenMetaverseTypes.dll | Bin 126976 -> 114688 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index a38c3e8..b4f8668 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 40e134f..6d806a5 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index cbd0e3c..ef48b38 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index e89dbc8..a8419a6 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 4161182be0d781306437e36c6a8a9113e2212b51 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Tue, 17 Sep 2019 19:35:05 -0700 Subject: Update the Newtonsoft JSON manipulation DLL to latest version (v12.0.3-beta1). --- bin/Newtonsoft.Json.dll | Bin 59904 -> 698792 bytes bin/Newtonsoft.Json.xml | 11193 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 11193 insertions(+) create mode 100755 bin/Newtonsoft.Json.xml (limited to 'bin') diff --git a/bin/Newtonsoft.Json.dll b/bin/Newtonsoft.Json.dll index 2f28437..ae36195 100644 Binary files a/bin/Newtonsoft.Json.dll and b/bin/Newtonsoft.Json.dll differ diff --git a/bin/Newtonsoft.Json.xml b/bin/Newtonsoft.Json.xml new file mode 100755 index 0000000..6ca7190 --- /dev/null +++ b/bin/Newtonsoft.Json.xml @@ -0,0 +1,11193 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Initializes a new instance of the class. + + The Oid value. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. + + + + + Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. + + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Initializes a new instance of the class. + + The to write to. + + + + Initializes a new instance of the class. + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a JSON array. + + + + + Writes the beginning of a JSON object. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a parameterized constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Creates a custom object. + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a F# discriminated union type to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). + + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + The default value is false. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets the naming strategy used to resolve how enum text is written. + + The naming strategy used to resolve how enum text is written. + + + + Gets or sets a value indicating whether integer values are allowed when serializing and deserializing. + The default value is true. + + true if integers are allowed when serializing and deserializing; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + true if the written enum text will be camel case; otherwise, false. + + + + Initializes a new instance of the class. + + The naming strategy used to resolve how enum text is written. + true if integers are allowed when serializing and deserializing; otherwise, false. + + + + Initializes a new instance of the class. + + The of the used to write enum text. + + + + Initializes a new instance of the class. + + The of the used to write enum text. + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + + Initializes a new instance of the class. + + The of the used to write enum text. + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + true if integers are allowed when serializing and deserializing; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from Unix epoch time + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts XML to and from JSON. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. + + The name of the deserialized root element. + + + + Gets or sets a value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attribute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Gets or sets a value indicating whether to encode special characters when converting JSON to XML. + If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify + XML namespaces, attributes or processing directives. Instead special characters are encoded and written + as part of the XML element name. + + true if special characters are encoded; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + true if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + The default JSON name table implementation. + + + + + Initializes a new instance of the class. + + + + + Gets a string containing the same characters as the specified range of characters in the given array. + + The character array containing the name to find. + The zero-based index into the array specifying the first character of the name. + The number of characters in the name. + A string containing the same characters as the specified range of characters in the given array. + + + + Adds the specified string into name table. + + The string to add. + This method is not thread-safe. + The resolved string. + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that it is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and set members to their default value when deserializing. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface for using pooled arrays. + + The array type content. + + + + Rent an array from the pool. This array must be returned when it is no longer needed. + + The minimum required length of the array. The returned array may be longer. + The rented array from the pool. This array must be returned when it is no longer needed. + + + + Return an array to the pool. + + The array that is being returned. + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, when returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, when returns false). + + + + Instructs the how to serialize the collection. + + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items. + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the how to serialize the object. + + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets the collection's items converter. + + The collection's items converter. + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Provides methods for converting between .NET types and JSON types. + + + + + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + The string escape handling. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output should be formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output should be formatted. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Serializes the to a JSON string. + + The node to serialize. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to serialize. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by , + writes a Json.NET array attribute for collections, and encodes special characters. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + + A value to indicate whether to encode special characters when converting JSON to XML. + If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify + XML namespaces, attributes or processing directives. Instead special characters are encoded and written + as part of the XML element name. + + The deserialized . + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to convert to JSON. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by , + writes a Json.NET array attribute for collections, and encodes special characters. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + + A value to indicate whether to encode special characters when converting JSON to XML. + If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify + XML namespaces, attributes or processing directives. Instead special characters are encoded and written + as part of the XML element name. + + The deserialized . + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Converts an object to and from JSON. + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. If there is no existing value then null will be used. + The existing value has a value. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Gets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + + + + + Initializes a new instance of the class. + + Type of the . + + + + Initializes a new instance of the class. + + Type of the . + Parameter list to use when constructing the . Can be null. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Initializes a new instance of the class. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Base class for a table of atomized string objects. + + + + + Gets a string containing the same characters as the specified range of characters in the given array. + + The character array containing the name to find. + The zero-based index into the array specifying the first character of the name. + The number of characters in the name. + A string containing the same characters as the specified range of characters in the given array. + + + + Instructs the how to serialize the object. + + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + + + + Gets or sets how the object's properties with null values are handled during serialization and deserialization. + + How the object's properties with null values are handled during serialization and deserialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to always serialize the member with the specified name. + + + + + Gets or sets the type used when serializing the property's collection items. + + The collection's items type. + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Asynchronously reads the next JSON token from the source. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns true if the next token was read successfully; false if there are no more tokens to read. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously skips the children of the current token. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a []. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the []. This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Specifies the state of the reader. + + + + + A read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader is in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the source should be closed when this reader is closed. + + + true to close the source when this reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. + The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets or sets how time zones are handled when reading JSON. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets the .NET type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Reads the next JSON token from the source. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the current token and value. + + The new token. + The value. + A flag indicating whether the position index inside an array should be updated. + + + + Sets the state based on current token type. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the reader's state to . + If is set to true, the source is also closed. + + + + + The exception thrown when an error occurs while reading JSON text. + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The line number indicating where the error occurred. + The line position indicating where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Instructs the to always serialize the member, and to require that the member has a value. + + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The line number indicating where the error occurred. + The line position indicating where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + The default value is . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + The default value is . + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + The default value is . + + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + The default value is . + + + + + Gets or sets how null values are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how default values are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how objects are created during deserialization. + The default value is . + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + The default value is . + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + The default value is . + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + The default value is . + + + + + Gets or sets how dates are written to JSON text. + The default value is . + + + + + Gets or sets how time zones are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + The default value is . + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + The default value is . + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON text. + The default value is . + + + + + Gets or sets how strings are escaped when writing JSON text. + The default value is . + + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". + + + + + Gets or sets the culture used when reading JSON. + The default value is . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + A null value means there is no maximum. + The default value is null. + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + The default value is false. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings + from . + + + A new instance. + The will not use default settings + from . + + + + + Creates a new instance using the specified . + The will not use default settings + from . + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings + from . + + + + + Creates a new instance. + The will use default settings + from . + + + A new instance. + The will use default settings + from . + + + + + Creates a new instance using the specified . + The will use default settings + from as well as the specified . + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings + from as well as the specified . + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to read values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to read values from. + The target object to populate values onto. + + + + Deserializes the JSON structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Specifies the settings on a object. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) are handled. + The default value is . + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + The default value is . + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + The default value is . + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + The default value is . + + Null value handling. + + + + Gets or sets how default values are handled during serialization and deserialization. + The default value is . + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + The default value is . + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + The default value is . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + The default value is . + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + The default value is . + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets a function that creates the used by the serializer when resolving references. + + A function that creates the used by the serializer when resolving references. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + A null value means there is no maximum. + The default value is null. + + + + + Indicates how JSON text output is formatted. + The default value is . + + + + + Gets or sets how dates are written to JSON text. + The default value is . + + + + + Gets or sets how time zones are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + The default value is . + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON. + The default value is . + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + The default value is . + + + + + Gets or sets how strings are escaped when writing JSON text. + The default value is . + + + + + Gets or sets the culture used when reading JSON. + The default value is . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + The default value is false. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Asynchronously reads the next JSON token from the source. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns true if the next token was read successfully; false if there are no more tokens to read. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a []. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the []. This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Initializes a new instance of the class with the specified . + + The containing the JSON data to read. + + + + Gets or sets the reader's property name table. + + + + + Gets or sets the reader's character buffer pool. + + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the JSON value delimiter. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the specified end token. + + The end token to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously closes this writer. + If is set to true, the destination is also closed. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of the current JSON object or array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes indent characters. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes an indent space. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes raw JSON without changing the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a null value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the beginning of a JSON array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the beginning of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the start of a constructor with the given name. + + The name of the constructor. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes an undefined value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the given white space. + + The string of white space characters. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a [] value. + + The [] value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of an array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of a constructor. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Gets or sets the writer's character array pool. + + + + + Gets or sets how many s to write for each level in the hierarchy when is set to . + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to . + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Initializes a new instance of the class using the specified . + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying . + + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Specifies the type of JSON token. + + + + + This is returned by the if a read method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + + Represents a reader that provides validation. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the .NET type for the current JSON token. + + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a []. + + + A [] or null if the next JSON token is null. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Asynchronously closes this writer. + If is set to true, the destination is also closed. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the specified end token. + + The end token to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes indent characters. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the JSON value delimiter. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes an indent space. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes raw JSON without changing the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the end of the current JSON object or array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the end of an array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the end of a constructor. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the end of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a null value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the beginning of a JSON array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the start of a constructor with the given name. + + The name of the constructor. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the beginning of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the current token. + + The to read the token from. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the token and its value. + + The to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a [] value. + + The [] value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes an undefined value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the given white space. + + The string of white space characters. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously ets the state of the . + + The being written. + The value being written. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Gets or sets a value indicating whether the destination should be closed when this writer is closed. + + + true to close the destination when this writer is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. + + + true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Gets or sets a value indicating how JSON text output should be formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled when writing JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the destination and also flushes the destination. + + + + + Closes this writer. + If is set to true, the destination is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the end of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current JSON object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + + + + Writes the token. + + The to write. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Sets the state of the . + + The being written. + The value being written. + + + + The exception thrown when an error occurs while writing JSON text. + + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Specifies how JSON comments are handled when loading JSON. + + + + + Ignore comments. + + + + + Load comments as a with type . + + + + + Specifies how duplicate property names are handled when loading JSON. + + + + + Replace the existing value when there is a duplicate property. The value of the last property in the JSON object will be used. + + + + + Ignore the new value when there is a duplicate property. The value of the first property in the JSON object will be used. + + + + + Throw a when a duplicate property is encountered. + + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, and the descendants of every token in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every token in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every token in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every token in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every token in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token. + + + + Gets the of with the specified key. + + + + + + Represents a JSON array. + + + + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous load. The property contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous load. The property contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads an from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + + + + + Returns an enumerator that iterates through the collection. + + + A of that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + + + + Removes all items from the . + + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies the elements of the to an array, starting at a particular array index. + + The array. + Index of the array. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + + + + Represents a JSON constructor. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a token that can contain other tokens. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An of containing the descendant tokens of the . + + + + Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. + + An of containing this token, and all the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates a that can be used to add tokens to the . + + A that is ready to have content written to it. + + + + Replaces the child nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens. + + + + Represents a collection of objects. + + The type of token. + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Gets the of with the specified key. + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Represents a JSON object. + + + + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets the node type for this . + + The type. + + + + Gets an of of this object's properties. + + An of of this object's properties. + + + + Gets a with the specified name. + + The property name. + A with the specified name or null. + + + + Gets the with the specified name. + The exact name will be searched for first and if no matching property is found then + the will be used to match a property. + + The property name. + One of the enumeration values that specifies how the strings will be compared. + A matched with the specified name or null. + + + + Gets a of of this object's property values. + + A of of this object's property values. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Determines whether the JSON object has the specified property name. + + Name of the property. + true if the JSON object has the specified property name; otherwise, false. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries to get the with the specified property name. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Represents a JSON property. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. + When the or + + methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Represents a raw JSON string. + + + + + Asynchronously creates an instance of with the content of the reader's current token. + + The reader. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns an instance of with the content of the reader's current token. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Specifies the settings used when loading JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how JSON comments are handled when loading JSON. + The default value is . + + The JSON comment handling. + + + + Gets or sets how JSON line info is handled when loading JSON. + The default value is . + + The JSON line info handling. + + + + Gets or sets how duplicate property names in JSON objects are handled when loading JSON. + The default value is . + + The JSON duplicate property name handling. + + + + Specifies the settings used when merging JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Gets or sets how null value properties are merged. + + How null value properties are merged. + + + + Gets or sets the comparison used to match property names while merging. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + The comparison used to match property names while merging. + + + + Represents an abstract JSON token. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Writes this token to a asynchronously. + + A into which this method will write. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously creates a from a . + + An positioned at the token to read into this . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains + the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains + the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + A positioned at the token to read into this . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of tokens that contain this token, and the ancestors of this token. + + A collection of tokens that contain this token, and the ancestors of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output should be formatted. + A collection of s which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to []. + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from [] to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Creates a for this token. + + A that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object. + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + Creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A , or null. + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + An of that contains the selected elements. + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An of that contains the selected elements. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Adds an object to the annotation list of this . + + The annotation to add. + + + + Get the first annotation object of the specified type from this . + + The type of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets the first annotation object of the specified type from this . + + The of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets a collection of annotations of the specified type for this . + + The type of the annotations to retrieve. + An that contains the annotations for this . + + + + Gets a collection of annotations of the specified type for this . + + The of the annotations to retrieve. + An of that contains the annotations that match the specified type for this . + + + + Removes the annotations of the specified type from this . + + The type of annotations to remove. + + + + Removes the annotations of the specified type from this . + + The of annotations to remove. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Gets the at the reader's current position. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Initializes a new instance of the class. + + The token to read from. + The initial path of the token. It is prepended to the returned . + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets the at the writer's current position. + + + + + Gets the token being written. + + The token being written. + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying . + + + + + Closes this writer. + If is set to true, the JSON is auto-completed. + + + Setting to true has no additional effect, since the underlying is a type that cannot be closed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes a value. + An error will be raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a undefined value. + + A undefined value. + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Writes this token to a . + + A into which this method will write. + A collection of s which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not of the same type as this instance. + + + + + Specifies how line information is handled when loading JSON. + + + + + Ignore line information. + + + + + Load line information. + + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies how null value properties are merged. + + + + + The content's null value properties will be ignored during merging. + + + + + The content's null value properties will be merged. + + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + The property is not required but it cannot be a null value. + + + + + + Contains the JSON schema extension methods. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + The validation event handler. + + + + + An in-memory representation of a JSON Schema. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read-only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisible by. + + A number that the value should be divisible by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). + + A flag indicating whether the value can not equal the number defined by the minimum attribute (). + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). + + A flag indicating whether the value can not equal the number defined by the maximum attribute (). + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallowed types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains JSON Schema. + + A that contains JSON Schema. + A populated from the string that contains JSON Schema. + + + + Load a from a string that contains JSON Schema using the specified . + + A that contains JSON Schema. + The resolver. + A populated from the string that contains JSON Schema. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + + Returns detailed information about the schema exception. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + + Generates a from a specified . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + + Resolves from an id. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + + The value types allowed by the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + + Specifies undefined schema Id handling options for the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + + Returns detailed information related to the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + + Represents the callback method that will handle JSON schema validation events and the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + A camel case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used by to resolve a for a given . + + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore IsSpecified members when serializing and deserializing types. + + + true if the IsSpecified members will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore ShouldSerialize members when serializing and deserializing types. + + + true if the ShouldSerialize members will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. + + The naming strategy used to resolve how property names and dictionary keys are serialized. + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Resolved name of the property. + + + + Resolves the name of the extension data. By default no changes are made to extension data names. + + Name of the extension data. + Resolved name of the extension data. + + + + Resolves the key of the dictionary. By default is used to resolve dictionary keys. + + Key of the dictionary. + Resolved key of the dictionary. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + The default naming strategy. Property names and dictionary keys are unchanged. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + Initializes a new instance of the class. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer that writes to the application's instances. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides methods to get attributes. + + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Used by to resolve a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that was resolved from the reference. + + + + Gets the reference for the specified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Allows users to control class loading and mandate what class to load. + + + + + When implemented, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When implemented, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the collection values. + + true if the creator has a parameter with the collection values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets the internally resolved for the contract's type. + This converter is used as a fallback converter when no other converter is resolved. + Setting will always override this converter. + + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non-public. + + true if the default object creator is non-public; otherwise, false. + + + + Contract details for a used by the . + + + + + Gets or sets the dictionary key resolver. + + The dictionary key resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the dictionary values. + + true if the creator has a parameter with the dictionary values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object constructor. + + The object constructor. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets or sets how the object's properties with null values are handled during serialization and deserialization. + + How the object's properties with null values are handled during serialization and deserialization. + + + + Gets the object's properties. + + The object's properties. + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Gets or sets the extension data value type. + + + + + Gets or sets the extension data name resolver. + + The extension data name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the for this property. + + The for this property. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes precedence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether has a value specified. + + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets a predicate used to determine whether the property should be deserialized. + + A predicate used to determine whether the property should be deserialized. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Lookup and create an instance of the type described by the argument. + + The type to create. + Optional arguments to pass to an initializing constructor of the JsonConverter. + If null, the default constructor is used. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + A base class for resolving how property names and dictionary keys are serialized. + + + + + A flag indicating whether dictionary keys should be processed. + Defaults to false. + + + + + A flag indicating whether extension data names should be processed. + Defaults to false. + + + + + A flag indicating whether explicitly specified property names, + e.g. a property name customized with a , should be processed. + Defaults to false. + + + + + Gets the serialized name for a given property name. + + The initial property name. + A flag indicating whether the property has had a name explicitly specified. + The serialized property name. + + + + Gets the serialized name for a given extension data name. + + The initial extension data name. + The serialized extension data name. + + + + Gets the serialized key for a given dictionary key. + + The initial dictionary key. + The serialized dictionary key. + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Hash code calculation + + + + + + Object equality implementation + + + + + + + Compare to another NamingStrategy + + + + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Provides methods to get attributes from a , , or . + + + + + Initializes a new instance of the class. + + The instance to get attributes for. This parameter should be a , , or . + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + A snake case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. + + + + + Specifies type name handling options for the . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON + you must specify a root type object with + or . + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic . + + The list to add to. + The collection of elements to add. + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Helper class for serializing immutable collections. + Note that this is used by all builds, even those that don't support immutable collections, in case the DLL is GACed + https://github.com/JamesNK/Newtonsoft.Json/issues/652 + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike this class lets you reuse its internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls result in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + An array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + Specifies that an output will not be null even if the corresponding type allows it. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + -- cgit v1.1 From 55d70f5df7068903490be10d150f373b3bc92e23 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 8 Oct 2019 06:31:39 +0100 Subject: update livomv --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 110592 -> 110592 bytes bin/OpenMetaverse.dll | Bin 2195456 -> 2195456 bytes bin/OpenMetaverseTypes.dll | Bin 114688 -> 114688 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index b4f8668..751bed5 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 6d806a5..81967d8 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index ef48b38..8c22d86 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index a8419a6..b98562e 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 2c1909a873b7895e725d39d67bae4dac9873b1d2 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 11 Oct 2019 00:01:59 +0100 Subject: add osResetAllScripts(LSL_Integer AllLinkset). use with care --- bin/ScriptSyntax.xml | 97 ++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 78 insertions(+), 19 deletions(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index 12c3a30..135ded9 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,4 +1,4 @@ -4c3dbda3-bc1e-b0f0-c532-2c6daf1e2343 +dfadabce-becc-8749-2b74-781332befa2e llsd-lsl-syntax-version2 controls @@ -1027,6 +1027,50 @@ typeinteger value3 + IMG_USE_BAKED_AUX1 + typestring + value9742065b-19b5-297c-858a-29711d539043 + + IMG_USE_BAKED_AUX2 + typestring + value03642e83-2bd1-4eb9-34b4-4c47ed586d2d + + IMG_USE_BAKED_AUX3 + typestring + valueedd51b77-fc10-ce7a-4b3d-011dfc349e4f + + IMG_USE_BAKED_EYES + typestring + value52cc6bb6-2ee5-e632-d3ad-50197b1dcb8a + + IMG_USE_BAKED_HAIR + typestring + value09aac1fb-6bce-0bee-7d44-caac6dbb6c63 + + IMG_USE_BAKED_HEAD + typestring + value5a9f4a74-30f2-821c-b88d-70499d3e7183 + + IMG_USE_BAKED_LEFTARM + typestring + valueff62763f-d60a-9855-890b-0c96f8f8cd98 + + IMG_USE_BAKED_LEFTLEG + typestring + value8e915e25-31d1-cc95-ae08-d58a47488251 + + IMG_USE_BAKED_LOWER + typestring + value24daea5f-0539-cfcf-047f-fbc40b2786ba + + IMG_USE_BAKED_SKIRT + typestring + value43529ce8-7faa-ad92-165a-bc4078371687 + + IMG_USE_BAKED_UPPER + typestring + valueae2de45c-d252-50b8-5c6e-19f39ce79317 + INVENTORY_ALL typeinteger value-1 @@ -1513,7 +1557,7 @@ OS_APIVERSION typeinteger - value6 + value9 OS_ATTACH_MSG_ALL typeinteger @@ -6322,6 +6366,8 @@ returnstring arguments drawListtypestring + startXtypeinteger + startYtypeinteger endXtypeinteger endYtypeinteger @@ -6331,8 +6377,6 @@ returnstring arguments drawListtypestring - startXtypeinteger - startYtypeinteger endXtypeinteger endYtypeinteger @@ -6471,13 +6515,13 @@ arguments avatartypestring - targettypestring osForceOtherSit arguments avatartypestring + targettypestring osFormatString @@ -6714,7 +6758,7 @@ returnkey arguments - regionNametypestring + regionNameOrIDtypestring osGetRegionSize @@ -7013,7 +7057,6 @@ arguments npctypekey - channeltypeinteger messagetypestring @@ -7021,6 +7064,7 @@ arguments npctypekey + channeltypeinteger messagetypestring @@ -7182,6 +7226,7 @@ returninteger arguments secondstypefloat + msgtypestring osRegionRestart @@ -7189,7 +7234,6 @@ returninteger arguments secondstypefloat - msgtypestring osReplaceString @@ -7217,6 +7261,12 @@ optionstypelist + osResetAllScripts + + arguments + AllLinksettypeinteger + + osRound returnfloat @@ -7413,7 +7463,7 @@ osSetProjectionParams arguments - primtypekey + linknumbertypeinteger projectiontypeinteger texturetypekey fovtypefloat @@ -7424,7 +7474,7 @@ osSetProjectionParams arguments - linknumbertypeinteger + primtypekey projectiontypeinteger texturetypekey fovtypefloat @@ -7515,6 +7565,15 @@ valuetypefloat + osSlerp + + returnrotation + arguments + atyperotation + btyperotation + amounttypefloat + + osStopSound arguments @@ -7556,6 +7615,8 @@ arguments srctypestring valuetypestring + starttypeinteger + counttypeinteger ignorecasetypeinteger @@ -7565,8 +7626,6 @@ arguments srctypestring valuetypestring - starttypeinteger - counttypeinteger ignorecasetypeinteger @@ -7603,7 +7662,6 @@ arguments srctypestring starttypeinteger - lengthtypeinteger osStringSubString @@ -7612,6 +7670,7 @@ arguments srctypestring starttypeinteger + lengthtypeinteger osSunGetParam @@ -7632,8 +7691,6 @@ arguments agenttypestring - regionXtypeinteger - regionYtypeinteger positiontypevector lookattypevector @@ -7642,6 +7699,7 @@ arguments agenttypestring + regionNametypestring positiontypevector lookattypevector @@ -7650,7 +7708,8 @@ arguments agenttypestring - regionNametypestring + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector @@ -7675,8 +7734,7 @@ osTeleportOwner arguments - regionXtypeinteger - regionYtypeinteger + regionNametypestring positiontypevector lookattypevector @@ -7684,7 +7742,8 @@ osTeleportOwner arguments - regionNametypestring + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector -- cgit v1.1 From 77126cee00ec20c5ca452e1b532d3b738decf876 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 15 Oct 2019 22:57:30 +0100 Subject: change coments on osslEnable.ini and remove list of functions always suported; --- bin/config-include/osslEnable.ini | 106 +++++++------------------------------- 1 file changed, 18 insertions(+), 88 deletions(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 84943e7..759647d 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -1,16 +1,10 @@ ; Enable OSSL functions. ; Including this file in a region's set of INI files, causes the OpenSimulator ; specific functions to be enabled. -; See http://opensimulator.org/wiki/OSSL for a description of OSSL functions and -; refer to http://opensimulator.org/wiki/OSSL_Implemented for a list of functions. - -; The below file lists all the functions and specifies who has permission to -; execute the function. Some of the functions are for maintainance or can be -; mis-used so the permission to execute a function can be limited. Ability to -; execute a function is based on the owner of the prim holding the script. +; See http://opensimulator.org/wiki/Category:OSSL_Functions for a description of OSSL functions [OSSL] - ; Allow the use of os* functions (some are dangerous) + ; Allow the use of os* functions (some are always avaiable) AllowOSFunctions = true ; Allow the user of mod* functions. This allows a script to pass messages @@ -22,19 +16,23 @@ ; The setting enable_windlight = true must also be enabled in the [LightShare] section. AllowLightShareFunctions = true - ; Threat level to allow. One of None, VeryLow, Low, Moderate, High, VeryHigh, Severe. + ; Function Threat level + ; Several functions have a predefined threat level, one of: None, VeryLow, Low, Moderate, High, VeryHigh, Severe. ; See http://opensimulator.org/wiki/Threat_level for more information on these levels. - ; This is the default level and can be overridden with the Allow_ specifications. ; Blanket enabling the ossl functions is dangerous and we do not recommend setting higher ; than 'Low' unless you have a high level of trust in all the users that can run scripts ; in your simulator. It is safer to explicitly allow certain types of user to run ; higher threat level OSSL functions, as detailed later on. + ; This setting defines the highest level allowed to execute OSFunctionThreatLevel = VeryLow - ; Some of the OSSL functions can be enabled or disabled individually. - ; To disable, set the value to 'false'. - ; To enable for everyone, set the value to 'true'. - ; To enable for individuals or groups, set it to a comma separated list. This checks + ; The threat level can be replaced by more detailed rules by lines of the form + ; Allow_FunctionName = parameters + ; To use the default threat level coment the respective line + ; parameters can be: + ; 'false' disables the function. + ; 'true' enables for everyone + ; or to enable for individuals or groups, set it to a comma separated list. This checks ; against the owner of the object containing the script. ; The comma separated entries in the list may be one of: ; "GRID_GOD" -- enable for users with UserLevel >= 200 @@ -63,11 +61,11 @@ ; NPC macros ; These can be mis-used so limit use to those you can trust. osslNPC = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + + ; The threat level also can be replaced by lines of the form + ; Creators__FunctionName = comma separated list of UUIDs + ; this will enable the function for users that are creators and owners of the prim - ; The OSSL function name is prepended with "Allow_" and it checks against - ; the owners of the containing prim. There can also be entries beginning with - ; 'Creators_". The 'Creators_" parameters can only be a list of UUIDs and it is - ; checked against the creator of the script itself. ; ************************************************* @@ -222,73 +220,5 @@ Allow_osSetContentType = false -; available functions out of Threat level control (for reference only) -; Allow_osAdjustSoundVolume = true -; Allow_osAngleBetween = true -; Allow_osApproxEquals = true -; Allow_osCheckODE = true -; Allow_osClearInertia = true -; Allow_osCollisionSound = true -; Allow_osDrawEllipse = true -; Allow_osDrawFilledEllipse = true -; Allow_osDrawFilledPolygon = true -; Allow_osDrawFilledRectangle = true -; Allow_osDrawImage = true -; Allow_osDrawLine = true -; Allow_osDrawPolygon = true -; Allow_osDrawRectangle = true -; Allow_osDrawResetTransform = true -; Allow_osDrawRotationTransform = true -; Allow_osDrawScaleTransform = true -; Allow_osDrawText = true -; Allow_osDrawTranslationTransform = true -; Allow_osGetCurrentSunHour = true -; Allow_osGetInertiaData = true -; Allow_osGetInventoryDesc = true -; Allow_osGetInventoryItemKey = true -; Allow_osGetInventoryLastOwner = true -; Allow_osGetInventoryName = true -; Allow_osGetLinkNumber = true -; Allow_osGetMapTexture = true -; Allow_osGetPhysicsEngineName = true -; Allow_osGetPrimitiveParams = true -; Allow_osGetRegionSize = true -; Allow_osGetSunParam = true -; Allow_osGetTerrainHeight = true -; Allow_osGetDrawStringSize = true -; Allow_osIsNpc = true -; Allow_osIsUUID = true -; Allow_osLoopSound = true -; Allow_osLoopSoundMaster = true -; Allow_osLoopSoundSlave = true -; Allow_osMax = true -; Allow_osMin = true -; Allow_osMovePen = true -; Allow_osPlaySound = true -; Allow_osPlaySoundSlave = true -; Allow_osPreloadSound = true -; Allow_osRound = true -; Allow_osSetFontName = true -; Allow_osSetFontSize = true -; Allow_osSetInertia = true -; Allow_osSetInertiaAsBox = true -; Allow_osSetInertiaAsSphere = true -; Allow_osSetInertiaAsCylinder = true -; Allow_osSetPenCap = true -; Allow_osSetPenColor = true -; Allow_osSetPenSize = true -; Allow_osSetPrimitiveParams = true -; Allow_osSetSoundRadius = true -; Allow_osStopSound = true -; Allow_osStringSubString = true -; Allow_osStringStartsWith = true -; Allow_osStringEndsWith = true -; Allow_osStringIndexOf = true -; Allow_osStringLastIndexOf = true -; Allow_osStringRemove = true -; Allow_osStringReplace = true -; Allow_osTriggerSound = true -; Allow_osTriggerSoundLimited = true -; Allow_osVecDistSquare = true -; Allow_osVecMagSquare = true -; Allow_osVolumeDetect = true +; Always avaiable +; see http://opensimulator.org/wiki/Category:OSSL_Functions -- cgit v1.1 From d79d7e228a059e40a9334c9e2ec4c81075443f83 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 16 Oct 2019 00:08:45 +0100 Subject: add OSSL option PermissionErrortoOwner (true or false). if true ossl functions permission errors will only be sent to prim owner, defaul false: send all around --- bin/config-include/osslEnable.ini | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 759647d..fd559b2 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -16,6 +16,9 @@ ; The setting enable_windlight = true must also be enabled in the [LightShare] section. AllowLightShareFunctions = true + ; Send function permission error to owner if true, to all if false + PermissionErrorToOwner = false + ; Function Threat level ; Several functions have a predefined threat level, one of: None, VeryLow, Low, Moderate, High, VeryHigh, Severe. ; See http://opensimulator.org/wiki/Threat_level for more information on these levels. @@ -64,7 +67,7 @@ ; The threat level also can be replaced by lines of the form ; Creators__FunctionName = comma separated list of UUIDs - ; this will enable the function for users that are creators and owners of the prim + ; this will enable the function for users that are the script creators and owners of the prim ; ************************************************* -- cgit v1.1 From b87301f6928ff507ca193302148ed384850e261b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 16 Oct 2019 14:04:20 +0100 Subject: typo --- bin/config-include/osslEnable.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index fd559b2..44c7e88 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -4,7 +4,7 @@ ; See http://opensimulator.org/wiki/Category:OSSL_Functions for a description of OSSL functions [OSSL] - ; Allow the use of os* functions (some are always avaiable) + ; Allow the use of os* functions (some are always available) AllowOSFunctions = true ; Allow the user of mod* functions. This allows a script to pass messages @@ -223,5 +223,5 @@ Allow_osSetContentType = false -; Always avaiable +; Always available ; see http://opensimulator.org/wiki/Category:OSSL_Functions -- cgit v1.1 From 2a90f78fe16933fb33d5392610ff17046816ad04 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 17 Oct 2019 23:33:11 +0100 Subject: add LSL_Integer osIsNotValidNumber(LSL_Float v) --- bin/ScriptSyntax.xml | 57 +++++++++++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 25 deletions(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index 135ded9..e2ab46e 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,4 +1,4 @@ -dfadabce-becc-8749-2b74-781332befa2e +7ddea7b6-2c1f-1bf6-d0b1-8e99955c9587 llsd-lsl-syntax-version2 controls @@ -1557,7 +1557,7 @@ dfadabce-becc-8749-2b74-781332befa2e OS_APIVERSION typeinteger - value9 + value10 OS_ATTACH_MSG_ALL typeinteger @@ -6196,17 +6196,16 @@ dfadabce-becc-8749-2b74-781332befa2e returninteger arguments - ratyperotation - rbtyperotation - margintypefloat + atypefloat + btypefloat osApproxEquals returninteger arguments - ratyperotation - rbtyperotation + vatypevector + vbtypevector osApproxEquals @@ -6222,8 +6221,8 @@ dfadabce-becc-8749-2b74-781332befa2e returninteger arguments - vatypevector - vbtypevector + ratyperotation + rbtyperotation osApproxEquals @@ -6239,8 +6238,9 @@ dfadabce-becc-8749-2b74-781332befa2e returninteger arguments - atypefloat - btypefloat + ratyperotation + rbtyperotation + margintypefloat osAvatarName2Key @@ -6366,8 +6366,6 @@ dfadabce-becc-8749-2b74-781332befa2e returnstring arguments drawListtypestring - startXtypeinteger - startYtypeinteger endXtypeinteger endYtypeinteger @@ -6377,6 +6375,8 @@ dfadabce-becc-8749-2b74-781332befa2e returnstring arguments drawListtypestring + startXtypeinteger + startYtypeinteger endXtypeinteger endYtypeinteger @@ -6826,6 +6826,13 @@ dfadabce-becc-8749-2b74-781332befa2e agentIdtypekey + osIsNotValidNumber + + returninteger + arguments + vtypefloat + + osIsNpc returninteger @@ -7057,6 +7064,7 @@ dfadabce-becc-8749-2b74-781332befa2e arguments npctypekey + channeltypeinteger messagetypestring @@ -7064,7 +7072,6 @@ dfadabce-becc-8749-2b74-781332befa2e arguments npctypekey - channeltypeinteger messagetypestring @@ -7211,13 +7218,13 @@ dfadabce-becc-8749-2b74-781332befa2e osRegionNotice arguments - agentIDtypekey msgtypestring osRegionNotice arguments + agentIDtypekey msgtypestring @@ -7226,7 +7233,6 @@ dfadabce-becc-8749-2b74-781332befa2e returninteger arguments secondstypefloat - msgtypestring osRegionRestart @@ -7234,6 +7240,7 @@ dfadabce-becc-8749-2b74-781332befa2e returninteger arguments secondstypefloat + msgtypestring osReplaceString @@ -7463,7 +7470,7 @@ dfadabce-becc-8749-2b74-781332befa2e osSetProjectionParams arguments - linknumbertypeinteger + primtypekey projectiontypeinteger texturetypekey fovtypefloat @@ -7474,7 +7481,7 @@ dfadabce-becc-8749-2b74-781332befa2e osSetProjectionParams arguments - primtypekey + linknumbertypeinteger projectiontypeinteger texturetypekey fovtypefloat @@ -7662,6 +7669,7 @@ dfadabce-becc-8749-2b74-781332befa2e arguments srctypestring starttypeinteger + lengthtypeinteger osStringSubString @@ -7670,7 +7678,6 @@ dfadabce-becc-8749-2b74-781332befa2e arguments srctypestring starttypeinteger - lengthtypeinteger osSunGetParam @@ -7691,6 +7698,7 @@ dfadabce-becc-8749-2b74-781332befa2e arguments agenttypestring + regionNametypestring positiontypevector lookattypevector @@ -7699,7 +7707,8 @@ dfadabce-becc-8749-2b74-781332befa2e arguments agenttypestring - regionNametypestring + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector @@ -7708,8 +7717,6 @@ dfadabce-becc-8749-2b74-781332befa2e arguments agenttypestring - regionXtypeinteger - regionYtypeinteger positiontypevector lookattypevector @@ -7734,7 +7741,8 @@ dfadabce-becc-8749-2b74-781332befa2e osTeleportOwner arguments - regionNametypestring + regionXtypeinteger + regionYtypeinteger positiontypevector lookattypevector @@ -7742,8 +7750,7 @@ dfadabce-becc-8749-2b74-781332befa2e osTeleportOwner arguments - regionXtypeinteger - regionYtypeinteger + regionNametypestring positiontypevector lookattypevector -- cgit v1.1 From 24b1e84ecad28a74565163957d0e9ba1a58d55ec Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 19 Oct 2019 09:59:15 +0100 Subject: change osSetDynamicTextureURL(Blend) to ThreatLevel.VeryHigh,ESTATE_MANAGER,ESTATE_OWNER --- bin/config-include/osslEnable.ini | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 44c7e88..7c5ceb0 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -100,9 +100,7 @@ Allow_osSetDynamicTextureDataFace = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureDataBlend = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureDataBlendFace = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureURL = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureURLBlend = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureURLBlendFace = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetParcelMediaURL = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetParcelSIPAddress = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetPrimFloatOnWater = true @@ -207,14 +205,14 @@ Allow_osGetNotecard = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetNotecardLine = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetNumberOfNotecardLines = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureURL = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureURLBlendFace = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRot = false Allow_osSetParcelDetails = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel Severe Allow_osConsoleCommand = false - Allow_osGrantScriptPermissions = false Allow_osKickAvatar = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osRevokeScriptPermissions = false Allow_osTeleportAgent = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osTeleportObject = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -- cgit v1.1 From 7ed339324f3571f03cffc3902b524a5e557ba3ca Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 19 Oct 2019 11:49:46 +0100 Subject: same for osSetDynamicTextureURLBlendFace(). thx djphil --- bin/config-include/osslEnable.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 7c5ceb0..c524a67 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -100,7 +100,6 @@ Allow_osSetDynamicTextureDataFace = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureDataBlend = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureDataBlendFace = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureURLBlend = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetParcelMediaURL = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetParcelSIPAddress = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetPrimFloatOnWater = true @@ -206,6 +205,7 @@ Allow_osGetNotecardLine = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetNumberOfNotecardLines = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureURL = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureURLBlend = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureURLBlendFace = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRot = false Allow_osSetParcelDetails = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -- cgit v1.1 From ab335b5926a91a6b527da80812fb2bf210639f8c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 19 Oct 2019 18:00:45 +0100 Subject: add a few lsl constants --- bin/ScriptSyntax.xml | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index e2ab46e..411331b 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,4 +1,4 @@ -7ddea7b6-2c1f-1bf6-d0b1-8e99955c9587 +84b526ce-3ad0-46bb-7a8a-b37be2734c5b llsd-lsl-syntax-version2 controls @@ -1371,6 +1371,14 @@ typestring value00000000-0000-0000-0000-000000000000 + OBJECT_ANIMATED_COUNT + typeinteger + value39 + + OBJECT_ANIMATED_SLOTS_AVAILABLE + typeinteger + value40 + OBJECT_ATTACHED_POINT typeinteger value19 @@ -1391,6 +1399,10 @@ typeinteger value28 + OBJECT_CREATION_TIME + typeinteger + value36 + OBJECT_CREATOR typeinteger value8 @@ -1483,10 +1495,18 @@ typeinteger value12 + OBJECT_SELECT_COUNT + typeinteger + value37 + OBJECT_SERVER_COST typeinteger value14 + OBJECT_SIT_COUNT + typeinteger + value38 + OBJECT_STREAMING_COST typeinteger value15 -- cgit v1.1 From a7f84126445c5d1c1d17a5849c31a8b7a21f6e2d Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 21 Oct 2019 11:25:40 +0100 Subject: a few changes on osslEnable.ini --- bin/config-include/osslEnable.ini | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index c524a67..2b820ce 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -80,8 +80,9 @@ Allow_osGetHealRate = true Allow_osGetNPCList = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetRezzingObject = true + Allow_osGetSunParam = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osNpcGetOwner = ${OSSL|osslNPC} - Allow_osSetSunParam = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetSunParam = ESTATE_MANAGER,ESTATE_OWNER Allow_osTeleportOwner = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osWindActiveModelPluginName = true @@ -140,6 +141,8 @@ Allow_osMessageAttachments = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetSpeed = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetOwnerSpeed = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osRequestURL = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osRequestSecureURL = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel High Allow_osCauseDamage = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -- cgit v1.1 From 7f8d5bbdce4a4a56e870f76d11d5d20fae979847 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 21 Oct 2019 11:34:32 +0100 Subject: a few changes on osslEnable.ini --- bin/config-include/osslEnable.ini | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 2b820ce..59373b3 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -75,16 +75,16 @@ ; ThreatLevel None Allow_osGetAgents = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetAvatarList = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetGender = true - Allow_osGetHealth = true - Allow_osGetHealRate = true + ;Allow_osGetGender = true + ;Allow_osGetHealth = true + ;Allow_osGetHealRate = true Allow_osGetNPCList = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetRezzingObject = true - Allow_osGetSunParam = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + ;Allow_osGetRezzingObject = true + ;Allow_osGetSunParam = true Allow_osNpcGetOwner = ${OSSL|osslNPC} Allow_osSetSunParam = ESTATE_MANAGER,ESTATE_OWNER Allow_osTeleportOwner = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osWindActiveModelPluginName = true + ;Allow_osWindActiveModelPluginName = true ; ThreatLevel Nuisance Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER -- cgit v1.1 From defa235859889dbd8a6db7670d8772fb76146575 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 29 Oct 2019 14:37:41 +0000 Subject: update server release notes default URL --- bin/OpenSimDefaults.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index e1d3aca..9a83648 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -2245,7 +2245,7 @@ [ServerReleaseNotes] ;; Comment or set to "" to disable - ServerReleaseNotesURL = "http://opensimulator.org/wiki/0.9.1.0_Release" + ServerReleaseNotesURL = "http://opensimulator.org/wiki/0.9.1.1_Release" [Modules] Include-modules = "addon-modules/*/config/*.ini" -- cgit v1.1 From bae7b21e87af55eb38d8647673a835b59c010e9c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 4 Nov 2019 10:44:29 +0000 Subject: update libopenmetaverse ( attach points) --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 110592 -> 110592 bytes bin/OpenMetaverse.dll | Bin 2195456 -> 2195456 bytes bin/OpenMetaverseTypes.dll | Bin 114688 -> 114688 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 751bed5..2c1d181 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 81967d8..b91d3ba 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 8c22d86..b2f25de 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index b98562e..463529a 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 926e4ea95ea67ea2db2df42c4e3231a8a8d252d2 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 5 Nov 2019 15:39:44 +0000 Subject: mantis 8624: replace native code libs for Mac by ones signed by Geir Nøklebye (Gavin Hird). Ths again Gavin --- bin/lib32/libBulletSim.dylib | Bin 2243876 -> 2295536 bytes bin/lib32/libode.dylib | Bin 2490468 -> 2689472 bytes bin/lib64/libBulletSim.dylib | Bin 2243876 -> 2295536 bytes bin/lib64/libode.dylib | Bin 2490468 -> 2689472 bytes bin/lib64/libsqlite3.dylib | Bin 2175300 -> 2256688 bytes bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1.dylib | Bin 307576 -> 347728 bytes 6 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/libBulletSim.dylib b/bin/lib32/libBulletSim.dylib index e4508e6..ff44a45 100755 Binary files a/bin/lib32/libBulletSim.dylib and b/bin/lib32/libBulletSim.dylib differ diff --git a/bin/lib32/libode.dylib b/bin/lib32/libode.dylib index 49e205e..4ffcdd7 100755 Binary files a/bin/lib32/libode.dylib and b/bin/lib32/libode.dylib differ diff --git a/bin/lib64/libBulletSim.dylib b/bin/lib64/libBulletSim.dylib index e4508e6..ff44a45 100755 Binary files a/bin/lib64/libBulletSim.dylib and b/bin/lib64/libBulletSim.dylib differ diff --git a/bin/lib64/libode.dylib b/bin/lib64/libode.dylib index 49e205e..4ffcdd7 100755 Binary files a/bin/lib64/libode.dylib and b/bin/lib64/libode.dylib differ diff --git a/bin/lib64/libsqlite3.dylib b/bin/lib64/libsqlite3.dylib index 94dcca8..9a17c76 100755 Binary files a/bin/lib64/libsqlite3.dylib and b/bin/lib64/libsqlite3.dylib differ diff --git a/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1.dylib b/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1.dylib index cb4aea1..cf095bd 100644 Binary files a/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1.dylib and b/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1.dylib differ -- cgit v1.1 From cb97ab5c6f4434e894e92154f1047f28c712572f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 14 Nov 2019 22:34:39 +0000 Subject: make attachments WearReplacesAll option visible --- bin/OpenSimDefaults.ini | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 9a83648..e58cb8b 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -936,6 +936,11 @@ ; Defaults to true - only set to false for debugging purposes Enabled = true + ; Inventory object wear did replace all the worn objects on same attachment point + ; if this option is set false, only oldest worn object will be replaced on that point. + ; true will do as older versions + ;WearReplacesAll = true + [Mesh] ; enable / disable mesh asset uploads -- cgit v1.1 From 61f918cbda3d928356a15e2b98767279d5b4262b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 16 Nov 2019 22:19:46 +0000 Subject: remove some llUDP options --- bin/OpenSimDefaults.ini | 12 ------------ 1 file changed, 12 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index e58cb8b..d5a13cf 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -715,18 +715,6 @@ ; currently disabled ;enable_adaptive_throttles = false - ; Per-client bytes per second rates for the various throttle categories. - ; These are default values that will be overridden by clients. These - ; defaults are approximately equivalent to the throttles set by the Imprudence - ; viewer when maximum bandwidth is set to 350kbps - - ;resend_default = 6625 - ;land_default = 9125 - ;wind_default = 1750 - ;cloud_default = 1750 - ;task_default = 18500 - ;texture_default = 18500 - ;asset_default = 10500 ; TextureSendLimit determines how many packets will be put on ; the lludp outgoing queue each cycle. Like the settings above, this -- cgit v1.1 From 7dd5c9ccadd299b07170452a8cac3e4866fee732 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 17 Nov 2019 21:40:02 +0000 Subject: update mono addins ( need to runprebuidl and recomp opensim) --- bin/Mono.Addins.CecilReflector.dll | Bin 17920 -> 17920 bytes bin/Mono.Addins.Setup.dll | Bin 126464 -> 126976 bytes bin/Mono.Addins.dll | Bin 233984 -> 233984 bytes bin/mautil.exe | Bin 7680 -> 7680 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Mono.Addins.CecilReflector.dll b/bin/Mono.Addins.CecilReflector.dll index 8fd9ad7..fd8efb3 100755 Binary files a/bin/Mono.Addins.CecilReflector.dll and b/bin/Mono.Addins.CecilReflector.dll differ diff --git a/bin/Mono.Addins.Setup.dll b/bin/Mono.Addins.Setup.dll index a2b3598..2897665 100755 Binary files a/bin/Mono.Addins.Setup.dll and b/bin/Mono.Addins.Setup.dll differ diff --git a/bin/Mono.Addins.dll b/bin/Mono.Addins.dll index 84ee01e..63ce189 100755 Binary files a/bin/Mono.Addins.dll and b/bin/Mono.Addins.dll differ diff --git a/bin/mautil.exe b/bin/mautil.exe index 022ca5a..ef10a66 100755 Binary files a/bin/mautil.exe and b/bin/mautil.exe differ -- cgit v1.1 From 9fd2b239d95e507fbf07855091f92ea2a814661d Mon Sep 17 00:00:00 2001 From: Crista Lopes Date: Sun, 17 Nov 2019 14:33:00 -0800 Subject: Replaced mono addins dlls and mautil.exe with the patch --- bin/Mono.Addins.CecilReflector.dll | Bin 17920 -> 17920 bytes bin/Mono.Addins.Setup.dll | Bin 126976 -> 126976 bytes bin/Mono.Addins.dll | Bin 233984 -> 233984 bytes bin/mautil.exe | Bin 7680 -> 7680 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Mono.Addins.CecilReflector.dll b/bin/Mono.Addins.CecilReflector.dll index fd8efb3..d1709e9 100755 Binary files a/bin/Mono.Addins.CecilReflector.dll and b/bin/Mono.Addins.CecilReflector.dll differ diff --git a/bin/Mono.Addins.Setup.dll b/bin/Mono.Addins.Setup.dll index 2897665..05cd3e3 100755 Binary files a/bin/Mono.Addins.Setup.dll and b/bin/Mono.Addins.Setup.dll differ diff --git a/bin/Mono.Addins.dll b/bin/Mono.Addins.dll index 63ce189..49c9b8d 100755 Binary files a/bin/Mono.Addins.dll and b/bin/Mono.Addins.dll differ diff --git a/bin/mautil.exe b/bin/mautil.exe index ef10a66..c830ba0 100755 Binary files a/bin/mautil.exe and b/bin/mautil.exe differ -- cgit v1.1 From 72362dd09c3dc4e98f72333d585436647eef490a Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sun, 17 Nov 2019 15:19:15 -0800 Subject: Mono addins uses this, and the version was now incompatible. --- bin/ICSharpCode.SharpZipLib.dll | Bin 192512 -> 200704 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/ICSharpCode.SharpZipLib.dll b/bin/ICSharpCode.SharpZipLib.dll index 3b268b7..fe643eb 100644 Binary files a/bin/ICSharpCode.SharpZipLib.dll and b/bin/ICSharpCode.SharpZipLib.dll differ -- cgit v1.1 From b5d2a6088c002967196413c9ead131c0c6a4c2f2 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 18 Nov 2019 03:49:57 +0000 Subject: revert to previus ICSharpCode.SharpZipLib.dll that was .net4.6 unlike new one --- bin/ICSharpCode.SharpZipLib.dll | Bin 200704 -> 192512 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/ICSharpCode.SharpZipLib.dll b/bin/ICSharpCode.SharpZipLib.dll index fe643eb..3b268b7 100644 Binary files a/bin/ICSharpCode.SharpZipLib.dll and b/bin/ICSharpCode.SharpZipLib.dll differ -- cgit v1.1 From 496a2228f5b48c6dae522ad15eaeb4f33397c991 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 18 Nov 2019 04:13:46 +0000 Subject: update mono addins again --- bin/Mono.Addins.CecilReflector.dll | Bin 17920 -> 17920 bytes bin/Mono.Addins.Setup.dll | Bin 126976 -> 126976 bytes bin/Mono.Addins.dll | Bin 233984 -> 233984 bytes bin/mautil.exe | Bin 7680 -> 7680 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Mono.Addins.CecilReflector.dll b/bin/Mono.Addins.CecilReflector.dll index d1709e9..60020c5 100755 Binary files a/bin/Mono.Addins.CecilReflector.dll and b/bin/Mono.Addins.CecilReflector.dll differ diff --git a/bin/Mono.Addins.Setup.dll b/bin/Mono.Addins.Setup.dll index 05cd3e3..12c326c 100755 Binary files a/bin/Mono.Addins.Setup.dll and b/bin/Mono.Addins.Setup.dll differ diff --git a/bin/Mono.Addins.dll b/bin/Mono.Addins.dll index 49c9b8d..e8af30a 100755 Binary files a/bin/Mono.Addins.dll and b/bin/Mono.Addins.dll differ diff --git a/bin/mautil.exe b/bin/mautil.exe index c830ba0..cad315f 100755 Binary files a/bin/mautil.exe and b/bin/mautil.exe differ -- cgit v1.1 From 943d0935a624710b2d38bd4be906aaada2c2d1fe Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 22 Nov 2019 07:01:17 +0000 Subject: YEngine, change default number of exec threads to 2 of priority Normal. Let the threads priority a option on ini files --- bin/OpenSim.ini.example | 9 ++------- bin/OpenSimDefaults.ini | 27 +++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 7 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 33b2819..04a4f7d 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -933,17 +933,12 @@ ; PriceGroupCreate = 0 [YEngine] - ;; experimental engine ;; implements non preemptive microthreading, so fixing problems like llSleep or long events handlers ;; but those will suffer from timeslicing, so will be slower. ;; warning: scripts state is lost on TP or cross to Xengine regions (cars stop, etc) ;; ignore its extensions (subset of original XMRengine), those are still undefined. - Enabled = false - ScriptStackSize = 256 - ScriptHeapSize = 256 - UseSourceHashCode = true - MinTimerInterval = 0.1 - ;ScriptBasePath="ScriptEngines" + ; Enabled = false + [XEngine] ;# {Enabled} {} {Enable the XEngine scripting engine?} {true false} true diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index d5a13cf..5d99110 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1750,6 +1750,33 @@ ; MeshModelAllowTextureToInventory = true +[YEngine] + ;; implements non preemptive microthreading, so fixing problems like llSleep or long events handlers + ;; but those will suffer from timeslicing, so will be slower. + ;; warning: scripts state is lost on TP or cross to Xengine regions (cars stop, etc) + ;; ignore its extensions (subset of original XMRengine), those are still undefined. + ;Enabled = false + + ; maximum stack a script can use in KB + ;ScriptStackSize = 2048 + + ; maximum heap memory a script can use in KB + ;ScriptHeapSize = 1024 + + ; number of threads to execute script. Too many threads can have negative impact on other region operations + ;NumThreadScriptWorkers = 2 + + ; Priority of those threads (Lowest, BelowNormal, Normal, AboveNormal or Highest). Higher priorit can have negative impact on other region operations + ;Priority = Normal + + ; to reuse binary compare sources using a hash codes of them or full text + UseSourceHashCode = true + + MinTimerInterval = 0.1 + + ; scripts states and cache parent folder location + ;ScriptBasePath="ScriptEngines" + [XEngine] ; Enable this engine in this OpenSim instance -- cgit v1.1 From 9aa0f21ffabe05aee24dded9c9a8c374787b33c4 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 24 Nov 2019 11:07:55 +0000 Subject: mantis 8631: mono addins again (one file missing) --- bin/Mono.Addins.CecilReflector.dll | Bin 17920 -> 17920 bytes bin/Mono.Addins.Setup.dll | Bin 126976 -> 126976 bytes bin/Mono.Addins.dll | Bin 233984 -> 233984 bytes bin/Mono.Cecil.dll | Bin 333312 -> 0 bytes bin/mautil.exe | Bin 7680 -> 7680 bytes 5 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bin/Mono.Cecil.dll (limited to 'bin') diff --git a/bin/Mono.Addins.CecilReflector.dll b/bin/Mono.Addins.CecilReflector.dll index 60020c5..ce5c21e 100755 Binary files a/bin/Mono.Addins.CecilReflector.dll and b/bin/Mono.Addins.CecilReflector.dll differ diff --git a/bin/Mono.Addins.Setup.dll b/bin/Mono.Addins.Setup.dll index 12c326c..6719e97 100755 Binary files a/bin/Mono.Addins.Setup.dll and b/bin/Mono.Addins.Setup.dll differ diff --git a/bin/Mono.Addins.dll b/bin/Mono.Addins.dll index e8af30a..c159033 100755 Binary files a/bin/Mono.Addins.dll and b/bin/Mono.Addins.dll differ diff --git a/bin/Mono.Cecil.dll b/bin/Mono.Cecil.dll deleted file mode 100644 index 122b0ec..0000000 Binary files a/bin/Mono.Cecil.dll and /dev/null differ diff --git a/bin/mautil.exe b/bin/mautil.exe index cad315f..50e4441 100755 Binary files a/bin/mautil.exe and b/bin/mautil.exe differ -- cgit v1.1 From 17e4b52171bd1ba31511189dc22cf632bdd31e01 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 24 Nov 2019 11:09:25 +0000 Subject: mantis 8631: the missing file --- bin/Mono.Cecil.dll | Bin 0 -> 333312 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 bin/Mono.Cecil.dll (limited to 'bin') diff --git a/bin/Mono.Cecil.dll b/bin/Mono.Cecil.dll new file mode 100644 index 0000000..122b0ec Binary files /dev/null and b/bin/Mono.Cecil.dll differ -- cgit v1.1 From e8d1493777c89661fbbfb4da84596543b6bf720e Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 24 Nov 2019 11:40:04 +0000 Subject: mantis 8631: and another try... --- bin/Mono.Addins.CecilReflector.dll | Bin 17920 -> 17920 bytes bin/Mono.Addins.Setup.dll | Bin 126976 -> 126976 bytes bin/Mono.Addins.dll | Bin 233984 -> 233984 bytes bin/Mono.Cecil.dll | Bin 333312 -> 336896 bytes bin/mautil.exe | Bin 7680 -> 7680 bytes 5 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Mono.Addins.CecilReflector.dll b/bin/Mono.Addins.CecilReflector.dll index ce5c21e..744f8ed 100755 Binary files a/bin/Mono.Addins.CecilReflector.dll and b/bin/Mono.Addins.CecilReflector.dll differ diff --git a/bin/Mono.Addins.Setup.dll b/bin/Mono.Addins.Setup.dll index 6719e97..992ca83 100755 Binary files a/bin/Mono.Addins.Setup.dll and b/bin/Mono.Addins.Setup.dll differ diff --git a/bin/Mono.Addins.dll b/bin/Mono.Addins.dll index c159033..74e45bb 100755 Binary files a/bin/Mono.Addins.dll and b/bin/Mono.Addins.dll differ diff --git a/bin/Mono.Cecil.dll b/bin/Mono.Cecil.dll index 122b0ec..c677936 100644 Binary files a/bin/Mono.Cecil.dll and b/bin/Mono.Cecil.dll differ diff --git a/bin/mautil.exe b/bin/mautil.exe index 50e4441..b3836a9 100755 Binary files a/bin/mautil.exe and b/bin/mautil.exe differ -- cgit v1.1 From bd15005d77f8319d840dbb61870e701c5b8a30fa Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 24 Nov 2019 18:43:50 +0000 Subject: and yes mono-addins again --- bin/Mono.Addins.CecilReflector.dll | Bin 17920 -> 17920 bytes bin/Mono.Addins.Setup.dll | Bin 126976 -> 126976 bytes bin/Mono.Addins.dll | Bin 233984 -> 233984 bytes bin/mautil.exe | Bin 7680 -> 7680 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/Mono.Addins.CecilReflector.dll b/bin/Mono.Addins.CecilReflector.dll index 744f8ed..22edf13 100755 Binary files a/bin/Mono.Addins.CecilReflector.dll and b/bin/Mono.Addins.CecilReflector.dll differ diff --git a/bin/Mono.Addins.Setup.dll b/bin/Mono.Addins.Setup.dll index 992ca83..df83ca5 100755 Binary files a/bin/Mono.Addins.Setup.dll and b/bin/Mono.Addins.Setup.dll differ diff --git a/bin/Mono.Addins.dll b/bin/Mono.Addins.dll index 74e45bb..c356543 100755 Binary files a/bin/Mono.Addins.dll and b/bin/Mono.Addins.dll differ diff --git a/bin/mautil.exe b/bin/mautil.exe index b3836a9..618d2c1 100755 Binary files a/bin/mautil.exe and b/bin/mautil.exe differ -- cgit v1.1 From b3db90db929c7f95eecff6fea2a9bdfb7f83028b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 24 Nov 2019 20:08:00 +0000 Subject: and yes mono-addins .... --- bin/ICSharpCode.SharpZipLib.dll | Bin 192512 -> 192512 bytes bin/Mono.Addins.CecilReflector.dll | Bin 17920 -> 17920 bytes bin/Mono.Addins.Setup.dll | Bin 126976 -> 126976 bytes bin/Mono.Addins.dll | Bin 233984 -> 233984 bytes bin/mautil.exe | Bin 7680 -> 7680 bytes 5 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/ICSharpCode.SharpZipLib.dll b/bin/ICSharpCode.SharpZipLib.dll index 3b268b7..fd5cf1a 100644 Binary files a/bin/ICSharpCode.SharpZipLib.dll and b/bin/ICSharpCode.SharpZipLib.dll differ diff --git a/bin/Mono.Addins.CecilReflector.dll b/bin/Mono.Addins.CecilReflector.dll index 22edf13..cf3335b 100755 Binary files a/bin/Mono.Addins.CecilReflector.dll and b/bin/Mono.Addins.CecilReflector.dll differ diff --git a/bin/Mono.Addins.Setup.dll b/bin/Mono.Addins.Setup.dll index df83ca5..ea62e84 100755 Binary files a/bin/Mono.Addins.Setup.dll and b/bin/Mono.Addins.Setup.dll differ diff --git a/bin/Mono.Addins.dll b/bin/Mono.Addins.dll index c356543..a1a3399 100755 Binary files a/bin/Mono.Addins.dll and b/bin/Mono.Addins.dll differ diff --git a/bin/mautil.exe b/bin/mautil.exe index 618d2c1..c29698e 100755 Binary files a/bin/mautil.exe and b/bin/mautil.exe differ -- cgit v1.1 From 60473ff44edc012319f069afcfe92e2ffde84a5c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 16 Dec 2019 16:05:46 +0000 Subject: update libomv --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 110592 -> 110592 bytes bin/OpenMetaverse.dll | Bin 2195456 -> 2191360 bytes bin/OpenMetaverseTypes.dll | Bin 114688 -> 114688 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 2c1d181..480d536 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index b91d3ba..d6cf968 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index b2f25de..8e62d02 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 463529a..bd74bcb 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From dcfd54b7608093d509cd045a152a4cde7317f66f Mon Sep 17 00:00:00 2001 From: onefang Date: Tue, 8 Sep 2020 21:17:45 +1000 Subject: Move various paths out of the bin directory. --- bin/OpenSim.ConsoleClient.exe.config | 2 +- bin/OpenSim.exe.config | 5 +++-- bin/OpenSim.ini.example | 4 ++-- bin/OpenSimDefaults.ini | 19 ++++++++++++++----- bin/Robust.Tests.dll.config | 2 +- bin/Robust.exe.config | 5 +++-- bin/config-include/GridCommon.ini.example | 2 +- bin/config-include/StandaloneCommon.ini.example | 2 +- 8 files changed, 26 insertions(+), 15 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ConsoleClient.exe.config b/bin/OpenSim.ConsoleClient.exe.config index 3a50408..6542517 100644 --- a/bin/OpenSim.ConsoleClient.exe.config +++ b/bin/OpenSim.ConsoleClient.exe.config @@ -18,7 +18,7 @@ - + diff --git a/bin/OpenSim.exe.config b/bin/OpenSim.exe.config index 5be6989..690f808 100755 --- a/bin/OpenSim.exe.config +++ b/bin/OpenSim.exe.config @@ -24,7 +24,8 @@ - - - - - - - + @@ -53,7 +45,6 @@ - diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 2e680df..1852438 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -116,14 +116,14 @@ allow_regionless = false ;; Allow child agents to see into the region even if their root counterpart isn't allowed in here - see_into_region = true + see_into_region = false - ;; use legacy math for sittarget offset "correction" - ;; set this option to false to use improved math more compatibility with SL. - ;; keep it true if you have many old objects with sits set by scripts. - ;; the offset in question is added to the SitTarget to find the sitting avatar position. - ;; acording to its size, etc. - ; LegacySitOffsets = true + ;; use legacy math for sittarget offset "correction" + ;; set this option to false to use improved math more compatibility with SL. + ;; keep it true if you have many old objects with sits set by scripts. + ;; the offset in question is added to the SitTarget to find the sitting avatar position. + ;; acording to its size, etc. + LegacySitOffsets = false ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos ; Increasing this number will increase memory usage. @@ -134,13 +134,13 @@ ; NonPhysicalPrimMin = 0.001 ; Maximum size of non physical prims. Affects resizing of existing prims. This can be overridden in the region config file (as NonPhysicalPrimMax!). - NonPhysicalPrimMax = 256 + NonPhysicalPrimMax = 2560 ; Minimum size where a prim can be physical. This can be overridden in the region config file. ; PhysicalPrimMin = 0.01 ; Maximum size of physical prims. Affects resizing of existing prims. This can be overridden in the region config file. - PhysicalPrimMax = 64 + PhysicalPrimMax = 640 ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum ; This can be overridden in the region config file. @@ -165,15 +165,15 @@ TrustBinaries = false ; the default view range. Viewers override this ( no major effect still ) - ;DefaultDrawDistance = 255.0 + DefaultDrawDistance = 1024.0 - ; limit the maximum view range ( no effect still (does limit MaxRegionsViewDistance) ) - ;MaxDrawDistance = 512 + ; limit the maximum view range ( no effect still (does limit MaxRegionsViewDistance) ) + MaxDrawDistance = 1024 ; Other regions visibility depends on avatar position and view range ; the view range considered is limited the maximum and minimum distances: - ;MaxRegionsViewDistance = 255 - ;MinRegionsViewDistance = 96 + MaxRegionsViewDistance = 512 + MinRegionsViewDistance = 96 ; If you have only one region in an instance, or to avoid the many bugs ; that you can trigger in modules by restarting a region, set this to @@ -181,25 +181,25 @@ ; This is meant to be used on systems where some external system like ; Monit will restart any instance that exits, thereby making the shutdown ; into a restart. - InworldRestartShutsDown = false + InworldRestartShutsDown = true ; Use of normalized 55FPS statistics - ; Opensim does not have a frame rate control like other simulators. - ; Most parameters that control timing can be configurable region by region. - ; To achieve closer compatibility with values expected by viewers, scripts and users - ; some parameters are converted to a equivalent per frame value. - ; Additionally, they are scaled to values they would have on a system running at a nominal 55 frames per second rate. - ; The scale factor it 55 * FrameTime, corresponding to 5 with default configuration - ; You can choose to show the true physics FPS to viewers by setting Normalized55FPS to false. - ; Normalized55FPS = true + ; Opensim does not have a frame rate control like other simulators. + ; Most parameters that control timing can be configurable region by region. + ; To achieve closer compatibility with values expected by viewers, scripts and users + ; some parameters are converted to a equivalent per frame value. + ; Additionally, they are scaled to values they would have on a system running at a nominal 55 frames per second rate. + ; The scale factor it 55 * FrameTime, corresponding to 5 with default configuration + ; You can choose to show the true physics FPS to viewers by setting Normalized55FPS to false. + ; Normalized55FPS = true ; Main Frame time - ; This defines the rate of several simulation events. - ; Default value should meet most needs. - ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads. - ; It should not be less than the physics engine step time. - ; Being a integer multiple of it may reduce some jitter in reported physics FPS. - ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same + ; This defines the rate of several simulation events. + ; Default value should meet most needs. + ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads. + ; It should not be less than the physics engine step time. + ; Being a integer multiple of it may reduce some jitter in reported physics FPS. + ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same FrameTime = 0.0909 ; The values below represent the percentage of the target frame time that, @@ -292,7 +292,7 @@ ; folder, which can reduce startup times by reducing asset requests. Some ; versions of mono dont work well when reading the cache files, so set this ; to false if you have compatibility problems. - ;CacheSculptMaps = true + CacheSculptMaps = true ;; BulletSim is the default physics engine. It provides the best performance and most functionality. ;; BulletSim supports varregions. @@ -349,7 +349,7 @@ ; Simulator statistics are output to the console periodically at debug level INFO. ; Setting this to zero disables this output. - ; LogShowStatsSeconds = 3600 + LogShowStatsSeconds = 0 ; Simulator Stats URI ; Enable JSON simulator data by setting a URI name (case sensitive) @@ -364,7 +364,7 @@ ; Make OpenSim start all regions with logins disabled. They will need ; to be enabled from the console if this is set - ; StartDisabled = false + StartDisabled = false ; Image decoding. Use CSJ2K for layer boundary decoding if true, ; OpenJPEG if false @@ -394,12 +394,19 @@ ; available spot to the destination (typically map click/landmark). ; "random" will place the avatar on a randomly selected spawnpoint; ; "sequence" will place the avatar on the next sequential SpawnPoint - ; SpawnPointRouting = closest + SpawnPointRouting = random ; TelehubAllowLandmark allows users with landmarks to override telehub ; routing and land at the landmark coordinates when set to true ; default is false - ; TelehubAllowLandmark = false + TelehubAllowLandmark = true + + +; Normally this section goes in the ThisSim.ini file, but this is common for all. +[Region] + InternalAddress = "0.0.0.0" + ExternalHostName = "${Const|HostName}" + ; # ; # SSL certificates validation options @@ -419,20 +426,20 @@ ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/ - ;GenerateMaptiles = true + GenerateMaptiles = true ;WorldMapModule = "WorldMap" ; The module to use in order to generate map images. ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can ; generate better images. - ;MapImageModule = "MapImageModule" + MapImageModule = "Warp3DImageModule" ; World map blacklist timeout in seconds ;BlacklistTimeout = 600 ; Refresh (in seconds) the map tile periodically - ;MaptileRefresh = 0 + MaptileRefresh = 0 ; If not generating maptiles, use this static texture asset ID ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" @@ -448,7 +455,7 @@ TexturePrims = true ; Only texture prims that have a diagonal size greater than this number - TexturePrimSize = 48 + TexturePrimSize = 1 ; Attempt to render meshes and sculpties on the map RenderMeshes = false @@ -468,6 +475,28 @@ ; where to store cached map tiles. CacheDirectory = "${Paths|CachePath}/MapImageCache" + ; Draw map position at bottom right. + enablePosition = true + + ; Refresh the cached map tile once a month. + ;RefreshEveryMonth = true + + ;# {MapColorWater} {} {Water color for textured and shaded maps} {"#1D475F"} + ; MapColorWater = "#3399FF" + + ;# {MapColor1} {} {Terrain color 1 for textured maps} {"#A58976"} + ; MapColor1 = "#A58976" + + ;# {MapColor2} {} {Terrain color 2 for textured maps} {"#455931"} + ; MapColor2 = "#455931" + + ;# {MapColor3} {} {Terrain color 3 for textured maps} {"#A29A8D"} + ; MapColor3 = "#A29A8D" + + ;# {MapColor4} {} {Terrain color 4 for textured maps} {"#C8C8C8"} + ; MapColor4 = "#C8C8C8" + + [Permissions] ; ## ; ## PERMISSIONS @@ -475,7 +504,7 @@ ; Permission modules to use, separated by comma. ; Possible modules are DefaultPermissionsModule, PrimLimitsModule - ;permissionmodules = "DefaultPermissionsModule" + permissionmodules = "DefaultPermissionsModule" ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy ; any item, etc. This may not yet be implemented uniformally. @@ -547,11 +576,11 @@ ; - the second field is a number indicating whether the OAR file loaded ok (1 == ok, 0 == error) ; - the third field is a number indicating how many scripts failed to compile ; - "oar error" if supplied, provides the error message from the OAR load - channel_notify = -800 + channel_notify = 0 ; - disallow logins while scripts are loading ; Instability can occur on regions with 100+ scripts if users enter before they have finished loading - login_disable = true + login_disable = false ; - send an alert as json to a service ; alert_uri = "http://myappserver.net/my_handler/" @@ -567,12 +596,12 @@ ;# {ProfileURL} {} {Set url to UserProfilesService} {} ;; Set the value of the url to your UserProfilesService ;; If un-set / "" the module is disabled - ;; If the ProfileURL is not set, then very BASIC - ;; profile support will be configured. If the ProfileURL is set to a + ;; If the ProfileServiceURL is not set, then very BASIC + ;; profile support will be configured. If the ProfileServiceURL is set to a ;; valid URL, then full profile support will be configured. The URL ;; points to your grid's Robust user profiles service ;; - ; ProfileURL = http://127.0.0.1:9000 + ProfileServiceURL = ${Const|GridURL}:${Const|PublicPort} ;; set this to false to prevent your users to be sent to unknown ;; web sites by other users on their profiles @@ -592,10 +621,10 @@ [Network] - ConsoleUser = "Test" - ConsolePass = "secret" - http_listener_port = 9000 - console_port = 0 + ;ConsoleUser = "Test" + ;ConsolePass = "secret" + ;http_listener_port = 9000 + ;console_port = 0 ; ssl config: Experimental! http_listener_ssl = false ; if set to true main server is replaced by a ssl one @@ -631,6 +660,7 @@ ; must be a valid hostname for the ssl cert. ; if not defined - llRequestURL/llRequestSecureURL are disabled ; ExternalHostNameForLSL=127.0.0.1 + ExternalHostNameForLSL = "${Const|HostName}" ; Disallow the following address ranges for user scripting calls (e.g. llHttpRequest()) ; This is based on http://en.wikipedia.org/wiki/Reserved_IP_addresses @@ -721,8 +751,8 @@ ; Adaptive throttling attempts to limit network overload when multiple ; clients login by starting each connection more slowly. Disabled by ; default - ; currently disabled - ;enable_adaptive_throttles = false + ; + enable_adaptive_throttles = true ; TextureSendLimit determines how many packets will be put on @@ -739,7 +769,7 @@ ; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps ; will also be affected. ; - ;DisableFacelights = false + DisableFacelights = true ; The time to wait before disconecting an unresponsive client. ; The time is in seconds. The default is one minute @@ -788,7 +818,7 @@ Cap_GetObjectCost = "" Cap_GetObjectPhysicsData = "" Cap_GroupProposalBallot = "" - Cap_GroupMemberData = "localhost" + Cap_GroupMemberData = "localhost" Cap_HomeLocation = "localhost" Cap_LandResources = "" Cap_MapLayer = "localhost" @@ -845,13 +875,14 @@ enabled = true ; Distance in meters that whispers should travel. Default is 10m - whisper_distance = 10 + whisper_distance = 15 ; Distance in meters that ordinary chat should travel. Default is 20m - say_distance = 20 + say_distance = 40 ; Distance in meters that shouts should travel. Default is 100m - shout_distance = 100 + shout_distance = 256 + [EntityTransfer] ; The maximum distance in regions that an agent is allowed to teleport @@ -864,9 +895,9 @@ ; Allow avatars to cross into and out of the region. AllowAvatarCrossing = true - ; This disables border transfers for objects. When true, objects can be placed outside - ; the region's border without being transferred to another simulator. - DisableObjectTransfer = false + ; This disables border transfers for objects. When true, objects can be placed outside + ; the region's border without being transferred to another simulator. + DisableObjectTransfer = false ; Minimum user level required for HyperGrid teleports LevelHGTeleport = 0 @@ -876,10 +907,10 @@ ; Disabling cancellation can be okay in small closed grids where all teleports are highly likely to suceed. DisableInterRegionTeleportCancellation = false - ;; This option exists to control the behavior of teleporting gods into places that have landing points - ;; and telehubs. Historically, there has been a difference: OpenSim (OS) has honored landing points and telehubs even for - ;; avatars with god permissions; SL lets gods land wherever they want. - LandingPointBehavior = LandingPointBehavior_OS + ;; This option exists to control the behavior of teleporting gods into places that have landing points + ;; and telehubs. Historically, there has been a difference: OpenSim (OS) has honored landing points and telehubs even for + ;; avatars with god permissions; SL lets gods land wherever they want. + LandingPointBehavior = LandingPointBehavior_SL [Messaging] @@ -909,7 +940,7 @@ ; crossings especially with large numbers of users, though it ; will store potentially large numbers of textures in your asset ; database - PersistBakedTextures = false + PersistBakedTextures = true ; Control the delay before appearance is sent to other avatars and ; saved in the avatar service. Attempts to limit the impact caused @@ -921,11 +952,11 @@ ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds. ; This may help with some situations where avatars are persistently grey, though it will not help ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others). - ResendAppearanceUpdates = false + ResendAppearanceUpdates = true ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar ; on every login - ReuseTextures = false + ReuseTextures = true [Attachments] @@ -949,7 +980,7 @@ ;LevelUpload = 0 ; support meshes on physics - ;UseMeshiesPhysicsMesh = true + UseMeshiesPhysicsMesh = true ;support convex shape type on normal prims ; (ubOde only) @@ -1023,18 +1054,18 @@ avatar_terminal_velocity = 54 ; World Step size. - ; with legacy ODE this value needs to be close to 0.02s - ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load - ; you will need to test acording to you needs - ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS + ; with legacy ODE this value needs to be close to 0.02s + ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load + ; you will need to test acording to you needs + ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS world_stepsize = 0.01818 - ; number of iterations of constrains solver, higher should improve results - ; up to a point where acumulated math errors eliminate the improvement - ; more steps may increase CPU load. No real gain in changing + ; number of iterations of constrains solver, higher should improve results + ; up to a point where acumulated math errors eliminate the improvement + ; more steps may increase CPU load. No real gain in changing world_solver_iterations = 10 ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim - ; defines spaces partition cells min and max sizes == 2^value + ; defines spaces partition cells min and max sizes == 2^value world_hashspace_level_low = -5 world_hashSpace_level_high = 12 @@ -1186,15 +1217,15 @@ ; BulletSim can run on its own thread independent of the simulator's heartbeat ; thread. Enabling this will not let the physics engine slow down avatar movement, etc. - UseSeparatePhysicsThread = false + UseSeparatePhysicsThread = true ; Terrain implementation can use either Bullet's heightField or BulletSim can build ; a mesh. 0=heightField, 1=mesh - TerrainImplementation = 0 + TerrainImplementation = 1 ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher ; magnifications use lots of memory. - TerrainMeshMagnification = 2 + TerrainMeshMagnification = 3 ; Should avatars collide with each other? AvatarToAvatarCollisionsByDefault = true @@ -1208,13 +1239,14 @@ ; Avatar walk-up-stairs parameters ; If an avatar collides with an object 'close to its feet', the avatar will be ; moved/pushed up do simulate stepping up. - ;AvatarStepHeight = 0.6 ; The height, below which is considered a step collision. - ;AvatarStepAngle = 0.3 ; The angle from vertical (in radians) to consider a surface a step - ;AvatarStepApproachFactor = 2 ; Approach angle factor. O=straight on, .6=~45 degrees. - ;AvatarStepGroundFudge = 0.1 ; Fudge added to bottom of avatar below which step collisions happen - ;AvatarStepForceFactor = 0 ; Avatar is pushed up by its mass times this factor - ;AvatarStepUpCorrectionFactor = 0.8 ; Avatar is displaced up the collision height times this factor - ;AvatarStepSmoothingSteps = 1 ; Number of frames after a step collision that up correction is applied +;;;; Has trouble with the lighthouse stairs, but all others work fine, can even climb over some fences. Which is odd. + AvatarStepHeight = 0.6 ; The height, below which is considered a step collision. + AvatarStepAngle = 0.3 ; The angle from vertical (in radians) to consider a surface a step + AvatarStepApproachFactor = 2 ; Approach angle factor. O=straight on, .6=~45 degrees. + AvatarStepGroundFudge = 0.1 ; Fudge added to bottom of avatar below which step collisions happen + AvatarStepForceFactor = 0 ; Avatar is pushed up by its mass times this factor + AvatarStepUpCorrectionFactor = 1.1 ; Avatar is displaced up the collision height times this factor + AvatarStepSmoothingSteps = 3 ; Number of frames after a step collision that up correction is applied ; Terminal velocity of a falling avatar ; This is the same http://en.wikipedia.org/wiki/Terminal_velocity#Examples @@ -1346,9 +1378,9 @@ ; flush-on-error = true -; IRC bridge is experimental, so if it breaks... keep both parts... yada yada -; also, not good error detection when it fails [IRC] + ; IRC bridge is experimental, so if it breaks... keep both parts... yada yada + ; also, not good error detection when it fails enabled = false; you need to set this to true otherwise it won't connect ;server = name.of.irc.server.on.the.net ;; user password - only use this if the server requires one @@ -1417,15 +1449,15 @@ ;alert_msg_post = "Everything you say in public chat can be listened." -; The following settings control the progression of daytime -; in the Sim. The defaults are the same as the commented out settings [Sun] + ; The following settings control the progression of daytime + ; in the Sim. The defaults are the same as the commented out settings ; number of wall clock hours for an opensim day. 24.0 would mean realtime - ;day_length = 4 + day_length = 24 ; Year length in days - ;year_length = 60 + year_length = 365 ; Day to Night Ratio - ;day_night_offset = 0.45 + day_night_offset = 1.0 ; send a Sun update every update_interval # of frames. A lower number will ; make for smoother sun transition at the cost of network ;update_interval = 100 @@ -1457,7 +1489,7 @@ [Cloud] ; Enable this to generate classic particle clouds above the sim. ; default is disabled - turn it on here - enabled = false + enabled = true ; Density of cloud cover 0.0 to 1.0 Defult 0.5 density = 0.5 @@ -1470,7 +1502,7 @@ [LightShare] ; This enables the transmission of Windlight scenes to supporting clients, such as the Meta7 viewer. ; It has no ill effect on viewers which do not support server-side windlight settings. - enable_windlight = false + enable_windlight = true [Trees] @@ -1502,7 +1534,7 @@ ; Are god functions such as llSetObjectPermMask() allowed? If true then gods and only gods have access to these functions. ; If false then gods cannot execute these functions either. - AllowGodFunctions = false + AllowGodFunctions = true ; Restrict the email address used by llEmail to the address associated with the avatars user account? ; If true then llEmail will only send email to the address in the user account of the avatar who owns the object containing the script. @@ -1511,11 +1543,11 @@ ; Maximum number of llListen events we allow over the entire region. ; Set this to 0 to have no limit imposed - max_listens_per_region = 1000 + max_listens_per_region = 0 ; Maximum number of llListen events we allow per script ; Set this to 0 to have no limit imposed. - max_listens_per_script = 64 + max_listens_per_script = 0 ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL()) max_external_urls_per_simulator = 100 @@ -1628,7 +1660,7 @@ ; compared to previous version of llCastRay in OpenSimulator. ; Is in most cases considerably slower than llCastRay in Second Life. ; Generates geometry meshes and can therefore use much system resources. - UseLlCastRayV3 = false + UseLlCastRayV3 = true ; Accepted calculation precision error in calculations in llCastRay V3 FloatToleranceInLlCastRay = 0.00001 @@ -1701,7 +1733,7 @@ data_exposure = minimum ; If search is on, change this to your grid name; will be ignored for standalones - gridname = "OSGrid" + gridname = "${Const|GridName}" ; Period between data snapshots, in seconds. 20 minutes, for starters, so that you see the initial changes fast. ; Later, you may want to increase this to 3600 (1 hour) or more @@ -1726,13 +1758,13 @@ ; Economy values get used in the BetaGridLikeMoneyModule. ;; Enables selling things for $0. Default is true. - ; SellEnabled = true + SellEnabled = true ;; Money Unit fee to upload textures, animations etc. Default is 0. - ;PriceUpload = 0 + PriceUpload = 0 ;; Money Unit fee to create groups. Default is 0. - ;PriceGroupCreate = 0 + PriceGroupCreate = 0 ; We don't really know what the rest of these values do. These get sent to the client ; These taken from Agni at a Public Telehub. Change at your own risk. @@ -1804,7 +1836,7 @@ Priority = "BelowNormal" ; Maximum number of events to queue for a script (excluding timers) - MaxScriptEventQueue = 300 + MaxScriptEventQueue = 3000 ; Stack size per thread created ThreadStackSize = 262144 @@ -1815,7 +1847,7 @@ ; this may only be a problem if regions stay alive for a long time with lots of scripts added or edited. ; at this time some mono versions seem to have problems with the true option ; so default is now false until a fix is found - ; AppDomainLoading = false + AppDomainLoading = false ; Controls whether previously compiled scripts DLLs are deleted on sim restart. ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled. @@ -1823,7 +1855,7 @@ ; after first run you can change to false. ; You can also set it to false and delete the script DLLs by hand ; This does not delete cached scripts state. - ; DeleteScriptsOnStartup = true + DeleteScriptsOnStartup = false ; CompactMemOnLoad ; forces calls to memory garbage collector before loading each script DLL during region startup. @@ -1851,19 +1883,23 @@ ; Compile debug info (line numbers) into the script assemblies CompileWithDebugInformation = true + ; Don't include stack traces in silly threat level errors, and don't bother with "OSSL Runtime Error: " either. + ; On the other hand, having this true stops the official OpenSim OhSilly detection script from working. + DebuggerSafe = true + ; Allow the user of mod* functions. This allows a script to pass messages ; to a region module via the modSendCommand() function ; Default is false - AllowMODFunctions = false + AllowMODFunctions = true ; Allow the use of os* functions (some are dangerous) - AllowOSFunctions = false + AllowOSFunctions = true ; Allow the user of LightShare functions - AllowLightShareFunctions = false + AllowLightShareFunctions = true ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe - OSFunctionThreatLevel = VeryLow + OSFunctionThreatLevel = Moderate ; OS Functions enable/disable ; For each function, you can add one line, as shown @@ -1898,10 +1934,10 @@ MaintenanceInterval = 10 ; Time a script can spend in an event handler before it is interrupted - EventLimit = 30 + EventLimit = 60 ; If a script overruns it's event limit, kill the script? - KillTimedOutScripts = false + KillTimedOutScripts = true ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested ; before aborting the thread (such as when an object containing scripts is taken into inventory). @@ -1915,25 +1951,25 @@ ; Maximum length of notecard line read ; Increasing this to large values potentially opens - ; up the system to malicious scripters - ; NotecardLineReadCharsMax = 255 + ; up the system to malicious scripters. Pfffft. + NotecardLineReadCharsMax = 1024 ; Minimum settable timer interval. Any timer setting less than this is ; rounded up to this minimum interval. - ; MinTimerInterval = 0.5 + MinTimerInterval = 0.1 ; Sensor settings - SensorMaxRange = 96.0 - SensorMaxResults = 16 + SensorMaxRange = 1024.0 + SensorMaxResults = 64 ; Allow for llCreateLink and llBreakLink to work without asking for permission ; only enable this in a trusted environment otherwise you may be subject to hijacking - ; AutomaticLinkPermission = false + AutomaticLinkPermission = true ; Disable underground movement of prims (default true); set to ; false to allow script controlled underground positioning of ; prims - ; DisableUndergroundMovement = true + DisableUndergroundMovement = false ;; Path to script assemblies ; ScriptEnginesPath = "${Paths|CachePath}/ScriptEngines" @@ -2036,7 +2072,7 @@ [Groups] - Enabled = false + Enabled = true ; This is the current groups stub in Region.CoreModules.Avatar.Groups. All the other settings below only really ; apply to the Flotsam/SimianGrid GroupsModule @@ -2047,7 +2083,7 @@ ;Module = GroupsModule ; Enable Group Notices - ;NoticesEnabled = true + NoticesEnabled = true ; This makes the Group module very chatty on the console. DebugEnabled = false @@ -2067,7 +2103,7 @@ ; Experimental option to only message cached online users rather than all users ; Should make large group with few online members messaging faster, at the expense of more calls to ROBUST presence service ; (Flotsam groups only; in V2 this is always on) - MessageOnlineUsersOnly = false + MessageOnlineUsersOnly = true ; Service connectors to the Groups Service. Select one depending on whether you're using a Flotsam XmlRpc backend or a SimianGrid backend @@ -2084,11 +2120,11 @@ ;XmlRpcServiceWriteKey = 1234 ; Disables HTTP Keep-Alive for XmlRpcGroupsServicesConnector HTTP Requests, - ; only set to false it if you absolute sure regions and groups server support it. + ; only set to false it if you absolute sure regions and groups server support it. ; XmlRpcDisableKeepAlive = true ; Minimum user level required to create groups - ;LevelGroupCreate = 0 + LevelGroupCreate = 0 [PacketPool] @@ -2163,20 +2199,20 @@ [NPC] ;; Enable Non Player Character (NPC) facilities - Enabled = false - ;; several options to control NPCs creation + Enabled = true + ;; several options to control NPCs creation - ;; allow NPCs to be created not Owned {true false} default: true - ; AllowNotOwned = true + ;; allow NPCs to be created not Owned {true false} default: true + AllowNotOwned = true - ;; allow NPCs to set to be sensed as Avatars {true false} default: true - ; AllowSenseAsAvatar = true + ;; allow NPCs to set to be sensed as Avatars {true false} default: true + AllowSenseAsAvatar = true - ;; allow NPCs to created cloning any avatar in region {true false} default: true - ; AllowCloneOtherAvatars = true + ;; allow NPCs to created cloning any avatar in region {true false} default: true + AllowCloneOtherAvatars = true - ;; if true NPCs will have no group title, if false display "- NPC -" for easy identification {true false} default: true - ; NoNPCGroup = true + ;; if true NPCs will have no group title, if false display "- NPC -" for easy identification {true false} default: true + NoNPCGroup = false [Terrain] ; Values can be "pinhead-island" or "flat" @@ -2195,15 +2231,15 @@ ; will be what it has always been (send the whole region's parcel layer info). ; Other parcel updates (login, changing parcel ownership, ...) will still send ; whole region. - LimitParcelLayerUpdateDistance = true - ParcelLayerViewDistance = 128 + LimitParcelLayerUpdateDistance = false + ParcelLayerViewDistance = 1024 - ; set this to false to not display parcel ban lines - ShowParcelBansLines = true + ; set this to false to not display parcel ban lines + ShowParcelBansLines = true - ; Parcel Bans max height above ground. Default 100m - ; range 20m to 5000m - ; BanLineSafeHeight = 100 + ; Parcel Bans max height above ground. Default 100m + ; range 20m to 5000m + BanLineSafeHeight = 5000 ; setting the parcel to admin content, It works as setting the land to Linden content in SL. ; To use it, activate god mode in the viewer, select the parcel and go to: Admin -> Parcel -> Set to Linden Content ( CTRL+ALT+SHIFT+C) @@ -2225,10 +2261,10 @@ ;; JsonStore module provides structured store for scripts ;; [JsonStore] - Enabled = False + Enabled = true ;; Enable direct access to the SOP dynamic attributes - EnableObjectStore = False + EnableObjectStore = true MaxStringSpace = 0 diff --git a/bin/Robust.exe.config b/bin/Robust.exe.config index 62ffcc6..f5379ff 100644 --- a/bin/Robust.exe.config +++ b/bin/Robust.exe.config @@ -11,6 +11,7 @@ + @@ -20,24 +21,18 @@ - - - - - + @@ -50,7 +45,6 @@ - diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index 3550ed9..dc70b81 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -76,13 +76,13 @@ ; ; Change this to your grid-wide asset server. Do not add a slash to the end of any of these addresses. ; - AssetServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + AssetServerURI = "${Const|BaseURL}:${Const|PrivatePort}" [InventoryService] ; ; Change this to your grid-wide inventory server ; - InventoryServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + InventoryServerURI = "${Const|BaseURL}:${Const|PrivatePort}" ;MaxRetries = 0 [GridInfo] @@ -95,7 +95,7 @@ ; ; Change this to your grid-wide grid server ; - GridServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + GridServerURI = "${Const|BaseURL}:${Const|PrivatePort}" ;AllowHypergridMapSearch = true ;; Directory for map tile images of linked regions @@ -105,7 +105,7 @@ ;; Change this to the address of your Gatekeeper service ;; (usually bundled with the rest of the services in one ;; Robust server in port ${Const|PublicPort}, but not always) - Gatekeeper="${Const|BaseURL}:${Const|PublicPort}" + GatekeeperURI="${Const|BaseURL}:${Const|PublicPort}" [EstateDataStore] ; @@ -115,7 +115,7 @@ ;LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataRemoteConnector" [EstateService] - EstateServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + EstateServerURI = "${Const|BaseURL}:${Const|PrivatePort}" [Messaging] ; === HG ONLY === @@ -128,43 +128,43 @@ ; ; Change this to your grid-wide grid server ; - AvatarServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + AvatarServerURI = "${Const|BaseURL}:${Const|PrivatePort}" [AgentPreferencesService] ; ; Change this to your grid-wide avatar prefs server ; - AgentPreferencesServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + AgentPreferencesServerURI = "${Const|BaseURL}:${Const|PrivatePort}" [PresenceService] ; ; Change this to your grid-wide presence server ; - PresenceServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + PresenceServerURI = "${Const|BaseURL}:${Const|PrivatePort}" [UserAccountService] ; ; Change this to your grid-wide user accounts server ; - UserAccountServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + UserAccountServerURI = "${Const|BaseURL}:${Const|PrivatePort}" [GridUserService] ; ; Change this to your grid-wide user accounts server ; - GridUserServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + GridUserServerURI = "${Const|BaseURL}:${Const|PrivatePort}" [AuthenticationService] ; ; Change this to your grid-wide authentication server ; - AuthenticationServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + AuthenticationServerURI = "${Const|BaseURL}:${Const|PrivatePort}" [FriendsService] ; ; Change this to your grid-wide friends server ; - FriendsServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + FriendsServerURI = "${Const|BaseURL}:${Const|PrivatePort}" [HGInventoryAccessModule] ; @@ -223,7 +223,7 @@ UserAgentServerURI = "${Const|BaseURL}:${Const|PublicPort}" [MapImageService] - MapImageServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + MapImageServerURI = "${Const|BaseURL}:${Const|PrivatePort}" [AuthorizationService] ; If you have regions with access restrictions @@ -244,4 +244,4 @@ ;; SimulatorCapability = "00000000-0000-0000-0000-000000000000" [MuteListService] - MuteListServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + MuteListServerURI = "${Const|BaseURL}:${Const|PrivatePort}" diff --git a/bin/config-include/SimBalanced.ini b/bin/config-include/SimBalanced.ini new file mode 100644 index 0000000..fbf778f --- /dev/null +++ b/bin/config-include/SimBalanced.ini @@ -0,0 +1,889 @@ +;; hopefully a well balanced configuration that works well for everything. + + +[Startup] + ; ## + ; ## SYSTEM + ; ## + + ; Sets the method that OpenSim will use to fire asynchronous + ; events. Valid values are UnsafeQueueUserWorkItem, + ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread. + ; + ; SmartThreadPool is reported to work well on Mono/Linux, but + ; UnsafeQueueUserWorkItem has been benchmarked with better + ; performance on .NET/Windows + ; + ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security + ; privileges. However, as calling code is trusted anyway this is safe (if you set + ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons). + async_call_method = SmartThreadPool + + ; Max threads to allocate on the FireAndForget thread pool + ; when running with the SmartThreadPool option above + MaxPoolThreads = 300 + + ; Allow certain jobs to be run consecutively in a job engine rather than always concurrently. + ; This improves performance in regions with large numbers of connections (in the hundreds). + JobEngineEnabled = true + + ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos + ; Increasing this number will increase memory usage. + MaxPrimUndos = 42 + + ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum + ; This can be overridden in the region config file. + ClampPrimSize = true + + ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative. + ClampNegativeZ = true + + ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region. + ; This only applies when crossing to a region running in a different simulator. + ; For crossings where the regions are on the same simulator the script is always kept running. + AllowScriptCrossing = true + + ; Main Frame time + ; This defines the rate of several simulation events. + ; Default value should meet most needs. + ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads. + ; It should not be less than the physics engine step time. + ; Being a integer multiple of it may reduce some jitter in reported physics FPS. + ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same + FrameTime = 0.0909 + + ; Send scheduled updates to objects in the scene + ; This must be a whole number + UpdateObjectsEveryNFrames = 1 + + ; Send position/velocity, etc. updates to agents in the scene + ; This must be a whole number + UpdateAgentsEveryNFrames = 1 + + ; Apply pending forces from physics calculations to an entity. + ; This must be a whole number + UpdateEntityMovementEveryNFrames = 1 + + ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap. + ; This must be a whole number + UpdateCoarseLocationsEveryNFrames = 50 + + ; Physics simulation execution or syncronization, acording to engine. Should be 1 + ; This must be a whole number + UpdatePhysicsEveryNFrames = 1 + + ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1. + ; This must be a whole number + UpdateEventsEveryNFrames = 1 + + ; Send terrain updates to viewers + ; This must be a whole number + UpdateTerrainEveryNFrames = 50 + + ; Persitently store any objects which meet the PRIM STORAGE criteria + ; This must be a whole number + UpdateStorageEveryNFrames = 200 + + ; Clean up temp on rez objects. + ; This must be a whole number + UpdateTempCleaningEveryNSeconds = 180 + + ; ## + ; ## PRIM STORAGE + ; ## + + ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to + ; prevent frequently changing objects from heavily loading the region data store. + ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep. + ; + ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds + MinimumTimeBeforePersistenceConsidered = 60 + ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago + MaximumTimeBeforePersistenceConsidered = 600 + + ; ## + ; ## PHYSICS + ; ## + + ; Select a mesher here. + ; + ; Meshmerizer properly handles complex prims by using triangle meshes. + ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way + ; + ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports + ; Usually this is only a box + + ;meshing = Meshmerizer + ;meshing = ZeroMesher + ;; select ubODEMeshmerizer only with ubOde physics engine + meshing = ubODEMeshmerizer + + ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit + ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions + ; edit the line ulimit -s 262144, and change this last value + + ; if you use Meshmerizer and want sculpt map collisions, setting this to + ; to true will store decoded sculpt maps in a special folder in your bin + ; folder, which can reduce startup times by reducing asset requests. Some + ; versions of mono dont work well when reading the cache files, so set this + ; to false if you have compatibility problems. + CacheSculptMaps = true + + ;; BulletSim is the default physics engine. It provides the best performance and most functionality. + ;; BulletSim supports varregions. + ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. + ;; It continues to provide a workable physics implementation. It does not currently support varregions. + ;; basicphysics effectively does not model physics at all, making all objects phantom. + ;; Default is BulletSim + ;physics = BulletSim + ;physics = modified_BulletX + ;physics = OpenDynamicsEngine + ;physics = basicphysics + ;physics = POS + ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also + physics = ubODE + + ; ## + ; ## SCRIPT ENGINE + ; ## + + ;; Default script engine to use. Currently, we only have XEngine + DefaultScriptEngine = "XEngine" + + ; Image decoding. Use CSJ2K for layer boundary decoding if true, + ; OpenJPEG if false + ; UseCSJ2K = true + + +[Map] + ; Map tile options. + ; If true, then maptiles are generated using the MapImageModule below. + ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden + ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need + ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/ + GenerateMaptiles = true + + ;WorldMapModule = "WorldMap" + + ; The module to use in order to generate map images. + ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can + ; generate better images. + MapImageModule = "Warp3DImageModule" + + ; World map blacklist timeout in seconds + ;BlacklistTimeout = 600 + + ; Refresh (in seconds) the map tile periodically + MaptileRefresh = 0 + + ; If not generating maptiles, use this static texture asset ID + ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" + + ; Draw objects on maptile. This step might take a long time if you've got a large number of + ; objects, so you can turn it off here if you'd like. + DrawPrimOnMapTile = true + + ; Use terrain texture for maptiles if true, use shaded green if false + TextureOnMapTile = true + + ; Texture prims + TexturePrims = true + + ; Only texture prims that have a diagonal size greater than this number + TexturePrimSize = 5 + + ; Attempt to render meshes and sculpties on the map + RenderMeshes = true + + UseAntiAliasing = true + + +[Network] + ; OpenSim can send multiple simultaneous requests for services such as asset + ; retrieval. However, some versions of mono appear to hang when there are too + ; many simultaneous requests, default is 30 and is currently applied only to assets + ;MaxRequestConcurrency = 30 + + +[ClientStack.LindenUDP] + ; The client socket receive buffer size determines how many + ; incoming requests we can process; the default on .NET is 8192 + ; which is about 2 4k-sized UDP datagrams. On mono this is + ; whatever the underlying operating system has as default; for + ; example, ubuntu 8.04 or SLES11 have about 111k, which is about + ; 27 4k-sized UDP datagrams (on linux platforms you can [as root] + ; do "sysctl net.core.rmem_default" to find out what your system + ; uses a default socket receive buffer size. + ; + ; client_socket_rcvbuf_size allows you to specify the receive + ; buffer size LLUDPServer should use. NOTE: this will be limited + ; by the system's settings for the maximum client receive buffer + ; size (on linux systems you can set that with "sysctl -w + ; net.core.rmem_max=X") + ; + ;client_socket_rcvbuf_size = 8388608 + + ; Maximum outbound bytes per second for a single scene. This can be used to + ; throttle total outbound UDP traffic for a simulator. The default value is + ; 0, meaning no throttling at the scene level. The example given here is + ; 20 megabits + ; + ;scene_throttle_max_bps = 2500000 + + ; Maximum bytes per second to send to any single client. This will override + ; the user's viewer preference settings. The default value is 0, meaning no + ; aggregate throttling on clients (only per-category throttling). The + ; example given here is 1.5 megabits + ; + ;client_throttle_max_bps = 187500 + + ; Minimum bytes per second to send to any single client as a result of + ; adaptive throttling. Viewer preferences set to a lower number will + ; override the settin. The example given here ensures that adaptive + ; throttling will never decrease per client bandwidth below 256 kbps. + ; + ;adaptive_throttle_min_bps = 32000 + + ; Adaptive throttling attempts to limit network overload when multiple + ; clients login by starting each connection more slowly. Disabled by + ; default + ; + enable_adaptive_throttles = true + + ; Per-client bytes per second rates for the various throttle categories. + ; These are default values that will be overridden by clients. These + ; defaults are approximately equivalent to the throttles set by the Imprudence + ; viewer when maximum bandwidth is set to 350kbps + + ;resend_default = 6625 + ;land_default = 9125 + ;wind_default = 1750 + ;cloud_default = 1750 + ;task_default = 18500 + ;texture_default = 18500 + ;asset_default = 10500 + + ; Configures how ObjectUpdates are aggregated. These numbers + ; do not literally mean how many updates will be put in each + ; packet that goes over the wire, as packets are + ; automatically split on a 1400 byte boundary. These control + ; the balance between responsiveness of interest list updates + ; and total throughput. Higher numbers will ensure more full- + ; sized packets and faster sending of data, but more delay in + ; updating interest lists + ; + ;PrimUpdatesPerCallback = 100 + + ; TextureSendLimit determines how many packets will be put on + ; the outgoing queue each cycle. Like the settings above, this + ; is a balance between responsiveness to priority updates and + ; total throughput. Higher numbers will give a better + ; throughput at the cost of reduced responsiveness to client + ; priority changes or transfer aborts + ; + ;TextureSendLimit = 20 + + ; CannibalizeTextureRate allows bandwidth to be moved from the + ; UDP texture throttle to the task throttle. Since most viewers + ; use HTTP textures, this provides a means of using what is largely + ; unused bandwidth in the total throttle. The value is the proportion + ; of the texture rate to move to the task queue. It must be between + ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the + ; bandwidth is grabbed) + ; + ; CannibalizeTextureRate = 0.5 + + ; The time to wait before disconecting an unresponsive client. + ; The time is in seconds. The default is one minute + ; + ;AckTimeout = 60 + + ; The time to wait before disconecting an unresponsive paused client. + ; A client can be paused when the file selection dialog is open during file upload. + ; This gives extra time to find files via the dialog but will still disconnect if + ; the client crashes or loses its network connection + ; The time is in seconds. The default is five minutes. + ; + ;PausedAckTimeout = 300 + + +[Appearance] + ; Persist avatar baked textures + ; Persisting baked textures can speed up login and region border + ; crossings especially with large numbers of users, though it + ; will store potentially large numbers of textures in your asset + ; database + PersistBakedTextures = true + + ; Control the delay before appearance is sent to other avatars and + ; saved in the avatar service. Attempts to limit the impact caused + ; by the very chatty dialog that sets appearance when an avatar + ; logs in or teleports into a region; values are in seconds + DelayBeforeAppearanceSave = 5 + DelayBeforeAppearanceSend = 2 + + ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds. + ; This may help with some situations where avatars are persistently grey, though it will not help + ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others). + ResendAppearanceUpdates = true + + ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar + ; on every login + ReuseTextures = true + + +[Attachments] + ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments + ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit + ; or when multiple avatars with medium level attachments login/change outfit simultaneously. + ; If 0 then no throttling is performed. + ThrottlePer100PrimsRezzed = 0 + + +[Textures] + ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible + ; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components + ; (e.g. images pulled from an external HTTP address). + ; Reusing previously generated textures results in a much faster update on the viewer but may cause issues if the viewer didn't receive all resolutions of the texture. + ; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted. + ; Hence, currently considered experimental. + ; Default is false. + ReuseDynamicTextures = true + + ; If true, then textures generated dynamically that have a low data size relative to their pixel size are not reused + ; This is to workaround an apparent LL 3.3.4 and earlier viewer bug where such textures are not redisplayed properly when pulled from the viewer cache. + ; Only set this to true if you are sure that all the viewers using your simulator will not suffer from this problem. + ; This setting only has an affect is ReuseDynamicTextures = true + ; Default is false + ReuseDynamicLowDataTextures = true + + +[ODEPhysicsSettings] + ; ## + ; ## Physics stats settings ( most ignored by ubOde ) + ; + + ; If collect_stats is enabled, then extra stat information is collected which is accessible via the MonitorModule + ; (see http://opensimulator.org/wiki/Monitoring_Module for more details). + collect_stats = true + + ; ## + ; ## Physics logging settings - logfiles are saved to *.DIF files + ; ## + + ; default is false + ;physics_logging = true + ;; every n simulation iterations, the physics snapshot file is updated + ;physics_logging_interval = 50 + ;; append to existing physics logfile, or overwrite existing logfiles? + ;physics_logging_append_existing_logfile = true + + ;## + ;## World Settings + ;## + + ; World Step size. + ; with legacy ODE this value needs to be close to 0.02s + ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load + ; you will need to test acording to you needs + ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS + world_stepsize = 0.01818 + ; number of iterations of constrains solver, higher should improve results + ; up to a point where acumulated math errors eliminate the improvement + ; more steps may increase CPU load. No real gain in changing + world_solver_iterations = 10 + + ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim + ; defines spaces partition cells min and max sizes == 2^value + world_hashspace_level_low = -5 + world_hashSpace_level_high = 12 + + meters_in_small_space = 29.9 + + + ; ## + ; ## Contact properties. (the stuff that happens when things come in contact with each other) + ; ## + + ; surface layer around geometries other geometries can sink into before generating a contact + world_contact_surface_layer = 0.001 + + ; Filtering collisions helps keep things stable physics wise, but sometimes + ; it can be overzealous. If you notice bouncing, chances are it's that. + filter_collisions = true + + ; Non Moving Terrain Contact (avatar isn't moving) + nm_terraincontact_friction = 255.0 + nm_terraincontact_bounce = 0.1 + nm_terraincontact_erp = 0.1025 + + ; Moving Terrain Contact (avatar is moving) + m_terraincontact_friction = 75.0 + m_terraincontact_bounce = 0.05 + m_terrainContact_erp = 0.05025 + + ; Moving Avatar to object Contact + m_avatarobjectcontact_friction = 75.0 + m_avatarobjectcontact_bounce = 0.1 + + ; Object to Object Contact and Non-Moving Avatar to object + objectcontact_friction = 250.0 + objectcontact_bounce = 0.2 + + ; ## + ; ## Avatar Control + ; ## + + ; PID Controller Settings. These affect the math that causes the avatar to reach the + ; desired velocity + ; See http://en.wikipedia.org/wiki/PID_controller + + av_pid_derivative = 2200.0 + av_pid_proportional = 900.0 + + ; specifies if the capsule should be tilted (=true; old compatibility mode) + ; or straight up-and-down (=false; better and more consistent physics behavior) + av_capsule_tilted = false + + ; Movement. Smaller is faster. + + ; speed of movement with Always Run off + av_movement_divisor_walk = 1.3 + + ; speed of movement with Always Run on + av_movement_divisor_run = 0.8 + + ; When the avatar flies, it will be moved up by this amount off the ground (in meters) + minimum_ground_flight_offset = 3.0 + + ; Plant avatar. This reduces the effect of physical contacts with the avatar. + ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive. + ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active + ; will lock the avatar in place + av_planted = false + + ; No Avatar Avatar Collissions. This causes avatar to be able to walk through each other as if they're ghosts but still interact with the environment + av_av_collisions_off = false + + ; ## + ; ## Object options + ; ## + + ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep + body_frames_auto_disable = 20 + + ; used to control llMove2Target + body_pid_derivative = 35 + body_pid_gain = 25 + + ; maximum number of contact points to generate per collision + contacts_per_collision = 80 + + ; start throttling the object updates if object comes in contact with 3 or more other objects + geom_contactpoints_start_throttling = 3 + + ; send 1 update for every x updates below when throttled + geom_updates_before_throttled_update = 15 + + ; ## + ; ## Sculpted Prim settings + ; ## + + ; Do we want to mesh sculpted prim to collide like they look? + ; If you are seeing sculpt texture decode problems + ; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception") + ; then you might want to try setting this to false. + mesh_sculpted_prim = true + + ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies + mesh_lod = 32 + + ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies + mesh_physical_lod = 16 + + ; ## + ; ## additional meshing options + ; ## + + ; Physics needs to create internal meshs (or convert the object meshs or scultps) + ; for all prims except simple boxes and spheres. + + ; collisions of small objects againts larger ones can have a increased CPU load cost + ; so this are represented by a simple BOX + ; if all their scale dimensions are lower or equal to this option. Default is 0.1m + ; (ubOde only) + ; MinSizeToMeshmerize = 0.1 + + +[BulletSim] + ; There are two bullet physics libraries, bulletunmanaged is the default and is a + ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality + ; but the c++ one is much faster. + ;BulletEngine = "bulletunmanaged" + BulletEngine = "bulletxna" + + ; BulletSim can run on its own thread independent of the simulator's heartbeat + ; thread. Enabling this will not let the physics engine slow down avatar movement, etc. + UseSeparatePhysicsThread = true + + ; Terrain implementation can use either Bullet's heightField or BulletSim can build + ; a mesh. 0=heightField, 1=mesh + TerrainImplementation = 0 + ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield + ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher + ; magnifications use lots of memory. + TerrainMeshMagnification = 1 + + ; Should avatars collide with each other? + AvatarToAvatarCollisionsByDefault = true + + ; Default linkset implmentation + ; 'Constraint' uses physics constraints to hold linkset together. 'Compound' + ; builds a compound shape from the children shapes to create a single physical + ; shape. 'Compound' uses a lot less CPU time. + LinkImplementation = 1 ; 0=constraint, 1=compound + + ; If 'true', offset a linkset's origin based on mass of linkset parts. + LinksetOffsetCenterOfMass = false + + ; If 'true', turn scuplties into meshes + MeshSculptedPrim = true + + ; If 'true', force simple prims (box and sphere) to be meshed + ; If 'false', the Bullet native special case shape is used for square rectangles + ; and even dimensioned spheres. + ForceSimplePrimMeshing = true + + ; If 'true', when creating meshes, remove all triangles that have two equal vertexes. + ; Happens often in sculpties. If turned off, there will be some doorways + ; that cannot be walked through. + ShouldRemoveZeroWidthTriangles = true + + ; If 'true', use convex hull definition in mesh asset if present. + ShouldUseAssetHulls = true + + ; If there are thousands of physical objects, these maximums should be increased. + MaxCollisionsPerFrame = 2048 + MaxUpdatesPerFrame = 8192 + + ; Detailed physics debug logging. Very verbose. + PhysicsLoggingEnabled = False + PhysicsLoggingDir = "." + VehicleLoggingEnabled = False + + +[Sun] + ; send a Sun update every update_interval # of frames. A lower number will + ; make for smoother sun transition at the cost of network + ;update_interval = 100 + + +[Wind] + ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second + wind_update_rate = 150 + + ; The Default Wind Plugin to load + wind_plugin = SimpleRandomWind + + +[Cloud] + ; update interval for the cloud cover data returned by llCloud(). + ; default is 1000 + cloud_update_rate = 1000 + + +[Trees] + ; active_trees allows module to change its trees in time. + ; some will be deleted, others created and rest may grow + ; default is false. You can change it with console command tree active true | false later + active_trees = false + ; the trees change execution time rate (in ms) + update_rate = 1000 + + ; allow the trees to grow. + ; DANGER + ; this option causes high network use on the order of + ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second + allowGrow = false + + +[LL-Functions] + ; Maximum number of llListen events we allow over the entire region. + ; Set this to 0 to have no limit imposed + max_listens_per_region = 0 + + ; Maximum number of llListen events we allow per script + ; Set this to 0 to have no limit imposed. + max_listens_per_script = 0 + + ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL()) + max_external_urls_per_simulator = 256 + + ; Use size boxes instead of meshed prims, sculpts and mesh when calculating bounding boxes. + ; Speeds up calculations but can make them inaccurate, in some cases very inaccurate. + UseSimpleBoxesInGetBoundingBox = false + + ; Use llCastRay V3 if true. + ; Implements llCastRay similar but not identical to Second Life. + ; See http://wiki.secondlife.com/wiki/LlCastRay . + ; NEW + ; Meshes prims for good accuracy in ray hit detection, + ; handling basic and tortured prims, sculpts and meshes. + ; Uses ellipsoid, correctly sized avatar capsules. + ; Handles complex terrain, multi-prim objects and seated avatars. + ; Implements throttling and the status codes + ; RCERR_UNKNOWN and RCERR_CAST_TIME_EXCEEDED, + ; so LSL scripts need to handle these responses and RCERR_SIM_PERF_LOW. + ; WARNING + ; Can be faster on some servers and scenes, but slower on others, + ; compared to previous version of llCastRay in OpenSimulator. + ; Is in most cases considerably slower than llCastRay in Second Life. + ; Generates geometry meshes and can therefore use much system resources. + UseLlCastRayV3 = true + + ; Accepted calculation precision error in calculations in llCastRay V3 + FloatToleranceInLlCastRay = 0.00001 + + ; Accepted distance difference between duplicate hits in llCastRay V3 + FloatTolerance2InLlCastRay = 0.001 + + ; Detail level when rendering prims in llCastRay V3 + ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call + PrimDetailLevelInLlCastRay = 1 + + ; Detail level when rendering sculpts in llCastRay V3 + ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call + SculptDetailLevelInLlCastRay = 1 + + ; Detail level when rendering meshes in llCastRay V3 + ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call + MeshDetailLevelInLlCastRay = 3 + + ; Detail level when rendering avatar capsules in llCastRay V3 + ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call + AvatarDetailLevelInLlCastRay = 1 + + ; Maximum number of returned hits from llCastRay V3 + MaxHitsInLlCastRay = 16 + + ; Maximum number of returned hits per prim from llCastRay V3 + MaxHitsPerPrimInLlCastRay = 16 + + ; Maximum number of returned hits per object from llCastRay V3 + MaxHitsPerObjectInLlCastRay = 16 + + ; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true + DetectExitHitsInLlCastRay = false + + ; Detect attachments in llCastRay V3 if true + DoAttachmentsInLlCastRay = false + + ; Throttle period length in ms before which all old llCastRay use is discarded in llCastRay V3 + ; The sum of AvailableTimeInMsPerRegionInLlCastRay and all AvailableTimeInMsPerAvatarInLlCastRay should not exceed this + ThrottleTimeInMsInLlCastRay = 200 + + ; Available time in ms for llCastRay per throttle period and 65536 m2 land area in llCastRay V3 + AvailableTimeInMsPerRegionInLlCastRay = 40 + + ; Available time in ms for llCastRay per throttle period and avatar when script in attachment or vehicle in llCastRay V3 + AvailableTimeInMsPerAvatarInLlCastRay = 10 + + ; Required available time in ms left to perform a new llCastRay in llCastRay V3 + RequiredAvailableTimeInMsInLlCastRay = 2 + + ; Maximum available time in ms possible in llCastRay V3, not to get too high values with varregions + MaximumAvailableTimeInMsInLlCastRay = 40 + + ; Use cached meshes in llCastRay V3 if true + ; Improves performance but uses more memory + UseMeshCacheInLlCastRay = true + + +[XEngine] + ; How many threads to keep alive even if nothing is happening + MinThreads = 2 + + ; How many threads to start at maximum load + MaxThreads = 100 + + ; Time a thread must be idle (in seconds) before it dies + IdleTimeout = 60 + + ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest") + Priority = "Normal" + + ; Maximum number of events to queue for a script (excluding timers) + MaxScriptEventQueue = 3000 + + ; Stack size per thread created + ThreadStackSize = 262144 + + ; Set this to true to load each script into a separate + ; AppDomain. Setting this to false will load all script assemblies into the + ; current AppDomain, which will reduce the initial per-script memory overhead, + ; but deleted scripts stay inactive using memory. + ; Significantly improving script loading times. + ; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted. + ; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region. + ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited. + ; At this time some mono versions seem to have problems with the true option, + ; so default is now false until a fix is found, to simply life of less technical skilled users. + ; + ; At least on my desktop, this seems to be what soaks up 4 - 5 times the memory. + AppDomainLoading = false + + ; Controls whether previously compiled scripts DLLs are deleted on sim restart. + ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled. + ; It should be true on first run after updating opensim binary version + ; after first run you can change to false. + ; You can also set it to false and delete the script DLLs by hand + ; This does not delete cached scripts state. + DeleteScriptsOnStartup = true + + ; CompactMemOnLoad + ; forces calls to memory garbage collector before loading each script DLL during region startup. + ; Peak memory usage is reduced and region starts with a more compacted memory allocation. + ; But this costs a lot of time, so region load will take a lot longer. + ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true) + CompactMemOnLoad = true + + ; Controls whether scripts are stopped by aborting their threads externally (abort) + ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op). + ; co-op will be more stable as aborting threads can cause instability. + ; abort was the default option in OpenSimulator 0.8 and before. + ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary. + ; However, the setting change will not take affect until the next time you restart the simulator. + ; Setting changes will not affect state information stored for scripts. + ScriptStopStrategy = co-op + + ; Rate to poll for asynchronous command replies (ms) + ; currently unused + ;AsyncLLCommandLoopms = 50 + + ; Compile debug info (line numbers) into the script assemblies + CompileWithDebugInformation = true + + ; Interval (s) between background save of script states + SaveInterval = 120 + + ; Interval (s) between maintenance runs (0 = disable) + MaintenanceInterval = 10 + + ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested + ; before aborting the thread (such as when an object containing scripts is taken into inventory). + WaitForEventCompletionOnScriptStop = 1000 + + ; Minimum settable timer interval. Any timer setting less than this is + ; rounded up to this minimum interval. + MinTimerInterval = 0.1 + + ; Sensor settings + SensorMaxRange = 1024.0 + SensorMaxResults = 64 + + +[Groups] + ; Groups data is cached for this number of seconds before another request is made to the groups service + ; Set to 0 to disable the cache. + ; Default is 30 seconds + GroupsCacheTimeout = 30 + + +[PacketPool] + ;RecyclePackets = true + ;RecycleDataBlocks = true + + ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets. + ; This reduces data churn + RecycleBaseUDPPackets = true + + +[InterestManagement] + ; This section controls how state updates are prioritized for each client + ; Valid values are BestAvatarResponsiveness, Time, Distance, + ; SimpleAngularDistance, and FrontBack + UpdatePrioritizationScheme = BestAvatarResponsiveness + ReprioritizationEnabled = true + ReprioritizationInterval = 2000.0 + RootReprioritizationDistance = 10.0 + ChildReprioritizationDistance = 20.0 + + ; TEST OPTION KEEP AS FALSE + ; if true, don't send object updates if outside view range + ObjectsCullingByDistance = false + + ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region + ; Updates will always be sent to the avatar that the update addresses and if av velocity is effectively zero (to prevent drift due to missing updates). + ; n > 1 will reduce UDP traffic but will lead to laggier movement observed in other avatars. + RootTerseUpdatePeriod = 0 + + ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region + ; n > 1 will reduce UDP traffic but may lead to laggier movement observed in other avatars, though values up to 4 may not generate a noticeable effect. + ChildTerseUpdatePeriod = 0 + + ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance + RootPositionUpdateTolerance = 0.05 + + ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance + RootRotationUpdateTolerance = 0.1 + + ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance + RootVelocityUpdateTolerance = 0.001 + + +[Statistics] + ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames + ; to include in the averaging calculations + NumberOfFrames=10 + + +[Terrain] + ; If 'true' each avatar is only sent terrain patches within their view distance + ; This also changes the region terrain loading from 'lawn mower' to ordered around + ; the avatar outward. + SendTerrainUpdatesByViewDistance = True + + +[LandManagement] + ; When editing terrain or objects, parcel layer info is updated in the viewer. + ; This can be expensive for large regions. If this variable is 'true', only the + ; parcel layer data around the area of interest is sent. The parcel layer info + ; is sent for 'ParcelLayerViewDistance' around the interest point. + ; If 'ParcelLayerViewDistance' is >= 128, the operation for legacy sized regions + ; will be what it has always been (send the whole region's parcel layer info). + ; Other parcel updates (login, changing parcel ownership, ...) will still send + ; whole region. + LimitParcelLayerUpdateDistance = true + ParcelLayerViewDistance = 1024 + + +;; If you are using a simian grid frontend you can enable +;; this module to upload tile images for the mapping fn +;; +[SimianGridMaptiles] + RefreshTime = 3600 + + +;; +;; These are defaults that are overwritten below in [Architecture]. +;; These defaults allow OpenSim to work out of the box with +;; zero configuration +;; +[AssetService] + ; Disable this to prevent the default asset set from being inserted into the + ; asset store each time the region starts + AssetLoaderEnabled = false + + +[AutoBackupModule] + ;; default is module is disabled at the top level + AutoBackupModuleEnabled = false + + +[ServiceThrottle] + ;; Default time interval (in ms) for the throttle service thread to wake up + Interval = 5000 + + +[Materials] + MaxMaterialsPerTransaction = 50 diff --git a/bin/config-include/SimDefault.ini b/bin/config-include/SimDefault.ini new file mode 100644 index 0000000..3f2e713 --- /dev/null +++ b/bin/config-include/SimDefault.ini @@ -0,0 +1,884 @@ +[Startup] + ; ## + ; ## SYSTEM + ; ## + + ; Sets the method that OpenSim will use to fire asynchronous + ; events. Valid values are UnsafeQueueUserWorkItem, + ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread. + ; + ; SmartThreadPool is reported to work well on Mono/Linux, but + ; UnsafeQueueUserWorkItem has been benchmarked with better + ; performance on .NET/Windows + ; + ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security + ; privileges. However, as calling code is trusted anyway this is safe (if you set + ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons). + async_call_method = SmartThreadPool + + ; Max threads to allocate on the FireAndForget thread pool + ; when running with the SmartThreadPool option above + MaxPoolThreads = 300 + + ; Allow certain jobs to be run consecutively in a job engine rather than always concurrently. + ; This improves performance in regions with large numbers of connections (in the hundreds). + JobEngineEnabled = true + + ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos + ; Increasing this number will increase memory usage. + MaxPrimUndos = 20 + + ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum + ; This can be overridden in the region config file. + ClampPrimSize = false + + ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative. + ClampNegativeZ = false + + ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region. + ; This only applies when crossing to a region running in a different simulator. + ; For crossings where the regions are on the same simulator the script is always kept running. + AllowScriptCrossing = true + + ; Main Frame time + ; This defines the rate of several simulation events. + ; Default value should meet most needs. + ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads. + ; It should not be less than the physics engine step time. + ; Being a integer multiple of it may reduce some jitter in reported physics FPS. + ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same + FrameTime = 0.0909 + + ; Send scheduled updates to objects in the scene + ; This must be a whole number + UpdateObjectsEveryNFrames = 1 + + ; Send position/velocity, etc. updates to agents in the scene + ; This must be a whole number + UpdateAgentsEveryNFrames = 1 + + ; Apply pending forces from physics calculations to an entity. + ; This must be a whole number + UpdateEntityMovementEveryNFrames = 1 + + ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap. + ; This must be a whole number + UpdateCoarseLocationsEveryNFrames = 50 + + ; Physics simulation execution or syncronization, acording to engine. Should be 1 + ; This must be a whole number + UpdatePhysicsEveryNFrames = 1 + + ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1. + ; This must be a whole number + UpdateEventsEveryNFrames = 1 + + ; Send terrain updates to viewers + ; This must be a whole number + UpdateTerrainEveryNFrames = 50 + + ; Persitently store any objects which meet the PRIM STORAGE criteria + ; This must be a whole number + UpdateStorageEveryNFrames = 200 + + ; Clean up temp on rez objects. + ; This must be a whole number + UpdateTempCleaningEveryNSeconds = 180 + + ; ## + ; ## PRIM STORAGE + ; ## + + ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to + ; prevent frequently changing objects from heavily loading the region data store. + ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep. + ; + ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds + MinimumTimeBeforePersistenceConsidered = 60 + ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago + MaximumTimeBeforePersistenceConsidered = 600 + + ; ## + ; ## PHYSICS + ; ## + + ; Select a mesher here. + ; + ; Meshmerizer properly handles complex prims by using triangle meshes. + ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way + ; + ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports + ; Usually this is only a box + + ;meshing = Meshmerizer + ;meshing = ZeroMesher + ;; select ubODEMeshmerizer only with ubOde physics engine + meshing = ubODEMeshmerizer + + ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit + ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions + ; edit the line ulimit -s 262144, and change this last value + + ; if you use Meshmerizer and want sculpt map collisions, setting this to + ; to true will store decoded sculpt maps in a special folder in your bin + ; folder, which can reduce startup times by reducing asset requests. Some + ; versions of mono dont work well when reading the cache files, so set this + ; to false if you have compatibility problems. + CacheSculptMaps = true + + ;; BulletSim is the default physics engine. It provides the best performance and most functionality. + ;; BulletSim supports varregions. + ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. + ;; It continues to provide a workable physics implementation. It does not currently support varregions. + ;; basicphysics effectively does not model physics at all, making all objects phantom. + ;; Default is BulletSim + ;physics = BulletSim + ;physics = modified_BulletX + ;physics = OpenDynamicsEngine + ;physics = basicphysics + ;physics = POS + ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also + physics = ubODE + + ; ## + ; ## SCRIPT ENGINE + ; ## + + ;; Default script engine to use. Currently, we only have XEngine + DefaultScriptEngine = "XEngine" + + ; Image decoding. Use CSJ2K for layer boundary decoding if true, + ; OpenJPEG if false + ; UseCSJ2K = true + + +[Map] + ; Map tile options. + ; If true, then maptiles are generated using the MapImageModule below. + ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden + ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need + ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/ + GenerateMaptiles = true + + ;WorldMapModule = "WorldMap" + + ; The module to use in order to generate map images. + ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can + ; generate better images. + MapImageModule = "MapImageModule" + + ; World map blacklist timeout in seconds + ;BlacklistTimeout = 600 + + ; Refresh (in seconds) the map tile periodically + MaptileRefresh = 0 + + ; If not generating maptiles, use this static texture asset ID + ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" + + ; Draw objects on maptile. This step might take a long time if you've got a large number of + ; objects, so you can turn it off here if you'd like. + DrawPrimOnMapTile = true + + ; Use terrain texture for maptiles if true, use shaded green if false + TextureOnMapTile = true + + ; Texture prims + TexturePrims = true + + ; Only texture prims that have a diagonal size greater than this number + TexturePrimSize = 48 + + ; Attempt to render meshes and sculpties on the map + RenderMeshes = false + + ;UseAntiAliasing = true + + +[Network] + ; OpenSim can send multiple simultaneous requests for services such as asset + ; retrieval. However, some versions of mono appear to hang when there are too + ; many simultaneous requests, default is 30 and is currently applied only to assets + ;MaxRequestConcurrency = 30 + + +[ClientStack.LindenUDP] + ; The client socket receive buffer size determines how many + ; incoming requests we can process; the default on .NET is 8192 + ; which is about 2 4k-sized UDP datagrams. On mono this is + ; whatever the underlying operating system has as default; for + ; example, ubuntu 8.04 or SLES11 have about 111k, which is about + ; 27 4k-sized UDP datagrams (on linux platforms you can [as root] + ; do "sysctl net.core.rmem_default" to find out what your system + ; uses a default socket receive buffer size. + ; + ; client_socket_rcvbuf_size allows you to specify the receive + ; buffer size LLUDPServer should use. NOTE: this will be limited + ; by the system's settings for the maximum client receive buffer + ; size (on linux systems you can set that with "sysctl -w + ; net.core.rmem_max=X") + ; + ;client_socket_rcvbuf_size = 8388608 + + ; Maximum outbound bytes per second for a single scene. This can be used to + ; throttle total outbound UDP traffic for a simulator. The default value is + ; 0, meaning no throttling at the scene level. The example given here is + ; 20 megabits + ; + ;scene_throttle_max_bps = 2500000 + + ; Maximum bytes per second to send to any single client. This will override + ; the user's viewer preference settings. The default value is 0, meaning no + ; aggregate throttling on clients (only per-category throttling). The + ; example given here is 1.5 megabits + ; + ;client_throttle_max_bps = 187500 + + ; Minimum bytes per second to send to any single client as a result of + ; adaptive throttling. Viewer preferences set to a lower number will + ; override the settin. The example given here ensures that adaptive + ; throttling will never decrease per client bandwidth below 256 kbps. + ; + ;adaptive_throttle_min_bps = 32000 + + ; Adaptive throttling attempts to limit network overload when multiple + ; clients login by starting each connection more slowly. Disabled by + ; default + ; + enable_adaptive_throttles = false + + ; Per-client bytes per second rates for the various throttle categories. + ; These are default values that will be overridden by clients. These + ; defaults are approximately equivalent to the throttles set by the Imprudence + ; viewer when maximum bandwidth is set to 350kbps + + ;resend_default = 6625 + ;land_default = 9125 + ;wind_default = 1750 + ;cloud_default = 1750 + ;task_default = 18500 + ;texture_default = 18500 + ;asset_default = 10500 + + ; Configures how ObjectUpdates are aggregated. These numbers + ; do not literally mean how many updates will be put in each + ; packet that goes over the wire, as packets are + ; automatically split on a 1400 byte boundary. These control + ; the balance between responsiveness of interest list updates + ; and total throughput. Higher numbers will ensure more full- + ; sized packets and faster sending of data, but more delay in + ; updating interest lists + ; + ;PrimUpdatesPerCallback = 100 + + ; TextureSendLimit determines how many packets will be put on + ; the outgoing queue each cycle. Like the settings above, this + ; is a balance between responsiveness to priority updates and + ; total throughput. Higher numbers will give a better + ; throughput at the cost of reduced responsiveness to client + ; priority changes or transfer aborts + ; + ;TextureSendLimit = 20 + + ; CannibalizeTextureRate allows bandwidth to be moved from the + ; UDP texture throttle to the task throttle. Since most viewers + ; use HTTP textures, this provides a means of using what is largely + ; unused bandwidth in the total throttle. The value is the proportion + ; of the texture rate to move to the task queue. It must be between + ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the + ; bandwidth is grabbed) + ; + ; CannibalizeTextureRate = 0.5 + + ; The time to wait before disconecting an unresponsive client. + ; The time is in seconds. The default is one minute + ; + ;AckTimeout = 60 + + ; The time to wait before disconecting an unresponsive paused client. + ; A client can be paused when the file selection dialog is open during file upload. + ; This gives extra time to find files via the dialog but will still disconnect if + ; the client crashes or loses its network connection + ; The time is in seconds. The default is five minutes. + ; + ;PausedAckTimeout = 300 + + +[Appearance] + ; Persist avatar baked textures + ; Persisting baked textures can speed up login and region border + ; crossings especially with large numbers of users, though it + ; will store potentially large numbers of textures in your asset + ; database + PersistBakedTextures = false + + ; Control the delay before appearance is sent to other avatars and + ; saved in the avatar service. Attempts to limit the impact caused + ; by the very chatty dialog that sets appearance when an avatar + ; logs in or teleports into a region; values are in seconds + DelayBeforeAppearanceSave = 5 + DelayBeforeAppearanceSend = 2 + + ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds. + ; This may help with some situations where avatars are persistently grey, though it will not help + ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others). + ResendAppearanceUpdates = false + + ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar + ; on every login + ReuseTextures = false + + +[Attachments] + ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments + ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit + ; or when multiple avatars with medium level attachments login/change outfit simultaneously. + ; If 0 then no throttling is performed. + ThrottlePer100PrimsRezzed = 0 + + +[Textures] + ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible + ; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components + ; (e.g. images pulled from an external HTTP address). + ; Reusing previously generated textures results in a much faster update on the viewer but may cause issues if the viewer didn't receive all resolutions of the texture. + ; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted. + ; Hence, currently considered experimental. + ; Default is false. + ReuseDynamicTextures = false + + ; If true, then textures generated dynamically that have a low data size relative to their pixel size are not reused + ; This is to workaround an apparent LL 3.3.4 and earlier viewer bug where such textures are not redisplayed properly when pulled from the viewer cache. + ; Only set this to true if you are sure that all the viewers using your simulator will not suffer from this problem. + ; This setting only has an affect is ReuseDynamicTextures = true + ; Default is false + ReuseDynamicLowDataTextures = false + + +[ODEPhysicsSettings] + ; ## + ; ## Physics stats settings ( most ignored by ubOde ) + ; + + ; If collect_stats is enabled, then extra stat information is collected which is accessible via the MonitorModule + ; (see http://opensimulator.org/wiki/Monitoring_Module for more details). + collect_stats = false + + ; ## + ; ## Physics logging settings - logfiles are saved to *.DIF files + ; ## + + ; default is false + ;physics_logging = true + ;; every n simulation iterations, the physics snapshot file is updated + ;physics_logging_interval = 50 + ;; append to existing physics logfile, or overwrite existing logfiles? + ;physics_logging_append_existing_logfile = true + + ;## + ;## World Settings + ;## + + ; World Step size. + ; with legacy ODE this value needs to be close to 0.02s + ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load + ; you will need to test acording to you needs + ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS + world_stepsize = 0.01818 + ; number of iterations of constrains solver, higher should improve results + ; up to a point where acumulated math errors eliminate the improvement + ; more steps may increase CPU load. No real gain in changing + world_solver_iterations = 10 + + ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim + ; defines spaces partition cells min and max sizes == 2^value + world_hashspace_level_low = -5 + world_hashSpace_level_high = 12 + + meters_in_small_space = 29.9 + + + ; ## + ; ## Contact properties. (the stuff that happens when things come in contact with each other) + ; ## + + ; surface layer around geometries other geometries can sink into before generating a contact + world_contact_surface_layer = 0.001 + + ; Filtering collisions helps keep things stable physics wise, but sometimes + ; it can be overzealous. If you notice bouncing, chances are it's that. + filter_collisions = false + + ; Non Moving Terrain Contact (avatar isn't moving) + nm_terraincontact_friction = 255.0 + nm_terraincontact_bounce = 0.1 + nm_terraincontact_erp = 0.1025 + + ; Moving Terrain Contact (avatar is moving) + m_terraincontact_friction = 75.0 + m_terraincontact_bounce = 0.1 + m_terrainContact_erp = 0.05025 + + ; Moving Avatar to object Contact + m_avatarobjectcontact_friction = 75.0 + m_avatarobjectcontact_bounce = 0.1 + + ; Object to Object Contact and Non-Moving Avatar to object + objectcontact_friction = 250.0 + objectcontact_bounce = 0.2 + + ; ## + ; ## Avatar Control + ; ## + + ; PID Controller Settings. These affect the math that causes the avatar to reach the + ; desired velocity + ; See http://en.wikipedia.org/wiki/PID_controller + + av_pid_derivative = 2200.0 + av_pid_proportional = 900.0 + + ; specifies if the capsule should be tilted (=true; old compatibility mode) + ; or straight up-and-down (=false; better and more consistent physics behavior) + av_capsule_tilted = false + + ; Movement. Smaller is faster. + + ; speed of movement with Always Run off + av_movement_divisor_walk = 1.3 + + ; speed of movement with Always Run on + av_movement_divisor_run = 0.8 + + ; When the avatar flies, it will be moved up by this amount off the ground (in meters) + minimum_ground_flight_offset = 3.0 + + ; Plant avatar. This reduces the effect of physical contacts with the avatar. + ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive. + ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active + ; will lock the avatar in place + av_planted = false + + ; No Avatar Avatar Collissions. This causes avatar to be able to walk through each other as if they're ghosts but still interact with the environment + av_av_collisions_off = false + + ; ## + ; ## Object options + ; ## + + ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep + body_frames_auto_disable = 20 + + ; used to control llMove2Target + body_pid_derivative = 35 + body_pid_gain = 25 + + ; maximum number of contact points to generate per collision + contacts_per_collision = 80 + + ; start throttling the object updates if object comes in contact with 3 or more other objects + geom_contactpoints_start_throttling = 3 + + ; send 1 update for every x updates below when throttled + geom_updates_before_throttled_update = 15 + + ; ## + ; ## Sculpted Prim settings + ; ## + + ; Do we want to mesh sculpted prim to collide like they look? + ; If you are seeing sculpt texture decode problems + ; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception") + ; then you might want to try setting this to false. + mesh_sculpted_prim = true + + ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies + mesh_lod = 32 + + ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies + mesh_physical_lod = 16 + + ; ## + ; ## additional meshing options + ; ## + + ; Physics needs to create internal meshs (or convert the object meshs or scultps) + ; for all prims except simple boxes and spheres. + + ; collisions of small objects againts larger ones can have a increased CPU load cost + ; so this are represented by a simple BOX + ; if all their scale dimensions are lower or equal to this option. Default is 0.1m + ; (ubOde only) + ; MinSizeToMeshmerize = 0.1 + + +[BulletSim] + ; There are two bullet physics libraries, bulletunmanaged is the default and is a + ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality + ; but the c++ one is much faster. + BulletEngine = "bulletunmanaged" + ; BulletEngine = "bulletxna" + + ; BulletSim can run on its own thread independent of the simulator's heartbeat + ; thread. Enabling this will not let the physics engine slow down avatar movement, etc. + UseSeparatePhysicsThread = false + + ; Terrain implementation can use either Bullet's heightField or BulletSim can build + ; a mesh. 0=heightField, 1=mesh + TerrainImplementation = 0 + ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield + ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher + ; magnifications use lots of memory. + TerrainMeshMagnification = 2 + + ; Should avatars collide with each other? + AvatarToAvatarCollisionsByDefault = true + + ; Default linkset implmentation + ; 'Constraint' uses physics constraints to hold linkset together. 'Compound' + ; builds a compound shape from the children shapes to create a single physical + ; shape. 'Compound' uses a lot less CPU time. + LinkImplementation = 1 ; 0=constraint, 1=compound + + ; If 'true', offset a linkset's origin based on mass of linkset parts. + LinksetOffsetCenterOfMass = false + + ; If 'true', turn scuplties into meshes + MeshSculptedPrim = true + + ; If 'true', force simple prims (box and sphere) to be meshed + ; If 'false', the Bullet native special case shape is used for square rectangles + ; and even dimensioned spheres. + ForceSimplePrimMeshing = false + + ; If 'true', when creating meshes, remove all triangles that have two equal vertexes. + ; Happens often in sculpties. If turned off, there will be some doorways + ; that cannot be walked through. + ShouldRemoveZeroWidthTriangles = true + + ; If 'true', use convex hull definition in mesh asset if present. + ShouldUseAssetHulls = true + + ; If there are thousands of physical objects, these maximums should be increased. + MaxCollisionsPerFrame = 2048 + MaxUpdatesPerFrame = 8192 + + ; Detailed physics debug logging. Very verbose. + PhysicsLoggingEnabled = False + PhysicsLoggingDir = "." + VehicleLoggingEnabled = False + + +[Sun] + ; send a Sun update every update_interval # of frames. A lower number will + ; make for smoother sun transition at the cost of network + ;update_interval = 100 + + +[Wind] + ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second + wind_update_rate = 150 + + ; The Default Wind Plugin to load + wind_plugin = SimpleRandomWind + + +[Cloud] + ; update interval for the cloud cover data returned by llCloud(). + ; default is 1000 + cloud_update_rate = 1000 + + +[Trees] + ; active_trees allows module to change its trees in time. + ; some will be deleted, others created and rest may grow + ; default is false. You can change it with console command tree active true | false later + active_trees = false + ; the trees change execution time rate (in ms) + update_rate = 1000 + + ; allow the trees to grow. + ; DANGER + ; this option causes high network use on the order of + ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second + allowGrow = false + + +[LL-Functions] + ; Maximum number of llListen events we allow over the entire region. + ; Set this to 0 to have no limit imposed + max_listens_per_region = 1000 + + ; Maximum number of llListen events we allow per script + ; Set this to 0 to have no limit imposed. + max_listens_per_script = 64 + + ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL()) + max_external_urls_per_simulator = 100 + + ; Use size boxes instead of meshed prims, sculpts and mesh when calculating bounding boxes. + ; Speeds up calculations but can make them inaccurate, in some cases very inaccurate. + UseSimpleBoxesInGetBoundingBox = false + + ; Use llCastRay V3 if true. + ; Implements llCastRay similar but not identical to Second Life. + ; See http://wiki.secondlife.com/wiki/LlCastRay . + ; NEW + ; Meshes prims for good accuracy in ray hit detection, + ; handling basic and tortured prims, sculpts and meshes. + ; Uses ellipsoid, correctly sized avatar capsules. + ; Handles complex terrain, multi-prim objects and seated avatars. + ; Implements throttling and the status codes + ; RCERR_UNKNOWN and RCERR_CAST_TIME_EXCEEDED, + ; so LSL scripts need to handle these responses and RCERR_SIM_PERF_LOW. + ; WARNING + ; Can be faster on some servers and scenes, but slower on others, + ; compared to previous version of llCastRay in OpenSimulator. + ; Is in most cases considerably slower than llCastRay in Second Life. + ; Generates geometry meshes and can therefore use much system resources. + UseLlCastRayV3 = false + + ; Accepted calculation precision error in calculations in llCastRay V3 + FloatToleranceInLlCastRay = 0.00001 + + ; Accepted distance difference between duplicate hits in llCastRay V3 + FloatTolerance2InLlCastRay = 0.001 + + ; Detail level when rendering prims in llCastRay V3 + ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call + PrimDetailLevelInLlCastRay = 1 + + ; Detail level when rendering sculpts in llCastRay V3 + ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call + SculptDetailLevelInLlCastRay = 1 + + ; Detail level when rendering meshes in llCastRay V3 + ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call + MeshDetailLevelInLlCastRay = 3 + + ; Detail level when rendering avatar capsules in llCastRay V3 + ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call + AvatarDetailLevelInLlCastRay = 1 + + ; Maximum number of returned hits from llCastRay V3 + MaxHitsInLlCastRay = 16 + + ; Maximum number of returned hits per prim from llCastRay V3 + MaxHitsPerPrimInLlCastRay = 16 + + ; Maximum number of returned hits per object from llCastRay V3 + MaxHitsPerObjectInLlCastRay = 16 + + ; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true + DetectExitHitsInLlCastRay = false + + ; Detect attachments in llCastRay V3 if true + DoAttachmentsInLlCastRay = false + + ; Throttle period length in ms before which all old llCastRay use is discarded in llCastRay V3 + ; The sum of AvailableTimeInMsPerRegionInLlCastRay and all AvailableTimeInMsPerAvatarInLlCastRay should not exceed this + ThrottleTimeInMsInLlCastRay = 200 + + ; Available time in ms for llCastRay per throttle period and 65536 m2 land area in llCastRay V3 + AvailableTimeInMsPerRegionInLlCastRay = 40 + + ; Available time in ms for llCastRay per throttle period and avatar when script in attachment or vehicle in llCastRay V3 + AvailableTimeInMsPerAvatarInLlCastRay = 10 + + ; Required available time in ms left to perform a new llCastRay in llCastRay V3 + RequiredAvailableTimeInMsInLlCastRay = 2 + + ; Maximum available time in ms possible in llCastRay V3, not to get too high values with varregions + MaximumAvailableTimeInMsInLlCastRay = 40 + + ; Use cached meshes in llCastRay V3 if true + ; Improves performance but uses more memory + UseMeshCacheInLlCastRay = true + + +[XEngine] + ; How many threads to keep alive even if nothing is happening + MinThreads = 2 + + ; How many threads to start at maximum load + MaxThreads = 100 + + ; Time a thread must be idle (in seconds) before it dies + IdleTimeout = 60 + + ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest") + Priority = "BelowNormal" + + ; Maximum number of events to queue for a script (excluding timers) + MaxScriptEventQueue = 300 + + ; Stack size per thread created + ThreadStackSize = 262144 + + ; Set this to true to load each script into a separate + ; AppDomain. Setting this to false will load all script assemblies into the + ; current AppDomain, which will reduce the initial per-script memory overhead, + ; but deleted scripts stay inactive using memory. + ; Significantly improving script loading times. + ; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted. + ; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region. + ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited. + ; At this time some mono versions seem to have problems with the true option, + ; so default is now false until a fix is found, to simply life of less technical skilled users. + AppDomainLoading = false + + ; Controls whether previously compiled scripts DLLs are deleted on sim restart. + ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled. + ; It should be true on first run after updating opensim binary version + ; after first run you can change to false. + ; You can also set it to false and delete the script DLLs by hand + ; This does not delete cached scripts state. + DeleteScriptsOnStartup = true + + ; CompactMemOnLoad + ; forces calls to memory garbage collector before loading each script DLL during region startup. + ; Peak memory usage is reduced and region starts with a more compacted memory allocation. + ; But this costs a lot of time, so region load will take a lot longer. + ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true) + ; CompactMemOnLoad = false + + ; Controls whether scripts are stopped by aborting their threads externally (abort) + ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op). + ; co-op will be more stable as aborting threads can cause instability. + ; abort was the default option in OpenSimulator 0.8 and before. + ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary. + ; However, the setting change will not take affect until the next time you restart the simulator. + ; Setting changes will not affect state information stored for scripts. + ScriptStopStrategy = co-op + + ; Rate to poll for asynchronous command replies (ms) + ; currently unused + ;AsyncLLCommandLoopms = 50 + + ; Compile debug info (line numbers) into the script assemblies + CompileWithDebugInformation = true + + ; Interval (s) between background save of script states + SaveInterval = 120 + + ; Interval (s) between maintenance runs (0 = disable) + MaintenanceInterval = 10 + + ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested + ; before aborting the thread (such as when an object containing scripts is taken into inventory). + WaitForEventCompletionOnScriptStop = 1000 + + ; Minimum settable timer interval. Any timer setting less than this is + ; rounded up to this minimum interval. + MinTimerInterval = 0.5 + + ; Sensor settings + SensorMaxRange = 96.0 + SensorMaxResults = 16 + + +[Groups] + ; Groups data is cached for this number of seconds before another request is made to the groups service + ; Set to 0 to disable the cache. + ; Default is 30 seconds + GroupsCacheTimeout = 30 + + +[PacketPool] + ;RecyclePackets = true + ;RecycleDataBlocks = true + + ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets. + ; This reduces data churn + RecycleBaseUDPPackets = true + + +[InterestManagement] + ; This section controls how state updates are prioritized for each client + ; Valid values are BestAvatarResponsiveness, Time, Distance, + ; SimpleAngularDistance, and FrontBack + UpdatePrioritizationScheme = BestAvatarResponsiveness + ReprioritizationEnabled = true + ReprioritizationInterval = 2000.0 + RootReprioritizationDistance = 10.0 + ChildReprioritizationDistance = 20.0 + + ; TEST OPTION KEEP AS FALSE + ; if true, don't send object updates if outside view range + ObjectsCullingByDistance = false + + ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region + ; Updates will always be sent to the avatar that the update addresses and if av velocity is effectively zero (to prevent drift due to missing updates). + ; n > 1 will reduce UDP traffic but will lead to laggier movement observed in other avatars. + RootTerseUpdatePeriod = 0 + + ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region + ; n > 1 will reduce UDP traffic but may lead to laggier movement observed in other avatars, though values up to 4 may not generate a noticeable effect. + ChildTerseUpdatePeriod = 0 + + ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance + RootPositionUpdateTolerance = 0.05 + + ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance + RootRotationUpdateTolerance = 0.1 + + ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance + RootVelocityUpdateTolerance = 0.001 + + +[Statistics] + ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames + ; to include in the averaging calculations + NumberOfFrames=10 + + +[Terrain] + ; If 'true' each avatar is only sent terrain patches within their view distance + ; This also changes the region terrain loading from 'lawn mower' to ordered around + ; the avatar outward. + SendTerrainUpdatesByViewDistance = True + + +[LandManagement] + ; When editing terrain or objects, parcel layer info is updated in the viewer. + ; This can be expensive for large regions. If this variable is 'true', only the + ; parcel layer data around the area of interest is sent. The parcel layer info + ; is sent for 'ParcelLayerViewDistance' around the interest point. + ; If 'ParcelLayerViewDistance' is >= 128, the operation for legacy sized regions + ; will be what it has always been (send the whole region's parcel layer info). + ; Other parcel updates (login, changing parcel ownership, ...) will still send + ; whole region. + LimitParcelLayerUpdateDistance = true + ParcelLayerViewDistance = 128 + + +;; If you are using a simian grid frontend you can enable +;; this module to upload tile images for the mapping fn +;; +[SimianGridMaptiles] + RefreshTime = 3600 + + +;; +;; These are defaults that are overwritten below in [Architecture]. +;; These defaults allow OpenSim to work out of the box with +;; zero configuration +;; +[AssetService] + ; Disable this to prevent the default asset set from being inserted into the + ; asset store each time the region starts + AssetLoaderEnabled = true + + +[AutoBackupModule] + ;; default is module is disabled at the top level + AutoBackupModuleEnabled = false + + +[ServiceThrottle] + ;; Default time interval (in ms) for the throttle service thread to wake up + Interval = 5000 + + +[Materials] + MaxMaterialsPerTransaction = 50 diff --git a/bin/config-include/SimFast.ini b/bin/config-include/SimFast.ini new file mode 100644 index 0000000..40d3cc1 --- /dev/null +++ b/bin/config-include/SimFast.ini @@ -0,0 +1,884 @@ +[Startup] + ; ## + ; ## SYSTEM + ; ## + + ; Sets the method that OpenSim will use to fire asynchronous + ; events. Valid values are UnsafeQueueUserWorkItem, + ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread. + ; + ; SmartThreadPool is reported to work well on Mono/Linux, but + ; UnsafeQueueUserWorkItem has been benchmarked with better + ; performance on .NET/Windows + ; + ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security + ; privileges. However, as calling code is trusted anyway this is safe (if you set + ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons). + async_call_method = SmartThreadPool + + ; Max threads to allocate on the FireAndForget thread pool + ; when running with the SmartThreadPool option above + MaxPoolThreads = 300 + + ; Allow certain jobs to be run consecutively in a job engine rather than always concurrently. + ; This improves performance in regions with large numbers of connections (in the hundreds). + JobEngineEnabled = true + + ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos + ; Increasing this number will increase memory usage. + MaxPrimUndos = 42 + + ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum + ; This can be overridden in the region config file. + ClampPrimSize = true + + ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative. + ClampNegativeZ = true + + ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region. + ; This only applies when crossing to a region running in a different simulator. + ; For crossings where the regions are on the same simulator the script is always kept running. + AllowScriptCrossing = true + + ; Main Frame time + ; This defines the rate of several simulation events. + ; Default value should meet most needs. + ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads. + ; It should not be less than the physics engine step time. + ; Being a integer multiple of it may reduce some jitter in reported physics FPS. + ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same + FrameTime = 0.0909 + + ; Send scheduled updates to objects in the scene + ; This must be a whole number + UpdateObjectsEveryNFrames = 1 + + ; Send position/velocity, etc. updates to agents in the scene + ; This must be a whole number + UpdateAgentsEveryNFrames = 1 + + ; Apply pending forces from physics calculations to an entity. + ; This must be a whole number + UpdateEntityMovementEveryNFrames = 1 + + ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap. + ; This must be a whole number + UpdateCoarseLocationsEveryNFrames = 50 + + ; Physics simulation execution or syncronization, acording to engine. Should be 1 + ; This must be a whole number + UpdatePhysicsEveryNFrames = 1 + + ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1. + ; This must be a whole number + UpdateEventsEveryNFrames = 1 + + ; Send terrain updates to viewers + ; This must be a whole number + UpdateTerrainEveryNFrames = 50 + + ; Persitently store any objects which meet the PRIM STORAGE criteria + ; This must be a whole number + UpdateStorageEveryNFrames = 200 + + ; Clean up temp on rez objects. + ; This must be a whole number + UpdateTempCleaningEveryNSeconds = 180 + + ; ## + ; ## PRIM STORAGE + ; ## + + ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to + ; prevent frequently changing objects from heavily loading the region data store. + ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep. + ; + ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds + MinimumTimeBeforePersistenceConsidered = 60 + ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago + MaximumTimeBeforePersistenceConsidered = 600 + + ; ## + ; ## PHYSICS + ; ## + + ; Select a mesher here. + ; + ; Meshmerizer properly handles complex prims by using triangle meshes. + ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way + ; + ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports + ; Usually this is only a box + + ;meshing = Meshmerizer + ;meshing = ZeroMesher + ;; select ubODEMeshmerizer only with ubOde physics engine + meshing = ubODEMeshmerizer + + ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit + ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions + ; edit the line ulimit -s 262144, and change this last value + + ; if you use Meshmerizer and want sculpt map collisions, setting this to + ; to true will store decoded sculpt maps in a special folder in your bin + ; folder, which can reduce startup times by reducing asset requests. Some + ; versions of mono dont work well when reading the cache files, so set this + ; to false if you have compatibility problems. + CacheSculptMaps = true + + ;; BulletSim is the default physics engine. It provides the best performance and most functionality. + ;; BulletSim supports varregions. + ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. + ;; It continues to provide a workable physics implementation. It does not currently support varregions. + ;; basicphysics effectively does not model physics at all, making all objects phantom. + ;; Default is BulletSim + ;physics = BulletSim + ;physics = modified_BulletX + ;physics = OpenDynamicsEngine + ;physics = basicphysics + ;physics = POS + ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also + physics = ubODE + + ; ## + ; ## SCRIPT ENGINE + ; ## + + ;; Default script engine to use. Currently, we only have XEngine + DefaultScriptEngine = "XEngine" + + ; Image decoding. Use CSJ2K for layer boundary decoding if true, + ; OpenJPEG if false + ; UseCSJ2K = true + + +[Map] + ; Map tile options. + ; If true, then maptiles are generated using the MapImageModule below. + ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden + ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need + ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/ + GenerateMaptiles = false + + ;WorldMapModule = "WorldMap" + + ; The module to use in order to generate map images. + ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can + ; generate better images. + MapImageModule = "Map3DImageModule" + + ; World map blacklist timeout in seconds + ;BlacklistTimeout = 600 + + ; Refresh (in seconds) the map tile periodically + MaptileRefresh = 0 + + ; If not generating maptiles, use this static texture asset ID + MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" + + ; Draw objects on maptile. This step might take a long time if you've got a large number of + ; objects, so you can turn it off here if you'd like. + DrawPrimOnMapTile = false + + ; Use terrain texture for maptiles if true, use shaded green if false + TextureOnMapTile = false + + ; Texture prims + TexturePrims = false + + ; Only texture prims that have a diagonal size greater than this number + TexturePrimSize = 64 + + ; Attempt to render meshes and sculpties on the map + RenderMeshes = false + + UseAntiAliasing = false + + +[Network] + ; OpenSim can send multiple simultaneous requests for services such as asset + ; retrieval. However, some versions of mono appear to hang when there are too + ; many simultaneous requests, default is 30 and is currently applied only to assets + ;MaxRequestConcurrency = 30 + + +[ClientStack.LindenUDP] + ; The client socket receive buffer size determines how many + ; incoming requests we can process; the default on .NET is 8192 + ; which is about 2 4k-sized UDP datagrams. On mono this is + ; whatever the underlying operating system has as default; for + ; example, ubuntu 8.04 or SLES11 have about 111k, which is about + ; 27 4k-sized UDP datagrams (on linux platforms you can [as root] + ; do "sysctl net.core.rmem_default" to find out what your system + ; uses a default socket receive buffer size. + ; + ; client_socket_rcvbuf_size allows you to specify the receive + ; buffer size LLUDPServer should use. NOTE: this will be limited + ; by the system's settings for the maximum client receive buffer + ; size (on linux systems you can set that with "sysctl -w + ; net.core.rmem_max=X") + ; + ;client_socket_rcvbuf_size = 8388608 + + ; Maximum outbound bytes per second for a single scene. This can be used to + ; throttle total outbound UDP traffic for a simulator. The default value is + ; 0, meaning no throttling at the scene level. The example given here is + ; 20 megabits + ; + ;scene_throttle_max_bps = 2500000 + + ; Maximum bytes per second to send to any single client. This will override + ; the user's viewer preference settings. The default value is 0, meaning no + ; aggregate throttling on clients (only per-category throttling). The + ; example given here is 1.5 megabits + ; + ;client_throttle_max_bps = 187500 + + ; Minimum bytes per second to send to any single client as a result of + ; adaptive throttling. Viewer preferences set to a lower number will + ; override the settin. The example given here ensures that adaptive + ; throttling will never decrease per client bandwidth below 256 kbps. + ; + ;adaptive_throttle_min_bps = 32000 + + ; Adaptive throttling attempts to limit network overload when multiple + ; clients login by starting each connection more slowly. Disabled by + ; default + ; + enable_adaptive_throttles = false + + ; Per-client bytes per second rates for the various throttle categories. + ; These are default values that will be overridden by clients. These + ; defaults are approximately equivalent to the throttles set by the Imprudence + ; viewer when maximum bandwidth is set to 350kbps + + ;resend_default = 6625 + ;land_default = 9125 + ;wind_default = 1750 + ;cloud_default = 1750 + ;task_default = 18500 + ;texture_default = 18500 + ;asset_default = 10500 + + ; Configures how ObjectUpdates are aggregated. These numbers + ; do not literally mean how many updates will be put in each + ; packet that goes over the wire, as packets are + ; automatically split on a 1400 byte boundary. These control + ; the balance between responsiveness of interest list updates + ; and total throughput. Higher numbers will ensure more full- + ; sized packets and faster sending of data, but more delay in + ; updating interest lists + ; + ;PrimUpdatesPerCallback = 100 + + ; TextureSendLimit determines how many packets will be put on + ; the outgoing queue each cycle. Like the settings above, this + ; is a balance between responsiveness to priority updates and + ; total throughput. Higher numbers will give a better + ; throughput at the cost of reduced responsiveness to client + ; priority changes or transfer aborts + ; + ;TextureSendLimit = 20 + + ; CannibalizeTextureRate allows bandwidth to be moved from the + ; UDP texture throttle to the task throttle. Since most viewers + ; use HTTP textures, this provides a means of using what is largely + ; unused bandwidth in the total throttle. The value is the proportion + ; of the texture rate to move to the task queue. It must be between + ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the + ; bandwidth is grabbed) + ; + ; CannibalizeTextureRate = 0.5 + + ; The time to wait before disconecting an unresponsive client. + ; The time is in seconds. The default is one minute + ; + ;AckTimeout = 60 + + ; The time to wait before disconecting an unresponsive paused client. + ; A client can be paused when the file selection dialog is open during file upload. + ; This gives extra time to find files via the dialog but will still disconnect if + ; the client crashes or loses its network connection + ; The time is in seconds. The default is five minutes. + ; + ;PausedAckTimeout = 300 + + +[Appearance] + ; Persist avatar baked textures + ; Persisting baked textures can speed up login and region border + ; crossings especially with large numbers of users, though it + ; will store potentially large numbers of textures in your asset + ; database + PersistBakedTextures = false + + ; Control the delay before appearance is sent to other avatars and + ; saved in the avatar service. Attempts to limit the impact caused + ; by the very chatty dialog that sets appearance when an avatar + ; logs in or teleports into a region; values are in seconds + DelayBeforeAppearanceSave = 5 + DelayBeforeAppearanceSend = 2 + + ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds. + ; This may help with some situations where avatars are persistently grey, though it will not help + ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others). + ResendAppearanceUpdates = false + + ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar + ; on every login + ReuseTextures = true + + +[Attachments] + ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments + ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit + ; or when multiple avatars with medium level attachments login/change outfit simultaneously. + ; If 0 then no throttling is performed. + ThrottlePer100PrimsRezzed = 0 + + +[Textures] + ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible + ; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components + ; (e.g. images pulled from an external HTTP address). + ; Reusing previously generated textures results in a much faster update on the viewer but may cause issues if the viewer didn't receive all resolutions of the texture. + ; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted. + ; Hence, currently considered experimental. + ; Default is false. + ReuseDynamicTextures = true + + ; If true, then textures generated dynamically that have a low data size relative to their pixel size are not reused + ; This is to workaround an apparent LL 3.3.4 and earlier viewer bug where such textures are not redisplayed properly when pulled from the viewer cache. + ; Only set this to true if you are sure that all the viewers using your simulator will not suffer from this problem. + ; This setting only has an affect is ReuseDynamicTextures = true + ; Default is false + ReuseDynamicLowDataTextures = true + + +[ODEPhysicsSettings] + ; ## + ; ## Physics stats settings ( most ignored by ubOde ) + ; + + ; If collect_stats is enabled, then extra stat information is collected which is accessible via the MonitorModule + ; (see http://opensimulator.org/wiki/Monitoring_Module for more details). + collect_stats = false + + ; ## + ; ## Physics logging settings - logfiles are saved to *.DIF files + ; ## + + ; default is false + ;physics_logging = true + ;; every n simulation iterations, the physics snapshot file is updated + ;physics_logging_interval = 50 + ;; append to existing physics logfile, or overwrite existing logfiles? + ;physics_logging_append_existing_logfile = true + + ;## + ;## World Settings + ;## + + ; World Step size. + ; with legacy ODE this value needs to be close to 0.02s + ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load + ; you will need to test acording to you needs + ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS + world_stepsize = 0.015 + ; number of iterations of constrains solver, higher should improve results + ; up to a point where acumulated math errors eliminate the improvement + ; more steps may increase CPU load. No real gain in changing + world_solver_iterations = 10 + + ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim + ; defines spaces partition cells min and max sizes == 2^value + world_hashspace_level_low = -5 + world_hashSpace_level_high = 12 + + meters_in_small_space = 29.9 + + + ; ## + ; ## Contact properties. (the stuff that happens when things come in contact with each other) + ; ## + + ; surface layer around geometries other geometries can sink into before generating a contact + world_contact_surface_layer = 0.001 + + ; Filtering collisions helps keep things stable physics wise, but sometimes + ; it can be overzealous. If you notice bouncing, chances are it's that. + filter_collisions = false + + ; Non Moving Terrain Contact (avatar isn't moving) + nm_terraincontact_friction = 255.0 + nm_terraincontact_bounce = 0.1 + nm_terraincontact_erp = 0.1025 + + ; Moving Terrain Contact (avatar is moving) + m_terraincontact_friction = 75.0 + m_terraincontact_bounce = 0.05 + m_terrainContact_erp = 0.05025 + + ; Moving Avatar to object Contact + m_avatarobjectcontact_friction = 75.0 + m_avatarobjectcontact_bounce = 0.1 + + ; Object to Object Contact and Non-Moving Avatar to object + objectcontact_friction = 250.0 + objectcontact_bounce = 0.2 + + ; ## + ; ## Avatar Control + ; ## + + ; PID Controller Settings. These affect the math that causes the avatar to reach the + ; desired velocity + ; See http://en.wikipedia.org/wiki/PID_controller + + av_pid_derivative = 2200.0 + av_pid_proportional = 900.0 + + ; specifies if the capsule should be tilted (=true; old compatibility mode) + ; or straight up-and-down (=false; better and more consistent physics behavior) + av_capsule_tilted = false + + ; Movement. Smaller is faster. + + ; speed of movement with Always Run off + av_movement_divisor_walk = 1.4 + + ; speed of movement with Always Run on + av_movement_divisor_run = 0.9 + + ; When the avatar flies, it will be moved up by this amount off the ground (in meters) + minimum_ground_flight_offset = 3.0 + + ; Plant avatar. This reduces the effect of physical contacts with the avatar. + ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive. + ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active + ; will lock the avatar in place + av_planted = true + + ; No Avatar Avatar Collissions. This causes avatar to be able to walk through each other as if they're ghosts but still interact with the environment + av_av_collisions_off = true + + ; ## + ; ## Object options + ; ## + + ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep + body_frames_auto_disable = 20 + + ; used to control llMove2Target + body_pid_derivative = 35 + body_pid_gain = 25 + + ; maximum number of contact points to generate per collision + contacts_per_collision = 80 + + ; start throttling the object updates if object comes in contact with 3 or more other objects + geom_contactpoints_start_throttling = 3 + + ; send 1 update for every x updates below when throttled + geom_updates_before_throttled_update = 15 + + ; ## + ; ## Sculpted Prim settings + ; ## + + ; Do we want to mesh sculpted prim to collide like they look? + ; If you are seeing sculpt texture decode problems + ; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception") + ; then you might want to try setting this to false. + mesh_sculpted_prim = false + + ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies + mesh_lod = 32 + + ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies + mesh_physical_lod = 16 + + ; ## + ; ## additional meshing options + ; ## + + ; Physics needs to create internal meshs (or convert the object meshs or scultps) + ; for all prims except simple boxes and spheres. + + ; collisions of small objects againts larger ones can have a increased CPU load cost + ; so this are represented by a simple BOX + ; if all their scale dimensions are lower or equal to this option. Default is 0.1m + ; (ubOde only) + ; MinSizeToMeshmerize = 0.1 + + +[BulletSim] + ; There are two bullet physics libraries, bulletunmanaged is the default and is a + ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality + ; but the c++ one is much faster. + ;BulletEngine = "bulletunmanaged" + BulletEngine = "bulletxna" + + ; BulletSim can run on its own thread independent of the simulator's heartbeat + ; thread. Enabling this will not let the physics engine slow down avatar movement, etc. + UseSeparatePhysicsThread = true + + ; Terrain implementation can use either Bullet's heightField or BulletSim can build + ; a mesh. 0=heightField, 1=mesh + TerrainImplementation = 0 + ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield + ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher + ; magnifications use lots of memory. + TerrainMeshMagnification = 1 + + ; Should avatars collide with each other? + AvatarToAvatarCollisionsByDefault = false + + ; Default linkset implmentation + ; 'Constraint' uses physics constraints to hold linkset together. 'Compound' + ; builds a compound shape from the children shapes to create a single physical + ; shape. 'Compound' uses a lot less CPU time. + LinkImplementation = 1 ; 0=constraint, 1=compound + + ; If 'true', offset a linkset's origin based on mass of linkset parts. + LinksetOffsetCenterOfMass = false + + ; If 'true', turn scuplties into meshes + MeshSculptedPrim = false + + ; If 'true', force simple prims (box and sphere) to be meshed + ; If 'false', the Bullet native special case shape is used for square rectangles + ; and even dimensioned spheres. + ForceSimplePrimMeshing = true + + ; If 'true', when creating meshes, remove all triangles that have two equal vertexes. + ; Happens often in sculpties. If turned off, there will be some doorways + ; that cannot be walked through. + ShouldRemoveZeroWidthTriangles = true + + ; If 'true', use convex hull definition in mesh asset if present. + ShouldUseAssetHulls = true + + ; If there are thousands of physical objects, these maximums should be increased. + MaxCollisionsPerFrame = 2048 + MaxUpdatesPerFrame = 8192 + + ; Detailed physics debug logging. Very verbose. + PhysicsLoggingEnabled = False + PhysicsLoggingDir = "." + VehicleLoggingEnabled = False + + +[Sun] + ; send a Sun update every update_interval # of frames. A lower number will + ; make for smoother sun transition at the cost of network + ;update_interval = 100 + + +[Wind] + ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second + wind_update_rate = 150 + + ; The Default Wind Plugin to load + wind_plugin = SimpleRandomWind + + +[Cloud] + ; update interval for the cloud cover data returned by llCloud(). + ; default is 1000 + cloud_update_rate = 1000 + + +[Trees] + ; active_trees allows module to change its trees in time. + ; some will be deleted, others created and rest may grow + ; default is false. You can change it with console command tree active true | false later + active_trees = false + ; the trees change execution time rate (in ms) + update_rate = 1000 + + ; allow the trees to grow. + ; DANGER + ; this option causes high network use on the order of + ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second + allowGrow = false + + +[LL-Functions] + ; Maximum number of llListen events we allow over the entire region. + ; Set this to 0 to have no limit imposed + max_listens_per_region = 0 + + ; Maximum number of llListen events we allow per script + ; Set this to 0 to have no limit imposed. + max_listens_per_script = 0 + + ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL()) + max_external_urls_per_simulator = 256 + + ; Use size boxes instead of meshed prims, sculpts and mesh when calculating bounding boxes. + ; Speeds up calculations but can make them inaccurate, in some cases very inaccurate. + UseSimpleBoxesInGetBoundingBox = true + + ; Use llCastRay V3 if true. + ; Implements llCastRay similar but not identical to Second Life. + ; See http://wiki.secondlife.com/wiki/LlCastRay . + ; NEW + ; Meshes prims for good accuracy in ray hit detection, + ; handling basic and tortured prims, sculpts and meshes. + ; Uses ellipsoid, correctly sized avatar capsules. + ; Handles complex terrain, multi-prim objects and seated avatars. + ; Implements throttling and the status codes + ; RCERR_UNKNOWN and RCERR_CAST_TIME_EXCEEDED, + ; so LSL scripts need to handle these responses and RCERR_SIM_PERF_LOW. + ; WARNING + ; Can be faster on some servers and scenes, but slower on others, + ; compared to previous version of llCastRay in OpenSimulator. + ; Is in most cases considerably slower than llCastRay in Second Life. + ; Generates geometry meshes and can therefore use much system resources. + UseLlCastRayV3 = true + + ; Accepted calculation precision error in calculations in llCastRay V3 + FloatToleranceInLlCastRay = 0.00001 + + ; Accepted distance difference between duplicate hits in llCastRay V3 + FloatTolerance2InLlCastRay = 0.001 + + ; Detail level when rendering prims in llCastRay V3 + ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call + PrimDetailLevelInLlCastRay = 1 + + ; Detail level when rendering sculpts in llCastRay V3 + ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call + SculptDetailLevelInLlCastRay = 1 + + ; Detail level when rendering meshes in llCastRay V3 + ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call + MeshDetailLevelInLlCastRay = 3 + + ; Detail level when rendering avatar capsules in llCastRay V3 + ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call + AvatarDetailLevelInLlCastRay = 1 + + ; Maximum number of returned hits from llCastRay V3 + MaxHitsInLlCastRay = 16 + + ; Maximum number of returned hits per prim from llCastRay V3 + MaxHitsPerPrimInLlCastRay = 16 + + ; Maximum number of returned hits per object from llCastRay V3 + MaxHitsPerObjectInLlCastRay = 16 + + ; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true + DetectExitHitsInLlCastRay = false + + ; Detect attachments in llCastRay V3 if true + DoAttachmentsInLlCastRay = false + + ; Throttle period length in ms before which all old llCastRay use is discarded in llCastRay V3 + ; The sum of AvailableTimeInMsPerRegionInLlCastRay and all AvailableTimeInMsPerAvatarInLlCastRay should not exceed this + ThrottleTimeInMsInLlCastRay = 200 + + ; Available time in ms for llCastRay per throttle period and 65536 m2 land area in llCastRay V3 + AvailableTimeInMsPerRegionInLlCastRay = 40 + + ; Available time in ms for llCastRay per throttle period and avatar when script in attachment or vehicle in llCastRay V3 + AvailableTimeInMsPerAvatarInLlCastRay = 10 + + ; Required available time in ms left to perform a new llCastRay in llCastRay V3 + RequiredAvailableTimeInMsInLlCastRay = 2 + + ; Maximum available time in ms possible in llCastRay V3, not to get too high values with varregions + MaximumAvailableTimeInMsInLlCastRay = 40 + + ; Use cached meshes in llCastRay V3 if true + ; Improves performance but uses more memory + UseMeshCacheInLlCastRay = true + + +[XEngine] + ; How many threads to keep alive even if nothing is happening + MinThreads = 2 + + ; How many threads to start at maximum load + MaxThreads = 100 + + ; Time a thread must be idle (in seconds) before it dies + IdleTimeout = 60 + + ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest") + Priority = "Normal" + + ; Maximum number of events to queue for a script (excluding timers) + MaxScriptEventQueue = 3000 + + ; Stack size per thread created + ThreadStackSize = 262144 + + ; Set this to true to load each script into a separate + ; AppDomain. Setting this to false will load all script assemblies into the + ; current AppDomain, which will reduce the initial per-script memory overhead, + ; but deleted scripts stay inactive using memory. + ; Significantly improving script loading times. + ; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted. + ; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region. + ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited. + ; At this time some mono versions seem to have problems with the true option, + ; so default is now false until a fix is found, to simply life of less technical skilled users. + AppDomainLoading = false + + ; Controls whether previously compiled scripts DLLs are deleted on sim restart. + ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled. + ; It should be true on first run after updating opensim binary version + ; after first run you can change to false. + ; You can also set it to false and delete the script DLLs by hand + ; This does not delete cached scripts state. + DeleteScriptsOnStartup = false + + ; CompactMemOnLoad + ; forces calls to memory garbage collector before loading each script DLL during region startup. + ; Peak memory usage is reduced and region starts with a more compacted memory allocation. + ; But this costs a lot of time, so region load will take a lot longer. + ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true) + CompactMemOnLoad = true + + ; Controls whether scripts are stopped by aborting their threads externally (abort) + ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op). + ; co-op will be more stable as aborting threads can cause instability. + ; abort was the default option in OpenSimulator 0.8 and before. + ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary. + ; However, the setting change will not take affect until the next time you restart the simulator. + ; Setting changes will not affect state information stored for scripts. + ScriptStopStrategy = abort + + ; Rate to poll for asynchronous command replies (ms) + ; currently unused + ;AsyncLLCommandLoopms = 50 + + ; Compile debug info (line numbers) into the script assemblies + CompileWithDebugInformation = false + + ; Interval (s) between background save of script states + SaveInterval = 120 + + ; Interval (s) between maintenance runs (0 = disable) + MaintenanceInterval = 10 + + ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested + ; before aborting the thread (such as when an object containing scripts is taken into inventory). + WaitForEventCompletionOnScriptStop = 1000 + + ; Minimum settable timer interval. Any timer setting less than this is + ; rounded up to this minimum interval. + MinTimerInterval = 0.1 + + ; Sensor settings + SensorMaxRange = 96.0 + SensorMaxResults = 64 + + +[Groups] + ; Groups data is cached for this number of seconds before another request is made to the groups service + ; Set to 0 to disable the cache. + ; Default is 30 seconds + GroupsCacheTimeout = 30 + + +[PacketPool] + ;RecyclePackets = true + ;RecycleDataBlocks = true + + ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets. + ; This reduces data churn + RecycleBaseUDPPackets = true + + +[InterestManagement] + ; This section controls how state updates are prioritized for each client + ; Valid values are BestAvatarResponsiveness, Time, Distance, + ; SimpleAngularDistance, and FrontBack + UpdatePrioritizationScheme = BestAvatarResponsiveness + ReprioritizationEnabled = true + ReprioritizationInterval = 2000.0 + RootReprioritizationDistance = 10.0 + ChildReprioritizationDistance = 20.0 + + ; TEST OPTION KEEP AS FALSE + ; if true, don't send object updates if outside view range + ObjectsCullingByDistance = false + + ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region + ; Updates will always be sent to the avatar that the update addresses and if av velocity is effectively zero (to prevent drift due to missing updates). + ; n > 1 will reduce UDP traffic but will lead to laggier movement observed in other avatars. + RootTerseUpdatePeriod = 0 + + ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region + ; n > 1 will reduce UDP traffic but may lead to laggier movement observed in other avatars, though values up to 4 may not generate a noticeable effect. + ChildTerseUpdatePeriod = 0 + + ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance + RootPositionUpdateTolerance = 0.05 + + ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance + RootRotationUpdateTolerance = 0.1 + + ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance + RootVelocityUpdateTolerance = 0.001 + + +[Statistics] + ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames + ; to include in the averaging calculations + NumberOfFrames=10 + + +[Terrain] + ; If 'true' each avatar is only sent terrain patches within their view distance + ; This also changes the region terrain loading from 'lawn mower' to ordered around + ; the avatar outward. + SendTerrainUpdatesByViewDistance = True + + +[LandManagement] + ; When editing terrain or objects, parcel layer info is updated in the viewer. + ; This can be expensive for large regions. If this variable is 'true', only the + ; parcel layer data around the area of interest is sent. The parcel layer info + ; is sent for 'ParcelLayerViewDistance' around the interest point. + ; If 'ParcelLayerViewDistance' is >= 128, the operation for legacy sized regions + ; will be what it has always been (send the whole region's parcel layer info). + ; Other parcel updates (login, changing parcel ownership, ...) will still send + ; whole region. + LimitParcelLayerUpdateDistance = true + ParcelLayerViewDistance = 128 + + +;; If you are using a simian grid frontend you can enable +;; this module to upload tile images for the mapping fn +;; +[SimianGridMaptiles] + RefreshTime = 3600 + + +;; +;; These are defaults that are overwritten below in [Architecture]. +;; These defaults allow OpenSim to work out of the box with +;; zero configuration +;; +[AssetService] + ; Disable this to prevent the default asset set from being inserted into the + ; asset store each time the region starts + AssetLoaderEnabled = false + + +[AutoBackupModule] + ;; default is module is disabled at the top level + AutoBackupModuleEnabled = false + + +[ServiceThrottle] + ;; Default time interval (in ms) for the throttle service thread to wake up + Interval = 5000 + + +[Materials] + MaxMaterialsPerTransaction = 50 diff --git a/bin/config-include/SimLean.ini b/bin/config-include/SimLean.ini new file mode 100644 index 0000000..0e80320 --- /dev/null +++ b/bin/config-include/SimLean.ini @@ -0,0 +1,884 @@ +[Startup] + ; ## + ; ## SYSTEM + ; ## + + ; Sets the method that OpenSim will use to fire asynchronous + ; events. Valid values are UnsafeQueueUserWorkItem, + ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread. + ; + ; SmartThreadPool is reported to work well on Mono/Linux, but + ; UnsafeQueueUserWorkItem has been benchmarked with better + ; performance on .NET/Windows + ; + ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security + ; privileges. However, as calling code is trusted anyway this is safe (if you set + ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons). + async_call_method = SmartThreadPool + + ; Max threads to allocate on the FireAndForget thread pool + ; when running with the SmartThreadPool option above + MaxPoolThreads = 300 + + ; Allow certain jobs to be run consecutively in a job engine rather than always concurrently. + ; This improves performance in regions with large numbers of connections (in the hundreds). + JobEngineEnabled = false + + ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos + ; Increasing this number will increase memory usage. + MaxPrimUndos = 10 + + ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum + ; This can be overridden in the region config file. + ClampPrimSize = false + + ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative. + ClampNegativeZ = false + + ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region. + ; This only applies when crossing to a region running in a different simulator. + ; For crossings where the regions are on the same simulator the script is always kept running. + AllowScriptCrossing = true + + ; Main Frame time + ; This defines the rate of several simulation events. + ; Default value should meet most needs. + ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads. + ; It should not be less than the physics engine step time. + ; Being a integer multiple of it may reduce some jitter in reported physics FPS. + ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same + FrameTime = 0.0909 + + ; Send scheduled updates to objects in the scene + ; This must be a whole number + UpdateObjectsEveryNFrames = 1 + + ; Send position/velocity, etc. updates to agents in the scene + ; This must be a whole number + UpdateAgentsEveryNFrames = 1 + + ; Apply pending forces from physics calculations to an entity. + ; This must be a whole number + UpdateEntityMovementEveryNFrames = 1 + + ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap. + ; This must be a whole number + UpdateCoarseLocationsEveryNFrames = 50 + + ; Physics simulation execution or syncronization, acording to engine. Should be 1 + ; This must be a whole number + UpdatePhysicsEveryNFrames = 1 + + ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1. + ; This must be a whole number + UpdateEventsEveryNFrames = 1 + + ; Send terrain updates to viewers + ; This must be a whole number + UpdateTerrainEveryNFrames = 50 + + ; Persitently store any objects which meet the PRIM STORAGE criteria + ; This must be a whole number + UpdateStorageEveryNFrames = 200 + + ; Clean up temp on rez objects. + ; This must be a whole number + UpdateTempCleaningEveryNSeconds = 180 + + ; ## + ; ## PRIM STORAGE + ; ## + + ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to + ; prevent frequently changing objects from heavily loading the region data store. + ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep. + ; + ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds + MinimumTimeBeforePersistenceConsidered = 60 + ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago + MaximumTimeBeforePersistenceConsidered = 600 + + ; ## + ; ## PHYSICS + ; ## + + ; Select a mesher here. + ; + ; Meshmerizer properly handles complex prims by using triangle meshes. + ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way + ; + ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports + ; Usually this is only a box + + ;meshing = Meshmerizer + ;meshing = ZeroMesher + ;; select ubODEMeshmerizer only with ubOde physics engine + meshing = ubODEMeshmerizer + + ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit + ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions + ; edit the line ulimit -s 262144, and change this last value + + ; if you use Meshmerizer and want sculpt map collisions, setting this to + ; to true will store decoded sculpt maps in a special folder in your bin + ; folder, which can reduce startup times by reducing asset requests. Some + ; versions of mono dont work well when reading the cache files, so set this + ; to false if you have compatibility problems. + CacheSculptMaps = false + + ;; BulletSim is the default physics engine. It provides the best performance and most functionality. + ;; BulletSim supports varregions. + ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. + ;; It continues to provide a workable physics implementation. It does not currently support varregions. + ;; basicphysics effectively does not model physics at all, making all objects phantom. + ;; Default is BulletSim + ;physics = BulletSim + ;physics = modified_BulletX + ;physics = OpenDynamicsEngine + ;physics = basicphysics + ;physics = POS + ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also + physics = ubODE + + ; ## + ; ## SCRIPT ENGINE + ; ## + + ;; Default script engine to use. Currently, we only have XEngine + DefaultScriptEngine = "XEngine" + + ; Image decoding. Use CSJ2K for layer boundary decoding if true, + ; OpenJPEG if false + ; UseCSJ2K = true + + +[Map] + ; Map tile options. + ; If true, then maptiles are generated using the MapImageModule below. + ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden + ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need + ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/ + GenerateMaptiles = false + + ;WorldMapModule = "WorldMap" + + ; The module to use in order to generate map images. + ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can + ; generate better images. + MapImageModule = "Map3DImageModule" + + ; World map blacklist timeout in seconds + ;BlacklistTimeout = 600 + + ; Refresh (in seconds) the map tile periodically + MaptileRefresh = 0 + + ; If not generating maptiles, use this static texture asset ID + ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" + + ; Draw objects on maptile. This step might take a long time if you've got a large number of + ; objects, so you can turn it off here if you'd like. + DrawPrimOnMapTile = false + + ; Use terrain texture for maptiles if true, use shaded green if false + TextureOnMapTile = false + + ; Texture prims + TexturePrims = false + + ; Only texture prims that have a diagonal size greater than this number + TexturePrimSize = 48 + + ; Attempt to render meshes and sculpties on the map + RenderMeshes = false + + UseAntiAliasing = false + + +[Network] + ; OpenSim can send multiple simultaneous requests for services such as asset + ; retrieval. However, some versions of mono appear to hang when there are too + ; many simultaneous requests, default is 30 and is currently applied only to assets + ;MaxRequestConcurrency = 30 + + +[ClientStack.LindenUDP] + ; The client socket receive buffer size determines how many + ; incoming requests we can process; the default on .NET is 8192 + ; which is about 2 4k-sized UDP datagrams. On mono this is + ; whatever the underlying operating system has as default; for + ; example, ubuntu 8.04 or SLES11 have about 111k, which is about + ; 27 4k-sized UDP datagrams (on linux platforms you can [as root] + ; do "sysctl net.core.rmem_default" to find out what your system + ; uses a default socket receive buffer size. + ; + ; client_socket_rcvbuf_size allows you to specify the receive + ; buffer size LLUDPServer should use. NOTE: this will be limited + ; by the system's settings for the maximum client receive buffer + ; size (on linux systems you can set that with "sysctl -w + ; net.core.rmem_max=X") + ; + ;client_socket_rcvbuf_size = 8388608 + + ; Maximum outbound bytes per second for a single scene. This can be used to + ; throttle total outbound UDP traffic for a simulator. The default value is + ; 0, meaning no throttling at the scene level. The example given here is + ; 20 megabits + ; + ;scene_throttle_max_bps = 2500000 + + ; Maximum bytes per second to send to any single client. This will override + ; the user's viewer preference settings. The default value is 0, meaning no + ; aggregate throttling on clients (only per-category throttling). The + ; example given here is 1.5 megabits + ; + ;client_throttle_max_bps = 187500 + + ; Minimum bytes per second to send to any single client as a result of + ; adaptive throttling. Viewer preferences set to a lower number will + ; override the settin. The example given here ensures that adaptive + ; throttling will never decrease per client bandwidth below 256 kbps. + ; + ;adaptive_throttle_min_bps = 32000 + + ; Adaptive throttling attempts to limit network overload when multiple + ; clients login by starting each connection more slowly. Disabled by + ; default + ; + enable_adaptive_throttles = false + + ; Per-client bytes per second rates for the various throttle categories. + ; These are default values that will be overridden by clients. These + ; defaults are approximately equivalent to the throttles set by the Imprudence + ; viewer when maximum bandwidth is set to 350kbps + + ;resend_default = 6625 + ;land_default = 9125 + ;wind_default = 1750 + ;cloud_default = 1750 + ;task_default = 18500 + ;texture_default = 18500 + ;asset_default = 10500 + + ; Configures how ObjectUpdates are aggregated. These numbers + ; do not literally mean how many updates will be put in each + ; packet that goes over the wire, as packets are + ; automatically split on a 1400 byte boundary. These control + ; the balance between responsiveness of interest list updates + ; and total throughput. Higher numbers will ensure more full- + ; sized packets and faster sending of data, but more delay in + ; updating interest lists + ; + ;PrimUpdatesPerCallback = 100 + + ; TextureSendLimit determines how many packets will be put on + ; the outgoing queue each cycle. Like the settings above, this + ; is a balance between responsiveness to priority updates and + ; total throughput. Higher numbers will give a better + ; throughput at the cost of reduced responsiveness to client + ; priority changes or transfer aborts + ; + ;TextureSendLimit = 20 + + ; CannibalizeTextureRate allows bandwidth to be moved from the + ; UDP texture throttle to the task throttle. Since most viewers + ; use HTTP textures, this provides a means of using what is largely + ; unused bandwidth in the total throttle. The value is the proportion + ; of the texture rate to move to the task queue. It must be between + ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the + ; bandwidth is grabbed) + ; + ; CannibalizeTextureRate = 0.5 + + ; The time to wait before disconecting an unresponsive client. + ; The time is in seconds. The default is one minute + ; + ;AckTimeout = 60 + + ; The time to wait before disconecting an unresponsive paused client. + ; A client can be paused when the file selection dialog is open during file upload. + ; This gives extra time to find files via the dialog but will still disconnect if + ; the client crashes or loses its network connection + ; The time is in seconds. The default is five minutes. + ; + ;PausedAckTimeout = 300 + + +[Appearance] + ; Persist avatar baked textures + ; Persisting baked textures can speed up login and region border + ; crossings especially with large numbers of users, though it + ; will store potentially large numbers of textures in your asset + ; database + PersistBakedTextures = false + + ; Control the delay before appearance is sent to other avatars and + ; saved in the avatar service. Attempts to limit the impact caused + ; by the very chatty dialog that sets appearance when an avatar + ; logs in or teleports into a region; values are in seconds + DelayBeforeAppearanceSave = 5 + DelayBeforeAppearanceSend = 2 + + ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds. + ; This may help with some situations where avatars are persistently grey, though it will not help + ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others). + ResendAppearanceUpdates = false + + ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar + ; on every login + ReuseTextures = true + + +[Attachments] + ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments + ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit + ; or when multiple avatars with medium level attachments login/change outfit simultaneously. + ; If 0 then no throttling is performed. + ThrottlePer100PrimsRezzed = 0 + + +[Textures] + ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible + ; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components + ; (e.g. images pulled from an external HTTP address). + ; Reusing previously generated textures results in a much faster update on the viewer but may cause issues if the viewer didn't receive all resolutions of the texture. + ; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted. + ; Hence, currently considered experimental. + ; Default is false. + ReuseDynamicTextures = false + + ; If true, then textures generated dynamically that have a low data size relative to their pixel size are not reused + ; This is to workaround an apparent LL 3.3.4 and earlier viewer bug where such textures are not redisplayed properly when pulled from the viewer cache. + ; Only set this to true if you are sure that all the viewers using your simulator will not suffer from this problem. + ; This setting only has an affect is ReuseDynamicTextures = true + ; Default is false + ReuseDynamicLowDataTextures = false + + +[ODEPhysicsSettings] + ; ## + ; ## Physics stats settings ( most ignored by ubOde ) + ; + + ; If collect_stats is enabled, then extra stat information is collected which is accessible via the MonitorModule + ; (see http://opensimulator.org/wiki/Monitoring_Module for more details). + collect_stats = false + + ; ## + ; ## Physics logging settings - logfiles are saved to *.DIF files + ; ## + + ; default is false + ;physics_logging = true + ;; every n simulation iterations, the physics snapshot file is updated + ;physics_logging_interval = 50 + ;; append to existing physics logfile, or overwrite existing logfiles? + ;physics_logging_append_existing_logfile = true + + ;## + ;## World Settings + ;## + + ; World Step size. + ; with legacy ODE this value needs to be close to 0.02s + ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load + ; you will need to test acording to you needs + ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS + world_stepsize = 0.01818 + ; number of iterations of constrains solver, higher should improve results + ; up to a point where acumulated math errors eliminate the improvement + ; more steps may increase CPU load. No real gain in changing + world_solver_iterations = 10 + + ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim + ; defines spaces partition cells min and max sizes == 2^value + world_hashspace_level_low = -5 + world_hashSpace_level_high = 12 + + meters_in_small_space = 29.9 + + + ; ## + ; ## Contact properties. (the stuff that happens when things come in contact with each other) + ; ## + + ; surface layer around geometries other geometries can sink into before generating a contact + world_contact_surface_layer = 0.001 + + ; Filtering collisions helps keep things stable physics wise, but sometimes + ; it can be overzealous. If you notice bouncing, chances are it's that. + filter_collisions = false + + ; Non Moving Terrain Contact (avatar isn't moving) + nm_terraincontact_friction = 255.0 + nm_terraincontact_bounce = 0.1 + nm_terraincontact_erp = 0.1025 + + ; Moving Terrain Contact (avatar is moving) + m_terraincontact_friction = 75.0 + m_terraincontact_bounce = 0.05 + m_terrainContact_erp = 0.05025 + + ; Moving Avatar to object Contact + m_avatarobjectcontact_friction = 75.0 + m_avatarobjectcontact_bounce = 0.1 + + ; Object to Object Contact and Non-Moving Avatar to object + objectcontact_friction = 250.0 + objectcontact_bounce = 0.2 + + ; ## + ; ## Avatar Control + ; ## + + ; PID Controller Settings. These affect the math that causes the avatar to reach the + ; desired velocity + ; See http://en.wikipedia.org/wiki/PID_controller + + av_pid_derivative = 2200.0 + av_pid_proportional = 900.0 + + ; specifies if the capsule should be tilted (=true; old compatibility mode) + ; or straight up-and-down (=false; better and more consistent physics behavior) + av_capsule_tilted = false + + ; Movement. Smaller is faster. + + ; speed of movement with Always Run off + av_movement_divisor_walk = 1.3 + + ; speed of movement with Always Run on + av_movement_divisor_run = 0.8 + + ; When the avatar flies, it will be moved up by this amount off the ground (in meters) + minimum_ground_flight_offset = 3.0 + + ; Plant avatar. This reduces the effect of physical contacts with the avatar. + ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive. + ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active + ; will lock the avatar in place + av_planted = false + + ; No Avatar Avatar Collissions. This causes avatar to be able to walk through each other as if they're ghosts but still interact with the environment + av_av_collisions_off = false + + ; ## + ; ## Object options + ; ## + + ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep + body_frames_auto_disable = 20 + + ; used to control llMove2Target + body_pid_derivative = 35 + body_pid_gain = 25 + + ; maximum number of contact points to generate per collision + contacts_per_collision = 80 + + ; start throttling the object updates if object comes in contact with 3 or more other objects + geom_contactpoints_start_throttling = 3 + + ; send 1 update for every x updates below when throttled + geom_updates_before_throttled_update = 15 + + ; ## + ; ## Sculpted Prim settings + ; ## + + ; Do we want to mesh sculpted prim to collide like they look? + ; If you are seeing sculpt texture decode problems + ; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception") + ; then you might want to try setting this to false. + mesh_sculpted_prim = true + + ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies + mesh_lod = 32 + + ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies + mesh_physical_lod = 16 + + ; ## + ; ## additional meshing options + ; ## + + ; Physics needs to create internal meshs (or convert the object meshs or scultps) + ; for all prims except simple boxes and spheres. + + ; collisions of small objects againts larger ones can have a increased CPU load cost + ; so this are represented by a simple BOX + ; if all their scale dimensions are lower or equal to this option. Default is 0.1m + ; (ubOde only) + ; MinSizeToMeshmerize = 0.1 + + +[BulletSim] + ; There are two bullet physics libraries, bulletunmanaged is the default and is a + ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality + ; but the c++ one is much faster. + BulletEngine = "bulletunmanaged" + ; BulletEngine = "bulletxna" + + ; BulletSim can run on its own thread independent of the simulator's heartbeat + ; thread. Enabling this will not let the physics engine slow down avatar movement, etc. + UseSeparatePhysicsThread = false + + ; Terrain implementation can use either Bullet's heightField or BulletSim can build + ; a mesh. 0=heightField, 1=mesh + TerrainImplementation = 0 + ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield + ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher + ; magnifications use lots of memory. + TerrainMeshMagnification = 1 + + ; Should avatars collide with each other? + AvatarToAvatarCollisionsByDefault = false + + ; Default linkset implmentation + ; 'Constraint' uses physics constraints to hold linkset together. 'Compound' + ; builds a compound shape from the children shapes to create a single physical + ; shape. 'Compound' uses a lot less CPU time. + LinkImplementation = 1 ; 0=constraint, 1=compound + + ; If 'true', offset a linkset's origin based on mass of linkset parts. + LinksetOffsetCenterOfMass = false + + ; If 'true', turn scuplties into meshes + MeshSculptedPrim = false + + ; If 'true', force simple prims (box and sphere) to be meshed + ; If 'false', the Bullet native special case shape is used for square rectangles + ; and even dimensioned spheres. + ForceSimplePrimMeshing = false + + ; If 'true', when creating meshes, remove all triangles that have two equal vertexes. + ; Happens often in sculpties. If turned off, there will be some doorways + ; that cannot be walked through. + ShouldRemoveZeroWidthTriangles = true + + ; If 'true', use convex hull definition in mesh asset if present. + ShouldUseAssetHulls = true + + ; If there are thousands of physical objects, these maximums should be increased. + MaxCollisionsPerFrame = 2048 + MaxUpdatesPerFrame = 8192 + + ; Detailed physics debug logging. Very verbose. + PhysicsLoggingEnabled = False + PhysicsLoggingDir = "." + VehicleLoggingEnabled = False + + +[Sun] + ; send a Sun update every update_interval # of frames. A lower number will + ; make for smoother sun transition at the cost of network + ;update_interval = 100 + + +[Wind] + ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second + wind_update_rate = 150 + + ; The Default Wind Plugin to load + wind_plugin = SimpleRandomWind + + +[Cloud] + ; update interval for the cloud cover data returned by llCloud(). + ; default is 1000 + cloud_update_rate = 1000 + + +[Trees] + ; active_trees allows module to change its trees in time. + ; some will be deleted, others created and rest may grow + ; default is false. You can change it with console command tree active true | false later + active_trees = false + ; the trees change execution time rate (in ms) + update_rate = 1000 + + ; allow the trees to grow. + ; DANGER + ; this option causes high network use on the order of + ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second + allowGrow = false + + +[LL-Functions] + ; Maximum number of llListen events we allow over the entire region. + ; Set this to 0 to have no limit imposed + max_listens_per_region = 1000 + + ; Maximum number of llListen events we allow per script + ; Set this to 0 to have no limit imposed. + max_listens_per_script = 64 + + ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL()) + max_external_urls_per_simulator = 100 + + ; Use size boxes instead of meshed prims, sculpts and mesh when calculating bounding boxes. + ; Speeds up calculations but can make them inaccurate, in some cases very inaccurate. + UseSimpleBoxesInGetBoundingBox = true + + ; Use llCastRay V3 if true. + ; Implements llCastRay similar but not identical to Second Life. + ; See http://wiki.secondlife.com/wiki/LlCastRay . + ; NEW + ; Meshes prims for good accuracy in ray hit detection, + ; handling basic and tortured prims, sculpts and meshes. + ; Uses ellipsoid, correctly sized avatar capsules. + ; Handles complex terrain, multi-prim objects and seated avatars. + ; Implements throttling and the status codes + ; RCERR_UNKNOWN and RCERR_CAST_TIME_EXCEEDED, + ; so LSL scripts need to handle these responses and RCERR_SIM_PERF_LOW. + ; WARNING + ; Can be faster on some servers and scenes, but slower on others, + ; compared to previous version of llCastRay in OpenSimulator. + ; Is in most cases considerably slower than llCastRay in Second Life. + ; Generates geometry meshes and can therefore use much system resources. + UseLlCastRayV3 = false + + ; Accepted calculation precision error in calculations in llCastRay V3 + FloatToleranceInLlCastRay = 0.00001 + + ; Accepted distance difference between duplicate hits in llCastRay V3 + FloatTolerance2InLlCastRay = 0.001 + + ; Detail level when rendering prims in llCastRay V3 + ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call + PrimDetailLevelInLlCastRay = 1 + + ; Detail level when rendering sculpts in llCastRay V3 + ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call + SculptDetailLevelInLlCastRay = 1 + + ; Detail level when rendering meshes in llCastRay V3 + ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call + MeshDetailLevelInLlCastRay = 3 + + ; Detail level when rendering avatar capsules in llCastRay V3 + ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call + AvatarDetailLevelInLlCastRay = 1 + + ; Maximum number of returned hits from llCastRay V3 + MaxHitsInLlCastRay = 16 + + ; Maximum number of returned hits per prim from llCastRay V3 + MaxHitsPerPrimInLlCastRay = 16 + + ; Maximum number of returned hits per object from llCastRay V3 + MaxHitsPerObjectInLlCastRay = 16 + + ; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true + DetectExitHitsInLlCastRay = false + + ; Detect attachments in llCastRay V3 if true + DoAttachmentsInLlCastRay = false + + ; Throttle period length in ms before which all old llCastRay use is discarded in llCastRay V3 + ; The sum of AvailableTimeInMsPerRegionInLlCastRay and all AvailableTimeInMsPerAvatarInLlCastRay should not exceed this + ThrottleTimeInMsInLlCastRay = 200 + + ; Available time in ms for llCastRay per throttle period and 65536 m2 land area in llCastRay V3 + AvailableTimeInMsPerRegionInLlCastRay = 40 + + ; Available time in ms for llCastRay per throttle period and avatar when script in attachment or vehicle in llCastRay V3 + AvailableTimeInMsPerAvatarInLlCastRay = 10 + + ; Required available time in ms left to perform a new llCastRay in llCastRay V3 + RequiredAvailableTimeInMsInLlCastRay = 2 + + ; Maximum available time in ms possible in llCastRay V3, not to get too high values with varregions + MaximumAvailableTimeInMsInLlCastRay = 40 + + ; Use cached meshes in llCastRay V3 if true + ; Improves performance but uses more memory + UseMeshCacheInLlCastRay = true + + +[XEngine] + ; How many threads to keep alive even if nothing is happening + MinThreads = 2 + + ; How many threads to start at maximum load + MaxThreads = 100 + + ; Time a thread must be idle (in seconds) before it dies + IdleTimeout = 60 + + ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest") + Priority = "BelowNormal" + + ; Maximum number of events to queue for a script (excluding timers) + MaxScriptEventQueue = 3000 + + ; Stack size per thread created + ThreadStackSize = 132144 + + ; Set this to true to load each script into a separate + ; AppDomain. Setting this to false will load all script assemblies into the + ; current AppDomain, which will reduce the initial per-script memory overhead, + ; but deleted scripts stay inactive using memory. + ; Significantly improving script loading times. + ; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted. + ; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region. + ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited. + ; At this time some mono versions seem to have problems with the true option, + ; so default is now false until a fix is found, to simply life of less technical skilled users. + AppDomainLoading = false + + ; Controls whether previously compiled scripts DLLs are deleted on sim restart. + ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled. + ; It should be true on first run after updating opensim binary version + ; after first run you can change to false. + ; You can also set it to false and delete the script DLLs by hand + ; This does not delete cached scripts state. + DeleteScriptsOnStartup = true + + ; CompactMemOnLoad + ; forces calls to memory garbage collector before loading each script DLL during region startup. + ; Peak memory usage is reduced and region starts with a more compacted memory allocation. + ; But this costs a lot of time, so region load will take a lot longer. + ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true) + CompactMemOnLoad = true + + ; Controls whether scripts are stopped by aborting their threads externally (abort) + ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op). + ; co-op will be more stable as aborting threads can cause instability. + ; abort was the default option in OpenSimulator 0.8 and before. + ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary. + ; However, the setting change will not take affect until the next time you restart the simulator. + ; Setting changes will not affect state information stored for scripts. + ScriptStopStrategy = abort + + ; Rate to poll for asynchronous command replies (ms) + ; currently unused + ;AsyncLLCommandLoopms = 50 + + ; Compile debug info (line numbers) into the script assemblies + CompileWithDebugInformation = false + + ; Interval (s) between background save of script states + SaveInterval = 120 + + ; Interval (s) between maintenance runs (0 = disable) + MaintenanceInterval = 10 + + ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested + ; before aborting the thread (such as when an object containing scripts is taken into inventory). + WaitForEventCompletionOnScriptStop = 1000 + + ; Minimum settable timer interval. Any timer setting less than this is + ; rounded up to this minimum interval. + MinTimerInterval = 0.1 + + ; Sensor settings + SensorMaxRange = 96.0 + SensorMaxResults = 16 + + +[Groups] + ; Groups data is cached for this number of seconds before another request is made to the groups service + ; Set to 0 to disable the cache. + ; Default is 30 seconds + GroupsCacheTimeout = 30 + + +[PacketPool] + ;RecyclePackets = true + ;RecycleDataBlocks = true + + ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets. + ; This reduces data churn + RecycleBaseUDPPackets = true + + +[InterestManagement] + ; This section controls how state updates are prioritized for each client + ; Valid values are BestAvatarResponsiveness, Time, Distance, + ; SimpleAngularDistance, and FrontBack + UpdatePrioritizationScheme = BestAvatarResponsiveness + ReprioritizationEnabled = true + ReprioritizationInterval = 2000.0 + RootReprioritizationDistance = 10.0 + ChildReprioritizationDistance = 20.0 + + ; TEST OPTION KEEP AS FALSE + ; if true, don't send object updates if outside view range + ObjectsCullingByDistance = false + + ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region + ; Updates will always be sent to the avatar that the update addresses and if av velocity is effectively zero (to prevent drift due to missing updates). + ; n > 1 will reduce UDP traffic but will lead to laggier movement observed in other avatars. + RootTerseUpdatePeriod = 0 + + ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region + ; n > 1 will reduce UDP traffic but may lead to laggier movement observed in other avatars, though values up to 4 may not generate a noticeable effect. + ChildTerseUpdatePeriod = 0 + + ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance + RootPositionUpdateTolerance = 0.05 + + ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance + RootRotationUpdateTolerance = 0.1 + + ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance + RootVelocityUpdateTolerance = 0.001 + + +[Statistics] + ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames + ; to include in the averaging calculations + NumberOfFrames=10 + + +[Terrain] + ; If 'true' each avatar is only sent terrain patches within their view distance + ; This also changes the region terrain loading from 'lawn mower' to ordered around + ; the avatar outward. + SendTerrainUpdatesByViewDistance = True + + +[LandManagement] + ; When editing terrain or objects, parcel layer info is updated in the viewer. + ; This can be expensive for large regions. If this variable is 'true', only the + ; parcel layer data around the area of interest is sent. The parcel layer info + ; is sent for 'ParcelLayerViewDistance' around the interest point. + ; If 'ParcelLayerViewDistance' is >= 128, the operation for legacy sized regions + ; will be what it has always been (send the whole region's parcel layer info). + ; Other parcel updates (login, changing parcel ownership, ...) will still send + ; whole region. + LimitParcelLayerUpdateDistance = true + ParcelLayerViewDistance = 128 + + +;; If you are using a simian grid frontend you can enable +;; this module to upload tile images for the mapping fn +;; +[SimianGridMaptiles] + RefreshTime = 3600 + + +;; +;; These are defaults that are overwritten below in [Architecture]. +;; These defaults allow OpenSim to work out of the box with +;; zero configuration +;; +[AssetService] + ; Disable this to prevent the default asset set from being inserted into the + ; asset store each time the region starts + AssetLoaderEnabled = true + + +[AutoBackupModule] + ;; default is module is disabled at the top level + AutoBackupModuleEnabled = false + + +[ServiceThrottle] + ;; Default time interval (in ms) for the throttle service thread to wake up + Interval = 5000 + + +[Materials] + MaxMaterialsPerTransaction = 50 diff --git a/bin/config-include/config_localhost.ini b/bin/config-include/config_localhost.ini new file mode 100644 index 0000000..501a1f4 --- /dev/null +++ b/bin/config-include/config_localhost.ini @@ -0,0 +1,49 @@ +; The Const section allows us to define some basic information that we +; will use throughout our configuration. We will provide examples for +; setting the base url of the ROBUST server and the public and private ports +; it uses. Changing the values of the constants will set the operating +; parameters thoughout the configuration. Other constants that may prove +; to be useful may be added to the followin section. They may be +; referenced anywhere in the configuration by using ${Const|Name}. One +; such use is providing a base path for setting locations that ROBUST +; uses to write data. + +; Also put grid specific stuff here. + + +[Paths] + AssetsPath = "../../AssetFiles" + BackupPath = "../../backups" + CachePath = "../../caches" + ConfigPath = "../../config" + DbPath = "../../db" + LogPath = "../../logs" + WebPath = "../../web" + +[Const] + MOTD = "Welcome to your local grid." + + GridName = "localhost Grid" + ShortGridName = "lg" + + ; For a grid these will usually be the externally accessible IP/DNS + ; name and use default public port 8002 and default private port 8003 + ; For a standalone this will usually be the externally accessible IP/DNS + ; name and use default public port 9000. The private port is not used + ; in the configuration for a standalone. + BaseHostname = "http://127.0.0.1" + HostName = "localhost" + BaseURL = ${Const|BaseHostname} + GridURL = ${Const|BaseHostname} + SSLURL = "https://${Const|HostName}" + + PublicPort = "8002" + PrivatePort = "8003" + PublicSSLPort = "8443" + + ; The public port of the ROBUST asset server, which might be different. + AssetServerPort = "8003" + + ; Database credentials. + DataProvider = "OpenSim.Data.MySQL.dll" + ConnectionString = "Data Source=MYSQL_HOST;Database=MYSQL_DB;User ID=MYSQL_USER;Password=MYSQL_PASSWORD;Old Guids=true;" -- cgit v1.1 From b61929f6804eaee8b12164f382e1513647f9d247 Mon Sep 17 00:00:00 2001 From: onefang Date: Tue, 8 Sep 2020 21:24:43 +1000 Subject: .ini files for various grids. --- bin/config-include/config_DG.ini | 87 +++++++++++++++++++++++++++ bin/config-include/config_IG.ini | 105 ++++++++++++++++++++++++++++++++ bin/config-include/config_MG.ini | 125 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 317 insertions(+) create mode 100644 bin/config-include/config_DG.ini create mode 100644 bin/config-include/config_IG.ini create mode 100644 bin/config-include/config_MG.ini (limited to 'bin') diff --git a/bin/config-include/config_DG.ini b/bin/config-include/config_DG.ini new file mode 100644 index 0000000..c407733 --- /dev/null +++ b/bin/config-include/config_DG.ini @@ -0,0 +1,87 @@ +; The Const section allows us to define some basic information that we +; will use throughout our configuration. We will provide examples for +; setting the base url of the ROBUST server and the public and private ports +; it uses. Changing the values of the constants will set the operating +; parameters thoughout the configuration. Other constants that may prove +; to be useful may be added to the followin section. They may be +; referenced anywhere in the configuration by using ${Const|Name}. One +; such use is providing a base path for setting locations that ROBUST +; uses to write data. + +; Also put grid specific stuff here. + + +[Paths] + AssetsPath = "../../AssetFiles" + BackupPath = "../../backups" + CachePath = "../../caches" + ConfigPath = "../../config" + DbPath = "../../db" + LogPath = "../../logs" + WebPath = "../../web" + +[Const] + MOTD = "Welcome to Destiny Grid." + + GridName = "Destiny Grid" + ShortGridName = "DG" + + ; For a grid these will usually be the externally accessible IP/DNS + ; name and use default public port 8002 and default private port 8003 + ; For a standalone this will usually be the externally accessible IP/DNS + ; name and use default public port 9000. The private port is not used + ; in the configuration for a standalone. + BaseHostname = "http://destiny-grid.pleasecome.in" + HostName = "destiny-grid.pleasecome.in" + BaseURL = ${Const|BaseHostname} + GridURL = ${Const|BaseHostname} + SSLURL = "https://${Const|HostName}" + + PublicPort = "8002" + PrivatePort = "8003" + PublicSSLPort = "8443" + + ; The public port of the ROBUST asset server, which might be different. + AssetServerPort = "8003" + + ; Database credentials. + DataProvider = "OpenSim.Data.MySQL.dll" + ConnectionString = "Data Source=MYSQL_HOST;Database=MYSQL_DB;User ID=MYSQL_USER;Password=MYSQL_PASSWORD;Old Guids=true;" + +[AuthorizationService] + DefaultRegionAccess = "DisallowForeigners" + ; If you have regions with access restrictions + ; specify them here using the convention + ; Region_ = + ; Valid flags are: + ; DisallowForeigners -- HG visitors not allowed + ; DisallowResidents -- only Admins and Managers allowed + ; None -- No restrictions. + + Region_Sandbox = "None" + Region_Destiny_Welcome = "None" + Region_Destiny_Shopping = "None" + +[Groups] + AddDefaultGroup = "Destiny Grid support|Destiny Grid chat" + +[Permissions] + region_owner_is_god = true + region_manager_is_god = true + parcel_owner_is_god = false + +[GodNames] + Enabled = true + FullNames = "onefang rejected,Rhi Syn" +; FirstNames = "Infinite,infinite" +; Surnames = "Kryztlsk" + +[GridService] + Region_Sandbox = "DefaultHGRegion, FallbackRegion, Persistent" + Region_Destiny_Welcome = "DefaultRegion, FallbackRegion, Persistent" + Region_Destiny_Shopping = "FallbackRegion, Persistent" + +; Normally this section goes in the ThisSim.ini file, but this is common for all. +;[Region] +; InternalAddress = "0.0.0.0" +; ExternalHostName = "destiny-grid.pleasecome.in" diff --git a/bin/config-include/config_IG.ini b/bin/config-include/config_IG.ini new file mode 100644 index 0000000..bd809bf --- /dev/null +++ b/bin/config-include/config_IG.ini @@ -0,0 +1,105 @@ +; The Const section allows us to define some basic information that we +; will use throughout our configuration. We will provide examples for +; setting the base url of the ROBUST server and the public and private ports +; it uses. Changing the values of the constants will set the operating +; parameters thoughout the configuration. Other constants that may prove +; to be useful may be added to the followin section. They may be +; referenced anywhere in the configuration by using ${Const|Name}. One +; such use is providing a base path for setting locations that ROBUST +; uses to write data. + +; Also put grid specific stuff here. + + +[Paths] + AssetsPath = "../../AssetFiles" + BackupPath = "../../backups" + CachePath = "../../caches" + ConfigPath = "../../config" + DbPath = "../../db" + LogPath = "../../logs" + WebPath = "../../web" + +[Const] + MOTD = "onefang needs a little coding or sysadmin work to keep IG going. Please help me find some." + + GridName = "Infinite Grid" + ShortGridName = "IG" + + ; For a grid these will usually be the externally accessible IP/DNS + ; name and use default public port 8002 and default private port 8003 + ; For a standalone this will usually be the externally accessible IP/DNS + ; name and use default public port 9000. The private port is not used + ; in the configuration for a standalone. + BaseHostname = "http://grid.infinitegrid.org" + HostName = "grid.infinitegrid.org" + BaseURL = ${Const|BaseHostname} + GridURL = ${Const|BaseHostname} + SSLURL = "https://${Const|HostName}" + + PublicPort = "8002" + PrivatePort = "8003" + PublicSSLPort = "8443" + + ; The public port of the ROBUST asset server, which might be different. + AssetServerPort = "8003" + + ; Database credentials. + DataProvider = "OpenSim.Data.MySQL.dll" + ConnectionString = "Data Source=MYSQL_HOST;Database=MYSQL_DB;User ID=MYSQL_USER;Password=MYSQL_PASSWORD;Old Guids=true;" + +[AuthorizationService] + DefaultRegionAccess = "DisallowForeigners" + ; If you have regions with access restrictions + ; specify them here using the convention + ; Region_ = + ; Valid flags are: + ; DisallowForeigners -- HG visitors not allowed + ; DisallowResidents -- only Admins and Managers allowed + ; None -- No restrictions. + + Region_Kellietown = "None" + Region_Sandbox = "None" + Region_Welcome = "None" + +[Groups] + AddDefaultGroup = "Infinite Grid chat|Infinite Grid support" + AddHGDefaultGroup_misfitzgrid.com = "Infinite Grid support" + +[Permissions] + region_owner_is_god = true + region_manager_is_god = true + parcel_owner_is_god = false + +[GodNames] + Enabled = true + FullNames = "Infinite BootsFang,Infinite Crush,infinite onefang,Infinite Riseon" + FirstNames = "Infinite,infinite" +; Surnames = "Kryztlsk" + +[GridService] + Region_Welcome = "DefaultRegion, FallbackRegion, Persistent" + Region_Sandbox = "DefaultRegion, FallbackRegion, Persistent" + Region_Kellietown = "DefaultRegion, FallbackRegion, Persistent" + +[GridInfoService] + ; login page: optional: if it exists it will be used to tell the client to use + ; this as splash page + welcome = ${Const|BaseURL}/drupal/loginpage + + ; helper uri: optional: if it exists it will be used to tell the client to use + ; this for all economy related things + ;economy = ${Const|BaseURL}/economy + + ; web page of grid: optional: page providing further information about your grid + about = ${Const|BaseURL}/drupal/ + + ; account creation: optional: page providing further information about obtaining + ; a user account on your grid + register = ${Const|BaseURL}/drupal/content/How_to_join + + ; help: optional: page providing further assistance for users of your grid + help = ${Const|BaseURL}/drupal/Tags/help + + ; password help: optional: page providing password assistance for users of your grid + password = ${Const|BaseURL}/drupal diff --git a/bin/config-include/config_MG.ini b/bin/config-include/config_MG.ini new file mode 100644 index 0000000..862f7b8 --- /dev/null +++ b/bin/config-include/config_MG.ini @@ -0,0 +1,125 @@ +; The Const section allows us to define some basic information that we +; will use throughout our configuration. We will provide examples for +; setting the base url of the ROBUST server and the public and private ports +; it uses. Changing the values of the constants will set the operating +; parameters thoughout the configuration. Other constants that may prove +; to be useful may be added to the followin section. They may be +; referenced anywhere in the configuration by using ${Const|Name}. One +; such use is providing a base path for setting locations that ROBUST +; uses to write data. + +; Also put grid specific stuff here. + + +[Paths] + AssetsPath = "../../AssetFiles" + BackupPath = "../../backups" + CachePath = "../../caches" + ConfigPath = "../../config" + DbPath = "../../db" + LogPath = "../../logs" + WebPath = "../../web" + +[Const] + MOTD = "All of the World is a Stage, and Everyone's a Critic." + + GridName = "Misfitz Grid" + ShortGridName = "MG" + + ; For a grid these will usually be the externally accessible IP/DNS + ; name and use default public port 8002 and default private port 8003 + ; For a standalone this will usually be the externally accessible IP/DNS + ; name and use default public port 9000. The private port is not used + ; in the configuration for a standalone. + BaseHostname = "http://misfitzgrid.com" + HostName = "misfitzgrid.com" + BaseURL = ${Const|BaseHostname} + GridURL = ${Const|BaseHostname} + SSLURL = "https://${Const|HostName}" + + PublicPort = "8002" + PrivatePort = "8003" + PublicSSLPort = "8443" + + ; The public port of the ROBUST asset server, which might be different. + AssetServerPort = "8003" + + ; Database credentials. + DataProvider = "OpenSim.Data.MySQL.dll" + ConnectionString = "Data Source=MYSQL_HOST;Database=MYSQL_DB;User ID=MYSQL_USER;Password=MYSQL_PASSWORD;Old Guids=true;" + + ; jOpenSim URL + jOpensimURL = "http://misfitzgrid.com/members" + +[AuthorizationService] + DefaultRegionAccess = "DisallowForeigners" + ; If you have regions with access restrictions + ; specify them here using the convention + ; Region_ = + ; Valid flags are: + ; DisallowForeigners -- HG visitors not allowed + ; DisallowResidents -- only Admins and Managers allowed + ; None -- No restrictions. + + Region_Blue_Moon = "None" + Region_MisFitz_ = "None" + Region_MisFitz_Continuum = "None" + Region_MisFitz_Dev = "None" + Region_MisFitz_Getaway = "None" + Region_MisFitz_Hyperport = "None" + Region_MisFitz_Motion = "None" + Region_Misfitz_Nature = "None" + Region_MisFitz_Residents1 = "None" + Region_MisFitz_Residents2 = "None" + Region_MisFitz_Sandbox = "None" + Region_MisFitz_Shopping = "None" + Region_MisFitz_Welcome = "None" + Region_MisFitz_Welcome_Beta = "None" + Region_White_Harbor = "None" + + Region_Infinite_Grid_Sandbox = "None" + Region_Infinite_Grid_Welcome = "None" + Region_Kellietown = "None" + Region_Life,_the_universe,_and_everything = "None" + Region_Naughtie_Nautical = "None" + Region_Play_Island = "None" + +[Groups] + ;# {SecretKey} {ServicesConnectorModule:Groups Remote Service Connector} {Secret key between sim and remote group service} {} "" + ;; Used for V2 in Remote only. + SecretKey = "Kensentm3" + AddDefaultGroup = "MisFitz Grid Residents" + +[GodNames] + Enabled = true + FullNames = "Fr0zenHawk Chillsmoke,Korgi Silvercloud,Max Zephyr" +; Surnames = "Kryztlsk" + +[GridService] + Region_MisFitz_Welcome = "DefaultRegion, FallbackRegion" + Region_MisFitz_Shopping = "FallbackRegion" + Region_MisFitz_HyperPort = "FallbackRegion" + Region_MisFitz_Sandbox = "FallbackRegion" + Region_MisFitz_Continuum= "DefaultHGRegion" + +[GridInfoService] + ; login page: optional: if it exists it will be used to tell the client to use + ; this as splash page + welcome = ${Const|jOpensimURL}/index.php?option=com_opensim + + ; helper uri: optional: if it exists it will be used to tell the client to use + ; this for all economy related things + economy = ${Const|BaseURL}/_tools/helper/ + + ; web page of grid: optional: page providing further information about your grid + ;about = ${Const|BaseURL}/about + + ; account creation: optional: page providing further information about obtaining + ; a user account on your grid + ;register = ${Const|BaseURL}/register + + ; help: optional: page providing further assistance for users of your grid + ;help = ${Const|BaseURL}/help + + ; password help: optional: page providing password assistance for users of your grid + ;password = ${Const|BaseURL}/password -- cgit v1.1 From 237659ba30a2d6a072aae989252a1e6be0423c3c Mon Sep 17 00:00:00 2001 From: onefang Date: Wed, 9 Sep 2020 00:52:35 +1000 Subject: Remove useless executable bit that Windows adds. --- bin/BulletXNA.dll | Bin bin/C5.dll | Bin bin/CSJ2K.dll | Bin bin/DotNetOpenId.dll | Bin bin/DotNetOpenMail.dll | Bin bin/HttpServer_OpenSim.dll | Bin bin/Ionic.Zip.dll | Bin bin/LukeSkywalker.IPNetwork.dll | Bin bin/Mono.Addins.CecilReflector.dll | Bin bin/Mono.Addins.Setup.dll | Bin bin/Mono.Addins.dll | Bin bin/Mono.Data.Sqlite.dll | Bin bin/Mono.Data.SqliteClient.dll | Bin bin/MySql.Data.dll | Bin bin/NDesk.Options.dll | Bin bin/Newtonsoft.Json.xml | 0 bin/Nini.dll | Bin bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin bin/OpenMetaverse.StructuredData.dll | Bin bin/OpenMetaverse.dll | Bin bin/OpenMetaverseTypes.dll | Bin bin/OpenSim.Region.PhysicsModule.BulletS.dll.config | 0 bin/OpenSim.exe.config | 0 bin/Prebuild.exe | Bin bin/PrimMesher.dll | Bin bin/Tools.dll | Bin bin/Warp3D.dll | Bin bin/XMLRPC.dll | Bin bin/lib32/BulletSim.dll | Bin bin/lib32/libBulletSim.dylib | Bin bin/lib32/libBulletSim.so | Bin bin/lib32/libode.dylib | Bin bin/lib32/libode.so | Bin bin/lib32/libopenjpeg-dotnet.so | Bin bin/lib32/libsqlite3_32.so | Bin bin/lib32/ode.dll | Bin bin/lib32/sqlite3.dll | Bin bin/lib64/BulletSim.dll | Bin bin/lib64/libBulletSim.dylib | Bin bin/lib64/libBulletSim.so | Bin bin/lib64/libode-x86_64.so | Bin bin/lib64/libode.dylib | Bin bin/lib64/libopenjpeg-dotnet-x86_64.so | Bin bin/lib64/libopenjpeg-dotnet.dylib | Bin bin/lib64/libsqlite3.dylib | Bin bin/lib64/libsqlite3_64.so | Bin bin/lib64/ode.dll | Bin bin/lib64/sqlite3.dll | Bin bin/log4net.dll | Bin bin/mautil.exe | Bin bin/nunit.framework.dll | Bin bin/openjpeg-dotnet-x86_64.dll | Bin bin/openjpeg-dotnet.dll | Bin bin/pCampBot.exe.config | 0 bin/zlib.net.dll | Bin 55 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 bin/BulletXNA.dll mode change 100755 => 100644 bin/C5.dll mode change 100755 => 100644 bin/CSJ2K.dll mode change 100755 => 100644 bin/DotNetOpenId.dll mode change 100755 => 100644 bin/DotNetOpenMail.dll mode change 100755 => 100644 bin/HttpServer_OpenSim.dll mode change 100755 => 100644 bin/Ionic.Zip.dll mode change 100755 => 100644 bin/LukeSkywalker.IPNetwork.dll mode change 100755 => 100644 bin/Mono.Addins.CecilReflector.dll mode change 100755 => 100644 bin/Mono.Addins.Setup.dll mode change 100755 => 100644 bin/Mono.Addins.dll mode change 100755 => 100644 bin/Mono.Data.Sqlite.dll mode change 100755 => 100644 bin/Mono.Data.SqliteClient.dll mode change 100755 => 100644 bin/MySql.Data.dll mode change 100755 => 100644 bin/NDesk.Options.dll mode change 100755 => 100644 bin/Newtonsoft.Json.xml mode change 100755 => 100644 bin/Nini.dll mode change 100755 => 100644 bin/OpenMetaverse.Rendering.Meshmerizer.dll mode change 100755 => 100644 bin/OpenMetaverse.StructuredData.dll mode change 100755 => 100644 bin/OpenMetaverse.dll mode change 100755 => 100644 bin/OpenMetaverseTypes.dll mode change 100755 => 100644 bin/OpenSim.Region.PhysicsModule.BulletS.dll.config mode change 100755 => 100644 bin/OpenSim.exe.config mode change 100755 => 100644 bin/Prebuild.exe mode change 100755 => 100644 bin/PrimMesher.dll mode change 100755 => 100644 bin/Tools.dll mode change 100755 => 100644 bin/Warp3D.dll mode change 100755 => 100644 bin/XMLRPC.dll mode change 100755 => 100644 bin/lib32/BulletSim.dll mode change 100755 => 100644 bin/lib32/libBulletSim.dylib mode change 100755 => 100644 bin/lib32/libBulletSim.so mode change 100755 => 100644 bin/lib32/libode.dylib mode change 100755 => 100644 bin/lib32/libode.so mode change 100755 => 100644 bin/lib32/libopenjpeg-dotnet.so mode change 100755 => 100644 bin/lib32/libsqlite3_32.so mode change 100755 => 100644 bin/lib32/ode.dll mode change 100755 => 100644 bin/lib32/sqlite3.dll mode change 100755 => 100644 bin/lib64/BulletSim.dll mode change 100755 => 100644 bin/lib64/libBulletSim.dylib mode change 100755 => 100644 bin/lib64/libBulletSim.so mode change 100755 => 100644 bin/lib64/libode-x86_64.so mode change 100755 => 100644 bin/lib64/libode.dylib mode change 100755 => 100644 bin/lib64/libopenjpeg-dotnet-x86_64.so mode change 100755 => 100644 bin/lib64/libopenjpeg-dotnet.dylib mode change 100755 => 100644 bin/lib64/libsqlite3.dylib mode change 100755 => 100644 bin/lib64/libsqlite3_64.so mode change 100755 => 100644 bin/lib64/ode.dll mode change 100755 => 100644 bin/lib64/sqlite3.dll mode change 100755 => 100644 bin/log4net.dll mode change 100755 => 100644 bin/mautil.exe mode change 100755 => 100644 bin/nunit.framework.dll mode change 100755 => 100644 bin/openjpeg-dotnet-x86_64.dll mode change 100755 => 100644 bin/openjpeg-dotnet.dll mode change 100755 => 100644 bin/pCampBot.exe.config mode change 100755 => 100644 bin/zlib.net.dll (limited to 'bin') diff --git a/bin/BulletXNA.dll b/bin/BulletXNA.dll old mode 100755 new mode 100644 diff --git a/bin/C5.dll b/bin/C5.dll old mode 100755 new mode 100644 diff --git a/bin/CSJ2K.dll b/bin/CSJ2K.dll old mode 100755 new mode 100644 diff --git a/bin/DotNetOpenId.dll b/bin/DotNetOpenId.dll old mode 100755 new mode 100644 diff --git a/bin/DotNetOpenMail.dll b/bin/DotNetOpenMail.dll old mode 100755 new mode 100644 diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll old mode 100755 new mode 100644 diff --git a/bin/Ionic.Zip.dll b/bin/Ionic.Zip.dll old mode 100755 new mode 100644 diff --git a/bin/LukeSkywalker.IPNetwork.dll b/bin/LukeSkywalker.IPNetwork.dll old mode 100755 new mode 100644 diff --git a/bin/Mono.Addins.CecilReflector.dll b/bin/Mono.Addins.CecilReflector.dll old mode 100755 new mode 100644 diff --git a/bin/Mono.Addins.Setup.dll b/bin/Mono.Addins.Setup.dll old mode 100755 new mode 100644 diff --git a/bin/Mono.Addins.dll b/bin/Mono.Addins.dll old mode 100755 new mode 100644 diff --git a/bin/Mono.Data.Sqlite.dll b/bin/Mono.Data.Sqlite.dll old mode 100755 new mode 100644 diff --git a/bin/Mono.Data.SqliteClient.dll b/bin/Mono.Data.SqliteClient.dll old mode 100755 new mode 100644 diff --git a/bin/MySql.Data.dll b/bin/MySql.Data.dll old mode 100755 new mode 100644 diff --git a/bin/NDesk.Options.dll b/bin/NDesk.Options.dll old mode 100755 new mode 100644 diff --git a/bin/Newtonsoft.Json.xml b/bin/Newtonsoft.Json.xml old mode 100755 new mode 100644 diff --git a/bin/Nini.dll b/bin/Nini.dll old mode 100755 new mode 100644 diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll old mode 100755 new mode 100644 diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll old mode 100755 new mode 100644 diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll old mode 100755 new mode 100644 diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll old mode 100755 new mode 100644 diff --git a/bin/OpenSim.Region.PhysicsModule.BulletS.dll.config b/bin/OpenSim.Region.PhysicsModule.BulletS.dll.config old mode 100755 new mode 100644 diff --git a/bin/OpenSim.exe.config b/bin/OpenSim.exe.config old mode 100755 new mode 100644 diff --git a/bin/Prebuild.exe b/bin/Prebuild.exe old mode 100755 new mode 100644 diff --git a/bin/PrimMesher.dll b/bin/PrimMesher.dll old mode 100755 new mode 100644 diff --git a/bin/Tools.dll b/bin/Tools.dll old mode 100755 new mode 100644 diff --git a/bin/Warp3D.dll b/bin/Warp3D.dll old mode 100755 new mode 100644 diff --git a/bin/XMLRPC.dll b/bin/XMLRPC.dll old mode 100755 new mode 100644 diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll old mode 100755 new mode 100644 diff --git a/bin/lib32/libBulletSim.dylib b/bin/lib32/libBulletSim.dylib old mode 100755 new mode 100644 diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so old mode 100755 new mode 100644 diff --git a/bin/lib32/libode.dylib b/bin/lib32/libode.dylib old mode 100755 new mode 100644 diff --git a/bin/lib32/libode.so b/bin/lib32/libode.so old mode 100755 new mode 100644 diff --git a/bin/lib32/libopenjpeg-dotnet.so b/bin/lib32/libopenjpeg-dotnet.so old mode 100755 new mode 100644 diff --git a/bin/lib32/libsqlite3_32.so b/bin/lib32/libsqlite3_32.so old mode 100755 new mode 100644 diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll old mode 100755 new mode 100644 diff --git a/bin/lib32/sqlite3.dll b/bin/lib32/sqlite3.dll old mode 100755 new mode 100644 diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll old mode 100755 new mode 100644 diff --git a/bin/lib64/libBulletSim.dylib b/bin/lib64/libBulletSim.dylib old mode 100755 new mode 100644 diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so old mode 100755 new mode 100644 diff --git a/bin/lib64/libode-x86_64.so b/bin/lib64/libode-x86_64.so old mode 100755 new mode 100644 diff --git a/bin/lib64/libode.dylib b/bin/lib64/libode.dylib old mode 100755 new mode 100644 diff --git a/bin/lib64/libopenjpeg-dotnet-x86_64.so b/bin/lib64/libopenjpeg-dotnet-x86_64.so old mode 100755 new mode 100644 diff --git a/bin/lib64/libopenjpeg-dotnet.dylib b/bin/lib64/libopenjpeg-dotnet.dylib old mode 100755 new mode 100644 diff --git a/bin/lib64/libsqlite3.dylib b/bin/lib64/libsqlite3.dylib old mode 100755 new mode 100644 diff --git a/bin/lib64/libsqlite3_64.so b/bin/lib64/libsqlite3_64.so old mode 100755 new mode 100644 diff --git a/bin/lib64/ode.dll b/bin/lib64/ode.dll old mode 100755 new mode 100644 diff --git a/bin/lib64/sqlite3.dll b/bin/lib64/sqlite3.dll old mode 100755 new mode 100644 diff --git a/bin/log4net.dll b/bin/log4net.dll old mode 100755 new mode 100644 diff --git a/bin/mautil.exe b/bin/mautil.exe old mode 100755 new mode 100644 diff --git a/bin/nunit.framework.dll b/bin/nunit.framework.dll old mode 100755 new mode 100644 diff --git a/bin/openjpeg-dotnet-x86_64.dll b/bin/openjpeg-dotnet-x86_64.dll old mode 100755 new mode 100644 diff --git a/bin/openjpeg-dotnet.dll b/bin/openjpeg-dotnet.dll old mode 100755 new mode 100644 diff --git a/bin/pCampBot.exe.config b/bin/pCampBot.exe.config old mode 100755 new mode 100644 diff --git a/bin/zlib.net.dll b/bin/zlib.net.dll old mode 100755 new mode 100644 -- cgit v1.1 From 577d81270359ddc65cf263c7a0b978bdecda5e77 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 9 Sep 2020 21:36:00 +1000 Subject: Gatekeeper -> GatekeeperURI Coz it says all over the source code - // Legacy. Remove soon! And has since later OpenSim 0.7s. One of theem even got removed upstream. --- bin/config-include/GridCommon.ini.example | 4 ++-- bin/config-include/StandaloneCommon.ini.example | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index dc70b81..669ba38 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -122,7 +122,7 @@ ;; Change this to the address of your Gatekeeper service ;; (usually bundled with the rest of the services in one ;; Robust server in port ${Const|PublicPort}, but not always) - Gatekeeper = "${Const|BaseURL}:${Const|PublicPort}" + GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" [AvatarService] ; @@ -173,7 +173,7 @@ ; accessible from other grids ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" - Gatekeeper = "${Const|BaseURL}:${Const|PublicPort}" + GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" ;; If you want to protect your assets from being copied by foreign visitors ;; set this to false. You may want to do this on sims that have licensed content. ;; Default is true. diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index 906ab84..ad5284d 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -116,7 +116,7 @@ [LoginService] WelcomeMessage = "Welcome, Avatar!" - ;; If you have Gatekeeper set under [Hypergrid], no need to set it here, leave it commented + ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" SRV_HomeURI = "${Const|BaseURL}:${Const|PublicPort}" -- cgit v1.1 From f8502906ba427bdfbdeaf104b24d1ee3a0450b55 Mon Sep 17 00:00:00 2001 From: onefang Date: Thu, 10 Sep 2020 08:56:55 +1000 Subject: Various script engine speed ups, and Oh Silly Threat clean ups. Don't bother doing useless threat level, sleep, and bogus stat collections, it only slows things down. https://sledjhamr.org/mantisbt/view.php?id=15 for an analysis of the bogus stat collection. --- bin/config-include/osslEnable.ini | 284 ++++++++++++++++++++++---------------- 1 file changed, 164 insertions(+), 120 deletions(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 59373b3..3793e67 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -27,7 +27,7 @@ ; in your simulator. It is safer to explicitly allow certain types of user to run ; higher threat level OSSL functions, as detailed later on. ; This setting defines the highest level allowed to execute - OSFunctionThreatLevel = VeryLow + OSFunctionThreatLevel = Moderate ; The threat level can be replaced by more detailed rules by lines of the form ; Allow_FunctionName = parameters @@ -56,10 +56,8 @@ ; appropriate line below to allow parcel ownership and groups to do restricted ; OSSL functions. It might be better to check the list below and edit the ones ; to enable individually. - osslParcelO = "" - osslParcelOG = "" - ; osslParcelO = "PARCEL_OWNER," - ; osslParcelOG = "PARCEL_GROUP_MEMBER,PARCEL_OWNER," + osslParcelO = "PARCEL_OWNER," + osslParcelOG = "PARCEL_GROUP_MEMBER,PARCEL_OWNER," ; NPC macros ; These can be mis-used so limit use to those you can trust. @@ -69,123 +67,181 @@ ; Creators__FunctionName = comma separated list of UUIDs ; this will enable the function for users that are the script creators and owners of the prim - ; ************************************************* - ; ThreatLevel None - Allow_osGetAgents = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetAvatarList = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - ;Allow_osGetGender = true - ;Allow_osGetHealth = true - ;Allow_osGetHealRate = true - Allow_osGetNPCList = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - ;Allow_osGetRezzingObject = true - ;Allow_osGetSunParam = true - Allow_osNpcGetOwner = ${OSSL|osslNPC} - Allow_osSetSunParam = ESTATE_MANAGER,ESTATE_OWNER - Allow_osTeleportOwner = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - ;Allow_osWindActiveModelPluginName = true +; ThreatLevel None +; Commented functions are out of Threat level control (for reference only) +; Allow_osCheckODE = true +; Allow_osClearInertia = true +; Allow_osCollisionSound = true +; Allow_osDie = true +; Allow_osDrawEllipse = true +; Allow_osDrawFilledEllipse = true +; Allow_osDrawFilledPolygon = true +; Allow_osDrawFilledRectangle = true +; Allow_osDrawImage = true +; Allow_osDrawLine = true +; Allow_osDrawPolygon = true +; Allow_osDrawRectangle = true +; Allow_osDrawResetTransform = true +; Allow_osDrawRotationTransform = true +; Allow_osDrawScaleTransform = true +; Allow_osDrawText = true +; Allow_osDrawTranslationTransform = true +; Allow_osFormatString = true +; Allow_osGetCurrentSunHour = true +; Allow_osGetAgents = true +; Allow_osGetAvatarList = true +; Allow_osGetDrawStringSize = true +; Allow_osGetGender = true +; Allow_osGetGridCustom = true +; Allow_osGetGridHomeURI = true +; Allow_osGetGridLoginURI = true +; Allow_osGetGridName = true +; Allow_osGetGridNick = true +; Allow_osGetHealth = true +; Allow_osGetHealRate = true +; Allow_osGetInertiaData = true +; Allow_osGetInventoryDesc = true +; Allow_osGetLinkNumber = true +; Allow_osGetMapTexture = true + ; The notecard functions can cause a lot of load on the region if over used. + ; So can any LSL loop. Pffft +; Allow_osGetNotecard = true +; Allow_osGetNotecardLine = true +; Allow_osGetNumberOfNotecardLines = true +; Allow_osGetNPCList = true +; Allow_osGetParcerlDwell = true +; Allow_osGetPhysicsEngineName = true +; Allow_osGetPhysicsEngineType = true +; Allow_osGetRegionMapTexture = true +; Allow_osGetRegionSize = true +; Allow_osGetRegionStats = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER +; Allow_osGetRezzingObject = true +; Allow_osGetScriptEngineName = true +; Allow_osGetSimulatorMemory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER +; Allow_osGetSimulatorMemoryKB = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER +; Allow_osGetSimulatorVersion = true +; Allow_osGetSunParam = true +; Allow_osGetTerrainHeight = true +; Allow_osGetWindParam = true +; Allow_osIsNpc = true +; Allow_osIsUUID = true +; Allow_osKey2Name = true +; Allow_osList2Double = true +; Allow_osListenRegex = true +; Allow_osLoadedCreationDate = true +; Allow_osLoadedCreationID = true +; Allow_osLoadedCreationTime = true +; Allow_osMatchString = true +; Allow_osMakeNotecard = true +; Allow_osMax = true +; Allow_osMin = true +; Allow_osMessageObject = true +; Allow_osMovePen = true +; Allow_osNpcCreate = true +; Allow_osNpcGetOwner = true +; Allow_osNpcGetPos = true +; Allow_osNpcGetRot = true +; Allow_osNpcLoadAppearance = true +; Allow_osNpcMoveTo = true +; Allow_osNpcMoveToTarget = true +; Allow_osNpcPlayAnimation = true +; Allow_osNpcRemove = true +; Allow_osNpcSaveAppearance = true +; Allow_osNpcSay = true +; Allow_osNpcSayTo = true +; Allow_osNpcSetProfileAbout = true +; Allow_osNpcSetProfileImage = true +; Allow_osNpcSetRot = true +; Allow_osNpcShout = true +; Allow_osNpcSit = true +; Allow_osNpcStand = true +; Allow_osNpcStopAnimation = true +; Allow_osNpcStopMoveToTarget = true +; Allow_osNpcTouch = true +; Allow_osNpcWhisper = true +; Allow_osOwnerSaveAppearance = true +; Allow_osRegexIsMatch = true +; Allow_osReplaceString = true +; Allow_osSetDynamicTextureData = true +; Allow_osSetDynamicTextureDataFace = true +; Allow_osSetDynamicTextureDataBlend = true +; Allow_osSetDynamicTextureDataBlendFace = true +; Allow_osSetDynamicTextureURL = true +; Allow_osSetDynamicTextureURLBlend = true +; Allow_osSetDynamicTextureURLBlendFace = true +; Allow_osSetFontName = true +; Allow_osSetFontSize = true +; Allow_osSetInertia = true +; Allow_osSetInertiaAsBox = true +; Allow_osSetInertiaAsSphere = true +; Allow_osSetInertiaAsCylinder = true +; Allow_osSetOwnerSpeed = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER +; Allow_osSetPenCap = true +; Allow_osSetPenColor = true +; Allow_osSetPenSize = true +; Allow_osSetPrimitiveParams = true +; Allow_osSetProjectionParams = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER +; Allow_osSunGetParam = true +; Allow_osVolumeDetect = true +; Allow_osTeleportObject = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER +; Allow_osTeleportOwner = true +; Allow_osWindActiveModelPluginName = true +; Allow_osUnixTimeToTimestamp = true ; ThreatLevel Nuisance Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRegionSunSettings = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetWindParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSunSetParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel VeryLow - Allow_osEjectFromGroup = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceBreakAllLinks = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceBreakLink = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetWindParam = true - Allow_osInviteToGroup = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osReplaceString = true - Allow_osSetDynamicTextureData = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureDataFace = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureDataBlend = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureDataBlendFace = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetParcelMediaURL = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetParcelSIPAddress = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osEjectFromGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceBreakAllLinks = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceBreakLink = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceCreateLink = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetLinkPrimitiveParams = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetPrimitiveParams = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osInviteToGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetParcelMediaURL = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetParcelSIPAddress = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetPrimFloatOnWater = true - Allow_osSetWindParam = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osTerrainFlush = ESTATE_MANAGER,ESTATE_OWNER - Allow_osUnixTimeToTimestamp = true ; ThreatLevel Low - Allow_osAvatarName2Key = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osFormatString = true - Allow_osKey2Name = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osListenRegex = true - Allow_osLoadedCreationDate = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osLoadedCreationID = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osLoadedCreationTime = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osMessageObject = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osRegexIsMatch = true - Allow_osGetAvatarHomeURI = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osNpcSetProfileAbout = ${OSSL|osslNPC} - Allow_osNpcSetProfileImage = ${OSSL|osslNPC} - Allow_osDie = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osAvatarName2Key = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetAvatarHomeURI = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel Moderate Allow_osDetectedCountry = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osDropAttachment = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osDropAttachmentAt = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetAgentCountry = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetGridCustom = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetGridGatekeeperURI = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetGridHomeURI = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetGridLoginURI = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetGridName = true - Allow_osGetGridNick = true - Allow_osGetNumberOfAttachments = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetRegionStats = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetSimulatorMemory = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetSimulatorMemoryKB = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osMessageAttachments = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetSpeed = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetOwnerSpeed = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osRequestURL = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osRequestSecureURL = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetGridGatekeeperURI = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetNumberOfAttachments = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osMessageAttachments = true + Allow_osRequestURL = true + Allow_osRequestSecureURL = true + Allow_osSetContentType = true + Allow_osSetSpeed = true ; ThreatLevel High - Allow_osCauseDamage = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osCauseHealing = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetHealth = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetHealRate = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceAttachToAvatar = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceAttachToAvatarFromInventory = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceCreateLink = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceDropAttachment = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceDropAttachmentAt = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetLinkPrimitiveParams = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetPhysicsEngineType = true - Allow_osGetRegionMapTexture = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetScriptEngineName = true - Allow_osGetSimulatorVersion = true - Allow_osMakeNotecard = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osMatchString = true - Allow_osNpcCreate = ${OSSL|osslNPC} - Allow_osNpcGetPos = ${OSSL|osslNPC} - Allow_osNpcGetRot = ${OSSL|osslNPC} - Allow_osNpcLoadAppearance = ${OSSL|osslNPC} - Allow_osNpcMoveTo = ${OSSL|osslNPC} - Allow_osNpcMoveToTarget = ${OSSL|osslNPC} - Allow_osNpcPlayAnimation = ${OSSL|osslNPC} - Allow_osNpcRemove = ${OSSL|osslNPC} - Allow_osNpcSaveAppearance = ${OSSL|osslNPC} - Allow_osNpcSay = ${OSSL|osslNPC} - Allow_osNpcSayTo = ${OSSL|osslNPC} - Allow_osNpcSetRot = ${OSSL|osslNPC} - Allow_osNpcShout = ${OSSL|osslNPC} - Allow_osNpcSit = ${OSSL|osslNPC} - Allow_osNpcStand = ${OSSL|osslNPC} - Allow_osNpcStopAnimation = ${OSSL|osslNPC} - Allow_osNpcStopMoveToTarget = ${OSSL|osslNPC} - Allow_osNpcTouch = ${OSSL|osslNPC} - Allow_osNpcWhisper = ${OSSL|osslNPC} - Allow_osOwnerSaveAppearance = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osCauseDamage = ESTATE_MANAGER,ESTATE_OWNER + Allow_osCauseHealing = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetHealth = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetHealRate = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceAttachToAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceAttachToAvatarFromInventory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER + Allow_osParcelSetDetails = ESTATE_MANAGER,ESTATE_OWNER Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER - Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetProjectionParams = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetParcelDetails = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetStateEvents = false ; deprecated Allow_osSetTerrainHeight = ESTATE_MANAGER,ESTATE_OWNER @@ -198,31 +254,19 @@ ; Enabling this can allow forced animations which can trigger traumatic episodes in vulnerable populations. ; Similar things can be said for several of the 'force' functions. Enable with care and control. ; Some of these were added as early functionality for NPCs. This has been replaced with the NPC functions. - Allow_osAvatarPlayAnimation = false - Allow_osAvatarStopAnimation = false + Allow_osAvatarPlayAnimation = true + Allow_osAvatarStopAnimation = true Allow_osForceAttachToOtherAvatarFromInventory = false Allow_osForceDetachFromAvatar = false Allow_osForceOtherSit = false - ; The notecard functions can cause a lot of load on the region if over used - Allow_osGetNotecard = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetNotecardLine = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetNumberOfNotecardLines = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureURL = ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureURLBlend = ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureURLBlendFace = ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetRot = false - Allow_osSetParcelDetails = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetRot = ESTATE_OWNER, ESTATE_MANAGER ; ThreatLevel Severe Allow_osConsoleCommand = false - Allow_osKickAvatar = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osTeleportAgent = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osTeleportObject = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGrantScriptPermissions = false + Allow_osKickAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osRevokeScriptPermissions = false + Allow_osTeleportAgent = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel Severe with additional internal restrictions Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable) - Allow_osSetContentType = false - - -; Always available -; see http://opensimulator.org/wiki/Category:OSSL_Functions -- cgit v1.1 From 414ff95af29c55fe4bffa4ebdd9380a38fdcfa8b Mon Sep 17 00:00:00 2001 From: onefang Date: Thu, 10 Sep 2020 21:18:01 +1000 Subject: Some ini files that got skipped coz .gitignore vasn't clean. --- bin/OpenSim.ini | 63 +++ bin/Robust.ini | 825 ++++++++++++++++++++++++++++++++++++ bin/config-include/FlotsamCache.ini | 97 +++++ bin/config-include/GridCommon.ini | 255 +++++++++++ 4 files changed, 1240 insertions(+) create mode 100644 bin/OpenSim.ini create mode 100644 bin/Robust.ini create mode 100644 bin/config-include/FlotsamCache.ini create mode 100644 bin/config-include/GridCommon.ini (limited to 'bin') diff --git a/bin/OpenSim.ini b/bin/OpenSim.ini new file mode 100644 index 0000000..389b3f0 --- /dev/null +++ b/bin/OpenSim.ini @@ -0,0 +1,63 @@ +;; This is the main configuration file for OpenSimulator. +;; If it's named OpenSim.ini then it will be loaded by OpenSimulator. +;; If it's named OpenSim.ini.example then you will need to copy it to +;; OpenSim.ini first (if that file does not already exist) +;; +;; Once you have copied OpenSim.ini.example to OpenSim.ini you will at least +;; need to set the constants in the [Const] section and pick an architecture +;; in the [Architecture] section at the end of this file. The architecture +;; will require a suitable .ini file in the config-include directory, either +;; StandaloneCommon.ini or GridCommon.ini which you can copy and modify from the +;; available .example files. +;; +;; The settings in this file are in the form " = ". For example, +;; save_crashes = false in the [Startup] section below. +;; +;; All settings are initially commented out and the default value used, as +;; found in OpenSimDefaults.ini. To change a setting, first uncomment it by +;; deleting the initial semicolon (;) and then change the value. This will +;; override the value in OpenSimDefaults.ini +;; +;; If you want to find out what configuration OpenSimulator has finished with +;; once all the configuration files are loaded then type "config show" on the +;; region console command line. +;; +;; +;; NOTES FOR DEVELOPERS REGARDING THE FORMAT OF THIS FILE +;; +;; All leading white space is ignored, but preserved. +;; +;; Double semicolons denote a text comment +;; +;; A * in the choices list will allow an empty entry. +;; An empty question will set the default if the dependencies are +;; satisfied. +;; +;; ; denotes a commented out option. +;; Any options added to OpenSim.ini.example should be initially commented +;; out. + + + +[Includes] + ;; Uncomment this if using this for MG. +; Include-Extra = "config-include/extra_MG.ini" + + +[Architecture] + ;; Uncomment one of the following includes as required. For instance, to create a standalone OpenSim, + ;; uncomment Include-Architecture = "config-include/Standalone.ini" + ;; + ;; Then you will need to copy and edit the corresponding *Common.example file in config-include/ + ;; that the referenced .ini file goes on to include. + ;; + ;; For instance, if you chose "config-include/Standalone.ini" then you will need to copy + ;; "config-include/StandaloneCommon.ini.example" to "config-include/StandaloneCommon.ini" before + ;; editing it to set the database and backend services that OpenSim will use. + ;; + ; Include-Architecture = "config-include/Standalone.ini" + ; Include-Architecture = "config-include/StandaloneHypergrid.ini" + ; Include-Architecture = "config-include/Grid.ini" + Include-Architecture = "config-include/GridHypergrid.ini" + ; Include-Architecture = "config-include/SimianGrid.ini" + ; Include-Architecture = "config-include/HyperSimianGrid.ini" diff --git a/bin/Robust.ini b/bin/Robust.ini new file mode 100644 index 0000000..dd2bc66 --- /dev/null +++ b/bin/Robust.ini @@ -0,0 +1,825 @@ +; * Run +; * $ Robust.exe -inifile Robust.HG.ini +; * + +; * Configurations for enabling HG1.5 +; * +; * HG1.5 handlers are: OpenSim.Server.Handlers.dll:GatekeeperService +; * OpenSim.Server.Handlers.dll:UserAgentService +; * Additional OpenSim.Server.Handlers.dll:AssetServiceConnector and +; * OpenSim.Server.Handlers.dll:XInventoryInConnector +; * are started in port 8002, outside the firewall +; * +; ** +; * +; * The Const section allows us to define some basic information that we +; * will use throughout our configuration. We will provide examples for +; * setting the base url of the Robust server and the public and private ports +; * it uses. Changing the values of the constants will set the operating +; * parameters thoughout the configuration. Other constants that may prove +; * to be useful may be added to the followin section. They may be +; * referenced anywhere in the configuration by using ${Const|Name}. One +; * such use is providing a base path for setting locations that Robust +; * uses to write data. +; * + +[Includes] + ; Define your server specific constants in this file. + Include-Common = ../../config/config.ini + + + +; * The startup section lists all the connectors to start up in this server +; * instance. This may be only one, or it may be the entire server suite. +; * Multiple connectors should be separated by commas. +; * +; * These are the IN connectors the server uses, the in connectors +; * read this config file and load the needed service and database connectors +; * +; * The full syntax of a connector string is: +; * [[@]/][:] +; * +[Startup] + ; Place to create a PID file + ; If no path if specified then a PID file is not created. + PIDFile = "${Paths|CachePath}/ROBUST.pid" + + ; Plugin Registry Location + ; Set path to directory for plugin registry. Information + ; about the registered repositories and installed plugins + ; will be stored here + ; The Robust.exe process must have R/W access to the location + RegistryLocation = "${Paths|CachePath}" + + ; Modular configurations + ; Set path to directory for modular ini files... + ; The Robust.exe process must have R/W access to the location, and it must NOT be shared by the OpenSim.exe process, coz that confuses things. + ConfigDirectory = "${Paths|ConfigPath}/ROBUST" + + ; Console commands can be saved to a file, so the command history persists after a restart. (default is true) + ConsoleHistoryFileEnabled = true + + ; The history file can be just a filename (relative to OpenSim's bin/ directory + ; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/) + ConsoleHistoryFile = "${Paths|LogPath}/RobustConsoleHistory.txt" + + ; How many lines of command history should we keep? (default is 100) + ConsoleHistoryFileLines = 100 + + ; Time stamp commands in history file (default false) + ; ConsoleHistoryTimeStamp = false + + ; peers SSL certificate validation options + ; you can allow selfsigned certificates or no official CA with next option set to true + NoVerifyCertChain = true + ; you can also bypass the hostname or domain verification + NoVerifyCertHostname = true + ; having both options true does provide encryption but with low security + ; set both true if you don't care to use SSL, they are needed to contact regions or grids that do use it. + +[ServiceList] + AssetServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AssetServiceConnector" + InventoryInConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XInventoryInConnector" + ;; Uncomment if you have set up Freeswitch (see [FreeswitchService] below) + ;VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector" + GridServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridServiceConnector" + GridInfoServerInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:GridInfoServerInConnector" + AuthenticationServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector" +; OpenIdServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:OpenIdServerConnector" + AvatarServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AvatarServiceConnector" + LLLoginServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector" + PresenceServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:PresenceServiceConnector" + UserAccountServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:UserAccountServiceConnector" + GridUserServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridUserServiceConnector" + AgentPreferencesServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AgentPreferencesServiceConnector" + FriendsServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:FriendsServiceConnector" + MapAddServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MapAddServiceConnector" + MapGetServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:MapGetServiceConnector" + ;; Uncomment this if you want offline IM to work + OfflineIMServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" + ;; Uncomment this if you want Groups V2 to work + GroupsServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" + ;; Uncomment to provide bakes caching + BakedTextureService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XBakesConnector" + + ;; Uncomment for UserProfiles see [UserProfilesService] to configure... + UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector" + + ;; Uncomment if you want to have centralized estate data + ; EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector" + + MuteListConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MuteListServiceConnector" + + ;; Additions for Hypergrid + + GatekeeperServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:GatekeeperServiceInConnector" + UserAgentServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserAgentServerConnector" + HeloServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:HeloServiceInConnector" + HGFriendsServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:HGFriendsServerConnector" + InstantMessageServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:InstantMessageServerConnector" + HGInventoryServiceConnector = "HGInventoryService@${Const|PublicPort}/OpenSim.Server.Handlers.dll:XInventoryInConnector" + HGAssetServiceConnector = "HGAssetService@${Const|PublicPort}/OpenSim.Server.Handlers.dll:AssetServiceConnector" + ;; Uncomment this if you want Groups V2, HG to work + HGGroupsServiceConnector = "${Const|PublicPort}/OpenSim.Addons.Groups.dll:HGGroupsServiceRobustConnector" + +; * This is common for all services, it's the network setup for the entire +; * server instance, if none is specified above +; * +[Network] + port = ${Const|PrivatePort} + + ; HTTPS for "Out of band" management applications such as the remote admin + ; module. May specify https_main = True to make the main http server + ; use https or "False" to make the main server HTTP + ; https_main = False + ; + ; Create https_listener = "True" will create a listener on the port + ; specified. Provide the path to your server certificate along with it's + ; password + ; https_listener = False + ; + ; Set our listener to this port + ; https_port = 0 + ; + ; Path to X509 certificate + ; cert_path = "path/to/cert.p12" + ; + ; Password for cert + ; cert_pass = "password" + + ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services. + ;; Use this if your central services in port ${Const|PrivatePort} need to be accessible on the Internet + ;; but you want to protect them from unauthorized access. + ; AuthType = "BasicHttpAuthentication" + ; HttpAuthUsername = "some_username" + ; HttpAuthPassword = "some_password" + ;; + ;; AuthType above can be overriden in any of the service sections below by + ; AuthType = "None" + ;; This is useful in cases where you want to protect most of the services, + ;; but unprotect individual services. Username and Password can also be + ;; overriden if you want to use different credentials for the different services. + ;; Hypergrid services are not affected by this; they are publicly available + ;; by design. + + ;; By default, scripts are not allowed to call private services via llHttpRequest() + ;; Such calls are detected by the X-SecondLife-Shared HTTP header + ;; If you allow such calls you must be sure that they are restricted to very trusted scripters + ;; (remember scripts can also be in visiting avatar attachments). + ;; This can be overriden in individual private service sections if necessary + AllowllHTTPRequestIn = false + + ; * The following are for the remote console + ; * They have no effect for the local or basic console types + ; * Leave commented to diable logins to the console + ;ConsoleUser = Test + ;ConsolePass = secret + ;ConsolePort = 0 + +[Hypergrid] + ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} + ;; This is the address of the external robust server that + ;; runs the UserAgentsService, possibly this server. + ;; For example http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + + ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} + ;; This is the address of the external robust server + ;; that runs the Gatekeeper service, possibly this server. + ;; For example http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" + +[AccessControl] + ;# {AllowedClients} {} {Bar (|) separated list of allowed clients} {} + ;; Bar (|) separated list of viewers which may gain access to the regions. + ;; One can use a substring of the viewer name to enable only certain + ;; versions + ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" + ;; - "Imprudence" has access + ;; - "Imprudence 1.3" has access + ;; - "Imprudence 1.3.1" has no access + ; AllowedClients = "" + + ;# {DeniedClients} {} {Bar (|) separated list of denied clients} {} + ;; Bar (|) separated list of viewers which may not gain access to the regions. + ;; One can use a Substring of the viewer name to disable only certain + ;; versions + ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" + ;; - "Imprudence" has no access + ;; - "Imprudence 1.3" has no access + ;; - "Imprudence 1.3.1" has access + ; DeniedClients = "" + +[DatabaseService] + ; PGSQL + ; Uncomment these lines if you want to use PGSQL storage + ; Change the connection string to your db details + ;StorageProvider = "OpenSim.Data.PGSQL.dll" + ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" + + ; MySQL + ; Uncomment these lines if you want to use MySQL storage + ; Change the connection string to your db details + StorageProvider = "${Const|DataProvider}" + ConnectionString = "${Const|ConnectionString}" + + +; * As an example, the below configuration precisely mimicks the legacy +; * asset server. It is read by the asset IN connector (defined above) +; * and it then loads the OUT connector (a local database module). That, +; * in turn, reads the asset loader and database connection information +; * +[AssetService] + + ;; Choose an asset service (Only one option should be enabled) + ;LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService" + LocalServiceModule = "OpenSim.Services.FSAssetService.dll:FSAssetConnector" + + ;; FSAsset Directories. Base directory, where final asset files are stored and Spool directory for temp files + ;; These directories must be on the same physical filesystem + BaseDirectory = "${Paths|AssetsPath}/data" + SpoolDirectory = "${Paths|AssetsPath}/tmp" + + ;; Original service can be checked if FSAssets can not find an asset + FallbackService = "OpenSim.Services.AssetService.dll:AssetService"; + + ;; How many days since last updating the access time before its updated again by FSAssets when accessing an asset + ;; Reduces DB calls if asset is requested often. Default value 0 will always update access time + DaysBetweenAccessTimeUpdates = 1 + + ;; Should FSAssets print read/write stats to the robust console, default is true + ShowConsoleStats = false + + ;; FSAssets Custom Database Config (Leave blank to use grids default database configuration) + ;StorageProvider = "" + ;ConnectionString = "" + ;Realm = "fsassets" + + ;; The following are common to both the default asset service and FSAsset service + + ;; Common asset service options + DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" + AssetLoaderArgs = "./assets/AssetSets.xml" + + ; Allow maptile assets to remotely deleted by remote calls to the asset service. + ; There is no harm in having this as false - it just means that historical maptile assets are not deleted. + ; This only applies to maptiles served via the version 1 viewer mechanisms + ; Default is false + AllowRemoteDelete = false + + ; Allow all assets to be remotely deleted. + ; Only set this to true if you are operating a grid where you control all calls to the asset service + ; (where a necessary condition is that you control all simulators) and you need this for admin purposes. + ; If set to true, AllowRemoteDelete = true is required as well. + ; Default is false. + AllowRemoteDeleteAllTypes = false + +; * This configuration loads the inventory server modules. It duplicates +; * the function of the legacy inventory server +; * +[InventoryService] + LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService" + + ; Will calls to purge folders (empty trash) and immediately delete/update items or folders (not move to trash first) succeed? + ; If this is set to false then some other arrangement must be made to perform these operations if necessary. + AllowDelete = true + + +; * This is the new style grid service. +; * "Realm" is the table that is used for user lookup. +; * It defaults to "regions", which uses the legacy tables +; * +[GridService] + LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" + + ; Realm = "regions" + ; AllowDuplicateNames = "" + + ;; Needed to display non-default map tile images for linked regions + AssetService = "OpenSim.Services.AssetService.dll:AssetService" + + ;; Directory for map tile images of linked regions + MapTileDirectory = "${Paths|CachePath}/maptiles" + + ;; Next, we can specify properties of regions, including default and fallback regions + ;; The syntax is: Region_ = "" + ;; or: Region_ = "" + ;; where can be DefaultRegion, DefaultHGRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut, Reservation, NoMove, Authenticate + ;; + ;; DefaultRegion If a local login cannot be placed in the required region (e.g. home region does not exist, avatar is not allowed entry, etc.) + ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion + ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified + ;; an explicit region. + ;; + ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online + ;; region will be used. + ;; + ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the + ;; order specified. This only applies to local logins at this time, not Hypergrid connections. + ;; + ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins. + ;; + ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid. + ;; + ;; Example specification: + ; Region_Welcome_Area = "DefaultRegion, FallbackRegion" + ; (replace spaces with underscore) + + ;; Allow Hyperlinks to be created at the console + HypergridLinker = true + + ;; Allow supporting viewers to export content + ;; Set to false to prevent export + ExportSupported = true + + ;; If you have this set under [Hypergrid], no need to set it here, leave it commented + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" + + +; * This is the configuration for the freeswitch server in grid mode +[FreeswitchService] +; LocalServiceModule = "OpenSim.Services.FreeswitchService.dll:FreeswitchService" + + ;; The IP address of your FreeSWITCH server. + ;; This address must be reachable by viewers. + ; ServerAddress = 127.0.0.1 + + ;; The following configuration parameters are optional + + ;; By default, this is the same as the ServerAddress + ; Realm = 127.0.0.1 + + ;; By default, this is the same as the ServerAddress on port 5060 + ; SIPProxy = 127.0.0.1:5060 + + ;; Default is 5000ms + ; DefaultTimeout = 5000 + + ;; The dial plan context. Default is "default" + ; Context = default + + ;; Currently unused + ; UserName = freeswitch + + ;; Currently unused + ; Password = password + + ;; The following parameters are for STUN = Simple Traversal of UDP through NATs + ;; See http://wiki.freeswitch.org/wiki/NAT_Traversal + ;; stun.freeswitch.org is not guaranteed to be running so use it in + ;; production at your own risk + ; EchoServer = 127.0.0.1 + ; EchoPort = 50505 + ; AttemptSTUN = false + + +; * This is the new style authentication service. Currently, only MySQL +; * is implemented. +; * +[AuthenticationService] + ; for the server connector + LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + ; Realm = "auth" + + ;; Allow the service to process HTTP getauthinfo calls. + ;; Default is false. + ; AllowGetAuthInfo = false + + ;; Allow the service to process HTTP setauthinfo calls. + ;; Default is false. + ; AllowSetAuthInfo = false + + ;; Allow the service to process HTTP setpassword calls. + ;; Default is false. + ; AllowSetPassword = false + + +[OpenIdService] + ; for the server connector +; AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" +; UserAccountServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService" + + +; * This is the new style user service. +; * "Realm" is the table that is used for user lookup. +; * It defaults to "UserAccounts", which uses the new style. +; * Realm = "users" will use the legacy tables as an authentication source +; * +[UserAccountService] + ; for the server connector + LocalServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService" + ; Realm = "UserAccounts" + + ; These are for creating new accounts by the service + AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + GridService = "OpenSim.Services.GridService.dll:GridService" + InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" + AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" + GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" + + ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 + ;; to show a default "Ruth" avatar rather than a cloud for a newly created user. + ;; Default is false + CreateDefaultAvatarEntries = true + + ;; Allow the service to process HTTP createuser calls. + ;; Default is false. + ; AllowCreateUser = false + + ;; Allow the service to process HTTP setaccount calls. + ;; Default is false. + ; AllowSetAccount = false + + +[GridUserService] + ; for the server connector + LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService" + + +[AgentPreferencesService] + ; for the server connector + LocalServiceModule = "OpenSim.Services.UserAccountService.dll:AgentPreferencesService" + + +[PresenceService] + ; for the server connector + LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService" + +[AvatarService] + ; for the server connector + LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService" + + +[FriendsService] + ; for the server connector + LocalServiceModule = "OpenSim.Services.FriendsService.dll:FriendsService" + +[EstateService] + LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" + +[LibraryService] + LibraryName = "OpenSim Library" + DefaultLibrary = "./inventory/Libraries.xml" + + +[LoginService] + ; for the server connector + LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService" + ; for the service + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" + AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" + AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + GridService = "OpenSim.Services.GridService.dll:GridService" + SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector" + LibraryService = "OpenSim.Services.InventoryService.dll:LibraryService" + FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" + + ; The minimum user level required for a user to be able to login. 0 by default + ; If you disable a particular user's account then you can set their login level below this number. + ; You can also change this level from the console though these changes will not be persisted. + ; MinLoginLevel = 0 + + ;; for hypergrid + UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" + + ; This inventory service will be used to initialize the user's inventory + HGInventoryServicePlugin = "HGInventoryService@OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" + ; NOTE: HGInventoryServiceConstructorArg is deprecated. For now it will work, but see above + ; for the correct method if passing additional arguments. + ;; end hypergrid + + ; Ask co-operative viewers to use a different currency name + Currency = "v " + + ;; Set minimum fee to publish classified + ; ClassifiedFee = 0 + + WelcomeMessage = "${Const|MOTD}" + AllowRemoteSetLoginLevel = "false" + + ; For V2 map + MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/"; + + ; Url to search service + ; SearchURL = "${Const|BaseURL}:${Const|PublicPort}/"; + + ; For V3 destination guide + ; DestinationGuide = "${Const|BaseURL}/guide" + + ; For V3 avatar picker (( work in progress )) + ; AvatarPicker = "${Const|BaseURL}/avatars" + + ; If you run this login server behind a proxy, set this to true + ; HasProxy = false + + ; Defaults for the users, if none is specified in the useraccounts table entry (ServiceURLs) + ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" + + SRV_HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_InventoryServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_AssetServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_ProfileServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_FriendsServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_IMServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_GroupsServerURI = "${Const|BaseURL}:${Const|PublicPort}" + + ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time" + ;; Viewers do not receive timezone information from the server - almost all (?) default to Pacific Standard Time + ;; However, they do rely on the server to tell them whether it's Daylight Saving Time or not. + ;; Hence, calculating DST based on a different timezone can result in a misleading viewer display and inconsistencies between grids. + ;; By default, this setting uses various timezone names to calculate DST with regards to the viewer's standard PST. + ;; Options are + ;; "none" no DST + ;; "local" use the server's only timezone to calculate DST. This is previous OpenSimulator behaviour. + ;; "America/Los_Angeles;Pacific Standard Time" use these timezone names to look up Daylight savings. + ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows + DSTZone = "local" + + ;Basic Login Service Dos Protection Tweaks + ;; + ;; Some Grids/Users use a transparent proxy that makes use of the X-Forwarded-For HTTP Header, If you do, set this to true + ;; If you set this to true and you don't have a transparent proxy, it may allow attackers to put random things in the X-Forwarded-For header to + ;; get around this basic DOS protection. + ;DOSAllowXForwardedForHeader = false + ;; + ;; The protector adds up requests during this rolling period of time, default 10 seconds + ;DOSRequestTimeFrameMS = 10000 + ;; + ;; The amount of requests in the above timeframe from the same endpoint that triggers protection + ;DOSMaxRequestsInTimeFrame = 5 + ;; + ;; The amount of time that a specific endpoint is blocked. Default 2 minutes. + ;DOSForgiveClientAfterMS = 120000 + ;; + ;; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0. + + ;; Allow banning via hashed MAC must be set in both [GatekeeperService] and [LoginService] + ;DeniedMacs = "YOURLONGMACTRSING ANOTHERMAC" + +[MapImageService] + LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" + + ; Set this if you want to change the default + TilesStoragePath = "${Paths|CachePath}/maptiles" + ; + ; If for some reason you have the AddMapTile service outside the firewall (e.g. ${Const|PublicPort}), + ; you may want to set this. Otherwise, don't set it, because it's already protected. + ; GridService = "OpenSim.Services.GridService.dll:GridService" + ; + ; Additionally, if you run this server behind a proxy, set this to true + ; HasProxy = false + + +[GridInfoService] + ; These settings are used to return information on a get_grid_info call. + ; Client launcher scripts and third-party clients make use of this to + ; autoconfigure the client and to provide a nice user experience. If you + ; want to facilitate that, you should configure the settings here according + ; to your grid or standalone setup. + ; + ; See http://opensimulator.org/wiki/GridInfo + + ; login uri: for grid this is the login server URI + login = ${Const|BaseURL}:${Const|PublicPort}/ + + ; long grid name: the long name of your grid + gridname = "${Const|GridName}" + + ; short grid name: the short name of your grid + gridnick = "${Const|ShortGridName}" + + ; login page: optional: if it exists it will be used to tell the client to use + ; this as splash page + welcome = ${Const|BaseURL}:${Const|PublicPort}/web/loginpage.html + + ; helper uri: optional: if it exists it will be used to tell the client to use + ; this for all economy related things + ;economy = ${Const|SSLURL}:${Const|PublicSSLPort}/economy + + ; web page of grid: optional: page providing further information about your grid + about = ${Const|BaseURL}:${Const|PublicPort}/web/about.html + + ; account creation: optional: page providing further information about obtaining + ; a user account on your grid + register = ${Const|SSLURL}:${Const|PublicSSLPort}/web/account.html + + ; help: optional: page providing further assistance for users of your grid + help = ${Const|BaseURL}:${Const|PublicPort}/web/help.html + + ; password help: optional: page providing password assistance for users of your grid + password = ${Const|SSLURL}:${Const|PublicSSLPort}/web/password_help.html + + ; HG address of the gatekeeper, if you have one + ; this is the entry point for all the regions of the world + gatekeeper = ${Const|BaseURL}:${Const|PublicPort}/ + + ; HG user domain, if you have one + ; this is the entry point for all user-related HG services + uas = ${Const|BaseURL}:${Const|PublicPort}/ + + +[GatekeeperService] + LocalServiceModule = "OpenSim.Services.HypergridService.dll:GatekeeperService" + ;; for the service + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" + GridService = "OpenSim.Services.GridService.dll:GridService" + AuthenticationService = "OpenSim.Services.Connectors.dll:AuthenticationServicesConnector" + SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector" + ; how does the outside world reach me? This acts as public key too. + ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented + ; ExternalName = "${Const|BaseURL}:${Const|PublicPort}" + + ; Does this grid allow incoming links to any region in it? + ; If false, HG TPs happen only to the Default regions specified in [GridService] section + AllowTeleportsToAnyRegion = true + + ; If you run this gatekeeper server behind a proxy, set this to true + ; HasProxy = false + + ;; Are foreign visitors allowed? + ForeignAgentsAllowed = true + ;; + ;; If ForeignAgentsAllowed is true, make exceptions using AllowExcept. + ;; Leave blank or commented for no exceptions. + ; AllowExcept = "http://griefer.com:8002, http://enemy.com:8002" + ;; + ;; If ForeignAgentsAllowed is false, make exceptions using DisallowExcept + ;; Leave blank or commented for no exceptions. + ; DisallowExcept = "http://myfriendgrid.com:8002, http://myboss.com:8002" + + ;; Allow banning via hashed MAC must be set in both [GatekeeperService] and [LoginService] + ;DeniedMacs = "YOURLONGMACTRSING ANOTHERMAC" + +[UserAgentService] + LocalServiceModule = "OpenSim.Services.HypergridService.dll:UserAgentService" + ;; for the service + GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" + GridService = "OpenSim.Services.GridService.dll:GridService" + GatekeeperService = "OpenSim.Services.HypergridService.dll:GatekeeperService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + + ; If you run this user agent server behind a proxy, set this to true + ; HasProxy = false + + ;; If you separate the UserAgentService from the LoginService, set this to + ;; the IP address of the machine where your LoginService is + ;LoginServerIP = "127.0.0.1" + + ; User level required to be contacted from other grids + LevelOutsideContacts = 0 + + ;; Restrictions on destinations of local users. + ;; Are local users allowed to visit other grids? + ;; What user level? Use variables of this forrm: + ;; ForeignTripsAllowed_Level_ = true | false + ;; (the default is true) + ;; For example: + ; ForeignTripsAllowed_Level_0 = false + ; ForeignTripsAllowed_Level_200 = true ; true is default, no need to say it + ;; + ;; If ForeignTripsAllowed is false, make exceptions using DisallowExcept + ;; Leave blank or commented for no exceptions. + ; DisallowExcept_Level_0 = "http://myothergrid.com:8002, http://boss.com:8002" + ;; + ;; If ForeignTripsAllowed is true, make exceptions using AllowExcept. + ;; Leave blank or commented for no exceptions. + ; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002" + + ;; This variable controls what is exposed to profiles of local users + ;; as seen from outside of this grid. Leave it uncommented for exposing + ;; UserTitle, UserFlags and the creation date. Uncomment and change to False + ;; to block this info from being exposed. + ; ShowUserDetailsInHGProfile = True + + +; * The interface that local users get when they are in other grids. +; * This restricts the inventory operations while in other grids. +; * Still not completely safe, especially if users perform inventory operations +; * while in those grids. The more the user accesses his/her inventory, the more +; * those simulators will know about the user's inventory. +; * +[HGInventoryService] + ; For the InventoryServiceInConnector + LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" + ;; alternatives: + ;; HG1.5, more permissive, not recommended, but still supported + ;LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInventoryService" + ;; HG1.0, totally permissive, not recommended, but OK for grids with 100% trust + ;LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService" + + UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" + + ; HGInventoryService is a public-facing inventory service that allows users to + ; interact with their suitcase folder when on a foreign grid. This reuses the general inventory service connector. + ; Hence, if the user has set up authentication in [Network] to protect their private services + ; make sure it is not set here. + AuthType = None + + ;; Can overwrite the default in [Hypergrid], but probably shouldn't + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + + +; * The interface that local users get when they are in other grids. +; * This restricts the access that the rest of the world has to +; * the assets of this world. +; * +[HGAssetService] + ;; Use the second option if you have FSAsset service enabled +; LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGAssetService" + LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFSAssetService" + + UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + + ; HGAssetService is a public-facing service that allows users to + ; read and create assets when on another grid. This reuses the general asset service connector. + ; Hence, if the user has set up authentication in [Network] to protect their private services + ; make sure it is overriden for this public service. + AuthType = None + + ;; Can overwrite the default in [Hypergrid], but probably shouldn't + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + + ;; The asset types that this grid can export to / import from other grids. + ;; Comma separated. + ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: + ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, + ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh + ;; + ;; Leave blank or commented if you don't want to apply any restrictions. + ;; A more strict, but still reasonable, policy may be to disallow the exchange + ;; of scripts, like so: + ; DisallowExport ="LSLText" + ; DisallowImport ="LSLBytecode" + + +[HGFriendsService] + LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFriendsService" + UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" + FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + GridService = "OpenSim.Services.GridService.dll:GridService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + + +[HGInstantMessageService] + LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" + GridService = "OpenSim.Services.GridService.dll:GridService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" + ; This should always be true in the Robust config + InGatekeeper = True + + +[Messaging] + ; OfflineIM + OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" + + +[Groups] + ;; for the HG Groups service + OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + + ;; What is the HomeURI of users associated with this grid? + ;; Can overwrite the default in [Hypergrid], but probably shouldn't + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + ;; end hypergrid + + ;; Sets the maximum number of groups an agent may join + MaxAgentGroups = 420 + + +[UserProfilesService] + LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService" + Enabled = true + ;; Configure this for separate profiles database + ;; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;" + ;; Realm = UserProfiles + UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService + AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + + +[BakedTextureService] + LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes" + ;; This directory must be writable by the user ROBUST runs as. It will be created automatically. + BaseDirectory = "${Paths|CachePath}/bakes" + +[MuteListService] + LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService" + + +;;[WebService] +;; Include-Common = ../../config/ROBUST/RobustExtra.ini diff --git a/bin/config-include/FlotsamCache.ini b/bin/config-include/FlotsamCache.ini new file mode 100644 index 0000000..cf06d6c --- /dev/null +++ b/bin/config-include/FlotsamCache.ini @@ -0,0 +1,97 @@ +[AssetCache] + ;; + ;; Options for FlotsamAssetCache + ;; + + ; cache directory can be shared by multiple instances + CacheDirectory = ${Paths|CachePath}/assetcache + ; Other examples: + ;CacheDirectory = /directory/writable/by/OpenSim/instance + + ; Log level + ; 0 - (Error) Errors only + ; 1 - (Info) Hit Rate Stats + Level 0 + ; 2 - (Debug) Cache Activity (Reads/Writes) + Level 1 + ; + LogLevel = 0 + + ; How often should hit rates be displayed (given in AssetRequests) + ; 0 to disable + HitRateDisplay = 100 + + ; Set to false for no memory cache + ; assets can be requested several times in short periods + ; so even a small memory cache is useful + MemoryCacheEnabled = false + + ; If a memory cache hit happens, or the asset is still in memory + ; due to other causes, update the timestamp on the disk file anyway. + ; Don't turn this on unless you share your asset cache between simulators + ; AND use an external process, e.g. cron job, to clean it up. + UpdateFileTimeOnCacheHit = false + + ; Enabling this will cache negative fetches. If an asset is negative-cached + ; it will not be re-requested from the asset server again for a while. + ; Generally, this is a good thing. + ; + ; Regular expiration settings (non-sliding) mean that the asset will be + ; retried after the time has expired. Sliding expiration means that + ; the time the negative cache will keep the asset is refreshed each + ; time a fetch is attempted. Use sliding expiration if you have rogue + ; scripts hammering the asset server with requests for nonexistent + ; assets. + ; + ; There are two cases where negative caching may cause issues: + ; + ; 1 - If an invalid asset is repeatedly requested by a script and that asset is + ; subsequently created, it will not be seen until fcache clear + ; is used. This is a very theoretical scenario since UUID collisions + ; are deemed to be not occuring in practice. + ; This can only become an issue with sliding expiration time. + ; + ; 2 - If the asset service is clustered, an asset may not have propagated + ; to all cluster members when it is first attempted to fetch it. + ; This may theoretically occur with networked vendor systems and + ; would lead to an asset not found message. However, after the + ; expiration time has elapsed, the asset will then be fetchable. + ; + ; The defaults below are suitable for all small to medium installations + ; including grids. + NegativeCacheEnabled = true + NegativeCacheTimeout = 120 + NegativeCacheSliding = false + + ; Set to false for no file cache + FileCacheEnabled = true + + ; How long {in hours} to keep assets cached in memory, .5 == 30 minutes + ; even a few minutes may mean many assets loaded to memory, if not all. + ; this is good if memory is not a problem. + ; if memory is a problem then a few seconds may actually save same. + ; see hit rates with console comand: fcache status + MemoryCacheTimeout = .016 ; one minute + + ; How long {in hours} to keep assets cached on disk, .5 == 30 minutes + ; Specify 0 if you do not want your disk cache to expire + FileCacheTimeout = 48 + + ; How often {in hours} should the disk be checked for expired files + ; Specify 0 to disable expiration checking + FileCleanupTimer = 0.0 ; disabled + + ; If WAIT_ON_INPROGRESS_REQUESTS has been defined then this specifies how + ; long (in miliseconds) to block a request thread while trying to complete + ; an existing write to disk. + ; NOTE: THIS PARAMETER IS NOT CURRENTLY USED BY THE CACHE + ; WaitOnInprogressTimeout = 3000 + + ; Number of tiers to use for cache directories (current valid + ; range 1 to 3) + ;CacheDirectoryTiers = 1 + + ; Number of letters per path tier, 1 will create 16 directories + ; per tier, 2 - 256, 3 - 4096 and 4 - 65K + ;CacheDirectoryTierLength = 3 + + ; Warning level for cache directory size + ;CacheWarnAt = 30000 diff --git a/bin/config-include/GridCommon.ini b/bin/config-include/GridCommon.ini new file mode 100644 index 0000000..26accd9 --- /dev/null +++ b/bin/config-include/GridCommon.ini @@ -0,0 +1,255 @@ +; This is the main configuration file for an instance of OpenSim running in grid mode +; In particular, this one is set up for connecting to IG or MG. + +[DatabaseService] + ; + ; ### Choose the DB + ; + + ; SQLite + ; Include-Storage = "config-include/storage/SQLiteStandalone.ini"; + + ; MySql + ; Uncomment these lines if you want to use mysql storage + ; Change the connection string to your db details + ;StorageProvider = "OpenSim.Data.MySQL.dll" + ;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" + ; Uncomment this line if you are using MySQL and want to use a different database for estates + ; The usual application for this is to allow estates to be spread out across multiple simulators by share the same database. + ; Most people won't need to do this so only uncomment if you know what you're doing. + ;EstateConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" + + ; MSSQL + ; Uncomment these lines if you want to use MSSQL storage + ; Change the connection string to your db details + ; The value for server property is shown in your SQL Server Management Studio login dialog. + ; (This sample is the default of express edition) + ;StorageProvider = "OpenSim.Data.MSSQL.dll" + ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;" + + ; PGSQL + ; Uncomment these lines if you want to use PGSQL storage + ; Change the connection string to your db details + ;StorageProvider = "OpenSim.Data.PGSQL.dll" + ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" + + StorageProvider = "${Const|DataProvider}" + ConnectionString = "${Const|ConnectionString}" + + +[Hypergrid] + ; Uncomment the variables in this section only if you are in + ; Hypergrid configuration. Otherwise, ignore. + + ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server that + ;; runs the UserAgentsService. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + + ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server + ;; that runs the Gatekeeper service. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" + +[Modules] + ;; Choose one cache module and the corresponding config file, if it exists. + ;; Copy the config .example file into your own .ini file and adapt that. + ;; We recommend the use of the FlotsamAssetCache since this is most actively maintained. + ; I think only Windows needs caching, haven't noticed any difference under Linux, which uses spare memory for file caching anyway. + + AssetCaching = "FlotsamAssetCache" + Include-FlotsamCache = "config-include/FlotsamCache.ini" + + ;AssetCaching = "CenomeMemoryAssetCache" + ;Include-CenomeCache = "config-include/CenomeCache.ini" + + ;AssetCaching = "GlynnTuckerAssetCache" + + ;; Optionally, the port for the LLProxyLoginModule module can be changed + ;Setup_LLProxyLoginModule = "9090/" + + ;; Authorization is not on by default, as it depends on external php + ;AuthorizationServices = "RemoteAuthorizationServicesConnector" + +[AssetService] + DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" + AssetLoaderArgs = "assets/AssetSets.xml" + + ; + ; Change this to your grid-wide asset server. Do not add a slash to the end of any of these addresses. + ; + AssetServerURI = "${Const|BaseURL}:${Const|AssetServerPort}" + +[InventoryService] + ; + ; Change this to your grid-wide inventory server + ; + InventoryServerURI = "${Const|GridURL}:${Const|PrivatePort}" + ;MaxRetries = 0 + +[GridInfo] + ; + ; Change this to your grid info service + ; + GridInfoURI = "${Const|GridURL}:${Const|PublicPort}" + +[GridService] + ; + ; Change this to your grid-wide grid server + ; + GridServerURI = "${Const|GridURL}:${Const|PrivatePort}" + AllowHypergridMapSearch = true + + ;; Directory for map tile images of linked regions + MapTileDirectory = "${Paths|CachePath}/maptiles" + + ; === HG ONLY === + ;; Change this to the address of your Gatekeeper service + ;; (usually bundled with the rest of the services in one + ;; Robust server in port ${Const|PublicPort}, but not always) + GatekeeperURI="${Const|GridURL}:${Const|PublicPort}" + +[EstateDataStore] + ; + ; Uncomment if you want centralized estate data at robust server, + ; in which case the URL in [EstateService] will be used + ; + ;LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataRemoteConnector" + +[EstateService] + EstateServerURI = "${Const|GridURL}:${Const|PrivatePort}" + +[Messaging] + ; === HG ONLY === + ;; Change this to the address of your Gatekeeper service + ;; (usually bundled with the rest of the services in one + ;; Robust server in port ${Const|PublicPort}, but not always) + GatekeeperURI = "${Const|GridURL}:${Const|PublicPort}" + +[AvatarService] + ; + ; Change this to your grid-wide grid server + ; + AvatarServerURI = "${Const|GridURL}:${Const|PrivatePort}" + +[AgentPreferencesService] + ; + ; Change this to your grid-wide avatar prefs server + ; + AgentPreferencesServerURI = "${Const|GridURL}:${Const|PrivatePort}" + +[PresenceService] + ; + ; Change this to your grid-wide presence server + ; + PresenceServerURI = "${Const|GridURL}:${Const|PrivatePort}" + +[UserAccountService] + ; + ; Change this to your grid-wide user accounts server + ; + UserAccountServerURI = "${Const|GridURL}:${Const|PrivatePort}" + +[GridUserService] + ; + ; Change this to your grid-wide user accounts server + ; + GridUserServerURI = "${Const|GridURL}:${Const|PrivatePort}" + +[AuthenticationService] + ; + ; Change this to your grid-wide authentication server + ; + AuthenticationServerURI = "${Const|GridURL}:${Const|PrivatePort}" + +[FriendsService] + ; + ; Change this to your grid-wide friends server + ; + FriendsServerURI = "${Const|GridURL}:${Const|PrivatePort}" + +[HGInventoryAccessModule] + ; + ; === HG ONLY === + ; Change this to your server + ; accessible from other grids + ; + HomeURI = "${Const|GridURL}:${Const|PublicPort}" + GatekeeperURI = "${Const|GridURL}:${Const|PublicPort}" + ;; If you want to protect your assets from being copied by foreign visitors + ;; set this to false. You may want to do this on sims that have licensed content. + ;; Default is true. + OutboundPermission = True + + ;; Send visual reminder to local users that their inventories are unavailable while they are traveling + ;; and available when they return. True by default. + ;RestrictInventoryAccessAbroad = True + + ;; Warning: advanced and unusual. Default is false. + ;; Enables configurations where grids share user services, including inventory, + ;; while separating regions' assets from users' assets. Asset transfer between + ;; the users' asset server and the regions' asset server is done in HG-like manner. + ; CheckSeparateAssets = false + ; RegionHGAssetServerURI = ${Const|GridURL}:${Const|PublicPort} + + +[HGAssetService] + ; + ; === HG ONLY === + ; Change this to your server + ; accessible from other grids + ; + HomeURI = "${Const|GridURL}:${Const|PublicPort}" + + ;; The asset types that this grid can export to / import from other grids. + ;; Comma separated. + ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: + ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, + ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh + ;; + ;; Leave blank or commented if you don't want to apply any restrictions. + ;; A more strict, but still reasonable, policy may be to disallow the exchange + ;; of scripts, like so: + ; DisallowExport ="LSLText" + ; DisallowImport ="LSLBytecode" + +[HGFriendsModule] + ; User level required to be able to send friendship invitations to foreign users + LevelHGFriends = 0; + +[UserAgentService] + ; + ; === HG ONLY === + ; Change this to your user agent server (HG robust) + ; + UserAgentServerURI = "${Const|GridURL}:${Const|PublicPort}" + +[MapImageService] + MapImageServerURI = "${Const|GridURL}:${Const|PrivatePort}" + +[AuthorizationService] + ; If you have regions with access restrictions + ; specify them here using the convention + ; Region_ = + ; Valid flags are: + ; DisallowForeigners -- HG visitors not allowed + ; DisallowResidents -- only Admins and Managers allowed + ; Example: + ; Region_Test_1 = "DisallowForeigners" + +;; Uncomment if you are using SimianGrid for grid services +[SimianGrid] + ;; SimianGrid services URL + ;; SimianServiceURL = "http://grid.sciencesim.com/Grid/" + + ;; Capability assigned by the grid administrator for the simulator + ;; SimulatorCapability = "00000000-0000-0000-0000-000000000000" + +[MuteListService] + MuteListServerURI = "${Const|BaseURL}:${Const|PrivatePort}" -- cgit v1.1 From 90549d20c58682f4e2bab6e3fd11a653b11b30f2 Mon Sep 17 00:00:00 2001 From: onefang Date: Thu, 10 Sep 2020 21:18:23 +1000 Subject: Another ini file I forgot in the last commit. --- bin/config-include/StandaloneCommon.ini | 401 ++++++++++++++++++++++++++++++++ 1 file changed, 401 insertions(+) create mode 100644 bin/config-include/StandaloneCommon.ini (limited to 'bin') diff --git a/bin/config-include/StandaloneCommon.ini b/bin/config-include/StandaloneCommon.ini new file mode 100644 index 0000000..8da7784 --- /dev/null +++ b/bin/config-include/StandaloneCommon.ini @@ -0,0 +1,401 @@ +; This is the main configuration file for an instance of OpenSim running in standalone mode + +[DatabaseService] + ; + ; ### Choose the DB + ; + + ; SQLite + ; Include-Storage = "config-include/storage/SQLiteStandalone.ini"; + + ; MySql + ; Uncomment these lines if you want to use mysql storage + ; Change the connection string to your db details + ;StorageProvider = "OpenSim.Data.MySQL.dll" + ;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" + + ; Uncomment this line if you are using MySQL and want to use a different database for estates. + ; The usual application for this is to allow estates to be spread out across multiple simulators by share the same database. + ; Most people won't need to do this so only uncomment if you know what you're doing. + ;EstateConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" + + ; MSSQL + ; Uncomment these lines if you want to use MSSQL storage + ; Change the connection string to your db details + ; The value for server property is shown in your SQL Server Management Studio login dialog. + ; (This sample is the default of express edition) + ;StorageProvider = "OpenSim.Data.MSSQL.dll" + ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;" + + ; PGSQL + ; Uncomment these lines if you want to use PGSQL storage + ; Change the connection string to your db details + ;StorageProvider = "OpenSim.Data.PGSQL.dll" + ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" + + StorageProvider = "${Const|DataProvider}" + ConnectionString = "${Const|ConnectionString}" + +[Hypergrid] + ; Uncomment the variables in this section only if you are in + ; Hypergrid configuration. Otherwise, ignore. + + ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server that + ;; runs the UserAgentsService. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + + ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server + ;; that runs the Gatekeeper service. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" + +[Modules] + ;; Choose one cache module and the corresponding config file, if it exists. + ;; Copy the config .example file into your own .ini file and alter that + ;; We recommend the use of the FlotsamAssetCache since this is most actively maintained. + + AssetCaching = "FlotsamAssetCache" + Include-FlotsamCache = "config-include/FlotsamCache.ini" + + ;AssetCaching = "CenomeMemoryAssetCache" + ;Include-CenomeCache = "config-include/CenomeCache.ini" + + ;AssetCaching = "GlynnTuckerAssetCache" + + ;; Authorization is not on by default, as it depends on external php + ;AuthorizationServices = "LocalAuthorizationServicesConnector" + +[AssetService] + DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" + AssetLoaderArgs = "assets/AssetSets.xml" + +[GridService] + ;; For in-memory region storage (default) + StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" + ;;--- For MySql region storage (alternative) + ;StorageProvider = "OpenSim.Data.MySQL.dll:MySqlRegionData" + + ;; Directory for map tile images of remote regions + ; MapTileDirectory = "./maptiles" + + ;; Next, we can specify properties of regions, including default and fallback regions + ;; The syntax is: Region_ = "" + ;; where can be DefaultRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut + ;; + ;; DefaultRegion If a local login cannot be placed in the required region (e.g. home region does not exist, avatar is not allowed entry, etc.) + ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion + ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified + ;; an explicit region. + ;; + ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online + ;; region will be used. + ;; + ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the + ;; order specified. This only applies to local logins at this time, not Hypergrid connections. + ;; + ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins. + ;; + ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid. + ;; + ;; For example: + Region_Welcome_Area = "DefaultRegion, FallbackRegion" + + ;; Allow supporting viewers to export content + ;; Set to false to prevent export + ExportSupported = true + + ; === HG ONLY === + ;; If you have this set under [Hypergrid], no need to set it here, leave it commented + ; GatekeeperURI="${Const|BaseURL}:${Const|PublicPort}" + +[LibraryModule] + ; Set this if you want to change the name of the OpenSim Library + ;LibraryName = "My World's Library" + +[LoginService] + WelcomeMessage = "Welcome, Avatar!" + ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" + + SRV_HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_InventoryServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_AssetServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_ProfileServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_FriendsServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_IMServerURI = "${Const|BaseURL}:${Const|PublicPort}" + + ;; For Viewer 2 + MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/" + + ; Url to search service + ; SearchURL = "${Const|BaseURL}:${Const|PublicPort}"; + + ; For V3 destination guide + ; DestinationGuide = "${Const|BaseURL}/guide" + + ; The minimum user level required for a user to be able to login. 0 by default + ; If you disable a particular user's account then you can set their login level below this number. + ; You can also change this level from the console though these changes will not be persisted. + ; MinLoginLevel = 0 + + ;; Ask co-operative viewers to use a different currency name + ;Currency = "" + + ;; Set minimum fee to publish classified + ; ClassifiedFee = 0 + + ; Basic Login Service Dos Protection Tweaks + ; ; + ; ; Some Grids/Users use a transparent proxy that makes use of the X-Forwarded-For HTTP Header, If you do, set this to true + ; ; If you set this to true and you don't have a transparent proxy, it may allow attackers to put random things in the X-Forwarded-For header to + ; ; get around this basic DOS protection. + ; DOSAllowXForwardedForHeader = false + ; ; + ; ; The protector adds up requests during this rolling period of time, default 10 seconds + ; DOSRequestTimeFrameMS = 10000 + ; ; + ; ; The amount of requests in the above timeframe from the same endpoint that triggers protection + ; DOSMaxRequestsInTimeFrame = 5 + ; ; + ; ; The amount of time that a specific endpoint is blocked. Default 2 minutes. + ; DOSForgiveClientAfterMS = 120000 + ; ; + ; ; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0. + +[FreeswitchService] + ;; If FreeSWITCH is not being used then you don't need to set any of these parameters + ;; + ;; The IP address of your FreeSWITCH server. The common case is for this to be the same as the server running the OpenSim standalone + ;; This has to be set for the FreeSWITCH service to work + ;; This address must be reachable by viewers. + ;ServerAddress = 127.0.0.1 + + ;; The following configuration parameters are optional + + ;; By default, this is the same as the ServerAddress + ; Realm = 127.0.0.1 + + ;; By default, this is the same as the ServerAddress on port 5060 + ; SIPProxy = 127.0.0.1:5060 + + ;; Default is 5000ms + ; DefaultTimeout = 5000 + + ;; The dial plan context. Default is "default" + ; Context = default + + ;; Currently unused + ; UserName = freeswitch + + ;; Currently unused + ; Password = password + + ;; The following parameters are for STUN = Simple Traversal of UDP through NATs + ;; See http://wiki.freeswitch.org/wiki/NAT_Traversal + ;; stun.freeswitch.org is not guaranteed to be running so use it in + ;; production at your own risk + ; EchoServer = 127.0.0.1 + ; EchoPort = 50505 + ; AttemptSTUN = false + +[GridInfoService] + ; These settings are used to return information on a get_grid_info call. + ; Client launcher scripts and third-party clients make use of this to + ; autoconfigure the client and to provide a nice user experience. If you + ; want to facilitate that, you should configure the settings here according + ; to your grid or standalone setup. + ; + ; See http://opensimulator.org/wiki/GridInfo + + ; login uri: for grid this is the login server URI + login = ${Const|BaseURL}:${Const|PublicPort}/ + + ; long grid name: the long name of your grid + gridname = "the lost continent of hippo" + + ; short grid name: the short name of your grid + gridnick = "hippogrid" + + ; login page: optional: if it exists it will be used to tell the client to use + ; this as splash page. May also be served from an external web server, e.g. for + ; information on a standalone + ;welcome = ${Const|BaseURL}/welcome + + ; helper uri: optional: if it exists it will be used to tell the client to use + ; this for all economy related things + ;economy = ${Const|BaseURL}/economy + + ; web page of grid: optional: page providing further information about your grid + ;about = ${Const|BaseURL}/about + + ; account creation: optional: page providing further information about obtaining + ; a user account on your grid + ;register = ${Const|BaseURL}/register + + ; help: optional: page providing further assistance for users of your grid + ;help = ${Const|BaseURL}/help + + ; password help: optional: page providing password assistance for users of your grid + ;password = ${Const|BaseURL}/password + + ; HG address of the gatekeeper, if you have one + ; this is the entry point for all the regions of the world + ; gatekeeper = ${Const|BaseURL}:${Const|PublicPort}/ + + ; HG user domain, if you have one + ; this is the entry point for all user-related HG services + ; uas = ${Const|BaseURL}:${Const|PublicPort}/ + +[MapImageService] + ; Set this if you want to change the default + ; TilesStoragePath = "maptiles" + +[AuthorizationService] + ; If you have regions with access restrictions + ; specify them here using the convention + ; Region_ = + ; Valid flags are: + ; DisallowForeigners -- HG visitors not allowed + ; DisallowResidents -- only Admins and Managers allowed + ; Example: + ; Region_Test_1 = "DisallowForeigners" + +;; +;; HG configurations +;; +[GatekeeperService] + ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented + ; ExternalName = "${Const|BaseURL}:${Const|PublicPort}" + + ; Does this grid allow incoming links to any region in it? + ; If false, HG TPs happen only to the Default regions specified in [GridService] section + AllowTeleportsToAnyRegion = true + + ;; Regular expressions for controlling which client versions are accepted/denied. + ;; An empty string means nothing is checked. + ;; + ;; Example 1: allow only these 3 types of clients (any version of them) + ;; AllowedClients = "Imprudence|Hippo|Second Life" + ;; + ;; Example 2: allow all clients except these + ;; DeniedClients = "Twisted|Crawler|Cryolife|FuckLife|StreetLife|GreenLife|AntiLife|KORE-Phaze|Synlyfe|Purple Second Life|SecondLi |Emerald" + ;; + ;; Note that these are regular expressions, so every character counts. + ;; Also note that this is very weak security and should not be trusted as a reliable means + ;; for keeping bad clients out; modified clients can fake their identifiers. + ;; + ;; + ;AllowedClients = "" + ;DeniedClients = "" + + ;; Are foreign visitors allowed? + ;ForeignAgentsAllowed = true + ;; + ;; If ForeignAgentsAllowed is true, make exceptions using AllowExcept. + ;; Leave blank or commented for no exceptions. + ; AllowExcept = "http://griefer.com:8002, http://enemy.com:8002" + ;; + ;; If ForeignAgentsAllowed is false, make exceptions using DisallowExcept + ;; Leave blank or commented for no exceptions. + ; DisallowExcept = "http://myfriendgrid.com:8002, http://myboss.com:8002" + +[UserAgentService] + ;; User level required to be contacted from other grids + ;LevelOutsideContacts = 0 + + ;; Restrictions on destinations of local users. + ;; Are local users allowed to visit other grids? + ;; What user level? Use variables of this forrm: + ;; ForeignTripsAllowed_Level_ = true | false + ;; (the default is true) + ;; For example: + ; ForeignTripsAllowed_Level_0 = false + ; ForeignTripsAllowed_Level_200 = true ; true is default, no need to say it + ;; + ;; If ForeignTripsAllowed is false, make exceptions using DisallowExcept + ;; Leave blank or commented for no exceptions. + ; DisallowExcept_Level_0 = "http://myothergrid.com:8002, http://boss.com:8002" + ;; + ;; If ForeignTripsAllowed is true, make exceptions using AllowExcept. + ;; Leave blank or commented for no exceptions. + ; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002" + + ;; This variable controls what is exposed to profiles of local users + ;; as seen from outside of this grid. Leave it uncommented for exposing + ;; UserTitle, UserFlags and the creation date. Uncomment and change to False + ;; to block this info from being exposed. + ; ShowUserDetailsInHGProfile = True + +[HGInventoryService] + ;; If you have this set under [Hypergrid], no need to set it here, leave it commented + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + +[HGAssetService] + ;; If you have this set under [Hypergrid], no need to set it here, leave it commented + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + + ;; The asset types that this grid can export to / import from other grids. + ;; Comma separated. + ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: + ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, + ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh + ;; + ;; Leave blank or commented if you don't want to apply any restrictions. + ;; A more strict, but still reasonable, policy may be to disallow the exchange + ;; of scripts, like so: + ; DisallowExport ="LSLText" + ; DisallowImport ="LSLBytecode" + +[HGInventoryAccessModule] + ;; If you have these set under [Hypergrid], no need to set it here, leave it commented + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" + + ;; If you want to protect your assets from being copied by foreign visitors + ;; uncomment the next line. You may want to do this on sims that have licensed content. + ;; true = allow exports, false = disallow exports. True by default. + ; OutboundPermission = True + + ;; Send visual reminder to local users that their inventories are unavailable while they are traveling + ;; and available when they return. True by default. + ;RestrictInventoryAccessAbroad = True + +[HGFriendsModule] + ; User level required to be able to send friendship invitations to foreign users + ;LevelHGFriends = 0; + +[Messaging] + ; === HG ONLY === + ;; If you have this set under [Hypergrid], no need to set it here, leave it commented + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" + +[EntityTransfer] + ;; User level from which local users are allowed to HG teleport. Default 0 (all users) + ;LevelHGTeleport = 0 + + ;; Are local users restricted from taking their appearance abroad? + ;; Default is no restrictions + ;RestrictAppearanceAbroad = false + + ;; If appearance is restricted, which accounts' appearances are allowed to be exported? + ;; Comma-separated list of account names + AccountForAppearance = "Test User, Astronaut Smith" + +[UserProfilesService] + ;; To use, set Enabled to true then configure for your site... + Enabled = false + LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService" + + ;; Configure this for separate databse + ; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" + ; Realm = UserProfiles + + UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService + AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" -- cgit v1.1 From ac4793dd0d7942846b76d307c3d048e9b316954f Mon Sep 17 00:00:00 2001 From: onefang Date: Thu, 10 Sep 2020 21:27:22 +1000 Subject: Various map generation tweaks. Fix up Warp3DCachedImageModule to work with my directory structure. Remove some excess code from it. Clean up maptile directory creation code. When the generate map command is given, generate the map. The month check seems a bit dodgy, but I'll let it ride for now. --- bin/OpenSimDefaults.ini | 26 +++++++++++++------------- bin/config-include/SimBalanced.ini | 2 +- bin/config-include/SimDefault.ini | 6 +++--- 3 files changed, 17 insertions(+), 17 deletions(-) (limited to 'bin') diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 1852438..e49fae9 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -433,7 +433,7 @@ ; The module to use in order to generate map images. ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can ; generate better images. - MapImageModule = "Warp3DImageModule" + MapImageModule = "Warp3DCachedImageModule" ; World map blacklist timeout in seconds ;BlacklistTimeout = 600 @@ -459,18 +459,18 @@ ; Attempt to render meshes and sculpties on the map RenderMeshes = false - - ; warp3D rendering height limits for prims (relative to rez position not bounding box) - ; prims above RenderMaxHeight are excluded - ; valid values: 100 to 4086 - ;RenderMaxHeight = 4086 - - ; prims below RenderMinHeight are excluded - ; valid values: -100 to RenderMaxHeight - 10 - ;RenderMinHeight = -100 - + + ; warp3D rendering height limits for prims (relative to rez position not bounding box) + ; prims above RenderMaxHeight are excluded + ; valid values: 100 to 4086 + RenderMaxHeight = 4086 + + ; prims below RenderMinHeight are excluded + ; valid values: -100 to RenderMaxHeight - 10 + RenderMinHeight = -100 + ; Show NPCs as green world map dots - ;ShowNPCs = true + ShowNPCs = false ; where to store cached map tiles. CacheDirectory = "${Paths|CachePath}/MapImageCache" @@ -479,7 +479,7 @@ enablePosition = true ; Refresh the cached map tile once a month. - ;RefreshEveryMonth = true + RefreshEveryMonth = false ;# {MapColorWater} {} {Water color for textured and shaded maps} {"#1D475F"} ; MapColorWater = "#3399FF" diff --git a/bin/config-include/SimBalanced.ini b/bin/config-include/SimBalanced.ini index fbf778f..f650ce5 100644 --- a/bin/config-include/SimBalanced.ini +++ b/bin/config-include/SimBalanced.ini @@ -168,7 +168,7 @@ ; The module to use in order to generate map images. ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can ; generate better images. - MapImageModule = "Warp3DImageModule" + MapImageModule = "Warp3DCachedImageModule" ; World map blacklist timeout in seconds ;BlacklistTimeout = 600 diff --git a/bin/config-include/SimDefault.ini b/bin/config-include/SimDefault.ini index 3f2e713..5413d9d 100644 --- a/bin/config-include/SimDefault.ini +++ b/bin/config-include/SimDefault.ini @@ -165,7 +165,7 @@ ; The module to use in order to generate map images. ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can ; generate better images. - MapImageModule = "MapImageModule" + MapImageModule = "Warp3DCachedImageModule" ; World map blacklist timeout in seconds ;BlacklistTimeout = 600 @@ -187,10 +187,10 @@ TexturePrims = true ; Only texture prims that have a diagonal size greater than this number - TexturePrimSize = 48 + TexturePrimSize = 1 ; Attempt to render meshes and sculpties on the map - RenderMeshes = false + RenderMeshes = true ;UseAntiAliasing = true -- cgit v1.1 From 671ea405b272090e476b73ffd793279dfca75bb2 Mon Sep 17 00:00:00 2001 From: onefang Date: Tue, 6 Jul 2021 13:52:19 +1000 Subject: Fix up the usual script messes. Don't slow scripts down with bogus monitoring that isn't used anywhere. Don't make scripts sleep all the time. Don't bother with useless OhSilly Threat checks, and clean up the remains. --- bin/config-include/osslEnable.ini | 97 ++++++++++++++++++++------------------- 1 file changed, 49 insertions(+), 48 deletions(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 3793e67..f5f9197 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -18,7 +18,7 @@ ; Send function permission error to owner if true, to all if false PermissionErrorToOwner = false - + ; Function Threat level ; Several functions have a predefined threat level, one of: None, VeryLow, Low, Moderate, High, VeryHigh, Severe. ; See http://opensimulator.org/wiki/Threat_level for more information on these levels. @@ -61,8 +61,8 @@ ; NPC macros ; These can be mis-used so limit use to those you can trust. - osslNPC = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - + osslNPC = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER + ; The threat level also can be replaced by lines of the form ; Creators__FunctionName = comma separated list of UUIDs ; this will enable the function for users that are the script creators and owners of the prim @@ -110,20 +110,22 @@ ; Allow_osGetNotecard = true ; Allow_osGetNotecardLine = true ; Allow_osGetNumberOfNotecardLines = true +; Allow_osMakeNotecard = true ; Allow_osGetNPCList = true ; Allow_osGetParcerlDwell = true ; Allow_osGetPhysicsEngineName = true ; Allow_osGetPhysicsEngineType = true ; Allow_osGetRegionMapTexture = true ; Allow_osGetRegionSize = true -; Allow_osGetRegionStats = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER +; Allow_osGetRegionStats = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER ; Allow_osGetRezzingObject = true ; Allow_osGetScriptEngineName = true -; Allow_osGetSimulatorMemory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -; Allow_osGetSimulatorMemoryKB = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER +; Allow_osGetSimulatorMemory = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER +; Allow_osGetSimulatorMemoryKB = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER ; Allow_osGetSimulatorVersion = true ; Allow_osGetSunParam = true ; Allow_osGetTerrainHeight = true +; Allow_osTerrainGetHeight = true ; Deprecated ; Allow_osGetWindParam = true ; Allow_osIsNpc = true ; Allow_osIsUUID = true @@ -134,7 +136,6 @@ ; Allow_osLoadedCreationID = true ; Allow_osLoadedCreationTime = true ; Allow_osMatchString = true -; Allow_osMakeNotecard = true ; Allow_osMax = true ; Allow_osMin = true ; Allow_osMessageObject = true @@ -164,12 +165,12 @@ ; Allow_osOwnerSaveAppearance = true ; Allow_osRegexIsMatch = true ; Allow_osReplaceString = true -; Allow_osSetDynamicTextureData = true -; Allow_osSetDynamicTextureDataFace = true -; Allow_osSetDynamicTextureDataBlend = true +; Allow_osSetDynamicTextureData = true +; Allow_osSetDynamicTextureDataFace = true +; Allow_osSetDynamicTextureDataBlend = true ; Allow_osSetDynamicTextureDataBlendFace = true -; Allow_osSetDynamicTextureURL = true -; Allow_osSetDynamicTextureURLBlend = true +; Allow_osSetDynamicTextureURL = true +; Allow_osSetDynamicTextureURLBlend = true ; Allow_osSetDynamicTextureURLBlendFace = true ; Allow_osSetFontName = true ; Allow_osSetFontSize = true @@ -177,15 +178,15 @@ ; Allow_osSetInertiaAsBox = true ; Allow_osSetInertiaAsSphere = true ; Allow_osSetInertiaAsCylinder = true -; Allow_osSetOwnerSpeed = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER +; Allow_osSetOwnerSpeed = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER ; Allow_osSetPenCap = true ; Allow_osSetPenColor = true ; Allow_osSetPenSize = true -; Allow_osSetPrimitiveParams = true -; Allow_osSetProjectionParams = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER +; Allow_osSetProjectionParams = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER +; Allow_osSetSpeed = true ; Allow_osSunGetParam = true ; Allow_osVolumeDetect = true -; Allow_osTeleportObject = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER +; Allow_osTeleportObject = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER ; Allow_osTeleportOwner = true ; Allow_osWindActiveModelPluginName = true ; Allow_osUnixTimeToTimestamp = true @@ -193,55 +194,55 @@ ; ThreatLevel Nuisance Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRegionSunSettings = ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetWindParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSunSetParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetSunParam = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetWindParam = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER + Allow_osSunSetParam = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel VeryLow - Allow_osEjectFromGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceBreakAllLinks = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceBreakLink = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceCreateLink = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetLinkPrimitiveParams = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetPrimitiveParams = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osInviteToGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetParcelMediaURL = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetParcelSIPAddress = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osEjectFromGroup = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceBreakAllLinks = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceBreakLink = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceCreateLink = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetLinkPrimitiveParams = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetPrimitiveParams = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER + Allow_osInviteToGroup = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetParcelMediaURL = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetParcelSIPAddress = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER Allow_osSetPrimFloatOnWater = true + Allow_osSetPrimitiveParams = true Allow_osTerrainFlush = ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel Low - Allow_osAvatarName2Key = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetAvatarHomeURI = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osAvatarName2Key = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetAvatarHomeURI = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel Moderate - Allow_osDetectedCountry = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetAgentCountry = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetGridGatekeeperURI = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetNumberOfAttachments = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osDetectedCountry = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER + Allow_osDropAttachment = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER + Allow_osDropAttachmentAt = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetAgentCountry = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetGridGatekeeperURI = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetNumberOfAttachments = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER Allow_osMessageAttachments = true Allow_osRequestURL = true Allow_osRequestSecureURL = true Allow_osSetContentType = true - Allow_osSetSpeed = true ; ThreatLevel High Allow_osCauseDamage = ESTATE_MANAGER,ESTATE_OWNER - Allow_osCauseHealing = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetHealth = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetHealRate = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceAttachToAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceAttachToAvatarFromInventory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osCauseHealing = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetHealth = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetHealRate = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceAttachToAvatar = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceAttachToAvatarFromInventory = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceDropAttachment = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceDropAttachmentAt = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER Allow_osParcelSetDetails = ESTATE_MANAGER,ESTATE_OWNER Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetParcelDetails = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetParcelDetails = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetStateEvents = false ; deprecated Allow_osSetTerrainHeight = ESTATE_MANAGER,ESTATE_OWNER @@ -258,15 +259,15 @@ Allow_osAvatarStopAnimation = true Allow_osForceAttachToOtherAvatarFromInventory = false Allow_osForceDetachFromAvatar = false - Allow_osForceOtherSit = false + Allow_osForceOtherSit = ESTATE_OWNER, ESTATE_MANAGER Allow_osSetRot = ESTATE_OWNER, ESTATE_MANAGER ; ThreatLevel Severe Allow_osConsoleCommand = false Allow_osGrantScriptPermissions = false - Allow_osKickAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osKickAvatar = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER Allow_osRevokeScriptPermissions = false - Allow_osTeleportAgent = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osTeleportAgent = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel Severe with additional internal restrictions Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable) -- cgit v1.1 From cf4c58c8c6ee26ff041ac9d30916893e688b7e98 Mon Sep 17 00:00:00 2001 From: onefang Date: Tue, 6 Jul 2021 13:54:53 +1000 Subject: White space fixes. --- bin/Robust.ini | 8 ++++---- bin/config-include/config_DG.ini | 12 ++++++------ bin/config-include/config_IG.ini | 12 ++++++------ bin/config-include/config_MG.ini | 10 +++++----- bin/config-include/config_localhost.ini | 4 ++-- 5 files changed, 23 insertions(+), 23 deletions(-) (limited to 'bin') diff --git a/bin/Robust.ini b/bin/Robust.ini index dd2bc66..34d996b 100644 --- a/bin/Robust.ini +++ b/bin/Robust.ini @@ -48,7 +48,7 @@ ; Set path to directory for plugin registry. Information ; about the registered repositories and installed plugins ; will be stored here - ; The Robust.exe process must have R/W access to the location + ; The Robust.exe process must have R/W access to the location RegistryLocation = "${Paths|CachePath}" ; Modular configurations @@ -68,7 +68,7 @@ ; Time stamp commands in history file (default false) ; ConsoleHistoryTimeStamp = false - + ; peers SSL certificate validation options ; you can allow selfsigned certificates or no official CA with next option set to true NoVerifyCertChain = true @@ -491,7 +491,7 @@ ; This inventory service will be used to initialize the user's inventory HGInventoryServicePlugin = "HGInventoryService@OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" ; NOTE: HGInventoryServiceConstructorArg is deprecated. For now it will work, but see above - ; for the correct method if passing additional arguments. + ; for the correct method if passing additional arguments. ;; end hypergrid ; Ask co-operative viewers to use a different currency name @@ -818,7 +818,7 @@ BaseDirectory = "${Paths|CachePath}/bakes" [MuteListService] - LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService" + LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService" ;;[WebService] diff --git a/bin/config-include/config_DG.ini b/bin/config-include/config_DG.ini index c407733..c67ccc9 100644 --- a/bin/config-include/config_DG.ini +++ b/bin/config-include/config_DG.ini @@ -1,9 +1,9 @@ ; The Const section allows us to define some basic information that we -; will use throughout our configuration. We will provide examples for +; will use throughout our configuration. We will provide examples for ; setting the base url of the ROBUST server and the public and private ports ; it uses. Changing the values of the constants will set the operating ; parameters thoughout the configuration. Other constants that may prove -; to be useful may be added to the followin section. They may be +; to be useful may be added to the followin section. They may be ; referenced anywhere in the configuration by using ${Const|Name}. One ; such use is providing a base path for setting locations that ROBUST ; uses to write data. @@ -71,10 +71,10 @@ parcel_owner_is_god = false [GodNames] - Enabled = true - FullNames = "onefang rejected,Rhi Syn" -; FirstNames = "Infinite,infinite" -; Surnames = "Kryztlsk" + Enabled = true + FullNames = "onefang rejected,Rhi Syn" +; FirstNames = "Infinite,infinite" +; Surnames = "Kryztlsk" [GridService] Region_Sandbox = "DefaultHGRegion, FallbackRegion, Persistent" diff --git a/bin/config-include/config_IG.ini b/bin/config-include/config_IG.ini index bd809bf..fbc1e35 100644 --- a/bin/config-include/config_IG.ini +++ b/bin/config-include/config_IG.ini @@ -1,9 +1,9 @@ ; The Const section allows us to define some basic information that we -; will use throughout our configuration. We will provide examples for +; will use throughout our configuration. We will provide examples for ; setting the base url of the ROBUST server and the public and private ports ; it uses. Changing the values of the constants will set the operating ; parameters thoughout the configuration. Other constants that may prove -; to be useful may be added to the followin section. They may be +; to be useful may be added to the followin section. They may be ; referenced anywhere in the configuration by using ${Const|Name}. One ; such use is providing a base path for setting locations that ROBUST ; uses to write data. @@ -72,10 +72,10 @@ parcel_owner_is_god = false [GodNames] - Enabled = true - FullNames = "Infinite BootsFang,Infinite Crush,infinite onefang,Infinite Riseon" - FirstNames = "Infinite,infinite" -; Surnames = "Kryztlsk" + Enabled = true + FullNames = "Infinite BootsFang,Infinite Crush,infinite onefang,Infinite Riseon" + FirstNames = "Infinite,infinite" +; Surnames = "Kryztlsk" [GridService] Region_Welcome = "DefaultRegion, FallbackRegion, Persistent" diff --git a/bin/config-include/config_MG.ini b/bin/config-include/config_MG.ini index 862f7b8..4827804 100644 --- a/bin/config-include/config_MG.ini +++ b/bin/config-include/config_MG.ini @@ -1,9 +1,9 @@ ; The Const section allows us to define some basic information that we -; will use throughout our configuration. We will provide examples for +; will use throughout our configuration. We will provide examples for ; setting the base url of the ROBUST server and the public and private ports ; it uses. Changing the values of the constants will set the operating ; parameters thoughout the configuration. Other constants that may prove -; to be useful may be added to the followin section. They may be +; to be useful may be added to the followin section. They may be ; referenced anywhere in the configuration by using ${Const|Name}. One ; such use is providing a base path for setting locations that ROBUST ; uses to write data. @@ -91,9 +91,9 @@ AddDefaultGroup = "MisFitz Grid Residents" [GodNames] - Enabled = true - FullNames = "Fr0zenHawk Chillsmoke,Korgi Silvercloud,Max Zephyr" -; Surnames = "Kryztlsk" + Enabled = true + FullNames = "Fr0zenHawk Chillsmoke,Korgi Silvercloud,Max Zephyr" +; Surnames = "Kryztlsk" [GridService] Region_MisFitz_Welcome = "DefaultRegion, FallbackRegion" diff --git a/bin/config-include/config_localhost.ini b/bin/config-include/config_localhost.ini index 501a1f4..830f173 100644 --- a/bin/config-include/config_localhost.ini +++ b/bin/config-include/config_localhost.ini @@ -1,9 +1,9 @@ ; The Const section allows us to define some basic information that we -; will use throughout our configuration. We will provide examples for +; will use throughout our configuration. We will provide examples for ; setting the base url of the ROBUST server and the public and private ports ; it uses. Changing the values of the constants will set the operating ; parameters thoughout the configuration. Other constants that may prove -; to be useful may be added to the followin section. They may be +; to be useful may be added to the followin section. They may be ; referenced anywhere in the configuration by using ${Const|Name}. One ; such use is providing a base path for setting locations that ROBUST ; uses to write data. -- cgit v1.1 From 6b8e31d0cc4538ea9e7c79299e3815f0c075407c Mon Sep 17 00:00:00 2001 From: onefang Date: Tue, 6 Jul 2021 13:58:35 +1000 Subject: Various config file merges and fix ups. Plus some sorting. --- bin/OpenSim.ini.example | 85 +-------- bin/OpenSimDefaults.ini | 399 ++++++++++++++++++++++++++++++--------- bin/config-include/config_DG.ini | 4 + bin/config-include/config_IG.ini | 4 + bin/config-include/config_MG.ini | 4 + 5 files changed, 330 insertions(+), 166 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 6129640..05bc433 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1,76 +1,11 @@ -;; This is the main configuration file for OpenSimulator. -;; If it's named OpenSim.ini then it will be loaded by OpenSimulator. -;; If it's named OpenSim.ini.example then you will need to copy it to -;; OpenSim.ini first (if that file does not already exist) -;; -;; Once you have copied OpenSim.ini.example to OpenSim.ini you will at least -;; need to set the constants in the [Const] section and pick an architecture -;; in the [Architecture] section at the end of this file. The architecture -;; will require a suitable .ini file in the config-include directory, either -;; StandaloneCommon.ini or GridCommon.ini which you can copy and modify from the -;; available .example files. -;; -;; The settings in this file are in the form " = ". For example, -;; save_crashes = false in the [Startup] section below. -;; -;; All settings are initially commented out and the default value used, as -;; found in OpenSimDefaults.ini. To change a setting, first uncomment it by -;; deleting the initial semicolon (;) and then change the value. This will -;; override the value in OpenSimDefaults.ini -;; -;; If you want to find out what configuration OpenSimulator has finished with -;; once all the configuration files are loaded then type "config show" on the -;; region console command line. -;; -;; -;; NOTES FOR DEVELOPERS REGARDING THE FORMAT OF THIS FILE -;; -;; All leading white space is ignored, but preserved. -;; -;; Double semicolons denote a text comment -;; -;; ;# denotes a configuration directive description -;; formatted as: -;; {option} {depends on} {question to ask} {choices} default value -;; Any text comments following the declaration, up to the next blank line. -;; will be copied to the generated file (NOTE: generation is not yet -;; implemented) -;; -;; A * in the choices list will allow an empty entry. -;; An empty question will set the default if the dependencies are -;; satisfied. -;; -;; ; denotes a commented out option. -;; Any options added to OpenSim.ini.example should be initially commented -;; out. - - -[Const] - ; this section defines constants for grid services - ; to simplify other configuration files default settings +; This file contains defaults for various settings in OpenSimulator. These can be overriden +; by changing the same setting in OpenSim.ini (once OpenSim.ini.example has been copied to OpenSim.ini). - ;# {BaseHostname} {} {BaseHostname} {"example.com" "127.0.0.1"} "127.0.0.1" - BaseHostname = "127.0.0.1" - ;# {BaseURL} {} {BaseURL} {"http://${Const|BaseHostname}} "http://${Const|BaseHostname}" - BaseURL = http://${Const|BaseHostname} +[Includes] + ; Define your server specific constants in this file. + Include-Common = ../../config/config.ini - ; If you run a grid, several services should not be availble to world, access to them should be blocked on firewall - ; PrivatePort should closed at the firewall. - - ;# {PublicPort} {} {PublicPort} {8002 9000} "8002" - PublicPort = "8002" - - ; you can also have them on a diferent url / IP - ;# {PrivURL} {} {PrivURL} {"http://${Const|BaseURL}} "${Const|BaseURL}" - PrivURL = ${Const|BaseURL} - - ;grid default private port 8003, not used in standalone - ;# {PrivatePort} {} {PrivatePort} {8003} "8003" - ; port to access private grid services. - ; grids that run all their regions should deny access to this port - ; from outside their networks, using firewalls - PrivatePort = "8003" [Startup] ;# {ConsolePrompt} {} {ConsolePrompt} {} "Region (\R) " @@ -753,12 +688,6 @@ ;; This applies to both core groups module. ; ForwardOfflineGroupMessages = true - -[BulletSim] - ;# {AvatarToAvatarCollisionsByDefault} {[Startup]physics:BulletSim} {Should avatars collide with each other?} {true false} true - AvatarToAvatarCollisionsByDefault = true - - [ODEPhysicsSettings] ;# {mesh_sculpted_prim} {[Startup]physics:OpenDynamicsEngine} {Mesh sculpties so they collide as they look?} {true false} true ;; Do we want to mesh sculpted prim to collide like they look? @@ -767,6 +696,10 @@ ;; then you might want to try setting this to false. ; mesh_sculpted_prim = true +[BulletSim] + ;# {AvatarToAvatarCollisionsByDefault} {[Startup]physics:BulletSim} {Should avatars collide with each other?} {true false} true + AvatarToAvatarCollisionsByDefault = true + [RemoteAdmin] ;; This is the remote admin module, which uses XMLRPC requests to ;; manage regions from a web interface. diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index e49fae9..db7d5c0 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -29,8 +29,8 @@ ConsoleHistoryFileLines = 100 ; Time stamp commands in history file (default false) - ; ConsoleHistoryTimeStamp = false - + ConsoleHistoryTimeStamp = true + ; Set this to true if you want to log crashes to disk ; this can be useful when submitting bug reports. ; However, this will only log crashes within OpenSimulator that cause the entire program to exit @@ -170,10 +170,10 @@ ; limit the maximum view range ( no effect still (does limit MaxRegionsViewDistance) ) MaxDrawDistance = 1024 - ; Other regions visibility depends on avatar position and view range - ; the view range considered is limited the maximum and minimum distances: - MaxRegionsViewDistance = 512 - MinRegionsViewDistance = 96 + ; Other regions visibility depends on avatar position and view range + ; the view range considered is limited the maximum and minimum distances: + MaxRegionsViewDistance = 1024 + MinRegionsViewDistance = 96 ; If you have only one region in an instance, or to avoid the many bugs ; that you can trigger in modules by restarting a region, set this to @@ -280,8 +280,14 @@ ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports ; Usually this is only a box - meshing = Meshmerizer + ;meshing = Meshmerizer ;meshing = ZeroMesher + ;; select ubODEMeshmerizer only with ubOde physics engine + meshing = ubODEMeshmerizer + + ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit + ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions + ; edit the line ulimit -s 262144, and change this last value ; Path to decoded sculpty maps ; Defaults to "j2kDecodeCache @@ -300,11 +306,13 @@ ;; It continues to provide a workable physics implementation. It does not currently support varregions. ;; basicphysics effectively does not model physics at all, making all objects phantom. ;; Default is BulletSim - physics = BulletSim + ;physics = BulletSim ;physics = modified_BulletX ;physics = OpenDynamicsEngine ;physics = basicphysics ;physics = POS + ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also + physics = ubODE ; ## ; ## SCRIPT ENGINE @@ -312,6 +320,10 @@ ;; Default script engine to use. Currently, we only have XEngine DefaultScriptEngine = "XEngine" + ;; ***DANGER***DANGER*** + ;; experimental engine + ;; see section [YEngine] below + ; DefaultScriptEngine = "YEngine" ; Http proxy setting for llHTTPRequest and dynamic texture loading, if ; required @@ -401,6 +413,13 @@ ; default is false TelehubAllowLandmark = true +[AccessControl] + ; Viewer-based access control. |-separated list of allowed viewers. + ; AllowedClients = "" + + ; Viewer-based access control. |-separated list of denied viewers. + ; No restrictions by default. + ; DeniedClients = "" ; Normally this section goes in the ThisSim.ini file, but this is common for all. [Region] @@ -411,7 +430,7 @@ ; # ; # SSL certificates validation options ; # - + ; SSL certificate validation options ; you can allow selfsigned certificates or no official CA with next option set to true ; NoVerifyCertChain = true @@ -479,7 +498,7 @@ enablePosition = true ; Refresh the cached map tile once a month. - RefreshEveryMonth = false + RefreshEveryMonth = true ;# {MapColorWater} {} {Water color for textured and shaded maps} {"#1D475F"} ; MapColorWater = "#3399FF" @@ -518,14 +537,14 @@ ; This allows grid users with a UserLevel of 200 or more to assume god ; powers in the regions in this simulator. - ; if you don't trust grid admins, what are you doing there? + ; if you don't trust grid admins, what are you doing there? allow_grid_gods = true ; Allow region owners to assume god powers in their regions - ;region_owner_is_god = true + region_owner_is_god = false ; Allow region managers to assume god powers in regions they manage - ;region_manager_is_god = false + region_manager_is_god = false ; God mode should be turned on in the viewer whenever ; the user has god rights somewhere. They may choose @@ -566,6 +585,37 @@ ;LevelUpload = 0 +[Estates] + ; If these values are commented out then the user will be asked for estate details when required (this is the normal case). + ; If these values are uncommented then they will be used to create a default estate as necessary. + ; New regions will be automatically assigned to that default estate. + + ;# {DefaultEstateName} {} {Default name for estate?} {} My Estate + ;; Name for the default estate + ; DefaultEstateName = My Estate + + ;# {DefaultEstateOwnerName} {} {Default estate owner name?} {} FirstName LastName + ;; Name for default estate owner + ; DefaultEstateOwnerName = FirstName LastName + + + ; ** Standalone Estate Settings ** + ; The following parameters will only be used on a standalone system to + ; create an estate owner that does not already exist + + ;# {DefaultEstateOwnerUUID} {} {Default estate owner UUID?} {} 00000000-0000-0000-0000-000000000000 + ;; If DefaultEstateOwnerUUID is left at UUID.Zero (as below) then a random + ;; UUID will be assigned. This is normally what you want + ; DefaultEstateOwnerUUID = 00000000-0000-0000-0000-000000000000 + + ;# {DefaultEstateOwnerEMail} {} {Default estate owner email?} {} + ;; Email address for the default estate owner + ; DefaultEstateOwnerEMail = owner@domain.com + + ;# {DefaultEstateOwnerPassword} {} {Default estate owner password} {} + ;; Password for the default estate owner + ; DefaultEstateOwnerPassword = password + [RegionReady] ; Enable this module to get notified once all items and scripts in the region have been completely loaded and compiled enabled = true @@ -589,7 +639,7 @@ [EstateManagement] ; If false, then block any region restart requests from the client even if they are otherwise valid. ; Default is true - AllowRegionRestartFromClient = true + AllowRegionRestartFromClient = false [UserProfiles] @@ -621,6 +671,8 @@ [Network] + ;; Configure the remote console user here. This will not actually be used + ;; unless you use -console=rest at startup. ;ConsoleUser = "Test" ;ConsolePass = "secret" ;http_listener_port = 9000 @@ -629,14 +681,14 @@ ; ssl config: Experimental! http_listener_ssl = false ; if set to true main server is replaced by a ssl one http_listener_sslport = 9001 ; Use this port for SSL connections - ; currently if using ssl, regions ExternalHostName must the the same and equal to http_listener_cn - ; this will change is future + ; currently if using ssl, regions ExternalHostName must the the same and equal to http_listener_cn + ; this will change is future http_listener_cn = "myRegionsExternalHostName" - ; if the cert doesnt have a oficial CA or is selfsigned viewers option NoVerifySSLCert need to be set true + ; if the cert doesnt have a oficial CA or is selfsigned viewers option NoVerifySSLCert need to be set true http_listener_cert_path = "mycert.p12" ; path for the cert file that is valid for the ExternalHostName - http_listener_cert_pass = "mycertpass" ; the cert passwork + http_listener_cert_pass = "mycertpass" ; the cert passwork - ; addicional HTTPS for "Out of band" management applications such as the remote + ; additional HTTPS for "Out of band" management applications such as the remote ; admin module or scripts ; ; Create https_listener = "True" will create a listener on the port @@ -657,8 +709,8 @@ ; HttpBodyMaxLenMAX=16384 ; Hostname to use in llRequestURL/llRequestSecureURL - ; must be a valid hostname for the ssl cert. - ; if not defined - llRequestURL/llRequestSecureURL are disabled + ; must be a valid hostname for the ssl cert. + ; if not defined - llRequestURL/llRequestSecureURL are disabled ; ExternalHostNameForLSL=127.0.0.1 ExternalHostNameForLSL = "${Const|HostName}" @@ -682,11 +734,43 @@ ; ; OutboundDisallowForUserScripts = "" + ; You can whitelist individual endpoints by IP or FQDN, e.g. + ; + ; OutboundDisallowForUserScriptsExcept = 192.168.1.3:8003 + ; + ; You can specify multiple addresses by separating them with a bar. For example, + ; + ; OutboundDisallowForUserScriptsExcept = 192.168.1.3:8003|myinternalserver:8000 + ; + ; If an address if given without a port number then port 80 is assumed + ; + ; You can also specify a network range in CIDR notation to whitelist, e.g. + ; + ; OutboundDisallowForUserScriptsExcept = 192.168.1.0/24 + ; + ; to whitelist all ports on addresses 192.168.1.0 to 192.168.1.255 + ; To specify an individual IP address use the /32 netmask + ; + ; OutboundDisallowForUserScriptsExcept = 192.168.1.2/32 + ; + ; See http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation for more information on CIDR notation + + ; What is reported as the "X-Secondlife-Shard" ; Defaults to the user server url if not set ; The old default is "OpenSim", set here for compatibility shard = "OpenSim" + ;; The following 3 variables are for HTTP Basic Authentication for the Robust services. + ;; Use this if your central services in port 8003 need to be accessible on the Internet + ;; but you want to protect them from unauthorized access. The username and password + ;; here need to match the ones in the Robust service configuration. + ; AuthType = "BasicHttpAuthentication" + ; HttpAuthUsername = "some_username" + ; HttpAuthPassword = "some_password" + ;; + ;; Any of these 3 variables above can be overriden in any of the service sections. + ; What is reported as the "User-Agent" when using llHTTPRequest ; Defaults to not sent if not set here. See the notes section in the wiki at ; http://wiki.secondlife.com/wiki/LlHTTPRequest for comments on adding @@ -699,32 +783,43 @@ ;MaxRequestConcurrency = 30 [ScriptsHttpRequestModule] - ; options for llHttpRequest - - ; max number of concurrent connections per instance (all scenes), default 8 - ; MaxPoolThreads = 8 - + ; options for llHttpRequest + + ; max number of concurrent connections per instance (all scenes), default 8 + ; MaxPoolThreads = 8 + ; max requests per second for all scripts on a prim, default 1 ;PrimRequestsPerSec = 1.0 - ; initial unthrottled burst for all scripts on a prim, default 3 + ; initial unthrottled burst for all scripts on a prim, default 3 ;PrimRequestsBurst = 3.0 ; max requests per second for the objects owner (per instance), default 25 ;PrimOwnerRequestsPerSec = 25.0 - ; initial unthrottled burst for the objects owner (per instance), default 5 + ; initial unthrottled burst for the objects owner (per instance), default 5 ;PrimOwnerRequestsBurst = 5.0 - - ; requests timeout in miliseconds, range 200 to 60000, default 30000 + + ; requests timeout in miliseconds, range 200 to 60000, default 30000 ;RequestsTimeOut = 30000 - -[AccessControl] - ; Viewer-based access control. |-separated list of allowed viewers. - ; AllowedClients = "" - ; Viewer-based access control. |-separated list of denied viewers. - ; No restrictions by default. - ; DeniedClients = "" +[XMLRPC] + ;# {XmlRpcRouterModule} {} {Module used to route incoming llRemoteData calls} {XmlRpcRouterModule XmlRpcGridRouterModule} XmlRpcRouterModule + ;; If enabled and set to XmlRpcRouterModule, this will post an event, + ;; "xmlrpc_uri(string)" to the script concurrently with the first + ;; remote_data event. This will contain the fully qualified URI an + ;; external site needs to use to send XMLRPC requests to that script + ;; + ;; If enabled and set to XmlRpcGridRouterModule, newly created channels + ;; will be registered with an external service via a configured uri + ;XmlRpcRouterModule = "XmlRpcRouterModule" + + ;# {XmlRpcPort} {} {Port for incoming llRemoteData xmlrpc calls} {} 20800 + ;XmlRpcPort = 20800 + ;# {XmlRpcHubURI} {XmlRpcRouterModule} {URI for external service used to register xmlrpc channels created in the simulator. This depends on XmlRpcRouterModule being set to XmlRpcGridRouterModule} {} http://example.com + ;; If XmlRpcRouterModule is set to XmlRpcGridRouterModule, the simulator + ;; will use this address to register xmlrpc channels on the external + ;; service + ; XmlRpcHubURI = http://example.com [ClientStack.LindenUDP] ; Maximum outbound bytes per second for a single scene. This can be used to @@ -752,7 +847,7 @@ ; clients login by starting each connection more slowly. Disabled by ; default ; - enable_adaptive_throttles = true + enable_adaptive_throttles = false ; TextureSendLimit determines how many packets will be put on @@ -784,11 +879,11 @@ ; ;PausedAckTimeout = 300 - ; Support viewers object cache, default true - ; users may need to reduce viewer bandwitdh if some prims or terrain parts fail to rez. - ; change to false if you need to use old viewers that do not support this feature - ; - ; SupportViewerObjectsCache = true + ; Support viewers object cache, default true + ; users may need to reduce viewer bandwitdh if some prims or terrain parts fail to rez. + ; change to false if you need to use old viewers that do not support this feature + ; + ; SupportViewerObjectsCache = true [ClientStack.LindenCaps] ;; Long list of capabilities taken from @@ -814,7 +909,7 @@ Cap_GetTexture = "localhost" Cap_GetMesh = "localhost" Cap_GetMesh2 = "localhost" - ; Cap_GetAsset = "localhost" DO not ucoment this line. Some popular viewers still dont do it right for opensim. Here to easy testing + ; Cap_GetAsset = "localhost" Do not uncoment this line. Some popular viewers still dont do it right for opensim. Here to easy testing Cap_GetObjectCost = "" Cap_GetObjectPhysicsData = "" Cap_GroupProposalBallot = "" @@ -869,6 +964,19 @@ ; Capability for searching for people Cap_AvatarPickerSearch = "localhost" +[SimulatorFeatures] + ;# {SearchServerURI} {} {URL of the search server} {} + ;; Optional. If given this serves the same purpose as the grid wide + ;; [LoginServices] SearchURL setting and will override that where + ;; supported by viewers. + ;SearchServerURI = "http://127.0.0.1:9000/" + + ;# {DestinationGuideURI} {} {URL of the destination guide} {} + ;; Optional. If given this serves the same purpose as the grid wide + ;; [LoginServices] DestinationGuide setting and will override that where + ;; supported by viewers. + ;DestinationGuideURI = "http://127.0.0.1:9000/guide" + [Chat] ; Controls whether the chat module is enabled. Default is true. @@ -889,8 +997,9 @@ ; along the x or y axis. This is set to 65535 because current viewers ; can't handle teleports that are greater than this distance ; Setting to 0 will allow teleports of any distance + ; The viewers got fixed long ago. ; - max_distance = 65535 + max_distance = 0 ; Allow avatars to cross into and out of the region. AllowAvatarCrossing = true @@ -916,15 +1025,42 @@ [Messaging] ; Control which region module is used for instant messaging. ; Default is InstantMessageModule (this is the name of the core IM module as well as the setting) - InstantMessageModule = InstantMessageModule + + ; InstantMessageModule = InstantMessageModule ; MessageTransferModule = MessageTransferModule - ; OfflineMessageModule = OfflineMessageModule - ; OfflineMessageURL = http://yourserver/Offline.php - ; MuteListModule = MuteListModule - ; MuteListURL = http://yourserver/Mute.php - ; Control whether group messages are forwarded to offline users. Default is true. - ; ForwardOfflineGroupMessages = true + ;# {OfflineMessageModule} {} {Module to use for offline message storage} {OfflineMessageModule "Offline Message Module V2" *} + ;; Module to handle offline messaging. The core module requires an external + ;; web service to do this. See OpenSim wiki. + ; OfflineMessageModule = OfflineMessageModule + ;; Or, alternatively, use this one, which works for both standalones and grids + OfflineMessageModule = "Offline Message Module V2" + + ;# {OfflineMessageURL} {OfflineMessageModule:OfflineMessageModule Offline Message Module V2:Offline Message Module V2} {URL of offline messaging service} {} + ;; URL of web service for offline message storage. Leave it commented if your service is local to the sim. + ;OfflineMessageURL = ${Const|BaseURL}/Offline.php + OfflineMessageURL = ${Const|BaseURL}:${Const|PrivatePort} + + ;# {StorageProvider} {Offline Message Module V2:Offline Message Module V2} {DLL that provides the storage interface} {OpenSim.Data.MySQL.dll} + ;; For standalones, this is the storage dll. + StorageProvider = "${Const|DataProvider}" + + ; Mute list handler + ; the provided MuteListModule is just a Dummy + ; you will need a external module for proper suport. + ; if you keep both 2 following settings comment, viewers will use mutes in their caches + ; if you uncoment both (url is ignored) the mutes will be deleted at login on this instance regions + ; WARNING: viewers mutes cache seems to shared by all grids, including SL + ; this may cause some confusion. + ;# {MuteListModule} {MuteListModule:MuteListModule} {} {} None + MuteListModule = MuteListModule + ;# {MuteListURL} {MuteListModule:MuteListModule} {} {} http://yourserver/Mute.php + MuteListURL = ${Const|BaseURL}/Mute.php + + ;; Control whether group invites and notices are stored for offline users. + ;; Default is true. + ;; This applies to both core groups module. + ForwardOfflineGroupMessages = true [Inventory] @@ -1345,7 +1481,7 @@ ; update appearance copies inventory items and wearables of default avatars. if this value is false ; (default), just worn assets are copied to the Clothes folder; if true, all Clothes and Bodyparts ; subfolders are copied. the receiver will wear the same items the default avatar did wear. - ;copy_folders = false + copy_folders = true ; path to default appearance XML file that specifies the look of the default avatars ;default_appearance = default_appearance.xml @@ -1504,6 +1640,11 @@ ; It has no ill effect on viewers which do not support server-side windlight settings. enable_windlight = true +[Materials] + ;# {enable_materials} {} {Enable Materials support?} {true false} true + ;; This enables the use of Materials. + enable_materials = true + ; MaxMaterialsPerTransaction = 50 [Trees] ; enable the trees module. default true @@ -1670,19 +1811,19 @@ ; Detail level when rendering prims in llCastRay V3 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call - PrimDetailLevelInLlCastRay = 1 + PrimDetailLevelInLlCastRay = 2 ; Detail level when rendering sculpts in llCastRay V3 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call - SculptDetailLevelInLlCastRay = 1 + SculptDetailLevelInLlCastRay = 2 ; Detail level when rendering meshes in llCastRay V3 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call - MeshDetailLevelInLlCastRay = 3 + MeshDetailLevelInLlCastRay = 2 ; Detail level when rendering avatar capsules in llCastRay V3 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call - AvatarDetailLevelInLlCastRay = 1 + AvatarDetailLevelInLlCastRay = 2 ; Maximum number of returned hits from llCastRay V3 MaxHitsInLlCastRay = 16 @@ -1783,24 +1924,24 @@ ;PriceObjectRent = 0 ;PriceObjectScaleFactor = 10 ;PriceParcelRent = 0 - - ; Mesh upload settings, independent of economymodule - - ; Create inventory entries for textures uploaded with a model - ; default is false, ie, do not create - ; MeshModelAllowTextureToInventory = true - + + ; Mesh upload settings, independent of economymodule + + ; Create inventory entries for textures uploaded with a model + ; default is false, ie, do not create + MeshModelAllowTextureToInventory = true + [YEngine] ;; implements non preemptive microthreading, so fixing problems like llSleep or long events handlers ;; but those will suffer from timeslicing, so will be slower. ;; warning: scripts state is lost on TP or cross to Xengine regions (cars stop, etc) ;; ignore its extensions (subset of original XMRengine), those are still undefined. - ;Enabled = false - + Enabled = false + ; maximum stack a script can use in KB ;ScriptStackSize = 2048 - + ; maximum heap memory a script can use in KB ;ScriptHeapSize = 1024 @@ -1847,6 +1988,7 @@ ; this may only be a problem if regions stay alive for a long time with lots of scripts added or edited. ; at this time some mono versions seem to have problems with the true option ; so default is now false until a fix is found + ; WARNING this makes OpenSim use four times as much memory! AppDomainLoading = false ; Controls whether previously compiled scripts DLLs are deleted on sim restart. @@ -1972,7 +2114,16 @@ DisableUndergroundMovement = false ;; Path to script assemblies - ; ScriptEnginesPath = "${Paths|CachePath}/ScriptEngines" + ScriptEnginesPath = "${Paths|CachePath}/ScriptEngines" + + ; ==== Settings for MOD and OSSL functions have been moved to the [OSSL] section + + +[OSSL] + ;# {Include-osslEnable} {} {Include file for enabling and permissions for OSSL functions} {} + ;; Optionally include file to enable OSSL functions and set permissions on who can use which. + ;; If this INI file is not included, the OSSL functions are disabled. + Include-osslEnable = "config-include/osslEnable.ini" [Concierge] @@ -2076,11 +2227,47 @@ ; This is the current groups stub in Region.CoreModules.Avatar.Groups. All the other settings below only really ; apply to the Flotsam/SimianGrid GroupsModule - Module = Default - + ; Module = Default ; This module can use a PHP XmlRpc server from the Flotsam project at http://code.google.com/p/flotsam/ ; or from the SimianGrid project at http://code.google.com/p/openmetaverse ;Module = GroupsModule + ;; or... use Groups Module V2, which works for standalones and robust grids + Module = "Groups Module V2" + + ;# {StorageProvider} {Module:Groups Module V2} {The DLL that provides the storage for V2} {OpenSim.Data.MySQL.dll} + StorageProvider = "${Const|DataProvider}" + + ;# {ServicesConnectorModule} {Module:GroupsModule Module:Groups Module V2} {Service connector to use for groups} {XmlRpcGroupsServicesConnector SimianGroupsServicesConnector "Groups Local Service Connector" "Groups Remote Service Connector" "Groups HG Service Connector"} XmlRpcGroupsServicesConnector + ;; Service connectors to the Groups Service as used in the GroupsModule. Select one as follows: + ;; -- for Flotsam Groups use XmlRpcGroupsServicesConnector + ;; -- for Simian Groups use SimianGroupsServicesConnector + ;; -- for V2 Groups, standalone, non-HG use "Groups Local Service Connector" + ;; -- for V2 Groups, grided sim, non-HG use "Groups Remote Service Connector" + ;; -- for V2 Groups, HG, both standalone and grided sim, use "Groups HG Service Connector" + ;; Note that the quotes "" around the words are important! + ServicesConnectorModule = "Groups HG Service Connector" + + ;# {LocalService} {ServicesConnectorModule:Groups HG Service Connector} {Is the group service in this process or elsewhere?} {local remote} local + ;; Used for V2 in HG only. If standalone, set this to local; if grided sim, set this to remote + LocalService = remote + + ;# {SecretKey} {ServicesConnectorModule:Groups Remote Service Connector} {Secret key between sim and remote group service} {} "" + ;; Used for V2 in Remote only. + ; SecretKey = "sEcReTkEy" + + ;# {GroupsServerURI} {Module:GroupsModule (ServicesConnectorModule:Groups Remote Service Connector or (ServicesConnectorModule:Groups HG Service Connector and LocalService:remote))} {Groups Server URI} {} + ;; URI for the groups services of this grid + ;; e.g. http://yourxmlrpcserver.com/xmlrpc.php for Flotsam XmlRpc + ;; or http://mygridserver.com:82/Grid/ for SimianGrid + ;; or ${Const|BaseURL}:${Const|PrivatePort} for robust, V2 + ;; Leave it commented for standalones, V2 + GroupsServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + + ;# {HomeURI} {ServicesConnectorModule:Groups HG Service Connector} {What's the home address of this world?} {} + ;; Used for V2 in HG only. For example + ;; http://mygridserver.com:9000 or http://mygridserver.com:8002 + ;; If you have this set under [Startup], no need to set it here, leave it commented + HomeURI = ${Const|BaseURL}:${Const|PublicPort} ; Enable Group Notices NoticesEnabled = true @@ -2098,7 +2285,12 @@ ; Specify which messaging module to use for groups messaging and if it's enabled ;MessagingModule = GroupsMessagingModule - ;MessagingEnabled = true + MessagingEnabled = true + + ;# {MessagingModule} {MessagingEnabled:true} {Module to use for groups messaging} {GroupsMessagingModule "Groups Messaging Module V2"} GroupsMessagingModule + ; MessagingModule = GroupsMessagingModule + ; or use "Groups Messaging Module V2" for Groups V2 + MessagingModule = "Groups Messaging Module V2" ; Experimental option to only message cached online users rather than all users ; Should make large group with few online members messaging faster, at the expense of more calls to ROBUST presence service @@ -2138,20 +2330,20 @@ [InterestManagement] ; This section controls how state updates are prioritized for each client - + ; UpdatePrioritizationScheme valid values are BestAvatarResponsiveness and SimpleAngularDistance - ; SimpleAngularDistance does use more cpu + ; SimpleAngularDistance does use more cpu UpdatePrioritizationScheme = BestAvatarResponsiveness ReprioritizationEnabled = true ReprioritizationInterval = 2000.0 RootReprioritizationDistance = 10.0 ChildReprioritizationDistance = 20.0 - ; ObjectsCullingByDistance, if true, don't send object updates if outside view range - ; currently viewers are also told to delete objects that leave view range - ; only avater position is considered, free camera may not see objects - ; does increase cpu load - ObjectsCullingByDistance = false + ; ObjectsCullingByDistance, if true, don't send object updates if outside view range + ; currently viewers are also told to delete objects that leave view range + ; only avater position is considered, free camera may not see objects + ; does increase cpu load + ObjectsCullingByDistance = false ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region ; Updates will always be sent to the avatar that the update addresses and if av velocity is effectively zero (to prevent drift due to missing updates). @@ -2185,12 +2377,14 @@ ; See http://opensimulator.org/wiki/FAQ#Region_Statistics_on_a_Web_Page ; Use a web browser and type in the "Login URI" + "/SStats/" ; For example- http://127.0.0.1:9000/SStats/ - ; enabled=false + enabled=true + [Statistics] - ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames - ; to include in the averaging calculations - NumberOfFrames=10 + ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames + ; to include in the averaging calculations + NumberOfFrames=10 + [MediaOnAPrim] ; Enable media on a prim facilities @@ -2236,16 +2430,16 @@ ; set this to false to not display parcel ban lines ShowParcelBansLines = true - + ; Parcel Bans max height above ground. Default 100m ; range 20m to 5000m BanLineSafeHeight = 5000 - ; setting the parcel to admin content, It works as setting the land to Linden content in SL. - ; To use it, activate god mode in the viewer, select the parcel and go to: Admin -> Parcel -> Set to Linden Content ( CTRL+ALT+SHIFT+C) - ; DefaultAdministratorParcelName = "Admin Parcel" - ; DefaultAdministratorGroupUUID = "00000000-0000-0000-0000-000000000000" - ; DefaultAdministratorOwnerUUID = "00000000-0000-0000-0000-000000000000" + ; setting the parcel to admin content, It works as setting the land to Linden content in SL. + ; To use it, activate god mode in the viewer, select the parcel and go to: Admin -> Parcel -> Set to Linden Content ( CTRL+ALT+SHIFT+C) + ; DefaultAdministratorParcelName = "Admin Parcel" + ; DefaultAdministratorGroupUUID = "00000000-0000-0000-0000-000000000000" + ; DefaultAdministratorOwnerUUID = "00000000-0000-0000-0000-000000000000" ;; ;; If you are using a simian grid frontend you can enable @@ -2267,6 +2461,31 @@ EnableObjectStore = true MaxStringSpace = 0 +[UserProfiles] + ;# {ProfileServiceURL} {} {Set url to UserProfilesService} {} + ;; Set the value of the url to your UserProfilesService + ;; If un-set / "" the module is disabled + ;; ProfileServiceURL = ${Const|BaseURL}:${Const|PublicPort} + + ;# {AllowUserProfileWebURLs} {} {allow user profiles web urls} {true false} true + ;; set this to false to prevent your users to be sent to unknown + ;; web sites by other users on their profiles + ; AllowUserProfileWebURLs = true + +[XBakes] + ;# {URL} {} {Set URL for Baked texture service} {} + ;; Sets the URL for the baked texture ROBUST service. + ;; Disabled when unset. + ;; URL = ${Const|BaseURL}:${Const|PrivatePort} + +;; +;; Optional module to highlight God names in the viewer. +;; Uncomment and customize appropriately if you want this behavior. +;; +;[GodNames] +; Enabled = false +; FullNames = "Test User, Foo Bar" +; Surnames = "Kryztlsk" ;; ;; These are defaults that are overwritten below in [Architecture]. @@ -2309,9 +2528,9 @@ DwellModule = DefaultDwellModule [ServerReleaseNotes] - ;; Comment or set to "" to disable + ;; Comment or set to "" to disable ServerReleaseNotesURL = "http://opensimulator.org/wiki/0.9.1.1_Release" - + [Modules] Include-modules = "addon-modules/*/config/*.ini" diff --git a/bin/config-include/config_DG.ini b/bin/config-include/config_DG.ini index c67ccc9..59e54cd 100644 --- a/bin/config-include/config_DG.ini +++ b/bin/config-include/config_DG.ini @@ -37,6 +37,10 @@ GridURL = ${Const|BaseHostname} SSLURL = "https://${Const|HostName}" + ; you can also have them on a diferent url / IP + ;# {PrivURL} {} {PrivURL} {"http://${Const|BaseURL}} "${Const|BaseURL}" + PrivURL = ${Const|BaseURL} + PublicPort = "8002" PrivatePort = "8003" PublicSSLPort = "8443" diff --git a/bin/config-include/config_IG.ini b/bin/config-include/config_IG.ini index fbc1e35..d1f1e19 100644 --- a/bin/config-include/config_IG.ini +++ b/bin/config-include/config_IG.ini @@ -37,6 +37,10 @@ GridURL = ${Const|BaseHostname} SSLURL = "https://${Const|HostName}" + ; you can also have them on a diferent url / IP + ;# {PrivURL} {} {PrivURL} {"http://${Const|BaseURL}} "${Const|BaseURL}" + PrivURL = ${Const|BaseURL} + PublicPort = "8002" PrivatePort = "8003" PublicSSLPort = "8443" diff --git a/bin/config-include/config_MG.ini b/bin/config-include/config_MG.ini index 4827804..be46dc2 100644 --- a/bin/config-include/config_MG.ini +++ b/bin/config-include/config_MG.ini @@ -37,6 +37,10 @@ GridURL = ${Const|BaseHostname} SSLURL = "https://${Const|HostName}" + ; you can also have them on a diferent url / IP + ;# {PrivURL} {} {PrivURL} {"http://${Const|BaseURL}} "${Const|BaseURL}" + PrivURL = ${Const|BaseURL} + PublicPort = "8002" PrivatePort = "8003" PublicSSLPort = "8443" -- cgit v1.1 From c477ae767283488123f04243aa31a1fd25144cd7 Mon Sep 17 00:00:00 2001 From: onefang Date: Wed, 7 Jul 2021 12:45:10 +1000 Subject: Add gods to OhSilly threat level config. --- bin/config-include/osslEnable.ini | 105 +++++++++++++++++++------------------- 1 file changed, 53 insertions(+), 52 deletions(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index f5f9197..9afa4a2 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -63,6 +63,7 @@ ; These can be mis-used so limit use to those you can trust. osslNPC = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER + osslAdmins = ACTIVE_GOD,GOD,GRID_GOD ; The threat level also can be replaced by lines of the form ; Creators__FunctionName = comma separated list of UUIDs ; this will enable the function for users that are the script creators and owners of the prim @@ -117,11 +118,11 @@ ; Allow_osGetPhysicsEngineType = true ; Allow_osGetRegionMapTexture = true ; Allow_osGetRegionSize = true -; Allow_osGetRegionStats = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER +; Allow_osGetRegionStats = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} ; Allow_osGetRezzingObject = true ; Allow_osGetScriptEngineName = true -; Allow_osGetSimulatorMemory = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER -; Allow_osGetSimulatorMemoryKB = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER +; Allow_osGetSimulatorMemory = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} +; Allow_osGetSimulatorMemoryKB = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} ; Allow_osGetSimulatorVersion = true ; Allow_osGetSunParam = true ; Allow_osGetTerrainHeight = true @@ -178,79 +179,79 @@ ; Allow_osSetInertiaAsBox = true ; Allow_osSetInertiaAsSphere = true ; Allow_osSetInertiaAsCylinder = true -; Allow_osSetOwnerSpeed = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER +; Allow_osSetOwnerSpeed = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} ; Allow_osSetPenCap = true ; Allow_osSetPenColor = true ; Allow_osSetPenSize = true -; Allow_osSetProjectionParams = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER +; Allow_osSetProjectionParams = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} ; Allow_osSetSpeed = true ; Allow_osSunGetParam = true ; Allow_osVolumeDetect = true -; Allow_osTeleportObject = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER +; Allow_osTeleportObject = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} ; Allow_osTeleportOwner = true ; Allow_osWindActiveModelPluginName = true ; Allow_osUnixTimeToTimestamp = true ; ThreatLevel Nuisance - Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetRegionSunSettings = ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetSunParam = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetWindParam = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER - Allow_osSunSetParam = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osSetRegionSunSettings = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osSetSunParam = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osSetWindParam = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osSunSetParam = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} ; ThreatLevel VeryLow - Allow_osEjectFromGroup = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceBreakAllLinks = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceBreakLink = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceCreateLink = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetLinkPrimitiveParams = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetPrimitiveParams = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER - Allow_osInviteToGroup = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetParcelMediaURL = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetParcelSIPAddress = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER + Allow_osEjectFromGroup = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osForceBreakAllLinks = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osForceBreakLink = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osForceCreateLink = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osGetLinkPrimitiveParams = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osGetPrimitiveParams = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osInviteToGroup = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osSetParcelMediaURL = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osSetParcelSIPAddress = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} Allow_osSetPrimFloatOnWater = true Allow_osSetPrimitiveParams = true - Allow_osTerrainFlush = ESTATE_MANAGER,ESTATE_OWNER + Allow_osTerrainFlush = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} ; ThreatLevel Low - Allow_osAvatarName2Key = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetAvatarHomeURI = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER + Allow_osAvatarName2Key = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osGetAvatarHomeURI = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} ; ThreatLevel Moderate - Allow_osDetectedCountry = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER - Allow_osDropAttachment = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER - Allow_osDropAttachmentAt = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetAgentCountry = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetGridGatekeeperURI = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetNumberOfAttachments = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER + Allow_osDetectedCountry = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osDropAttachment = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osDropAttachmentAt = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osGetAgentCountry = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osGetGridGatekeeperURI = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osGetNumberOfAttachments = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} Allow_osMessageAttachments = true Allow_osRequestURL = true Allow_osRequestSecureURL = true Allow_osSetContentType = true ; ThreatLevel High - Allow_osCauseDamage = ESTATE_MANAGER,ESTATE_OWNER - Allow_osCauseHealing = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetHealth = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetHealRate = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceAttachToAvatar = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceAttachToAvatarFromInventory = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceDropAttachment = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceDropAttachmentAt = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER - Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER - Allow_osParcelSetDetails = ESTATE_MANAGER,ESTATE_OWNER - Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER - Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER - Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetParcelDetails = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER + Allow_osCauseDamage = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osCauseHealing = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osSetHealth = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osSetHealRate = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osForceAttachToAvatar = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osForceAttachToAvatarFromInventory = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osForceDropAttachment = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osForceDropAttachmentAt = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osParcelSetDetails = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osSetParcelDetails = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} Allow_osSetStateEvents = false ; deprecated - Allow_osSetTerrainHeight = ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetTerrainTexture = ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetTerrainTextureHeight = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetTerrainHeight = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osSetTerrainTexture = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osSetTerrainTextureHeight = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} ; ThreatLevel VeryHigh - Allow_osAgentSaveAppearance = ESTATE_MANAGER,ESTATE_OWNER + Allow_osAgentSaveAppearance = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} ; Warning: The next function allows scripts to force animations on avatars without the user giving permission. ; Enabling this can allow forced animations which can trigger traumatic episodes in vulnerable populations. ; Similar things can be said for several of the 'force' functions. Enable with care and control. @@ -259,15 +260,15 @@ Allow_osAvatarStopAnimation = true Allow_osForceAttachToOtherAvatarFromInventory = false Allow_osForceDetachFromAvatar = false - Allow_osForceOtherSit = ESTATE_OWNER, ESTATE_MANAGER - Allow_osSetRot = ESTATE_OWNER, ESTATE_MANAGER + Allow_osForceOtherSit = ESTATE_OWNER, ESTATE_MANAGER,${OSSL|osslAdmin} + Allow_osSetRot = ESTATE_OWNER, ESTATE_MANAGER,${OSSL|osslAdmin} ; ThreatLevel Severe Allow_osConsoleCommand = false Allow_osGrantScriptPermissions = false - Allow_osKickAvatar = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER + Allow_osKickAvatar = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} Allow_osRevokeScriptPermissions = false - Allow_osTeleportAgent = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER + Allow_osTeleportAgent = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} ; ThreatLevel Severe with additional internal restrictions Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable) -- cgit v1.1 From 544e1c2983600ecd277577140840bea962362b2d Mon Sep 17 00:00:00 2001 From: onefang Date: Wed, 18 Aug 2021 13:21:43 +1000 Subject: Move more stuff into the var directory. --- bin/OpenSim.ConsoleClient.exe.config | 2 +- bin/OpenSim.exe.config | 4 ++-- bin/Robust.Tests.dll.config | 2 +- bin/Robust.exe.config | 4 ++-- bin/Robust.ini | 2 +- bin/config-include/config_DG.ini | 9 +++++---- bin/config-include/config_IG.ini | 9 +++++---- bin/config-include/config_MG.ini | 9 +++++---- bin/config-include/config_localhost.ini | 9 +++++---- 9 files changed, 27 insertions(+), 23 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ConsoleClient.exe.config b/bin/OpenSim.ConsoleClient.exe.config index 6542517..b117c3c 100644 --- a/bin/OpenSim.ConsoleClient.exe.config +++ b/bin/OpenSim.ConsoleClient.exe.config @@ -18,7 +18,7 @@ - + diff --git a/bin/OpenSim.exe.config b/bin/OpenSim.exe.config index ed250b3..1f2ef14 100644 --- a/bin/OpenSim.exe.config +++ b/bin/OpenSim.exe.config @@ -23,7 +23,7 @@ - + @@ -37,7 +37,7 @@ - + diff --git a/bin/Robust.Tests.dll.config b/bin/Robust.Tests.dll.config index cc0bead..f327ee8 100644 --- a/bin/Robust.Tests.dll.config +++ b/bin/Robust.Tests.dll.config @@ -22,7 +22,7 @@ - + diff --git a/bin/Robust.exe.config b/bin/Robust.exe.config index f5379ff..d3c835f 100644 --- a/bin/Robust.exe.config +++ b/bin/Robust.exe.config @@ -23,7 +23,7 @@ - + @@ -37,7 +37,7 @@ - + diff --git a/bin/Robust.ini b/bin/Robust.ini index 34d996b..9c54de7 100644 --- a/bin/Robust.ini +++ b/bin/Robust.ini @@ -42,7 +42,7 @@ [Startup] ; Place to create a PID file ; If no path if specified then a PID file is not created. - PIDFile = "${Paths|CachePath}/ROBUST.pid" + PIDFile = "${Paths|PIDPath}/ROBUST.pid" ; Plugin Registry Location ; Set path to directory for plugin registry. Information diff --git a/bin/config-include/config_DG.ini b/bin/config-include/config_DG.ini index 59e54cd..27178c2 100644 --- a/bin/config-include/config_DG.ini +++ b/bin/config-include/config_DG.ini @@ -13,11 +13,12 @@ [Paths] AssetsPath = "../../AssetFiles" - BackupPath = "../../backups" - CachePath = "../../caches" + BackupPath = "../../var/backups" + CachePath = "../../var/cache" ConfigPath = "../../config" - DbPath = "../../db" - LogPath = "../../logs" + DbPath = "../../var/lib/db" + LogPath = "../../var/log" + PIDPath = "../../var/run" WebPath = "../../web" [Const] diff --git a/bin/config-include/config_IG.ini b/bin/config-include/config_IG.ini index d1f1e19..ce43cbd 100644 --- a/bin/config-include/config_IG.ini +++ b/bin/config-include/config_IG.ini @@ -13,11 +13,12 @@ [Paths] AssetsPath = "../../AssetFiles" - BackupPath = "../../backups" - CachePath = "../../caches" + BackupPath = "../../var/backups" + CachePath = "../../var/cache" ConfigPath = "../../config" - DbPath = "../../db" - LogPath = "../../logs" + DbPath = "../../var/lib/db" + LogPath = "../../var/log" + PIDPath = "../../var/run" WebPath = "../../web" [Const] diff --git a/bin/config-include/config_MG.ini b/bin/config-include/config_MG.ini index be46dc2..59eb2f1 100644 --- a/bin/config-include/config_MG.ini +++ b/bin/config-include/config_MG.ini @@ -13,11 +13,12 @@ [Paths] AssetsPath = "../../AssetFiles" - BackupPath = "../../backups" - CachePath = "../../caches" + BackupPath = "../../var/backups" + CachePath = "../../var/cache" ConfigPath = "../../config" - DbPath = "../../db" - LogPath = "../../logs" + DbPath = "../../var/lib/db" + LogPath = "../../var/log" + PIDPath = "../../var/run" WebPath = "../../web" [Const] diff --git a/bin/config-include/config_localhost.ini b/bin/config-include/config_localhost.ini index 830f173..7abd30e 100644 --- a/bin/config-include/config_localhost.ini +++ b/bin/config-include/config_localhost.ini @@ -13,11 +13,12 @@ [Paths] AssetsPath = "../../AssetFiles" - BackupPath = "../../backups" - CachePath = "../../caches" + BackupPath = "../../var/backups" + CachePath = "../../var/cache" ConfigPath = "../../config" - DbPath = "../../db" - LogPath = "../../logs" + DbPath = "../../var/lib/db" + LogPath = "../../var/log" + PIDPath = "../../var/run" WebPath = "../../web" [Const] -- cgit v1.1 From bc717a8e02f99977cf20f6aeec23450d262575ff Mon Sep 17 00:00:00 2001 From: onefang Date: Wed, 18 Aug 2021 13:22:25 +1000 Subject: Fix a typo in tho OhSillyThreat config file. Not sure how this escaped me for so long. --- bin/config-include/osslEnable.ini | 104 +++++++++++++++++++------------------- 1 file changed, 52 insertions(+), 52 deletions(-) (limited to 'bin') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 9afa4a2..fb10dba 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -118,11 +118,11 @@ ; Allow_osGetPhysicsEngineType = true ; Allow_osGetRegionMapTexture = true ; Allow_osGetRegionSize = true -; Allow_osGetRegionStats = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} +; Allow_osGetRegionStats = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; Allow_osGetRezzingObject = true ; Allow_osGetScriptEngineName = true -; Allow_osGetSimulatorMemory = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} -; Allow_osGetSimulatorMemoryKB = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} +; Allow_osGetSimulatorMemory = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} +; Allow_osGetSimulatorMemoryKB = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; Allow_osGetSimulatorVersion = true ; Allow_osGetSunParam = true ; Allow_osGetTerrainHeight = true @@ -179,79 +179,79 @@ ; Allow_osSetInertiaAsBox = true ; Allow_osSetInertiaAsSphere = true ; Allow_osSetInertiaAsCylinder = true -; Allow_osSetOwnerSpeed = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} +; Allow_osSetOwnerSpeed = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; Allow_osSetPenCap = true ; Allow_osSetPenColor = true ; Allow_osSetPenSize = true -; Allow_osSetProjectionParams = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} +; Allow_osSetProjectionParams = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; Allow_osSetSpeed = true ; Allow_osSunGetParam = true ; Allow_osVolumeDetect = true -; Allow_osTeleportObject = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} +; Allow_osTeleportObject = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; Allow_osTeleportOwner = true ; Allow_osWindActiveModelPluginName = true ; Allow_osUnixTimeToTimestamp = true ; ThreatLevel Nuisance - Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osSetRegionSunSettings = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osSetSunParam = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osSetWindParam = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osSunSetParam = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osSetRegionSunSettings = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osSetSunParam = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osSetWindParam = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osSunSetParam = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; ThreatLevel VeryLow - Allow_osEjectFromGroup = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osForceBreakAllLinks = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osForceBreakLink = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osForceCreateLink = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osGetLinkPrimitiveParams = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osGetPrimitiveParams = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osInviteToGroup = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osSetParcelMediaURL = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osSetParcelSIPAddress = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osEjectFromGroup = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osForceBreakAllLinks = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osForceBreakLink = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osForceCreateLink = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osGetLinkPrimitiveParams = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osGetPrimitiveParams = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osInviteToGroup = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osSetParcelMediaURL = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osSetParcelSIPAddress = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osSetPrimFloatOnWater = true Allow_osSetPrimitiveParams = true - Allow_osTerrainFlush = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osTerrainFlush = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; ThreatLevel Low - Allow_osAvatarName2Key = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osGetAvatarHomeURI = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osAvatarName2Key = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osGetAvatarHomeURI = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; ThreatLevel Moderate - Allow_osDetectedCountry = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osDropAttachment = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osDropAttachmentAt = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osGetAgentCountry = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osGetGridGatekeeperURI = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osGetNumberOfAttachments = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osDetectedCountry = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osDropAttachment = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osDropAttachmentAt = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osGetAgentCountry = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osGetGridGatekeeperURI = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osGetNumberOfAttachments = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osMessageAttachments = true Allow_osRequestURL = true Allow_osRequestSecureURL = true Allow_osSetContentType = true ; ThreatLevel High - Allow_osCauseDamage = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osCauseHealing = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osSetHealth = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osSetHealRate = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osForceAttachToAvatar = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osForceAttachToAvatarFromInventory = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osForceDropAttachment = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osForceDropAttachmentAt = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osParcelSetDetails = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osSetParcelDetails = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osCauseDamage = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osCauseHealing = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osSetHealth = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osSetHealRate = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osForceAttachToAvatar = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osForceAttachToAvatarFromInventory = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osForceDropAttachment = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osForceDropAttachmentAt = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osParcelSetDetails = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osSetParcelDetails = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osSetStateEvents = false ; deprecated - Allow_osSetTerrainHeight = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osSetTerrainTexture = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} - Allow_osSetTerrainTextureHeight = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osSetTerrainHeight = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osSetTerrainTexture = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} + Allow_osSetTerrainTextureHeight = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; ThreatLevel VeryHigh - Allow_osAgentSaveAppearance = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osAgentSaveAppearance = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; Warning: The next function allows scripts to force animations on avatars without the user giving permission. ; Enabling this can allow forced animations which can trigger traumatic episodes in vulnerable populations. ; Similar things can be said for several of the 'force' functions. Enable with care and control. @@ -260,15 +260,15 @@ Allow_osAvatarStopAnimation = true Allow_osForceAttachToOtherAvatarFromInventory = false Allow_osForceDetachFromAvatar = false - Allow_osForceOtherSit = ESTATE_OWNER, ESTATE_MANAGER,${OSSL|osslAdmin} - Allow_osSetRot = ESTATE_OWNER, ESTATE_MANAGER,${OSSL|osslAdmin} + Allow_osForceOtherSit = ESTATE_OWNER, ESTATE_MANAGER,${OSSL|osslAdmins} + Allow_osSetRot = ESTATE_OWNER, ESTATE_MANAGER,${OSSL|osslAdmins} ; ThreatLevel Severe Allow_osConsoleCommand = false Allow_osGrantScriptPermissions = false - Allow_osKickAvatar = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osKickAvatar = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osRevokeScriptPermissions = false - Allow_osTeleportAgent = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmin} + Allow_osTeleportAgent = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; ThreatLevel Severe with additional internal restrictions Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable) -- cgit v1.1 From f19e0fc99675d7b73f935a2771c28ce014055719 Mon Sep 17 00:00:00 2001 From: onefang Date: Wed, 18 Aug 2021 18:30:30 +1000 Subject: bin/.sledjchisl.lua is alink to the one in src. --- bin/.sledjChisl.conf.lua | 1 + 1 file changed, 1 insertion(+) create mode 120000 bin/.sledjChisl.conf.lua (limited to 'bin') diff --git a/bin/.sledjChisl.conf.lua b/bin/.sledjChisl.conf.lua new file mode 120000 index 0000000..21cf12d --- /dev/null +++ b/bin/.sledjChisl.conf.lua @@ -0,0 +1 @@ +../src/.sledjChisl.conf.lua \ No newline at end of file -- cgit v1.1